dxf-json 0.10.0 → 0.10.1

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/dist/bundle.mjs CHANGED
@@ -1,3 +1,3 @@
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+=`
1
+ (eb=ra||(ra={}))[eb.None=0]="None",eb[eb.Anonymous=1]="Anonymous",eb[eb.NonConstant=2]="NonConstant",eb[eb.Xref=4]="Xref",eb[eb.XrefOverlay=8]="XrefOverlay",eb[eb.ExternallyDependent=16]="ExternallyDependent",eb[eb.ResolvedOrDependent=32]="ResolvedOrDependent",eb[eb.ReferencedXref=64]="ReferencedXref",(eT=rn||(rn={}))[eT.BYBLOCK=0]="BYBLOCK",eT[eT.BYLAYER=256]="BYLAYER";let e=-1,r=4,a=Math.PI/24;(eO=rt||(rt={}))[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=ro||(ro={}))[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=rs||(rs={}))[eS.AtLeast=1]="AtLeast",eS[eS.Exact=2]="Exact",(eN=ri||(ri={}))[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=rc||(rc={}))[eL.WithDimension=0]="WithDimension",eL[eL.AddLeader=1]="AddLeader",eL[eL.Independent=2]="Independent",(eA=rd||(rd={}))[eA.BothOutside=0]="BothOutside",eA[eA.ArrowFirst=1]="ArrowFirst",eA[eA.TextFirst=2]="TextFirst",eA[eA.Auto=3]="Auto",(eP=rl||(rl={}))[eP.Feet=0]="Feet",eP[eP.None=1]="None",eP[eP.Inch=2]="Inch",eP[eP.FeetAndInch=3]="FeetAndInch",eP[eP.Leading=4]="Leading",eP[eP.Trailing=8]="Trailing",eP[eP.LeadingAndTrailing=12]="LeadingAndTrailing",(eC=rp||(rp={}))[eC.None=0]="None",eC[eC.Leading=1]="Leading",eC[eC.Trailing=2]="Trailing",eC[eC.LeadingAndTrailing=3]="LeadingAndTrailing",(e_=ru||(ru={}))[e_.Center=0]="Center",e_[e_.First=1]="First",e_[e_.Second=2]="Second",e_[e_.OverFirst=3]="OverFirst",e_[e_.OverSecond=4]="OverSecond",(eM=rm||(rm={}))[eM.Bottom=0]="Bottom",eM[eM.Center=1]="Center",eM[eM.Top=2]="Top",(ex=rE||(rE={}))[ex.None=0]="None",ex[ex.UseDrawingBackground=1]="UseDrawingBackground",ex[ex.Custom=2]="Custom",(eF=rh||(rh={}))[eF.Horizontal=0]="Horizontal",eF[eF.Diagonal=1]="Diagonal",eF[eF.NotStacked=2]="NotStacked",(eR=rf||(rf={}))[eR.Scientific=1]="Scientific",eR[eR.Decimal=2]="Decimal",eR[eR.Engineering=3]="Engineering",eR[eR.Architectural=4]="Architectural",eR[eR.Fractional=5]="Fractional",eR[eR.WindowDesktop=6]="WindowDesktop",(ev=rI||(rI={}))[ev.Decimal=0]="Decimal",ev[ev.DegreesMinutesSecond=1]="DegreesMinutesSecond",ev[ev.Gradian=2]="Gradian",ev[ev.Radian=3]="Radian",(eV=rD||(rD={}))[eV.PatternFill=0]="PatternFill",eV[eV.SolidFill=1]="SolidFill",(ew=rg||(rg={}))[ew.NonAssociative=0]="NonAssociative",ew[ew.Associative=1]="Associative",(ek=rb||(rb={}))[ek.Normal=0]="Normal",ek[ek.Outer=1]="Outer",ek[ek.Ignore=2]="Ignore",(eB=rT||(rT={}))[eB.UserDefined=0]="UserDefined",eB[eB.Predefined=1]="Predefined",eB[eB.Custom=2]="Custom",(eH=rO||(rO={}))[eH.NotAnnotated=0]="NotAnnotated",eH[eH.Annotated=1]="Annotated",(eG=ry||(ry={}))[eG.Solid=0]="Solid",eG[eG.Gradient=1]="Gradient",(eU=rS||(rS={}))[eU.TwoColor=0]="TwoColor",eU[eU.OneColor=1]="OneColor",(eW=rN||(rN={}))[eW.Default=0]="Default",eW[eW.External=1]="External",eW[eW.Polyline=2]="Polyline",eW[eW.Derived=4]="Derived",eW[eW.Textbox=8]="Textbox",eW[eW.Outermost=16]="Outermost",(ej=rL||(rL={}))[ej.Line=1]="Line",ej[ej.Circular=2]="Circular",ej[ej.Elliptic=3]="Elliptic",ej[ej.Spline=4]="Spline",(eY=rA||(rA={}))[eY.Off=0]="Off",eY[eY.Solid=1]="Solid",eY[eY.Dashed=2]="Dashed",eY[eY.Dotted=3]="Dotted",eY[eY.ShotDash=4]="ShotDash",eY[eY.MediumDash=5]="MediumDash",eY[eY.LongDash=6]="LongDash",eY[eY.DoubleShortDash=7]="DoubleShortDash",eY[eY.DoubleMediumDash=8]="DoubleMediumDash",eY[eY.DoubleLongDash=9]="DoubleLongDash",eY[eY.DoubleMediumLongDash=10]="DoubleMediumLongDash",eY[eY.SparseDot=11]="SparseDot";let n={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:rA.Off,SHADEDIF:70};(eX=rP||(rP={}))[eX.Standard=-3]="Standard",eX[eX.ByLayer=-2]="ByLayer",eX[eX.ByBlock=-1]="ByBlock",(ez=rC||(rC={}))[ez.English=0]="English",ez[ez.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}(eK=r_||(r_={}))[eK.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",eK[eK.FRONT_CLIPPING=2]="FRONT_CLIPPING",eK[eK.BACK_CLIPPING=4]="BACK_CLIPPING",eK[eK.UCS_FOLLOW=8]="UCS_FOLLOW",eK[eK.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",eK[eK.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",eK[eK.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",eK[eK.FAST_ZOOM=128]="FAST_ZOOM",eK[eK.SNAP_MODE=256]="SNAP_MODE",eK[eK.GRID_MODE=512]="GRID_MODE",eK[eK.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",eK[eK.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",eK[eK.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",eK[eK.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",eK[eK.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",eK[eK.UNUSED=32768]="UNUSED",eK[eK.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",eK[eK.VIEWPORT_OFF=131072]="VIEWPORT_OFF",eK[eK.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",eK[eK.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",eK[eK.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",eK[eK.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",(eZ=rM||(rM={}))[eZ.OPTIMIZED_2D=0]="OPTIMIZED_2D",eZ[eZ.WIREFRAME=1]="WIREFRAME",eZ[eZ.HIDDEN_LINE=2]="HIDDEN_LINE",eZ[eZ.FLAT_SHADED=3]="FLAT_SHADED",eZ[eZ.GOURAUD_SHADED=4]="GOURAUD_SHADED",eZ[eZ.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eZ[eZ.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",(eJ=rx||(rx={}))[eJ.UCS_UNCHANGED=0]="UCS_UNCHANGED",eJ[eJ.HAS_OWN_UCS=1]="HAS_OWN_UCS",(e$=rF||(rF={}))[e$.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",e$[e$.TOP=1]="TOP",e$[e$.BOTTOM=2]="BOTTOM",e$[e$.FRONT=3]="FRONT",e$[e$.BACK=4]="BACK",e$[e$.LEFT=5]="LEFT",e$[e$.RIGHT=6]="RIGHT",(eq=rR||(rR={}))[eq.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",eq[eq.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",(eQ=rv||(rv={}))[eQ.ByLayer=0]="ByLayer",eQ[eQ.ByBlock=1]="ByBlock",eQ[eQ.ByDictionaryDefault=2]="ByDictionaryDefault",eQ[eQ.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 D(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 b(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=g++)}(e0=rV||(rV={}))[e0.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",e0[e0.CAST=1]="CAST",e0[e0.RECEIVE=2]="RECEIVE",e0[e0.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:D},{code:102,parser:D},{code:102,parser:D},{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"),(e1=rw||(rw={}))[e1.BeforeText=0]="BeforeText",e1[e1.AboveText=1]="AboveText",e1[e1.None=2]="None";let A=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4,defaultValue:""},{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:"DIMFXL",code:49,defaultValue:1},{name:"DIMJOGANG",code:50,defaultValue:45},{name:"DIMTFILL",code:69,defaultValue:0},{name:"DIMTFILLCLR",code:70,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:ri.Above,defaultValueImperial:ri.Center},{name:"DIMZIN",code:78,defaultValue:rl.Trailing,defaultValueImperial:rl.Feet},{name:"DIMAZIN",code:79,defaultValue:rp.None},{name:"DIMARCSYM",code:90,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:"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,defaultValue:0},{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:3,defaultValueImperial:2},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:44,defaultValueImperial:46},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:ru.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:rm.Center},{name:"DIMTZIN",code:284,defaultValue:rl.Trailing,defaultValueImperial:rl.Feet},{name:"DIMALTZ",code:285,defaultValue:rl.Trailing},{name:"DIMALTTZ",code:286,defaultValue:rl.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMTXTDIRECTION",code:294,defaultValue:0},{name:"DIMTXSTY",code:340,defaultValue:"Standard"},{name:"DIMLDRBLK",code:341,defaultValue:""},{name:"DIMBLK",code:342,defaultValue:""},{name:"DIMBLK1",code:343,defaultValue:""},{name:"DIMBLK2",code:344,defaultValue:""},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWE",code:372,defaultValue:-2}],P=[{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=c([...A.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},...P.filter(e=>5!==e.code)]),_=[{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},...A.map(e=>({...e,parser:l})),..._,...T];class V{parseEntity(e,r){let a={};return c(v)(r,e,a),a}}e2="DIMENSION",(e4="ForEntityName")in V?Object.defineProperty(V,e4,{value:e2,enumerable:!0,configurable:!0,writable:!0}):V[e4]=e2;let w=[{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},...A.map(e=>({...e,parser:l})),..._,...T];class k{parseEntity(e,r){let a={};return c(w)(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}e7="ARC_DIMENSION",(e3="ForEntityName")in k?Object.defineProperty(k,e3,{value:e7,enumerable:!0,configurable:!0,writable:!0}):k[e3]=e7,(e5=rk||(rk={}))[e5.NONE=0]="NONE",e5[e5.INVISIBLE=1]="INVISIBLE",e5[e5.CONSTANT=2]="CONSTANT",e5[e5.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",e5[e5.PRESET=8]="PRESET",(e6=rB||(rB={}))[e6.MULTILINE=2]="MULTILINE",e6[e6.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",(e9=rH||(rH={}))[e9.NONE=0]="NONE",e9[e9.MIRRORED_X=2]="MIRRORED_X",e9[e9.MIRRORED_Y=4]="MIRRORED_Y",(e8=rG||(rG={}))[e8.LEFT=0]="LEFT",e8[e8.CENTER=1]="CENTER",e8[e8.RIGHT=2]="RIGHT",e8[e8.ALIGNED=3]="ALIGNED",e8[e8.MIDDLE=4]="MIDDLE",e8[e8.FIT=5]="FIT",(re=rU||(rU={}))[re.BASELINE=0]="BASELINE",re[re.BOTTOM=1]="BOTTOM",re[re.MIDDLE=2]="MIDDLE",re[re.TOP=3]="TOP";let H={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:rG.LEFT,valign:rU.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"),(rr=rW||(rW={}))[rr.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",rr[rr.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",rr[rr.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,eD,eg,eb,eT,eO,ey,eS,eN,eL,eA,eP,eC,e_,eM,ex,eF,eR,ev,eV,ew,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,rD,rg,rb,rT,rO,ry,rS,rN,rL,rA,rP,rC,r_,rM,rx,rF,rR,rv,rV,rw,rk,rB,rH,rG,rU,rW,rj,rY,rX,rz,rK,rZ,rJ,r$,rq,rQ,r0,r1,r4,r2,r3,r7,r5,r6,r9,r8,ae=[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 ar(e){return ae[e]}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}let an={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},at=[{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 ao{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aa(this,"parser",c(at,an))}}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}aa(ao,"ForEntityName","MTEXT");let ai={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},ac=[...at.slice(at.findIndex(({name:e})=>"columnType"===e),at.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 ad{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){as(this,"parser",c(ac,ai))}}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}as(ad,"ForEntityName","ATTRIB");let ap=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class au{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){al(this,"parser",c(ap))}}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}al(au,"ForEntityName","BODY");let aE={thickness:0,extrusionDirection:{x:0,y:0,z:1}},ah=[{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 af{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){am(this,"parser",c(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(af,"ForEntityName","CIRCLE");let aD={extrusionDirection:{x:0,y:0,z:1}},ag=[{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 ab{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aI(this,"parser",c(ag,aD))}}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}aI(ab,"ForEntityName","ELLIPSE"),(J=rj||(rj={}))[J.First=1]="First",J[J.Second=2]="Second",J[J.Third=4]="Third",J[J.Fourth=8]="Fourth";let aO=[{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 ay{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aT(this,"parser",c(aO))}}aT(ay,"ForEntityName","3DFACE");let aS=[{code:330,name:"sourceBoundaryObjects",parser:l,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:l}],aN=[{code:11,name:"end",parser:p},{code:10,name:"start",parser:p}],aL=[{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}],aA=[{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}],aP=[{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}],aC={[rL.Line]:aN,[rL.Circular]:aL,[rL.Elliptic]:aA,[rL.Spline]:aP},a_=[...aS,{code:72,name:"edges",parser(e,r){let a={type:e.value},n=c(aC[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}],aM=[...aS,{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}],ax=[{code:49,name:"dashLengths",parser:l,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:l},{code:45,name:"offset",parser:aF},{code:43,name:"base",parser:aF},{code:53,name:"angle",parser:l}];function aF(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 aR(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let av={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},aV=[{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(ax)(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&rN.Polyline;return(e=r.next(),n)?c(aM)(e,r,a):c(a_)(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 aw{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aR(this,"parser",c(aV,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(aw,"ForEntityName","HATCH"),($=rY||(rY={}))[$.ShowImage=1]="ShowImage",$[$.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",$[$.UseClippingBoundary=4]="UseClippingBoundary",$[$.TransparencyIsOn=8]="TransparencyIsOn",(q=rX||(rX={}))[q.Rectangular=1]="Rectangular",q[q.Polygonal=2]="Polygonal",(Q=rz||(rz={}))[Q.Outside=0]="Outside",Q[Q.Inside=1]="Inside";let aB={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},aH=[{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 aG{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ak(this,"parser",c(aH,aB))}}function aU(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ak(aG,"ForEntityName","IMAGE");let aW={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},aj=[{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 aY{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aU(this,"parser",c(aj,aW))}}function aX(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aU(aY,"ForEntityName","INSERT");let az={isArrowheadEnabled:!0},aK=[{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 aZ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aX(this,"parser",c(aK,az))}}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}aX(aZ,"ForEntityName","LEADER"),(ee=rK||(rK={}))[ee.TextAnnotation=0]="TextAnnotation",ee[ee.ToleranceAnnotation=1]="ToleranceAnnotation",ee[ee.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",ee[ee.NoAnnotation=3]="NoAnnotation";let a$={thickness:0,extrusionDirection:{x:0,y:0,z:1}},aq=[{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 aQ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aJ(this,"parser",c(aq,a$))}}aJ(aQ,"ForEntityName","LINE"),(er=rZ||(rZ={}))[er.IS_CLOSED=1]="IS_CLOSED",er[er.PLINE_GEN=128]="PLINE_GEN";let a0={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},a1={bulge:0},a4=[{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}],a2=[{code:210,name:"extrusionDirection",parser:p},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return c(a4,a1)(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 a3{parseEntity(e,r){let a={};return c(a2,a0)(r,e,a),a}}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}en="LWPOLYLINE",(ea="ForEntityName")in a3?Object.defineProperty(a3,ea,{value:en,enumerable:!0,configurable:!0,writable:!0}):a3[ea]=en;let a5=[{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 a6{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a7(this,"parser",c(a5))}}function a9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a7(a6,"ForEntityName","MESH"),(et=rJ||(rJ={}))[et.Top=0]="Top",et[et.Zero=1]="Zero",et[et.Bottom=2]="Bottom",(eo=r$||(r$={}))[eo.HasVertex=1]="HasVertex",eo[eo.Closed=2]="Closed",eo[eo.SuppressStartCaps=4]="SuppressStartCaps",eo[eo.SuppressEndCaps=8]="SuppressEndCaps";let a8=[{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}],ne=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=c(a8),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}],nr=[{code:[11,12,13],name:"segments",parser(e,r){let a=c(ne),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 na{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a9(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}a9(na,"ForEntityName","MLINE");let nt={},no=[{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 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","MULTILEADER");let nc={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},nd=[{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 nl{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ni(this,"parser",c(nd,nc))}}function np(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ni(nl,"ForEntityName","POINT"),(es=rq||(rq={}))[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=rQ||(rQ={}))[ei.NONE=0]="NONE",ei[ei.QUADRATIC=5]="QUADRATIC",ei[ei.CUBIC=6]="CUBIC",ei[ei.BEZIER=8]="BEZIER",(ec=r0||(r0={}))[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 nu={startWidth:0,endWidth:0,bulge:0},nm=[{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 nE{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){np(this,"parser",c(nm,nu))}}function nh(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}np(nE,"ForEntityName","VERTEX");let nf={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:[]},nI=[{code:0,name:"vertices",isMultiple:!0,parser:(e,r)=>o(e,0,"VERTEX")?(e=r.next(),new nE().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 nD{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nh(this,"parser",c(nI,nf))}}function ng(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nh(nD,"ForEntityName","POLYLINE");let nb=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nT{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ng(this,"parser",c(nb))}}function nO(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ng(nT,"ForEntityName","RAY");let ny=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nS{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nO(this,"parser",c(ny))}}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}nO(nS,"ForEntityName","REGION");let nL={vertices:[],backLineVertices:[]},nA=[{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 nP{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nN(this,"parser",c(nA,nL))}}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}nN(nP,"ForEntityName","SECTION");let n_={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},nM=[{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 nx{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nC(this,"parser",c(nM,n_))}}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}nC(nx,"ForEntityName","SOLID");let nR=[{code:350,name:"historyObjectSoftId",parser:l},{code:100,name:"subclassMarker",parser:l},...O("data"),{code:70,name:"version",parser:l},{code:100},...T];class nv{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nF(this,"parser",c(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(nv,"ForEntityName","3DSOLID"),(ed=r1||(r1={}))[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 nw={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},nk=[{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 nB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nV(this,"parser",c(nk,nw))}}function nH(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nV(nB,"ForEntityName","SPLINE");let nG=[{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 nU{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nH(this,"parser",c(nG))}}nH(nU,"ForEntityName","TOLERANCE");let nW=[{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 nj{parseEntity(e,r){let a={};return c(nW)(r,e,a),a}}function nY(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 nj?Object.defineProperty(nj,el,{value:ep,enumerable:!0,configurable:!0,writable:!0}):nj[el]=ep,(eu=r4||(r4={}))[eu.ShowImage=1]="ShowImage",eu[eu.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",eu[eu.UseClippingBoundary=4]="UseClippingBoundary",eu[eu.Transparency=8]="Transparency";let nX={brightness:50,constrast:50,fade:0},nz=[{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 nK{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nY(this,"parser",c(nz,nX))}}function nZ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nY(nK,"ForEntityName","WIPEOUT");let nJ=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class n${parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nZ(this,"parser",c(nJ))}}nZ(n$,"ForEntityName","XLINE");let nq=Object.fromEntries([L,k,X,ad,au,af,V,ab,ay,aG,aY,aZ,aQ,a3,a6,na,ao,ns,nl,nD,nT,nS,nP,nx,nv,nB,U,nU,aw,nE,nj,nK,n$].map(e=>[e.ForEntityName,new e]));function nQ(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=nq[e.value];if(n){let t=e.value;e=r.next();let o=n.parseEntity(r,e);o.type=t,b(o),a.push(o)}else r.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=r.next()}return a}function n0(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"BLOCK")){let n=n1(e=r.next(),r);b(n),n.name&&(a[n.name]=n)}e=r.next()}return a}function n1(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=nQ(e,r)}e=r.next()}return a}function n4(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=r2||(r2={}))[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 n2=[{code:330,name:"ownerObjectId",parser:l},{code:102,parser:D},{code:102,parser:D},{code:102,parser:D},{code:5,name:"handle",parser:l}],n3=[{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},...n2];(eE=r3||(r3={}))[eE.PSLTSCALE=1]="PSLTSCALE",eE[eE.LIMCHECK=2]="LIMCHECK",(eh=r7||(r7={}))[eh.INCHES=0]="INCHES",eh[eh.MILLIMETERS=1]="MILLIMETERS",eh[eh.PIXELS=2]="PIXELS",(ef=r5||(r5={}))[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=r6||(r6={}))[eI.AS_DISPLAYED=0]="AS_DISPLAYED",eI[eI.WIREFRAME=1]="WIREFRAME",eI[eI.HIDDEN=2]="HIDDEN",eI[eI.RENDERED=3]="RENDERED",(eD=r9||(r9={}))[eD.DRAFT=0]="DRAFT",eD[eD.PREVIEW=1]="PREVIEW",eD[eD.NORMAL=2]="NORMAL",eD[eD.PRESENTATION=3]="PRESENTATION",eD[eD.MAXIMUM=4]="MAXIMUM",eD[eD.CUSTOM=5]="CUSTOM";let n7=[{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},...n2],n5=[{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},...n7],n6=[{code:40,name:"wcsToOCSTransform",parser:n9},{code:40,name:"ocsToWCSTransform",parser:n9},{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},...n2];function n9(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 n8=[{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},...n2],te={LAYOUT:n5,PLOTSETTINGS:n7,DICTIONARY:n3,SPATIAL_FILTER:n6};function tr(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let n=e.value,t=te[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 ta=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},...P]),tn=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},...P]);(eg=r8||(r8={}))[eg.NONE=0]="NONE",eg[eg.AbsoluteRotation=1]="AbsoluteRotation",eg[eg.TextEmbedded=2]="TextEmbedded",eg[eg.ShapeEmbedded=4]="ShapeEmbedded";let tt=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}),to=c([{code:49,name:"pattern",parser(e,r){let a={};return tt(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},...P]),ts=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},...P]),ti=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},...P]),tc={BLOCK_RECORD:ta,DIMSTYLE:C,LAYER:tn,LTYPE:to,STYLE:ts,VPORT:ti},td=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 tl(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"TABLE")){e=r.next();let n={entries:[]};td(e,r,n),a[n.name]=n}if(o(e,0)&&!o(e,0,"ENDTAB")){let n=e.value;e=r.next();let t=tc[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 tp(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tu{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=tm(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=tm(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){tp(this,"_data",void 0),tp(this,"debug",void 0),tp(this,"_pointer",void 0),tp(this,"_eof",void 0),tp(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function tm(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 tE(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class th{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(){tE(this,"point",{}),tE(this,"startCode",0),tE(this,"code",0),tE(this,"value",0),tE(this,"x",void 0),tE(this,"y",void 0),tE(this,"z",void 0)}}function tf(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tI{constructor(){tf(this,"encoding","utf-8"),tf(this,"encodingFailureFatal",!1)}}class tD 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),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};
3
+ ${a.cause.stack}`),super(n),tf(this,"line",void 0),this.line=r}}class tg 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 tb(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 tD(e,this._curLineNum,a)}constructor(e=new tI){super(),tf(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),tf(this,"_decoder",void 0),tf(this,"_pointParser",void 0),tf(this,"_finalChunkSeen",!1),tf(this,"_curChunk",""),tf(this,"_curGroupCode",null),tf(this,"_curLineNum",1),tf(this,"_eof",!1),tf(this,"_curValue",{code:0,value:0}),tf(this,"_curSection",""),tf(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new th}}class tb{constructor(e,r){tf(this,"code",void 0),tf(this,"value",void 0),this.code=e,this.value=tm(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 tO{constructor(){tT(this,"encoding","utf-8"),tT(this,"encodingFailureFatal",!1)}}class ty extends EventTarget{parseSync(e,r=!1){let a=new tu(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 tu(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=n4(a,e)):o(a,2,"BLOCKS")?(a=e.next(),r.blocks=n0(a,e)):o(a,2,"ENTITIES")?(a=e.next(),r.entities=nQ(a,e)):o(a,2,"TABLES")?(a=e.next(),r.tables=tl(a,e)):o(a,2,"OBJECTS")&&(a=e.next(),r.objects=tr(a,e))),a=e.next();return r}constructor(e=new tO){super(),tT(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}export{M as AlignedDimensionSnippets,x as AngularDimensionSnippets,w as ArcDimensionEntitySnippet,k as ArcDimensionParser,L as ArcEntityParser,rw as ArcSymbolType,X as AttDefEntityParser,rB as AttDefMTextFlag,ro as AttachmentPoint,ad as AttributeEntityParser,rk as AttributeFlag,ra as BlockTypeFlag,au as BodyEntityParser,rL as BoundaryPathEdgeType,rN as BoundaryPathTypeFlag,af as CircleEntityParser,rn as ColorCode,_ as CommonDimensionSnippets,T as CommonEntitySnippets,n as DefaultDxfHeaderVariables,rR as DefaultLightingType,H as DefaultTextEntity,n3 as DictionarySnippets,A as DimStyleVariablesSchema,rI as DimensionAngularUnit,rh as DimensionFractionFormat,V as DimensionParser,v as DimensionSnippets,rE as DimensionTextFill,rd as DimensionTextFit,ru as DimensionTextHorizontal,rs as DimensionTextLineSpacing,rc as DimensionTextMoveRule,ri as DimensionTextVertical,rm as DimensionToleranceTextVertical,rt as DimensionType,rf as DimensionUnit,rl as DimensionZeroSuppression,rp as DimensionZeroSuppressionAngular,tD as DxfParsingError,tg as DxfStreamParser,tI as DxfStreamParserOptions,ab as EllipseEntityParser,rj as FaceEdgeInvisibility,ay as FaceEntityParser,rg as HatchAssociativity,rO as HatchBoundaryAnnotation,aw as HatchEntityParser,rS as HatchGradientColorFlag,ry as HatchGradientFlag,rT as HatchPatternType,rD as HatchSolidFill,rb as HatchStyle,t as INDEXED_CHUNK_SIZE,rz as ImageClipMode,rX as ImageClippingBoundaryType,r4 as ImageDisplayFlag,aG as ImageEntityParser,rY as ImageFlags,aY as InsertEntityParser,rZ as LWPolylineFlag,a3 as LWPolylineParser,r3 as LayoutControlFlag,n5 as LayoutSnippets,rK as LeaderCreationFlag,aZ as LeaderEntityParser,aQ as LineEntityParser,r8 as LineTypeElementType,nr as MLineDXFEntitySnippet,a8 as MLineElementParser,na as MLineEntityParser,r$ as MLineFlags,rJ as MLineJustification,ne as MLineSegmentParser,rW as MTextDrawingDirection,ao as MTextEntityParser,at as MTextEntityParserSnippets,rC as Measurement,a6 as MeshEntityParser,ns as MultiLeaderEntityParser,rA as ObscuredLineTypes,F as OrdinateDimensionSnippets,rF as OrthographicType,r7 as PlotPaperUnit,n7 as PlotSettingsSnippets,rv as PlotStyleType,r5 as PlotType,nl as PointEntityParser,rq as PolylineFlag,nD as PolylineParser,R as RadialDimensionSnippets,nT as RayParser,r2 as RecordCloneFlag,nS as RegionEntityParser,rM as RenderMode,rP as ReservedLineweight,r as SPLINE_SUBDIVISION,nP as SectionEntityParser,r6 as ShadePlotMode,r9 as ShadePlotResolution,rV as ShadowMode,rQ as SmoothType,nv as Solid3DEntityParser,nx as SolidEntityParser,n6 as SpatialFilterSnippets,nB as SplineEntityParser,r1 as SplineFlag,a as TESSELLATION_ANGLE,U as TextEntityParser,G as TextEntityParserSnippets,rH as TextGenerationFlag,rG as TextHorizontalAlign,rU as TextVerticalAlign,nU as ToleranceEntityParser,rx as UCSPerViewport,e as UndeterminedBlockColor,r0 as VertexFlag,nE as VertexParser,nj as ViewportParser,r_ as ViewportStatusFlag,nK as WipeoutEntityParser,m as XDataParserSnippets,n$ as XLineEntityParser,n8 as XRecordDXFObjectSnippet,z as classify,O as createLongStringSnippet,I as createXDataCatcher,f as createXDataControlInterpreter,ty as default,b as ensureHandle,Z as ensurePoint3D,K as generateIntegers,ar as getAcadColor,o as isMatched,n1 as parseBlock,ta as parseBlockRecordTable,n0 as parseBlocks,C as parseDimStyle,nQ as parseEntities,D as parseExtensions,n4 as parseHeader,to as parseLTypeTable,tn as parseLayerTable,tr as parseObjects,ts as parseStyleTable,tl as parseTables,ti as parseVPortTable,E as parseXData};
@@ -32,6 +32,34 @@ export declare enum DimensionTextVertical {
32
32
  JIS = 3,
33
33
  Below = 4
34
34
  }
35
+ /**
36
+ * Sets dimension text movement rules.
37
+ *
38
+ * @see https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-10475059-6A2E-40B2-AF30-E92F104E9C03
39
+ */
40
+ export declare enum DimensionTextMoveRule {
41
+ /** Moves the dimension line with dimension text */
42
+ WithDimension = 0,
43
+ /** Adds a leader when dimension text is moved */
44
+ AddLeader = 1,
45
+ /** Allows text to be moved freely without a leader */
46
+ Independent = 2
47
+ }
48
+ /**
49
+ * Determines how dimension text and arrows are arranged when space is not sufficient to place both within the extension lines.
50
+ *
51
+ * @see https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-2F8FA7E7-C79F-40EA-A416-C4B02D09F310
52
+ */
53
+ export declare enum DimensionTextFit {
54
+ /** Places both text and arrows outside extension lines */
55
+ BothOutside = 0,
56
+ /** Moves arrows first, then text */
57
+ ArrowFirst = 1,
58
+ /** Moves text first, then arrows */
59
+ TextFirst = 2,
60
+ /** Moves either text or arrows, whichever fits best */
61
+ Auto = 3
62
+ }
35
63
  export declare enum DimensionZeroSuppression {
36
64
  Feet = 0,
37
65
  None = 1,
@@ -41,16 +69,26 @@ export declare enum DimensionZeroSuppression {
41
69
  Trailing = 8,
42
70
  LeadingAndTrailing = 12
43
71
  }
72
+ /**
73
+ * Suppresses zeros for angular dimensions.
74
+ *
75
+ * @see https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-69E9BFD3-06A4-468D-88F0-7C9741407194
76
+ */
44
77
  export declare enum DimensionZeroSuppressionAngular {
78
+ /** Displays all leading and trailing zeros */
45
79
  None = 0,
80
+ /** Suppresses leading zeros in decimal dimensions (for example, `0.5000` becomes `.5000`) */
46
81
  Leading = 1,
82
+ /** Suppresses trailing zeros in decimal dimensions (for example, `12.5000` becomes `12.5`) */
47
83
  Trailing = 2,
84
+ /** Suppresses leading and trailing zeros (for example, `0.5000` becomes `.5`) */
48
85
  LeadingAndTrailing = 3
49
86
  }
50
87
  /**
51
88
  * Justify horizontal alignment of dimension text
52
89
  */
53
90
  export declare enum DimensionTextHorizontal {
91
+ /** Positions the text above the dimension line and center-justifies it between the extension lines */
54
92
  Center = 0,
55
93
  /** Above dimension line and next to first extension line */
56
94
  First = 1,
@@ -74,4 +112,55 @@ export declare enum DimensionToleranceTextVertical {
74
112
  Center = 1,
75
113
  Top = 2
76
114
  }
115
+ /**
116
+ * Controls the background of dimension text.
117
+ *
118
+ * @see https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-4E38E29F-DE85-4791-A2E7-4DC22842B1B4
119
+ */
120
+ export declare enum DimensionTextFill {
121
+ /** No background */
122
+ None = 0,
123
+ /** The background color of the drawing */
124
+ UseDrawingBackground = 1,
125
+ /** The background specified by DIMTFILLCLR */
126
+ Custom = 2
127
+ }
128
+ /**
129
+ * Sets the fraction format when `DIMLUNIT` is set to `4` (`Architectural`) or `5` (`Fractional`)
130
+ *
131
+ * @see https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-6A35A398-ED55-4EC3-88F2-23F6FBADF1BE
132
+ */
133
+ export declare enum DimensionFractionFormat {
134
+ Horizontal = 0,
135
+ Diagonal = 1,
136
+ /** For example, 1/2 */
137
+ NotStacked = 2
138
+ }
139
+ /**
140
+ * Sets units for all dimension types **except Angular**.
141
+ *
142
+ * @see https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-2ECDF7CF-6EEA-4174-B50C-8630D5002C20
143
+ */
144
+ export declare enum DimensionUnit {
145
+ Scientific = 1,
146
+ Decimal = 2,
147
+ Engineering = 3,
148
+ /** Always displayed stacked */
149
+ Architectural = 4,
150
+ /** Always displayed stacked */
151
+ Fractional = 5,
152
+ /** Decimal format using Control Panel settings for decimal separator and number grouping symbols */
153
+ WindowDesktop = 6
154
+ }
155
+ /**
156
+ * Sets the units format for angular dimensions.
157
+ *
158
+ * @see https://help.autodesk.com/view/ACD/2025/ENU/?guid=GUID-30F44A49-4250-42D1-AEF2-5E2914ADB02B
159
+ */
160
+ export declare enum DimensionAngularUnit {
161
+ Decimal = 0,
162
+ DegreesMinutesSecond = 1,
163
+ Gradian = 2,
164
+ Radian = 3
165
+ }
77
166
  //# sourceMappingURL=dimension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dimension.d.ts","sourceRoot":"","sources":["../../../src/consts/dimension.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa;IACrB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,QAAQ,IAAI;IACZ,oBAAoB,KAAK;IACzB,mBAAmB,KAAK;IACxB,wBAAwB,MAAM;CACjC;AAED,oBAAY,eAAe;IACvB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;CAClB;AAED,oBAAY,wBAAwB;IAChC,OAAO,IAAI;IACX,KAAK,IAAI;CACZ;AAED,oBAAY,qBAAqB;IAC7B,MAAM,IAAI;IACV,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,KAAK,IAAI;CACZ;AAED,oBAAY,wBAAwB;IAChC,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,WAAW,IAAI;IACf,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,KAAK;CAC1B;AAED,oBAAY,+BAA+B;IACvC,IAAI,IAAI;IACR,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,IAAI;CACzB;AAED;;GAEG;AACH,oBAAY,uBAAuB;IAC/B,MAAM,IAAI;IACV,4DAA4D;IAC5D,KAAK,IAAI;IACT,6DAA6D;IAC7D,MAAM,IAAI;IACV;;;;OAIG;IACH,SAAS,IAAI;IACb;;;;OAIG;IACH,UAAU,IAAI;CACjB;AAED,oBAAY,8BAA8B;IACtC,MAAM,IAAI;IACV,MAAM,IAAI;IACV,GAAG,IAAI;CACV"}
1
+ {"version":3,"file":"dimension.d.ts","sourceRoot":"","sources":["../../../src/consts/dimension.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa;IACrB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,QAAQ,IAAI;IACZ,oBAAoB,KAAK;IACzB,mBAAmB,KAAK;IACxB,wBAAwB,MAAM;CACjC;AAED,oBAAY,eAAe;IACvB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;CAClB;AAED,oBAAY,wBAAwB;IAChC,OAAO,IAAI;IACX,KAAK,IAAI;CACZ;AAED,oBAAY,qBAAqB;IAC7B,MAAM,IAAI;IACV,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,KAAK,IAAI;CACZ;AAED;;;;GAIG;AACH,oBAAY,qBAAqB;IAC7B,mDAAmD;IACnD,aAAa,IAAI;IACjB,iDAAiD;IACjD,SAAS,IAAI;IACb,sDAAsD;IACtD,WAAW,IAAI;CAClB;AAED;;;;GAIG;AACH,oBAAY,gBAAgB;IACxB,0DAA0D;IAC1D,WAAW,IAAI;IACf,oCAAoC;IACpC,UAAU,IAAI;IACd,oCAAoC;IACpC,SAAS,IAAI;IACb,uDAAuD;IACvD,IAAI,IAAI;CACX;AAED,oBAAY,wBAAwB;IAChC,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,WAAW,IAAI;IACf,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,KAAK;CAC1B;AAED;;;;GAIG;AACH,oBAAY,+BAA+B;IACvC,8CAA8C;IAC9C,IAAI,IAAI;IACR,6FAA6F;IAC7F,OAAO,IAAI;IACX,8FAA8F;IAC9F,QAAQ,IAAI;IACZ,iFAAiF;IACjF,kBAAkB,IAAI;CACzB;AAED;;GAEG;AACH,oBAAY,uBAAuB;IAC/B,sGAAsG;IACtG,MAAM,IAAI;IACV,4DAA4D;IAC5D,KAAK,IAAI;IACT,6DAA6D;IAC7D,MAAM,IAAI;IACV;;;;OAIG;IACH,SAAS,IAAI;IACb;;;;OAIG;IACH,UAAU,IAAI;CACjB;AAED,oBAAY,8BAA8B;IACtC,MAAM,IAAI;IACV,MAAM,IAAI;IACV,GAAG,IAAI;CACV;AAED;;;;GAIG;AACH,oBAAY,iBAAiB;IACzB,oBAAoB;IACpB,IAAI,IAAI;IACR,0CAA0C;IAC1C,oBAAoB,IAAI;IACxB,8CAA8C;IAC9C,MAAM,IAAI;CACb;AAED;;;;GAIG;AACH,oBAAY,uBAAuB;IAC/B,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,uBAAuB;IACvB,UAAU,IAAI;CACjB;AAED;;;;GAIG;AACH,oBAAY,aAAa;IACrB,UAAU,IAAI;IACd,OAAO,IAAI;IACX,WAAW,IAAI;IACf,+BAA+B;IAC/B,aAAa,IAAI;IACjB,+BAA+B;IAC/B,UAAU,IAAI;IACd,oGAAoG;IACpG,aAAa,IAAI;CACpB;AAED;;;;GAIG;AACH,oBAAY,oBAAoB;IAC5B,OAAO,IAAI;IACX,oBAAoB,IAAI;IACxB,OAAO,IAAI;IACX,MAAM,IAAI;CACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../../src/parser/tables/dimStyle/consts.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,uBAAuB,0BA+bP,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../../../src/parser/tables/dimStyle/consts.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,eAAO,MAAM,uBAAuB,0BAoeP,CAAC"}