dxf-json 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md CHANGED
@@ -68,6 +68,7 @@ Based on [AutoCAD 2024 DXF Reference](https://help.autodesk.com/view/OARX/2024/E
68
68
  - [x] 3DSOLID
69
69
  - [ ] ACAD_PROXY_ENTITY
70
70
  - [x] ARC
71
+ - [x] ARC_DIMENSION
71
72
  - [x] ATTDEF
72
73
  - [x] ATTRIB
73
74
  - [x] BODY
package/dist/bundle.cjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockTypeFlag=void 0,(_=exports.BlockTypeFlag||(exports.BlockTypeFlag={}))[_.None=0]="None",_[_.Anonymous=1]="Anonymous",_[_.NonConstant=2]="NonConstant",_[_.Xref=4]="Xref",_[_.XrefOverlay=8]="XrefOverlay",_[_.ExternallyDependent=16]="ExternallyDependent",_[_.ResolvedOrDependent=32]="ResolvedOrDependent",_[_.ReferencedXref=64]="ReferencedXref",exports.ColorCode=void 0,(M=exports.ColorCode||(exports.ColorCode={}))[M.BYBLOCK=0]="BYBLOCK",M[M.BYLAYER=256]="BYLAYER",exports.DimensionType=void 0,(v=exports.DimensionType||(exports.DimensionType={}))[v.Rotated=0]="Rotated",v[v.Aligned=1]="Aligned",v[v.Angular=2]="Angular",v[v.Diameter=3]="Diameter",v[v.Radius=4]="Radius",v[v.Angular3Point=5]="Angular3Point",v[v.Ordinate=6]="Ordinate",v[v.ReferenceIsExclusive=32]="ReferenceIsExclusive",v[v.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",v[v.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",exports.AttachmentPoint=void 0,(F=exports.AttachmentPoint||(exports.AttachmentPoint={}))[F.TopLeft=1]="TopLeft",F[F.TopCenter=2]="TopCenter",F[F.TopRight=3]="TopRight",F[F.MiddleLeft=4]="MiddleLeft",F[F.MiddleCenter=5]="MiddleCenter",F[F.MiddleRight=6]="MiddleRight",F[F.BottomLeft=7]="BottomLeft",F[F.BottomCenter=8]="BottomCenter",F[F.BottomRight=9]="BottomRight",exports.DimensionTextLineSpacing=void 0,(R=exports.DimensionTextLineSpacing||(exports.DimensionTextLineSpacing={}))[R.AtLeast=1]="AtLeast",R[R.Exact=2]="Exact",exports.DimensionTextVertical=void 0,(V=exports.DimensionTextVertical||(exports.DimensionTextVertical={}))[V.Center=0]="Center",V[V.Above=1]="Above",V[V.Outside=2]="Outside",V[V.JIS=3]="JIS",V[V.Below=4]="Below",exports.DimensionZeroSuppression=void 0,(w=exports.DimensionZeroSuppression||(exports.DimensionZeroSuppression={}))[w.Feet=0]="Feet",w[w.None=1]="None",w[w.Inch=2]="Inch",w[w.FeetAndInch=3]="FeetAndInch",w[w.Leading=4]="Leading",w[w.Trailing=8]="Trailing",w[w.LeadingAndTrailing=12]="LeadingAndTrailing",exports.DimensionZeroSuppressionAngular=void 0,(k=exports.DimensionZeroSuppressionAngular||(exports.DimensionZeroSuppressionAngular={}))[k.None=0]="None",k[k.Leading=1]="Leading",k[k.Trailing=2]="Trailing",k[k.LeadingAndTrailing=3]="LeadingAndTrailing",exports.DimensionTextHorizontal=void 0,(B=exports.DimensionTextHorizontal||(exports.DimensionTextHorizontal={}))[B.Center=0]="Center",B[B.First=1]="First",B[B.Second=2]="Second",B[B.OverFirst=3]="OverFirst",B[B.OverSecond=4]="OverSecond",exports.DimensionToleranceTextVertical=void 0,(H=exports.DimensionToleranceTextVertical||(exports.DimensionToleranceTextVertical={}))[H.Bottom=0]="Bottom",H[H.Center=1]="Center",H[H.Top=2]="Top",exports.HatchSolidFill=void 0,(G=exports.HatchSolidFill||(exports.HatchSolidFill={}))[G.PatternFill=0]="PatternFill",G[G.SolidFill=1]="SolidFill",exports.HatchAssociativity=void 0,(U=exports.HatchAssociativity||(exports.HatchAssociativity={}))[U.NonAssociative=0]="NonAssociative",U[U.Associative=1]="Associative",exports.HatchStyle=void 0,(W=exports.HatchStyle||(exports.HatchStyle={}))[W.Normal=0]="Normal",W[W.Outer=1]="Outer",W[W.Ignore=2]="Ignore",exports.HatchPatternType=void 0,(j=exports.HatchPatternType||(exports.HatchPatternType={}))[j.UserDefined=0]="UserDefined",j[j.Predefined=1]="Predefined",j[j.Custom=2]="Custom",exports.HatchBoundaryAnnotation=void 0,(Y=exports.HatchBoundaryAnnotation||(exports.HatchBoundaryAnnotation={}))[Y.NotAnnotated=0]="NotAnnotated",Y[Y.Annotated=1]="Annotated",exports.HatchGradientFlag=void 0,(X=exports.HatchGradientFlag||(exports.HatchGradientFlag={}))[X.Solid=0]="Solid",X[X.Gradient=1]="Gradient",exports.HatchGradientColorFlag=void 0,(z=exports.HatchGradientColorFlag||(exports.HatchGradientColorFlag={}))[z.TwoColor=0]="TwoColor",z[z.OneColor=1]="OneColor",exports.BoundaryPathTypeFlag=void 0,(K=exports.BoundaryPathTypeFlag||(exports.BoundaryPathTypeFlag={}))[K.Default=0]="Default",K[K.External=1]="External",K[K.Polyline=2]="Polyline",K[K.Derived=4]="Derived",K[K.Textbox=8]="Textbox",K[K.Outermost=16]="Outermost",exports.BoundaryPathEdgeType=void 0,(Z=exports.BoundaryPathEdgeType||(exports.BoundaryPathEdgeType={}))[Z.Line=1]="Line",Z[Z.Circular=2]="Circular",Z[Z.Elliptic=3]="Elliptic",Z[Z.Spline=4]="Spline",exports.ObscuredLineTypes=void 0,(J=exports.ObscuredLineTypes||(exports.ObscuredLineTypes={}))[J.Off=0]="Off",J[J.Solid=1]="Solid",J[J.Dashed=2]="Dashed",J[J.Dotted=3]="Dotted",J[J.ShotDash=4]="ShotDash",J[J.MediumDash=5]="MediumDash",J[J.LongDash=6]="LongDash",J[J.DoubleShortDash=7]="DoubleShortDash",J[J.DoubleMediumDash=8]="DoubleMediumDash",J[J.DoubleLongDash=9]="DoubleLongDash",J[J.DoubleMediumLongDash=10]="DoubleMediumLongDash",J[J.SparseDot=11]="SparseDot";const e={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:exports.ObscuredLineTypes.Off,SHADEDIF:70};function r(e,r,a){return e.code===r&&(null==a||e.value===a)}function a(e){let r={};e.rewind();let a=e.next(),t=a.code;if(r.x=a.value,(a=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==t+20)?e.rewind():r.z=a.value,r}exports.ReservedLineweight=void 0,($=exports.ReservedLineweight||(exports.ReservedLineweight={}))[$.Standard=-3]="Standard",$[$.ByLayer=-2]="ByLayer",$[$.ByBlock=-1]="ByBlock",exports.Measurement=void 0,(q=exports.Measurement||(exports.Measurement={}))[q.English=0]="English",q[q.Metric=1]="Metric",exports.ViewportStatusFlag=void 0,(Q=exports.ViewportStatusFlag||(exports.ViewportStatusFlag={}))[Q.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",Q[Q.FRONT_CLIPPING=2]="FRONT_CLIPPING",Q[Q.BACK_CLIPPING=4]="BACK_CLIPPING",Q[Q.UCS_FOLLOW=8]="UCS_FOLLOW",Q[Q.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",Q[Q.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",Q[Q.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",Q[Q.FAST_ZOOM=128]="FAST_ZOOM",Q[Q.SNAP_MODE=256]="SNAP_MODE",Q[Q.GRID_MODE=512]="GRID_MODE",Q[Q.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",Q[Q.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",Q[Q.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",Q[Q.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",Q[Q.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",Q[Q.UNUSED=32768]="UNUSED",Q[Q.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",Q[Q.VIEWPORT_OFF=131072]="VIEWPORT_OFF",Q[Q.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",Q[Q.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",Q[Q.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",Q[Q.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",exports.RenderMode=void 0,(ee=exports.RenderMode||(exports.RenderMode={}))[ee.OPTIMIZED_2D=0]="OPTIMIZED_2D",ee[ee.WIREFRAME=1]="WIREFRAME",ee[ee.HIDDEN_LINE=2]="HIDDEN_LINE",ee[ee.FLAT_SHADED=3]="FLAT_SHADED",ee[ee.GOURAUD_SHADED=4]="GOURAUD_SHADED",ee[ee.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",ee[ee.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",exports.UCSPerViewport=void 0,(er=exports.UCSPerViewport||(exports.UCSPerViewport={}))[er.UCS_UNCHANGED=0]="UCS_UNCHANGED",er[er.HAS_OWN_UCS=1]="HAS_OWN_UCS",exports.OrthographicType=void 0,(ea=exports.OrthographicType||(exports.OrthographicType={}))[ea.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",ea[ea.TOP=1]="TOP",ea[ea.BOTTOM=2]="BOTTOM",ea[ea.FRONT=3]="FRONT",ea[ea.BACK=4]="BACK",ea[ea.LEFT=5]="LEFT",ea[ea.RIGHT=6]="RIGHT",exports.DefaultLightingType=void 0,(et=exports.DefaultLightingType||(exports.DefaultLightingType={}))[et.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",et[et.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",exports.PlotStyleType=void 0,(en=exports.PlotStyleType||(exports.PlotStyleType={}))[en.ByLayer=0]="ByLayer",en[en.ByBlock=1]="ByBlock",en[en.ByDictionaryDefault=2]="ByDictionaryDefault",en[en.ByObject=3]="ByObject";const t=Symbol();function n(e,a){return(n,s,i)=>{let c=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let t=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let n=t[e]??(t[e]=[]);a.isMultiple&&n.length&&r&&console.warn(`Snippet ${n[n.length-1].name} for code(${e}) is shadowed by ${a.name}`),n.push(a)}return e},[{}])}(e,s.debug),d=!1,p=c.length-1;for(;!r(n,0,"EOF");){let e=function(e,r,a){return e.find((e,t)=>t>=a&&e[r]?.length)}(c,n.code,p),r=e?.[n.code],a=r?.[r.length-1];if(!e||!a){s.rewind();break}a.isMultiple||e[n.code].pop();let{name:l,parser:u,isMultiple:m,isReducible:h}=a,E=u?.(n,s,i);if(E===t){s.rewind();break}if(l){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let t=e;for(let e=0;e<a.length-1;++e){let r=o(a[e]),n=o(a[e+1]);Object.prototype.hasOwnProperty.call(t,r)||("number"==typeof n?t[r]=[]:t[r]={}),t=t[r]}return[t,o(a[a.length-1])]}(i,l);m&&!h?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(E)):e[r]=E}a.pushContext&&(p-=1),d=!0,n=s.next()}return a&&Object.setPrototypeOf(i,a),d}}function o(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function s({value:e}){return e}function i(e,r){return a(r)}function c({value:e}){return!!e}const d=[{code:1001,name:"xdata",parser:p}];function p(e,t){if(!r(e,1001))throw Error("XData must starts with code 1001");let n={appName:e.value,value:[]};e=t.next();let o=[n.value];for(;!r(e,0,"EOF")&&e.code>=1e3;){let r=o[o.length-1];switch(e.code){case 1002:"{"===e.value?o.push([]):(o.pop(),o[o.length-1]?.push(r));break;case 1e3:case 1004:case 1040:case 1070:case 1071:r.push({type:l(e.code),value:e.value});break;case 1003:r.push({name:"layer",type:l(e.code),value:e.value});break;case 1005:r.push({name:"handle",type:l(e.code),value:e.value});break;case 1010:r.push({type:l(e.code),value:a(t)});break;case 1011:r.push({name:"worldSpacePosition",type:l(e.code),value:a(t)});break;case 1012:r.push({name:"worldSpaceDisplacement",type:l(e.code),value:a(t)});break;case 1013:r.push({name:"worldSpaceDirection",type:l(e.code),value:a(t)});break;case 1041:r.push({name:"distance",type:l(e.code),value:e.value});break;case 1042:r.push({name:"scale",type:l(e.code),value:e.value})}e=t.next()}return t.rewind(),n}function l(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function u(e,a,t){for(;r(e,102);){var n;let o=e.value;if(e=a.next(),!o.startsWith("{")){a.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${o}`),function(e,a){for(;!r(e,102)&&!r(e,0,"EOF");)e=a.next()}(e,a),e=a.next();continue}let s=o.slice(1).trim();t.extensions??(t.extensions={}),(n=t.extensions)[s]??(n[s]=[]),function(e,a,t){for(;!r(e,102,"}")&&!r(e,0,"EOF");)t.push(e),e=a.next()}(e,a,t.extensions[s]),e=a.next()}a.rewind()}let m=0;function h(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=m++)}exports.ShadowMode=void 0,(eo=exports.ShadowMode||(exports.ShadowMode={}))[eo.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",eo[eo.CAST=1]="CAST",eo[eo.RECEIVE=2]="RECEIVE",eo[eo.IGNORE=3]="IGNORE";const E=[...d,{code:284,name:"shadowMode",parser:s},{code:390,name:"plotStyleHardId",parser:s},{code:380,name:"plotStyleType",parser:s},{code:440,name:"transparency",parser:s},{code:430,name:"colorName",parser:s},{code:420,name:"color",parser:s},{code:310,name:"proxyEntity",parser:s},{code:92,name:"proxyByte",parser:s},{code:60,name:"isVisible",parser:c},{code:48,name:"lineTypeScale",parser:s},{code:370,name:"lineweight",parser:s},{code:62,name:"colorIndex",parser:s},{code:347,name:"materialObjectHardId",parser:s},{code:6,name:"lineType",parser:s},{code:8,name:"layer",parser:s},{code:410,name:"layoutTabName",parser:s},{code:67,name:"isInPaperSpace",parser:c},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}];function x(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function I(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const f={extrusionDirection:{x:0,y:0,z:1}},g=[{code:210,name:"extrusionDirection",parser:i},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:100,name:"subclassMarker",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100},...E];class T{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){I(this,"parser",n(g,f))}}function D(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}I(T,"ForEntityName","ARC"),exports.AttributeFlag=void 0,(es=exports.AttributeFlag||(exports.AttributeFlag={}))[es.NONE=0]="NONE",es[es.INVISIBLE=1]="INVISIBLE",es[es.CONSTANT=2]="CONSTANT",es[es.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",es[es.PRESET=8]="PRESET",exports.AttDefMTextFlag=void 0,(ei=exports.AttDefMTextFlag||(exports.AttDefMTextFlag={}))[ei.MULTILINE=2]="MULTILINE",ei[ei.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",exports.TextGenerationFlag=void 0,(ec=exports.TextGenerationFlag||(exports.TextGenerationFlag={}))[ec.NONE=0]="NONE",ec[ec.MIRRORED_X=2]="MIRRORED_X",ec[ec.MIRRORED_Y=4]="MIRRORED_Y",exports.TextHorizontalAlign=void 0,(ed=exports.TextHorizontalAlign||(exports.TextHorizontalAlign={}))[ed.LEFT=0]="LEFT",ed[ed.CENTER=1]="CENTER",ed[ed.RIGHT=2]="RIGHT",ed[ed.ALIGNED=3]="ALIGNED",ed[ed.MIDDLE=4]="MIDDLE",ed[ed.FIT=5]="FIT",exports.TextVerticalAlign=void 0,(ep=exports.TextVerticalAlign||(exports.TextVerticalAlign={}))[ep.BASELINE=0]="BASELINE",ep[ep.BOTTOM=1]="BOTTOM",ep[ep.MIDDLE=2]="MIDDLE",ep[ep.TOP=3]="TOP";const y={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:exports.TextHorizontalAlign.LEFT,valign:exports.TextVerticalAlign.BASELINE,extrusionDirection:{x:0,y:0,z:1}},b=[{code:73,name:"valign",parser:s},{code:100},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:72,name:"valign",parser:s},{code:72,name:"halign",parser:s},{code:71,name:"generationFlag",parser:s},{code:7,name:"styleName",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"xScale",parser:s},{code:50,name:"rotation",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class O{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){D(this,"parser",n(b,y))}}function S(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}D(O,"ForEntityName","TEXT");const P={...y},L=[{code:2},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedRecord",parser:c},{code:100},{code:280,name:"isLocked",parser:c},{code:74,name:"valign",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:3,name:"prompt",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},...b.slice(2)];class N{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){S(this,"parser",n(L,P))}}function A(e,r){let a={};for(let t of e){let e=r(t);null!=e&&(a[e]??(a[e]=[]),a[e].push(t))}return a}function*C(e,r=1/0,a=1){for(let t=e;t!==r;t+=a)yield t}S(N,"ForEntityName","ATTDEF"),exports.MTextDrawingDirection=void 0,(el=exports.MTextDrawingDirection||(exports.MTextDrawingDirection={}))[el.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",el[el.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",el[el.BY_STYLE=5]="BY_STYLE";var _,M,v,F,R,V,w,k,B,H,G,U,W,j,Y,X,z,K,Z,J,$,q,Q,ee,er,ea,et,en,eo,es,ei,ec,ed,ep,el,eu,em,eh,eE,ex,eI,ef,eg,eT,eD,ey,eb,eO,eS,eP,eL,eN,eA,eC,e_,eM,ev,eF,eR,eV,ew,ek=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];function eB(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const eH={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},eG=[{code:46,name:"annotationHeight",parser:s},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:s},{code:49,name:"columnGutter",parser:s},{code:48,name:"columnWidth",parser:s},{code:79,name:"columnAutoHeight",parser:s},{code:78,name:"columnFlowReversed",parser:s},{code:76,name:"columnCount",parser:s},{code:75,name:"columnType",parser:s},{code:441,name:"backgroundFillTransparency",parser:s},{code:63,name:"backgroundFillColor",parser:s},{code:45,name:"fillBoxScale",parser:s},{code:[...C(430,440)],name:"backgroundColor",parser:s},{code:[...C(420,430)],name:"backgroundColor",parser:s},{code:90,name:"backgroundFill",parser:s},{code:44,name:"lineSpacing",parser:s},{code:73,name:"lineSpacingStyle",parser:s},{code:50,name:"rotation",parser:s},{code:43},{code:42},{code:11,name:"direction",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:7,name:"styleName",parser:s},...x("text"),{code:72,name:"drawingDirection",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:41,name:"width",parser:s},{code:40,name:"height",parser:s},{code:10,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class eU{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eB(this,"parser",n(eG,eH))}}function eW(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eB(eU,"ForEntityName","MTEXT");const ej={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},eY=[...eG.slice(eG.findIndex(({name:e})=>"columnType"===e),eG.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!r(e,0,"MTEXT"))return t}},{code:2,name:"definitionTag",parser:s},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardId",parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedEntriesKeep",parser:c},{code:100},{code:280,name:"lockPositionFlag",parser:c},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"alignmentPoint",parser:i},{code:74,name:"verticalJustification",parser:s},{code:72,name:"horizontalJustification",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:7,name:"textStyle",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"scale",parser:s},{code:50,name:"rotation",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100},...E];class eX{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eW(this,"parser",n(eY,ej))}}function ez(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eW(eX,"ForEntityName","ATTRIB");const eK=[...x("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class eZ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ez(this,"parser",n(eK))}}function eJ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ez(eZ,"ForEntityName","BODY");const e$={thickness:0,extrusionDirection:{x:0,y:0,z:1}},eq=[{code:210,name:"extrusionDirection",parser:i},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class eQ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eJ(this,"parser",n(eq,e$))}}eJ(eQ,"ForEntityName","CIRCLE");const e0=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:exports.DimensionTextVertical.Above,defaultValueImperial:exports.DimensionTextVertical.Center},{name:"DIMZIN",code:78,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMAZIN",code:79,defaultValue:exports.DimensionZeroSuppressionAngular.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:exports.DimensionTextHorizontal.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:exports.DimensionToleranceTextVertical.Center},{name:"DIMTZIN",code:284,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMALTZ",code:285,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMALTTZ",code:286,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],e1=[{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102,parser(e,a){for(;!r(e,0,"EOF")&&!r(e,102,"}");)e=a.next()}},{code:5,name:"handle",parser:s}],e4=n([...e0.map(e=>({...e,parser:s})),{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},{code:105,name:"handle",parser:s},...e1.filter(e=>5!==e.code)]),e2=[{code:100},{code:52,name:"obliqueAngle",parser:s},{code:50,name:"rotationAngle",parser:s},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:12,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],e3=[{code:16,name:"arcPoint",parser:i},{code:15,name:"centerPoint",parser:i},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],e7=[{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],e5=[{code:40,name:"leaderLength",parser:s},{code:15,name:"subDefinitionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],e9=[{code:100,parser(e,r,a){let o=function(e){switch(e){case"AcDbAlignedDimension":return n(e2);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return n(e3);case"AcDbOrdinateDimension":return n(e7);case"AcDbRadialDimension":case"AcDbDiametricDimension":return n(e5)}return null}(e.value);if(!o)return t;o(e,r,a)},pushContext:!0},...e0.map(e=>({...e,parser:s})),{code:3,name:"styleName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:51,name:"ocsRotation",parser:s},{code:53,name:"textRotation",parser:s},{code:1,name:"text",parser:s},{code:42,name:"measurement",parser:s},{code:72,name:"textLineSpacingStyle",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:70,name:"dimensionType",parser:s},{code:11,name:"textPoint",parser:i},{code:10,name:"definitionPoint",parser:i},{code:2,name:"name",parser:s},{code:280,name:"version",parser:s},{code:100},...E];class e6{parseEntity(e,r){let a={};return n(e9)(r,e,a),a}}function e8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}em="DIMENSION",(eu="ForEntityName")in e6?Object.defineProperty(e6,eu,{value:em,enumerable:!0,configurable:!0,writable:!0}):e6[eu]=em;const re={extrusionDirection:{x:0,y:0,z:1}},rr=[{code:42,name:"endAngle",parser:s},{code:41,name:"startAngle",parser:s},{code:40,name:"axisRatio",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"majorAxisEndPoint",parser:i},{code:10,name:"center",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class ra{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e8(this,"parser",n(rr,re))}}function rt(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e8(ra,"ForEntityName","ELLIPSE"),exports.FaceEdgeInvisibility=void 0,(eh=exports.FaceEdgeInvisibility||(exports.FaceEdgeInvisibility={}))[eh.First=1]="First",eh[eh.Second=2]="Second",eh[eh.Third=4]="Third",eh[eh.Fourth=8]="Fourth";const rn=[{code:13,name:"vertices.3",parser:i},{code:12,name:"vertices.2",parser:i},{code:11,name:"vertices.1",parser:i},{code:10,name:"vertices.0",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class ro{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rt(this,"parser",n(rn))}}rt(ro,"ForEntityName","3DFACE");const rs=[{code:330,name:"sourceBoundaryObjects",parser:s,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:s}],ri=[{code:11,name:"end",parser:i},{code:10,name:"start",parser:i}],rc=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i}],rd=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"lengthOfMinorAxis",parser:s},{code:11,name:"end",parser:i},{code:10,name:"center",parser:i}],rp=[{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:11,name:"fitDatum",isMultiple:!0,parser:i},{code:97,name:"numberOfFitData",parser:s},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let t={...a(r),weight:1};return 42===(e=r.next()).code?t.weight=e.value:r.rewind(),t}},{code:40,name:"knots",isMultiple:!0,parser:s},{code:96,name:"numberOfControlPoints",parser:s},{code:95,name:"numberOfKnots",parser:s},{code:74,name:"isPeriodic",parser:c},{code:73,name:"splineFlag",parser:s},{code:94,name:"degree",parser:s}],rl={[exports.BoundaryPathEdgeType.Line]:ri,[exports.BoundaryPathEdgeType.Circular]:rc,[exports.BoundaryPathEdgeType.Elliptic]:rd,[exports.BoundaryPathEdgeType.Spline]:rp},ru=[...rs,{code:72,name:"edges",parser(e,r){let a={type:e.value},t=n(rl[a.type]);if(!t)throw Error(`Invalid edge type ${a.type}`);return t(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:s}],rm=[...rs,{code:10,name:"vertices",parser(e,r){let t={...a(r),bulge:0};return 42===(e=r.next()).code?t.bulge=e.value:r.rewind(),t},isMultiple:!0},{code:93,name:"numberOfVertices",parser:s},{code:73,name:"isClosed",parser:c},{code:72,name:"hasBulge",parser:c}],rh=[{code:49,name:"dashLengths",parser:s,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:s},{code:45,name:"offset",parser:rE},{code:43,name:"base",parser:rE},{code:53,name:"angle",parser:s}];function rE(e,r){let a=e.code+1,t={x:e.value,y:1};return(e=r.next()).code===a?t.y=e.value:r.rewind(),t}function rx(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const rI={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},rf=[{code:470},{code:463},{code:462,name:"colorTint",parser:s},{code:461,name:"gradientDefinition",parser:s},{code:460,name:"gradientRotation",parser:s},{code:453,name:"numberOfColors",parser:s},{code:452,name:"gradientColorFlag",parser:s},{code:451},{code:450,name:"gradientFlag",parser:s},{code:10,name:"seedPoints",parser:i,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:i},{code:98,name:"numberOfSeedPoints",parser:s},{code:47,name:"pixelSize",parser:s},{code:53,name:"definitionLines",parser:function(e,r){let a={};return n(rh)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:s},{code:77,name:"isDouble",parser:c},{code:73,name:"isAnnotated",parser:c},{code:41,name:"patternScale",parser:s},{code:52,name:"patternAngle",parser:s},{code:76,name:"patternType",parser:s},{code:75,name:"hatchStyle",parser:s},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},t=a.boundaryPathTypeFlag&exports.BoundaryPathTypeFlag.Polyline;return(e=r.next(),t)?n(rm)(e,r,a):n(ru)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:s},{code:71,name:"associativity",parser:s},{code:63,name:"patternFillColor",parser:s},{code:70,name:"solidFill",parser:s},{code:2,name:"patternName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"elevationPoint",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...E];class rg{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rx(this,"parser",n(rf,rI))}}function rT(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rx(rg,"ForEntityName","HATCH"),exports.ImageFlags=void 0,(eE=exports.ImageFlags||(exports.ImageFlags={}))[eE.ShowImage=1]="ShowImage",eE[eE.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",eE[eE.UseClippingBoundary=4]="UseClippingBoundary",eE[eE.TransparencyIsOn=8]="TransparencyIsOn",exports.ImageClippingBoundaryType=void 0,(ex=exports.ImageClippingBoundaryType||(exports.ImageClippingBoundaryType={}))[ex.Rectangular=1]="Rectangular",ex[ex.Polygonal=2]="Polygonal",exports.ImageClipMode=void 0,(eI=exports.ImageClipMode||(exports.ImageClipMode={}))[eI.Outside=0]="Outside",eI[eI.Inside=1]="Inside";const rD={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},ry=[{code:290,name:"clipMode",parser:s},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:i},{code:91,name:"countBoundaryPoints",parser:s},{code:71,name:"clippingBoundaryType",parser:s},{code:360,name:"imageDefReactorHandle",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipped",parser:c},{code:70,name:"flags",parser:s},{code:340,name:"imageDefHandle",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vPixel",parser:i},{code:11,name:"uPixel",parser:i},{code:10,name:"position",parser:i},{code:90,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class rb{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rT(this,"parser",n(ry,rD))}}function rO(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rT(rb,"ForEntityName","IMAGE");const rS={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},rP=[{code:210,name:"extrusionDirection",parser:i},{code:45,name:"rowSpacing",parser:s},{code:44,name:"columnSpacing",parser:s},{code:71,name:"rowCount",parser:s},{code:70,name:"columnCount",parser:s},{code:50,name:"rotation",parser:s},{code:43,name:"zScale",parser:s},{code:42,name:"yScale",parser:s},{code:41,name:"xScale",parser:s},{code:10,name:"insertionPoint",parser:i},{code:2,name:"name",parser:s},{code:66,name:"isVariableAttributes",parser:c},{code:100,name:"subclassMarker",parser:s},...E];class rL{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rO(this,"parser",n(rP,rS))}}function rN(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rO(rL,"ForEntityName","INSERT");const rA={isArrowheadEnabled:!0},rC=[{code:213,name:"offsetFromAnnotation",parser:i},{code:212,name:"offsetFromBlock",parser:i},{code:211,name:"horizontalDirection",parser:i},{code:210,name:"normal",parser:i},{code:340,name:"associatedAnnotation",parser:s},{code:77,name:"byBlockColor",parser:s},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:76,name:"numberOfVertices",parser:s},{code:41,name:"textWidth",parser:s},{code:40,name:"textHeight",parser:s},{code:75,name:"isHooklineExists",parser:c},{code:74,name:"isHooklineSameDirection",parser:c},{code:73,name:"leaderCreationFlag",parser:s},{code:72,name:"isSpline",parser:c},{code:71,name:"isArrowheadEnabled",parser:c},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class r_{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rN(this,"parser",n(rC,rA))}}function rM(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rN(r_,"ForEntityName","LEADER"),exports.LeaderCreationFlag=void 0,(ef=exports.LeaderCreationFlag||(exports.LeaderCreationFlag={}))[ef.TextAnnotation=0]="TextAnnotation",ef[ef.ToleranceAnnotation=1]="ToleranceAnnotation",ef[ef.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",ef[ef.NoAnnotation=3]="NoAnnotation";const rv={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rF=[{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class rR{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rM(this,"parser",n(rF,rv))}}rM(rR,"ForEntityName","LINE"),exports.LWPolylineFlag=void 0,(eg=exports.LWPolylineFlag||(exports.LWPolylineFlag={}))[eg.IS_CLOSED=1]="IS_CLOSED",eg[eg.PLINE_GEN=128]="PLINE_GEN";const rV={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rw={bulge:0},rk=[{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:91,name:"id",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s}],rB=[{code:210,name:"extrusionDirection",parser:i},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return n(rk,rw)(e,r,a),a}},{code:39,name:"thickness",parser:s},{code:38,name:"elevation",parser:s},{code:43,name:"constantWidth",parser:s},{code:70,name:"flag",parser:s},{code:90,name:"numberOfVertices",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class rH{parseEntity(e,r){let a={};return n(rB,rV)(r,e,a),a}}function rG(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eD="LWPOLYLINE",(eT="ForEntityName")in rH?Object.defineProperty(rH,eT,{value:eD,enumerable:!0,configurable:!0,writable:!0}):rH[eT]=eD;const rU=[{code:90,name:"overridenSubEntityCount",parser:s},{code:140,name:"edgeCreaseWeights",parser:s,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:s},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let t=0;t<a.edgeCount;++t){let t=[];e=r.next(),t[0]=e.value,e=r.next(),t[1]=e.value,a.edgeIndices.push(t)}}},{code:93,parser(e,a,t){t.totalFaceIndices=e.value,t.faceIndices=[];let n=[];for(let o=0;o<t.totalFaceIndices&&!r(e,0);++o)e=a.next(),n.push(e.value);let o=0;for(;o<n.length;){let e=n[o++],r=[];for(let a=0;a<e;++a)r.push(n[o++]);t.faceIndices.push(r)}}},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:92,name:"verticesCount",parser:s},{code:91,name:"subdivisionLevel",parser:s},{code:40,name:"blendCrease",parser:s},{code:72,name:"isBlendCreased",parser:c},{code:71,name:"version",parser:s},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...E];class rW{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rG(this,"parser",n(rU))}}function rj(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rG(rW,"ForEntityName","MESH"),exports.MLineJustification=void 0,(ey=exports.MLineJustification||(exports.MLineJustification={}))[ey.Top=0]="Top",ey[ey.Zero=1]="Zero",ey[ey.Bottom=2]="Bottom",exports.MLineFlags=void 0,(eb=exports.MLineFlags||(exports.MLineFlags={}))[eb.HasVertex=1]="HasVertex",eb[eb.Closed=2]="Closed",eb[eb.SuppressStartCaps=4]="SuppressStartCaps",eb[eb.SuppressEndCaps=8]="SuppressEndCaps";const rY=[{code:42,name:"fillParameters",parser:s,isMultiple:!0},{code:75,name:"fillCount",parser:s},{code:41,name:"parameters",parser:s,isMultiple:!0},{code:74,name:"parameterCount",parser:s}],rX=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=n(rY),t={};return a(e,r,t),t},isMultiple:!0},{code:13,name:"miterDirection",parser:i},{code:12,name:"direction",parser:i},{code:11,name:"position",parser:i}],rz=[{code:[11,12,13],name:"segments",parser(e,r){let a=n(rX),t={};return a(e,r,t),t},isMultiple:!0},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"startPosition",parser:i},{code:73,name:"styleCount",parser:s},{code:72,name:"vertexCount",parser:s},{code:71,name:"flags",parser:s},{code:70,name:"justification",parser:s},{code:40,name:"scale",parser:s},{code:340,name:"styleObjectHandle",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...E];class rK{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rj(this,"parser",n(rz))}}function rZ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rj(rK,"ForEntityName","MLINE");const rJ={},r$=[{code:170,name:"multileaderType",parser:s},{code:291,name:"doglegEnabled",parser:c},{code:40,name:"doglegLength",parser:s},{code:172,name:"contentType",parser:s},{code:3,name:"textContent",parser:s},{code:12,name:"textAnchor",parser:i},{code:344,name:"blockHandle",parser:s},{code:15,name:"blockPosition",parser:i},{code:302,name:"leaderSections",parser:function(e,r,t){let n;let o={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:o.landingPoint=(n.value,a(r));break;case 11:o.doglegVector=(n.value,a(r));break;case 40:o.doglegLength=n.value;break;case 304:o.leaderLines.push(function(e,r,t){let n;let o={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&o.vertices.push((n.value,a(r)));return o}(0,r))}}return o},isMultiple:!0},...E];class rq{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rZ(this,"parser",n(r$,rJ))}}function rQ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rZ(rq,"ForEntityName","MULTILEADER");const r0={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},r1=[{code:50,name:"angle",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class r4{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rQ(this,"parser",n(r1,r0))}}function r2(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rQ(r4,"ForEntityName","POINT"),exports.PolylineFlag=void 0,(eO=exports.PolylineFlag||(exports.PolylineFlag={}))[eO.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",eO[eO.CURVE_FIT=2]="CURVE_FIT",eO[eO.SPLINE_FIT=4]="SPLINE_FIT",eO[eO.POLYLINE_3D=8]="POLYLINE_3D",eO[eO.POLYGON_3D=16]="POLYGON_3D",eO[eO.CLOSED_POLYGON=32]="CLOSED_POLYGON",eO[eO.POLYFACE=64]="POLYFACE",eO[eO.CONTINUOUS=128]="CONTINUOUS",exports.SmoothType=void 0,(eS=exports.SmoothType||(exports.SmoothType={}))[eS.NONE=0]="NONE",eS[eS.QUADRATIC=5]="QUADRATIC",eS[eS.CUBIC=6]="CUBIC",eS[eS.BEZIER=8]="BEZIER",exports.VertexFlag=void 0,(eP=exports.VertexFlag||(exports.VertexFlag={}))[eP.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",eP[eP.TANGENT_DEFINED=2]="TANGENT_DEFINED",eP[eP.NOT_USED=4]="NOT_USED",eP[eP.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",eP[eP.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",eP[eP.FOR_POLYLINE=32]="FOR_POLYLINE",eP[eP.FOR_POLYGON=64]="FOR_POLYGON",eP[eP.POLYFACE=128]="POLYFACE";const r3={startWidth:0,endWidth:0,bulge:0},r7=[{code:91,name:"id",parser:s},{code:[...C(71,75)],name:"faces",isMultiple:!0,parser:s},{code:50,name:"tangentDirection",parser:s},{code:70,name:"flag",parser:s},{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:30,name:"z",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...E];class r5{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r2(this,"parser",n(r7,r3))}}function r9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r2(r5,"ForEntityName","VERTEX");const r6={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},r8=[{code:0,name:"vertices",isMultiple:!0,parser:(e,a)=>r(e,0,"VERTEX")?(e=a.next(),new r5().parseEntity(a,e)):t},{code:210,name:"extrusionDirection",parser:i},{code:75,name:"smoothType",parser:s},{code:74,name:"surfaceNDensity",parser:s},{code:73,name:"surfaceMDensity",parser:s},{code:72,name:"meshNVertexCount",parser:s},{code:71,name:"meshMVertexCount",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:70,name:"flag",parser:s},{code:39,name:"thickness",parser:s},{code:30,name:"elevation",parser:s},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:s},...E];class ae{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r9(this,"parser",n(r8,r6))}}function ar(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r9(ae,"ForEntityName","POLYLINE");const aa=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class at{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ar(this,"parser",n(aa))}}function an(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ar(at,"ForEntityName","RAY");const ao=[...x("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class as{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){an(this,"parser",n(ao))}}function ai(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}an(as,"ForEntityName","REGION");const ac={vertices:[],backLineVertices:[]},ad=[{code:360,name:"geometrySettingHardId",parser:s},{code:12,name:"backLineVertices",isMultiple:!0,parser:i},{code:93,name:"numberOfBackLineVertices",parser:s},{code:11,name:"vertices",isMultiple:!0,parser:i},{code:92,name:"verticesCount",parser:s},{code:[63,411],name:"indicatorColor",parser:s},{code:70,name:"indicatorTransparency",parser:s},{code:41,name:"bottomHeight",parser:s},{code:40,name:"topHeight",parser:s},{code:10,name:"verticalDirection",parser:i},{code:1,name:"name",parser:s},{code:91,name:"flag",parser:s},{code:90,name:"state",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class ap{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ai(this,"parser",n(ad,ac))}}function al(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ai(ap,"ForEntityName","SECTION");const au={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},am=[{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:[...C(10,14)],name:"points",isMultiple:!0,parser:i},{code:100,name:"subclassMarker",parser:s},...E];class ah{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){al(this,"parser",n(am,au))}}function aE(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}al(ah,"ForEntityName","SOLID");const ax=[{code:350,name:"historyObjectSoftId",parser:s},{code:100,name:"subclassMarker",parser:s},...x("data"),{code:70,name:"version",parser:s},{code:100},...E];class aI{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aE(this,"parser",n(ax))}}function af(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aE(aI,"ForEntityName","3DSOLID"),exports.SplineFlag=void 0,(eL=exports.SplineFlag||(exports.SplineFlag={}))[eL.NONE=0]="NONE",eL[eL.CLOSED=1]="CLOSED",eL[eL.PERIODIC=2]="PERIODIC",eL[eL.RATIONAL=4]="RATIONAL",eL[eL.PLANAR=8]="PLANAR",eL[eL.LINEAR=16]="LINEAR";const ag={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},aT=[{code:11,name:"fitPoints",isMultiple:!0,parser:i},{code:10,name:"controlPoints",isMultiple:!0,parser:i},{code:41,name:"weights",isMultiple:!0,parser:s},{code:40,name:"knots",isMultiple:!0,parser:s},{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:44,name:"fitTolerance",parser:s},{code:43,name:"controlTolerance",parser:s},{code:42,name:"knotTolerance",parser:s},{code:74,name:"numberOfFitPoints",parser:s},{code:73,name:"numberOfControlPoints",parser:s},{code:72,name:"numberOfKnots",parser:s},{code:71,name:"degree",parser:s},{code:70,name:"flag",parser:s},{code:210,name:"normal",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class aD{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){af(this,"parser",n(aT,ag))}}function ay(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}af(aD,"ForEntityName","SPLINE");const ab=[{code:11,name:"xAxisDirection",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:1,name:"text",parser:s},{code:10,name:"position",parser:i},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class aO{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ay(this,"parser",n(ab))}}ay(aO,"ForEntityName","TOLERANCE");const aS=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:s},{code:361,name:"sunId",parser:s},{code:431,name:"ambientLightColorName",parser:s},{code:421,name:"ambientLightColorInstance",parser:s},{code:63,name:"ambientLightColorIndex",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLighting",parser:c},{code:348,name:"visualStyleId",parser:s},{code:333,name:"shadePlotId",parser:s},{code:332,name:"backgroundId",parser:s},{code:61,name:"majorGridFrequency",parser:s},{code:170,name:"shadePlotMode",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:346,name:"ucsBaseId",parser:s},{code:345,name:"ucsId",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"iconFlag",parser:s},{code:71,name:"ucsPerViewport",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"sheetName",parser:s},{code:340,name:"clippingBoundaryId",parser:s},{code:90,name:"statusBitFlags",parser:s},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:s},{code:72,name:"circleZoomPercent",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClipZ",parser:s},{code:43,name:"frontClipZ",parser:s},{code:42,name:"perspectiveLensLength",parser:s},{code:17,name:"targetPoint",parser:i},{code:16,name:"viewDirection",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBase",parser:i},{code:12,name:"displayCenter",parser:i},{code:69,name:"viewportId",parser:s},{code:68,name:"status",parser:s},{code:41,name:"height",parser:s},{code:40,name:"width",parser:s},{code:10,name:"viewportCenter",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...E];class aP{parseEntity(e,r){let a={};return n(aS)(r,e,a),a}}function aL(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eA="VIEWPORT",(eN="ForEntityName")in aP?Object.defineProperty(aP,eN,{value:eA,enumerable:!0,configurable:!0,writable:!0}):aP[eN]=eA,exports.ImageDisplayFlag=void 0,(eC=exports.ImageDisplayFlag||(exports.ImageDisplayFlag={}))[eC.ShowImage=1]="ShowImage",eC[eC.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",eC[eC.UseClippingBoundary=4]="UseClippingBoundary",eC[eC.Transparency=8]="Transparency";const aN={brightness:50,constrast:50,fade:0},aA=[{code:14,name:"boundary",isMultiple:!0,parser:i},{code:91,name:"numberOfVertices",parser:s},{code:71,name:"boundaryType",parser:s},{code:360,name:"imageDefReactorHardId",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipping",parser:c},{code:70,name:"displayFlag",parser:s},{code:340,name:"imageDefHardId",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vDirection",parser:i},{code:11,name:"uDirection",parser:i},{code:10,name:"position",parser:i},{code:90,name:"classVersion",parser:s},{code:100,name:"subclassMarker",parser:s},...E];class aC{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aL(this,"parser",n(aA,aN))}}function a_(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aL(aC,"ForEntityName","WIPEOUT");const aM=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...E];class av{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a_(this,"parser",n(aM))}}a_(av,"ForEntityName","XLINE");const aF=Object.fromEntries([T,N,eX,eZ,eQ,e6,ra,ro,rb,rL,r_,rR,rH,rW,rK,eU,rq,r4,ae,at,as,ap,ah,aI,aD,O,aO,rg,r5,aP,aC,av].map(e=>[e.ForEntityName,new e]));function aR(e,a){let t=[];for(;!r(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){a.rewind();break}let r=aF[e.value];if(r){let n=e.value;e=a.next();let o=r.parseEntity(a,e);o.type=n,h(o),t.push(o)}else a.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=a.next()}return t}function aV(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"BLOCK")){let r=aw(e=a.next(),a);h(r),r.name&&(t[r.name]=r)}e=a.next()}return t}function aw(e,t){let n={};for(;!r(e,0,"EOF");){if(r(e,0,"ENDBLK")){for(e=t.next();!r(e,0,"EOF");){if(r(e,100,"AcDbBlockEnd"))return n;e=t.next()}break}switch(e.code){case 1:n.xrefPath=e.value;break;case 2:n.name=e.value;break;case 3:n.name2=e.value;break;case 5:n.handle=e.value;break;case 8:n.layer=e.value;break;case 10:n.position=a(t);break;case 67:n.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(n.type=e.value);break;case 100:break;case 330:n.ownerHandle=e.value;break;case 0:n.entities=aR(e,t)}e=t.next()}return n}function ak(e,t){let n=null,o={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");)9===e.code?n=e.value:10===e.code?o[n]=a(t):o[n]=e.value,e=t.next();return o}exports.RecordCloneFlag=void 0,(e_=exports.RecordCloneFlag||(exports.RecordCloneFlag={}))[e_.NOT_APPLICABLE=0]="NOT_APPLICABLE",e_[e_.KEEP_EXISTING=1]="KEEP_EXISTING",e_[e_.USE_CLONE=2]="USE_CLONE",e_[e_.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",e_[e_.VALUE_NAME=4]="VALUE_NAME",e_[e_.UNMANGLE_NAME=5]="UNMANGLE_NAME";const aB=[{code:330,name:"ownerObjectId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}],aH=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:s},{code:280,name:"isHardOwned",parser:c},{code:100,name:"subclassMarker",parser:s},...aB];exports.LayoutControlFlag=void 0,(eM=exports.LayoutControlFlag||(exports.LayoutControlFlag={}))[eM.PSLTSCALE=1]="PSLTSCALE",eM[eM.LIMCHECK=2]="LIMCHECK",exports.PlotPaperUnit=void 0,(ev=exports.PlotPaperUnit||(exports.PlotPaperUnit={}))[ev.INCHES=0]="INCHES",ev[ev.MILLIMETERS=1]="MILLIMETERS",ev[ev.PIXELS=2]="PIXELS",exports.PlotType=void 0,(eF=exports.PlotType||(exports.PlotType={}))[eF.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",eF[eF.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",eF[eF.DRAWING_LIMITS=2]="DRAWING_LIMITS",eF[eF.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",eF[eF.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",eF[eF.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",exports.ShadePlotMode=void 0,(eR=exports.ShadePlotMode||(exports.ShadePlotMode={}))[eR.AS_DISPLAYED=0]="AS_DISPLAYED",eR[eR.WIREFRAME=1]="WIREFRAME",eR[eR.HIDDEN=2]="HIDDEN",eR[eR.RENDERED=3]="RENDERED",exports.ShadePlotResolution=void 0,(eV=exports.ShadePlotResolution||(exports.ShadePlotResolution={}))[eV.DRAFT=0]="DRAFT",eV[eV.PREVIEW=1]="PREVIEW",eV[eV.NORMAL=2]="NORMAL",eV[eV.PRESENTATION=3]="PRESENTATION",eV[eV.MAXIMUM=4]="MAXIMUM",eV[eV.CUSTOM=5]="CUSTOM";const aG=[{code:333,name:"shadePlotId",parser:s},{code:149,name:"imageOriginY",parser:s},{code:148,name:"imageOriginX",parser:s},{code:147,name:"scaleFactor",parser:s},{code:78,name:"shadePlotCustomDPI",parser:s},{code:77,name:"shadePlotResolution",parser:s},{code:76,name:"shadePlotMode",parser:s},{code:75,name:"standardScaleType",parser:s},{code:7,name:"currentStyleSheet",parser:s},{code:74,name:"plotType",parser:s},{code:73,name:"plotRotation",parser:s},{code:72,name:"plotPaperUnit",parser:s},{code:70,name:"layoutFlag",parser:s},{code:143,name:"printScaleDenominator",parser:s},{code:142,name:"printScaleNumerator",parser:s},{code:141,name:"windowAreaYMax",parser:s},{code:140,name:"windowAreaXMax",parser:s},{code:49,name:"windowAreaYMin",parser:s},{code:48,name:"windowAreaXMin",parser:s},{code:47,name:"plotOriginY",parser:s},{code:46,name:"plotOriginX",parser:s},{code:45,name:"paperHeight",parser:s},{code:44,name:"paperWidth",parser:s},{code:43,name:"marginTop",parser:s},{code:42,name:"marginRight",parser:s},{code:41,name:"marginBottom",parser:s},{code:40,name:"marginLeft",parser:s},{code:6,name:"plotViewName",parser:s},{code:4,name:"paperSize",parser:s},{code:2,name:"configName",parser:s},{code:1,name:"pageSetupName",parser:s},{code:100,name:"subclassMarker",parser:s},...aB],aU=[{code:346,name:"orthographicUcsId",parser:s},{code:345,name:"namedUcsId",parser:s},{code:331,name:"viewportId",parser:s},{code:330,name:"paperSpaceTableId",parser:s},{code:76,name:"orthographicType",parser:s},{code:17,name:"ucsYAxis",parser:i},{code:16,name:"ucsXAxis",parser:i},{code:13,name:"ucsOrigin",parser:i},{code:146,name:"elevation",parser:s},{code:15,name:"maxExtent",parser:i},{code:14,name:"minExtent",parser:i},{code:12,name:"insertionPoint",parser:i},{code:11,name:"maxLimit",parser:i},{code:10,name:"minLimit",parser:i},{code:71,name:"tabOrder",parser:s},{code:70,name:"controlFlag",parser:s},{code:1,name:"layoutName",parser:s},{code:100,name:"subclassMarker",parser:s},...aG],aW=[{code:40,name:"wcsToOCSTransform",parser:aj},{code:40,name:"ocsToWCSTransform",parser:aj},{code:41,name:"backClippingDistance",parser:s},{code:73,name:"isBackClipping",parser:c,pushContext:!0},{code:40,name:"frontClippingDistance",parser:s},{code:72,name:"isFrontClipping",parser:c,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:c},{code:11,name:"position",parser:i},{code:210,name:"normal",parser:i},{code:10,name:"boundaryVertices",parser:i,isMultiple:!0},{code:70,name:"boundaryCount",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...aB];function aj(e,a){let t=[];for(let n=0;n<3&&r(e,40);++n){let n=[];for(let t=0;t<4&&r(e,40);++t)n.push(e.value),e=a.next();t.push(n)}return a.rewind(),t}const aY=[{code:280,name:"cloneFlag",parser(e,r,a){var t;let n=e.value;for(e=r.next(),a.data=[];1<=(t=e.code)&&t<=369&&5!==t&&105!==t;)a.data.push(e),e=r.next();return r.rewind(),n}},{code:100,name:"subclassMarker",parser:s},...aB],aX={LAYOUT:aU,PLOTSETTINGS:aG,DICTIONARY:aH,SPATIAL_FILTER:aW};function az(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,o=aX[t];if(0===e.code&&o?.length){let s=n(o),i={name:t};s(e=r.next(),r,i)?(a.push(i),e=r.peek()):e=r.next()}else e=r.next()}return{byName:A(a,({name:e})=>e)}}const aK=n([{code:310,name:"bmpPreview",parser:s},{code:281,name:"scalability",parser:s},{code:280,name:"explodability",parser:s},{code:70,name:"insertionUnits",parser:s},{code:340,name:"layoutObjects",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...e1]),aZ=n([{code:347,name:"materialObjectId",parser:s},{code:390,name:"plotStyleNameObjectId",parser:s},{code:370,name:"lineweight",parser:s},{code:290,name:"isPlotting",parser:c},{code:6,name:"lineType",parser:s},{code:62,name:"colorIndex",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...e1]);exports.LineTypeElementType=void 0,(ew=exports.LineTypeElementType||(exports.LineTypeElementType={}))[ew.NONE=0]="NONE",ew[ew.AbsoluteRotation=1]="AbsoluteRotation",ew[ew.TextEmbedded=2]="TextEmbedded",ew[ew.ShapeEmbedded=4]="ShapeEmbedded";const aJ=n([{code:9,name:"text",parser:s},{code:45,name:"offsetY",parser:s},{code:44,name:"offsetX",parser:s},{code:50,name:"rotation",parser:s},{code:46,name:"scale",parser:s},{code:340,name:"styleObjectId",parser:s},{code:75,name:"shapeNumber",parser:s},{code:74,name:"elementTypeFlag",parser:s},{code:49,name:"elementLength",parser:s}],{elementTypeFlag:0,elementLength:0}),a$=n([{code:49,name:"pattern",parser(e,r){let a={};return aJ(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:s},{code:73,name:"numberOfLineTypes",parser:s},{code:72,parser:s},{code:3,name:"description",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...e1]),aq=n([{code:1e3,name:"extendedFont",parser:s},{code:1001},{code:4,name:"bigFont",parser:s},{code:3,name:"font",parser:s},{code:42,name:"lastHeight",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:50,name:"obliqueAngle",parser:s},{code:41,name:"widthFactor",parser:s},{code:40,name:"fixedTextHeight",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...e1]),aQ=n([{code:[63,421,431],name:"ambientColor",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLightingOn",parser:c},{code:348,name:"visualStyleObjectId",parser:s},{code:333,name:"shadePlotObjectId",parser:s},{code:332,name:"backgroundObjectId",parser:s},{code:61,name:"majorGridLines",parser:s},{code:170,name:"shadePlotSetting",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"ucsIconSetting",parser:s},{code:71,name:"viewMode",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"styleSheet",parser:s},{code:[331,441],name:"frozenLayers",parser:s,isMultiple:!0},{code:72,name:"circleSides",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapRotationAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClippingPlane",parser:s},{code:43,name:"frontClippingPlane",parser:s},{code:42,name:"lensLength",parser:s},{code:17,name:"viewTarget",parser:i},{code:16,name:"viewDirectionFromTarget",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBasePoint",parser:i},{code:12,name:"center",parser:i},{code:11,name:"upperRightCorner",parser:i},{code:10,name:"lowerLeftCorner",parser:i},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...e1]),a0={BLOCK_RECORD:aK,DIMSTYLE:e4,LAYER:aZ,LTYPE:a$,STYLE:aq,VPORT:aQ},a1=n([{code:70,name:"maxNumberOfEntries",parser:s},{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:s},{code:2,name:"name",parser:s}]);function a4(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"TABLE")){e=a.next();let r={entries:[]};a1(e,a,r),t[r.name]=r}if(r(e,0)&&!r(e,0,"ENDTAB")){let r=e.value;e=a.next();let n=a0[r];if(!n){a.debug&&console.warn(`parseTable: Invalid table name '${r}'`),e=a.next();continue}let o={};n(e,a,o),t[r]?.entries.push(o)}e=a.next()}return t}function a2(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class a3{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),a=a7(e,this._data[this._pointer++],this.debug),t={code:e,value:a};return r(t,0,"EOF")&&(this._eof=!0),this.lastReadGroup=t,t}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=a7(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,r=!1){a2(this,"_data",void 0),a2(this,"debug",void 0),a2(this,"_pointer",void 0),a2(this,"_eof",void 0),a2(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function a7(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function a5(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class a9{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){a5(this,"point",{}),a5(this,"startCode",0),a5(this,"code",0),a5(this,"value",0),a5(this,"x",void 0),a5(this,"y",void 0),a5(this,"z",void 0)}}function a6(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class a8{constructor(){a6(this,"encoding","utf-8"),a6(this,"encodingFailureFatal",!1)}}class te extends Error{constructor(e,r,a){let t=`[Line ${r}]: ${e}`;a?.cause&&(t+=`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockTypeFlag=void 0,(W=exports.BlockTypeFlag||(exports.BlockTypeFlag={}))[W.None=0]="None",W[W.Anonymous=1]="Anonymous",W[W.NonConstant=2]="NonConstant",W[W.Xref=4]="Xref",W[W.XrefOverlay=8]="XrefOverlay",W[W.ExternallyDependent=16]="ExternallyDependent",W[W.ResolvedOrDependent=32]="ResolvedOrDependent",W[W.ReferencedXref=64]="ReferencedXref",exports.ColorCode=void 0,(j=exports.ColorCode||(exports.ColorCode={}))[j.BYBLOCK=0]="BYBLOCK",j[j.BYLAYER=256]="BYLAYER",exports.DimensionType=void 0,(Y=exports.DimensionType||(exports.DimensionType={}))[Y.Rotated=0]="Rotated",Y[Y.Aligned=1]="Aligned",Y[Y.Angular=2]="Angular",Y[Y.Diameter=3]="Diameter",Y[Y.Radius=4]="Radius",Y[Y.Angular3Point=5]="Angular3Point",Y[Y.Ordinate=6]="Ordinate",Y[Y.ReferenceIsExclusive=32]="ReferenceIsExclusive",Y[Y.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",Y[Y.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",exports.AttachmentPoint=void 0,(X=exports.AttachmentPoint||(exports.AttachmentPoint={}))[X.TopLeft=1]="TopLeft",X[X.TopCenter=2]="TopCenter",X[X.TopRight=3]="TopRight",X[X.MiddleLeft=4]="MiddleLeft",X[X.MiddleCenter=5]="MiddleCenter",X[X.MiddleRight=6]="MiddleRight",X[X.BottomLeft=7]="BottomLeft",X[X.BottomCenter=8]="BottomCenter",X[X.BottomRight=9]="BottomRight",exports.DimensionTextLineSpacing=void 0,(z=exports.DimensionTextLineSpacing||(exports.DimensionTextLineSpacing={}))[z.AtLeast=1]="AtLeast",z[z.Exact=2]="Exact",exports.DimensionTextVertical=void 0,(K=exports.DimensionTextVertical||(exports.DimensionTextVertical={}))[K.Center=0]="Center",K[K.Above=1]="Above",K[K.Outside=2]="Outside",K[K.JIS=3]="JIS",K[K.Below=4]="Below",exports.DimensionZeroSuppression=void 0,(Z=exports.DimensionZeroSuppression||(exports.DimensionZeroSuppression={}))[Z.Feet=0]="Feet",Z[Z.None=1]="None",Z[Z.Inch=2]="Inch",Z[Z.FeetAndInch=3]="FeetAndInch",Z[Z.Leading=4]="Leading",Z[Z.Trailing=8]="Trailing",Z[Z.LeadingAndTrailing=12]="LeadingAndTrailing",exports.DimensionZeroSuppressionAngular=void 0,(J=exports.DimensionZeroSuppressionAngular||(exports.DimensionZeroSuppressionAngular={}))[J.None=0]="None",J[J.Leading=1]="Leading",J[J.Trailing=2]="Trailing",J[J.LeadingAndTrailing=3]="LeadingAndTrailing",exports.DimensionTextHorizontal=void 0,($=exports.DimensionTextHorizontal||(exports.DimensionTextHorizontal={}))[$.Center=0]="Center",$[$.First=1]="First",$[$.Second=2]="Second",$[$.OverFirst=3]="OverFirst",$[$.OverSecond=4]="OverSecond",exports.DimensionToleranceTextVertical=void 0,(q=exports.DimensionToleranceTextVertical||(exports.DimensionToleranceTextVertical={}))[q.Bottom=0]="Bottom",q[q.Center=1]="Center",q[q.Top=2]="Top",exports.HatchSolidFill=void 0,(Q=exports.HatchSolidFill||(exports.HatchSolidFill={}))[Q.PatternFill=0]="PatternFill",Q[Q.SolidFill=1]="SolidFill",exports.HatchAssociativity=void 0,(ee=exports.HatchAssociativity||(exports.HatchAssociativity={}))[ee.NonAssociative=0]="NonAssociative",ee[ee.Associative=1]="Associative",exports.HatchStyle=void 0,(er=exports.HatchStyle||(exports.HatchStyle={}))[er.Normal=0]="Normal",er[er.Outer=1]="Outer",er[er.Ignore=2]="Ignore",exports.HatchPatternType=void 0,(ea=exports.HatchPatternType||(exports.HatchPatternType={}))[ea.UserDefined=0]="UserDefined",ea[ea.Predefined=1]="Predefined",ea[ea.Custom=2]="Custom",exports.HatchBoundaryAnnotation=void 0,(et=exports.HatchBoundaryAnnotation||(exports.HatchBoundaryAnnotation={}))[et.NotAnnotated=0]="NotAnnotated",et[et.Annotated=1]="Annotated",exports.HatchGradientFlag=void 0,(en=exports.HatchGradientFlag||(exports.HatchGradientFlag={}))[en.Solid=0]="Solid",en[en.Gradient=1]="Gradient",exports.HatchGradientColorFlag=void 0,(eo=exports.HatchGradientColorFlag||(exports.HatchGradientColorFlag={}))[eo.TwoColor=0]="TwoColor",eo[eo.OneColor=1]="OneColor",exports.BoundaryPathTypeFlag=void 0,(es=exports.BoundaryPathTypeFlag||(exports.BoundaryPathTypeFlag={}))[es.Default=0]="Default",es[es.External=1]="External",es[es.Polyline=2]="Polyline",es[es.Derived=4]="Derived",es[es.Textbox=8]="Textbox",es[es.Outermost=16]="Outermost",exports.BoundaryPathEdgeType=void 0,(ei=exports.BoundaryPathEdgeType||(exports.BoundaryPathEdgeType={}))[ei.Line=1]="Line",ei[ei.Circular=2]="Circular",ei[ei.Elliptic=3]="Elliptic",ei[ei.Spline=4]="Spline",exports.ObscuredLineTypes=void 0,(ec=exports.ObscuredLineTypes||(exports.ObscuredLineTypes={}))[ec.Off=0]="Off",ec[ec.Solid=1]="Solid",ec[ec.Dashed=2]="Dashed",ec[ec.Dotted=3]="Dotted",ec[ec.ShotDash=4]="ShotDash",ec[ec.MediumDash=5]="MediumDash",ec[ec.LongDash=6]="LongDash",ec[ec.DoubleShortDash=7]="DoubleShortDash",ec[ec.DoubleMediumDash=8]="DoubleMediumDash",ec[ec.DoubleLongDash=9]="DoubleLongDash",ec[ec.DoubleMediumLongDash=10]="DoubleMediumLongDash",ec[ec.SparseDot=11]="SparseDot";const e={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:exports.ObscuredLineTypes.Off,SHADEDIF:70};function r(e,r,a){return e.code===r&&(null==a||e.value===a)}function a(e){let r={};e.rewind();let a=e.next(),t=a.code;if(r.x=a.value,(a=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==t+20)?e.rewind():r.z=a.value,r}exports.ReservedLineweight=void 0,(ed=exports.ReservedLineweight||(exports.ReservedLineweight={}))[ed.Standard=-3]="Standard",ed[ed.ByLayer=-2]="ByLayer",ed[ed.ByBlock=-1]="ByBlock",exports.Measurement=void 0,(ep=exports.Measurement||(exports.Measurement={}))[ep.English=0]="English",ep[ep.Metric=1]="Metric",exports.ViewportStatusFlag=void 0,(el=exports.ViewportStatusFlag||(exports.ViewportStatusFlag={}))[el.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",el[el.FRONT_CLIPPING=2]="FRONT_CLIPPING",el[el.BACK_CLIPPING=4]="BACK_CLIPPING",el[el.UCS_FOLLOW=8]="UCS_FOLLOW",el[el.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",el[el.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",el[el.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",el[el.FAST_ZOOM=128]="FAST_ZOOM",el[el.SNAP_MODE=256]="SNAP_MODE",el[el.GRID_MODE=512]="GRID_MODE",el[el.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",el[el.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",el[el.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",el[el.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",el[el.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",el[el.UNUSED=32768]="UNUSED",el[el.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",el[el.VIEWPORT_OFF=131072]="VIEWPORT_OFF",el[el.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",el[el.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",el[el.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",el[el.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",exports.RenderMode=void 0,(eu=exports.RenderMode||(exports.RenderMode={}))[eu.OPTIMIZED_2D=0]="OPTIMIZED_2D",eu[eu.WIREFRAME=1]="WIREFRAME",eu[eu.HIDDEN_LINE=2]="HIDDEN_LINE",eu[eu.FLAT_SHADED=3]="FLAT_SHADED",eu[eu.GOURAUD_SHADED=4]="GOURAUD_SHADED",eu[eu.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eu[eu.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",exports.UCSPerViewport=void 0,(em=exports.UCSPerViewport||(exports.UCSPerViewport={}))[em.UCS_UNCHANGED=0]="UCS_UNCHANGED",em[em.HAS_OWN_UCS=1]="HAS_OWN_UCS",exports.OrthographicType=void 0,(eE=exports.OrthographicType||(exports.OrthographicType={}))[eE.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",eE[eE.TOP=1]="TOP",eE[eE.BOTTOM=2]="BOTTOM",eE[eE.FRONT=3]="FRONT",eE[eE.BACK=4]="BACK",eE[eE.LEFT=5]="LEFT",eE[eE.RIGHT=6]="RIGHT",exports.DefaultLightingType=void 0,(eh=exports.DefaultLightingType||(exports.DefaultLightingType={}))[eh.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",eh[eh.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",exports.PlotStyleType=void 0,(ex=exports.PlotStyleType||(exports.PlotStyleType={}))[ex.ByLayer=0]="ByLayer",ex[ex.ByBlock=1]="ByBlock",ex[ex.ByDictionaryDefault=2]="ByDictionaryDefault",ex[ex.ByObject=3]="ByObject";const t=Symbol();function n(e,a){return(n,s,i)=>{let c=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let t=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let n=t[e]??(t[e]=[]);a.isMultiple&&n.length&&r&&console.warn(`Snippet ${n[n.length-1].name} for code(${e}) is shadowed by ${a.name}`),n.push(a)}return e},[{}])}(e,s.debug),d=!1,p=c.length-1;for(;!r(n,0,"EOF");){let e=function(e,r,a){return e.find((e,t)=>t>=a&&e[r]?.length)}(c,n.code,p),r=e?.[n.code],a=r?.[r.length-1];if(!e||!a){s.rewind();break}a.isMultiple||e[n.code].pop();let{name:l,parser:u,isMultiple:m,isReducible:E}=a,h=u?.(n,s,i);if(h===t){s.rewind();break}if(l){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let t=e;for(let e=0;e<a.length-1;++e){let r=o(a[e]),n=o(a[e+1]);Object.prototype.hasOwnProperty.call(t,r)||("number"==typeof n?t[r]=[]:t[r]={}),t=t[r]}return[t,o(a[a.length-1])]}(i,l);m&&!E?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(h)):e[r]=h}a.pushContext&&(p-=1),d=!0,n=s.next()}return a&&Object.setPrototypeOf(i,a),d}}function o(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function s({value:e}){return e}function i(e,r){return a(r)}function c({value:e}){return!!e}const d=[{code:1001,name:"xdata",parser:p}];function p(e,t){if(!r(e,1001))throw Error("XData must starts with code 1001");let n={appName:e.value,value:[]};e=t.next();let o=[n.value];for(;!r(e,0,"EOF")&&e.code>=1e3;){let r=o[o.length-1];switch(e.code){case 1002:"{"===e.value?o.push([]):(o.pop(),o[o.length-1]?.push(r));break;case 1e3:case 1004:case 1040:case 1070:case 1071:r.push({type:l(e.code),value:e.value});break;case 1003:r.push({name:"layer",type:l(e.code),value:e.value});break;case 1005:r.push({name:"handle",type:l(e.code),value:e.value});break;case 1010:r.push({type:l(e.code),value:a(t)});break;case 1011:r.push({name:"worldSpacePosition",type:l(e.code),value:a(t)});break;case 1012:r.push({name:"worldSpaceDisplacement",type:l(e.code),value:a(t)});break;case 1013:r.push({name:"worldSpaceDirection",type:l(e.code),value:a(t)});break;case 1041:r.push({name:"distance",type:l(e.code),value:e.value});break;case 1042:r.push({name:"scale",type:l(e.code),value:e.value})}e=t.next()}return t.rewind(),n}function l(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function u(e,a,t){for(;r(e,102);){var n;let o=e.value;if(e=a.next(),!o.startsWith("{")){a.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${o}`),function(e,a){for(;!r(e,102)&&!r(e,0,"EOF");)e=a.next()}(e,a),e=a.next();continue}let s=o.slice(1).trim();t.extensions??(t.extensions={}),(n=t.extensions)[s]??(n[s]=[]),function(e,a,t){for(;!r(e,102,"}")&&!r(e,0,"EOF");)t.push(e),e=a.next()}(e,a,t.extensions[s]),e=a.next()}a.rewind()}let m=0;function E(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=m++)}exports.ShadowMode=void 0,(eI=exports.ShadowMode||(exports.ShadowMode={}))[eI.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",eI[eI.CAST=1]="CAST",eI[eI.RECEIVE=2]="RECEIVE",eI[eI.IGNORE=3]="IGNORE";const h=[...d,{code:284,name:"shadowMode",parser:s},{code:390,name:"plotStyleHardId",parser:s},{code:380,name:"plotStyleType",parser:s},{code:440,name:"transparency",parser:s},{code:430,name:"colorName",parser:s},{code:420,name:"color",parser:s},{code:310,name:"proxyEntity",isMultiple:!0,isReducible:!0,parser:(e,r,a)=>(a.proxyEntity??"")+e.value},{code:[92,160],name:"proxyByte",parser:s},{code:60,name:"isVisible",parser:c},{code:48,name:"lineTypeScale",parser:s},{code:370,name:"lineweight",parser:s},{code:62,name:"colorIndex",parser:s},{code:347,name:"materialObjectHardId",parser:s},{code:6,name:"lineType",parser:s},{code:8,name:"layer",parser:s},{code:410,name:"layoutTabName",parser:s},{code:67,name:"isInPaperSpace",parser:c},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}];function x(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function I(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const f={extrusionDirection:{x:0,y:0,z:1}},g=[{code:210,name:"extrusionDirection",parser:i},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:100,name:"subclassMarker",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100},...h];class T{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){I(this,"parser",n(g,f))}}I(T,"ForEntityName","ARC"),exports.ArcSymbolType=void 0,(ef=exports.ArcSymbolType||(exports.ArcSymbolType={}))[ef.BeforeText=0]="BeforeText",ef[ef.AboveText=1]="AboveText",ef[ef.None=2]="None";const D=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:exports.DimensionTextVertical.Above,defaultValueImperial:exports.DimensionTextVertical.Center},{name:"DIMZIN",code:78,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMAZIN",code:79,defaultValue:exports.DimensionZeroSuppressionAngular.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:exports.DimensionTextHorizontal.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:exports.DimensionToleranceTextVertical.Center},{name:"DIMTZIN",code:284,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMALTZ",code:285,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMALTTZ",code:286,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],y=[{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102,parser(e,a){for(;!r(e,0,"EOF")&&!r(e,102,"}");)e=a.next()}},{code:5,name:"handle",parser:s}],b=n([...D.map(e=>({...e,parser:s})),{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},{code:105,name:"handle",parser:s},...y.filter(e=>5!==e.code)]),S=[{code:3,name:"styleName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:51,name:"ocsRotation",parser:s},{code:53,name:"textRotation",parser:s},{code:1,name:"text",parser:s},{code:42,name:"measurement",parser:s},{code:72,name:"textLineSpacingStyle",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:70,name:"dimensionType",parser:s},{code:11,name:"textPoint",parser:i},{code:10,name:"definitionPoint",parser:i},{code:2,name:"name",parser:s},{code:280,name:"version",parser:s},{code:100}],O=[{code:100},{code:52,name:"obliqueAngle",parser:s},{code:50,name:"rotationAngle",parser:s},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:12,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],P=[{code:16,name:"arcPoint",parser:i},{code:15,name:"centerPoint",parser:i},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],L=[{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],N=[{code:40,name:"leaderLength",parser:s},{code:15,name:"subDefinitionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],A=[{code:100,parser(e,r,a){let o=function(e){switch(e){case"AcDbAlignedDimension":return n(O);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return n(P);case"AcDbOrdinateDimension":return n(L);case"AcDbRadialDimension":case"AcDbDiametricDimension":return n(N)}return null}(e.value);if(!o)return t;o(e,r,a)},pushContext:!0},...D.map(e=>({...e,parser:s})),...S,...h];class C{parseEntity(e,r){let a={};return n(A)(r,e,a),a}}eT="DIMENSION",(eg="ForEntityName")in C?Object.defineProperty(C,eg,{value:eT,enumerable:!0,configurable:!0,writable:!0}):C[eg]=eT;const _=[{code:73},{code:17,name:"leaderEnd",parser:i},{code:16,name:"leaderStart",parser:i},{code:71,name:"hasLeader",parser:c},{code:41,name:"endAngle",parser:s},{code:40,name:"startAngle",parser:s},{code:70,name:"isPartial",parser:c},{code:15,name:"centerPoint",parser:i},{code:14,name:"xline2Point",parser:i},{code:13,name:"xline1Point",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...D.map(e=>({...e,parser:s})),...S,...h];class M{parseEntity(e,r){let a={};return n(_)(r,e,a),a}}function v(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ey="ARC_DIMENSION",(eD="ForEntityName")in M?Object.defineProperty(M,eD,{value:ey,enumerable:!0,configurable:!0,writable:!0}):M[eD]=ey,exports.AttributeFlag=void 0,(eb=exports.AttributeFlag||(exports.AttributeFlag={}))[eb.NONE=0]="NONE",eb[eb.INVISIBLE=1]="INVISIBLE",eb[eb.CONSTANT=2]="CONSTANT",eb[eb.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",eb[eb.PRESET=8]="PRESET",exports.AttDefMTextFlag=void 0,(eS=exports.AttDefMTextFlag||(exports.AttDefMTextFlag={}))[eS.MULTILINE=2]="MULTILINE",eS[eS.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",exports.TextGenerationFlag=void 0,(eO=exports.TextGenerationFlag||(exports.TextGenerationFlag={}))[eO.NONE=0]="NONE",eO[eO.MIRRORED_X=2]="MIRRORED_X",eO[eO.MIRRORED_Y=4]="MIRRORED_Y",exports.TextHorizontalAlign=void 0,(eP=exports.TextHorizontalAlign||(exports.TextHorizontalAlign={}))[eP.LEFT=0]="LEFT",eP[eP.CENTER=1]="CENTER",eP[eP.RIGHT=2]="RIGHT",eP[eP.ALIGNED=3]="ALIGNED",eP[eP.MIDDLE=4]="MIDDLE",eP[eP.FIT=5]="FIT",exports.TextVerticalAlign=void 0,(eL=exports.TextVerticalAlign||(exports.TextVerticalAlign={}))[eL.BASELINE=0]="BASELINE",eL[eL.BOTTOM=1]="BOTTOM",eL[eL.MIDDLE=2]="MIDDLE",eL[eL.TOP=3]="TOP";const F={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:exports.TextHorizontalAlign.LEFT,valign:exports.TextVerticalAlign.BASELINE,extrusionDirection:{x:0,y:0,z:1}},R=[{code:73,name:"valign",parser:s},{code:100},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:72,name:"valign",parser:s},{code:72,name:"halign",parser:s},{code:71,name:"generationFlag",parser:s},{code:7,name:"styleName",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"xScale",parser:s},{code:50,name:"rotation",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class V{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){v(this,"parser",n(R,F))}}function w(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}v(V,"ForEntityName","TEXT");const k={...F},B=[{code:2},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedRecord",parser:c},{code:100},{code:280,name:"isLocked",parser:c},{code:74,name:"valign",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:3,name:"prompt",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},...R.slice(2)];class H{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){w(this,"parser",n(B,k))}}function G(e,r){let a={};for(let t of e){let e=r(t);null!=e&&(a[e]??(a[e]=[]),a[e].push(t))}return a}function*U(e,r=1/0,a=1){for(let t=e;t!==r;t+=a)yield t}w(H,"ForEntityName","ATTDEF"),exports.MTextDrawingDirection=void 0,(eN=exports.MTextDrawingDirection||(exports.MTextDrawingDirection={}))[eN.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",eN[eN.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",eN[eN.BY_STYLE=5]="BY_STYLE";var W,j,Y,X,z,K,Z,J,$,q,Q,ee,er,ea,et,en,eo,es,ei,ec,ed,ep,el,eu,em,eE,eh,ex,eI,ef,eg,eT,eD,ey,eb,eS,eO,eP,eL,eN,eA,eC,e_,eM,ev,eF,eR,eV,ew,ek,eB,eH,eG,eU,eW,ej,eY,eX,ez,eK,eZ,eJ,e$,eq,eQ=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];function e0(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const e1={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},e4=[{code:46,name:"annotationHeight",parser:s},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:s},{code:49,name:"columnGutter",parser:s},{code:48,name:"columnWidth",parser:s},{code:79,name:"columnAutoHeight",parser:s},{code:78,name:"columnFlowReversed",parser:s},{code:76,name:"columnCount",parser:s},{code:75,name:"columnType",parser:s},{code:441,name:"backgroundFillTransparency",parser:s},{code:63,name:"backgroundFillColor",parser:s},{code:45,name:"fillBoxScale",parser:s},{code:[...U(430,440)],name:"backgroundColor",parser:s},{code:[...U(420,430)],name:"backgroundColor",parser:s},{code:90,name:"backgroundFill",parser:s},{code:44,name:"lineSpacing",parser:s},{code:73,name:"lineSpacingStyle",parser:s},{code:50,name:"rotation",parser:s},{code:43},{code:42},{code:11,name:"direction",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:7,name:"styleName",parser:s},...x("text"),{code:72,name:"drawingDirection",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:41,name:"width",parser:s},{code:40,name:"height",parser:s},{code:10,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class e2{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e0(this,"parser",n(e4,e1))}}function e3(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e0(e2,"ForEntityName","MTEXT");const e7={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},e5=[...e4.slice(e4.findIndex(({name:e})=>"columnType"===e),e4.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!r(e,0,"MTEXT"))return t}},{code:2,name:"definitionTag",parser:s},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardId",parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedEntriesKeep",parser:c},{code:100},{code:280,name:"lockPositionFlag",parser:c},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"alignmentPoint",parser:i},{code:74,name:"verticalJustification",parser:s},{code:72,name:"horizontalJustification",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:7,name:"textStyle",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"scale",parser:s},{code:50,name:"rotation",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100},...h];class e6{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e3(this,"parser",n(e5,e7))}}function e9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e3(e6,"ForEntityName","ATTRIB");const e8=[...x("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class re{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e9(this,"parser",n(e8))}}function rr(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e9(re,"ForEntityName","BODY");const ra={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rt=[{code:210,name:"extrusionDirection",parser:i},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rn{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rr(this,"parser",n(rt,ra))}}function ro(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rr(rn,"ForEntityName","CIRCLE");const rs={extrusionDirection:{x:0,y:0,z:1}},ri=[{code:42,name:"endAngle",parser:s},{code:41,name:"startAngle",parser:s},{code:40,name:"axisRatio",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"majorAxisEndPoint",parser:i},{code:10,name:"center",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class rc{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ro(this,"parser",n(ri,rs))}}function rd(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ro(rc,"ForEntityName","ELLIPSE"),exports.FaceEdgeInvisibility=void 0,(eA=exports.FaceEdgeInvisibility||(exports.FaceEdgeInvisibility={}))[eA.First=1]="First",eA[eA.Second=2]="Second",eA[eA.Third=4]="Third",eA[eA.Fourth=8]="Fourth";const rp=[{code:13,name:"vertices.3",parser:i},{code:12,name:"vertices.2",parser:i},{code:11,name:"vertices.1",parser:i},{code:10,name:"vertices.0",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class rl{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rd(this,"parser",n(rp))}}rd(rl,"ForEntityName","3DFACE");const ru=[{code:330,name:"sourceBoundaryObjects",parser:s,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:s}],rm=[{code:11,name:"end",parser:i},{code:10,name:"start",parser:i}],rE=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i}],rh=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"lengthOfMinorAxis",parser:s},{code:11,name:"end",parser:i},{code:10,name:"center",parser:i}],rx=[{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:11,name:"fitDatum",isMultiple:!0,parser:i},{code:97,name:"numberOfFitData",parser:s},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let t={...a(r),weight:1};return 42===(e=r.next()).code?t.weight=e.value:r.rewind(),t}},{code:40,name:"knots",isMultiple:!0,parser:s},{code:96,name:"numberOfControlPoints",parser:s},{code:95,name:"numberOfKnots",parser:s},{code:74,name:"isPeriodic",parser:c},{code:73,name:"splineFlag",parser:s},{code:94,name:"degree",parser:s}],rI={[exports.BoundaryPathEdgeType.Line]:rm,[exports.BoundaryPathEdgeType.Circular]:rE,[exports.BoundaryPathEdgeType.Elliptic]:rh,[exports.BoundaryPathEdgeType.Spline]:rx},rf=[...ru,{code:72,name:"edges",parser(e,r){let a={type:e.value},t=n(rI[a.type]);if(!t)throw Error(`Invalid edge type ${a.type}`);return t(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:s}],rg=[...ru,{code:10,name:"vertices",parser(e,r){let t={...a(r),bulge:0};return 42===(e=r.next()).code?t.bulge=e.value:r.rewind(),t},isMultiple:!0},{code:93,name:"numberOfVertices",parser:s},{code:73,name:"isClosed",parser:c},{code:72,name:"hasBulge",parser:c}],rT=[{code:49,name:"dashLengths",parser:s,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:s},{code:45,name:"offset",parser:rD},{code:43,name:"base",parser:rD},{code:53,name:"angle",parser:s}];function rD(e,r){let a=e.code+1,t={x:e.value,y:1};return(e=r.next()).code===a?t.y=e.value:r.rewind(),t}function ry(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const rb={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},rS=[{code:470},{code:463},{code:462,name:"colorTint",parser:s},{code:461,name:"gradientDefinition",parser:s},{code:460,name:"gradientRotation",parser:s},{code:453,name:"numberOfColors",parser:s},{code:452,name:"gradientColorFlag",parser:s},{code:451},{code:450,name:"gradientFlag",parser:s},{code:10,name:"seedPoints",parser:i,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:i},{code:98,name:"numberOfSeedPoints",parser:s},{code:47,name:"pixelSize",parser:s},{code:53,name:"definitionLines",parser:function(e,r){let a={};return n(rT)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:s},{code:77,name:"isDouble",parser:c},{code:73,name:"isAnnotated",parser:c},{code:41,name:"patternScale",parser:s},{code:52,name:"patternAngle",parser:s},{code:76,name:"patternType",parser:s},{code:75,name:"hatchStyle",parser:s},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},t=a.boundaryPathTypeFlag&exports.BoundaryPathTypeFlag.Polyline;return(e=r.next(),t)?n(rg)(e,r,a):n(rf)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:s},{code:71,name:"associativity",parser:s},{code:63,name:"patternFillColor",parser:s},{code:70,name:"solidFill",parser:s},{code:2,name:"patternName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"elevationPoint",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...h];class rO{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ry(this,"parser",n(rS,rb))}}function rP(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ry(rO,"ForEntityName","HATCH"),exports.ImageFlags=void 0,(eC=exports.ImageFlags||(exports.ImageFlags={}))[eC.ShowImage=1]="ShowImage",eC[eC.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",eC[eC.UseClippingBoundary=4]="UseClippingBoundary",eC[eC.TransparencyIsOn=8]="TransparencyIsOn",exports.ImageClippingBoundaryType=void 0,(e_=exports.ImageClippingBoundaryType||(exports.ImageClippingBoundaryType={}))[e_.Rectangular=1]="Rectangular",e_[e_.Polygonal=2]="Polygonal",exports.ImageClipMode=void 0,(eM=exports.ImageClipMode||(exports.ImageClipMode={}))[eM.Outside=0]="Outside",eM[eM.Inside=1]="Inside";const rL={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},rN=[{code:290,name:"clipMode",parser:s},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:i},{code:91,name:"countBoundaryPoints",parser:s},{code:71,name:"clippingBoundaryType",parser:s},{code:360,name:"imageDefReactorHandle",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipped",parser:c},{code:70,name:"flags",parser:s},{code:340,name:"imageDefHandle",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vPixel",parser:i},{code:11,name:"uPixel",parser:i},{code:10,name:"position",parser:i},{code:90,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rA{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rP(this,"parser",n(rN,rL))}}function rC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rP(rA,"ForEntityName","IMAGE");const r_={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},rM=[{code:210,name:"extrusionDirection",parser:i},{code:45,name:"rowSpacing",parser:s},{code:44,name:"columnSpacing",parser:s},{code:71,name:"rowCount",parser:s},{code:70,name:"columnCount",parser:s},{code:50,name:"rotation",parser:s},{code:43,name:"zScale",parser:s},{code:42,name:"yScale",parser:s},{code:41,name:"xScale",parser:s},{code:10,name:"insertionPoint",parser:i},{code:2,name:"name",parser:s},{code:66,name:"isVariableAttributes",parser:c},{code:100,name:"subclassMarker",parser:s},...h];class rv{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rC(this,"parser",n(rM,r_))}}function rF(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rC(rv,"ForEntityName","INSERT");const rR={isArrowheadEnabled:!0},rV=[{code:213,name:"offsetFromAnnotation",parser:i},{code:212,name:"offsetFromBlock",parser:i},{code:211,name:"horizontalDirection",parser:i},{code:210,name:"normal",parser:i},{code:340,name:"associatedAnnotation",parser:s},{code:77,name:"byBlockColor",parser:s},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:76,name:"numberOfVertices",parser:s},{code:41,name:"textWidth",parser:s},{code:40,name:"textHeight",parser:s},{code:75,name:"isHooklineExists",parser:c},{code:74,name:"isHooklineSameDirection",parser:c},{code:73,name:"leaderCreationFlag",parser:s},{code:72,name:"isSpline",parser:c},{code:71,name:"isArrowheadEnabled",parser:c},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rw{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rF(this,"parser",n(rV,rR))}}function rk(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rF(rw,"ForEntityName","LEADER"),exports.LeaderCreationFlag=void 0,(ev=exports.LeaderCreationFlag||(exports.LeaderCreationFlag={}))[ev.TextAnnotation=0]="TextAnnotation",ev[ev.ToleranceAnnotation=1]="ToleranceAnnotation",ev[ev.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",ev[ev.NoAnnotation=3]="NoAnnotation";const rB={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rH=[{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rG{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rk(this,"parser",n(rH,rB))}}rk(rG,"ForEntityName","LINE"),exports.LWPolylineFlag=void 0,(eF=exports.LWPolylineFlag||(exports.LWPolylineFlag={}))[eF.IS_CLOSED=1]="IS_CLOSED",eF[eF.PLINE_GEN=128]="PLINE_GEN";const rU={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rW={bulge:0},rj=[{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:91,name:"id",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s}],rY=[{code:210,name:"extrusionDirection",parser:i},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return n(rj,rW)(e,r,a),a}},{code:39,name:"thickness",parser:s},{code:38,name:"elevation",parser:s},{code:43,name:"constantWidth",parser:s},{code:70,name:"flag",parser:s},{code:90,name:"numberOfVertices",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rX{parseEntity(e,r){let a={};return n(rY,rU)(r,e,a),a}}function rz(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eV="LWPOLYLINE",(eR="ForEntityName")in rX?Object.defineProperty(rX,eR,{value:eV,enumerable:!0,configurable:!0,writable:!0}):rX[eR]=eV;const rK=[{code:90,name:"overridenSubEntityCount",parser:s},{code:140,name:"edgeCreaseWeights",parser:s,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:s},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let t=0;t<a.edgeCount;++t){let t=[];e=r.next(),t[0]=e.value,e=r.next(),t[1]=e.value,a.edgeIndices.push(t)}}},{code:93,parser(e,a,t){t.totalFaceIndices=e.value,t.faceIndices=[];let n=[];for(let o=0;o<t.totalFaceIndices&&!r(e,0);++o)e=a.next(),n.push(e.value);let o=0;for(;o<n.length;){let e=n[o++],r=[];for(let a=0;a<e;++a)r.push(n[o++]);t.faceIndices.push(r)}}},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:92,name:"verticesCount",parser:s},{code:91,name:"subdivisionLevel",parser:s},{code:40,name:"blendCrease",parser:s},{code:72,name:"isBlendCreased",parser:c},{code:71,name:"version",parser:s},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...h];class rZ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rz(this,"parser",n(rK))}}function rJ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rz(rZ,"ForEntityName","MESH"),exports.MLineJustification=void 0,(ew=exports.MLineJustification||(exports.MLineJustification={}))[ew.Top=0]="Top",ew[ew.Zero=1]="Zero",ew[ew.Bottom=2]="Bottom",exports.MLineFlags=void 0,(ek=exports.MLineFlags||(exports.MLineFlags={}))[ek.HasVertex=1]="HasVertex",ek[ek.Closed=2]="Closed",ek[ek.SuppressStartCaps=4]="SuppressStartCaps",ek[ek.SuppressEndCaps=8]="SuppressEndCaps";const r$=[{code:42,name:"fillParameters",parser:s,isMultiple:!0},{code:75,name:"fillCount",parser:s},{code:41,name:"parameters",parser:s,isMultiple:!0},{code:74,name:"parameterCount",parser:s}],rq=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=n(r$),t={};return a(e,r,t),t},isMultiple:!0},{code:13,name:"miterDirection",parser:i},{code:12,name:"direction",parser:i},{code:11,name:"position",parser:i}],rQ=[{code:[11,12,13],name:"segments",parser(e,r){let a=n(rq),t={};return a(e,r,t),t},isMultiple:!0},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"startPosition",parser:i},{code:73,name:"styleCount",parser:s},{code:72,name:"vertexCount",parser:s},{code:71,name:"flags",parser:s},{code:70,name:"justification",parser:s},{code:40,name:"scale",parser:s},{code:340,name:"styleObjectHandle",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...h];class r0{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rJ(this,"parser",n(rQ))}}function r1(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rJ(r0,"ForEntityName","MLINE");const r4={},r2=[{code:170,name:"multileaderType",parser:s},{code:291,name:"doglegEnabled",parser:c},{code:40,name:"doglegLength",parser:s},{code:172,name:"contentType",parser:s},{code:3,name:"textContent",parser:s},{code:12,name:"textAnchor",parser:i},{code:344,name:"blockHandle",parser:s},{code:15,name:"blockPosition",parser:i},{code:302,name:"leaderSections",parser:function(e,r,t){let n;let o={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:o.landingPoint=(n.value,a(r));break;case 11:o.doglegVector=(n.value,a(r));break;case 40:o.doglegLength=n.value;break;case 304:o.leaderLines.push(function(e,r,t){let n;let o={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&o.vertices.push((n.value,a(r)));return o}(0,r))}}return o},isMultiple:!0},...h];class r3{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r1(this,"parser",n(r2,r4))}}function r7(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r1(r3,"ForEntityName","MULTILEADER");const r5={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},r6=[{code:50,name:"angle",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class r9{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r7(this,"parser",n(r6,r5))}}function r8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r7(r9,"ForEntityName","POINT"),exports.PolylineFlag=void 0,(eB=exports.PolylineFlag||(exports.PolylineFlag={}))[eB.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",eB[eB.CURVE_FIT=2]="CURVE_FIT",eB[eB.SPLINE_FIT=4]="SPLINE_FIT",eB[eB.POLYLINE_3D=8]="POLYLINE_3D",eB[eB.POLYGON_3D=16]="POLYGON_3D",eB[eB.CLOSED_POLYGON=32]="CLOSED_POLYGON",eB[eB.POLYFACE=64]="POLYFACE",eB[eB.CONTINUOUS=128]="CONTINUOUS",exports.SmoothType=void 0,(eH=exports.SmoothType||(exports.SmoothType={}))[eH.NONE=0]="NONE",eH[eH.QUADRATIC=5]="QUADRATIC",eH[eH.CUBIC=6]="CUBIC",eH[eH.BEZIER=8]="BEZIER",exports.VertexFlag=void 0,(eG=exports.VertexFlag||(exports.VertexFlag={}))[eG.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",eG[eG.TANGENT_DEFINED=2]="TANGENT_DEFINED",eG[eG.NOT_USED=4]="NOT_USED",eG[eG.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",eG[eG.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",eG[eG.FOR_POLYLINE=32]="FOR_POLYLINE",eG[eG.FOR_POLYGON=64]="FOR_POLYGON",eG[eG.POLYFACE=128]="POLYFACE";const ae={startWidth:0,endWidth:0,bulge:0},ar=[{code:91,name:"id",parser:s},{code:[...U(71,75)],name:"faces",isMultiple:!0,parser:s},{code:50,name:"tangentDirection",parser:s},{code:70,name:"flag",parser:s},{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:30,name:"z",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...h];class aa{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r8(this,"parser",n(ar,ae))}}function at(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r8(aa,"ForEntityName","VERTEX");const an={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},ao=[{code:0,name:"vertices",isMultiple:!0,parser:(e,a)=>r(e,0,"VERTEX")?(e=a.next(),new aa().parseEntity(a,e)):t},{code:210,name:"extrusionDirection",parser:i},{code:75,name:"smoothType",parser:s},{code:74,name:"surfaceNDensity",parser:s},{code:73,name:"surfaceMDensity",parser:s},{code:72,name:"meshNVertexCount",parser:s},{code:71,name:"meshMVertexCount",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:70,name:"flag",parser:s},{code:39,name:"thickness",parser:s},{code:30,name:"elevation",parser:s},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:s},...h];class as{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){at(this,"parser",n(ao,an))}}function ai(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}at(as,"ForEntityName","POLYLINE");const ac=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class ad{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ai(this,"parser",n(ac))}}function ap(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ai(ad,"ForEntityName","RAY");const al=[...x("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class au{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ap(this,"parser",n(al))}}function am(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ap(au,"ForEntityName","REGION");const aE={vertices:[],backLineVertices:[]},ah=[{code:360,name:"geometrySettingHardId",parser:s},{code:12,name:"backLineVertices",isMultiple:!0,parser:i},{code:93,name:"numberOfBackLineVertices",parser:s},{code:11,name:"vertices",isMultiple:!0,parser:i},{code:92,name:"verticesCount",parser:s},{code:[63,411],name:"indicatorColor",parser:s},{code:70,name:"indicatorTransparency",parser:s},{code:41,name:"bottomHeight",parser:s},{code:40,name:"topHeight",parser:s},{code:10,name:"verticalDirection",parser:i},{code:1,name:"name",parser:s},{code:91,name:"flag",parser:s},{code:90,name:"state",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class ax{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){am(this,"parser",n(ah,aE))}}function aI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}am(ax,"ForEntityName","SECTION");const af={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},ag=[{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:[...U(10,14)],name:"points",isMultiple:!0,parser:i},{code:100,name:"subclassMarker",parser:s},...h];class aT{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aI(this,"parser",n(ag,af))}}function aD(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aI(aT,"ForEntityName","SOLID");const ay=[{code:350,name:"historyObjectSoftId",parser:s},{code:100,name:"subclassMarker",parser:s},...x("data"),{code:70,name:"version",parser:s},{code:100},...h];class ab{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aD(this,"parser",n(ay))}}function aS(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aD(ab,"ForEntityName","3DSOLID"),exports.SplineFlag=void 0,(eU=exports.SplineFlag||(exports.SplineFlag={}))[eU.NONE=0]="NONE",eU[eU.CLOSED=1]="CLOSED",eU[eU.PERIODIC=2]="PERIODIC",eU[eU.RATIONAL=4]="RATIONAL",eU[eU.PLANAR=8]="PLANAR",eU[eU.LINEAR=16]="LINEAR";const aO={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},aP=[{code:11,name:"fitPoints",isMultiple:!0,parser:i},{code:10,name:"controlPoints",isMultiple:!0,parser:i},{code:41,name:"weights",isMultiple:!0,parser:s},{code:40,name:"knots",isMultiple:!0,parser:s},{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:44,name:"fitTolerance",parser:s},{code:43,name:"controlTolerance",parser:s},{code:42,name:"knotTolerance",parser:s},{code:74,name:"numberOfFitPoints",parser:s},{code:73,name:"numberOfControlPoints",parser:s},{code:72,name:"numberOfKnots",parser:s},{code:71,name:"degree",parser:s},{code:70,name:"flag",parser:s},{code:210,name:"normal",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class aL{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aS(this,"parser",n(aP,aO))}}function aN(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aS(aL,"ForEntityName","SPLINE");const aA=[{code:11,name:"xAxisDirection",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:1,name:"text",parser:s},{code:10,name:"position",parser:i},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class aC{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aN(this,"parser",n(aA))}}aN(aC,"ForEntityName","TOLERANCE");const a_=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:s},{code:361,name:"sunId",parser:s},{code:431,name:"ambientLightColorName",parser:s},{code:421,name:"ambientLightColorInstance",parser:s},{code:63,name:"ambientLightColorIndex",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLighting",parser:c},{code:348,name:"visualStyleId",parser:s},{code:333,name:"shadePlotId",parser:s},{code:332,name:"backgroundId",parser:s},{code:61,name:"majorGridFrequency",parser:s},{code:170,name:"shadePlotMode",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:346,name:"ucsBaseId",parser:s},{code:345,name:"ucsId",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"iconFlag",parser:s},{code:71,name:"ucsPerViewport",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"sheetName",parser:s},{code:340,name:"clippingBoundaryId",parser:s},{code:90,name:"statusBitFlags",parser:s},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:s},{code:72,name:"circleZoomPercent",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClipZ",parser:s},{code:43,name:"frontClipZ",parser:s},{code:42,name:"perspectiveLensLength",parser:s},{code:17,name:"targetPoint",parser:i},{code:16,name:"viewDirection",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBase",parser:i},{code:12,name:"displayCenter",parser:i},{code:69,name:"viewportId",parser:s},{code:68,name:"status",parser:s},{code:41,name:"height",parser:s},{code:40,name:"width",parser:s},{code:10,name:"viewportCenter",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...h];class aM{parseEntity(e,r){let a={};return n(a_)(r,e,a),a}}function av(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ej="VIEWPORT",(eW="ForEntityName")in aM?Object.defineProperty(aM,eW,{value:ej,enumerable:!0,configurable:!0,writable:!0}):aM[eW]=ej,exports.ImageDisplayFlag=void 0,(eY=exports.ImageDisplayFlag||(exports.ImageDisplayFlag={}))[eY.ShowImage=1]="ShowImage",eY[eY.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",eY[eY.UseClippingBoundary=4]="UseClippingBoundary",eY[eY.Transparency=8]="Transparency";const aF={brightness:50,constrast:50,fade:0},aR=[{code:14,name:"boundary",isMultiple:!0,parser:i},{code:91,name:"numberOfVertices",parser:s},{code:71,name:"boundaryType",parser:s},{code:360,name:"imageDefReactorHardId",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipping",parser:c},{code:70,name:"displayFlag",parser:s},{code:340,name:"imageDefHardId",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vDirection",parser:i},{code:11,name:"uDirection",parser:i},{code:10,name:"position",parser:i},{code:90,name:"classVersion",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class aV{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){av(this,"parser",n(aR,aF))}}function aw(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}av(aV,"ForEntityName","WIPEOUT");const ak=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class aB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aw(this,"parser",n(ak))}}aw(aB,"ForEntityName","XLINE");const aH=Object.fromEntries([T,M,H,e6,re,rn,C,rc,rl,rA,rv,rw,rG,rX,rZ,r0,e2,r3,r9,as,ad,au,ax,aT,ab,aL,V,aC,rO,aa,aM,aV,aB].map(e=>[e.ForEntityName,new e]));function aG(e,a){let t=[];for(;!r(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){a.rewind();break}let r=aH[e.value];if(r){let n=e.value;e=a.next();let o=r.parseEntity(a,e);o.type=n,E(o),t.push(o)}else a.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=a.next()}return t}function aU(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"BLOCK")){let r=aW(e=a.next(),a);E(r),r.name&&(t[r.name]=r)}e=a.next()}return t}function aW(e,t){let n={};for(;!r(e,0,"EOF");){if(r(e,0,"ENDBLK")){for(e=t.next();!r(e,0,"EOF");){if(r(e,100,"AcDbBlockEnd"))return n;e=t.next()}break}switch(e.code){case 1:n.xrefPath=e.value;break;case 2:n.name=e.value;break;case 3:n.name2=e.value;break;case 5:n.handle=e.value;break;case 8:n.layer=e.value;break;case 10:n.position=a(t);break;case 67:n.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(n.type=e.value);break;case 100:break;case 330:n.ownerHandle=e.value;break;case 0:n.entities=aG(e,t)}e=t.next()}return n}function aj(e,t){let n=null,o={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");)9===e.code?n=e.value:10===e.code?o[n]=a(t):o[n]=e.value,e=t.next();return o}exports.RecordCloneFlag=void 0,(eX=exports.RecordCloneFlag||(exports.RecordCloneFlag={}))[eX.NOT_APPLICABLE=0]="NOT_APPLICABLE",eX[eX.KEEP_EXISTING=1]="KEEP_EXISTING",eX[eX.USE_CLONE=2]="USE_CLONE",eX[eX.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",eX[eX.VALUE_NAME=4]="VALUE_NAME",eX[eX.UNMANGLE_NAME=5]="UNMANGLE_NAME";const aY=[{code:330,name:"ownerObjectId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}],aX=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:s},{code:280,name:"isHardOwned",parser:c},{code:100,name:"subclassMarker",parser:s},...aY];exports.LayoutControlFlag=void 0,(ez=exports.LayoutControlFlag||(exports.LayoutControlFlag={}))[ez.PSLTSCALE=1]="PSLTSCALE",ez[ez.LIMCHECK=2]="LIMCHECK",exports.PlotPaperUnit=void 0,(eK=exports.PlotPaperUnit||(exports.PlotPaperUnit={}))[eK.INCHES=0]="INCHES",eK[eK.MILLIMETERS=1]="MILLIMETERS",eK[eK.PIXELS=2]="PIXELS",exports.PlotType=void 0,(eZ=exports.PlotType||(exports.PlotType={}))[eZ.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",eZ[eZ.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",eZ[eZ.DRAWING_LIMITS=2]="DRAWING_LIMITS",eZ[eZ.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",eZ[eZ.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",eZ[eZ.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",exports.ShadePlotMode=void 0,(eJ=exports.ShadePlotMode||(exports.ShadePlotMode={}))[eJ.AS_DISPLAYED=0]="AS_DISPLAYED",eJ[eJ.WIREFRAME=1]="WIREFRAME",eJ[eJ.HIDDEN=2]="HIDDEN",eJ[eJ.RENDERED=3]="RENDERED",exports.ShadePlotResolution=void 0,(e$=exports.ShadePlotResolution||(exports.ShadePlotResolution={}))[e$.DRAFT=0]="DRAFT",e$[e$.PREVIEW=1]="PREVIEW",e$[e$.NORMAL=2]="NORMAL",e$[e$.PRESENTATION=3]="PRESENTATION",e$[e$.MAXIMUM=4]="MAXIMUM",e$[e$.CUSTOM=5]="CUSTOM";const az=[{code:333,name:"shadePlotId",parser:s},{code:149,name:"imageOriginY",parser:s},{code:148,name:"imageOriginX",parser:s},{code:147,name:"scaleFactor",parser:s},{code:78,name:"shadePlotCustomDPI",parser:s},{code:77,name:"shadePlotResolution",parser:s},{code:76,name:"shadePlotMode",parser:s},{code:75,name:"standardScaleType",parser:s},{code:7,name:"currentStyleSheet",parser:s},{code:74,name:"plotType",parser:s},{code:73,name:"plotRotation",parser:s},{code:72,name:"plotPaperUnit",parser:s},{code:70,name:"layoutFlag",parser:s},{code:143,name:"printScaleDenominator",parser:s},{code:142,name:"printScaleNumerator",parser:s},{code:141,name:"windowAreaYMax",parser:s},{code:140,name:"windowAreaXMax",parser:s},{code:49,name:"windowAreaYMin",parser:s},{code:48,name:"windowAreaXMin",parser:s},{code:47,name:"plotOriginY",parser:s},{code:46,name:"plotOriginX",parser:s},{code:45,name:"paperHeight",parser:s},{code:44,name:"paperWidth",parser:s},{code:43,name:"marginTop",parser:s},{code:42,name:"marginRight",parser:s},{code:41,name:"marginBottom",parser:s},{code:40,name:"marginLeft",parser:s},{code:6,name:"plotViewName",parser:s},{code:4,name:"paperSize",parser:s},{code:2,name:"configName",parser:s},{code:1,name:"pageSetupName",parser:s},{code:100,name:"subclassMarker",parser:s},...aY],aK=[{code:346,name:"orthographicUcsId",parser:s},{code:345,name:"namedUcsId",parser:s},{code:331,name:"viewportId",parser:s},{code:330,name:"paperSpaceTableId",parser:s},{code:76,name:"orthographicType",parser:s},{code:17,name:"ucsYAxis",parser:i},{code:16,name:"ucsXAxis",parser:i},{code:13,name:"ucsOrigin",parser:i},{code:146,name:"elevation",parser:s},{code:15,name:"maxExtent",parser:i},{code:14,name:"minExtent",parser:i},{code:12,name:"insertionPoint",parser:i},{code:11,name:"maxLimit",parser:i},{code:10,name:"minLimit",parser:i},{code:71,name:"tabOrder",parser:s},{code:70,name:"controlFlag",parser:s},{code:1,name:"layoutName",parser:s},{code:100,name:"subclassMarker",parser:s},...az],aZ=[{code:40,name:"wcsToOCSTransform",parser:aJ},{code:40,name:"ocsToWCSTransform",parser:aJ},{code:41,name:"backClippingDistance",parser:s},{code:73,name:"isBackClipping",parser:c,pushContext:!0},{code:40,name:"frontClippingDistance",parser:s},{code:72,name:"isFrontClipping",parser:c,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:c},{code:11,name:"position",parser:i},{code:210,name:"normal",parser:i},{code:10,name:"boundaryVertices",parser:i,isMultiple:!0},{code:70,name:"boundaryCount",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...aY];function aJ(e,a){let t=[];for(let n=0;n<3&&r(e,40);++n){let n=[];for(let t=0;t<4&&r(e,40);++t)n.push(e.value),e=a.next();t.push(n)}return a.rewind(),t}const a$=[{code:280,name:"cloneFlag",parser(e,r,a){var t;let n=e.value;for(e=r.next(),a.data=[];1<=(t=e.code)&&t<=369&&5!==t&&105!==t;)a.data.push(e),e=r.next();return r.rewind(),n}},{code:100,name:"subclassMarker",parser:s},...aY],aq={LAYOUT:aK,PLOTSETTINGS:az,DICTIONARY:aX,SPATIAL_FILTER:aZ};function aQ(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,o=aq[t];if(0===e.code&&o?.length){let s=n(o),i={name:t};s(e=r.next(),r,i)?(a.push(i),e=r.peek()):e=r.next()}else e=r.next()}return{byName:G(a,({name:e})=>e)}}const a0=n([{code:310,name:"bmpPreview",parser:s},{code:281,name:"scalability",parser:s},{code:280,name:"explodability",parser:s},{code:70,name:"insertionUnits",parser:s},{code:340,name:"layoutObjects",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a1=n([{code:347,name:"materialObjectId",parser:s},{code:390,name:"plotStyleNameObjectId",parser:s},{code:370,name:"lineweight",parser:s},{code:290,name:"isPlotting",parser:c},{code:6,name:"lineType",parser:s},{code:62,name:"colorIndex",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]);exports.LineTypeElementType=void 0,(eq=exports.LineTypeElementType||(exports.LineTypeElementType={}))[eq.NONE=0]="NONE",eq[eq.AbsoluteRotation=1]="AbsoluteRotation",eq[eq.TextEmbedded=2]="TextEmbedded",eq[eq.ShapeEmbedded=4]="ShapeEmbedded";const a4=n([{code:9,name:"text",parser:s},{code:45,name:"offsetY",parser:s},{code:44,name:"offsetX",parser:s},{code:50,name:"rotation",parser:s},{code:46,name:"scale",parser:s},{code:340,name:"styleObjectId",parser:s},{code:75,name:"shapeNumber",parser:s},{code:74,name:"elementTypeFlag",parser:s},{code:49,name:"elementLength",parser:s}],{elementTypeFlag:0,elementLength:0}),a2=n([{code:49,name:"pattern",parser(e,r){let a={};return a4(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:s},{code:73,name:"numberOfLineTypes",parser:s},{code:72,parser:s},{code:3,name:"description",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a3=n([{code:1e3,name:"extendedFont",parser:s},{code:1001},{code:4,name:"bigFont",parser:s},{code:3,name:"font",parser:s},{code:42,name:"lastHeight",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:50,name:"obliqueAngle",parser:s},{code:41,name:"widthFactor",parser:s},{code:40,name:"fixedTextHeight",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a7=n([{code:[63,421,431],name:"ambientColor",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLightingOn",parser:c},{code:348,name:"visualStyleObjectId",parser:s},{code:333,name:"shadePlotObjectId",parser:s},{code:332,name:"backgroundObjectId",parser:s},{code:61,name:"majorGridLines",parser:s},{code:170,name:"shadePlotSetting",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"ucsIconSetting",parser:s},{code:71,name:"viewMode",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"styleSheet",parser:s},{code:[331,441],name:"frozenLayers",parser:s,isMultiple:!0},{code:72,name:"circleSides",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapRotationAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClippingPlane",parser:s},{code:43,name:"frontClippingPlane",parser:s},{code:42,name:"lensLength",parser:s},{code:17,name:"viewTarget",parser:i},{code:16,name:"viewDirectionFromTarget",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBasePoint",parser:i},{code:12,name:"center",parser:i},{code:11,name:"upperRightCorner",parser:i},{code:10,name:"lowerLeftCorner",parser:i},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a5={BLOCK_RECORD:a0,DIMSTYLE:b,LAYER:a1,LTYPE:a2,STYLE:a3,VPORT:a7},a6=n([{code:70,name:"maxNumberOfEntries",parser:s},{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:s},{code:2,name:"name",parser:s}]);function a9(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"TABLE")){e=a.next();let r={entries:[]};a6(e,a,r),t[r.name]=r}if(r(e,0)&&!r(e,0,"ENDTAB")){let r=e.value;e=a.next();let n=a5[r];if(!n){a.debug&&console.warn(`parseTable: Invalid table name '${r}'`),e=a.next();continue}let o={};n(e,a,o),t[r]?.entries.push(o)}e=a.next()}return t}function a8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class te{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),a=tr(e,this._data[this._pointer++],this.debug),t={code:e,value:a};return r(t,0,"EOF")&&(this._eof=!0),this.lastReadGroup=t,t}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=tr(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,r=!1){a8(this,"_data",void 0),a8(this,"debug",void 0),a8(this,"_pointer",void 0),a8(this,"_eof",void 0),a8(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function tr(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function ta(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tt{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){ta(this,"point",{}),ta(this,"startCode",0),ta(this,"code",0),ta(this,"value",0),ta(this,"x",void 0),ta(this,"y",void 0),ta(this,"z",void 0)}}function tn(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class to{constructor(){tn(this,"encoding","utf-8"),tn(this,"encodingFailureFatal",!1)}}class ts extends Error{constructor(e,r,a){let t=`[Line ${r}]: ${e}`;a?.cause&&(t+=`
2
2
  Caused by ${a.cause.toString()}
3
- ${a.cause.stack}`),super(t),a6(this,"line",void 0),this.line=r}}class tr extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let t=0;t<a;t+=65536){r?.throwIfAborted();let n=Math.min(a-t,65536),o=await e.slice(t,t+n);this.Feed(o,t+n>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),t=0;if(a>=0?(t=a+1)<r&&"\n"==this._curChunk.charAt(t)&&t++:(a=this._curChunk.indexOf("\n",e))>=0&&(t=a+1),a<0)break;yield this._curChunk.substring(e,a),e=t}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let a=new ta(this._curGroupCode,e);if(!r(a,0,"EOF")){switch(a.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}r(a,0,"EOF")&&(this._eof=!0),this._curValue=a,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new te(e,this._curLineNum,a)}constructor(e=new a8){super(),a6(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),a6(this,"_decoder",void 0),a6(this,"_pointParser",void 0),a6(this,"_finalChunkSeen",!1),a6(this,"_curChunk",""),a6(this,"_curGroupCode",null),a6(this,"_curLineNum",1),a6(this,"_eof",!1),a6(this,"_curValue",{code:0,value:0}),a6(this,"_curSection",""),a6(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new a9}}class ta{constructor(e,r){a6(this,"code",void 0),a6(this,"value",void 0),this.code=e,this.value=a7(e,r)}}function tt(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tn{constructor(){tt(this,"encoding","utf-8"),tt(this,"encodingFailureFatal",!1)}}class to extends EventTarget{parseSync(e,r=!1){let a=new a3(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((t,n)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),n=new a3(e);if(!n.hasNext())throw Error("Empty file");t(a.parseAll(n))}catch(e){n(e)}}),e.on("error",e=>{n(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let t=a.body.getReader(),n="";for(;;){let{done:e,value:r}=await t.read();if(e){n+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}n+=this._decoder.decode(r,{stream:!0})}return this.parseSync(n)}parseAll(e){let a={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},t=e.next();for(;!r(t,0,"EOF");)r(t,0,"SECTION")&&(r(t=e.next(),2,"HEADER")?(t=e.next(),a.header=ak(t,e)):r(t,2,"BLOCKS")?(t=e.next(),a.blocks=aV(t,e)):r(t,2,"ENTITIES")?(t=e.next(),a.entities=aR(t,e)):r(t,2,"TABLES")?(t=e.next(),a.tables=a4(t,e)):r(t,2,"OBJECTS")&&(t=e.next(),a.objects=az(t,e))),t=e.next();return a}constructor(e=new tn){super(),tt(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}exports.AlignedDimensionSnippets=e2,exports.AngularDimensionSnippets=e3,exports.ArcEntityParser=T,exports.AttDefEntityParser=N,exports.AttributeEntityParser=eX,exports.BodyEntityParser=eZ,exports.CircleEntityParser=eQ,exports.CommonEntitySnippets=E,exports.DefaultDxfHeaderVariables=e,exports.DefaultTextEntity=y,exports.DictionarySnippets=aH,exports.DimStyleVariablesSchema=e0,exports.DimensionParser=e6,exports.DimensionSnippets=e9,exports.DxfParsingError=te,exports.DxfStreamParser=tr,exports.DxfStreamParserOptions=a8,exports.EllipseEntityParser=ra,exports.FaceEntityParser=ro,exports.HatchEntityParser=rg,exports.INDEXED_CHUNK_SIZE=65536,exports.ImageEntityParser=rb,exports.InsertEntityParser=rL,exports.LWPolylineParser=rH,exports.LayoutSnippets=aU,exports.LeaderEntityParser=r_,exports.LineEntityParser=rR,exports.MLineDXFEntitySnippet=rz,exports.MLineElementParser=rY,exports.MLineEntityParser=rK,exports.MLineSegmentParser=rX,exports.MTextEntityParser=eU,exports.MTextEntityParserSnippets=eG,exports.MeshEntityParser=rW,exports.MultiLeaderEntityParser=rq,exports.OrdinateDimensionSnippets=e7,exports.PlotSettingsSnippets=aG,exports.PointEntityParser=r4,exports.PolylineParser=ae,exports.RadialDimensionSnippets=e5,exports.RayParser=at,exports.RegionEntityParser=as,exports.SPLINE_SUBDIVISION=4,exports.SectionEntityParser=ap,exports.Solid3DEntityParser=aI,exports.SolidEntityParser=ah,exports.SpatialFilterSnippets=aW,exports.SplineEntityParser=aD,exports.TESSELLATION_ANGLE=Math.PI/24,exports.TextEntityParser=O,exports.TextEntityParserSnippets=b,exports.ToleranceEntityParser=aO,exports.UndeterminedBlockColor=-1,exports.VertexParser=r5,exports.ViewportParser=aP,exports.WipeoutEntityParser=aC,exports.XDataParserSnippets=d,exports.XLineEntityParser=av,exports.XRecordDXFObjectSnippet=aY,exports.classify=A,exports.createLongStringSnippet=x,exports.createXDataCatcher=function({appName:e="ACAD",catcher:r,escaper:a}){return function*(t){if(t?.appName!==e)return;let n=!1,o=-1;for(let[e,s]of t.value.entries())if(n){if(yield s,a?.(s,e-o))return}else r(s)&&(n=!0,o=e)}},exports.createXDataControlInterpreter=function(e){return r=>{let a={};for(let t=0;t<r.length;t+=2){let n=e.find(({code:e})=>e===r[t].value);n&&(a[n.name]=r[t+1]?.value)}return a}},exports.default=to,exports.ensureHandle=h,exports.ensurePoint3D=function(e){return{x:e.x??0,y:e.y??0,z:e.z??0}},exports.generateIntegers=C,exports.getAcadColor=function(e){return ek[e]},exports.isMatched=r,exports.parseBlock=aw,exports.parseBlockRecordTable=aK,exports.parseBlocks=aV,exports.parseDimStyle=e4,exports.parseEntities=aR,exports.parseExtensions=u,exports.parseHeader=ak,exports.parseLTypeTable=a$,exports.parseLayerTable=aZ,exports.parseObjects=az,exports.parseStyleTable=aq,exports.parseTables=a4,exports.parseVPortTable=aQ,exports.parseXData=p;
3
+ ${a.cause.stack}`),super(t),tn(this,"line",void 0),this.line=r}}class ti extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let t=0;t<a;t+=65536){r?.throwIfAborted();let n=Math.min(a-t,65536),o=await e.slice(t,t+n);this.Feed(o,t+n>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),t=0;if(a>=0?(t=a+1)<r&&"\n"==this._curChunk.charAt(t)&&t++:(a=this._curChunk.indexOf("\n",e))>=0&&(t=a+1),a<0)break;yield this._curChunk.substring(e,a),e=t}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let a=new tc(this._curGroupCode,e);if(!r(a,0,"EOF")){switch(a.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}r(a,0,"EOF")&&(this._eof=!0),this._curValue=a,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new ts(e,this._curLineNum,a)}constructor(e=new to){super(),tn(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),tn(this,"_decoder",void 0),tn(this,"_pointParser",void 0),tn(this,"_finalChunkSeen",!1),tn(this,"_curChunk",""),tn(this,"_curGroupCode",null),tn(this,"_curLineNum",1),tn(this,"_eof",!1),tn(this,"_curValue",{code:0,value:0}),tn(this,"_curSection",""),tn(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new tt}}class tc{constructor(e,r){tn(this,"code",void 0),tn(this,"value",void 0),this.code=e,this.value=tr(e,r)}}function td(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tp{constructor(){td(this,"encoding","utf-8"),td(this,"encodingFailureFatal",!1)}}class tl extends EventTarget{parseSync(e,r=!1){let a=new te(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((t,n)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),n=new te(e);if(!n.hasNext())throw Error("Empty file");t(a.parseAll(n))}catch(e){n(e)}}),e.on("error",e=>{n(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let t=a.body.getReader(),n="";for(;;){let{done:e,value:r}=await t.read();if(e){n+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}n+=this._decoder.decode(r,{stream:!0})}return this.parseSync(n)}parseAll(e){let a={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},t=e.next();for(;!r(t,0,"EOF");)r(t,0,"SECTION")&&(r(t=e.next(),2,"HEADER")?(t=e.next(),a.header=aj(t,e)):r(t,2,"BLOCKS")?(t=e.next(),a.blocks=aU(t,e)):r(t,2,"ENTITIES")?(t=e.next(),a.entities=aG(t,e)):r(t,2,"TABLES")?(t=e.next(),a.tables=a9(t,e)):r(t,2,"OBJECTS")&&(t=e.next(),a.objects=aQ(t,e))),t=e.next();return a}constructor(e=new tp){super(),td(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}exports.AlignedDimensionSnippets=O,exports.AngularDimensionSnippets=P,exports.ArcDimensionEntitySnippet=_,exports.ArcDimensionParser=M,exports.ArcEntityParser=T,exports.AttDefEntityParser=H,exports.AttributeEntityParser=e6,exports.BodyEntityParser=re,exports.CircleEntityParser=rn,exports.CommonDimensionSnippets=S,exports.CommonEntitySnippets=h,exports.DefaultDxfHeaderVariables=e,exports.DefaultTextEntity=F,exports.DictionarySnippets=aX,exports.DimStyleVariablesSchema=D,exports.DimensionParser=C,exports.DimensionSnippets=A,exports.DxfParsingError=ts,exports.DxfStreamParser=ti,exports.DxfStreamParserOptions=to,exports.EllipseEntityParser=rc,exports.FaceEntityParser=rl,exports.HatchEntityParser=rO,exports.INDEXED_CHUNK_SIZE=65536,exports.ImageEntityParser=rA,exports.InsertEntityParser=rv,exports.LWPolylineParser=rX,exports.LayoutSnippets=aK,exports.LeaderEntityParser=rw,exports.LineEntityParser=rG,exports.MLineDXFEntitySnippet=rQ,exports.MLineElementParser=r$,exports.MLineEntityParser=r0,exports.MLineSegmentParser=rq,exports.MTextEntityParser=e2,exports.MTextEntityParserSnippets=e4,exports.MeshEntityParser=rZ,exports.MultiLeaderEntityParser=r3,exports.OrdinateDimensionSnippets=L,exports.PlotSettingsSnippets=az,exports.PointEntityParser=r9,exports.PolylineParser=as,exports.RadialDimensionSnippets=N,exports.RayParser=ad,exports.RegionEntityParser=au,exports.SPLINE_SUBDIVISION=4,exports.SectionEntityParser=ax,exports.Solid3DEntityParser=ab,exports.SolidEntityParser=aT,exports.SpatialFilterSnippets=aZ,exports.SplineEntityParser=aL,exports.TESSELLATION_ANGLE=Math.PI/24,exports.TextEntityParser=V,exports.TextEntityParserSnippets=R,exports.ToleranceEntityParser=aC,exports.UndeterminedBlockColor=-1,exports.VertexParser=aa,exports.ViewportParser=aM,exports.WipeoutEntityParser=aV,exports.XDataParserSnippets=d,exports.XLineEntityParser=aB,exports.XRecordDXFObjectSnippet=a$,exports.classify=G,exports.createLongStringSnippet=x,exports.createXDataCatcher=function({appName:e="ACAD",catcher:r,escaper:a}){return function*(t){if(t?.appName!==e)return;let n=!1,o=-1;for(let[e,s]of t.value.entries())if(n){if(yield s,a?.(s,e-o))return}else r(s)&&(n=!0,o=e)}},exports.createXDataControlInterpreter=function(e){return r=>{let a={};for(let t=0;t<r.length;t+=2){let n=e.find(({code:e})=>e===r[t].value);n&&(a[n.name]=r[t+1]?.value)}return a}},exports.default=tl,exports.ensureHandle=E,exports.ensurePoint3D=function(e){return{x:e.x??0,y:e.y??0,z:e.z??0}},exports.generateIntegers=U,exports.getAcadColor=function(e){return eQ[e]},exports.isMatched=r,exports.parseBlock=aW,exports.parseBlockRecordTable=a0,exports.parseBlocks=aU,exports.parseDimStyle=b,exports.parseEntities=aG,exports.parseExtensions=u,exports.parseHeader=aj,exports.parseLTypeTable=a2,exports.parseLayerTable=a1,exports.parseObjects=aQ,exports.parseStyleTable=a3,exports.parseTables=a9,exports.parseVPortTable=a7,exports.parseXData=p;
package/dist/bundle.mjs CHANGED
@@ -1,3 +1,3 @@
1
- (el=eY||(eY={}))[el.None=0]="None",el[el.Anonymous=1]="Anonymous",el[el.NonConstant=2]="NonConstant",el[el.Xref=4]="Xref",el[el.XrefOverlay=8]="XrefOverlay",el[el.ExternallyDependent=16]="ExternallyDependent",el[el.ResolvedOrDependent=32]="ResolvedOrDependent",el[el.ReferencedXref=64]="ReferencedXref",(ep=eX||(eX={}))[ep.BYBLOCK=0]="BYBLOCK",ep[ep.BYLAYER=256]="BYLAYER";let e=-1,r=4,a=Math.PI/24;(eu=ez||(ez={}))[eu.Rotated=0]="Rotated",eu[eu.Aligned=1]="Aligned",eu[eu.Angular=2]="Angular",eu[eu.Diameter=3]="Diameter",eu[eu.Radius=4]="Radius",eu[eu.Angular3Point=5]="Angular3Point",eu[eu.Ordinate=6]="Ordinate",eu[eu.ReferenceIsExclusive=32]="ReferenceIsExclusive",eu[eu.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",eu[eu.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",(em=eK||(eK={}))[em.TopLeft=1]="TopLeft",em[em.TopCenter=2]="TopCenter",em[em.TopRight=3]="TopRight",em[em.MiddleLeft=4]="MiddleLeft",em[em.MiddleCenter=5]="MiddleCenter",em[em.MiddleRight=6]="MiddleRight",em[em.BottomLeft=7]="BottomLeft",em[em.BottomCenter=8]="BottomCenter",em[em.BottomRight=9]="BottomRight",(eE=eZ||(eZ={}))[eE.AtLeast=1]="AtLeast",eE[eE.Exact=2]="Exact",(eh=eJ||(eJ={}))[eh.Center=0]="Center",eh[eh.Above=1]="Above",eh[eh.Outside=2]="Outside",eh[eh.JIS=3]="JIS",eh[eh.Below=4]="Below",(ef=e$||(e$={}))[ef.Feet=0]="Feet",ef[ef.None=1]="None",ef[ef.Inch=2]="Inch",ef[ef.FeetAndInch=3]="FeetAndInch",ef[ef.Leading=4]="Leading",ef[ef.Trailing=8]="Trailing",ef[ef.LeadingAndTrailing=12]="LeadingAndTrailing",(eI=eq||(eq={}))[eI.None=0]="None",eI[eI.Leading=1]="Leading",eI[eI.Trailing=2]="Trailing",eI[eI.LeadingAndTrailing=3]="LeadingAndTrailing",(eb=eQ||(eQ={}))[eb.Center=0]="Center",eb[eb.First=1]="First",eb[eb.Second=2]="Second",eb[eb.OverFirst=3]="OverFirst",eb[eb.OverSecond=4]="OverSecond",(eg=e0||(e0={}))[eg.Bottom=0]="Bottom",eg[eg.Center=1]="Center",eg[eg.Top=2]="Top",(eD=e1||(e1={}))[eD.PatternFill=0]="PatternFill",eD[eD.SolidFill=1]="SolidFill",(eT=e4||(e4={}))[eT.NonAssociative=0]="NonAssociative",eT[eT.Associative=1]="Associative",(eO=e2||(e2={}))[eO.Normal=0]="Normal",eO[eO.Outer=1]="Outer",eO[eO.Ignore=2]="Ignore",(ey=e3||(e3={}))[ey.UserDefined=0]="UserDefined",ey[ey.Predefined=1]="Predefined",ey[ey.Custom=2]="Custom",(eS=e7||(e7={}))[eS.NotAnnotated=0]="NotAnnotated",eS[eS.Annotated=1]="Annotated",(eN=e5||(e5={}))[eN.Solid=0]="Solid",eN[eN.Gradient=1]="Gradient",(eL=e9||(e9={}))[eL.TwoColor=0]="TwoColor",eL[eL.OneColor=1]="OneColor",(eP=e6||(e6={}))[eP.Default=0]="Default",eP[eP.External=1]="External",eP[eP.Polyline=2]="Polyline",eP[eP.Derived=4]="Derived",eP[eP.Textbox=8]="Textbox",eP[eP.Outermost=16]="Outermost",(eA=e8||(e8={}))[eA.Line=1]="Line",eA[eA.Circular=2]="Circular",eA[eA.Elliptic=3]="Elliptic",eA[eA.Spline=4]="Spline",(e_=re||(re={}))[e_.Off=0]="Off",e_[e_.Solid=1]="Solid",e_[e_.Dashed=2]="Dashed",e_[e_.Dotted=3]="Dotted",e_[e_.ShotDash=4]="ShotDash",e_[e_.MediumDash=5]="MediumDash",e_[e_.LongDash=6]="LongDash",e_[e_.DoubleShortDash=7]="DoubleShortDash",e_[e_.DoubleMediumDash=8]="DoubleMediumDash",e_[e_.DoubleLongDash=9]="DoubleLongDash",e_[e_.DoubleMediumLongDash=10]="DoubleMediumLongDash",e_[e_.SparseDot=11]="SparseDot";let n={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:re.Off,SHADEDIF:70};(eC=rr||(rr={}))[eC.Standard=-3]="Standard",eC[eC.ByLayer=-2]="ByLayer",eC[eC.ByBlock=-1]="ByBlock",(eM=ra||(ra={}))[eM.English=0]="English",eM[eM.Metric=1]="Metric";let t=65536;function o(e,r,a){return e.code===r&&(null==a||e.value===a)}function s(e){let r={};e.rewind();let a=e.next(),n=a.code;if(r.x=a.value,(a=e.next()).code!==n+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==n+20)?e.rewind():r.z=a.value,r}(ex=rn||(rn={}))[ex.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",ex[ex.FRONT_CLIPPING=2]="FRONT_CLIPPING",ex[ex.BACK_CLIPPING=4]="BACK_CLIPPING",ex[ex.UCS_FOLLOW=8]="UCS_FOLLOW",ex[ex.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",ex[ex.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",ex[ex.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",ex[ex.FAST_ZOOM=128]="FAST_ZOOM",ex[ex.SNAP_MODE=256]="SNAP_MODE",ex[ex.GRID_MODE=512]="GRID_MODE",ex[ex.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",ex[ex.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",ex[ex.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",ex[ex.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",ex[ex.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",ex[ex.UNUSED=32768]="UNUSED",ex[ex.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",ex[ex.VIEWPORT_OFF=131072]="VIEWPORT_OFF",ex[ex.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",ex[ex.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",ex[ex.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",ex[ex.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",(eF=rt||(rt={}))[eF.OPTIMIZED_2D=0]="OPTIMIZED_2D",eF[eF.WIREFRAME=1]="WIREFRAME",eF[eF.HIDDEN_LINE=2]="HIDDEN_LINE",eF[eF.FLAT_SHADED=3]="FLAT_SHADED",eF[eF.GOURAUD_SHADED=4]="GOURAUD_SHADED",eF[eF.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eF[eF.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",(eR=ro||(ro={}))[eR.UCS_UNCHANGED=0]="UCS_UNCHANGED",eR[eR.HAS_OWN_UCS=1]="HAS_OWN_UCS",(ev=rs||(rs={}))[ev.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",ev[ev.TOP=1]="TOP",ev[ev.BOTTOM=2]="BOTTOM",ev[ev.FRONT=3]="FRONT",ev[ev.BACK=4]="BACK",ev[ev.LEFT=5]="LEFT",ev[ev.RIGHT=6]="RIGHT",(ew=ri||(ri={}))[ew.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",ew[ew.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",(eV=rc||(rc={}))[eV.ByLayer=0]="ByLayer",eV[eV.ByBlock=1]="ByBlock",eV[eV.ByDictionaryDefault=2]="ByDictionaryDefault",eV[eV.ByObject=3]="ByObject";let i=Symbol();function c(e,r){return(a,n,t)=>{let s=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let n=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let t=n[e]??(n[e]=[]);a.isMultiple&&t.length&&r&&console.warn(`Snippet ${t[t.length-1].name} for code(${e}) is shadowed by ${a.name}`),t.push(a)}return e},[{}])}(e,n.debug),c=!1,l=s.length-1;for(;!o(a,0,"EOF");){let e=function(e,r,a){return e.find((e,n)=>n>=a&&e[r]?.length)}(s,a.code,l),r=e?.[a.code],o=r?.[r.length-1];if(!e||!o){n.rewind();break}o.isMultiple||e[a.code].pop();let{name:p,parser:u,isMultiple:m,isReducible:E}=o,h=u?.(a,n,t);if(h===i){n.rewind();break}if(p){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let n=e;for(let e=0;e<a.length-1;++e){let r=d(a[e]),t=d(a[e+1]);Object.prototype.hasOwnProperty.call(n,r)||("number"==typeof t?n[r]=[]:n[r]={}),n=n[r]}return[n,d(a[a.length-1])]}(t,p);m&&!E?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(h)):e[r]=h}o.pushContext&&(l-=1),c=!0,a=n.next()}return r&&Object.setPrototypeOf(t,r),c}}function d(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function l({value:e}){return e}function p(e,r){return s(r)}function u({value:e}){return!!e}let m=[{code:1001,name:"xdata",parser:E}];function E(e,r){if(!o(e,1001))throw Error("XData must starts with code 1001");let a={appName:e.value,value:[]};e=r.next();let n=[a.value];for(;!o(e,0,"EOF")&&e.code>=1e3;){let a=n[n.length-1];switch(e.code){case 1002:"{"===e.value?n.push([]):(n.pop(),n[n.length-1]?.push(a));break;case 1e3:case 1004:case 1040:case 1070:case 1071:a.push({type:h(e.code),value:e.value});break;case 1003:a.push({name:"layer",type:h(e.code),value:e.value});break;case 1005:a.push({name:"handle",type:h(e.code),value:e.value});break;case 1010:a.push({type:h(e.code),value:s(r)});break;case 1011:a.push({name:"worldSpacePosition",type:h(e.code),value:s(r)});break;case 1012:a.push({name:"worldSpaceDisplacement",type:h(e.code),value:s(r)});break;case 1013:a.push({name:"worldSpaceDirection",type:h(e.code),value:s(r)});break;case 1041:a.push({name:"distance",type:h(e.code),value:e.value});break;case 1042:a.push({name:"scale",type:h(e.code),value:e.value})}e=r.next()}return r.rewind(),a}function h(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function f(e){return r=>{let a={};for(let n=0;n<r.length;n+=2){let t=e.find(({code:e})=>e===r[n].value);t&&(a[t.name]=r[n+1]?.value)}return a}}function I({appName:e="ACAD",catcher:r,escaper:a}){return function*(n){if(n?.appName!==e)return;let t=!1,o=-1;for(let[e,s]of n.value.entries())if(t){if(yield s,a?.(s,e-o))return}else r(s)&&(t=!0,o=e)}}function b(e,r,a){for(;o(e,102);){var n;let t=e.value;if(e=r.next(),!t.startsWith("{")){r.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${t}`),function(e,r){for(;!o(e,102)&&!o(e,0,"EOF");)e=r.next()}(e,r),e=r.next();continue}let s=t.slice(1).trim();a.extensions??(a.extensions={}),(n=a.extensions)[s]??(n[s]=[]),function(e,r,a){for(;!o(e,102,"}")&&!o(e,0,"EOF");)a.push(e),e=r.next()}(e,r,a.extensions[s]),e=r.next()}r.rewind()}let g=0;function D(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=g++)}(ek=rd||(rd={}))[ek.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",ek[ek.CAST=1]="CAST",ek[ek.RECEIVE=2]="RECEIVE",ek[ek.IGNORE=3]="IGNORE";let T=[...m,{code:284,name:"shadowMode",parser:l},{code:390,name:"plotStyleHardId",parser:l},{code:380,name:"plotStyleType",parser:l},{code:440,name:"transparency",parser:l},{code:430,name:"colorName",parser:l},{code:420,name:"color",parser:l},{code:310,name:"proxyEntity",parser:l},{code:92,name:"proxyByte",parser:l},{code:60,name:"isVisible",parser:u},{code:48,name:"lineTypeScale",parser:l},{code:370,name:"lineweight",parser:l},{code:62,name:"colorIndex",parser:l},{code:347,name:"materialObjectHardId",parser:l},{code:6,name:"lineType",parser:l},{code:8,name:"layer",parser:l},{code:410,name:"layoutTabName",parser:l},{code:67,name:"isInPaperSpace",parser:u},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:l},{code:102,parser:b},{code:102,parser:b},{code:102,parser:b},{code:5,name:"handle",parser:l}];function O(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function y(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let S={extrusionDirection:{x:0,y:0,z:1}},N=[{code:210,name:"extrusionDirection",parser:p},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:100,name:"subclassMarker",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:l},{code:100},...T];class L{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){y(this,"parser",c(N,S))}}function P(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}y(L,"ForEntityName","ARC"),(eB=rl||(rl={}))[eB.NONE=0]="NONE",eB[eB.INVISIBLE=1]="INVISIBLE",eB[eB.CONSTANT=2]="CONSTANT",eB[eB.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",eB[eB.PRESET=8]="PRESET",(eH=rp||(rp={}))[eH.MULTILINE=2]="MULTILINE",eH[eH.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",(eG=ru||(ru={}))[eG.NONE=0]="NONE",eG[eG.MIRRORED_X=2]="MIRRORED_X",eG[eG.MIRRORED_Y=4]="MIRRORED_Y",(eU=rm||(rm={}))[eU.LEFT=0]="LEFT",eU[eU.CENTER=1]="CENTER",eU[eU.RIGHT=2]="RIGHT",eU[eU.ALIGNED=3]="ALIGNED",eU[eU.MIDDLE=4]="MIDDLE",eU[eU.FIT=5]="FIT",(eW=rE||(rE={}))[eW.BASELINE=0]="BASELINE",eW[eW.BOTTOM=1]="BOTTOM",eW[eW.MIDDLE=2]="MIDDLE",eW[eW.TOP=3]="TOP";let A={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:rm.LEFT,valign:rE.BASELINE,extrusionDirection:{x:0,y:0,z:1}},_=[{code:73,name:"valign",parser:l},{code:100},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:72,name:"valign",parser:l},{code:72,name:"halign",parser:l},{code:71,name:"generationFlag",parser:l},{code:7,name:"styleName",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"xScale",parser:l},{code:50,name:"rotation",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class C{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){P(this,"parser",c(_,A))}}function M(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}P(C,"ForEntityName","TEXT");let x={...A},F=[{code:2},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:u},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedRecord",parser:u},{code:100},{code:280,name:"isLocked",parser:u},{code:74,name:"valign",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:3,name:"prompt",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},..._.slice(2)];class R{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){M(this,"parser",c(F,x))}}function v(e,r){let a={};for(let n of e){let e=r(n);null!=e&&(a[e]??(a[e]=[]),a[e].push(n))}return a}function*w(e,r=1/0,a=1){for(let n=e;n!==r;n+=a)yield n}function V(e){return{x:e.x??0,y:e.y??0,z:e.z??0}}M(R,"ForEntityName","ATTDEF"),(ej=rh||(rh={}))[ej.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",ej[ej.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",ej[ej.BY_STYLE=5]="BY_STYLE";var k,B,H,G,U,W,j,Y,X,z,K,Z,J,$,q,Q,ee,er,ea,en,et,eo,es,ei,ec,ed,el,ep,eu,em,eE,eh,ef,eI,eb,eg,eD,eT,eO,ey,eS,eN,eL,eP,eA,e_,eC,eM,ex,eF,eR,ev,ew,eV,ek,eB,eH,eG,eU,eW,ej,eY,eX,ez,eK,eZ,eJ,e$,eq,eQ,e0,e1,e4,e2,e3,e7,e5,e9,e6,e8,re,rr,ra,rn,rt,ro,rs,ri,rc,rd,rl,rp,ru,rm,rE,rh,rf,rI,rb,rg,rD,rT,rO,ry,rS,rN,rL,rP,rA,r_,rC,rM,rx,rF,rR,rv,rw=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];function rV(e){return rw[e]}function rk(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let rB={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},rH=[{code:46,name:"annotationHeight",parser:l},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:l},{code:49,name:"columnGutter",parser:l},{code:48,name:"columnWidth",parser:l},{code:79,name:"columnAutoHeight",parser:l},{code:78,name:"columnFlowReversed",parser:l},{code:76,name:"columnCount",parser:l},{code:75,name:"columnType",parser:l},{code:441,name:"backgroundFillTransparency",parser:l},{code:63,name:"backgroundFillColor",parser:l},{code:45,name:"fillBoxScale",parser:l},{code:[...w(430,440)],name:"backgroundColor",parser:l},{code:[...w(420,430)],name:"backgroundColor",parser:l},{code:90,name:"backgroundFill",parser:l},{code:44,name:"lineSpacing",parser:l},{code:73,name:"lineSpacingStyle",parser:l},{code:50,name:"rotation",parser:l},{code:43},{code:42},{code:11,name:"direction",parser:p},{code:210,name:"extrusionDirection",parser:p},{code:7,name:"styleName",parser:l},...O("text"),{code:72,name:"drawingDirection",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:41,name:"width",parser:l},{code:40,name:"height",parser:l},{code:10,name:"insertionPoint",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class rG{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rk(this,"parser",c(rH,rB))}}function rU(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rk(rG,"ForEntityName","MTEXT");let rW={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},rj=[...rH.slice(rH.findIndex(({name:e})=>"columnType"===e),rH.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!o(e,0,"MTEXT"))return i}},{code:2,name:"definitionTag",parser:l},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardId",parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:u},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedEntriesKeep",parser:u},{code:100},{code:280,name:"lockPositionFlag",parser:u},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"alignmentPoint",parser:p},{code:74,name:"verticalJustification",parser:l},{code:72,name:"horizontalJustification",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:7,name:"textStyle",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"scale",parser:l},{code:50,name:"rotation",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100},...T];class rY{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rU(this,"parser",c(rj,rW))}}function rX(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rU(rY,"ForEntityName","ATTRIB");let rz=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class rK{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rX(this,"parser",c(rz))}}function rZ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rX(rK,"ForEntityName","BODY");let rJ={thickness:0,extrusionDirection:{x:0,y:0,z:1}},r$=[{code:210,name:"extrusionDirection",parser:p},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class rq{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rZ(this,"parser",c(r$,rJ))}}rZ(rq,"ForEntityName","CIRCLE");let rQ=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:eJ.Above,defaultValueImperial:eJ.Center},{name:"DIMZIN",code:78,defaultValue:e$.Trailing,defaultValueImperial:e$.Feet},{name:"DIMAZIN",code:79,defaultValue:eq.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:eQ.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:e0.Center},{name:"DIMTZIN",code:284,defaultValue:e$.Trailing,defaultValueImperial:e$.Feet},{name:"DIMALTZ",code:285,defaultValue:e$.Trailing},{name:"DIMALTTZ",code:286,defaultValue:e$.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],r0=[{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,parser(e,r){for(;!o(e,0,"EOF")&&!o(e,102,"}");)e=r.next()}},{code:5,name:"handle",parser:l}],r1=c([...rQ.map(e=>({...e,parser:l})),{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},{code:105,name:"handle",parser:l},...r0.filter(e=>5!==e.code)]),r4=[{code:100},{code:52,name:"obliqueAngle",parser:l},{code:50,name:"rotationAngle",parser:l},{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:12,name:"insertionPoint",parser:p},{code:100,name:"subclassMarker",parser:l}],r2=[{code:16,name:"arcPoint",parser:p},{code:15,name:"centerPoint",parser:p},{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:100,name:"subclassMarker",parser:l}],r3=[{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:100,name:"subclassMarker",parser:l}],r7=[{code:40,name:"leaderLength",parser:l},{code:15,name:"subDefinitionPoint",parser:p},{code:100,name:"subclassMarker",parser:l}],r5=[{code:100,parser(e,r,a){let n=function(e){switch(e){case"AcDbAlignedDimension":return c(r4);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return c(r2);case"AcDbOrdinateDimension":return c(r3);case"AcDbRadialDimension":case"AcDbDiametricDimension":return c(r7)}return null}(e.value);if(!n)return i;n(e,r,a)},pushContext:!0},...rQ.map(e=>({...e,parser:l})),{code:3,name:"styleName",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:51,name:"ocsRotation",parser:l},{code:53,name:"textRotation",parser:l},{code:1,name:"text",parser:l},{code:42,name:"measurement",parser:l},{code:72,name:"textLineSpacingStyle",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:70,name:"dimensionType",parser:l},{code:11,name:"textPoint",parser:p},{code:10,name:"definitionPoint",parser:p},{code:2,name:"name",parser:l},{code:280,name:"version",parser:l},{code:100},...T];class r9{parseEntity(e,r){let a={};return c(r5)(r,e,a),a}}function r6(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}B="DIMENSION",(k="ForEntityName")in r9?Object.defineProperty(r9,k,{value:B,enumerable:!0,configurable:!0,writable:!0}):r9[k]=B;let r8={extrusionDirection:{x:0,y:0,z:1}},ae=[{code:42,name:"endAngle",parser:l},{code:41,name:"startAngle",parser:l},{code:40,name:"axisRatio",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"majorAxisEndPoint",parser:p},{code:10,name:"center",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class ar{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r6(this,"parser",c(ae,r8))}}function aa(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r6(ar,"ForEntityName","ELLIPSE"),(H=rf||(rf={}))[H.First=1]="First",H[H.Second=2]="Second",H[H.Third=4]="Third",H[H.Fourth=8]="Fourth";let an=[{code:13,name:"vertices.3",parser:p},{code:12,name:"vertices.2",parser:p},{code:11,name:"vertices.1",parser:p},{code:10,name:"vertices.0",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class at{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aa(this,"parser",c(an))}}aa(at,"ForEntityName","3DFACE");let ao=[{code:330,name:"sourceBoundaryObjects",parser:l,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:l}],as=[{code:11,name:"end",parser:p},{code:10,name:"start",parser:p}],ai=[{code:73,name:"isCCW",parser:u},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p}],ac=[{code:73,name:"isCCW",parser:u},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"lengthOfMinorAxis",parser:l},{code:11,name:"end",parser:p},{code:10,name:"center",parser:p}],ad=[{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:11,name:"fitDatum",isMultiple:!0,parser:p},{code:97,name:"numberOfFitData",parser:l},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let a={...s(r),weight:1};return 42===(e=r.next()).code?a.weight=e.value:r.rewind(),a}},{code:40,name:"knots",isMultiple:!0,parser:l},{code:96,name:"numberOfControlPoints",parser:l},{code:95,name:"numberOfKnots",parser:l},{code:74,name:"isPeriodic",parser:u},{code:73,name:"splineFlag",parser:l},{code:94,name:"degree",parser:l}],al={[e8.Line]:as,[e8.Circular]:ai,[e8.Elliptic]:ac,[e8.Spline]:ad},ap=[...ao,{code:72,name:"edges",parser(e,r){let a={type:e.value},n=c(al[a.type]);if(!n)throw Error(`Invalid edge type ${a.type}`);return n(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:l}],au=[...ao,{code:10,name:"vertices",parser(e,r){let a={...s(r),bulge:0};return 42===(e=r.next()).code?a.bulge=e.value:r.rewind(),a},isMultiple:!0},{code:93,name:"numberOfVertices",parser:l},{code:73,name:"isClosed",parser:u},{code:72,name:"hasBulge",parser:u}],am=[{code:49,name:"dashLengths",parser:l,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:l},{code:45,name:"offset",parser:aE},{code:43,name:"base",parser:aE},{code:53,name:"angle",parser:l}];function aE(e,r){let a=e.code+1,n={x:e.value,y:1};return(e=r.next()).code===a?n.y=e.value:r.rewind(),n}function ah(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let af={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},aI=[{code:470},{code:463},{code:462,name:"colorTint",parser:l},{code:461,name:"gradientDefinition",parser:l},{code:460,name:"gradientRotation",parser:l},{code:453,name:"numberOfColors",parser:l},{code:452,name:"gradientColorFlag",parser:l},{code:451},{code:450,name:"gradientFlag",parser:l},{code:10,name:"seedPoints",parser:p,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:p},{code:98,name:"numberOfSeedPoints",parser:l},{code:47,name:"pixelSize",parser:l},{code:53,name:"definitionLines",parser:function(e,r){let a={};return c(am)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:l},{code:77,name:"isDouble",parser:u},{code:73,name:"isAnnotated",parser:u},{code:41,name:"patternScale",parser:l},{code:52,name:"patternAngle",parser:l},{code:76,name:"patternType",parser:l},{code:75,name:"hatchStyle",parser:l},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},n=a.boundaryPathTypeFlag&e6.Polyline;return(e=r.next(),n)?c(au)(e,r,a):c(ap)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:l},{code:71,name:"associativity",parser:l},{code:63,name:"patternFillColor",parser:l},{code:70,name:"solidFill",parser:l},{code:2,name:"patternName",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:10,name:"elevationPoint",parser:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class ab{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ah(this,"parser",c(aI,af))}}function ag(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ah(ab,"ForEntityName","HATCH"),(G=rI||(rI={}))[G.ShowImage=1]="ShowImage",G[G.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",G[G.UseClippingBoundary=4]="UseClippingBoundary",G[G.TransparencyIsOn=8]="TransparencyIsOn",(U=rb||(rb={}))[U.Rectangular=1]="Rectangular",U[U.Polygonal=2]="Polygonal",(W=rg||(rg={}))[W.Outside=0]="Outside",W[W.Inside=1]="Inside";let aD={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},aT=[{code:290,name:"clipMode",parser:l},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:p},{code:91,name:"countBoundaryPoints",parser:l},{code:71,name:"clippingBoundaryType",parser:l},{code:360,name:"imageDefReactorHandle",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipped",parser:u},{code:70,name:"flags",parser:l},{code:340,name:"imageDefHandle",parser:l},{code:13,name:"imageSize",parser:p},{code:12,name:"vPixel",parser:p},{code:11,name:"uPixel",parser:p},{code:10,name:"position",parser:p},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aO{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ag(this,"parser",c(aT,aD))}}function ay(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ag(aO,"ForEntityName","IMAGE");let aS={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},aN=[{code:210,name:"extrusionDirection",parser:p},{code:45,name:"rowSpacing",parser:l},{code:44,name:"columnSpacing",parser:l},{code:71,name:"rowCount",parser:l},{code:70,name:"columnCount",parser:l},{code:50,name:"rotation",parser:l},{code:43,name:"zScale",parser:l},{code:42,name:"yScale",parser:l},{code:41,name:"xScale",parser:l},{code:10,name:"insertionPoint",parser:p},{code:2,name:"name",parser:l},{code:66,name:"isVariableAttributes",parser:u},{code:100,name:"subclassMarker",parser:l},...T];class aL{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ay(this,"parser",c(aN,aS))}}function aP(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ay(aL,"ForEntityName","INSERT");let aA={isArrowheadEnabled:!0},a_=[{code:213,name:"offsetFromAnnotation",parser:p},{code:212,name:"offsetFromBlock",parser:p},{code:211,name:"horizontalDirection",parser:p},{code:210,name:"normal",parser:p},{code:340,name:"associatedAnnotation",parser:l},{code:77,name:"byBlockColor",parser:l},{code:10,name:"vertices",parser:p,isMultiple:!0},{code:76,name:"numberOfVertices",parser:l},{code:41,name:"textWidth",parser:l},{code:40,name:"textHeight",parser:l},{code:75,name:"isHooklineExists",parser:u},{code:74,name:"isHooklineSameDirection",parser:u},{code:73,name:"leaderCreationFlag",parser:l},{code:72,name:"isSpline",parser:u},{code:71,name:"isArrowheadEnabled",parser:u},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aC{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aP(this,"parser",c(a_,aA))}}function aM(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aP(aC,"ForEntityName","LEADER"),(j=rD||(rD={}))[j.TextAnnotation=0]="TextAnnotation",j[j.ToleranceAnnotation=1]="ToleranceAnnotation",j[j.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",j[j.NoAnnotation=3]="NoAnnotation";let ax={thickness:0,extrusionDirection:{x:0,y:0,z:1}},aF=[{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aR{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aM(this,"parser",c(aF,ax))}}aM(aR,"ForEntityName","LINE"),(Y=rT||(rT={}))[Y.IS_CLOSED=1]="IS_CLOSED",Y[Y.PLINE_GEN=128]="PLINE_GEN";let av={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},aw={bulge:0},aV=[{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:91,name:"id",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l}],ak=[{code:210,name:"extrusionDirection",parser:p},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return c(aV,aw)(e,r,a),a}},{code:39,name:"thickness",parser:l},{code:38,name:"elevation",parser:l},{code:43,name:"constantWidth",parser:l},{code:70,name:"flag",parser:l},{code:90,name:"numberOfVertices",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aB{parseEntity(e,r){let a={};return c(ak,av)(r,e,a),a}}function aH(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}z="LWPOLYLINE",(X="ForEntityName")in aB?Object.defineProperty(aB,X,{value:z,enumerable:!0,configurable:!0,writable:!0}):aB[X]=z;let aG=[{code:90,name:"overridenSubEntityCount",parser:l},{code:140,name:"edgeCreaseWeights",parser:l,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:l},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let n=0;n<a.edgeCount;++n){let n=[];e=r.next(),n[0]=e.value,e=r.next(),n[1]=e.value,a.edgeIndices.push(n)}}},{code:93,parser(e,r,a){a.totalFaceIndices=e.value,a.faceIndices=[];let n=[];for(let t=0;t<a.totalFaceIndices&&!o(e,0);++t)e=r.next(),n.push(e.value);let t=0;for(;t<n.length;){let e=n[t++],r=[];for(let a=0;a<e;++a)r.push(n[t++]);a.faceIndices.push(r)}}},{code:10,name:"vertices",parser:p,isMultiple:!0},{code:92,name:"verticesCount",parser:l},{code:91,name:"subdivisionLevel",parser:l},{code:40,name:"blendCrease",parser:l},{code:72,name:"isBlendCreased",parser:u},{code:71,name:"version",parser:l},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...T];class aU{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aH(this,"parser",c(aG))}}function aW(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aH(aU,"ForEntityName","MESH"),(K=rO||(rO={}))[K.Top=0]="Top",K[K.Zero=1]="Zero",K[K.Bottom=2]="Bottom",(Z=ry||(ry={}))[Z.HasVertex=1]="HasVertex",Z[Z.Closed=2]="Closed",Z[Z.SuppressStartCaps=4]="SuppressStartCaps",Z[Z.SuppressEndCaps=8]="SuppressEndCaps";let aj=[{code:42,name:"fillParameters",parser:l,isMultiple:!0},{code:75,name:"fillCount",parser:l},{code:41,name:"parameters",parser:l,isMultiple:!0},{code:74,name:"parameterCount",parser:l}],aY=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=c(aj),n={};return a(e,r,n),n},isMultiple:!0},{code:13,name:"miterDirection",parser:p},{code:12,name:"direction",parser:p},{code:11,name:"position",parser:p}],aX=[{code:[11,12,13],name:"segments",parser(e,r){let a=c(aY),n={};return a(e,r,n),n},isMultiple:!0},{code:210,name:"extrusionDirection",parser:p},{code:10,name:"startPosition",parser:p},{code:73,name:"styleCount",parser:l},{code:72,name:"vertexCount",parser:l},{code:71,name:"flags",parser:l},{code:70,name:"justification",parser:l},{code:40,name:"scale",parser:l},{code:340,name:"styleObjectHandle",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class az{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aW(this,"parser",c(aX))}}function aK(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aW(az,"ForEntityName","MLINE");let aZ={},aJ=[{code:170,name:"multileaderType",parser:l},{code:291,name:"doglegEnabled",parser:u},{code:40,name:"doglegLength",parser:l},{code:172,name:"contentType",parser:l},{code:3,name:"textContent",parser:l},{code:12,name:"textAnchor",parser:p},{code:344,name:"blockHandle",parser:l},{code:15,name:"blockPosition",parser:p},{code:302,name:"leaderSections",parser:function(e,r,a){let n;let t={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:t.landingPoint=(n.value,s(r));break;case 11:t.doglegVector=(n.value,s(r));break;case 40:t.doglegLength=n.value;break;case 304:t.leaderLines.push(function(e,r,a){let n;let t={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&t.vertices.push((n.value,s(r)));return t}(0,r))}}return t},isMultiple:!0},...T];class a${parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aK(this,"parser",c(aJ,aZ))}}function aq(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aK(a$,"ForEntityName","MULTILEADER");let aQ={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},a0=[{code:50,name:"angle",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:l},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class a1{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aq(this,"parser",c(a0,aQ))}}function a4(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aq(a1,"ForEntityName","POINT"),(J=rS||(rS={}))[J.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",J[J.CURVE_FIT=2]="CURVE_FIT",J[J.SPLINE_FIT=4]="SPLINE_FIT",J[J.POLYLINE_3D=8]="POLYLINE_3D",J[J.POLYGON_3D=16]="POLYGON_3D",J[J.CLOSED_POLYGON=32]="CLOSED_POLYGON",J[J.POLYFACE=64]="POLYFACE",J[J.CONTINUOUS=128]="CONTINUOUS",($=rN||(rN={}))[$.NONE=0]="NONE",$[$.QUADRATIC=5]="QUADRATIC",$[$.CUBIC=6]="CUBIC",$[$.BEZIER=8]="BEZIER",(q=rL||(rL={}))[q.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",q[q.TANGENT_DEFINED=2]="TANGENT_DEFINED",q[q.NOT_USED=4]="NOT_USED",q[q.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",q[q.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",q[q.FOR_POLYLINE=32]="FOR_POLYLINE",q[q.FOR_POLYGON=64]="FOR_POLYGON",q[q.POLYFACE=128]="POLYFACE";let a2={startWidth:0,endWidth:0,bulge:0},a3=[{code:91,name:"id",parser:l},{code:[...w(71,75)],name:"faces",isMultiple:!0,parser:l},{code:50,name:"tangentDirection",parser:l},{code:70,name:"flag",parser:l},{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:30,name:"z",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...T];class a7{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a4(this,"parser",c(a3,a2))}}function a5(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a4(a7,"ForEntityName","VERTEX");let a9={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},a6=[{code:0,name:"vertices",isMultiple:!0,parser:(e,r)=>o(e,0,"VERTEX")?(e=r.next(),new a7().parseEntity(r,e)):i},{code:210,name:"extrusionDirection",parser:p},{code:75,name:"smoothType",parser:l},{code:74,name:"surfaceNDensity",parser:l},{code:73,name:"surfaceMDensity",parser:l},{code:72,name:"meshNVertexCount",parser:l},{code:71,name:"meshMVertexCount",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:70,name:"flag",parser:l},{code:39,name:"thickness",parser:l},{code:30,name:"elevation",parser:l},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:l},...T];class a8{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a5(this,"parser",c(a6,a9))}}function ne(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a5(a8,"ForEntityName","POLYLINE");let nr=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class na{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ne(this,"parser",c(nr))}}function nn(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ne(na,"ForEntityName","RAY");let nt=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class no{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nn(this,"parser",c(nt))}}function ns(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nn(no,"ForEntityName","REGION");let ni={vertices:[],backLineVertices:[]},nc=[{code:360,name:"geometrySettingHardId",parser:l},{code:12,name:"backLineVertices",isMultiple:!0,parser:p},{code:93,name:"numberOfBackLineVertices",parser:l},{code:11,name:"vertices",isMultiple:!0,parser:p},{code:92,name:"verticesCount",parser:l},{code:[63,411],name:"indicatorColor",parser:l},{code:70,name:"indicatorTransparency",parser:l},{code:41,name:"bottomHeight",parser:l},{code:40,name:"topHeight",parser:l},{code:10,name:"verticalDirection",parser:p},{code:1,name:"name",parser:l},{code:91,name:"flag",parser:l},{code:90,name:"state",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nd{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ns(this,"parser",c(nc,ni))}}function nl(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ns(nd,"ForEntityName","SECTION");let np={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},nu=[{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:l},{code:[...w(10,14)],name:"points",isMultiple:!0,parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nm{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nl(this,"parser",c(nu,np))}}function nE(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nl(nm,"ForEntityName","SOLID");let nh=[{code:350,name:"historyObjectSoftId",parser:l},{code:100,name:"subclassMarker",parser:l},...O("data"),{code:70,name:"version",parser:l},{code:100},...T];class nf{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nE(this,"parser",c(nh))}}function nI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nE(nf,"ForEntityName","3DSOLID"),(Q=rP||(rP={}))[Q.NONE=0]="NONE",Q[Q.CLOSED=1]="CLOSED",Q[Q.PERIODIC=2]="PERIODIC",Q[Q.RATIONAL=4]="RATIONAL",Q[Q.PLANAR=8]="PLANAR",Q[Q.LINEAR=16]="LINEAR";let nb={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},ng=[{code:11,name:"fitPoints",isMultiple:!0,parser:p},{code:10,name:"controlPoints",isMultiple:!0,parser:p},{code:41,name:"weights",isMultiple:!0,parser:l},{code:40,name:"knots",isMultiple:!0,parser:l},{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:44,name:"fitTolerance",parser:l},{code:43,name:"controlTolerance",parser:l},{code:42,name:"knotTolerance",parser:l},{code:74,name:"numberOfFitPoints",parser:l},{code:73,name:"numberOfControlPoints",parser:l},{code:72,name:"numberOfKnots",parser:l},{code:71,name:"degree",parser:l},{code:70,name:"flag",parser:l},{code:210,name:"normal",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nD{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nI(this,"parser",c(ng,nb))}}function nT(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nI(nD,"ForEntityName","SPLINE");let nO=[{code:11,name:"xAxisDirection",parser:p},{code:210,name:"extrusionDirection",parser:p},{code:1,name:"text",parser:l},{code:10,name:"position",parser:p},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class ny{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nT(this,"parser",c(nO))}}nT(ny,"ForEntityName","TOLERANCE");let nS=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:l},{code:361,name:"sunId",parser:l},{code:431,name:"ambientLightColorName",parser:l},{code:421,name:"ambientLightColorInstance",parser:l},{code:63,name:"ambientLightColorIndex",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLighting",parser:u},{code:348,name:"visualStyleId",parser:l},{code:333,name:"shadePlotId",parser:l},{code:332,name:"backgroundId",parser:l},{code:61,name:"majorGridFrequency",parser:l},{code:170,name:"shadePlotMode",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:346,name:"ucsBaseId",parser:l},{code:345,name:"ucsId",parser:l},{code:112,name:"ucsYAxis",parser:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{code:74,name:"iconFlag",parser:l},{code:71,name:"ucsPerViewport",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"sheetName",parser:l},{code:340,name:"clippingBoundaryId",parser:l},{code:90,name:"statusBitFlags",parser:l},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:l},{code:72,name:"circleZoomPercent",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClipZ",parser:l},{code:43,name:"frontClipZ",parser:l},{code:42,name:"perspectiveLensLength",parser:l},{code:17,name:"targetPoint",parser:p},{code:16,name:"viewDirection",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBase",parser:p},{code:12,name:"displayCenter",parser:p},{code:69,name:"viewportId",parser:l},{code:68,name:"status",parser:l},{code:41,name:"height",parser:l},{code:40,name:"width",parser:l},{code:10,name:"viewportCenter",parser:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class nN{parseEntity(e,r){let a={};return c(nS)(r,e,a),a}}function nL(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}er="VIEWPORT",(ee="ForEntityName")in nN?Object.defineProperty(nN,ee,{value:er,enumerable:!0,configurable:!0,writable:!0}):nN[ee]=er,(ea=rA||(rA={}))[ea.ShowImage=1]="ShowImage",ea[ea.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",ea[ea.UseClippingBoundary=4]="UseClippingBoundary",ea[ea.Transparency=8]="Transparency";let nP={brightness:50,constrast:50,fade:0},nA=[{code:14,name:"boundary",isMultiple:!0,parser:p},{code:91,name:"numberOfVertices",parser:l},{code:71,name:"boundaryType",parser:l},{code:360,name:"imageDefReactorHardId",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipping",parser:u},{code:70,name:"displayFlag",parser:l},{code:340,name:"imageDefHardId",parser:l},{code:13,name:"imageSize",parser:p},{code:12,name:"vDirection",parser:p},{code:11,name:"uDirection",parser:p},{code:10,name:"position",parser:p},{code:90,name:"classVersion",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class n_{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nL(this,"parser",c(nA,nP))}}function nC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nL(n_,"ForEntityName","WIPEOUT");let nM=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nx{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nC(this,"parser",c(nM))}}nC(nx,"ForEntityName","XLINE");let nF=Object.fromEntries([L,R,rY,rK,rq,r9,ar,at,aO,aL,aC,aR,aB,aU,az,rG,a$,a1,a8,na,no,nd,nm,nf,nD,C,ny,ab,a7,nN,n_,nx].map(e=>[e.ForEntityName,new e]));function nR(e,r){let a=[];for(;!o(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){r.rewind();break}let n=nF[e.value];if(n){let t=e.value;e=r.next();let o=n.parseEntity(r,e);o.type=t,D(o),a.push(o)}else r.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=r.next()}return a}function nv(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"BLOCK")){let n=nw(e=r.next(),r);D(n),n.name&&(a[n.name]=n)}e=r.next()}return a}function nw(e,r){let a={};for(;!o(e,0,"EOF");){if(o(e,0,"ENDBLK")){for(e=r.next();!o(e,0,"EOF");){if(o(e,100,"AcDbBlockEnd"))return a;e=r.next()}break}switch(e.code){case 1:a.xrefPath=e.value;break;case 2:a.name=e.value;break;case 3:a.name2=e.value;break;case 5:a.handle=e.value;break;case 8:a.layer=e.value;break;case 10:a.position=s(r);break;case 67:a.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(a.type=e.value);break;case 100:break;case 330:a.ownerHandle=e.value;break;case 0:a.entities=nR(e,r)}e=r.next()}return a}function nV(e,r){let a=null,n={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");)9===e.code?a=e.value:10===e.code?n[a]=s(r):n[a]=e.value,e=r.next();return n}(en=r_||(r_={}))[en.NOT_APPLICABLE=0]="NOT_APPLICABLE",en[en.KEEP_EXISTING=1]="KEEP_EXISTING",en[en.USE_CLONE=2]="USE_CLONE",en[en.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",en[en.VALUE_NAME=4]="VALUE_NAME",en[en.UNMANGLE_NAME=5]="UNMANGLE_NAME";let nk=[{code:330,name:"ownerObjectId",parser:l},{code:102,parser:b},{code:102,parser:b},{code:102,parser:b},{code:5,name:"handle",parser:l}],nB=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:l},{code:280,name:"isHardOwned",parser:u},{code:100,name:"subclassMarker",parser:l},...nk];(et=rC||(rC={}))[et.PSLTSCALE=1]="PSLTSCALE",et[et.LIMCHECK=2]="LIMCHECK",(eo=rM||(rM={}))[eo.INCHES=0]="INCHES",eo[eo.MILLIMETERS=1]="MILLIMETERS",eo[eo.PIXELS=2]="PIXELS",(es=rx||(rx={}))[es.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",es[es.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",es[es.DRAWING_LIMITS=2]="DRAWING_LIMITS",es[es.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",es[es.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",es[es.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",(ei=rF||(rF={}))[ei.AS_DISPLAYED=0]="AS_DISPLAYED",ei[ei.WIREFRAME=1]="WIREFRAME",ei[ei.HIDDEN=2]="HIDDEN",ei[ei.RENDERED=3]="RENDERED",(ec=rR||(rR={}))[ec.DRAFT=0]="DRAFT",ec[ec.PREVIEW=1]="PREVIEW",ec[ec.NORMAL=2]="NORMAL",ec[ec.PRESENTATION=3]="PRESENTATION",ec[ec.MAXIMUM=4]="MAXIMUM",ec[ec.CUSTOM=5]="CUSTOM";let nH=[{code:333,name:"shadePlotId",parser:l},{code:149,name:"imageOriginY",parser:l},{code:148,name:"imageOriginX",parser:l},{code:147,name:"scaleFactor",parser:l},{code:78,name:"shadePlotCustomDPI",parser:l},{code:77,name:"shadePlotResolution",parser:l},{code:76,name:"shadePlotMode",parser:l},{code:75,name:"standardScaleType",parser:l},{code:7,name:"currentStyleSheet",parser:l},{code:74,name:"plotType",parser:l},{code:73,name:"plotRotation",parser:l},{code:72,name:"plotPaperUnit",parser:l},{code:70,name:"layoutFlag",parser:l},{code:143,name:"printScaleDenominator",parser:l},{code:142,name:"printScaleNumerator",parser:l},{code:141,name:"windowAreaYMax",parser:l},{code:140,name:"windowAreaXMax",parser:l},{code:49,name:"windowAreaYMin",parser:l},{code:48,name:"windowAreaXMin",parser:l},{code:47,name:"plotOriginY",parser:l},{code:46,name:"plotOriginX",parser:l},{code:45,name:"paperHeight",parser:l},{code:44,name:"paperWidth",parser:l},{code:43,name:"marginTop",parser:l},{code:42,name:"marginRight",parser:l},{code:41,name:"marginBottom",parser:l},{code:40,name:"marginLeft",parser:l},{code:6,name:"plotViewName",parser:l},{code:4,name:"paperSize",parser:l},{code:2,name:"configName",parser:l},{code:1,name:"pageSetupName",parser:l},{code:100,name:"subclassMarker",parser:l},...nk],nG=[{code:346,name:"orthographicUcsId",parser:l},{code:345,name:"namedUcsId",parser:l},{code:331,name:"viewportId",parser:l},{code:330,name:"paperSpaceTableId",parser:l},{code:76,name:"orthographicType",parser:l},{code:17,name:"ucsYAxis",parser:p},{code:16,name:"ucsXAxis",parser:p},{code:13,name:"ucsOrigin",parser:p},{code:146,name:"elevation",parser:l},{code:15,name:"maxExtent",parser:p},{code:14,name:"minExtent",parser:p},{code:12,name:"insertionPoint",parser:p},{code:11,name:"maxLimit",parser:p},{code:10,name:"minLimit",parser:p},{code:71,name:"tabOrder",parser:l},{code:70,name:"controlFlag",parser:l},{code:1,name:"layoutName",parser:l},{code:100,name:"subclassMarker",parser:l},...nH],nU=[{code:40,name:"wcsToOCSTransform",parser:nW},{code:40,name:"ocsToWCSTransform",parser:nW},{code:41,name:"backClippingDistance",parser:l},{code:73,name:"isBackClipping",parser:u,pushContext:!0},{code:40,name:"frontClippingDistance",parser:l},{code:72,name:"isFrontClipping",parser:u,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:u},{code:11,name:"position",parser:p},{code:210,name:"normal",parser:p},{code:10,name:"boundaryVertices",parser:p,isMultiple:!0},{code:70,name:"boundaryCount",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...nk];function nW(e,r){let a=[];for(let n=0;n<3&&o(e,40);++n){let n=[];for(let a=0;a<4&&o(e,40);++a)n.push(e.value),e=r.next();a.push(n)}return r.rewind(),a}let nj=[{code:280,name:"cloneFlag",parser(e,r,a){var n;let t=e.value;for(e=r.next(),a.data=[];1<=(n=e.code)&&n<=369&&5!==n&&105!==n;)a.data.push(e),e=r.next();return r.rewind(),t}},{code:100,name:"subclassMarker",parser:l},...nk],nY={LAYOUT:nG,PLOTSETTINGS:nH,DICTIONARY:nB,SPATIAL_FILTER:nU};function nX(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let n=e.value,t=nY[n];if(0===e.code&&t?.length){let o=c(t),s={name:n};o(e=r.next(),r,s)?(a.push(s),e=r.peek()):e=r.next()}else e=r.next()}return{byName:v(a,({name:e})=>e)}}let nz=c([{code:310,name:"bmpPreview",parser:l},{code:281,name:"scalability",parser:l},{code:280,name:"explodability",parser:l},{code:70,name:"insertionUnits",parser:l},{code:340,name:"layoutObjects",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...r0]),nK=c([{code:347,name:"materialObjectId",parser:l},{code:390,name:"plotStyleNameObjectId",parser:l},{code:370,name:"lineweight",parser:l},{code:290,name:"isPlotting",parser:u},{code:6,name:"lineType",parser:l},{code:62,name:"colorIndex",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...r0]);(ed=rv||(rv={}))[ed.NONE=0]="NONE",ed[ed.AbsoluteRotation=1]="AbsoluteRotation",ed[ed.TextEmbedded=2]="TextEmbedded",ed[ed.ShapeEmbedded=4]="ShapeEmbedded";let nZ=c([{code:9,name:"text",parser:l},{code:45,name:"offsetY",parser:l},{code:44,name:"offsetX",parser:l},{code:50,name:"rotation",parser:l},{code:46,name:"scale",parser:l},{code:340,name:"styleObjectId",parser:l},{code:75,name:"shapeNumber",parser:l},{code:74,name:"elementTypeFlag",parser:l},{code:49,name:"elementLength",parser:l}],{elementTypeFlag:0,elementLength:0}),nJ=c([{code:49,name:"pattern",parser(e,r){let a={};return nZ(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:l},{code:73,name:"numberOfLineTypes",parser:l},{code:72,parser:l},{code:3,name:"description",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...r0]),n$=c([{code:1e3,name:"extendedFont",parser:l},{code:1001},{code:4,name:"bigFont",parser:l},{code:3,name:"font",parser:l},{code:42,name:"lastHeight",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:50,name:"obliqueAngle",parser:l},{code:41,name:"widthFactor",parser:l},{code:40,name:"fixedTextHeight",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...r0]),nq=c([{code:[63,421,431],name:"ambientColor",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLightingOn",parser:u},{code:348,name:"visualStyleObjectId",parser:l},{code:333,name:"shadePlotObjectId",parser:l},{code:332,name:"backgroundObjectId",parser:l},{code:61,name:"majorGridLines",parser:l},{code:170,name:"shadePlotSetting",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:112,name:"ucsYAxis",parser:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{code:74,name:"ucsIconSetting",parser:l},{code:71,name:"viewMode",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"styleSheet",parser:l},{code:[331,441],name:"frozenLayers",parser:l,isMultiple:!0},{code:72,name:"circleSides",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapRotationAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClippingPlane",parser:l},{code:43,name:"frontClippingPlane",parser:l},{code:42,name:"lensLength",parser:l},{code:17,name:"viewTarget",parser:p},{code:16,name:"viewDirectionFromTarget",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBasePoint",parser:p},{code:12,name:"center",parser:p},{code:11,name:"upperRightCorner",parser:p},{code:10,name:"lowerLeftCorner",parser:p},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...r0]),nQ={BLOCK_RECORD:nz,DIMSTYLE:r1,LAYER:nK,LTYPE:nJ,STYLE:n$,VPORT:nq},n0=c([{code:70,name:"maxNumberOfEntries",parser:l},{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:l},{code:2,name:"name",parser:l}]);function n1(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"TABLE")){e=r.next();let n={entries:[]};n0(e,r,n),a[n.name]=n}if(o(e,0)&&!o(e,0,"ENDTAB")){let n=e.value;e=r.next();let t=nQ[n];if(!t){r.debug&&console.warn(`parseTable: Invalid table name '${n}'`),e=r.next();continue}let o={};t(e,r,o),a[n]?.entries.push(o)}e=r.next()}return a}function n4(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n2{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),r=n3(e,this._data[this._pointer++],this.debug),a={code:e,value:r};return o(a,0,"EOF")&&(this._eof=!0),this.lastReadGroup=a,a}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=n3(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,r=!1){n4(this,"_data",void 0),n4(this,"debug",void 0),n4(this,"_pointer",void 0),n4(this,"_eof",void 0),n4(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function n3(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function n7(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n5{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){n7(this,"point",{}),n7(this,"startCode",0),n7(this,"code",0),n7(this,"value",0),n7(this,"x",void 0),n7(this,"y",void 0),n7(this,"z",void 0)}}function n9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n6{constructor(){n9(this,"encoding","utf-8"),n9(this,"encodingFailureFatal",!1)}}class n8 extends Error{constructor(e,r,a){let n=`[Line ${r}]: ${e}`;a?.cause&&(n+=`
1
+ (eD=e5||(e5={}))[eD.None=0]="None",eD[eD.Anonymous=1]="Anonymous",eD[eD.NonConstant=2]="NonConstant",eD[eD.Xref=4]="Xref",eD[eD.XrefOverlay=8]="XrefOverlay",eD[eD.ExternallyDependent=16]="ExternallyDependent",eD[eD.ResolvedOrDependent=32]="ResolvedOrDependent",eD[eD.ReferencedXref=64]="ReferencedXref",(eT=e6||(e6={}))[eT.BYBLOCK=0]="BYBLOCK",eT[eT.BYLAYER=256]="BYLAYER";let e=-1,r=4,a=Math.PI/24;(eO=e9||(e9={}))[eO.Rotated=0]="Rotated",eO[eO.Aligned=1]="Aligned",eO[eO.Angular=2]="Angular",eO[eO.Diameter=3]="Diameter",eO[eO.Radius=4]="Radius",eO[eO.Angular3Point=5]="Angular3Point",eO[eO.Ordinate=6]="Ordinate",eO[eO.ReferenceIsExclusive=32]="ReferenceIsExclusive",eO[eO.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",eO[eO.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",(ey=e8||(e8={}))[ey.TopLeft=1]="TopLeft",ey[ey.TopCenter=2]="TopCenter",ey[ey.TopRight=3]="TopRight",ey[ey.MiddleLeft=4]="MiddleLeft",ey[ey.MiddleCenter=5]="MiddleCenter",ey[ey.MiddleRight=6]="MiddleRight",ey[ey.BottomLeft=7]="BottomLeft",ey[ey.BottomCenter=8]="BottomCenter",ey[ey.BottomRight=9]="BottomRight",(eS=re||(re={}))[eS.AtLeast=1]="AtLeast",eS[eS.Exact=2]="Exact",(eN=rr||(rr={}))[eN.Center=0]="Center",eN[eN.Above=1]="Above",eN[eN.Outside=2]="Outside",eN[eN.JIS=3]="JIS",eN[eN.Below=4]="Below",(eL=ra||(ra={}))[eL.Feet=0]="Feet",eL[eL.None=1]="None",eL[eL.Inch=2]="Inch",eL[eL.FeetAndInch=3]="FeetAndInch",eL[eL.Leading=4]="Leading",eL[eL.Trailing=8]="Trailing",eL[eL.LeadingAndTrailing=12]="LeadingAndTrailing",(eP=rn||(rn={}))[eP.None=0]="None",eP[eP.Leading=1]="Leading",eP[eP.Trailing=2]="Trailing",eP[eP.LeadingAndTrailing=3]="LeadingAndTrailing",(eA=rt||(rt={}))[eA.Center=0]="Center",eA[eA.First=1]="First",eA[eA.Second=2]="Second",eA[eA.OverFirst=3]="OverFirst",eA[eA.OverSecond=4]="OverSecond",(e_=ro||(ro={}))[e_.Bottom=0]="Bottom",e_[e_.Center=1]="Center",e_[e_.Top=2]="Top",(eC=rs||(rs={}))[eC.PatternFill=0]="PatternFill",eC[eC.SolidFill=1]="SolidFill",(eM=ri||(ri={}))[eM.NonAssociative=0]="NonAssociative",eM[eM.Associative=1]="Associative",(ex=rc||(rc={}))[ex.Normal=0]="Normal",ex[ex.Outer=1]="Outer",ex[ex.Ignore=2]="Ignore",(eF=rd||(rd={}))[eF.UserDefined=0]="UserDefined",eF[eF.Predefined=1]="Predefined",eF[eF.Custom=2]="Custom",(eR=rl||(rl={}))[eR.NotAnnotated=0]="NotAnnotated",eR[eR.Annotated=1]="Annotated",(ev=rp||(rp={}))[ev.Solid=0]="Solid",ev[ev.Gradient=1]="Gradient",(ew=ru||(ru={}))[ew.TwoColor=0]="TwoColor",ew[ew.OneColor=1]="OneColor",(eV=rm||(rm={}))[eV.Default=0]="Default",eV[eV.External=1]="External",eV[eV.Polyline=2]="Polyline",eV[eV.Derived=4]="Derived",eV[eV.Textbox=8]="Textbox",eV[eV.Outermost=16]="Outermost",(ek=rE||(rE={}))[ek.Line=1]="Line",ek[ek.Circular=2]="Circular",ek[ek.Elliptic=3]="Elliptic",ek[ek.Spline=4]="Spline",(eB=rh||(rh={}))[eB.Off=0]="Off",eB[eB.Solid=1]="Solid",eB[eB.Dashed=2]="Dashed",eB[eB.Dotted=3]="Dotted",eB[eB.ShotDash=4]="ShotDash",eB[eB.MediumDash=5]="MediumDash",eB[eB.LongDash=6]="LongDash",eB[eB.DoubleShortDash=7]="DoubleShortDash",eB[eB.DoubleMediumDash=8]="DoubleMediumDash",eB[eB.DoubleLongDash=9]="DoubleLongDash",eB[eB.DoubleMediumLongDash=10]="DoubleMediumLongDash",eB[eB.SparseDot=11]="SparseDot";let n={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:rh.Off,SHADEDIF:70};(eH=rf||(rf={}))[eH.Standard=-3]="Standard",eH[eH.ByLayer=-2]="ByLayer",eH[eH.ByBlock=-1]="ByBlock",(eG=rI||(rI={}))[eG.English=0]="English",eG[eG.Metric=1]="Metric";let t=65536;function o(e,r,a){return e.code===r&&(null==a||e.value===a)}function s(e){let r={};e.rewind();let a=e.next(),n=a.code;if(r.x=a.value,(a=e.next()).code!==n+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==n+20)?e.rewind():r.z=a.value,r}(eU=rb||(rb={}))[eU.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",eU[eU.FRONT_CLIPPING=2]="FRONT_CLIPPING",eU[eU.BACK_CLIPPING=4]="BACK_CLIPPING",eU[eU.UCS_FOLLOW=8]="UCS_FOLLOW",eU[eU.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",eU[eU.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",eU[eU.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",eU[eU.FAST_ZOOM=128]="FAST_ZOOM",eU[eU.SNAP_MODE=256]="SNAP_MODE",eU[eU.GRID_MODE=512]="GRID_MODE",eU[eU.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",eU[eU.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",eU[eU.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",eU[eU.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",eU[eU.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",eU[eU.UNUSED=32768]="UNUSED",eU[eU.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",eU[eU.VIEWPORT_OFF=131072]="VIEWPORT_OFF",eU[eU.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",eU[eU.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",eU[eU.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",eU[eU.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",(eW=rg||(rg={}))[eW.OPTIMIZED_2D=0]="OPTIMIZED_2D",eW[eW.WIREFRAME=1]="WIREFRAME",eW[eW.HIDDEN_LINE=2]="HIDDEN_LINE",eW[eW.FLAT_SHADED=3]="FLAT_SHADED",eW[eW.GOURAUD_SHADED=4]="GOURAUD_SHADED",eW[eW.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eW[eW.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",(ej=rD||(rD={}))[ej.UCS_UNCHANGED=0]="UCS_UNCHANGED",ej[ej.HAS_OWN_UCS=1]="HAS_OWN_UCS",(eY=rT||(rT={}))[eY.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",eY[eY.TOP=1]="TOP",eY[eY.BOTTOM=2]="BOTTOM",eY[eY.FRONT=3]="FRONT",eY[eY.BACK=4]="BACK",eY[eY.LEFT=5]="LEFT",eY[eY.RIGHT=6]="RIGHT",(eX=rO||(rO={}))[eX.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",eX[eX.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",(ez=ry||(ry={}))[ez.ByLayer=0]="ByLayer",ez[ez.ByBlock=1]="ByBlock",ez[ez.ByDictionaryDefault=2]="ByDictionaryDefault",ez[ez.ByObject=3]="ByObject";let i=Symbol();function c(e,r){return(a,n,t)=>{let s=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let n=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let t=n[e]??(n[e]=[]);a.isMultiple&&t.length&&r&&console.warn(`Snippet ${t[t.length-1].name} for code(${e}) is shadowed by ${a.name}`),t.push(a)}return e},[{}])}(e,n.debug),c=!1,l=s.length-1;for(;!o(a,0,"EOF");){let e=function(e,r,a){return e.find((e,n)=>n>=a&&e[r]?.length)}(s,a.code,l),r=e?.[a.code],o=r?.[r.length-1];if(!e||!o){n.rewind();break}o.isMultiple||e[a.code].pop();let{name:p,parser:u,isMultiple:m,isReducible:E}=o,h=u?.(a,n,t);if(h===i){n.rewind();break}if(p){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let n=e;for(let e=0;e<a.length-1;++e){let r=d(a[e]),t=d(a[e+1]);Object.prototype.hasOwnProperty.call(n,r)||("number"==typeof t?n[r]=[]:n[r]={}),n=n[r]}return[n,d(a[a.length-1])]}(t,p);m&&!E?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(h)):e[r]=h}o.pushContext&&(l-=1),c=!0,a=n.next()}return r&&Object.setPrototypeOf(t,r),c}}function d(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function l({value:e}){return e}function p(e,r){return s(r)}function u({value:e}){return!!e}let m=[{code:1001,name:"xdata",parser:E}];function E(e,r){if(!o(e,1001))throw Error("XData must starts with code 1001");let a={appName:e.value,value:[]};e=r.next();let n=[a.value];for(;!o(e,0,"EOF")&&e.code>=1e3;){let a=n[n.length-1];switch(e.code){case 1002:"{"===e.value?n.push([]):(n.pop(),n[n.length-1]?.push(a));break;case 1e3:case 1004:case 1040:case 1070:case 1071:a.push({type:h(e.code),value:e.value});break;case 1003:a.push({name:"layer",type:h(e.code),value:e.value});break;case 1005:a.push({name:"handle",type:h(e.code),value:e.value});break;case 1010:a.push({type:h(e.code),value:s(r)});break;case 1011:a.push({name:"worldSpacePosition",type:h(e.code),value:s(r)});break;case 1012:a.push({name:"worldSpaceDisplacement",type:h(e.code),value:s(r)});break;case 1013:a.push({name:"worldSpaceDirection",type:h(e.code),value:s(r)});break;case 1041:a.push({name:"distance",type:h(e.code),value:e.value});break;case 1042:a.push({name:"scale",type:h(e.code),value:e.value})}e=r.next()}return r.rewind(),a}function h(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function f(e){return r=>{let a={};for(let n=0;n<r.length;n+=2){let t=e.find(({code:e})=>e===r[n].value);t&&(a[t.name]=r[n+1]?.value)}return a}}function I({appName:e="ACAD",catcher:r,escaper:a}){return function*(n){if(n?.appName!==e)return;let t=!1,o=-1;for(let[e,s]of n.value.entries())if(t){if(yield s,a?.(s,e-o))return}else r(s)&&(t=!0,o=e)}}function b(e,r,a){for(;o(e,102);){var n;let t=e.value;if(e=r.next(),!t.startsWith("{")){r.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${t}`),function(e,r){for(;!o(e,102)&&!o(e,0,"EOF");)e=r.next()}(e,r),e=r.next();continue}let s=t.slice(1).trim();a.extensions??(a.extensions={}),(n=a.extensions)[s]??(n[s]=[]),function(e,r,a){for(;!o(e,102,"}")&&!o(e,0,"EOF");)a.push(e),e=r.next()}(e,r,a.extensions[s]),e=r.next()}r.rewind()}let g=0;function D(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=g++)}(eK=rS||(rS={}))[eK.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",eK[eK.CAST=1]="CAST",eK[eK.RECEIVE=2]="RECEIVE",eK[eK.IGNORE=3]="IGNORE";let T=[...m,{code:284,name:"shadowMode",parser:l},{code:390,name:"plotStyleHardId",parser:l},{code:380,name:"plotStyleType",parser:l},{code:440,name:"transparency",parser:l},{code:430,name:"colorName",parser:l},{code:420,name:"color",parser:l},{code:310,name:"proxyEntity",isMultiple:!0,isReducible:!0,parser:(e,r,a)=>(a.proxyEntity??"")+e.value},{code:[92,160],name:"proxyByte",parser:l},{code:60,name:"isVisible",parser:u},{code:48,name:"lineTypeScale",parser:l},{code:370,name:"lineweight",parser:l},{code:62,name:"colorIndex",parser:l},{code:347,name:"materialObjectHardId",parser:l},{code:6,name:"lineType",parser:l},{code:8,name:"layer",parser:l},{code:410,name:"layoutTabName",parser:l},{code:67,name:"isInPaperSpace",parser:u},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:l},{code:102,parser:b},{code:102,parser:b},{code:102,parser:b},{code:5,name:"handle",parser:l}];function O(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function y(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let S={extrusionDirection:{x:0,y:0,z:1}},N=[{code:210,name:"extrusionDirection",parser:p},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:100,name:"subclassMarker",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:l},{code:100},...T];class L{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){y(this,"parser",c(N,S))}}y(L,"ForEntityName","ARC"),(eZ=rN||(rN={}))[eZ.BeforeText=0]="BeforeText",eZ[eZ.AboveText=1]="AboveText",eZ[eZ.None=2]="None";let P=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:rr.Above,defaultValueImperial:rr.Center},{name:"DIMZIN",code:78,defaultValue:ra.Trailing,defaultValueImperial:ra.Feet},{name:"DIMAZIN",code:79,defaultValue:rn.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:rt.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:ro.Center},{name:"DIMTZIN",code:284,defaultValue:ra.Trailing,defaultValueImperial:ra.Feet},{name:"DIMALTZ",code:285,defaultValue:ra.Trailing},{name:"DIMALTTZ",code:286,defaultValue:ra.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],A=[{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,parser(e,r){for(;!o(e,0,"EOF")&&!o(e,102,"}");)e=r.next()}},{code:5,name:"handle",parser:l}],_=c([...P.map(e=>({...e,parser:l})),{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},{code:105,name:"handle",parser:l},...A.filter(e=>5!==e.code)]),C=[{code:3,name:"styleName",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:51,name:"ocsRotation",parser:l},{code:53,name:"textRotation",parser:l},{code:1,name:"text",parser:l},{code:42,name:"measurement",parser:l},{code:72,name:"textLineSpacingStyle",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:70,name:"dimensionType",parser:l},{code:11,name:"textPoint",parser:p},{code:10,name:"definitionPoint",parser:p},{code:2,name:"name",parser:l},{code:280,name:"version",parser:l},{code:100}],M=[{code:100},{code:52,name:"obliqueAngle",parser:l},{code:50,name:"rotationAngle",parser:l},{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:12,name:"insertionPoint",parser:p},{code:100,name:"subclassMarker",parser:l}],x=[{code:16,name:"arcPoint",parser:p},{code:15,name:"centerPoint",parser:p},{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:100,name:"subclassMarker",parser:l}],F=[{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:100,name:"subclassMarker",parser:l}],R=[{code:40,name:"leaderLength",parser:l},{code:15,name:"subDefinitionPoint",parser:p},{code:100,name:"subclassMarker",parser:l}],v=[{code:100,parser(e,r,a){let n=function(e){switch(e){case"AcDbAlignedDimension":return c(M);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return c(x);case"AcDbOrdinateDimension":return c(F);case"AcDbRadialDimension":case"AcDbDiametricDimension":return c(R)}return null}(e.value);if(!n)return i;n(e,r,a)},pushContext:!0},...P.map(e=>({...e,parser:l})),...C,...T];class w{parseEntity(e,r){let a={};return c(v)(r,e,a),a}}e$="DIMENSION",(eJ="ForEntityName")in w?Object.defineProperty(w,eJ,{value:e$,enumerable:!0,configurable:!0,writable:!0}):w[eJ]=e$;let V=[{code:73},{code:17,name:"leaderEnd",parser:p},{code:16,name:"leaderStart",parser:p},{code:71,name:"hasLeader",parser:u},{code:41,name:"endAngle",parser:l},{code:40,name:"startAngle",parser:l},{code:70,name:"isPartial",parser:u},{code:15,name:"centerPoint",parser:p},{code:14,name:"xline2Point",parser:p},{code:13,name:"xline1Point",parser:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...P.map(e=>({...e,parser:l})),...C,...T];class k{parseEntity(e,r){let a={};return c(V)(r,e,a),a}}function B(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eQ="ARC_DIMENSION",(eq="ForEntityName")in k?Object.defineProperty(k,eq,{value:eQ,enumerable:!0,configurable:!0,writable:!0}):k[eq]=eQ,(e0=rL||(rL={}))[e0.NONE=0]="NONE",e0[e0.INVISIBLE=1]="INVISIBLE",e0[e0.CONSTANT=2]="CONSTANT",e0[e0.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",e0[e0.PRESET=8]="PRESET",(e1=rP||(rP={}))[e1.MULTILINE=2]="MULTILINE",e1[e1.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",(e4=rA||(rA={}))[e4.NONE=0]="NONE",e4[e4.MIRRORED_X=2]="MIRRORED_X",e4[e4.MIRRORED_Y=4]="MIRRORED_Y",(e2=r_||(r_={}))[e2.LEFT=0]="LEFT",e2[e2.CENTER=1]="CENTER",e2[e2.RIGHT=2]="RIGHT",e2[e2.ALIGNED=3]="ALIGNED",e2[e2.MIDDLE=4]="MIDDLE",e2[e2.FIT=5]="FIT",(e3=rC||(rC={}))[e3.BASELINE=0]="BASELINE",e3[e3.BOTTOM=1]="BOTTOM",e3[e3.MIDDLE=2]="MIDDLE",e3[e3.TOP=3]="TOP";let H={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:r_.LEFT,valign:rC.BASELINE,extrusionDirection:{x:0,y:0,z:1}},G=[{code:73,name:"valign",parser:l},{code:100},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:72,name:"valign",parser:l},{code:72,name:"halign",parser:l},{code:71,name:"generationFlag",parser:l},{code:7,name:"styleName",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"xScale",parser:l},{code:50,name:"rotation",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class U{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){B(this,"parser",c(G,H))}}function W(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}B(U,"ForEntityName","TEXT");let j={...H},Y=[{code:2},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:u},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedRecord",parser:u},{code:100},{code:280,name:"isLocked",parser:u},{code:74,name:"valign",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:3,name:"prompt",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},...G.slice(2)];class X{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){W(this,"parser",c(Y,j))}}function z(e,r){let a={};for(let n of e){let e=r(n);null!=e&&(a[e]??(a[e]=[]),a[e].push(n))}return a}function*K(e,r=1/0,a=1){for(let n=e;n!==r;n+=a)yield n}function Z(e){return{x:e.x??0,y:e.y??0,z:e.z??0}}W(X,"ForEntityName","ATTDEF"),(e7=rM||(rM={}))[e7.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",e7[e7.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",e7[e7.BY_STYLE=5]="BY_STYLE";var J,$,q,Q,ee,er,ea,en,et,eo,es,ei,ec,ed,el,ep,eu,em,eE,eh,ef,eI,eb,eg,eD,eT,eO,ey,eS,eN,eL,eP,eA,e_,eC,eM,ex,eF,eR,ev,ew,eV,ek,eB,eH,eG,eU,eW,ej,eY,eX,ez,eK,eZ,eJ,e$,eq,eQ,e0,e1,e4,e2,e3,e7,e5,e6,e9,e8,re,rr,ra,rn,rt,ro,rs,ri,rc,rd,rl,rp,ru,rm,rE,rh,rf,rI,rb,rg,rD,rT,rO,ry,rS,rN,rL,rP,rA,r_,rC,rM,rx,rF,rR,rv,rw,rV,rk,rB,rH,rG,rU,rW,rj,rY,rX,rz,rK,rZ,rJ,r$,rq=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];function rQ(e){return rq[e]}function r0(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let r1={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},r4=[{code:46,name:"annotationHeight",parser:l},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:l},{code:49,name:"columnGutter",parser:l},{code:48,name:"columnWidth",parser:l},{code:79,name:"columnAutoHeight",parser:l},{code:78,name:"columnFlowReversed",parser:l},{code:76,name:"columnCount",parser:l},{code:75,name:"columnType",parser:l},{code:441,name:"backgroundFillTransparency",parser:l},{code:63,name:"backgroundFillColor",parser:l},{code:45,name:"fillBoxScale",parser:l},{code:[...K(430,440)],name:"backgroundColor",parser:l},{code:[...K(420,430)],name:"backgroundColor",parser:l},{code:90,name:"backgroundFill",parser:l},{code:44,name:"lineSpacing",parser:l},{code:73,name:"lineSpacingStyle",parser:l},{code:50,name:"rotation",parser:l},{code:43},{code:42},{code:11,name:"direction",parser:p},{code:210,name:"extrusionDirection",parser:p},{code:7,name:"styleName",parser:l},...O("text"),{code:72,name:"drawingDirection",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:41,name:"width",parser:l},{code:40,name:"height",parser:l},{code:10,name:"insertionPoint",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class r2{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r0(this,"parser",c(r4,r1))}}function r3(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r0(r2,"ForEntityName","MTEXT");let r7={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},r5=[...r4.slice(r4.findIndex(({name:e})=>"columnType"===e),r4.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!o(e,0,"MTEXT"))return i}},{code:2,name:"definitionTag",parser:l},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardId",parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:u},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedEntriesKeep",parser:u},{code:100},{code:280,name:"lockPositionFlag",parser:u},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"alignmentPoint",parser:p},{code:74,name:"verticalJustification",parser:l},{code:72,name:"horizontalJustification",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:7,name:"textStyle",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"scale",parser:l},{code:50,name:"rotation",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100},...T];class r6{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r3(this,"parser",c(r5,r7))}}function r9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r3(r6,"ForEntityName","ATTRIB");let r8=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class ae{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r9(this,"parser",c(r8))}}function ar(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r9(ae,"ForEntityName","BODY");let aa={thickness:0,extrusionDirection:{x:0,y:0,z:1}},an=[{code:210,name:"extrusionDirection",parser:p},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class at{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ar(this,"parser",c(an,aa))}}function ao(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ar(at,"ForEntityName","CIRCLE");let as={extrusionDirection:{x:0,y:0,z:1}},ai=[{code:42,name:"endAngle",parser:l},{code:41,name:"startAngle",parser:l},{code:40,name:"axisRatio",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"majorAxisEndPoint",parser:p},{code:10,name:"center",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class ac{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ao(this,"parser",c(ai,as))}}function ad(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ao(ac,"ForEntityName","ELLIPSE"),(J=rx||(rx={}))[J.First=1]="First",J[J.Second=2]="Second",J[J.Third=4]="Third",J[J.Fourth=8]="Fourth";let al=[{code:13,name:"vertices.3",parser:p},{code:12,name:"vertices.2",parser:p},{code:11,name:"vertices.1",parser:p},{code:10,name:"vertices.0",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class ap{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ad(this,"parser",c(al))}}ad(ap,"ForEntityName","3DFACE");let au=[{code:330,name:"sourceBoundaryObjects",parser:l,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:l}],am=[{code:11,name:"end",parser:p},{code:10,name:"start",parser:p}],aE=[{code:73,name:"isCCW",parser:u},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p}],ah=[{code:73,name:"isCCW",parser:u},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"lengthOfMinorAxis",parser:l},{code:11,name:"end",parser:p},{code:10,name:"center",parser:p}],af=[{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:11,name:"fitDatum",isMultiple:!0,parser:p},{code:97,name:"numberOfFitData",parser:l},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let a={...s(r),weight:1};return 42===(e=r.next()).code?a.weight=e.value:r.rewind(),a}},{code:40,name:"knots",isMultiple:!0,parser:l},{code:96,name:"numberOfControlPoints",parser:l},{code:95,name:"numberOfKnots",parser:l},{code:74,name:"isPeriodic",parser:u},{code:73,name:"splineFlag",parser:l},{code:94,name:"degree",parser:l}],aI={[rE.Line]:am,[rE.Circular]:aE,[rE.Elliptic]:ah,[rE.Spline]:af},ab=[...au,{code:72,name:"edges",parser(e,r){let a={type:e.value},n=c(aI[a.type]);if(!n)throw Error(`Invalid edge type ${a.type}`);return n(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:l}],ag=[...au,{code:10,name:"vertices",parser(e,r){let a={...s(r),bulge:0};return 42===(e=r.next()).code?a.bulge=e.value:r.rewind(),a},isMultiple:!0},{code:93,name:"numberOfVertices",parser:l},{code:73,name:"isClosed",parser:u},{code:72,name:"hasBulge",parser:u}],aD=[{code:49,name:"dashLengths",parser:l,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:l},{code:45,name:"offset",parser:aT},{code:43,name:"base",parser:aT},{code:53,name:"angle",parser:l}];function aT(e,r){let a=e.code+1,n={x:e.value,y:1};return(e=r.next()).code===a?n.y=e.value:r.rewind(),n}function aO(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let ay={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},aS=[{code:470},{code:463},{code:462,name:"colorTint",parser:l},{code:461,name:"gradientDefinition",parser:l},{code:460,name:"gradientRotation",parser:l},{code:453,name:"numberOfColors",parser:l},{code:452,name:"gradientColorFlag",parser:l},{code:451},{code:450,name:"gradientFlag",parser:l},{code:10,name:"seedPoints",parser:p,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:p},{code:98,name:"numberOfSeedPoints",parser:l},{code:47,name:"pixelSize",parser:l},{code:53,name:"definitionLines",parser:function(e,r){let a={};return c(aD)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:l},{code:77,name:"isDouble",parser:u},{code:73,name:"isAnnotated",parser:u},{code:41,name:"patternScale",parser:l},{code:52,name:"patternAngle",parser:l},{code:76,name:"patternType",parser:l},{code:75,name:"hatchStyle",parser:l},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},n=a.boundaryPathTypeFlag&rm.Polyline;return(e=r.next(),n)?c(ag)(e,r,a):c(ab)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:l},{code:71,name:"associativity",parser:l},{code:63,name:"patternFillColor",parser:l},{code:70,name:"solidFill",parser:l},{code:2,name:"patternName",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:10,name:"elevationPoint",parser:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class aN{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aO(this,"parser",c(aS,ay))}}function aL(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aO(aN,"ForEntityName","HATCH"),($=rF||(rF={}))[$.ShowImage=1]="ShowImage",$[$.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",$[$.UseClippingBoundary=4]="UseClippingBoundary",$[$.TransparencyIsOn=8]="TransparencyIsOn",(q=rR||(rR={}))[q.Rectangular=1]="Rectangular",q[q.Polygonal=2]="Polygonal",(Q=rv||(rv={}))[Q.Outside=0]="Outside",Q[Q.Inside=1]="Inside";let aP={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},aA=[{code:290,name:"clipMode",parser:l},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:p},{code:91,name:"countBoundaryPoints",parser:l},{code:71,name:"clippingBoundaryType",parser:l},{code:360,name:"imageDefReactorHandle",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipped",parser:u},{code:70,name:"flags",parser:l},{code:340,name:"imageDefHandle",parser:l},{code:13,name:"imageSize",parser:p},{code:12,name:"vPixel",parser:p},{code:11,name:"uPixel",parser:p},{code:10,name:"position",parser:p},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class a_{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aL(this,"parser",c(aA,aP))}}function aC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aL(a_,"ForEntityName","IMAGE");let aM={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},ax=[{code:210,name:"extrusionDirection",parser:p},{code:45,name:"rowSpacing",parser:l},{code:44,name:"columnSpacing",parser:l},{code:71,name:"rowCount",parser:l},{code:70,name:"columnCount",parser:l},{code:50,name:"rotation",parser:l},{code:43,name:"zScale",parser:l},{code:42,name:"yScale",parser:l},{code:41,name:"xScale",parser:l},{code:10,name:"insertionPoint",parser:p},{code:2,name:"name",parser:l},{code:66,name:"isVariableAttributes",parser:u},{code:100,name:"subclassMarker",parser:l},...T];class aF{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aC(this,"parser",c(ax,aM))}}function aR(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aC(aF,"ForEntityName","INSERT");let av={isArrowheadEnabled:!0},aw=[{code:213,name:"offsetFromAnnotation",parser:p},{code:212,name:"offsetFromBlock",parser:p},{code:211,name:"horizontalDirection",parser:p},{code:210,name:"normal",parser:p},{code:340,name:"associatedAnnotation",parser:l},{code:77,name:"byBlockColor",parser:l},{code:10,name:"vertices",parser:p,isMultiple:!0},{code:76,name:"numberOfVertices",parser:l},{code:41,name:"textWidth",parser:l},{code:40,name:"textHeight",parser:l},{code:75,name:"isHooklineExists",parser:u},{code:74,name:"isHooklineSameDirection",parser:u},{code:73,name:"leaderCreationFlag",parser:l},{code:72,name:"isSpline",parser:u},{code:71,name:"isArrowheadEnabled",parser:u},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aV{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aR(this,"parser",c(aw,av))}}function ak(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aR(aV,"ForEntityName","LEADER"),(ee=rw||(rw={}))[ee.TextAnnotation=0]="TextAnnotation",ee[ee.ToleranceAnnotation=1]="ToleranceAnnotation",ee[ee.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",ee[ee.NoAnnotation=3]="NoAnnotation";let aB={thickness:0,extrusionDirection:{x:0,y:0,z:1}},aH=[{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aG{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ak(this,"parser",c(aH,aB))}}ak(aG,"ForEntityName","LINE"),(er=rV||(rV={}))[er.IS_CLOSED=1]="IS_CLOSED",er[er.PLINE_GEN=128]="PLINE_GEN";let aU={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},aW={bulge:0},aj=[{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:91,name:"id",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l}],aY=[{code:210,name:"extrusionDirection",parser:p},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return c(aj,aW)(e,r,a),a}},{code:39,name:"thickness",parser:l},{code:38,name:"elevation",parser:l},{code:43,name:"constantWidth",parser:l},{code:70,name:"flag",parser:l},{code:90,name:"numberOfVertices",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aX{parseEntity(e,r){let a={};return c(aY,aU)(r,e,a),a}}function az(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}en="LWPOLYLINE",(ea="ForEntityName")in aX?Object.defineProperty(aX,ea,{value:en,enumerable:!0,configurable:!0,writable:!0}):aX[ea]=en;let aK=[{code:90,name:"overridenSubEntityCount",parser:l},{code:140,name:"edgeCreaseWeights",parser:l,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:l},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let n=0;n<a.edgeCount;++n){let n=[];e=r.next(),n[0]=e.value,e=r.next(),n[1]=e.value,a.edgeIndices.push(n)}}},{code:93,parser(e,r,a){a.totalFaceIndices=e.value,a.faceIndices=[];let n=[];for(let t=0;t<a.totalFaceIndices&&!o(e,0);++t)e=r.next(),n.push(e.value);let t=0;for(;t<n.length;){let e=n[t++],r=[];for(let a=0;a<e;++a)r.push(n[t++]);a.faceIndices.push(r)}}},{code:10,name:"vertices",parser:p,isMultiple:!0},{code:92,name:"verticesCount",parser:l},{code:91,name:"subdivisionLevel",parser:l},{code:40,name:"blendCrease",parser:l},{code:72,name:"isBlendCreased",parser:u},{code:71,name:"version",parser:l},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...T];class aZ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){az(this,"parser",c(aK))}}function aJ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}az(aZ,"ForEntityName","MESH"),(et=rk||(rk={}))[et.Top=0]="Top",et[et.Zero=1]="Zero",et[et.Bottom=2]="Bottom",(eo=rB||(rB={}))[eo.HasVertex=1]="HasVertex",eo[eo.Closed=2]="Closed",eo[eo.SuppressStartCaps=4]="SuppressStartCaps",eo[eo.SuppressEndCaps=8]="SuppressEndCaps";let a$=[{code:42,name:"fillParameters",parser:l,isMultiple:!0},{code:75,name:"fillCount",parser:l},{code:41,name:"parameters",parser:l,isMultiple:!0},{code:74,name:"parameterCount",parser:l}],aq=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=c(a$),n={};return a(e,r,n),n},isMultiple:!0},{code:13,name:"miterDirection",parser:p},{code:12,name:"direction",parser:p},{code:11,name:"position",parser:p}],aQ=[{code:[11,12,13],name:"segments",parser(e,r){let a=c(aq),n={};return a(e,r,n),n},isMultiple:!0},{code:210,name:"extrusionDirection",parser:p},{code:10,name:"startPosition",parser:p},{code:73,name:"styleCount",parser:l},{code:72,name:"vertexCount",parser:l},{code:71,name:"flags",parser:l},{code:70,name:"justification",parser:l},{code:40,name:"scale",parser:l},{code:340,name:"styleObjectHandle",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class a0{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aJ(this,"parser",c(aQ))}}function a1(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aJ(a0,"ForEntityName","MLINE");let a4={},a2=[{code:170,name:"multileaderType",parser:l},{code:291,name:"doglegEnabled",parser:u},{code:40,name:"doglegLength",parser:l},{code:172,name:"contentType",parser:l},{code:3,name:"textContent",parser:l},{code:12,name:"textAnchor",parser:p},{code:344,name:"blockHandle",parser:l},{code:15,name:"blockPosition",parser:p},{code:302,name:"leaderSections",parser:function(e,r,a){let n;let t={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:t.landingPoint=(n.value,s(r));break;case 11:t.doglegVector=(n.value,s(r));break;case 40:t.doglegLength=n.value;break;case 304:t.leaderLines.push(function(e,r,a){let n;let t={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&t.vertices.push((n.value,s(r)));return t}(0,r))}}return t},isMultiple:!0},...T];class a3{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a1(this,"parser",c(a2,a4))}}function a7(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a1(a3,"ForEntityName","MULTILEADER");let a5={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},a6=[{code:50,name:"angle",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:l},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class a9{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a7(this,"parser",c(a6,a5))}}function a8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a7(a9,"ForEntityName","POINT"),(es=rH||(rH={}))[es.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",es[es.CURVE_FIT=2]="CURVE_FIT",es[es.SPLINE_FIT=4]="SPLINE_FIT",es[es.POLYLINE_3D=8]="POLYLINE_3D",es[es.POLYGON_3D=16]="POLYGON_3D",es[es.CLOSED_POLYGON=32]="CLOSED_POLYGON",es[es.POLYFACE=64]="POLYFACE",es[es.CONTINUOUS=128]="CONTINUOUS",(ei=rG||(rG={}))[ei.NONE=0]="NONE",ei[ei.QUADRATIC=5]="QUADRATIC",ei[ei.CUBIC=6]="CUBIC",ei[ei.BEZIER=8]="BEZIER",(ec=rU||(rU={}))[ec.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",ec[ec.TANGENT_DEFINED=2]="TANGENT_DEFINED",ec[ec.NOT_USED=4]="NOT_USED",ec[ec.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",ec[ec.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",ec[ec.FOR_POLYLINE=32]="FOR_POLYLINE",ec[ec.FOR_POLYGON=64]="FOR_POLYGON",ec[ec.POLYFACE=128]="POLYFACE";let ne={startWidth:0,endWidth:0,bulge:0},nr=[{code:91,name:"id",parser:l},{code:[...K(71,75)],name:"faces",isMultiple:!0,parser:l},{code:50,name:"tangentDirection",parser:l},{code:70,name:"flag",parser:l},{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:30,name:"z",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...T];class na{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a8(this,"parser",c(nr,ne))}}function nn(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a8(na,"ForEntityName","VERTEX");let nt={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},no=[{code:0,name:"vertices",isMultiple:!0,parser:(e,r)=>o(e,0,"VERTEX")?(e=r.next(),new na().parseEntity(r,e)):i},{code:210,name:"extrusionDirection",parser:p},{code:75,name:"smoothType",parser:l},{code:74,name:"surfaceNDensity",parser:l},{code:73,name:"surfaceMDensity",parser:l},{code:72,name:"meshNVertexCount",parser:l},{code:71,name:"meshMVertexCount",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:70,name:"flag",parser:l},{code:39,name:"thickness",parser:l},{code:30,name:"elevation",parser:l},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:l},...T];class ns{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nn(this,"parser",c(no,nt))}}function ni(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nn(ns,"ForEntityName","POLYLINE");let nc=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nd{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ni(this,"parser",c(nc))}}function nl(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ni(nd,"ForEntityName","RAY");let np=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nu{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nl(this,"parser",c(np))}}function nm(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nl(nu,"ForEntityName","REGION");let nE={vertices:[],backLineVertices:[]},nh=[{code:360,name:"geometrySettingHardId",parser:l},{code:12,name:"backLineVertices",isMultiple:!0,parser:p},{code:93,name:"numberOfBackLineVertices",parser:l},{code:11,name:"vertices",isMultiple:!0,parser:p},{code:92,name:"verticesCount",parser:l},{code:[63,411],name:"indicatorColor",parser:l},{code:70,name:"indicatorTransparency",parser:l},{code:41,name:"bottomHeight",parser:l},{code:40,name:"topHeight",parser:l},{code:10,name:"verticalDirection",parser:p},{code:1,name:"name",parser:l},{code:91,name:"flag",parser:l},{code:90,name:"state",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nf{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nm(this,"parser",c(nh,nE))}}function nI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nm(nf,"ForEntityName","SECTION");let nb={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},ng=[{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:l},{code:[...K(10,14)],name:"points",isMultiple:!0,parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nD{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nI(this,"parser",c(ng,nb))}}function nT(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nI(nD,"ForEntityName","SOLID");let nO=[{code:350,name:"historyObjectSoftId",parser:l},{code:100,name:"subclassMarker",parser:l},...O("data"),{code:70,name:"version",parser:l},{code:100},...T];class ny{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nT(this,"parser",c(nO))}}function nS(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nT(ny,"ForEntityName","3DSOLID"),(ed=rW||(rW={}))[ed.NONE=0]="NONE",ed[ed.CLOSED=1]="CLOSED",ed[ed.PERIODIC=2]="PERIODIC",ed[ed.RATIONAL=4]="RATIONAL",ed[ed.PLANAR=8]="PLANAR",ed[ed.LINEAR=16]="LINEAR";let nN={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},nL=[{code:11,name:"fitPoints",isMultiple:!0,parser:p},{code:10,name:"controlPoints",isMultiple:!0,parser:p},{code:41,name:"weights",isMultiple:!0,parser:l},{code:40,name:"knots",isMultiple:!0,parser:l},{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:44,name:"fitTolerance",parser:l},{code:43,name:"controlTolerance",parser:l},{code:42,name:"knotTolerance",parser:l},{code:74,name:"numberOfFitPoints",parser:l},{code:73,name:"numberOfControlPoints",parser:l},{code:72,name:"numberOfKnots",parser:l},{code:71,name:"degree",parser:l},{code:70,name:"flag",parser:l},{code:210,name:"normal",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nP{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nS(this,"parser",c(nL,nN))}}function nA(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nS(nP,"ForEntityName","SPLINE");let n_=[{code:11,name:"xAxisDirection",parser:p},{code:210,name:"extrusionDirection",parser:p},{code:1,name:"text",parser:l},{code:10,name:"position",parser:p},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nC{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nA(this,"parser",c(n_))}}nA(nC,"ForEntityName","TOLERANCE");let nM=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:l},{code:361,name:"sunId",parser:l},{code:431,name:"ambientLightColorName",parser:l},{code:421,name:"ambientLightColorInstance",parser:l},{code:63,name:"ambientLightColorIndex",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLighting",parser:u},{code:348,name:"visualStyleId",parser:l},{code:333,name:"shadePlotId",parser:l},{code:332,name:"backgroundId",parser:l},{code:61,name:"majorGridFrequency",parser:l},{code:170,name:"shadePlotMode",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:346,name:"ucsBaseId",parser:l},{code:345,name:"ucsId",parser:l},{code:112,name:"ucsYAxis",parser:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{code:74,name:"iconFlag",parser:l},{code:71,name:"ucsPerViewport",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"sheetName",parser:l},{code:340,name:"clippingBoundaryId",parser:l},{code:90,name:"statusBitFlags",parser:l},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:l},{code:72,name:"circleZoomPercent",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClipZ",parser:l},{code:43,name:"frontClipZ",parser:l},{code:42,name:"perspectiveLensLength",parser:l},{code:17,name:"targetPoint",parser:p},{code:16,name:"viewDirection",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBase",parser:p},{code:12,name:"displayCenter",parser:p},{code:69,name:"viewportId",parser:l},{code:68,name:"status",parser:l},{code:41,name:"height",parser:l},{code:40,name:"width",parser:l},{code:10,name:"viewportCenter",parser:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class nx{parseEntity(e,r){let a={};return c(nM)(r,e,a),a}}function nF(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ep="VIEWPORT",(el="ForEntityName")in nx?Object.defineProperty(nx,el,{value:ep,enumerable:!0,configurable:!0,writable:!0}):nx[el]=ep,(eu=rj||(rj={}))[eu.ShowImage=1]="ShowImage",eu[eu.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",eu[eu.UseClippingBoundary=4]="UseClippingBoundary",eu[eu.Transparency=8]="Transparency";let nR={brightness:50,constrast:50,fade:0},nv=[{code:14,name:"boundary",isMultiple:!0,parser:p},{code:91,name:"numberOfVertices",parser:l},{code:71,name:"boundaryType",parser:l},{code:360,name:"imageDefReactorHardId",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipping",parser:u},{code:70,name:"displayFlag",parser:l},{code:340,name:"imageDefHardId",parser:l},{code:13,name:"imageSize",parser:p},{code:12,name:"vDirection",parser:p},{code:11,name:"uDirection",parser:p},{code:10,name:"position",parser:p},{code:90,name:"classVersion",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nw{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nF(this,"parser",c(nv,nR))}}function nV(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nF(nw,"ForEntityName","WIPEOUT");let nk=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nV(this,"parser",c(nk))}}nV(nB,"ForEntityName","XLINE");let nH=Object.fromEntries([L,k,X,r6,ae,at,w,ac,ap,a_,aF,aV,aG,aX,aZ,a0,r2,a3,a9,ns,nd,nu,nf,nD,ny,nP,U,nC,aN,na,nx,nw,nB].map(e=>[e.ForEntityName,new e]));function nG(e,r){let a=[];for(;!o(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){r.rewind();break}let n=nH[e.value];if(n){let t=e.value;e=r.next();let o=n.parseEntity(r,e);o.type=t,D(o),a.push(o)}else r.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=r.next()}return a}function nU(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"BLOCK")){let n=nW(e=r.next(),r);D(n),n.name&&(a[n.name]=n)}e=r.next()}return a}function nW(e,r){let a={};for(;!o(e,0,"EOF");){if(o(e,0,"ENDBLK")){for(e=r.next();!o(e,0,"EOF");){if(o(e,100,"AcDbBlockEnd"))return a;e=r.next()}break}switch(e.code){case 1:a.xrefPath=e.value;break;case 2:a.name=e.value;break;case 3:a.name2=e.value;break;case 5:a.handle=e.value;break;case 8:a.layer=e.value;break;case 10:a.position=s(r);break;case 67:a.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(a.type=e.value);break;case 100:break;case 330:a.ownerHandle=e.value;break;case 0:a.entities=nG(e,r)}e=r.next()}return a}function nj(e,r){let a=null,n={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");)9===e.code?a=e.value:10===e.code?n[a]=s(r):n[a]=e.value,e=r.next();return n}(em=rY||(rY={}))[em.NOT_APPLICABLE=0]="NOT_APPLICABLE",em[em.KEEP_EXISTING=1]="KEEP_EXISTING",em[em.USE_CLONE=2]="USE_CLONE",em[em.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",em[em.VALUE_NAME=4]="VALUE_NAME",em[em.UNMANGLE_NAME=5]="UNMANGLE_NAME";let nY=[{code:330,name:"ownerObjectId",parser:l},{code:102,parser:b},{code:102,parser:b},{code:102,parser:b},{code:5,name:"handle",parser:l}],nX=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:l},{code:280,name:"isHardOwned",parser:u},{code:100,name:"subclassMarker",parser:l},...nY];(eE=rX||(rX={}))[eE.PSLTSCALE=1]="PSLTSCALE",eE[eE.LIMCHECK=2]="LIMCHECK",(eh=rz||(rz={}))[eh.INCHES=0]="INCHES",eh[eh.MILLIMETERS=1]="MILLIMETERS",eh[eh.PIXELS=2]="PIXELS",(ef=rK||(rK={}))[ef.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",ef[ef.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",ef[ef.DRAWING_LIMITS=2]="DRAWING_LIMITS",ef[ef.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",ef[ef.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",ef[ef.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",(eI=rZ||(rZ={}))[eI.AS_DISPLAYED=0]="AS_DISPLAYED",eI[eI.WIREFRAME=1]="WIREFRAME",eI[eI.HIDDEN=2]="HIDDEN",eI[eI.RENDERED=3]="RENDERED",(eb=rJ||(rJ={}))[eb.DRAFT=0]="DRAFT",eb[eb.PREVIEW=1]="PREVIEW",eb[eb.NORMAL=2]="NORMAL",eb[eb.PRESENTATION=3]="PRESENTATION",eb[eb.MAXIMUM=4]="MAXIMUM",eb[eb.CUSTOM=5]="CUSTOM";let nz=[{code:333,name:"shadePlotId",parser:l},{code:149,name:"imageOriginY",parser:l},{code:148,name:"imageOriginX",parser:l},{code:147,name:"scaleFactor",parser:l},{code:78,name:"shadePlotCustomDPI",parser:l},{code:77,name:"shadePlotResolution",parser:l},{code:76,name:"shadePlotMode",parser:l},{code:75,name:"standardScaleType",parser:l},{code:7,name:"currentStyleSheet",parser:l},{code:74,name:"plotType",parser:l},{code:73,name:"plotRotation",parser:l},{code:72,name:"plotPaperUnit",parser:l},{code:70,name:"layoutFlag",parser:l},{code:143,name:"printScaleDenominator",parser:l},{code:142,name:"printScaleNumerator",parser:l},{code:141,name:"windowAreaYMax",parser:l},{code:140,name:"windowAreaXMax",parser:l},{code:49,name:"windowAreaYMin",parser:l},{code:48,name:"windowAreaXMin",parser:l},{code:47,name:"plotOriginY",parser:l},{code:46,name:"plotOriginX",parser:l},{code:45,name:"paperHeight",parser:l},{code:44,name:"paperWidth",parser:l},{code:43,name:"marginTop",parser:l},{code:42,name:"marginRight",parser:l},{code:41,name:"marginBottom",parser:l},{code:40,name:"marginLeft",parser:l},{code:6,name:"plotViewName",parser:l},{code:4,name:"paperSize",parser:l},{code:2,name:"configName",parser:l},{code:1,name:"pageSetupName",parser:l},{code:100,name:"subclassMarker",parser:l},...nY],nK=[{code:346,name:"orthographicUcsId",parser:l},{code:345,name:"namedUcsId",parser:l},{code:331,name:"viewportId",parser:l},{code:330,name:"paperSpaceTableId",parser:l},{code:76,name:"orthographicType",parser:l},{code:17,name:"ucsYAxis",parser:p},{code:16,name:"ucsXAxis",parser:p},{code:13,name:"ucsOrigin",parser:p},{code:146,name:"elevation",parser:l},{code:15,name:"maxExtent",parser:p},{code:14,name:"minExtent",parser:p},{code:12,name:"insertionPoint",parser:p},{code:11,name:"maxLimit",parser:p},{code:10,name:"minLimit",parser:p},{code:71,name:"tabOrder",parser:l},{code:70,name:"controlFlag",parser:l},{code:1,name:"layoutName",parser:l},{code:100,name:"subclassMarker",parser:l},...nz],nZ=[{code:40,name:"wcsToOCSTransform",parser:nJ},{code:40,name:"ocsToWCSTransform",parser:nJ},{code:41,name:"backClippingDistance",parser:l},{code:73,name:"isBackClipping",parser:u,pushContext:!0},{code:40,name:"frontClippingDistance",parser:l},{code:72,name:"isFrontClipping",parser:u,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:u},{code:11,name:"position",parser:p},{code:210,name:"normal",parser:p},{code:10,name:"boundaryVertices",parser:p,isMultiple:!0},{code:70,name:"boundaryCount",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...nY];function nJ(e,r){let a=[];for(let n=0;n<3&&o(e,40);++n){let n=[];for(let a=0;a<4&&o(e,40);++a)n.push(e.value),e=r.next();a.push(n)}return r.rewind(),a}let n$=[{code:280,name:"cloneFlag",parser(e,r,a){var n;let t=e.value;for(e=r.next(),a.data=[];1<=(n=e.code)&&n<=369&&5!==n&&105!==n;)a.data.push(e),e=r.next();return r.rewind(),t}},{code:100,name:"subclassMarker",parser:l},...nY],nq={LAYOUT:nK,PLOTSETTINGS:nz,DICTIONARY:nX,SPATIAL_FILTER:nZ};function nQ(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let n=e.value,t=nq[n];if(0===e.code&&t?.length){let o=c(t),s={name:n};o(e=r.next(),r,s)?(a.push(s),e=r.peek()):e=r.next()}else e=r.next()}return{byName:z(a,({name:e})=>e)}}let n0=c([{code:310,name:"bmpPreview",parser:l},{code:281,name:"scalability",parser:l},{code:280,name:"explodability",parser:l},{code:70,name:"insertionUnits",parser:l},{code:340,name:"layoutObjects",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...A]),n1=c([{code:347,name:"materialObjectId",parser:l},{code:390,name:"plotStyleNameObjectId",parser:l},{code:370,name:"lineweight",parser:l},{code:290,name:"isPlotting",parser:u},{code:6,name:"lineType",parser:l},{code:62,name:"colorIndex",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...A]);(eg=r$||(r$={}))[eg.NONE=0]="NONE",eg[eg.AbsoluteRotation=1]="AbsoluteRotation",eg[eg.TextEmbedded=2]="TextEmbedded",eg[eg.ShapeEmbedded=4]="ShapeEmbedded";let n4=c([{code:9,name:"text",parser:l},{code:45,name:"offsetY",parser:l},{code:44,name:"offsetX",parser:l},{code:50,name:"rotation",parser:l},{code:46,name:"scale",parser:l},{code:340,name:"styleObjectId",parser:l},{code:75,name:"shapeNumber",parser:l},{code:74,name:"elementTypeFlag",parser:l},{code:49,name:"elementLength",parser:l}],{elementTypeFlag:0,elementLength:0}),n2=c([{code:49,name:"pattern",parser(e,r){let a={};return n4(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:l},{code:73,name:"numberOfLineTypes",parser:l},{code:72,parser:l},{code:3,name:"description",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...A]),n3=c([{code:1e3,name:"extendedFont",parser:l},{code:1001},{code:4,name:"bigFont",parser:l},{code:3,name:"font",parser:l},{code:42,name:"lastHeight",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:50,name:"obliqueAngle",parser:l},{code:41,name:"widthFactor",parser:l},{code:40,name:"fixedTextHeight",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...A]),n7=c([{code:[63,421,431],name:"ambientColor",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLightingOn",parser:u},{code:348,name:"visualStyleObjectId",parser:l},{code:333,name:"shadePlotObjectId",parser:l},{code:332,name:"backgroundObjectId",parser:l},{code:61,name:"majorGridLines",parser:l},{code:170,name:"shadePlotSetting",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:112,name:"ucsYAxis",parser:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{code:74,name:"ucsIconSetting",parser:l},{code:71,name:"viewMode",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"styleSheet",parser:l},{code:[331,441],name:"frozenLayers",parser:l,isMultiple:!0},{code:72,name:"circleSides",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapRotationAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClippingPlane",parser:l},{code:43,name:"frontClippingPlane",parser:l},{code:42,name:"lensLength",parser:l},{code:17,name:"viewTarget",parser:p},{code:16,name:"viewDirectionFromTarget",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBasePoint",parser:p},{code:12,name:"center",parser:p},{code:11,name:"upperRightCorner",parser:p},{code:10,name:"lowerLeftCorner",parser:p},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...A]),n5={BLOCK_RECORD:n0,DIMSTYLE:_,LAYER:n1,LTYPE:n2,STYLE:n3,VPORT:n7},n6=c([{code:70,name:"maxNumberOfEntries",parser:l},{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:l},{code:2,name:"name",parser:l}]);function n9(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"TABLE")){e=r.next();let n={entries:[]};n6(e,r,n),a[n.name]=n}if(o(e,0)&&!o(e,0,"ENDTAB")){let n=e.value;e=r.next();let t=n5[n];if(!t){r.debug&&console.warn(`parseTable: Invalid table name '${n}'`),e=r.next();continue}let o={};t(e,r,o),a[n]?.entries.push(o)}e=r.next()}return a}function n8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class te{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),r=tr(e,this._data[this._pointer++],this.debug),a={code:e,value:r};return o(a,0,"EOF")&&(this._eof=!0),this.lastReadGroup=a,a}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=tr(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,r=!1){n8(this,"_data",void 0),n8(this,"debug",void 0),n8(this,"_pointer",void 0),n8(this,"_eof",void 0),n8(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function tr(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function ta(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tn{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){ta(this,"point",{}),ta(this,"startCode",0),ta(this,"code",0),ta(this,"value",0),ta(this,"x",void 0),ta(this,"y",void 0),ta(this,"z",void 0)}}function tt(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class to{constructor(){tt(this,"encoding","utf-8"),tt(this,"encodingFailureFatal",!1)}}class ts extends Error{constructor(e,r,a){let n=`[Line ${r}]: ${e}`;a?.cause&&(n+=`
2
2
  Caused by ${a.cause.toString()}
3
- ${a.cause.stack}`),super(n),n9(this,"line",void 0),this.line=r}}class te extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let n=0;n<a;n+=65536){r?.throwIfAborted();let t=Math.min(a-n,65536),o=await e.slice(n,n+t);this.Feed(o,n+t>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),n=0;if(a>=0?(n=a+1)<r&&"\n"==this._curChunk.charAt(n)&&n++:(a=this._curChunk.indexOf("\n",e))>=0&&(n=a+1),a<0)break;yield this._curChunk.substring(e,a),e=n}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let r=new tr(this._curGroupCode,e);if(!o(r,0,"EOF")){switch(r.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}o(r,0,"EOF")&&(this._eof=!0),this._curValue=r,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new n8(e,this._curLineNum,a)}constructor(e=new n6){super(),n9(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),n9(this,"_decoder",void 0),n9(this,"_pointParser",void 0),n9(this,"_finalChunkSeen",!1),n9(this,"_curChunk",""),n9(this,"_curGroupCode",null),n9(this,"_curLineNum",1),n9(this,"_eof",!1),n9(this,"_curValue",{code:0,value:0}),n9(this,"_curSection",""),n9(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new n5}}class tr{constructor(e,r){n9(this,"code",void 0),n9(this,"value",void 0),this.code=e,this.value=n3(e,r)}}function ta(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tn{constructor(){ta(this,"encoding","utf-8"),ta(this,"encodingFailureFatal",!1)}}class tt extends EventTarget{parseSync(e,r=!1){let a=new n2(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((n,t)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),t=new n2(e);if(!t.hasNext())throw Error("Empty file");n(a.parseAll(t))}catch(e){t(e)}}),e.on("error",e=>{t(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let n=a.body.getReader(),t="";for(;;){let{done:e,value:r}=await n.read();if(e){t+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}t+=this._decoder.decode(r,{stream:!0})}return this.parseSync(t)}parseAll(e){let r={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},a=e.next();for(;!o(a,0,"EOF");)o(a,0,"SECTION")&&(o(a=e.next(),2,"HEADER")?(a=e.next(),r.header=nV(a,e)):o(a,2,"BLOCKS")?(a=e.next(),r.blocks=nv(a,e)):o(a,2,"ENTITIES")?(a=e.next(),r.entities=nR(a,e)):o(a,2,"TABLES")?(a=e.next(),r.tables=n1(a,e)):o(a,2,"OBJECTS")&&(a=e.next(),r.objects=nX(a,e))),a=e.next();return r}constructor(e=new tn){super(),ta(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}export{r4 as AlignedDimensionSnippets,r2 as AngularDimensionSnippets,L as ArcEntityParser,R as AttDefEntityParser,rp as AttDefMTextFlag,eK as AttachmentPoint,rY as AttributeEntityParser,rl as AttributeFlag,eY as BlockTypeFlag,rK as BodyEntityParser,e8 as BoundaryPathEdgeType,e6 as BoundaryPathTypeFlag,rq as CircleEntityParser,eX as ColorCode,T as CommonEntitySnippets,n as DefaultDxfHeaderVariables,ri as DefaultLightingType,A as DefaultTextEntity,nB as DictionarySnippets,rQ as DimStyleVariablesSchema,r9 as DimensionParser,r5 as DimensionSnippets,eQ as DimensionTextHorizontal,eZ as DimensionTextLineSpacing,eJ as DimensionTextVertical,e0 as DimensionToleranceTextVertical,ez as DimensionType,e$ as DimensionZeroSuppression,eq as DimensionZeroSuppressionAngular,n8 as DxfParsingError,te as DxfStreamParser,n6 as DxfStreamParserOptions,ar as EllipseEntityParser,rf as FaceEdgeInvisibility,at as FaceEntityParser,e4 as HatchAssociativity,e7 as HatchBoundaryAnnotation,ab as HatchEntityParser,e9 as HatchGradientColorFlag,e5 as HatchGradientFlag,e3 as HatchPatternType,e1 as HatchSolidFill,e2 as HatchStyle,t as INDEXED_CHUNK_SIZE,rg as ImageClipMode,rb as ImageClippingBoundaryType,rA as ImageDisplayFlag,aO as ImageEntityParser,rI as ImageFlags,aL as InsertEntityParser,rT as LWPolylineFlag,aB as LWPolylineParser,rC as LayoutControlFlag,nG as LayoutSnippets,rD as LeaderCreationFlag,aC as LeaderEntityParser,aR as LineEntityParser,rv as LineTypeElementType,aX as MLineDXFEntitySnippet,aj as MLineElementParser,az as MLineEntityParser,ry as MLineFlags,rO as MLineJustification,aY as MLineSegmentParser,rh as MTextDrawingDirection,rG as MTextEntityParser,rH as MTextEntityParserSnippets,ra as Measurement,aU as MeshEntityParser,a$ as MultiLeaderEntityParser,re as ObscuredLineTypes,r3 as OrdinateDimensionSnippets,rs as OrthographicType,rM as PlotPaperUnit,nH as PlotSettingsSnippets,rc as PlotStyleType,rx as PlotType,a1 as PointEntityParser,rS as PolylineFlag,a8 as PolylineParser,r7 as RadialDimensionSnippets,na as RayParser,r_ as RecordCloneFlag,no as RegionEntityParser,rt as RenderMode,rr as ReservedLineweight,r as SPLINE_SUBDIVISION,nd as SectionEntityParser,rF as ShadePlotMode,rR as ShadePlotResolution,rd as ShadowMode,rN as SmoothType,nf as Solid3DEntityParser,nm as SolidEntityParser,nU as SpatialFilterSnippets,nD as SplineEntityParser,rP as SplineFlag,a as TESSELLATION_ANGLE,C as TextEntityParser,_ as TextEntityParserSnippets,ru as TextGenerationFlag,rm as TextHorizontalAlign,rE as TextVerticalAlign,ny as ToleranceEntityParser,ro as UCSPerViewport,e as UndeterminedBlockColor,rL as VertexFlag,a7 as VertexParser,nN as ViewportParser,rn as ViewportStatusFlag,n_ as WipeoutEntityParser,m as XDataParserSnippets,nx as XLineEntityParser,nj as XRecordDXFObjectSnippet,v as classify,O as createLongStringSnippet,I as createXDataCatcher,f as createXDataControlInterpreter,tt as default,D as ensureHandle,V as ensurePoint3D,w as generateIntegers,rV as getAcadColor,o as isMatched,nw as parseBlock,nz as parseBlockRecordTable,nv as parseBlocks,r1 as parseDimStyle,nR as parseEntities,b as parseExtensions,nV as parseHeader,nJ as parseLTypeTable,nK as parseLayerTable,nX as parseObjects,n$ as parseStyleTable,n1 as parseTables,nq as parseVPortTable,E as parseXData};
3
+ ${a.cause.stack}`),super(n),tt(this,"line",void 0),this.line=r}}class ti extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let n=0;n<a;n+=65536){r?.throwIfAborted();let t=Math.min(a-n,65536),o=await e.slice(n,n+t);this.Feed(o,n+t>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),n=0;if(a>=0?(n=a+1)<r&&"\n"==this._curChunk.charAt(n)&&n++:(a=this._curChunk.indexOf("\n",e))>=0&&(n=a+1),a<0)break;yield this._curChunk.substring(e,a),e=n}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let r=new tc(this._curGroupCode,e);if(!o(r,0,"EOF")){switch(r.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}o(r,0,"EOF")&&(this._eof=!0),this._curValue=r,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new ts(e,this._curLineNum,a)}constructor(e=new to){super(),tt(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),tt(this,"_decoder",void 0),tt(this,"_pointParser",void 0),tt(this,"_finalChunkSeen",!1),tt(this,"_curChunk",""),tt(this,"_curGroupCode",null),tt(this,"_curLineNum",1),tt(this,"_eof",!1),tt(this,"_curValue",{code:0,value:0}),tt(this,"_curSection",""),tt(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new tn}}class tc{constructor(e,r){tt(this,"code",void 0),tt(this,"value",void 0),this.code=e,this.value=tr(e,r)}}function td(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tl{constructor(){td(this,"encoding","utf-8"),td(this,"encodingFailureFatal",!1)}}class tp extends EventTarget{parseSync(e,r=!1){let a=new te(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((n,t)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),t=new te(e);if(!t.hasNext())throw Error("Empty file");n(a.parseAll(t))}catch(e){t(e)}}),e.on("error",e=>{t(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let n=a.body.getReader(),t="";for(;;){let{done:e,value:r}=await n.read();if(e){t+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}t+=this._decoder.decode(r,{stream:!0})}return this.parseSync(t)}parseAll(e){let r={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},a=e.next();for(;!o(a,0,"EOF");)o(a,0,"SECTION")&&(o(a=e.next(),2,"HEADER")?(a=e.next(),r.header=nj(a,e)):o(a,2,"BLOCKS")?(a=e.next(),r.blocks=nU(a,e)):o(a,2,"ENTITIES")?(a=e.next(),r.entities=nG(a,e)):o(a,2,"TABLES")?(a=e.next(),r.tables=n9(a,e)):o(a,2,"OBJECTS")&&(a=e.next(),r.objects=nQ(a,e))),a=e.next();return r}constructor(e=new tl){super(),td(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}export{M as AlignedDimensionSnippets,x as AngularDimensionSnippets,V as ArcDimensionEntitySnippet,k as ArcDimensionParser,L as ArcEntityParser,rN as ArcSymbolType,X as AttDefEntityParser,rP as AttDefMTextFlag,e8 as AttachmentPoint,r6 as AttributeEntityParser,rL as AttributeFlag,e5 as BlockTypeFlag,ae as BodyEntityParser,rE as BoundaryPathEdgeType,rm as BoundaryPathTypeFlag,at as CircleEntityParser,e6 as ColorCode,C as CommonDimensionSnippets,T as CommonEntitySnippets,n as DefaultDxfHeaderVariables,rO as DefaultLightingType,H as DefaultTextEntity,nX as DictionarySnippets,P as DimStyleVariablesSchema,w as DimensionParser,v as DimensionSnippets,rt as DimensionTextHorizontal,re as DimensionTextLineSpacing,rr as DimensionTextVertical,ro as DimensionToleranceTextVertical,e9 as DimensionType,ra as DimensionZeroSuppression,rn as DimensionZeroSuppressionAngular,ts as DxfParsingError,ti as DxfStreamParser,to as DxfStreamParserOptions,ac as EllipseEntityParser,rx as FaceEdgeInvisibility,ap as FaceEntityParser,ri as HatchAssociativity,rl as HatchBoundaryAnnotation,aN as HatchEntityParser,ru as HatchGradientColorFlag,rp as HatchGradientFlag,rd as HatchPatternType,rs as HatchSolidFill,rc as HatchStyle,t as INDEXED_CHUNK_SIZE,rv as ImageClipMode,rR as ImageClippingBoundaryType,rj as ImageDisplayFlag,a_ as ImageEntityParser,rF as ImageFlags,aF as InsertEntityParser,rV as LWPolylineFlag,aX as LWPolylineParser,rX as LayoutControlFlag,nK as LayoutSnippets,rw as LeaderCreationFlag,aV as LeaderEntityParser,aG as LineEntityParser,r$ as LineTypeElementType,aQ as MLineDXFEntitySnippet,a$ as MLineElementParser,a0 as MLineEntityParser,rB as MLineFlags,rk as MLineJustification,aq as MLineSegmentParser,rM as MTextDrawingDirection,r2 as MTextEntityParser,r4 as MTextEntityParserSnippets,rI as Measurement,aZ as MeshEntityParser,a3 as MultiLeaderEntityParser,rh as ObscuredLineTypes,F as OrdinateDimensionSnippets,rT as OrthographicType,rz as PlotPaperUnit,nz as PlotSettingsSnippets,ry as PlotStyleType,rK as PlotType,a9 as PointEntityParser,rH as PolylineFlag,ns as PolylineParser,R as RadialDimensionSnippets,nd as RayParser,rY as RecordCloneFlag,nu as RegionEntityParser,rg as RenderMode,rf as ReservedLineweight,r as SPLINE_SUBDIVISION,nf as SectionEntityParser,rZ as ShadePlotMode,rJ as ShadePlotResolution,rS as ShadowMode,rG as SmoothType,ny as Solid3DEntityParser,nD as SolidEntityParser,nZ as SpatialFilterSnippets,nP as SplineEntityParser,rW as SplineFlag,a as TESSELLATION_ANGLE,U as TextEntityParser,G as TextEntityParserSnippets,rA as TextGenerationFlag,r_ as TextHorizontalAlign,rC as TextVerticalAlign,nC as ToleranceEntityParser,rD as UCSPerViewport,e as UndeterminedBlockColor,rU as VertexFlag,na as VertexParser,nx as ViewportParser,rb as ViewportStatusFlag,nw as WipeoutEntityParser,m as XDataParserSnippets,nB as XLineEntityParser,n$ as XRecordDXFObjectSnippet,z as classify,O as createLongStringSnippet,I as createXDataCatcher,f as createXDataControlInterpreter,tp as default,D as ensureHandle,Z as ensurePoint3D,K as generateIntegers,rQ as getAcadColor,o as isMatched,nW as parseBlock,n0 as parseBlockRecordTable,nU as parseBlocks,_ as parseDimStyle,nG as parseEntities,b as parseExtensions,nj as parseHeader,n2 as parseLTypeTable,n1 as parseLayerTable,nQ as parseObjects,n3 as parseStyleTable,n9 as parseTables,n7 as parseVPortTable,E as parseXData};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The type of symbol to use in the arc length dimension's text string.
3
+ *
4
+ * This can be exist in `xdata` with group code `90`. Not sure if it can exist directly in the entity.
5
+ *
6
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-ManagedRefGuide-Autodesk_AutoCAD_DatabaseServices_ArcDimension_ArcSymbolType
7
+ */
8
+ export declare enum ArcSymbolType {
9
+ BeforeText = 0,
10
+ AboveText = 1,
11
+ None = 2
12
+ }
13
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/arc_dimension/consts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,aAAa;IACvB,UAAU,IAAI;IACd,SAAS,IAAI;IACb,IAAI,IAAI;CACT"}
@@ -0,0 +1,4 @@
1
+ export type * from './types';
2
+ export * from './consts';
3
+ export * from './parser';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/arc_dimension/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,SAAS,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { DxfArrayScanner, ScannerGroup } from '../../DxfArrayScanner';
2
+ import { type DXFParserSnippet } from '../../shared/parserGenerator';
3
+ import type { ArcDimensionEntity } from './types';
4
+ export declare const ArcDimensionEntitySnippet: DXFParserSnippet[];
5
+ export declare class ArcDimensionParser {
6
+ static ForEntityName: string;
7
+ parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup): ArcDimensionEntity;
8
+ }
9
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/arc_dimension/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,KAAK,gBAAgB,EAAkD,MAAM,8BAA8B,CAAC;AAGrH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,EA6DvD,CAAA;AAED,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,aAAa,SAAkB;IAEpC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,kBAAkB;CAMhF"}
@@ -0,0 +1,99 @@
1
+ import type { Point3D } from "../../../types";
2
+ import type { DimensionEntityCommon } from "../dimension";
3
+ /**
4
+ * `ARC_DIMENSION` was introduced in DXF R2004 and is not documented in DXF reference.
5
+ * Still there are C++ API documentation, so I referred to it mostly along other
6
+ * open source like ezdxf.
7
+ *
8
+ * It's separated ENTITY type but it shares many portion of `DIMENSION`.
9
+ *
10
+ * `dimensionType` of `ARC_DIMENSION` can have `5` or `8` under `0xf` bitmask.
11
+ * It varies to DXF version.
12
+ *
13
+ * @extends DimensionEntityCommon
14
+ */
15
+ export interface ArcDimensionEntity extends Omit<DimensionEntityCommon, 'type'> {
16
+ type: 'ARC_DIMENSION';
17
+ /** Parsed by group code `100` */
18
+ subclassMarker: 'AcDbArcDimension';
19
+ /**
20
+ * The start point for the arc length dimension's first extension line.
21
+ *
22
+ * Parsed by group code `13`.
23
+ *
24
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__xLine1Point
25
+ */
26
+ xline1Point: Point3D;
27
+ /**
28
+ * The start point for the arc length dimension's second extension line.
29
+ *
30
+ * Parsed by group code `14`.
31
+ *
32
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__xLine2Point
33
+ */
34
+ xline2Point: Point3D;
35
+ /**
36
+ * The center point of the arc dimensioned by the arc length dimension.
37
+ *
38
+ * Parsed by group code `15`.
39
+ *
40
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__centerPoint
41
+ */
42
+ centerPoint: Point3D;
43
+ /**
44
+ * It exists in C++ documentation, but doesn't have any usage currently. Reserved for future use.
45
+ *
46
+ * Parsed by group code `70`.
47
+ *
48
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__isPartial
49
+ */
50
+ isPartial: boolean;
51
+ /**
52
+ * The parameter of the arc being dimensioned corresponding to the arc length dimension's first definition point.
53
+ *
54
+ * Parsed by group code `41`.
55
+ *
56
+ * @note The unit is radian
57
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__arcStartParam
58
+ */
59
+ startAngle: number;
60
+ /**
61
+ * The parameter of the arc being dimensioned corresponding to the arc length dimension's second definition point.
62
+ *
63
+ * Parsed by group code `42`.
64
+ *
65
+ * @note The unit is radian
66
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__arcEndParam
67
+ */
68
+ endAngle: number;
69
+ /**
70
+ * Indicates the existence of extra leader of this entity.
71
+ *
72
+ * - `true` if this arc length dimension has an extra leader drawn to resolve ambiguity.
73
+ * - `false` if the arc length dimension has no extra leader drawn.
74
+ *
75
+ * Note that `leaderStart` and `leaderEnd` exist even if this is `false`.
76
+ *
77
+ * Parsed by group code `71`.
78
+ *
79
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__hasLeader
80
+ */
81
+ hasLeader: boolean;
82
+ /**
83
+ * Sets the start point for the arc length dimension's extra leader, if drawn.
84
+ *
85
+ * Parsed by group code `16`.
86
+ *
87
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__setLeader1Point_AcGePoint3d__
88
+ */
89
+ leaderStart: Point3D;
90
+ /**
91
+ * Sets the end point for the arc length dimension's extra leader, if drawn.
92
+ *
93
+ * Parsed by group code `17`.
94
+ *
95
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=OARX-RefGuide-AcDbArcDimension__setLeader2Point_AcGePoint3d__
96
+ */
97
+ leaderEnd: Point3D;
98
+ }
99
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/arc_dimension/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAC7E,IAAI,EAAE,eAAe,CAAA;IACrB,iCAAiC;IACjC,cAAc,EAAE,kBAAkB,CAAA;IAClC;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB"}
@@ -1,6 +1,7 @@
1
1
  import type { DxfArrayScanner, ScannerGroup } from '../../DxfArrayScanner';
2
2
  import { DXFParserSnippet } from '../../shared/parserGenerator';
3
3
  import type { DimensionEntity } from './types';
4
+ export declare const CommonDimensionSnippets: DXFParserSnippet[];
4
5
  export declare const AlignedDimensionSnippets: DXFParserSnippet[];
5
6
  export declare const AngularDimensionSnippets: DXFParserSnippet[];
6
7
  export declare const OrdinateDimensionSnippets: DXFParserSnippet[];
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/dimension/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAoB,gBAAgB,EAAuC,MAAM,8BAA8B,CAAC;AAEvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAkCtD,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EA0BtD,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,EAgBvD,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAgBrD,CAAA;AAkBD,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,EAqF/C,CAAA;AAED,qBAAa,eAAe;IACxB,MAAM,CAAC,aAAa,SAAe;IAEnC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe;CAM7E"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/dimension/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAoB,gBAAgB,EAAuC,MAAM,8BAA8B,CAAC;AAEvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAqErD,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAkCtD,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EA0BtD,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,EAgBvD,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAgBrD,CAAA;AAkBD,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,EAkB/C,CAAA;AAED,qBAAa,eAAe;IACxB,MAAM,CAAC,aAAa,SAAe;IAEnC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe;CAM7E"}
@@ -1,4 +1,5 @@
1
1
  export * from "./arc";
2
+ export * from './arc_dimension';
2
3
  export * from "./attdef";
3
4
  export * from './attribute';
4
5
  export * from "./body";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/parser/entities/index.ts"],"names":[],"mappings":"AACA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAoCxE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAuC3C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,eAAe,GACvB,eAAe,EAAE,CA8BnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/parser/entities/index.ts"],"names":[],"mappings":"AACA,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAqCxE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAwC3C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,eAAe,GACvB,eAAe,EAAE,CA8BnB"}
@@ -16,7 +16,25 @@ export interface CommonDxfEntity {
16
16
  /** @default 1 If not presented */
17
17
  lineTypeScale?: number;
18
18
  isVisible?: boolean;
19
+ /**
20
+ * Number of bytes in the proxy entity graphics represented in the sub-sequent `310` groups,
21
+ * which are binary chunk records.
22
+ *
23
+ * Parsed by group code `92` or `160`. Later one seems to be generated from 64-bit workstation.
24
+ *
25
+ * @see https://ljh4timm.home.xs4all.nl/libdxf/doxygen/structdxf__mline__struct.html#a09e8e35e67156951f6437a63e1338081
26
+ */
19
27
  proxyByte?: number;
28
+ /**
29
+ * Arbitrary binary chunks with same representation and limits as 1004 group codes:
30
+ * hexadecimal strings of up to 254 characters represent data chunks of up to 127 bytes
31
+ *
32
+ * In `dxf-json`, these chunks are concatenated into a single string.
33
+ *
34
+ * Parsed bygroup code `310`.
35
+ *
36
+ * @see https://help.autodesk.com/view/OARX/2025/ENU/?guid=GUID-3F0380A5-1C15-464D-BC66-2C5F094BCFB9
37
+ */
20
38
  proxyEntity?: string;
21
39
  /**
22
40
  * A 24-bit color value that should be dealt with in terms of bytes with values of 0 to 255.
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/parser/entities/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,KAAK,EAAuB,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;SAIK;IACL,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;CAC9C;AAED,oBAAY,UAAU;IAClB,gBAAgB,IAAI;IACpB,IAAI,IAAI;IACR,OAAO,IAAI;IACX,MAAM,IAAI;CACb;AAGD,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EAgHlD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAqB7E"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/parser/entities/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EACH,KAAK,gBAAgB,EAGxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,KAAK,EAAuB,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;;SAIK;IACL,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;CAC9C;AAED,oBAAY,UAAU;IAClB,gBAAgB,IAAI;IACpB,IAAI,IAAI;IACR,OAAO,IAAI;IACX,MAAM,IAAI;CACb;AAGD,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EAkHlD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAqB7E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dxf-json",
3
- "version": "0.9.3",
3
+ "version": "0.10.0",
4
4
  "description": "perfect dxf parser",
5
5
  "type": "module",
6
6
  "main": "./dist/bundle.cjs",