@mlightcad/dxf-json-converter 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1887 @@
1
+ var vr = [
2
+ { name: "AC1.2", value: 1 },
3
+ { name: "AC1.40", value: 2 },
4
+ { name: "AC1.50", value: 3 },
5
+ { name: "AC2.20", value: 4 },
6
+ { name: "AC2.10", value: 5 },
7
+ { name: "AC2.21", value: 6 },
8
+ { name: "AC2.22", value: 7 },
9
+ { name: "AC1001", value: 8 },
10
+ { name: "AC1002", value: 9 },
11
+ { name: "AC1003", value: 10 },
12
+ { name: "AC1004", value: 11 },
13
+ { name: "AC1005", value: 12 },
14
+ { name: "AC1006", value: 13 },
15
+ { name: "AC1007", value: 14 },
16
+ { name: "AC1008", value: 15 },
17
+ { name: "AC1009", value: 16 },
18
+ { name: "AC1010", value: 17 },
19
+ { name: "AC1011", value: 18 },
20
+ { name: "AC1012", value: 19 },
21
+ { name: "AC1013", value: 20 },
22
+ { name: "AC1014", value: 21 },
23
+ { name: "AC1500", value: 22 },
24
+ { name: "AC1015", value: 23 },
25
+ { name: "AC1800a", value: 24 },
26
+ { name: "AC1018", value: 25 },
27
+ { name: "AC2100a", value: 26 },
28
+ { name: "AC1021", value: 27 },
29
+ { name: "AC2400a", value: 28 },
30
+ { name: "AC1024", value: 29 },
31
+ { name: "AC1027", value: 31 },
32
+ { name: "AC3200a", value: 32 },
33
+ { name: "AC1032", value: 33 }
34
+ ], za = /* @__PURE__ */ function() {
35
+ function e(a) {
36
+ if (typeof a == "string") {
37
+ var n = vr.find(function(t) {
38
+ return t.name === a;
39
+ });
40
+ if (!n)
41
+ throw new Error("Unknown DWG version name: ".concat(a));
42
+ this.name = n.name, this.value = n.value;
43
+ return;
44
+ }
45
+ if (typeof a == "number") {
46
+ var n = vr.find(function(c) {
47
+ return c.value === a;
48
+ });
49
+ if (!n)
50
+ throw new Error("Unknown DWG version value: ".concat(a));
51
+ this.name = n.name, this.value = n.value;
52
+ return;
53
+ }
54
+ throw new Error("Invalid constructor argument for AcDbDwgVersion");
55
+ }
56
+ return e;
57
+ }(), br;
58
+ (function(e) {
59
+ e[e.UTF8 = 0] = "UTF8", e[e.US_ASCII = 1] = "US_ASCII", e[e.ISO_8859_1 = 2] = "ISO_8859_1", e[e.ISO_8859_2 = 3] = "ISO_8859_2", e[e.ISO_8859_3 = 4] = "ISO_8859_3", e[e.ISO_8859_4 = 5] = "ISO_8859_4", e[e.ISO_8859_5 = 6] = "ISO_8859_5", e[e.ISO_8859_6 = 7] = "ISO_8859_6", e[e.ISO_8859_7 = 8] = "ISO_8859_7", e[e.ISO_8859_8 = 9] = "ISO_8859_8", e[e.ISO_8859_9 = 10] = "ISO_8859_9", e[e.CP437 = 11] = "CP437", e[e.CP850 = 12] = "CP850", e[e.CP852 = 13] = "CP852", e[e.CP855 = 14] = "CP855", e[e.CP857 = 15] = "CP857", e[e.CP860 = 16] = "CP860", e[e.CP861 = 17] = "CP861", e[e.CP863 = 18] = "CP863", e[e.CP864 = 19] = "CP864", e[e.CP865 = 20] = "CP865", e[e.CP869 = 21] = "CP869", e[e.CP932 = 22] = "CP932", e[e.MACINTOSH = 23] = "MACINTOSH", e[e.BIG5 = 24] = "BIG5", e[e.CP949 = 25] = "CP949", e[e.JOHAB = 26] = "JOHAB", e[e.CP866 = 27] = "CP866", e[e.ANSI_1250 = 28] = "ANSI_1250", e[e.ANSI_1251 = 29] = "ANSI_1251", e[e.ANSI_1252 = 30] = "ANSI_1252", e[e.GB2312 = 31] = "GB2312", e[e.ANSI_1253 = 32] = "ANSI_1253", e[e.ANSI_1254 = 33] = "ANSI_1254", e[e.ANSI_1255 = 34] = "ANSI_1255", e[e.ANSI_1256 = 35] = "ANSI_1256", e[e.ANSI_1257 = 36] = "ANSI_1257", e[e.ANSI_874 = 37] = "ANSI_874", e[e.ANSI_932 = 38] = "ANSI_932", e[e.ANSI_936 = 39] = "ANSI_936", e[e.ANSI_949 = 40] = "ANSI_949", e[e.ANSI_950 = 41] = "ANSI_950", e[e.ANSI_1361 = 42] = "ANSI_1361", e[e.UTF16 = 43] = "UTF16", e[e.ANSI_1258 = 44] = "ANSI_1258", e[e.UNDEFINED = 255] = "UNDEFINED";
60
+ })(br || (br = {}));
61
+ var Ka = [
62
+ "utf-8",
63
+ "utf-8",
64
+ "iso-8859-1",
65
+ "iso-8859-2",
66
+ "iso-8859-3",
67
+ "iso-8859-4",
68
+ "iso-8859-5",
69
+ "iso-8859-6",
70
+ "iso-8859-7",
71
+ "iso-8859-8",
72
+ "iso-8859-9",
73
+ "utf-8",
74
+ "utf-8",
75
+ "utf-8",
76
+ "utf-8",
77
+ "utf-8",
78
+ "utf-8",
79
+ "utf-8",
80
+ "utf-8",
81
+ "utf-8",
82
+ "utf-8",
83
+ "utf-8",
84
+ "shift-jis",
85
+ "macintosh",
86
+ "big5",
87
+ "utf-8",
88
+ "utf-8",
89
+ "ibm866",
90
+ "windows-1250",
91
+ "windows-1251",
92
+ "windows-1252",
93
+ "gbk",
94
+ "windows-1253",
95
+ "windows-1254",
96
+ "windows-1255",
97
+ "windows-1256",
98
+ "windows-1257",
99
+ "windows-874",
100
+ "shift-jis",
101
+ "gbk",
102
+ "euc-kr",
103
+ "big5",
104
+ "utf-8",
105
+ "utf-16le",
106
+ "windows-1258"
107
+ ], Za = function(e) {
108
+ return Ka[e];
109
+ }, Ja = function(e, a, n, t) {
110
+ function c(s) {
111
+ return s instanceof n ? s : new n(function(i) {
112
+ i(s);
113
+ });
114
+ }
115
+ return new (n || (n = Promise))(function(s, i) {
116
+ function m(f) {
117
+ try {
118
+ d(t.next(f));
119
+ } catch (h) {
120
+ i(h);
121
+ }
122
+ }
123
+ function l(f) {
124
+ try {
125
+ d(t.throw(f));
126
+ } catch (h) {
127
+ i(h);
128
+ }
129
+ }
130
+ function d(f) {
131
+ f.done ? s(f.value) : c(f.value).then(m, l);
132
+ }
133
+ d((t = t.apply(e, a || [])).next());
134
+ });
135
+ }, $a = function(e, a) {
136
+ var n = { label: 0, sent: function() {
137
+ if (s[0] & 1) throw s[1];
138
+ return s[1];
139
+ }, trys: [], ops: [] }, t, c, s, i;
140
+ return i = { next: m(0), throw: m(1), return: m(2) }, typeof Symbol == "function" && (i[Symbol.iterator] = function() {
141
+ return this;
142
+ }), i;
143
+ function m(d) {
144
+ return function(f) {
145
+ return l([d, f]);
146
+ };
147
+ }
148
+ function l(d) {
149
+ if (t) throw new TypeError("Generator is already executing.");
150
+ for (; i && (i = 0, d[0] && (n = 0)), n; ) try {
151
+ if (t = 1, c && (s = d[0] & 2 ? c.return : d[0] ? c.throw || ((s = c.return) && s.call(c), 0) : c.next) && !(s = s.call(c, d[1])).done) return s;
152
+ switch (c = 0, s && (d = [d[0] & 2, s.value]), d[0]) {
153
+ case 0:
154
+ case 1:
155
+ s = d;
156
+ break;
157
+ case 4:
158
+ return n.label++, { value: d[1], done: !1 };
159
+ case 5:
160
+ n.label++, c = d[1], d = [0];
161
+ continue;
162
+ case 7:
163
+ d = n.ops.pop(), n.trys.pop();
164
+ continue;
165
+ default:
166
+ if (s = n.trys, !(s = s.length > 0 && s[s.length - 1]) && (d[0] === 6 || d[0] === 2)) {
167
+ n = 0;
168
+ continue;
169
+ }
170
+ if (d[0] === 3 && (!s || d[1] > s[0] && d[1] < s[3])) {
171
+ n.label = d[1];
172
+ break;
173
+ }
174
+ if (d[0] === 6 && n.label < s[1]) {
175
+ n.label = s[1], s = d;
176
+ break;
177
+ }
178
+ if (s && n.label < s[2]) {
179
+ n.label = s[2], n.ops.push(d);
180
+ break;
181
+ }
182
+ s[2] && n.ops.pop(), n.trys.pop();
183
+ continue;
184
+ }
185
+ d = a.call(e, n);
186
+ } catch (f) {
187
+ d = [6, f], c = 0;
188
+ } finally {
189
+ t = s = 0;
190
+ }
191
+ if (d[0] & 5) throw d[1];
192
+ return { value: d[0] ? d[1] : void 0, done: !0 };
193
+ }
194
+ }, qa = function() {
195
+ function e() {
196
+ this.setupMessageHandler();
197
+ }
198
+ return e.prototype.setupMessageHandler = function() {
199
+ var a = this;
200
+ self.onmessage = function(n) {
201
+ return Ja(a, void 0, void 0, function() {
202
+ var t, c, s, i, m;
203
+ return $a(this, function(l) {
204
+ switch (l.label) {
205
+ case 0:
206
+ t = n.data, c = t.id, s = t.input, l.label = 1;
207
+ case 1:
208
+ return l.trys.push([1, 3, , 4]), [4, this.executeTask(s)];
209
+ case 2:
210
+ return i = l.sent(), this.sendResponse(c, !0, i), [3, 4];
211
+ case 3:
212
+ return m = l.sent(), this.sendResponse(c, !1, void 0, m instanceof Error ? m.message : String(m)), [3, 4];
213
+ case 4:
214
+ return [2];
215
+ }
216
+ });
217
+ });
218
+ };
219
+ }, e.prototype.sendResponse = function(a, n, t, c) {
220
+ var s = {
221
+ id: a,
222
+ success: n,
223
+ data: t,
224
+ error: c
225
+ };
226
+ self.postMessage(s);
227
+ }, e;
228
+ }(), A, Ce, O, N, ke, j, fe, K, C, Z, Y, Ie, be, he, R, J, _e, we, Ee, ge, Re, Fe, Pe, F, $, T, xe, Ve, I, k, Be, _, Ue, q, g, He, Q, Te, ir, lr, X, Ge, ve, P, ee, re, ae, We, je, ne, Oe, Se, dr, Ye, ye, te, Ne, D, oe, V, pr, L, ur, se, B, Ae, Xe, De, U, ce, H, ie, mr, Le, G;
229
+ (A = {})[A.None = 0] = "None", A[A.Anonymous = 1] = "Anonymous", A[A.NonConstant = 2] = "NonConstant", A[A.Xref = 4] = "Xref", A[A.XrefOverlay = 8] = "XrefOverlay", A[A.ExternallyDependent = 16] = "ExternallyDependent", A[A.ResolvedOrDependent = 32] = "ResolvedOrDependent", A[A.ReferencedXref = 64] = "ReferencedXref";
230
+ (Ce = {})[Ce.BYBLOCK = 0] = "BYBLOCK", Ce[Ce.BYLAYER = 256] = "BYLAYER";
231
+ (O = {})[O.Rotated = 0] = "Rotated", O[O.Aligned = 1] = "Aligned", O[O.Angular = 2] = "Angular", O[O.Diameter = 3] = "Diameter", O[O.Radius = 4] = "Radius", O[O.Angular3Point = 5] = "Angular3Point", O[O.Ordinate = 6] = "Ordinate", O[O.ReferenceIsExclusive = 32] = "ReferenceIsExclusive", O[O.IsOrdinateXTypeFlag = 64] = "IsOrdinateXTypeFlag", O[O.IsCustomTextPositionFlag = 128] = "IsCustomTextPositionFlag";
232
+ (N = {})[N.TopLeft = 1] = "TopLeft", N[N.TopCenter = 2] = "TopCenter", N[N.TopRight = 3] = "TopRight", N[N.MiddleLeft = 4] = "MiddleLeft", N[N.MiddleCenter = 5] = "MiddleCenter", N[N.MiddleRight = 6] = "MiddleRight", N[N.BottomLeft = 7] = "BottomLeft", N[N.BottomCenter = 8] = "BottomCenter", N[N.BottomRight = 9] = "BottomRight";
233
+ (ke = {})[ke.AtLeast = 1] = "AtLeast", ke[ke.Exact = 2] = "Exact";
234
+ var Or = ((j = {})[j.Center = 0] = "Center", j[j.Above = 1] = "Above", j[j.Outside = 2] = "Outside", j[j.JIS = 3] = "JIS", j[j.Below = 4] = "Below", j);
235
+ (fe = {})[fe.WithDimension = 0] = "WithDimension", fe[fe.AddLeader = 1] = "AddLeader", fe[fe.Independent = 2] = "Independent";
236
+ (K = {})[K.BothOutside = 0] = "BothOutside", K[K.ArrowFirst = 1] = "ArrowFirst", K[K.TextFirst = 2] = "TextFirst", K[K.Auto = 3] = "Auto";
237
+ var Me = ((C = {})[C.Feet = 0] = "Feet", C[C.None = 1] = "None", C[C.Inch = 2] = "Inch", C[C.FeetAndInch = 3] = "FeetAndInch", C[C.Leading = 4] = "Leading", C[C.Trailing = 8] = "Trailing", C[C.LeadingAndTrailing = 12] = "LeadingAndTrailing", C), Qa = ((Z = {})[Z.None = 0] = "None", Z[Z.Leading = 1] = "Leading", Z[Z.Trailing = 2] = "Trailing", Z[Z.LeadingAndTrailing = 3] = "LeadingAndTrailing", Z), en = ((Y = {})[Y.Center = 0] = "Center", Y[Y.First = 1] = "First", Y[Y.Second = 2] = "Second", Y[Y.OverFirst = 3] = "OverFirst", Y[Y.OverSecond = 4] = "OverSecond", Y), rn = ((Ie = {})[Ie.Bottom = 0] = "Bottom", Ie[Ie.Center = 1] = "Center", Ie[Ie.Top = 2] = "Top", Ie);
238
+ (be = {})[be.None = 0] = "None", be[be.UseDrawingBackground = 1] = "UseDrawingBackground", be[be.Custom = 2] = "Custom";
239
+ (he = {})[he.Horizontal = 0] = "Horizontal", he[he.Diagonal = 1] = "Diagonal", he[he.NotStacked = 2] = "NotStacked";
240
+ (R = {})[R.Scientific = 1] = "Scientific", R[R.Decimal = 2] = "Decimal", R[R.Engineering = 3] = "Engineering", R[R.Architectural = 4] = "Architectural", R[R.Fractional = 5] = "Fractional", R[R.WindowDesktop = 6] = "WindowDesktop";
241
+ (J = {})[J.Decimal = 0] = "Decimal", J[J.DegreesMinutesSecond = 1] = "DegreesMinutesSecond", J[J.Gradian = 2] = "Gradian", J[J.Radian = 3] = "Radian";
242
+ (_e = {})[_e.PatternFill = 0] = "PatternFill", _e[_e.SolidFill = 1] = "SolidFill";
243
+ (we = {})[we.NonAssociative = 0] = "NonAssociative", we[we.Associative = 1] = "Associative";
244
+ (Ee = {})[Ee.Normal = 0] = "Normal", Ee[Ee.Outer = 1] = "Outer", Ee[Ee.Ignore = 2] = "Ignore";
245
+ (ge = {})[ge.UserDefined = 0] = "UserDefined", ge[ge.Predefined = 1] = "Predefined", ge[ge.Custom = 2] = "Custom";
246
+ (Re = {})[Re.NotAnnotated = 0] = "NotAnnotated", Re[Re.Annotated = 1] = "Annotated";
247
+ (Fe = {})[Fe.Solid = 0] = "Solid", Fe[Fe.Gradient = 1] = "Gradient";
248
+ (Pe = {})[Pe.TwoColor = 0] = "TwoColor", Pe[Pe.OneColor = 1] = "OneColor";
249
+ var an = ((F = {})[F.Default = 0] = "Default", F[F.External = 1] = "External", F[F.Polyline = 2] = "Polyline", F[F.Derived = 4] = "Derived", F[F.Textbox = 8] = "Textbox", F[F.Outermost = 16] = "Outermost", F), Je = (($ = {})[$.Line = 1] = "Line", $[$.Circular = 2] = "Circular", $[$.Elliptic = 3] = "Elliptic", $[$.Spline = 4] = "Spline", $), nn = ((T = {})[T.Off = 0] = "Off", T[T.Solid = 1] = "Solid", T[T.Dashed = 2] = "Dashed", T[T.Dotted = 3] = "Dotted", T[T.ShotDash = 4] = "ShotDash", T[T.MediumDash = 5] = "MediumDash", T[T.LongDash = 6] = "LongDash", T[T.DoubleShortDash = 7] = "DoubleShortDash", T[T.DoubleMediumDash = 8] = "DoubleMediumDash", T[T.DoubleLongDash = 9] = "DoubleLongDash", T[T.DoubleMediumLongDash = 10] = "DoubleMediumLongDash", T[T.SparseDot = 11] = "SparseDot", T);
250
+ nn.Off;
251
+ (xe = {})[xe.Standard = -3] = "Standard", xe[xe.ByLayer = -2] = "ByLayer", xe[xe.ByBlock = -1] = "ByBlock";
252
+ (Ve = {})[Ve.English = 0] = "English", Ve[Ve.Metric = 1] = "Metric";
253
+ (I = {})[I.PERSPECTIVE_MODE = 1] = "PERSPECTIVE_MODE", I[I.FRONT_CLIPPING = 2] = "FRONT_CLIPPING", I[I.BACK_CLIPPING = 4] = "BACK_CLIPPING", I[I.UCS_FOLLOW = 8] = "UCS_FOLLOW", I[I.FRONT_CLIP_NOT_AT_EYE = 16] = "FRONT_CLIP_NOT_AT_EYE", I[I.UCS_ICON_VISIBILITY = 32] = "UCS_ICON_VISIBILITY", I[I.UCS_ICON_AT_ORIGIN = 64] = "UCS_ICON_AT_ORIGIN", I[I.FAST_ZOOM = 128] = "FAST_ZOOM", I[I.SNAP_MODE = 256] = "SNAP_MODE", I[I.GRID_MODE = 512] = "GRID_MODE", I[I.ISOMETRIC_SNAP_STYLE = 1024] = "ISOMETRIC_SNAP_STYLE", I[I.HIDE_PLOT_MODE = 2048] = "HIDE_PLOT_MODE", I[I.K_ISO_PAIR_TOP = 4096] = "K_ISO_PAIR_TOP", I[I.K_ISO_PAIR_RIGHT = 8192] = "K_ISO_PAIR_RIGHT", I[I.VIEWPORT_ZOOM_LOCKING = 16384] = "VIEWPORT_ZOOM_LOCKING", I[I.UNUSED = 32768] = "UNUSED", I[I.NON_RECTANGULAR_CLIPPING = 65536] = "NON_RECTANGULAR_CLIPPING", I[I.VIEWPORT_OFF = 131072] = "VIEWPORT_OFF", I[I.GRID_BEYOND_DRAWING_LIMITS = 262144] = "GRID_BEYOND_DRAWING_LIMITS", I[I.ADAPTIVE_GRID_DISPLAY = 524288] = "ADAPTIVE_GRID_DISPLAY", I[I.SUBDIVISION_BELOW_SPACING = 1048576] = "SUBDIVISION_BELOW_SPACING", I[I.GRID_FOLLOWS_WORKPLANE = 2097152] = "GRID_FOLLOWS_WORKPLANE";
254
+ (k = {})[k.OPTIMIZED_2D = 0] = "OPTIMIZED_2D", k[k.WIREFRAME = 1] = "WIREFRAME", k[k.HIDDEN_LINE = 2] = "HIDDEN_LINE", k[k.FLAT_SHADED = 3] = "FLAT_SHADED", k[k.GOURAUD_SHADED = 4] = "GOURAUD_SHADED", k[k.FLAT_SHADED_WITH_WIREFRAME = 5] = "FLAT_SHADED_WITH_WIREFRAME", k[k.GOURAUD_SHADED_WITH_WIREFRAME = 6] = "GOURAUD_SHADED_WITH_WIREFRAME";
255
+ (Be = {})[Be.UCS_UNCHANGED = 0] = "UCS_UNCHANGED", Be[Be.HAS_OWN_UCS = 1] = "HAS_OWN_UCS";
256
+ (_ = {})[_.NON_ORTHOGRAPHIC = 0] = "NON_ORTHOGRAPHIC", _[_.TOP = 1] = "TOP", _[_.BOTTOM = 2] = "BOTTOM", _[_.FRONT = 3] = "FRONT", _[_.BACK = 4] = "BACK", _[_.LEFT = 5] = "LEFT", _[_.RIGHT = 6] = "RIGHT";
257
+ (Ue = {})[Ue.ONE_DISTANT_LIGHT = 0] = "ONE_DISTANT_LIGHT", Ue[Ue.TWO_DISTANT_LIGHTS = 1] = "TWO_DISTANT_LIGHTS";
258
+ (q = {})[q.ByLayer = 0] = "ByLayer", q[q.ByBlock = 1] = "ByBlock", q[q.ByDictionaryDefault = 2] = "ByDictionaryDefault", q[q.ByObject = 3] = "ByObject";
259
+ (g = {})[g.NotAllowed = 0] = "NotAllowed", g[g.AllowErase = 1] = "AllowErase", g[g.AllowTransform = 2] = "AllowTransform", g[g.AllowChangeColor = 4] = "AllowChangeColor", g[g.AllowChangeLayer = 8] = "AllowChangeLayer", g[g.AllowChangeLinetype = 16] = "AllowChangeLinetype", g[g.AllowChangeLinetypeScale = 32] = "AllowChangeLinetypeScale", g[g.AllowChangeVisibility = 64] = "AllowChangeVisibility", g[g.AllowClone = 128] = "AllowClone", g[g.AllowChangeLineweight = 256] = "AllowChangeLineweight", g[g.AllowChangePlotStyleName = 512] = "AllowChangePlotStyleName", g[g.AllowAllExceptClone = 895] = "AllowAllExceptClone", g[g.AllowAll = 1023] = "AllowAll", g[g.DisableProxyWarning = 1024] = "DisableProxyWarning", g[g.R13FormatProxy = 32768] = "R13FormatProxy";
260
+ function b(e, a, n) {
261
+ return e.code === a && (n == null || e.value === n);
262
+ }
263
+ function ue(e) {
264
+ let a = {};
265
+ e.rewind();
266
+ let n = e.next(), t = n.code;
267
+ if (a.x = n.value, (n = e.next()).code !== t + 10) throw Error("Expected code for point value to be 20 but got " + n.code + ".");
268
+ return a.y = n.value, (n = e.next()).code !== t + 20 ? e.rewind() : a.z = n.value, a;
269
+ }
270
+ let Ze = Symbol();
271
+ function u(e, a) {
272
+ return (n, t, c) => {
273
+ let s = function(l, d = !1) {
274
+ return l.reduce((f, h) => {
275
+ h.pushContext && f.push({});
276
+ let v = f[f.length - 1];
277
+ for (let x of typeof h.code == "number" ? [h.code] : h.code) {
278
+ let S = v[x] ?? (v[x] = []);
279
+ h.isMultiple && S.length, S.push(h);
280
+ }
281
+ return f;
282
+ }, [{}]);
283
+ }(e, t.debug), i = !1, m = s.length - 1;
284
+ for (; !b(n, 0, "EOF"); ) {
285
+ let l = function(w, W, me) {
286
+ return w.find((cr, Xa) => {
287
+ var Tr;
288
+ return Xa >= me && ((Tr = cr[W]) == null ? void 0 : Tr.length);
289
+ });
290
+ }(s, n.code, m), d = l == null ? void 0 : l[n.code], f = d == null ? void 0 : d[d.length - 1];
291
+ if (!l || !f) {
292
+ t.rewind();
293
+ break;
294
+ }
295
+ f.isMultiple || l[n.code].pop();
296
+ let { name: h, parser: v, isMultiple: x, isReducible: S } = f, y = v == null ? void 0 : v(n, t, c);
297
+ if (y === Ze) {
298
+ t.rewind();
299
+ break;
300
+ }
301
+ if (h) {
302
+ let [w, W] = tn(c, h);
303
+ x && !S ? (Object.prototype.hasOwnProperty.call(w, W) || (w[W] = []), w[W].push(y)) : w[W] = y;
304
+ }
305
+ f.pushContext && (m -= 1), i = !0, n = t.next();
306
+ }
307
+ return a && Object.setPrototypeOf(c, a), i;
308
+ };
309
+ }
310
+ function tn(e, a) {
311
+ let n = a.split(".");
312
+ if (!n.length) throw Error("[parserGenerator::getObjectByPath] Invalid empty path");
313
+ let t = e;
314
+ for (let c = 0; c < n.length - 1; ++c) {
315
+ let s = fr(n[c]), i = fr(n[c + 1]);
316
+ Object.prototype.hasOwnProperty.call(t, s) || (typeof i == "number" ? t[s] = [] : t[s] = {}), t = t[s];
317
+ }
318
+ return [t, fr(n[n.length - 1])];
319
+ }
320
+ function fr(e) {
321
+ let a = Number.parseInt(e);
322
+ return Number.isNaN(a) ? e : a;
323
+ }
324
+ function r({ value: e }) {
325
+ return e;
326
+ }
327
+ function o(e, a) {
328
+ return ue(a);
329
+ }
330
+ function p({ value: e }) {
331
+ return !!e;
332
+ }
333
+ function on({ value: e }) {
334
+ return e.trim();
335
+ }
336
+ let sn = [{ code: 281, name: "isEntity", parser: p }, { code: 280, name: "wasProxy", parser: p }, { code: 91, name: "instanceCount", parser: r }, { code: 90, name: "proxyFlag", parser: r }, { code: 3, name: "appName", parser: r }, { code: 2, name: "cppClassName", parser: r }, { code: 1, name: "name", parser: r }], cn = u(sn), ln = [{ code: 0, name: "classes", isMultiple: !0, parser(e, a) {
337
+ if (e.value !== "CLASS") return Ze;
338
+ e = a.next();
339
+ let n = {};
340
+ return cn(e, a, n), n;
341
+ } }], dn = u(ln);
342
+ (He = {})[He.RayTrace = 0] = "RayTrace", He[He.ShadowMap = 1] = "ShadowMap";
343
+ function z(e, a, n) {
344
+ for (; b(e, 102); ) {
345
+ var t;
346
+ let c = e.value;
347
+ if (e = a.next(), !c.startsWith("{")) {
348
+ a.debug, function(i, m) {
349
+ for (; !b(i, 102) && !b(i, 0, "EOF"); ) i = m.next();
350
+ }(e, a), e = a.next();
351
+ continue;
352
+ }
353
+ let s = c.slice(1).trim();
354
+ n.extensions ?? (n.extensions = {}), (t = n.extensions)[s] ?? (t[s] = []), function(i, m, l) {
355
+ for (; !b(i, 102, "}") && !b(i, 0, "EOF"); ) l.push(i), i = m.next();
356
+ }(e, a, n.extensions[s]), e = a.next();
357
+ }
358
+ a.rewind();
359
+ }
360
+ let pn = [{ code: 1001, name: "xdata", isMultiple: !0, parser: Lr }], un = /* @__PURE__ */ new Set([1010, 1011, 1012, 1013]);
361
+ function Lr(e, a) {
362
+ var c;
363
+ if (!b(e, 1001)) throw Error("XData must starts with code 1001");
364
+ let n = { appName: e.value, value: [] };
365
+ e = a.next();
366
+ let t = [n.value];
367
+ for (; !b(e, 0, "EOF") && !b(e, 1001) && e.code >= 1e3; ) {
368
+ let s = t[t.length - 1];
369
+ if (e.code === 1002) {
370
+ e.value === "{" ? t.push([]) : (t.pop(), (c = t[t.length - 1]) == null || c.push(s)), e = a.next();
371
+ continue;
372
+ }
373
+ un.has(e.code) ? s.push(ue(a)) : s.push(e.value), e = a.next();
374
+ }
375
+ return a.rewind(), n;
376
+ }
377
+ (Q = {})[Q.CAST_AND_RECEIVE = 0] = "CAST_AND_RECEIVE", Q[Q.CAST = 1] = "CAST", Q[Q.RECEIVE = 2] = "RECEIVE", Q[Q.IGNORE = 3] = "IGNORE";
378
+ let E = [...pn, { code: 284, name: "shadowMode", parser: r }, { code: 390, name: "plotStyleHardId", parser: r }, { code: 380, name: "plotStyleType", parser: r }, { code: 440, name: "transparency", parser: r }, { code: 430, name: "colorName", parser: r }, { code: 420, name: "color", parser: r }, { code: 310, name: "proxyEntity", isMultiple: !0, isReducible: !0, parser: (e, a, n) => (n.proxyEntity ?? "") + e.value }, { code: [92, 160], name: "proxyByte", parser: r }, { code: 60, name: "isVisible", parser: p }, { code: 48, name: "lineTypeScale", parser: r }, { code: 370, name: "lineweight", parser: r }, { code: 62, name: "colorIndex", parser: r }, { code: 347, name: "materialObjectHardId", parser: r }, { code: 6, name: "lineType", parser: r }, { code: 8, name: "layer", parser: r }, { code: 410, name: "layoutTabName", parser: r }, { code: 67, name: "isInPaperSpace", parser: p }, { code: 100 }, { code: 330, name: "ownerBlockRecordSoftId", parser: r }, { code: 102, parser: z }, { code: 102, parser: z }, { code: 102, parser: z }, { code: 5, name: "handle", parser: r }];
379
+ function sr(e) {
380
+ return [{ code: 3, name: e, parser: (a, n, t) => (t._code3text = (t._code3text ?? "") + a.value, t._code3text + (t._code1text ?? "")), isMultiple: !0, isReducible: !0 }, { code: 1, name: e, parser: (a, n, t) => (t._code1text = a.value, (t._code3text ?? "") + t._code1text) }];
381
+ }
382
+ function Mr(e, a, n) {
383
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
384
+ }
385
+ let mn = { extrusionDirection: { x: 0, y: 0, z: 1 } }, fn = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 51, name: "endAngle", parser: r }, { code: 50, name: "startAngle", parser: r }, { code: 100, name: "subclassMarker", parser: r }, { code: 40, name: "radius", parser: r }, { code: 10, name: "center", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 100 }, ...E];
386
+ class Cr {
387
+ parseEntity(a, n) {
388
+ let t = {};
389
+ return this.parser(n, a, t), t;
390
+ }
391
+ constructor() {
392
+ Mr(this, "parser", u(fn, mn));
393
+ }
394
+ }
395
+ Mr(Cr, "ForEntityName", "ARC");
396
+ (Te = {})[Te.BeforeText = 0] = "BeforeText", Te[Te.AboveText = 1] = "AboveText", Te[Te.None = 2] = "None";
397
+ let gr = [{ 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: 0.25 }, { name: "DIMEXO", code: 42, defaultValue: 0.625, defaultValueImperial: 0.0625 }, { name: "DIMDLI", code: 43, defaultValue: 3.75, defaultValueImperial: 0.38 }, { name: "DIMEXE", code: 44, defaultValue: 2.25, defaultValueImperial: 0.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: Or.Above, defaultValueImperial: Or.Center }, { name: "DIMZIN", code: 78, defaultValue: Me.Trailing, defaultValueImperial: Me.Feet }, { name: "DIMAZIN", code: 79, defaultValue: Qa.None }, { name: "DIMARCSYM", code: 90, defaultValue: 0 }, { name: "DIMTXT", code: 140, defaultValue: 2.5, defaultValueImperial: 0.28 }, { name: "DIMCEN", code: 141, defaultValue: 2.5, defaultValueImperial: 0.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: 0.625, defaultValueImperial: 0.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: en.Center }, { name: "DIMSD1", code: 281, defaultValue: 0 }, { name: "DIMSD2", code: 282, defaultValue: 0 }, { name: "DIMTOLJ", code: 283, defaultValue: rn.Center }, { name: "DIMTZIN", code: 284, defaultValue: Me.Trailing, defaultValueImperial: Me.Feet }, { name: "DIMALTZ", code: 285, defaultValue: Me.Trailing }, { name: "DIMALTTZ", code: 286, defaultValue: Me.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 }], kr = [{ code: 3, name: "styleName", parser: r }, { code: 210, name: "extrusionDirection", parser: o }, { code: 51, name: "ocsRotation", parser: r }, { code: 53, name: "textRotation", parser: r }, { code: 1, name: "text", parser: r }, { code: 42, name: "measurement", parser: r }, { code: 72, name: "textLineSpacingStyle", parser: r }, { code: 71, name: "attachmentPoint", parser: r }, { code: 70, name: "dimensionType", parser: r }, { code: 11, name: "textPoint", parser: o }, { code: 10, name: "definitionPoint", parser: o }, { code: 2, name: "name", parser: r }, { code: 280, name: "version", parser: r }, { code: 100 }], In = [{ code: 100 }, { code: 52, name: "obliqueAngle", parser: r }, { code: 50, name: "rotationAngle", parser: r }, { code: 14, name: "subDefinitionPoint2", parser: o }, { code: 13, name: "subDefinitionPoint1", parser: o }, { code: 12, name: "insertionPoint", parser: o }, { code: 100, name: "subclassMarker", parser: r }], bn = [{ code: 16, name: "arcPoint", parser: o }, { code: 15, name: "centerPoint", parser: o }, { code: 14, name: "subDefinitionPoint2", parser: o }, { code: 13, name: "subDefinitionPoint1", parser: o }, { code: 100, name: "subclassMarker", parser: r }], hn = [{ code: 14, name: "subDefinitionPoint2", parser: o }, { code: 13, name: "subDefinitionPoint1", parser: o }, { code: 100, name: "subclassMarker", parser: r }], En = [{ code: 40, name: "leaderLength", parser: r }, { code: 15, name: "subDefinitionPoint", parser: o }, { code: 100, name: "subclassMarker", parser: r }], gn = [{ code: 100, parser(e, a, n) {
398
+ let t = function(c) {
399
+ switch (c) {
400
+ case "AcDbAlignedDimension":
401
+ return u(In);
402
+ case "AcDb3PointAngularDimension":
403
+ case "AcDb2LineAngularDimension":
404
+ return u(bn);
405
+ case "AcDbOrdinateDimension":
406
+ return u(hn);
407
+ case "AcDbRadialDimension":
408
+ case "AcDbDiametricDimension":
409
+ return u(En);
410
+ }
411
+ return null;
412
+ }(e.value);
413
+ if (!t) return Ze;
414
+ t(e, a, n);
415
+ }, pushContext: !0 }, ...gr.map((e) => ({ ...e, parser: r })), ...kr, ...E];
416
+ class Qe {
417
+ parseEntity(a, n) {
418
+ let t = {};
419
+ return u(gn)(n, a, t), t;
420
+ }
421
+ }
422
+ (ir = "ForEntityName") in Qe ? Object.defineProperty(Qe, ir, { value: "DIMENSION", enumerable: !0, configurable: !0, writable: !0 }) : Qe[ir] = "DIMENSION";
423
+ let xn = [{ code: 73 }, { code: 17, name: "leaderEnd", parser: o }, { code: 16, name: "leaderStart", parser: o }, { code: 71, name: "hasLeader", parser: p }, { code: 41, name: "endAngle", parser: r }, { code: 40, name: "startAngle", parser: r }, { code: 70, name: "isPartial", parser: p }, { code: 15, name: "centerPoint", parser: o }, { code: 14, name: "xline2Point", parser: o }, { code: 13, name: "xline1Point", parser: o }, { code: 100, name: "subclassMarker", parser: r, pushContext: !0 }, ...gr.map((e) => ({ ...e, parser: r })), ...kr, ...E];
424
+ class er {
425
+ parseEntity(a, n) {
426
+ let t = {};
427
+ return u(xn)(n, a, t), t;
428
+ }
429
+ }
430
+ (lr = "ForEntityName") in er ? Object.defineProperty(er, lr, { value: "ARC_DIMENSION", enumerable: !0, configurable: !0, writable: !0 }) : er[lr] = "ARC_DIMENSION";
431
+ (X = {})[X.NONE = 0] = "NONE", X[X.INVISIBLE = 1] = "INVISIBLE", X[X.CONSTANT = 2] = "CONSTANT", X[X.VERIFICATION_REQUIRED = 4] = "VERIFICATION_REQUIRED", X[X.PRESET = 8] = "PRESET";
432
+ (Ge = {})[Ge.MULTILINE = 2] = "MULTILINE", Ge[Ge.CONSTANT_MULTILINE = 4] = "CONSTANT_MULTILINE";
433
+ (ve = {})[ve.NONE = 0] = "NONE", ve[ve.MIRRORED_X = 2] = "MIRRORED_X", ve[ve.MIRRORED_Y = 4] = "MIRRORED_Y";
434
+ var Tn = ((P = {})[P.LEFT = 0] = "LEFT", P[P.CENTER = 1] = "CENTER", P[P.RIGHT = 2] = "RIGHT", P[P.ALIGNED = 3] = "ALIGNED", P[P.MIDDLE = 4] = "MIDDLE", P[P.FIT = 5] = "FIT", P), vn = ((ee = {})[ee.BASELINE = 0] = "BASELINE", ee[ee.BOTTOM = 1] = "BOTTOM", ee[ee.MIDDLE = 2] = "MIDDLE", ee[ee.TOP = 3] = "TOP", ee);
435
+ function _r(e, a, n) {
436
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
437
+ }
438
+ let wr = { thickness: 0, rotation: 0, xScale: 1, obliqueAngle: 0, styleName: "STANDARD", generationFlag: 0, halign: Tn.LEFT, valign: vn.BASELINE, extrusionDirection: { x: 0, y: 0, z: 1 } }, Rr = [{ code: 73, name: "valign", parser: r }, { code: 100 }, { code: 210, name: "extrusionDirection", parser: o }, { code: 11, name: "endPoint", parser: o }, { code: 72, name: "valign", parser: r }, { code: 72, name: "halign", parser: r }, { code: 71, name: "generationFlag", parser: r }, { code: 7, name: "styleName", parser: r }, { code: 51, name: "obliqueAngle", parser: r }, { code: 41, name: "xScale", parser: r }, { code: 50, name: "rotation", parser: r }, { code: 1, name: "text", parser: r }, { code: 40, name: "textHeight", parser: r }, { code: 10, name: "startPoint", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
439
+ class Fr {
440
+ parseEntity(a, n) {
441
+ let t = {};
442
+ return this.parser(n, a, t), t;
443
+ }
444
+ constructor() {
445
+ _r(this, "parser", u(Rr, wr));
446
+ }
447
+ }
448
+ function Pr(e, a, n) {
449
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
450
+ }
451
+ _r(Fr, "ForEntityName", "TEXT");
452
+ let On = { ...wr }, Sn = [{ code: 2 }, { code: 40, name: "annotationScale", parser: r }, { code: 10, name: "alignmentPoint", parser: o }, { code: 340, name: "secondaryAttributesHardIds", isMultiple: !0, parser: r }, { code: 70, name: "numberOfSecondaryAttributes", parser: r }, { code: 70, name: "isReallyLocked", parser: p }, { code: 70, name: "mtextFlag", parser: r }, { code: 280, name: "isDuplicatedRecord", parser: p }, { code: 100 }, { code: 280, name: "isLocked", parser: p }, { code: 74, name: "valign", parser: r }, { code: 73 }, { code: 70, name: "attributeFlag", parser: r }, { code: 2, name: "tag", parser: r }, { code: 3, name: "prompt", parser: r }, { code: 280 }, { code: 100, name: "subclassMarker", parser: r }, ...Rr.slice(2)];
453
+ class Vr {
454
+ parseEntity(a, n) {
455
+ let t = {};
456
+ return this.parser(n, a, t), t;
457
+ }
458
+ constructor() {
459
+ Pr(this, "parser", u(Sn, On));
460
+ }
461
+ }
462
+ function yn(e, a) {
463
+ let n = {};
464
+ for (let t of e) {
465
+ let c = a(t);
466
+ c != null && (n[c] ?? (n[c] = []), n[c].push(t));
467
+ }
468
+ return n;
469
+ }
470
+ function* or(e, a = 1 / 0, n = 1) {
471
+ for (let t = e; t !== a; t += n) yield t;
472
+ }
473
+ function hr(e) {
474
+ return { x: e.x ?? 0, y: e.y ?? 0, z: e.z ?? 0 };
475
+ }
476
+ Pr(Vr, "ForEntityName", "ATTDEF");
477
+ var Nn = [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];
478
+ function An(e) {
479
+ return Nn[e];
480
+ }
481
+ function Dn(e) {
482
+ e.rewind();
483
+ let a = e.next();
484
+ if (a.code !== 101) throw Error("Bad call for skipEmbeddedObject()");
485
+ do
486
+ a = e.next();
487
+ while (a.code !== 0);
488
+ e.rewind();
489
+ }
490
+ function Ln(e, a, n) {
491
+ if (b(a, 102)) return z(a, n, e), !0;
492
+ switch (a.code) {
493
+ case 0:
494
+ e.type = a.value;
495
+ break;
496
+ case 5:
497
+ e.handle = a.value;
498
+ break;
499
+ case 330:
500
+ e.ownerBlockRecordSoftId = a.value;
501
+ break;
502
+ case 67:
503
+ e.isInPaperSpace = !!a.value;
504
+ break;
505
+ case 8:
506
+ e.layer = a.value;
507
+ break;
508
+ case 6:
509
+ e.lineType = a.value;
510
+ break;
511
+ case 347:
512
+ e.materialObjectHardId = a.value;
513
+ break;
514
+ case 62:
515
+ e.colorIndex = a.value, e.color = An(Math.abs(a.value));
516
+ break;
517
+ case 370:
518
+ e.lineweight = a.value;
519
+ break;
520
+ case 48:
521
+ e.lineTypeScale = a.value;
522
+ break;
523
+ case 60:
524
+ e.isVisible = !!a.value;
525
+ break;
526
+ case 92:
527
+ e.proxyByte = a.value;
528
+ break;
529
+ case 310:
530
+ e.proxyEntity = a.value;
531
+ break;
532
+ case 100:
533
+ break;
534
+ case 420:
535
+ e.color = a.value;
536
+ break;
537
+ case 430:
538
+ e.transparency = a.value;
539
+ break;
540
+ case 390:
541
+ e.plotStyleHardId = a.value;
542
+ break;
543
+ case 284:
544
+ e.shadowMode = a.value;
545
+ break;
546
+ case 1001:
547
+ (e.xdata ?? (e.xdata = [])).push(Lr(a, n));
548
+ break;
549
+ default:
550
+ return !1;
551
+ }
552
+ return !0;
553
+ }
554
+ function Br(e, a, n) {
555
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
556
+ }
557
+ let Mn = { textStyle: "STANDARD", extrusionDirection: { x: 0, y: 0, z: 1 }, rotation: 0 }, rr = [{ code: 46, name: "annotationHeight", parser: r }, { code: 101, parser(e, a) {
558
+ Dn(a);
559
+ } }, { code: 50, name: "columnHeight", parser: r }, { code: 49, name: "columnGutter", parser: r }, { code: 48, name: "columnWidth", parser: r }, { code: 79, name: "columnAutoHeight", parser: r }, { code: 78, name: "columnFlowReversed", parser: r }, { code: 76, name: "columnCount", parser: r }, { code: 75, name: "columnType", parser: r }, { code: 441, name: "backgroundFillTransparency", parser: r }, { code: 63, name: "backgroundFillColor", parser: r }, { code: 45, name: "fillBoxScale", parser: r }, { code: [...or(430, 440)], name: "backgroundColor", parser: r }, { code: [...or(420, 430)], name: "backgroundColor", parser: r }, { code: 90, name: "backgroundFill", parser: r }, { code: 44, name: "lineSpacing", parser: r }, { code: 73, name: "lineSpacingStyle", parser: r }, { code: 50, name: "rotation", parser: r }, { code: 43 }, { code: 42 }, { code: 11, name: "direction", parser: o }, { code: 210, name: "extrusionDirection", parser: o }, { code: 7, name: "styleName", parser: r }, ...sr("text"), { code: 72, name: "drawingDirection", parser: r }, { code: 71, name: "attachmentPoint", parser: r }, { code: 41, name: "width", parser: r }, { code: 40, name: "height", parser: r }, { code: 10, name: "insertionPoint", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
560
+ class Ur {
561
+ parseEntity(a, n) {
562
+ let t = {};
563
+ return this.parser(n, a, t), t;
564
+ }
565
+ constructor() {
566
+ Br(this, "parser", u(rr, Mn));
567
+ }
568
+ }
569
+ function Hr(e, a, n) {
570
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
571
+ }
572
+ Br(Ur, "ForEntityName", "MTEXT");
573
+ let Cn = { thickness: 0, rotation: 0, scale: 1, obliqueAngle: 0, textStyle: "STANDARD", textGenerationFlag: 0, horizontalJustification: 0, verticalJustification: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, kn = [...rr.slice(rr.findIndex(({ name: e }) => e === "columnType"), rr.findIndex(({ name: e }) => e === "subclassMarker") + 1), { code: 100 }, { code: 0, parser(e) {
574
+ if (!b(e, 0, "MTEXT")) return Ze;
575
+ } }, { code: 2, name: "definitionTag", parser: r }, { code: 40, name: "annotationScale", parser: r }, { code: 10, name: "alignmentPoint", parser: o }, { code: 340, name: "secondaryAttributesHardId", parser: r }, { code: 70, name: "numberOfSecondaryAttributes", parser: r }, { code: 70, name: "isReallyLocked", parser: p }, { code: 70, name: "mtextFlag", parser: r }, { code: 280, name: "isDuplicatedEntriesKeep", parser: p }, { code: 100 }, { code: 280, name: "lockPositionFlag", parser: p }, { code: 210, name: "extrusionDirection", parser: o }, { code: 11, name: "alignmentPoint", parser: o }, { code: 74, name: "verticalJustification", parser: r }, { code: 72, name: "horizontalJustification", parser: r }, { code: 71, name: "textGenerationFlag", parser: r }, { code: 7, name: "textStyle", parser: r }, { code: 51, name: "obliqueAngle", parser: r }, { code: 41, name: "scale", parser: r }, { code: 50, name: "rotation", parser: r }, { code: 73 }, { code: 70, name: "attributeFlag", parser: r }, { code: 2, name: "tag", parser: r }, { code: 280 }, { code: 100, name: "subclassMarker", parser: r }, { code: 1, name: "text", parser: r }, { code: 40, name: "textHeight", parser: r }, { code: 10, name: "startPoint", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 100 }, ...E];
576
+ class Gr {
577
+ parseEntity(a, n) {
578
+ let t = {};
579
+ return this.parser(n, a, t), t;
580
+ }
581
+ constructor() {
582
+ Hr(this, "parser", u(kn, Cn));
583
+ }
584
+ }
585
+ function Wr(e, a, n) {
586
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
587
+ }
588
+ Hr(Gr, "ForEntityName", "ATTRIB");
589
+ let _n = [...sr("data"), { code: 70, name: "version", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
590
+ class jr {
591
+ parseEntity(a, n) {
592
+ let t = {};
593
+ return this.parser(n, a, t), t;
594
+ }
595
+ constructor() {
596
+ Wr(this, "parser", u(_n));
597
+ }
598
+ }
599
+ function Yr(e, a, n) {
600
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
601
+ }
602
+ Wr(jr, "ForEntityName", "BODY");
603
+ let wn = { thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, Rn = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 40, name: "radius", parser: r }, { code: 10, name: "center", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
604
+ class Xr {
605
+ parseEntity(a, n) {
606
+ let t = {};
607
+ return this.parser(n, a, t), t;
608
+ }
609
+ constructor() {
610
+ Yr(this, "parser", u(Rn, wn));
611
+ }
612
+ }
613
+ function zr(e, a, n) {
614
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
615
+ }
616
+ Yr(Xr, "ForEntityName", "CIRCLE");
617
+ let Fn = { extrusionDirection: { x: 0, y: 0, z: 1 } }, Pn = [{ code: 42, name: "endAngle", parser: r }, { code: 41, name: "startAngle", parser: r }, { code: 40, name: "axisRatio", parser: r }, { code: 210, name: "extrusionDirection", parser: o }, { code: 11, name: "majorAxisEndPoint", parser: o }, { code: 10, name: "center", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
618
+ class Kr {
619
+ parseEntity(a, n) {
620
+ let t = {};
621
+ return this.parser(n, a, t), t;
622
+ }
623
+ constructor() {
624
+ zr(this, "parser", u(Pn, Fn));
625
+ }
626
+ }
627
+ function Zr(e, a, n) {
628
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
629
+ }
630
+ zr(Kr, "ForEntityName", "ELLIPSE");
631
+ let Vn = [{ code: 13, name: "vertices.3", parser: o }, { code: 12, name: "vertices.2", parser: o }, { code: 11, name: "vertices.1", parser: o }, { code: 10, name: "vertices.0", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
632
+ class Jr {
633
+ parseEntity(a, n) {
634
+ let t = {};
635
+ return this.parser(n, a, t), t;
636
+ }
637
+ constructor() {
638
+ Zr(this, "parser", u(Vn));
639
+ }
640
+ }
641
+ Zr(Jr, "ForEntityName", "3DFACE");
642
+ (re = {})[re.First = 1] = "First", re[re.Second = 2] = "Second", re[re.Third = 4] = "Third", re[re.Fourth = 8] = "Fourth";
643
+ function ze(e, a, n) {
644
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
645
+ }
646
+ class Sr {
647
+ getReadIndex() {
648
+ return this._pointer;
649
+ }
650
+ getLines() {
651
+ return this._data;
652
+ }
653
+ next() {
654
+ if (!this.hasNext()) return this._eof ? this.debug : this.debug, { code: 0, value: "EOF" };
655
+ let a = this._data[this._pointer++], n = parseInt(a, 10);
656
+ Number.isNaN(n) && yr(a);
657
+ let t = Er(n, this._data[this._pointer++], this.debug), c = { code: n, value: t };
658
+ return b(c, 0, "EOF") && (this._eof = !0), this.lastReadGroup = c, c;
659
+ }
660
+ peek() {
661
+ if (!this.hasNext()) throw this._eof ? Error("Cannot call 'next' after EOF group has been read") : Error("Unexpected end of input: EOF group not read before end of file. Ended on code " + this._data[this._pointer]);
662
+ let a = this._data[this._pointer], n = parseInt(a, 10);
663
+ Number.isNaN(n) && yr(a);
664
+ let t = { code: n, value: 0 };
665
+ return t.value = Er(t.code, this._data[this._pointer + 1], this.debug), t;
666
+ }
667
+ rewind(a) {
668
+ a = a || 1, this._pointer = this._pointer - 2 * a;
669
+ }
670
+ hasNext() {
671
+ return !this._eof && !(this._pointer > this._data.length - 2);
672
+ }
673
+ isEOF() {
674
+ return this._eof;
675
+ }
676
+ constructor(a, n = !1) {
677
+ ze(this, "_data", void 0), ze(this, "debug", void 0), ze(this, "_pointer", void 0), ze(this, "_eof", void 0), ze(this, "lastReadGroup", void 0), this._data = a, this.debug = n, this.lastReadGroup = { code: 0, value: 0 }, this._pointer = 0, this._eof = !1;
678
+ }
679
+ }
680
+ function Er(e, a, n = !1) {
681
+ var t;
682
+ let c = (t = a).endsWith("\r") ? t.slice(0, -1) : t;
683
+ return e <= 9 ? c : e >= 10 && e <= 59 ? parseFloat(a.trim()) : e >= 60 && e <= 99 ? parseInt(a.trim()) : e >= 100 && e <= 109 ? c : e >= 110 && e <= 149 ? parseFloat(a.trim()) : e >= 160 && e <= 179 ? parseInt(a.trim()) : e >= 210 && e <= 239 ? parseFloat(a.trim()) : e >= 270 && e <= 289 ? parseInt(a.trim()) : e >= 290 && e <= 299 ? function(s) {
684
+ let i = s.trim().toLowerCase();
685
+ if (i === "" || i === "0" || i === "false" || i === "f" || i === "no") return !1;
686
+ if (i === "1" || i === "true" || i === "t" || i === "yes") return !0;
687
+ let m = Number.parseFloat(i);
688
+ if (!Number.isNaN(m)) return m !== 0;
689
+ throw TypeError("String '" + s + "' cannot be cast to Boolean type");
690
+ }(a.trim()) : e >= 300 && e <= 369 ? c : e >= 370 && e <= 389 ? parseInt(a.trim()) : e >= 390 && e <= 399 ? c : e >= 400 && e <= 409 ? parseInt(a.trim()) : e >= 410 && e <= 419 ? c : e >= 420 && e <= 429 ? parseInt(a.trim()) : e >= 430 && e <= 439 ? c : e >= 440 && e <= 459 ? parseInt(a.trim()) : e >= 460 && e <= 469 ? parseFloat(a.trim()) : e >= 470 && e <= 481 || e === 999 || e >= 1e3 && e <= 1009 ? c : e >= 1010 && e <= 1059 ? parseFloat(a.trim()) : e >= 1060 && e <= 1071 ? parseInt(a.trim()) : c;
691
+ }
692
+ function yr(e) {
693
+ let a = e.length > 120 ? `${e.slice(0, 120)}…` : e;
694
+ throw Error(`Invalid DXF group code line: "${a}". Expected a numeric group code (often caused by binary DXF, UTF-16-encoded DXF, or stray blank lines). Use ASCII/text DXF or remove blank lines between code/value pairs.`);
695
+ }
696
+ let $r = [{ code: 330, name: "sourceBoundaryObjects", parser: r, isMultiple: !0 }, { code: 97, name: "numberOfSourceBoundaryObjects", parser: r }], Bn = [{ code: 11, name: "end", parser: o }, { code: 10, name: "start", parser: o }], Un = [{ code: 73, name: "isCCW", parser: p }, { code: 51, name: "endAngle", parser: r }, { code: 50, name: "startAngle", parser: r }, { code: 40, name: "radius", parser: r }, { code: 10, name: "center", parser: o }], Hn = [{ code: 73, name: "isCCW", parser: p }, { code: 51, name: "endAngle", parser: r }, { code: 50, name: "startAngle", parser: r }, { code: 40, name: "lengthOfMinorAxis", parser: r }, { code: 11, name: "end", parser: o }, { code: 10, name: "center", parser: o }], Gn = [{ code: 13, name: "endTangent", parser: o }, { code: 12, name: "startTangent", parser: o }, { code: 11, name: "fitDatum", isMultiple: !0, parser: o }, { code: 97, name: "numberOfFitData", parser: r }, { code: 10, name: "controlPoints", isMultiple: !0, parser(e, a) {
697
+ let n = { ...ue(a), weight: 1 };
698
+ return (e = a.next()).code === 42 ? n.weight = e.value : a.rewind(), n;
699
+ } }, { code: 40, name: "knots", isMultiple: !0, parser: r }, { code: 96, name: "numberOfControlPoints", parser: r }, { code: 95, name: "numberOfKnots", parser: r }, { code: 74, name: "isPeriodic", parser: p }, { code: 73, name: "splineFlag", parser: r }, { code: 94, name: "degree", parser: r }], Wn = { [Je.Line]: Bn, [Je.Circular]: Un, [Je.Elliptic]: Hn, [Je.Spline]: Gn }, jn = [...$r, { code: 72, name: "edges", parser(e, a) {
700
+ let n = { type: e.value }, t = Wn[n.type];
701
+ if (t == null) throw Error(`Unsupported HATCH boundary edge type: ${n.type} (expected 1–4: line, arc, elliptic arc, spline). This often happens when a polyline hatch boundary is parsed as edge segments (e.g. group 92 boundary flag missing the polyline bit). Try re-saving as ASCII DXF or simplifying hatch boundaries in CAD.`);
702
+ return u(t)(e = a.next(), a, n), n;
703
+ }, isMultiple: !0 }, { code: 93, name: "numberOfEdges", parser: r }], Yn = [...$r, { code: 10, name: "vertices", parser(e, a) {
704
+ let n = { ...ue(a), bulge: 0 };
705
+ return (e = a.next()).code === 42 ? n.bulge = e.value : a.rewind(), n;
706
+ }, isMultiple: !0 }, { code: 93, name: "numberOfVertices", parser: r }, { code: 73, name: "isClosed", parser: p }, { code: 72, name: "hasBulge", parser: p }];
707
+ function Xn(e, a) {
708
+ let n = { boundaryPathTypeFlag: e.value }, t = !!(n.boundaryPathTypeFlag & an.Polyline), c = a.getReadIndex();
709
+ return e = a.next(), !t && function(s, i) {
710
+ let m = Math.min(s.length, i + 120), l = i;
711
+ for (; l < m - 1; ) {
712
+ let d = parseInt(s[l], 10);
713
+ if (Number.isNaN(d)) break;
714
+ if (d === 93) {
715
+ if (l + 3 >= s.length || parseInt(s[l + 2], 10) !== 72) return !1;
716
+ let f = Er(72, s[l + 3]);
717
+ if (f === 0) return !0;
718
+ if (f === 1) {
719
+ if (l + 5 < s.length && parseInt(s[l + 4], 10) === 73) return !0;
720
+ if (l + 8 < s.length && parseInt(s[l + 4], 10) === 10) {
721
+ let h = parseInt(s[l + 8], 10);
722
+ if (h === 10 || h === 42) return !0;
723
+ }
724
+ }
725
+ break;
726
+ }
727
+ if (d === 0) break;
728
+ l += 2;
729
+ }
730
+ return !1;
731
+ }(a.getLines(), c) && (t = !0), t ? u(Yn)(e, a, n) : u(jn)(e, a, n), n;
732
+ }
733
+ let zn = [{ code: 49, name: "dashLengths", parser: r, isMultiple: !0 }, { code: 79, name: "numberOfDashLengths", parser: r }, { code: 45, name: "offset", parser: Nr }, { code: 43, name: "base", parser: Nr }, { code: 53, name: "angle", parser: r }];
734
+ function Nr(e, a) {
735
+ let n = e.code + 1, t = { x: e.value, y: 1 };
736
+ return (e = a.next()).code === n ? t.y = e.value : a.rewind(), t;
737
+ }
738
+ function Kn(e, a) {
739
+ let n = {};
740
+ return u(zn)(e, a, n), n;
741
+ }
742
+ function Zn(e, a) {
743
+ let n = [];
744
+ for (; e.code === 463; ) {
745
+ let t = { reservedField: e.value };
746
+ if ((e = a.next()).code === 63 && (t.colorIndex = e.value, e = a.next()), e.code === 421) t.rgb = e.value, n.push(t), e = a.next();
747
+ else {
748
+ a.rewind();
749
+ break;
750
+ }
751
+ }
752
+ return e.code !== 463 && n.length > 0 && a.rewind(), n;
753
+ }
754
+ function qr(e, a, n) {
755
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
756
+ }
757
+ let Jn = { extrusionDirection: { x: 0, y: 0, z: 1 }, gradientRotation: 0, colorTint: 0 }, $n = [{ code: 470, name: "gradientName", parser: r }, { code: 463, name: "gradientColors", parser: Zn }, { code: 462, name: "colorTint", parser: r }, { code: 461, name: "gradientDefinition", parser: r }, { code: 460, name: "gradientRotation", parser: r }, { code: 453, name: "numberOfColors", parser: r }, { code: 452, name: "gradientColorFlag", parser: r }, { code: 451 }, { code: 450, name: "gradientFlag", parser: r }, { code: 10, name: "seedPoints", parser: o, isMultiple: !0 }, { code: 99 }, { code: 11, name: "offsetVector", parser: o }, { code: 98, name: "numberOfSeedPoints", parser: r }, { code: 47, name: "pixelSize", parser: r }, { code: 53, name: "definitionLines", parser: Kn, isMultiple: !0 }, { code: 78, name: "numberOfDefinitionLines", parser: r }, { code: 77, name: "isDouble", parser: p }, { code: 73, name: "isAnnotated", parser: p }, { code: 41, name: "patternScale", parser: r }, { code: 52, name: "patternAngle", parser: r }, { code: 76, name: "patternType", parser: r }, { code: 75, name: "hatchStyle", parser: r }, { code: 92, name: "boundaryPaths", parser: Xn, isMultiple: !0 }, { code: 91, name: "numberOfBoundaryPaths", parser: r }, { code: 71, name: "associativity", parser: r }, { code: 63, name: "patternFillColor", parser: r }, { code: 70, name: "solidFill", parser: r }, { code: 2, name: "patternName", parser: r }, { code: 210, name: "extrusionDirection", parser: o }, { code: 10, name: "elevationPoint", parser: o }, { code: 100, name: "subclassMarker", parser: r, pushContext: !0 }, ...E];
758
+ class Qr {
759
+ parseEntity(a, n) {
760
+ let t = {};
761
+ return this.parser(n, a, t), t;
762
+ }
763
+ constructor() {
764
+ qr(this, "parser", u($n, Jn));
765
+ }
766
+ }
767
+ function ea(e, a, n) {
768
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
769
+ }
770
+ qr(Qr, "ForEntityName", "HATCH");
771
+ let qn = { brightness: 50, contrast: 50, fade: 0, clippingBoundaryPath: [] }, Qn = [{ code: 290, name: "clipMode", parser: r }, { code: 14, name: "clippingBoundaryPath", isMultiple: !0, parser: o }, { code: 91, name: "countBoundaryPoints", parser: r }, { code: 71, name: "clippingBoundaryType", parser: r }, { code: 360, name: "imageDefReactorHandle", parser: r }, { code: 283, name: "fade", parser: r }, { code: 282, name: "contrast", parser: r }, { code: 281, name: "brightness", parser: r }, { code: 280, name: "isClipped", parser: p }, { code: 70, name: "flags", parser: r }, { code: 340, name: "imageDefHandle", parser: r }, { code: 13, name: "imageSize", parser: o }, { code: 12, name: "vPixel", parser: o }, { code: 11, name: "uPixel", parser: o }, { code: 10, name: "position", parser: o }, { code: 90, name: "version", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
772
+ class ra {
773
+ parseEntity(a, n) {
774
+ let t = {};
775
+ return this.parser(n, a, t), t;
776
+ }
777
+ constructor() {
778
+ ea(this, "parser", u(Qn, qn));
779
+ }
780
+ }
781
+ ea(ra, "ForEntityName", "IMAGE");
782
+ (ae = {})[ae.ShowImage = 1] = "ShowImage", ae[ae.ShowImageWhenNotAlignedWithScreen = 2] = "ShowImageWhenNotAlignedWithScreen", ae[ae.UseClippingBoundary = 4] = "UseClippingBoundary", ae[ae.TransparencyIsOn = 8] = "TransparencyIsOn";
783
+ (We = {})[We.Rectangular = 1] = "Rectangular", We[We.Polygonal = 2] = "Polygonal";
784
+ (je = {})[je.Outside = 0] = "Outside", je[je.Inside = 1] = "Inside";
785
+ function aa(e, a, n) {
786
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
787
+ }
788
+ let et = { xScale: 1, yScale: 1, zScale: 1, rotation: 0, columnCount: 0, rowCount: 0, columnSpacing: 0, rowSpacing: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, rt = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 45, name: "rowSpacing", parser: r }, { code: 44, name: "columnSpacing", parser: r }, { code: 71, name: "rowCount", parser: r }, { code: 70, name: "columnCount", parser: r }, { code: 50, name: "rotation", parser: r }, { code: 43, name: "zScale", parser: r }, { code: 42, name: "yScale", parser: r }, { code: 41, name: "xScale", parser: r }, { code: 10, name: "insertionPoint", parser: o }, { code: 2, name: "name", parser: r }, { code: 66, name: "isVariableAttributes", parser: p }, { code: 100, name: "subclassMarker", parser: r }, ...E];
789
+ class na {
790
+ parseEntity(a, n) {
791
+ let t = {};
792
+ return this.parser(n, a, t), t;
793
+ }
794
+ constructor() {
795
+ aa(this, "parser", u(rt, et));
796
+ }
797
+ }
798
+ function ta(e, a, n) {
799
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
800
+ }
801
+ aa(na, "ForEntityName", "INSERT");
802
+ let at = { isArrowheadEnabled: !0 }, nt = [{ code: 213, name: "offsetFromAnnotation", parser: o }, { code: 212, name: "offsetFromBlock", parser: o }, { code: 211, name: "horizontalDirection", parser: o }, { code: 210, name: "normal", parser: o }, { code: 340, name: "associatedAnnotation", parser: r }, { code: 77, name: "byBlockColor", parser: r }, { code: 10, name: "vertices", parser: o, isMultiple: !0 }, { code: 76, name: "numberOfVertices", parser: r }, { code: 41, name: "textWidth", parser: r }, { code: 40, name: "textHeight", parser: r }, { code: 75, name: "isHooklineExists", parser: p }, { code: 74, name: "isHooklineSameDirection", parser: p }, { code: 73, name: "leaderCreationFlag", parser: r }, { code: 72, name: "isSpline", parser: p }, { code: 71, name: "isArrowheadEnabled", parser: p }, { code: 3, name: "styleName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
803
+ class oa {
804
+ parseEntity(a, n) {
805
+ let t = {};
806
+ return this.parser(n, a, t), t;
807
+ }
808
+ constructor() {
809
+ ta(this, "parser", u(nt, at));
810
+ }
811
+ }
812
+ ta(oa, "ForEntityName", "LEADER");
813
+ (ne = {})[ne.TextAnnotation = 0] = "TextAnnotation", ne[ne.ToleranceAnnotation = 1] = "ToleranceAnnotation", ne[ne.BlockReferenceAnnotation = 2] = "BlockReferenceAnnotation", ne[ne.NoAnnotation = 3] = "NoAnnotation";
814
+ function sa(e, a, n) {
815
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
816
+ }
817
+ let tt = { thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, ot = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 11, name: "endPoint", parser: o }, { code: 10, name: "startPoint", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
818
+ class ca {
819
+ parseEntity(a, n) {
820
+ let t = {};
821
+ return this.parser(n, a, t), t;
822
+ }
823
+ constructor() {
824
+ sa(this, "parser", u(ot, tt));
825
+ }
826
+ }
827
+ function ia(e, a, n) {
828
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
829
+ }
830
+ sa(ca, "ForEntityName", "LINE");
831
+ let st = [{ code: 280, name: "shadowMapSoftness", parser: r }, { code: 91, name: "shadowMapSize", parser: r }, { code: 73, name: "shadowType", parser: r }, { code: 293, name: "isShadowCast", parser: p }, { code: 51, name: "falloffAngle", parser: r }, { code: 50, name: "hotspotAngle", parser: r }, { code: 42, name: "limitEnd", parser: r }, { code: 41, name: "limitStart", parser: r }, { code: 292, name: "isAttenuationLimited", parser: p }, { code: 72, name: "attenuationType", parser: r }, { code: 11, name: "target", parser: o }, { code: 10, name: "position", parser: o }, { code: 40, name: "intensity", parser: r }, { code: 291, name: "isPlotGlyph", parser: p }, { code: 290, name: "isOn", parser: p }, { code: 421, name: "lightColorInstance", parser: r }, { code: 63, name: "lightColorIndex", parser: r }, { code: 70, name: "lightType", parser: r }, { code: 1, name: "name", parser: r }, { code: 90, name: "version", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
832
+ class la {
833
+ parseEntity(a, n) {
834
+ let t = {};
835
+ return this.parser(n, a, t), t;
836
+ }
837
+ constructor() {
838
+ ia(this, "parser", u(st));
839
+ }
840
+ }
841
+ ia(la, "ForEntityName", "LIGHT");
842
+ (Oe = {})[Oe.Distant = 1] = "Distant", Oe[Oe.Point = 2] = "Point", Oe[Oe.Spot = 3] = "Spot";
843
+ (Se = {})[Se.None = 0] = "None", Se[Se.InverseLinear = 1] = "InverseLinear", Se[Se.InverseSquare = 2] = "InverseSquare";
844
+ let ct = { flag: 0, elevation: 0, thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 }, vertices: [] }, it = { bulge: 0 }, lt = [{ code: 42, name: "bulge", parser: r }, { code: 41, name: "endWidth", parser: r }, { code: 40, name: "startWidth", parser: r }, { code: 91, name: "id", parser: r }, { code: 20, name: "y", parser: r }, { code: 10, name: "x", parser: r }], dt = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 10, name: "vertices", isMultiple: !0, parser(e, a) {
845
+ let n = {};
846
+ return u(lt, it)(e, a, n), n;
847
+ } }, { code: 39, name: "thickness", parser: r }, { code: 38, name: "elevation", parser: r }, { code: 43, name: "constantWidth", parser: r }, { code: 70, name: "flag", parser: r }, { code: 90, name: "numberOfVertices", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
848
+ class ar {
849
+ parseEntity(a, n) {
850
+ let t = {};
851
+ return u(dt, ct)(n, a, t), t;
852
+ }
853
+ }
854
+ (dr = "ForEntityName") in ar ? Object.defineProperty(ar, dr, { value: "LWPOLYLINE", enumerable: !0, configurable: !0, writable: !0 }) : ar[dr] = "LWPOLYLINE";
855
+ (Ye = {})[Ye.IS_CLOSED = 1] = "IS_CLOSED", Ye[Ye.PLINE_GEN = 128] = "PLINE_GEN";
856
+ function da(e, a, n) {
857
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
858
+ }
859
+ let pt = [{ code: 90, name: "overridenSubEntityCount", parser: r }, { code: 140, name: "edgeCreaseWeights", parser: r, isMultiple: !0 }, { code: 95, name: "edgeCreaseCount", parser: r }, { code: 94, parser(e, a, n) {
860
+ n.edgeCount = e.value, n.edgeIndices = [];
861
+ for (let t = 0; t < n.edgeCount; ++t) {
862
+ let c = [];
863
+ e = a.next(), c[0] = e.value, e = a.next(), c[1] = e.value, n.edgeIndices.push(c);
864
+ }
865
+ } }, { code: 93, parser(e, a, n) {
866
+ n.totalFaceIndices = e.value, n.faceIndices = [];
867
+ let t = [];
868
+ for (let s = 0; s < n.totalFaceIndices && !b(e, 0); ++s) e = a.next(), t.push(e.value);
869
+ let c = 0;
870
+ for (; c < t.length; ) {
871
+ let s = t[c++], i = [];
872
+ for (let m = 0; m < s; ++m) i.push(t[c++]);
873
+ n.faceIndices.push(i);
874
+ }
875
+ } }, { code: 10, name: "vertices", parser: o, isMultiple: !0 }, { code: 92, name: "verticesCount", parser: r }, { code: 91, name: "subdivisionLevel", parser: r }, { code: 40, name: "blendCrease", parser: r }, { code: 72, name: "isBlendCreased", parser: p }, { code: 71, name: "version", parser: r }, { code: 100, name: "subclassMarker", parser: on, pushContext: !0 }, ...E];
876
+ class pa {
877
+ parseEntity(a, n) {
878
+ let t = {};
879
+ return this.parser(n, a, t), t;
880
+ }
881
+ constructor() {
882
+ da(this, "parser", u(pt));
883
+ }
884
+ }
885
+ function ua(e, a, n) {
886
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
887
+ }
888
+ da(pa, "ForEntityName", "MESH");
889
+ let ut = [{ code: 42, name: "fillParameters", parser: r, isMultiple: !0 }, { code: 75, name: "fillCount", parser: r }, { code: 41, name: "parameters", parser: r, isMultiple: !0 }, { code: 74, name: "parameterCount", parser: r }], mt = [{ code: [74, 41, 75, 42], name: "elements", parser(e, a) {
890
+ let n = u(ut), t = {};
891
+ return n(e, a, t), t;
892
+ }, isMultiple: !0 }, { code: 13, name: "miterDirection", parser: o }, { code: 12, name: "direction", parser: o }, { code: 11, name: "position", parser: o }], ft = [{ code: [11, 12, 13], name: "segments", parser(e, a) {
893
+ let n = u(mt), t = {};
894
+ return n(e, a, t), t;
895
+ }, isMultiple: !0 }, { code: 210, name: "extrusionDirection", parser: o }, { code: 10, name: "startPosition", parser: o }, { code: 73, name: "styleCount", parser: r }, { code: 72, name: "vertexCount", parser: r }, { code: 71, name: "flags", parser: r }, { code: 70, name: "justification", parser: r }, { code: 40, name: "scale", parser: r }, { code: 340, name: "styleObjectHandle", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r, pushContext: !0 }, ...E];
896
+ class ma {
897
+ parseEntity(a, n) {
898
+ let t = {};
899
+ return this.parser(n, a, t), t;
900
+ }
901
+ constructor() {
902
+ ua(this, "parser", u(ft));
903
+ }
904
+ }
905
+ ua(ma, "ForEntityName", "MLINE");
906
+ (ye = {})[ye.Top = 0] = "Top", ye[ye.Zero = 1] = "Zero", ye[ye.Bottom = 2] = "Bottom";
907
+ (te = {})[te.HasVertex = 1] = "HasVertex", te[te.Closed = 2] = "Closed", te[te.SuppressStartCaps = 4] = "SuppressStartCaps", te[te.SuppressEndCaps = 8] = "SuppressEndCaps";
908
+ (Ne = {})[Ne.LEFT_TO_RIGHT = 1] = "LEFT_TO_RIGHT", Ne[Ne.TOP_TO_BOTTOM = 3] = "TOP_TO_BOTTOM", Ne[Ne.BY_STYLE = 5] = "BY_STYLE";
909
+ function fa(e, a, n) {
910
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
911
+ }
912
+ let It = {}, bt = [{ code: 300, parser: function(e, a, n) {
913
+ var s;
914
+ let t;
915
+ if (e.value === "CONTEXT_DATA{") for (; a.hasNext(); ) {
916
+ var c;
917
+ if ((t = a.next()).code === 301) break;
918
+ switch (t.code) {
919
+ case 10:
920
+ n.contentBasePosition = M(t, a);
921
+ break;
922
+ case 11:
923
+ n.normal = M(t, a);
924
+ break;
925
+ case 12:
926
+ n.textAnchor = M(t, a);
927
+ break;
928
+ case 13:
929
+ n.textDirection = M(t, a);
930
+ break;
931
+ case 14:
932
+ le(n).normal = M(t, a);
933
+ break;
934
+ case 15:
935
+ le(n).position = M(t, a);
936
+ break;
937
+ case 16:
938
+ le(n).scale = M(t, a);
939
+ break;
940
+ case 40:
941
+ n.contentScale = t.value;
942
+ break;
943
+ case 41:
944
+ case 44:
945
+ n.textHeight = t.value;
946
+ break;
947
+ case 42:
948
+ n.textRotation = t.value;
949
+ break;
950
+ case 43:
951
+ n.textWidth = t.value;
952
+ break;
953
+ case 45:
954
+ n.textLineSpacingFactor = t.value;
955
+ break;
956
+ case 46:
957
+ le(n).rotation = t.value;
958
+ break;
959
+ case 47:
960
+ (c = le(n)).transformationMatrix ?? (c.transformationMatrix = []), (s = le(n).transformationMatrix) == null || s.push(t.value);
961
+ break;
962
+ case 90:
963
+ n.textColor = t.value;
964
+ break;
965
+ case 91:
966
+ n.textBackgroundColor = t.value;
967
+ break;
968
+ case 92:
969
+ n.textBackgroundTransparency = t.value;
970
+ break;
971
+ case 93:
972
+ le(n).color = t.value;
973
+ break;
974
+ case 110:
975
+ n.planeOrigin = M(t, a);
976
+ break;
977
+ case 111:
978
+ n.planeXAxisDirection = M(t, a);
979
+ break;
980
+ case 112:
981
+ n.planeYAxisDirection = M(t, a);
982
+ break;
983
+ case 140:
984
+ n.arrowheadSize = t.value;
985
+ break;
986
+ case 141:
987
+ n.textBackgroundScaleFactor = t.value;
988
+ break;
989
+ case 142:
990
+ n.textColumnWidth = t.value;
991
+ break;
992
+ case 143:
993
+ n.textColumnGutterWidth = t.value;
994
+ break;
995
+ case 144:
996
+ n.textColumnHeight = t.value;
997
+ break;
998
+ case 145:
999
+ n.landingGap = t.value;
1000
+ break;
1001
+ case 170:
1002
+ n.textLineSpacingStyle = t.value;
1003
+ break;
1004
+ case 171:
1005
+ n.textAttachment = t.value;
1006
+ break;
1007
+ case 172:
1008
+ n.textFlowDirection = t.value;
1009
+ break;
1010
+ case 173:
1011
+ n.textColumnType = t.value;
1012
+ break;
1013
+ case 290:
1014
+ n.hasMText = t.value;
1015
+ break;
1016
+ case 291:
1017
+ n.textBackgroundColorOn = t.value;
1018
+ break;
1019
+ case 292:
1020
+ n.textFillOn = t.value;
1021
+ break;
1022
+ case 293:
1023
+ n.textUseAutoHeight = t.value;
1024
+ break;
1025
+ case 294:
1026
+ n.textColumnFlowReversed = t.value;
1027
+ break;
1028
+ case 295:
1029
+ n.textUseWordBreak = t.value;
1030
+ break;
1031
+ case 296:
1032
+ n.hasBlock = t.value;
1033
+ break;
1034
+ case 297:
1035
+ n.planeNormalReversed = t.value;
1036
+ break;
1037
+ case 302:
1038
+ t.value === "LEADER{" && (n.leaderSections ?? (n.leaderSections = []), n.leaderSections.push(function(i, m) {
1039
+ let l, d;
1040
+ if (i.value !== "LEADER{") return { leaderLines: [] };
1041
+ let f = { leaderLines: [] };
1042
+ for (; m.hasNext(); ) {
1043
+ if ((d = m.next()).code === 303) {
1044
+ $e(f, l);
1045
+ break;
1046
+ }
1047
+ switch (d.code) {
1048
+ case 290:
1049
+ f.lastLeaderLinePointSet = d.value;
1050
+ break;
1051
+ case 291:
1052
+ f.doglegVectorSet = d.value;
1053
+ break;
1054
+ case 10:
1055
+ f.lastLeaderLinePoint = M(d, m);
1056
+ break;
1057
+ case 11:
1058
+ f.doglegVector = M(d, m);
1059
+ break;
1060
+ case 12:
1061
+ l ?? (l = {}), l.start = M(d, m);
1062
+ break;
1063
+ case 13:
1064
+ l ?? (l = {}), l.end = M(d, m), $e(f, l), l = void 0;
1065
+ break;
1066
+ case 90:
1067
+ f.leaderBranchIndex = d.value;
1068
+ break;
1069
+ case 40:
1070
+ f.doglegLength = d.value;
1071
+ break;
1072
+ case 304:
1073
+ d.value === "LEADER_LINE{" && f.leaderLines.push(function(h, v) {
1074
+ let x, S;
1075
+ if (h.value !== "LEADER_LINE{") return { vertices: [] };
1076
+ let y = { vertices: [] };
1077
+ for (; v.hasNext(); ) {
1078
+ if ((S = v.next()).code === 305) {
1079
+ $e(y, x);
1080
+ break;
1081
+ }
1082
+ switch (S.code) {
1083
+ case 10:
1084
+ y.vertices.push(M(S, v));
1085
+ break;
1086
+ case 11:
1087
+ x ?? (x = {}), x.start = M(S, v);
1088
+ break;
1089
+ case 12:
1090
+ x ?? (x = {}), x.end = M(S, v), $e(y, x), x = void 0;
1091
+ break;
1092
+ case 90:
1093
+ y.breakPointIndexes ?? (y.breakPointIndexes = []), y.breakPointIndexes.push(S.value), x ?? (x = {}), x.index = S.value;
1094
+ break;
1095
+ case 91:
1096
+ y.leaderLineIndex = S.value;
1097
+ }
1098
+ }
1099
+ return y;
1100
+ }(d, m));
1101
+ }
1102
+ }
1103
+ return f;
1104
+ }(t, a)));
1105
+ break;
1106
+ case 304:
1107
+ t.value !== "LEADER_LINE{" && (n.textContent = t.value, n.contentType ?? (n.contentType = 2));
1108
+ break;
1109
+ case 340:
1110
+ n.textStyleId = t.value;
1111
+ break;
1112
+ case 341:
1113
+ n.blockContentId = t.value, le(n).blockContentId = t.value;
1114
+ }
1115
+ }
1116
+ } }, { code: 270, name: "version", parser: r }, { code: 340, name: "leaderStyleId", parser: r }, { code: 90, name: "propertyOverrideFlag", parser: r }, { code: 170, name: "leaderLineType", parser: r }, { code: 91, name: "leaderLineColor", parser: r }, { code: 341, name: "leaderLineTypeId", parser: r }, { code: 171, name: "leaderLineWeight", parser: r }, { code: 290, name: "landingEnabled", parser: p }, { code: 291, name: "doglegEnabled", parser: p }, { code: [40, 41], name: "doglegLength", parser: r }, { code: 342, name: "arrowheadId", parser: r }, { code: 42, name: "arrowheadSize", parser: r }, { code: 172, name: "contentType", parser: r }, { code: 343, name: "textStyleId", parser: r }, { code: 173, name: "textLeftAttachmentType", parser: r }, { code: 95, name: "textRightAttachmentType", parser: r }, { code: 174, name: "textAngleType", parser: r }, { code: 175, name: "textAlignmentType", parser: r }, { code: 92, name: "textColor", parser: r }, { code: 292, name: "textFrameEnabled", parser: p }, { code: 344, parser: function(e, a, n) {
1117
+ n.blockContentId = e.value, le(n).blockContentId = e.value;
1118
+ } }, { code: 93, name: "blockContentColor", parser: r }, { code: 10, name: "blockContentScale", parser: o }, { code: 43, name: "blockContentRotation", parser: r }, { code: 176, name: "blockContentConnectionType", parser: r }, { code: 293, name: "annotativeScaleEnabled", parser: p }, { code: 94, parser: function(e, a, n) {
1119
+ n.arrowheadOverrides ?? (n.arrowheadOverrides = []), n.arrowheadOverrides.push({ index: e.value });
1120
+ }, isMultiple: !0 }, { code: 345, parser: function(e, a, n) {
1121
+ var t;
1122
+ ((t = n).arrowheadOverrides ?? (t.arrowheadOverrides = []), t.arrowheadOverrides.length || t.arrowheadOverrides.push({}), t.arrowheadOverrides[t.arrowheadOverrides.length - 1]).handle = e.value;
1123
+ }, isMultiple: !0 }, { code: 330, parser: function(e, a, n) {
1124
+ n.blockAttributes ?? (n.blockAttributes = []), n.blockAttributes.push({ id: e.value });
1125
+ }, isMultiple: !0 }, { code: 177, parser: function(e, a, n) {
1126
+ Ir(n).index = e.value;
1127
+ }, isMultiple: !0 }, { code: 44, parser: function(e, a, n) {
1128
+ Ir(n).width = e.value;
1129
+ }, isMultiple: !0 }, { code: 302, parser: function(e, a, n) {
1130
+ Ir(n).text = e.value;
1131
+ }, isMultiple: !0 }, { code: 294, name: "textDirectionNegative", parser: p }, { code: 178, name: "textAlignInIPE", parser: r }, { code: 179, name: "textAttachmentPoint", parser: r }, { code: 271, name: "textAttachmentDirection", parser: r }, { code: 272, name: "bottomTextAttachmentDirection", parser: r }, { code: 273, name: "topTextAttachmentDirection", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1132
+ function M(e, a) {
1133
+ return hr(o(e, a));
1134
+ }
1135
+ function $e(e, a) {
1136
+ (a != null && a.start || a != null && a.end) && (e.breaks ?? (e.breaks = []), e.breaks.push(a));
1137
+ }
1138
+ function le(e) {
1139
+ return e.blockContent ?? (e.blockContent = {});
1140
+ }
1141
+ function Ir(e) {
1142
+ return e.blockAttributes ?? (e.blockAttributes = []), e.blockAttributes.length || e.blockAttributes.push({}), e.blockAttributes[e.blockAttributes.length - 1];
1143
+ }
1144
+ class Ia {
1145
+ parseEntity(a, n) {
1146
+ let t = {};
1147
+ return this.parser(n, a, t), t;
1148
+ }
1149
+ constructor() {
1150
+ fa(this, "parser", u(bt, It));
1151
+ }
1152
+ }
1153
+ function ba(e, a, n) {
1154
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1155
+ }
1156
+ fa(Ia, "ForEntityName", "MULTILEADER");
1157
+ let ht = { thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 }, angle: 0 }, Et = [{ code: 50, name: "angle", parser: r }, { code: 210, name: "extrusionDirection", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 10, name: "position", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1158
+ class ha {
1159
+ parseEntity(a, n) {
1160
+ let t = {};
1161
+ return this.parser(n, a, t), t;
1162
+ }
1163
+ constructor() {
1164
+ ba(this, "parser", u(Et, ht));
1165
+ }
1166
+ }
1167
+ function Ea(e, a, n) {
1168
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1169
+ }
1170
+ ba(ha, "ForEntityName", "POINT");
1171
+ let gt = { startWidth: 0, endWidth: 0, bulge: 0 }, xt = [{ code: 91, name: "id", parser: r }, { code: [...or(71, 75)], name: "faces", isMultiple: !0, parser: r }, { code: 50, name: "tangentDirection", parser: r }, { code: 70, name: "flag", parser: r }, { code: 42, name: "bulge", parser: r }, { code: 41, name: "endWidth", parser: r }, { code: 40, name: "startWidth", parser: r }, { code: 30, name: "z", parser: r }, { code: 20, name: "y", parser: r }, { code: 10, name: "x", parser: r }, { code: 100, name: "subclassMarker", parser: r }, { code: 100 }, ...E];
1172
+ class xr {
1173
+ parseEntity(a, n) {
1174
+ let t = {};
1175
+ return this.parser(n, a, t), t;
1176
+ }
1177
+ constructor() {
1178
+ Ea(this, "parser", u(xt, gt));
1179
+ }
1180
+ }
1181
+ function ga(e, a, n) {
1182
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1183
+ }
1184
+ Ea(xr, "ForEntityName", "VERTEX");
1185
+ let Tt = { 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: [] }, vt = [{ code: 0, name: "vertices", isMultiple: !0, parser: (e, a) => b(e, 0, "VERTEX") ? (e = a.next(), new xr().parseEntity(a, e)) : Ze }, { code: 210, name: "extrusionDirection", parser: o }, { code: 75, name: "smoothType", parser: r }, { code: 74, name: "surfaceNDensity", parser: r }, { code: 73, name: "surfaceMDensity", parser: r }, { code: 72, name: "meshNVertexCount", parser: r }, { code: 71, name: "meshMVertexCount", parser: r }, { code: 41, name: "endWidth", parser: r }, { code: 40, name: "startWidth", parser: r }, { code: 70, name: "flag", parser: r }, { code: 39, name: "thickness", parser: r }, { code: 30, name: "elevation", parser: r }, { code: 20 }, { code: 10 }, { code: 66 }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1186
+ class xa {
1187
+ parseEntity(a, n) {
1188
+ let t = {};
1189
+ return this.parser(n, a, t), t;
1190
+ }
1191
+ constructor() {
1192
+ ga(this, "parser", u(vt, Tt));
1193
+ }
1194
+ }
1195
+ ga(xa, "ForEntityName", "POLYLINE");
1196
+ (D = {})[D.CLOSED_POLYLINE = 1] = "CLOSED_POLYLINE", D[D.CURVE_FIT = 2] = "CURVE_FIT", D[D.SPLINE_FIT = 4] = "SPLINE_FIT", D[D.POLYLINE_3D = 8] = "POLYLINE_3D", D[D.POLYGON_3D = 16] = "POLYGON_3D", D[D.CLOSED_POLYGON = 32] = "CLOSED_POLYGON", D[D.POLYFACE = 64] = "POLYFACE", D[D.CONTINUOUS = 128] = "CONTINUOUS";
1197
+ (oe = {})[oe.NONE = 0] = "NONE", oe[oe.QUADRATIC = 5] = "QUADRATIC", oe[oe.CUBIC = 6] = "CUBIC", oe[oe.BEZIER = 8] = "BEZIER";
1198
+ function Ta(e, a, n) {
1199
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1200
+ }
1201
+ let Ot = [{ code: 11, name: "direction", parser: o }, { code: 10, name: "position", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1202
+ class va {
1203
+ parseEntity(a, n) {
1204
+ let t = {};
1205
+ return this.parser(n, a, t), t;
1206
+ }
1207
+ constructor() {
1208
+ Ta(this, "parser", u(Ot));
1209
+ }
1210
+ }
1211
+ function Oa(e, a, n) {
1212
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1213
+ }
1214
+ Ta(va, "ForEntityName", "RAY");
1215
+ let St = [...sr("data"), { code: 70, name: "version", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1216
+ class Sa {
1217
+ parseEntity(a, n) {
1218
+ let t = {};
1219
+ return this.parser(n, a, t), t;
1220
+ }
1221
+ constructor() {
1222
+ Oa(this, "parser", u(St));
1223
+ }
1224
+ }
1225
+ function ya(e, a, n) {
1226
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1227
+ }
1228
+ Oa(Sa, "ForEntityName", "REGION");
1229
+ let yt = { vertices: [], backLineVertices: [] }, Nt = [{ code: 360, name: "geometrySettingHardId", parser: r }, { code: 12, name: "backLineVertices", isMultiple: !0, parser: o }, { code: 93, name: "numberOfBackLineVertices", parser: r }, { code: 11, name: "vertices", isMultiple: !0, parser: o }, { code: 92, name: "verticesCount", parser: r }, { code: [63, 411], name: "indicatorColor", parser: r }, { code: 70, name: "indicatorTransparency", parser: r }, { code: 41, name: "bottomHeight", parser: r }, { code: 40, name: "topHeight", parser: r }, { code: 10, name: "verticalDirection", parser: o }, { code: 1, name: "name", parser: r }, { code: 91, name: "flag", parser: r }, { code: 90, name: "state", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1230
+ class Na {
1231
+ parseEntity(a, n) {
1232
+ let t = {};
1233
+ return this.parser(n, a, t), t;
1234
+ }
1235
+ constructor() {
1236
+ ya(this, "parser", u(Nt, yt));
1237
+ }
1238
+ }
1239
+ function Aa(e, a, n) {
1240
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1241
+ }
1242
+ ya(Na, "ForEntityName", "SECTION");
1243
+ let At = { thickness: 0, rotation: 0, xScale: 1, obliqueAngle: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, Dt = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 51, name: "obliqueAngle", parser: r }, { code: 41, name: "xScale", parser: r }, { code: 50, name: "rotation", parser: r }, { code: 2, name: "shapeName", parser: r }, { code: 40, name: "size", parser: r }, { code: 10, name: "insertionPoint", parser: o }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1244
+ class Da {
1245
+ parseEntity(a, n) {
1246
+ let t = {};
1247
+ return this.parser(n, a, t), t;
1248
+ }
1249
+ constructor() {
1250
+ Aa(this, "parser", u(Dt, At));
1251
+ }
1252
+ }
1253
+ function La(e, a, n) {
1254
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1255
+ }
1256
+ Aa(Da, "ForEntityName", "SHAPE");
1257
+ let Lt = { points: [], thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, Mt = [{ code: 210, name: "extrusionDirection", parser: o }, { code: 39, name: "thickness", parser: r }, { code: [...or(10, 14)], name: "points", isMultiple: !0, parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1258
+ class Ma {
1259
+ parseEntity(a, n) {
1260
+ let t = {};
1261
+ return this.parser(n, a, t), t;
1262
+ }
1263
+ constructor() {
1264
+ La(this, "parser", u(Mt, Lt));
1265
+ }
1266
+ }
1267
+ function Ca(e, a, n) {
1268
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1269
+ }
1270
+ La(Ma, "ForEntityName", "SOLID");
1271
+ let Ct = [{ code: 350, name: "historyObjectSoftId", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...sr("data"), { code: 70, name: "version", parser: r }, { code: 100 }, ...E];
1272
+ class ka {
1273
+ parseEntity(a, n) {
1274
+ let t = {};
1275
+ return this.parser(n, a, t), t;
1276
+ }
1277
+ constructor() {
1278
+ Ca(this, "parser", u(Ct));
1279
+ }
1280
+ }
1281
+ function _a(e, a, n) {
1282
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1283
+ }
1284
+ Ca(ka, "ForEntityName", "3DSOLID");
1285
+ let kt = { knotTolerance: 1e-6, controlTolerance: 1e-6, fitTolerance: 1e-9, knotValues: [], controlPoints: [], fitPoints: [] }, _t = [{ code: 11, name: "fitPoints", isMultiple: !0, parser: o }, { code: 10, name: "controlPoints", isMultiple: !0, parser: o }, { code: 41, name: "weights", isMultiple: !0, parser: r }, { code: 40, name: "knots", isMultiple: !0, parser: r }, { code: 13, name: "endTangent", parser: o }, { code: 12, name: "startTangent", parser: o }, { code: 44, name: "fitTolerance", parser: r }, { code: 43, name: "controlTolerance", parser: r }, { code: 42, name: "knotTolerance", parser: r }, { code: 74, name: "numberOfFitPoints", parser: r }, { code: 73, name: "numberOfControlPoints", parser: r }, { code: 72, name: "numberOfKnots", parser: r }, { code: 71, name: "degree", parser: r }, { code: 70, name: "flag", parser: r }, { code: 210, name: "normal", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1286
+ class wa {
1287
+ parseEntity(a, n) {
1288
+ let t = {};
1289
+ return this.parser(n, a, t), t;
1290
+ }
1291
+ constructor() {
1292
+ _a(this, "parser", u(_t, kt));
1293
+ }
1294
+ }
1295
+ _a(wa, "ForEntityName", "SPLINE");
1296
+ (V = {})[V.NONE = 0] = "NONE", V[V.CLOSED = 1] = "CLOSED", V[V.PERIODIC = 2] = "PERIODIC", V[V.RATIONAL = 4] = "RATIONAL", V[V.PLANAR = 8] = "PLANAR", V[V.LINEAR = 16] = "LINEAR";
1297
+ function Ra(e, a, n) {
1298
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1299
+ }
1300
+ let wt = [{ code: 280, name: "shadowMapSoftness", parser: r }, { code: 71, name: "shadowMapSize", parser: r }, { code: 70, name: "shadowType", parser: r }, { code: 292, name: "isSummerTime", parser: p }, { code: 92, name: "time", parser: r }, { code: 91, name: "julianDay", parser: r }, { code: 291, name: "hasShadow", parser: p }, { code: 40, name: "intensity", parser: r }, { code: 421, name: "lightColorInstance", parser: r }, { code: 63, name: "lightColorIndex", parser: r }, { code: 290, name: "isOn", parser: p }, { code: 90, name: "version", parser: r }, { code: 100, name: "subclassMarker", parser: r, pushContext: !0 }, ...E.filter((e) => e.code !== 100)];
1301
+ class Fa {
1302
+ parseEntity(a, n) {
1303
+ let t = { layer: "" };
1304
+ return this.parser(n, a, t), t;
1305
+ }
1306
+ constructor() {
1307
+ Ra(this, "parser", u(wt));
1308
+ }
1309
+ }
1310
+ Ra(Fa, "ForEntityName", "SUN");
1311
+ class nr {
1312
+ parseEntity(a, n) {
1313
+ let t = {};
1314
+ for (; !a.isEOF(); ) {
1315
+ if (n.code === 0) {
1316
+ a.rewind();
1317
+ break;
1318
+ }
1319
+ switch (n.code) {
1320
+ case 100:
1321
+ t.subclassMarker = n.value, n = a.next();
1322
+ break;
1323
+ case 2:
1324
+ t.name = n.value, n = a.next();
1325
+ break;
1326
+ case 5:
1327
+ t.handle = n.value, n = a.next();
1328
+ break;
1329
+ case 10:
1330
+ t.startPoint = hr(ue(a)), n = a.lastReadGroup;
1331
+ break;
1332
+ case 11:
1333
+ t.directionVector = hr(ue(a)), n = a.lastReadGroup;
1334
+ break;
1335
+ case 90:
1336
+ t.tableValue = n.value, n = a.next();
1337
+ break;
1338
+ case 91:
1339
+ t.rowCount = n.value, n = a.next();
1340
+ break;
1341
+ case 92:
1342
+ t.columnCount = n.value, n = a.next();
1343
+ break;
1344
+ case 93:
1345
+ t.overrideFlag = n.value, n = a.next();
1346
+ break;
1347
+ case 94:
1348
+ t.borderColorOverrideFlag = n.value, n = a.next();
1349
+ break;
1350
+ case 95:
1351
+ t.borderLineWeightOverrideFlag = n.value, n = a.next();
1352
+ break;
1353
+ case 96:
1354
+ t.borderVisibilityOverrideFlag = n.value, n = a.next();
1355
+ break;
1356
+ case 141:
1357
+ t.rowHeightArr ?? (t.rowHeightArr = []), t.rowHeightArr.push(n.value), n = a.next();
1358
+ break;
1359
+ case 142:
1360
+ t.columnWidthArr ?? (t.columnWidthArr = []), t.columnWidthArr.push(n.value), n = a.next();
1361
+ break;
1362
+ case 280:
1363
+ t.version = n.value, n = a.next();
1364
+ break;
1365
+ case 310:
1366
+ t.bmpPreview ?? (t.bmpPreview = ""), t.bmpPreview += n.value, n = a.next();
1367
+ break;
1368
+ case 330:
1369
+ t.ownerBlockRecordSoftId = n.value, n = a.next();
1370
+ break;
1371
+ case 342:
1372
+ t.tableStyleId = n.value, n = a.next();
1373
+ break;
1374
+ case 343:
1375
+ t.blockRecordHandle = n.value, n = a.next();
1376
+ break;
1377
+ case 170:
1378
+ t.attachmentPoint = n.value, n = a.next();
1379
+ break;
1380
+ case 171:
1381
+ t.cells ?? (t.cells = []), t.cells.push(function(c, s) {
1382
+ let i = !1, m = !1, l = {};
1383
+ for (; !c.isEOF() && s.code !== 0 && !m; ) switch (s.code) {
1384
+ case 171:
1385
+ if (i) {
1386
+ m = !0;
1387
+ continue;
1388
+ }
1389
+ l.cellType = s.value, i = !0, s = c.next();
1390
+ break;
1391
+ case 172:
1392
+ l.flagValue = s.value, s = c.next();
1393
+ break;
1394
+ case 173:
1395
+ l.mergedValue = s.value, s = c.next();
1396
+ break;
1397
+ case 174:
1398
+ l.autoFit = s.value, s = c.next();
1399
+ break;
1400
+ case 175:
1401
+ l.borderWidth = s.value, s = c.next();
1402
+ break;
1403
+ case 176:
1404
+ l.borderHeight = s.value, s = c.next();
1405
+ break;
1406
+ case 91:
1407
+ l.overrideFlag = s.value, s = c.next();
1408
+ break;
1409
+ case 178:
1410
+ l.virtualEdgeFlag = s.value, s = c.next();
1411
+ break;
1412
+ case 145:
1413
+ l.rotation = s.value, s = c.next();
1414
+ break;
1415
+ case 345:
1416
+ l.fieldObjetId = s.value, s = c.next();
1417
+ break;
1418
+ case 340:
1419
+ l.blockTableRecordId = s.value, s = c.next();
1420
+ break;
1421
+ case 146:
1422
+ l.blockScale = s.value, s = c.next();
1423
+ break;
1424
+ case 177:
1425
+ l.blockAttrNum = s.value, s = c.next();
1426
+ break;
1427
+ case 7:
1428
+ l.textStyle = s.value, s = c.next();
1429
+ break;
1430
+ case 140:
1431
+ l.textHeight = s.value, s = c.next();
1432
+ break;
1433
+ case 170:
1434
+ l.attachmentPoint = s.value, s = c.next();
1435
+ break;
1436
+ case 92:
1437
+ l.extendedCellFlags = s.value, s = c.next();
1438
+ break;
1439
+ case 285:
1440
+ l.rightBorderVisibility = !!(s.value ?? !0), s = c.next();
1441
+ break;
1442
+ case 286:
1443
+ l.bottomBorderVisibility = !!(s.value ?? !0), s = c.next();
1444
+ break;
1445
+ case 288:
1446
+ l.leftBorderVisibility = !!(s.value ?? !0), s = c.next();
1447
+ break;
1448
+ case 289:
1449
+ l.topBorderVisibility = !!(s.value ?? !0), s = c.next();
1450
+ break;
1451
+ case 301:
1452
+ (function(d, f, h) {
1453
+ for (; h.code !== 304; ) switch (h.code) {
1454
+ case 301:
1455
+ case 93:
1456
+ case 90:
1457
+ case 94:
1458
+ h = f.next();
1459
+ break;
1460
+ case 1:
1461
+ d.text = h.value, h = f.next();
1462
+ break;
1463
+ case 300:
1464
+ d.attrText = h.value, h = f.next();
1465
+ break;
1466
+ case 302:
1467
+ d.text = h.value ? h.value : d.text, h = f.next();
1468
+ break;
1469
+ default:
1470
+ h = f.next();
1471
+ }
1472
+ })(l, c, s), s = c.next();
1473
+ break;
1474
+ default:
1475
+ return l;
1476
+ }
1477
+ return i = !1, m = !1, l;
1478
+ }(a, n)), n = a.lastReadGroup;
1479
+ break;
1480
+ default:
1481
+ Ln(t, n, a), n = a.next();
1482
+ }
1483
+ }
1484
+ return t;
1485
+ }
1486
+ }
1487
+ function Pa(e, a, n) {
1488
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1489
+ }
1490
+ (pr = "ForEntityName") in nr ? Object.defineProperty(nr, pr, { value: "ACAD_TABLE", enumerable: !0, configurable: !0, writable: !0 }) : nr[pr] = "ACAD_TABLE";
1491
+ let Rt = [{ code: 11, name: "xAxisDirection", parser: o }, { code: 210, name: "extrusionDirection", parser: o }, { code: 1, name: "text", parser: r }, { code: 10, name: "position", parser: o }, { code: 3, name: "styleName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1492
+ class Va {
1493
+ parseEntity(a, n) {
1494
+ let t = {};
1495
+ return this.parser(n, a, t), t;
1496
+ }
1497
+ constructor() {
1498
+ Pa(this, "parser", u(Rt));
1499
+ }
1500
+ }
1501
+ Pa(Va, "ForEntityName", "TOLERANCE");
1502
+ (L = {})[L.CREATED_BY_CURVE_FIT = 1] = "CREATED_BY_CURVE_FIT", L[L.TANGENT_DEFINED = 2] = "TANGENT_DEFINED", L[L.NOT_USED = 4] = "NOT_USED", L[L.CREATED_BY_SPLINE_FIT = 8] = "CREATED_BY_SPLINE_FIT", L[L.SPLINE_CONTROL_POINT = 16] = "SPLINE_CONTROL_POINT", L[L.FOR_POLYLINE = 32] = "FOR_POLYLINE", L[L.FOR_POLYGON = 64] = "FOR_POLYGON", L[L.POLYFACE = 128] = "POLYFACE";
1503
+ let Ft = [{ code: [335, 343, 344, 91], name: "softPointers", isMultiple: !0, parser: r }, { code: 361, name: "sunId", parser: r }, { code: 431, name: "ambientLightColorName", parser: r }, { code: 421, name: "ambientLightColorInstance", parser: r }, { code: 63, name: "ambientLightColorIndex", parser: r }, { code: 142, name: "contrast", parser: r }, { code: 141, name: "brightness", parser: r }, { code: 282, name: "defaultLightingType", parser: r }, { code: 292, name: "isDefaultLighting", parser: p }, { code: 348, name: "visualStyleId", parser: r }, { code: 333, name: "shadePlotId", parser: r }, { code: 332, name: "backgroundId", parser: r }, { code: 61, name: "majorGridFrequency", parser: r }, { code: 170, name: "shadePlotMode", parser: r }, { code: 146, name: "elevation", parser: r }, { code: 79, name: "orthographicType", parser: r }, { code: 346, name: "ucsBaseId", parser: r }, { code: 345, name: "ucsId", parser: r }, { code: 112, name: "ucsYAxis", parser: o }, { code: 111, name: "ucsXAxis", parser: o }, { code: 110, name: "ucsOrigin", parser: o }, { code: 74, name: "iconFlag", parser: r }, { code: 71, name: "ucsPerViewport", parser: r }, { code: 281, name: "renderMode", parser: r }, { code: 1, name: "sheetName", parser: r }, { code: 340, name: "clippingBoundaryId", parser: r }, { code: 90, name: "statusBitFlags", parser: r }, { code: 331, name: "frozenLayerIds", isMultiple: !0, parser: r }, { code: 72, name: "circleZoomPercent", parser: r }, { code: 51, name: "viewTwistAngle", parser: r }, { code: 50, name: "snapAngle", parser: r }, { code: 45, name: "viewHeight", parser: r }, { code: 44, name: "backClipZ", parser: r }, { code: 43, name: "frontClipZ", parser: r }, { code: 42, name: "perspectiveLensLength", parser: r }, { code: 17, name: "targetPoint", parser: o }, { code: 16, name: "viewDirection", parser: o }, { code: 15, name: "gridSpacing", parser: o }, { code: 14, name: "snapSpacing", parser: o }, { code: 13, name: "snapBase", parser: o }, { code: 12, name: "displayCenter", parser: o }, { code: 69, name: "viewportId", parser: r }, { code: 68, name: "status", parser: r }, { code: 41, name: "height", parser: r }, { code: 40, name: "width", parser: r }, { code: 10, name: "viewportCenter", parser: o }, { code: 100, name: "subclassMarker", parser: r, pushContext: !0 }, ...E];
1504
+ class tr {
1505
+ parseEntity(a, n) {
1506
+ let t = {};
1507
+ return u(Ft)(n, a, t), t;
1508
+ }
1509
+ }
1510
+ function Ba(e, a, n) {
1511
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1512
+ }
1513
+ (ur = "ForEntityName") in tr ? Object.defineProperty(tr, ur, { value: "VIEWPORT", enumerable: !0, configurable: !0, writable: !0 }) : tr[ur] = "VIEWPORT";
1514
+ let Pt = { brightness: 50, constrast: 50, fade: 0 }, Vt = [{ code: 14, name: "boundary", isMultiple: !0, parser: o }, { code: 91, name: "numberOfVertices", parser: r }, { code: 71, name: "boundaryType", parser: r }, { code: 360, name: "imageDefReactorHardId", parser: r }, { code: 283, name: "fade", parser: r }, { code: 282, name: "contrast", parser: r }, { code: 281, name: "brightness", parser: r }, { code: 280, name: "isClipping", parser: p }, { code: 70, name: "displayFlag", parser: r }, { code: 340, name: "imageDefHardId", parser: r }, { code: 13, name: "imageSize", parser: o }, { code: 12, name: "vDirection", parser: o }, { code: 11, name: "uDirection", parser: o }, { code: 10, name: "position", parser: o }, { code: 90, name: "classVersion", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1515
+ class Ua {
1516
+ parseEntity(a, n) {
1517
+ let t = {};
1518
+ return this.parser(n, a, t), t;
1519
+ }
1520
+ constructor() {
1521
+ Ba(this, "parser", u(Vt, Pt));
1522
+ }
1523
+ }
1524
+ Ba(Ua, "ForEntityName", "WIPEOUT");
1525
+ (se = {})[se.ShowImage = 1] = "ShowImage", se[se.ShowImageWhenNotAligned = 2] = "ShowImageWhenNotAligned", se[se.UseClippingBoundary = 4] = "UseClippingBoundary", se[se.Transparency = 8] = "Transparency";
1526
+ function Ha(e, a, n) {
1527
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1528
+ }
1529
+ let Bt = [{ code: 11, name: "direction", parser: o }, { code: 10, name: "position", parser: o }, { code: 100, name: "subclassMarker", parser: r }, ...E];
1530
+ class Ga {
1531
+ parseEntity(a, n) {
1532
+ let t = {};
1533
+ return this.parser(n, a, t), t;
1534
+ }
1535
+ constructor() {
1536
+ Ha(this, "parser", u(Bt));
1537
+ }
1538
+ }
1539
+ Ha(Ga, "ForEntityName", "XLINE");
1540
+ let Ut = 0;
1541
+ function Wa(e) {
1542
+ if (!e) throw TypeError("entity cannot be undefined or null");
1543
+ e.handle || (e.handle = Ut++);
1544
+ }
1545
+ let Ht = Object.fromEntries([Cr, er, Vr, Gr, jr, Xr, Qe, Kr, Jr, ra, na, oa, ca, la, ar, pa, ma, Ur, Ia, ha, xa, va, Sa, Na, Da, Ma, ka, wa, Fa, nr, Fr, Va, Qr, xr, tr, Ua, Ga].map((e) => [e.ForEntityName, new e()]));
1546
+ function ja(e, a) {
1547
+ let n = [];
1548
+ for (; !b(e, 0, "EOF"); ) {
1549
+ if (e.code === 0) {
1550
+ if (e.value === "ENDBLK" || e.value === "ENDSEC") {
1551
+ a.rewind();
1552
+ break;
1553
+ }
1554
+ let t = Ht[e.value];
1555
+ if (t) {
1556
+ let c = e.value;
1557
+ e = a.next();
1558
+ let s = t.parseEntity(a, e);
1559
+ s.type = c, Wa(s), n.push(s);
1560
+ } else a.debug;
1561
+ }
1562
+ e = a.next();
1563
+ }
1564
+ return n;
1565
+ }
1566
+ function Gt(e, a) {
1567
+ let n = null, t = {};
1568
+ for (; !b(e, 0, "EOF") && !b(e, 0, "ENDSEC"); ) e.code === 9 ? n = typeof e.value == "string" ? e.value : null : n != null && (e.code === 10 ? t[n] = ue(a) : t[n] = e.value), e = a.next();
1569
+ return t;
1570
+ }
1571
+ let de = [{ code: 100, name: "subclassMarker", parser: r }, { code: 330, name: "ownerObjectId", parser: r }, { code: 102, isMultiple: !0, parser(e, a) {
1572
+ for (; !b(e, 0, "EOF") && !b(e, 102, "}"); ) e = a.next();
1573
+ } }, { code: 5, name: "handle", parser: r }], Wt = [{ code: 70, name: "flag", parser: r }, { code: 2, name: "appName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de], jt = u(Wt), Yt = u([{ code: 310, name: "bmpPreview", parser: r }, { code: 281, name: "scalability", parser: r }, { code: 280, name: "explodability", parser: r }, { code: 70, name: "insertionUnits", parser: r }, { code: 340, name: "layoutObjects", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de]), Xt = u([...gr.map((e) => ({ ...e, parser: r })), { code: 70, name: "standardFlag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, { code: 105, name: "handle", parser: r }, ...de.filter((e) => e.code !== 5)]), zt = u([{ code: 347, name: "materialObjectId", parser: r }, { code: 390, name: "plotStyleNameObjectId", parser: r }, { code: 370, name: "lineweight", parser: r }, { code: 290, name: "isPlotting", parser: p }, { code: 6, name: "lineType", parser: r }, { code: 62, name: "colorIndex", parser: r }, { code: 70, name: "standardFlag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de]), Kt = u([{ code: 9, name: "text", parser: r }, { code: 45, name: "offsetY", parser: r }, { code: 44, name: "offsetX", parser: r }, { code: 50, name: "rotation", parser: r }, { code: 46, name: "scale", parser: r }, { code: 340, name: "styleObjectId", parser: r }, { code: 75, name: "shapeNumber", parser: r }, { code: 74, name: "elementTypeFlag", parser: r }, { code: 49, name: "elementLength", parser: r }], { elementTypeFlag: 0, elementLength: 0 }), Zt = u([{ code: 49, name: "pattern", parser(e, a) {
1574
+ let n = {};
1575
+ return Kt(e, a, n), n;
1576
+ }, isMultiple: !0 }, { code: 40, name: "totalPatternLength", parser: r }, { code: 73, name: "numberOfLineTypes", parser: r }, { code: 72, parser: r }, { code: 3, name: "description", parser: r }, { code: 70, name: "standardFlag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de]), Jt = u([{ code: 1e3, name: "extendedFont", parser: r }, { code: 1001 }, { code: 4, name: "bigFont", parser: r }, { code: 3, name: "font", parser: r }, { code: 42, name: "lastHeight", parser: r }, { code: 71, name: "textGenerationFlag", parser: r }, { code: 50, name: "obliqueAngle", parser: r }, { code: 41, name: "widthFactor", parser: r }, { code: 40, name: "fixedTextHeight", parser: r }, { code: 70, name: "standardFlag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de]), $t = [{ code: 13, name: "orthographicOrigin", parser: o }, { code: 71, name: "orthographicType", parser: r }, { code: 346, name: "baseUcsHandle", parser: r }, { code: 146, name: "elevation", parser: r }, { code: 79, name: "isOrthographic", parser: p }, { code: 12, name: "yAxis", parser: o }, { code: 11, name: "xAxis", parser: o }, { code: 10, name: "origin", parser: o }, { code: 70, name: "flag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de], qt = u($t), Qt = [{ code: 346, name: "baseUcsId", parser: r }, { code: 345, name: "ucsId", parser: r }, { code: 146, name: "elevation", parser: r }, { code: 79, name: "orthographicType", parser: r }, { code: 112, name: "ucsYAxis", parser: o }, { code: 111, name: "ucsXAxis", parser: o }, { code: 110, name: "ucsOrigin", parser: o }, { code: 361, name: "sunHardId", parser: r }, { code: 348, name: "styleHardId", parser: r }, { code: 334, name: "liveSectionSoftId", parser: r }, { code: 332, name: "backgroundSoftId", parser: r }, { code: 73, name: "isPlottable", parser: p }, { code: 72, name: "isUcsAssociated", parser: p }, { code: 281, name: "renderMode", parser: r }, { code: 71, name: "viewMode", parser: r }, { code: 50, name: "twistAngle", parser: r }, { code: 44, name: "backClippingPlane", parser: r }, { code: 43, name: "frontClippingPlane", parser: r }, { code: 42, name: "lensLength", parser: r }, { code: 12, name: "target", parser: o }, { code: 11, name: "direction", parser: o }, { code: 10, name: "center", parser: o }, { code: 41, name: "width", parser: r }, { code: 40, name: "height", parser: r }, { code: 70, name: "flag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de], eo = u(Qt), ro = u([{ code: [63, 421, 431], name: "ambientColor", parser: r }, { code: 142, name: "contrast", parser: r }, { code: 141, name: "brightness", parser: r }, { code: 282, name: "defaultLightingType", parser: r }, { code: 292, name: "isDefaultLightingOn", parser: p }, { code: 348, name: "visualStyleObjectId", parser: r }, { code: 333, name: "shadePlotObjectId", parser: r }, { code: 332, name: "backgroundObjectId", parser: r }, { code: 61, name: "majorGridLines", parser: r }, { code: 170, name: "shadePlotSetting", parser: r }, { code: 146, name: "elevation", parser: r }, { code: 79, name: "orthographicType", parser: r }, { code: 112, name: "ucsYAxis", parser: o }, { code: 111, name: "ucsXAxis", parser: o }, { code: 110, name: "ucsOrigin", parser: o }, { code: 74, name: "ucsIconSetting", parser: r }, { code: 71, name: "viewMode", parser: r }, { code: 281, name: "renderMode", parser: r }, { code: 1, name: "styleSheet", parser: r }, { code: [331, 441], name: "frozenLayers", parser: r, isMultiple: !0 }, { code: 72, name: "circleSides", parser: r }, { code: 51, name: "viewTwistAngle", parser: r }, { code: 50, name: "snapRotationAngle", parser: r }, { code: 45, name: "viewHeight", parser: r }, { code: 44, name: "backClippingPlane", parser: r }, { code: 43, name: "frontClippingPlane", parser: r }, { code: 42, name: "lensLength", parser: r }, { code: 41, name: "aspectRatio", parser: r }, { code: 40, name: "viewHeight", parser: r }, { code: 17, name: "viewTarget", parser: o }, { code: 16, name: "viewDirectionFromTarget", parser: o }, { code: 15, name: "gridSpacing", parser: o }, { code: 14, name: "snapSpacing", parser: o }, { code: 13, name: "snapBasePoint", parser: o }, { code: 12, name: "center", parser: o }, { code: 11, name: "upperRightCorner", parser: o }, { code: 10, name: "lowerLeftCorner", parser: o }, { code: 70, name: "standardFlag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...de]), ao = { APPID: jt, BLOCK_RECORD: Yt, DIMSTYLE: Xt, LAYER: zt, LTYPE: Zt, STYLE: Jt, UCS: qt, VIEW: eo, VPORT: ro }, no = u([{ code: 70, name: "maxNumberOfEntries", parser: r }, { code: 100, name: "subclassMarker", parser: r }, { code: 330, name: "ownerObjectId", parser: r }, { code: 102, parser: z }, { code: 102, parser: z }, { code: 102, parser: z }, { code: 360, isMultiple: !0 }, { code: 5, name: "handle", parser: r }, { code: 2, name: "name", parser: r }]);
1577
+ function to(e, a) {
1578
+ var t;
1579
+ let n = {};
1580
+ for (; !b(e, 0, "EOF") && !b(e, 0, "ENDSEC"); ) {
1581
+ if (b(e, 0, "TABLE")) {
1582
+ e = a.next();
1583
+ let c = { entries: [] };
1584
+ no(e, a, c), n[c.name] = c;
1585
+ }
1586
+ if (b(e, 0) && !b(e, 0, "ENDTAB")) {
1587
+ let c = e.value;
1588
+ e = a.next();
1589
+ let s = ao[c];
1590
+ if (!s) {
1591
+ a.debug, e = a.next();
1592
+ continue;
1593
+ }
1594
+ let i = {};
1595
+ s(e, a, i), c === "VPORT" && (i.lowerLeftCorner == null && (i.lowerLeftCorner = { x: 0, y: 0 }), i.upperRightCorner == null && (i.upperRightCorner = { x: 1, y: 1 }), i.center == null && (i.center = { x: 0, y: 0 }), i.snapBasePoint == null && (i.snapBasePoint = { x: 0, y: 0 }), i.snapSpacing == null && (i.snapSpacing = { x: 0, y: 0 }), i.gridSpacing == null && (i.gridSpacing = { x: 0, y: 0 }), i.viewDirectionFromTarget == null && (i.viewDirectionFromTarget = { x: 0, y: 0, z: 1 }), i.viewTarget == null && (i.viewTarget = { x: 0, y: 0, z: 0 })), (t = n[c]) == null || t.entries.push(i);
1596
+ }
1597
+ e = a.next();
1598
+ }
1599
+ return n;
1600
+ }
1601
+ function oo(e, a) {
1602
+ let n = {};
1603
+ for (; !b(e, 0, "EOF") && !b(e, 0, "ENDSEC"); ) {
1604
+ if (b(e, 0, "BLOCK")) {
1605
+ let t = so(e = a.next(), a);
1606
+ Wa(t), t.name && (n[t.name] = t);
1607
+ }
1608
+ e = a.next();
1609
+ }
1610
+ return n;
1611
+ }
1612
+ function so(e, a) {
1613
+ let n = {};
1614
+ for (; !b(e, 0, "EOF"); ) {
1615
+ if (b(e, 0, "ENDBLK")) {
1616
+ for (e = a.next(); !b(e, 0, "EOF"); ) {
1617
+ if (b(e, 100, "AcDbBlockEnd")) return n;
1618
+ e = a.next();
1619
+ }
1620
+ break;
1621
+ }
1622
+ switch (e.code) {
1623
+ case 1:
1624
+ n.xrefPath = e.value;
1625
+ break;
1626
+ case 2:
1627
+ n.name = e.value;
1628
+ break;
1629
+ case 3:
1630
+ n.name2 = e.value;
1631
+ break;
1632
+ case 5:
1633
+ n.handle = e.value;
1634
+ break;
1635
+ case 8:
1636
+ n.layer = e.value;
1637
+ break;
1638
+ case 10:
1639
+ n.position = ue(a);
1640
+ break;
1641
+ case 67:
1642
+ n.paperSpace = !!e.value && e.value == 1;
1643
+ break;
1644
+ case 70:
1645
+ e.value !== 0 && (n.type = e.value);
1646
+ break;
1647
+ case 100:
1648
+ break;
1649
+ case 330:
1650
+ n.ownerHandle = e.value;
1651
+ break;
1652
+ case 0:
1653
+ n.entities = ja(e, a);
1654
+ }
1655
+ e = a.next();
1656
+ }
1657
+ return n;
1658
+ }
1659
+ let pe = [{ code: 330, name: "ownerObjectId", parser: r }, { code: 102, parser: z }, { code: 102, parser: z }, { code: 102, parser: z }, { code: 5, name: "handle", parser: r }], Ya = [{ code: 333, name: "shadePlotId", parser: r }, { code: 149, name: "imageOriginY", parser: r }, { code: 148, name: "imageOriginX", parser: r }, { code: 147, name: "scaleFactor", parser: r }, { code: 78, name: "shadePlotCustomDPI", parser: r }, { code: 77, name: "shadePlotResolution", parser: r }, { code: 76, name: "shadePlotMode", parser: r }, { code: 75, name: "standardScaleType", parser: r }, { code: 7, name: "currentStyleSheet", parser: r }, { code: 74, name: "plotType", parser: r }, { code: 73, name: "plotRotation", parser: r }, { code: 72, name: "plotPaperUnit", parser: r }, { code: 70, name: "layoutFlag", parser: r }, { code: 143, name: "printScaleDenominator", parser: r }, { code: 142, name: "printScaleNumerator", parser: r }, { code: 141, name: "windowAreaYMax", parser: r }, { code: 140, name: "windowAreaXMax", parser: r }, { code: 49, name: "windowAreaYMin", parser: r }, { code: 48, name: "windowAreaXMin", parser: r }, { code: 47, name: "plotOriginY", parser: r }, { code: 46, name: "plotOriginX", parser: r }, { code: 45, name: "paperHeight", parser: r }, { code: 44, name: "paperWidth", parser: r }, { code: 43, name: "marginTop", parser: r }, { code: 42, name: "marginRight", parser: r }, { code: 41, name: "marginBottom", parser: r }, { code: 40, name: "marginLeft", parser: r }, { code: 6, name: "plotViewName", parser: r }, { code: 4, name: "paperSize", parser: r }, { code: 2, name: "configName", parser: r }, { code: 1, name: "pageSetupName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...pe], co = [{ code: 346, name: "orthographicUcsId", parser: r }, { code: 345, name: "namedUcsId", parser: r }, { code: 331, name: "viewportId", parser: r }, { code: 330, name: "paperSpaceTableId", parser: r }, { code: 76, name: "orthographicType", parser: r }, { code: 17, name: "ucsYAxis", parser: o }, { code: 16, name: "ucsXAxis", parser: o }, { code: 13, name: "ucsOrigin", parser: o }, { code: 146, name: "elevation", parser: r }, { code: 15, name: "maxExtent", parser: o }, { code: 14, name: "minExtent", parser: o }, { code: 12, name: "insertionPoint", parser: o }, { code: 11, name: "maxLimit", parser: o }, { code: 10, name: "minLimit", parser: o }, { code: 71, name: "tabOrder", parser: r }, { code: 70, name: "controlFlag", parser: r }, { code: 1, name: "layoutName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...Ya], io = [{ code: 3, name: "entries", parser: (e, a) => {
1660
+ let n = { name: e.value };
1661
+ return (e = a.next()).code === 350 ? n.objectSoftId = e.value : e.code === 360 ? n.objectHardId = e.value : a.rewind(), n;
1662
+ }, isMultiple: !0 }, { code: 281, name: "recordCloneFlag", parser: r }, { code: 280, name: "isHardOwned", parser: p }, { code: 100, name: "subclassMarker", parser: r }, ...pe], lo = [{ code: 40, name: "wcsToOCSTransform", parser: Ar }, { code: 40, name: "ocsToWCSTransform", parser: Ar }, { code: 41, name: "backClippingDistance", parser: r }, { code: 73, name: "isBackClipping", parser: p, pushContext: !0 }, { code: 40, name: "frontClippingDistance", parser: r }, { code: 72, name: "isFrontClipping", parser: p, pushContext: !0 }, { code: 71, name: "isClipBoundaryDisplayed", parser: p }, { code: 11, name: "position", parser: o }, { code: 210, name: "normal", parser: o }, { code: 10, name: "boundaryVertices", parser: o, isMultiple: !0 }, { code: 70, name: "boundaryCount", parser: r }, { code: 100, name: "subclassMarker", parser: r }, { code: 100 }, ...pe];
1663
+ function Ar(e, a) {
1664
+ let n = [];
1665
+ for (let t = 0; t < 3 && b(e, 40); ++t) {
1666
+ let c = [];
1667
+ for (let s = 0; s < 4 && b(e, 40); ++s) c.push(e.value), e = a.next();
1668
+ n.push(c);
1669
+ }
1670
+ return a.rewind(), n;
1671
+ }
1672
+ let po = [{ code: 330, name: "imageDefReactorIdSoft", isMultiple: !0, parser: r }, { code: 90, name: "version", parser: r }, { code: 1, name: "fileName", parser: r }, { code: 10, name: "size", parser: o }, { code: 11, name: "sizeOfOnePixel", parser: o }, { code: 280, name: "isLoaded", parser: r }, { code: 281, name: "resolutionUnits", parser: r }, { code: 100, name: "subclassMarker", parser: r }], uo = [{ code: 179, name: "unknown1", parser: r }, { code: 170, name: "contentType", parser: r }, { code: 171, name: "drawMLeaderOrderType", parser: r }, { code: 172, name: "drawLeaderOrderType", parser: r }, { code: 90, name: "maxLeaderSegmentPoints", parser: r }, { code: 40, name: "firstSegmentAngleConstraint", parser: r }, { code: 41, name: "secondSegmentAngleConstraint", parser: r }, { code: 173, name: "leaderLineType", parser: r }, { code: 91, name: "leaderLineColor", parser: r }, { code: 340, name: "leaderLineTypeId", parser: r }, { code: 92, name: "leaderLineWeight", parser: r }, { code: 290, name: "landingEnabled", parser: p }, { code: 42, name: "landingGap", parser: r }, { code: 291, name: "doglegEnabled", parser: p }, { code: 43, name: "doglegLength", parser: r }, { code: 3, name: "description", parser: r }, { code: 341, name: "arrowheadId", parser: r }, { code: 44, name: "arrowheadSize", parser: r }, { code: 300, name: "defaultMTextContents", parser: r }, { code: 342, name: "textStyleId", parser: r }, { code: 174, name: "textLeftAttachmentType", parser: r }, { code: 175, name: "textAngleType", parser: r }, { code: 176, name: "textAlignmentType", parser: r }, { code: 178, name: "textRightAttachmentType", parser: r }, { code: 93, name: "textColor", parser: r }, { code: 45, name: "textHeight", parser: r }, { code: 292, name: "textFrameEnabled", parser: p }, { code: 297, name: "textAlignAlwaysLeft", parser: p }, { code: 46, name: "alignSpace", parser: r }, { code: 343, name: "blockContentId", parser: r }, { code: 94, name: "blockContentColor", parser: r }, { code: 47, name: "blockContentScale.x", parser: r }, { code: 49, name: "blockContentScale.y", parser: r }, { code: 140, name: "blockContentScale.z", parser: r }, { code: 293, name: "blockContentScaleEnabled", parser: p }, { code: 141, name: "blockContentRotation", parser: r }, { code: 294, name: "blockContentRotationEnabled", parser: p }, { code: 177, name: "blockContentConnectionType", parser: r }, { code: 142, name: "scale", parser: r }, { code: 295, name: "overwritePropertyValue", parser: p }, { code: 296, name: "annotative", parser: p }, { code: 143, name: "breakGapSize", parser: r }, { code: 271, name: "textAttachmentDirection", parser: r }, { code: 272, name: "bottomTextAttachmentDirection", parser: r }, { code: 273, name: "topTextAttachmentDirection", parser: r }, { code: 298, name: "unknown2", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...pe];
1673
+ function qe(e, a, n) {
1674
+ e.elements || (e.elements = []);
1675
+ let t = e.elements.find((c) => c[a] === void 0);
1676
+ if (t) {
1677
+ t[a] = n;
1678
+ return;
1679
+ }
1680
+ e.elements.push({ [a]: n });
1681
+ }
1682
+ let mo = [{ code: 6, parser: function({ value: e }, a, n) {
1683
+ qe(n, "lineType", e);
1684
+ }, isMultiple: !0 }, { code: 62, parser: function({ value: e }, a, n) {
1685
+ var t;
1686
+ if (n.fillColorIndex === void 0 && !((t = n.elements) != null && t.length)) {
1687
+ n.fillColorIndex = e;
1688
+ return;
1689
+ }
1690
+ qe(n, "colorIndex", e);
1691
+ }, isMultiple: !0 }, { code: 420, parser: function({ value: e }, a, n) {
1692
+ var t;
1693
+ if (n.fillColor === void 0 && !((t = n.elements) != null && t.length)) {
1694
+ n.fillColor = e;
1695
+ return;
1696
+ }
1697
+ qe(n, "color", e);
1698
+ }, isMultiple: !0 }, { code: 49, parser: function({ value: e }, a, n) {
1699
+ qe(n, "offset", e);
1700
+ }, isMultiple: !0 }, { code: 71, name: "elementCount", parser: r }, { code: 52, name: "endAngle", parser: r }, { code: 51, name: "startAngle", parser: r }, { code: 3, name: "description", parser: r }, { code: 70, name: "flags", parser: r }, { code: 2, name: "styleName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...pe], fo = [{ code: 340, name: "entityIds", parser: r, isMultiple: !0 }, { code: 71, name: "isSelectable", parser: p }, { code: 70, name: "isUnnamed", parser: p }, { code: 300, name: "description", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...pe], Io = [{ code: 8, name: "layerNames", parser: r, isMultiple: !0 }, { code: 100, name: "subclassMarker", parser: r }, { code: 100, name: "filterSubclassMarker", parser: r }, ...pe], bo = [{ code: 90, name: "idBufferEntryCounts", parser: r, isMultiple: !0 }, { code: 360, name: "idBufferIds", parser: r, isMultiple: !0 }, { code: 8, name: "layerNames", parser: r, isMultiple: !0 }, { code: 100, name: "subclassMarker", parser: r }, { code: 40, name: "timeStamp", parser: r }, { code: 100, name: "indexSubclassMarker", parser: r }, ...pe], ho = [{ code: 75, name: "hasLastPointRef", parser: p }, { code: 1, name: "pointRefs", parser: function(e, a) {
1701
+ let n = { className: e.value };
1702
+ for (; ; ) switch ((e = a.next()).code) {
1703
+ case 72:
1704
+ n.objectOsnapType = e.value;
1705
+ continue;
1706
+ case 331:
1707
+ n.mainObjectId = e.value;
1708
+ continue;
1709
+ case 73:
1710
+ n.mainObjectSubentityType = e.value;
1711
+ continue;
1712
+ case 91:
1713
+ n.mainObjectGsMarker = e.value;
1714
+ continue;
1715
+ case 301:
1716
+ n.mainObjectXrefHandle = e.value;
1717
+ continue;
1718
+ case 40:
1719
+ n.nearOsnapGeometryParameter = e.value;
1720
+ continue;
1721
+ case 10:
1722
+ {
1723
+ let t = o(e, a);
1724
+ n.osnapPoint = "z" in t ? t : { ...t, z: 0 };
1725
+ }
1726
+ continue;
1727
+ case 332:
1728
+ n.intersectionObjectId = e.value;
1729
+ continue;
1730
+ case 74:
1731
+ n.intersectionObjectSubentityType = e.value;
1732
+ continue;
1733
+ case 92:
1734
+ n.intersectionObjectGsMarker = e.value;
1735
+ continue;
1736
+ case 302:
1737
+ n.intersectionObjectXrefHandle = e.value;
1738
+ continue;
1739
+ default:
1740
+ return a.rewind(), n;
1741
+ }
1742
+ }, isMultiple: !0 }, { code: 71, name: "rotatedDimensionType", parser: r }, { code: 70, name: "transSpaceFlag", parser: p }, { code: 90, name: "associativityFlag", parser: r }, { code: 330, name: "dimensionObjectId", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...pe], Eo = { LAYOUT: co, PLOTSETTINGS: Ya, DICTIONARY: io, SPATIAL_FILTER: lo, IMAGEDEF: po, MLEADERSTYLE: uo, MLINESTYLE: mo, GROUP: fo, LAYER_FILTER: Io, LAYER_INDEX: bo, DIMASSOC: ho };
1743
+ function go(e, a) {
1744
+ let n = [];
1745
+ for (; e.code !== 0 || !["EOF", "ENDSEC"].includes(e.value); ) {
1746
+ let t = e.value, c = Eo[t];
1747
+ if (e.code === 0 && (c != null && c.length)) {
1748
+ let s = u(c), i = { name: t };
1749
+ s(e = a.next(), a, i) ? (n.push(i), e = a.peek()) : e = a.next();
1750
+ } else e = a.next();
1751
+ }
1752
+ return { byName: yn(n, ({ name: t }) => t) };
1753
+ }
1754
+ function Dr(e) {
1755
+ if ((e.charCodeAt(0) === 65279 ? e.slice(1) : e).startsWith("AutoCAD Binary DXF")) throw Error("Binary DXF is not supported. Re-save the drawing as ASCII (text) DXF from your CAD application.");
1756
+ }
1757
+ function Ke(e, a, n) {
1758
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1759
+ }
1760
+ class xo {
1761
+ constructor() {
1762
+ Ke(this, "encoding", "utf-8"), Ke(this, "encodingFailureFatal", !1), Ke(this, "thumbnailImageFormat", "base64");
1763
+ }
1764
+ }
1765
+ class To extends EventTarget {
1766
+ parseSync(a, n = !1) {
1767
+ Dr(a);
1768
+ let t = new Sr(a.split(/\r\n|\r|\n/g), n);
1769
+ if (!t.hasNext()) throw Error("Empty file");
1770
+ return this.parseAll(t);
1771
+ }
1772
+ parseStream(a) {
1773
+ let n = "", t = this;
1774
+ return new Promise((c, s) => {
1775
+ a.on("data", (i) => {
1776
+ n += i;
1777
+ }), a.on("end", () => {
1778
+ try {
1779
+ Dr(n);
1780
+ let i = n.split(/\r\n|\r|\n/g), m = new Sr(i);
1781
+ if (!m.hasNext()) throw Error("Empty file");
1782
+ c(t.parseAll(m));
1783
+ } catch (i) {
1784
+ s(i);
1785
+ }
1786
+ }), a.on("error", (i) => {
1787
+ s(i);
1788
+ });
1789
+ });
1790
+ }
1791
+ async parseFromUrl(a, n) {
1792
+ let t = await fetch(a, n);
1793
+ if (!t.body) return null;
1794
+ let c = t.body.getReader(), s = "";
1795
+ for (; ; ) {
1796
+ let { done: i, value: m } = await c.read();
1797
+ if (i) {
1798
+ s += this._decoder.decode(new ArrayBuffer(0), { stream: !1 });
1799
+ break;
1800
+ }
1801
+ s += this._decoder.decode(m, { stream: !0 });
1802
+ }
1803
+ return this.parseSync(s);
1804
+ }
1805
+ parseAll(a) {
1806
+ let n = { header: {}, blocks: {}, entities: [], tables: {}, objects: { byName: {}, byTree: void 0 } }, t = a.next();
1807
+ for (; !b(t, 0, "EOF"); ) b(t, 0, "SECTION") && (b(t = a.next(), 2, "HEADER") ? n.header = Gt(t = a.next(), a) : b(t, 2, "CLASSES") ? dn(t = a.next(), a, n) : b(t, 2, "BLOCKS") ? n.blocks = oo(t = a.next(), a) : b(t, 2, "ENTITIES") ? n.entities = ja(t = a.next(), a) : b(t, 2, "TABLES") ? n.tables = to(t = a.next(), a) : b(t, 2, "OBJECTS") ? n.objects = go(t = a.next(), a) : b(t, 2, "THUMBNAILIMAGE") && (n.thumbnailImage = function(c, s, i = "base64") {
1808
+ let m, l = "", d = 0;
1809
+ for (; !b(c, 0, "EOF") && !b(c, 0, "ENDSEC"); ) c.code === 90 ? d = c.value : c.code === 310 && (l += c.value), c = s.next();
1810
+ if (i === "hex") m = l;
1811
+ else {
1812
+ let f = function(h) {
1813
+ let v = h.length / 2, x = new Uint8Array(v);
1814
+ for (let S = 0; S < v; S++) x[S] = parseInt(h.substr(2 * S, 2), 16);
1815
+ return x;
1816
+ }(l);
1817
+ m = i === "buffer" ? f : function(h) {
1818
+ let v = "";
1819
+ for (let x = 0; x < h.length; x++) v += String.fromCharCode(h[x]);
1820
+ return btoa(v);
1821
+ }(f);
1822
+ }
1823
+ return { size: d, data: m };
1824
+ }(t = a.next(), a, this._options.thumbnailImageFormat))), t = a.next();
1825
+ return n;
1826
+ }
1827
+ constructor(a = {}) {
1828
+ super(), Ke(this, "_decoder", void 0), Ke(this, "_options", void 0);
1829
+ let n = new xo();
1830
+ this._options = Object.assign(n, a), this._decoder = new TextDecoder(this._options.encoding, { fatal: this._options.encodingFailureFatal });
1831
+ }
1832
+ }
1833
+ (B = {})[B.NOT_APPLICABLE = 0] = "NOT_APPLICABLE", B[B.KEEP_EXISTING = 1] = "KEEP_EXISTING", B[B.USE_CLONE = 2] = "USE_CLONE", B[B.XREF_VALUE_NAME = 3] = "XREF_VALUE_NAME", B[B.VALUE_NAME = 4] = "VALUE_NAME", B[B.UNMANGLE_NAME = 5] = "UNMANGLE_NAME";
1834
+ (Ae = {})[Ae.NOUNIT = 0] = "NOUNIT", Ae[Ae.CENTIMETERS = 2] = "CENTIMETERS", Ae[Ae.INCH = 5] = "INCH";
1835
+ (Xe = {})[Xe.PSLTSCALE = 1] = "PSLTSCALE", Xe[Xe.LIMCHECK = 2] = "LIMCHECK";
1836
+ (De = {})[De.INCHES = 0] = "INCHES", De[De.MILLIMETERS = 1] = "MILLIMETERS", De[De.PIXELS = 2] = "PIXELS";
1837
+ (U = {})[U.LAST_SCREEN_DISPLAY = 0] = "LAST_SCREEN_DISPLAY", U[U.DRAWING_EXTENTS = 1] = "DRAWING_EXTENTS", U[U.DRAWING_LIMITS = 2] = "DRAWING_LIMITS", U[U.VIEW_SPECIFIED = 3] = "VIEW_SPECIFIED", U[U.WINDOW_SPECIFIED = 4] = "WINDOW_SPECIFIED", U[U.LAYOUT_INFORMATION = 5] = "LAYOUT_INFORMATION";
1838
+ (ce = {})[ce.AS_DISPLAYED = 0] = "AS_DISPLAYED", ce[ce.WIREFRAME = 1] = "WIREFRAME", ce[ce.HIDDEN = 2] = "HIDDEN", ce[ce.RENDERED = 3] = "RENDERED";
1839
+ (H = {})[H.DRAFT = 0] = "DRAFT", H[H.PREVIEW = 1] = "PREVIEW", H[H.NORMAL = 2] = "NORMAL", H[H.PRESENTATION = 3] = "PRESENTATION", H[H.MAXIMUM = 4] = "MAXIMUM", H[H.CUSTOM = 5] = "CUSTOM";
1840
+ (ie = {})[ie.NONE = 0] = "NONE", ie[ie.AbsoluteRotation = 1] = "AbsoluteRotation", ie[ie.TextEmbedded = 2] = "TextEmbedded", ie[ie.ShapeEmbedded = 4] = "ShapeEmbedded";
1841
+ (mr = {})[mr.PaperSpace = 1] = "PaperSpace";
1842
+ (Le = {})[Le.XrefDependent = 16] = "XrefDependent", Le[Le.XrefResolved = 32] = "XrefResolved", Le[Le.Referenced = 64] = "Referenced";
1843
+ (G = {})[G.Off = 0] = "Off", G[G.Perspective = 1] = "Perspective", G[G.ClipFront = 2] = "ClipFront", G[G.ClipBack = 4] = "ClipBack", G[G.UcsFollow = 8] = "UcsFollow", G[G.ClipFrontByFrontZ = 16] = "ClipFrontByFrontZ";
1844
+ class vo {
1845
+ parse(a) {
1846
+ const n = new To(), t = this.getDxfInfoFromBuffer(a);
1847
+ let c = "";
1848
+ return t.version && t.version.value <= 23 && t.encoding ? c = new TextDecoder(t.encoding).decode(a) : c = new TextDecoder().decode(a), n.parseSync(c);
1849
+ }
1850
+ getDxfInfoFromBuffer(a) {
1851
+ var d, f, h;
1852
+ const t = new TextDecoder("utf-8");
1853
+ let c = 0, s = "", i = null, m = null, l = !1;
1854
+ for (; c < a.byteLength; ) {
1855
+ const v = Math.min(c + 65536, a.byteLength), x = a.slice(c, v);
1856
+ c = v;
1857
+ const y = (s + t.decode(x, { stream: !0 })).split(/\r?\n/);
1858
+ s = y.pop() ?? "";
1859
+ for (let w = 0; w < y.length; w++) {
1860
+ const W = y[w].trim();
1861
+ if (W === "SECTION" && ((d = y[w + 2]) == null ? void 0 : d.trim()) === "HEADER")
1862
+ l = !0;
1863
+ else if (W === "ENDSEC" && l)
1864
+ return { version: i, encoding: m };
1865
+ if (l && W === "$ACADVER") {
1866
+ const me = (f = y[w + 2]) == null ? void 0 : f.trim();
1867
+ me && (i = new za(me));
1868
+ } else if (l && W === "$DWGCODEPAGE") {
1869
+ const me = (h = y[w + 2]) == null ? void 0 : h.trim();
1870
+ if (me) {
1871
+ const cr = br[me];
1872
+ m = Za(cr);
1873
+ }
1874
+ }
1875
+ if (i && m)
1876
+ return { version: i, encoding: m };
1877
+ }
1878
+ }
1879
+ return { version: i, encoding: m };
1880
+ }
1881
+ }
1882
+ class Oo extends qa {
1883
+ async executeTask(a) {
1884
+ return new vo().parse(a);
1885
+ }
1886
+ }
1887
+ new Oo();