@mlightcad/data-model 1.2.3 → 1.2.6

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.
Files changed (59) hide show
  1. package/dist/data-model.cjs +5 -0
  2. package/dist/data-model.js +2388 -2084
  3. package/dist/dxf-parser-worker.js +1296 -0
  4. package/lib/converter/AcDbDxfConverter.d.ts +3 -2
  5. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  6. package/lib/converter/AcDbDxfConverter.js +27 -5
  7. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  8. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  9. package/lib/converter/AcDbEntitiyConverter.js +2 -1
  10. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  11. package/lib/converter/AcDbObjectConverter.d.ts +2 -1
  12. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
  13. package/lib/converter/AcDbObjectConverter.js +11 -2
  14. package/lib/converter/AcDbObjectConverter.js.map +1 -1
  15. package/lib/converter/index.d.ts +1 -0
  16. package/lib/converter/index.d.ts.map +1 -1
  17. package/lib/converter/index.js +1 -0
  18. package/lib/converter/index.js.map +1 -1
  19. package/lib/converter/worker/AcDbBaseWorker.d.ts +36 -0
  20. package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -0
  21. package/lib/converter/worker/AcDbBaseWorker.js +93 -0
  22. package/lib/converter/worker/AcDbBaseWorker.js.map +1 -0
  23. package/lib/converter/worker/AcDbDxfParserWorker.d.ts +2 -0
  24. package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +1 -0
  25. package/lib/converter/worker/AcDbDxfParserWorker.js +76 -0
  26. package/lib/converter/worker/AcDbDxfParserWorker.js.map +1 -0
  27. package/lib/converter/worker/AcDbWorkerManager.d.ts +107 -0
  28. package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -0
  29. package/lib/converter/worker/AcDbWorkerManager.js +360 -0
  30. package/lib/converter/worker/AcDbWorkerManager.js.map +1 -0
  31. package/lib/converter/worker/index.d.ts +3 -0
  32. package/lib/converter/worker/index.d.ts.map +1 -0
  33. package/lib/converter/worker/index.js +3 -0
  34. package/lib/converter/worker/index.js.map +1 -0
  35. package/lib/database/AcDbBlockTableRecord.d.ts +21 -0
  36. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  37. package/lib/database/AcDbBlockTableRecord.js +27 -0
  38. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  39. package/lib/database/AcDbDatabase.d.ts +15 -0
  40. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  41. package/lib/database/AcDbDatabase.js +7 -3
  42. package/lib/database/AcDbDatabase.js.map +1 -1
  43. package/lib/database/AcDbDatabaseConverter.d.ts +69 -1
  44. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
  45. package/lib/database/AcDbDatabaseConverter.js +29 -3
  46. package/lib/database/AcDbDatabaseConverter.js.map +1 -1
  47. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  48. package/lib/object/AcDbDictionary.js +25 -1
  49. package/lib/object/AcDbDictionary.js.map +1 -1
  50. package/lib/object/layout/AcDbLayoutManager.d.ts +19 -4
  51. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
  52. package/lib/object/layout/AcDbLayoutManager.js +27 -3
  53. package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
  54. package/package.json +9 -5
  55. package/dist/data-model.umd.cjs +0 -5
  56. package/lib/converter/AcDbDxfParseWorker.d.ts +0 -18
  57. package/lib/converter/AcDbDxfParseWorker.d.ts.map +0 -1
  58. package/lib/converter/AcDbDxfParseWorker.js +0 -22
  59. package/lib/converter/AcDbDxfParseWorker.js.map +0 -1
@@ -0,0 +1,1296 @@
1
+ var g, te, E, h, oe, P, y, C, _, z, se, ce, X, K, ie, le, de, A, F, f, Z, ue, l, v, pe, N, w, me, V, R, fe, J, S, B, _e, Re, H, be, Ie, G, Ee, Ce, Fe, $, T, U, x, L, we, Ve, Be, He, Ge, Ue;
2
+ (g = {})[g.None = 0] = "None", g[g.Anonymous = 1] = "Anonymous", g[g.NonConstant = 2] = "NonConstant", g[g.Xref = 4] = "Xref", g[g.XrefOverlay = 8] = "XrefOverlay", g[g.ExternallyDependent = 16] = "ExternallyDependent", g[g.ResolvedOrDependent = 32] = "ResolvedOrDependent", g[g.ReferencedXref = 64] = "ReferencedXref";
3
+ (te = {})[te.BYBLOCK = 0] = "BYBLOCK", te[te.BYLAYER = 256] = "BYLAYER";
4
+ (E = {})[E.Rotated = 0] = "Rotated", E[E.Aligned = 1] = "Aligned", E[E.Angular = 2] = "Angular", E[E.Diameter = 3] = "Diameter", E[E.Radius = 4] = "Radius", E[E.Angular3Point = 5] = "Angular3Point", E[E.Ordinate = 6] = "Ordinate", E[E.ReferenceIsExclusive = 32] = "ReferenceIsExclusive", E[E.IsOrdinateXTypeFlag = 64] = "IsOrdinateXTypeFlag", E[E.IsCustomTextPositionFlag = 128] = "IsCustomTextPositionFlag";
5
+ (h = {})[h.TopLeft = 1] = "TopLeft", h[h.TopCenter = 2] = "TopCenter", h[h.TopRight = 3] = "TopRight", h[h.MiddleLeft = 4] = "MiddleLeft", h[h.MiddleCenter = 5] = "MiddleCenter", h[h.MiddleRight = 6] = "MiddleRight", h[h.BottomLeft = 7] = "BottomLeft", h[h.BottomCenter = 8] = "BottomCenter", h[h.BottomRight = 9] = "BottomRight";
6
+ (oe = {})[oe.AtLeast = 1] = "AtLeast", oe[oe.Exact = 2] = "Exact";
7
+ var Xe = ((P = {})[P.Center = 0] = "Center", P[P.Above = 1] = "Above", P[P.Outside = 2] = "Outside", P[P.JIS = 3] = "JIS", P[P.Below = 4] = "Below", P), ee = ((y = {})[y.Feet = 0] = "Feet", y[y.None = 1] = "None", y[y.Inch = 2] = "Inch", y[y.FeetAndInch = 3] = "FeetAndInch", y[y.Leading = 4] = "Leading", y[y.Trailing = 8] = "Trailing", y[y.LeadingAndTrailing = 12] = "LeadingAndTrailing", y), jr = ((C = {})[C.None = 0] = "None", C[C.Leading = 1] = "Leading", C[C.Trailing = 2] = "Trailing", C[C.LeadingAndTrailing = 3] = "LeadingAndTrailing", C), zr = ((_ = {})[_.Center = 0] = "Center", _[_.Left = 1] = "Left", _[_.Right = 2] = "Right", _[_.OverFirst = 3] = "OverFirst", _[_.OverSecond = 4] = "OverSecond", _), Xr = ((z = {})[z.Bottom = 0] = "Bottom", z[z.Center = 1] = "Center", z[z.Top = 2] = "Top", z);
8
+ (se = {})[se.PatternFill = 0] = "PatternFill", se[se.SolidFill = 1] = "SolidFill";
9
+ (ce = {})[ce.NonAssociative = 0] = "NonAssociative", ce[ce.Associative = 1] = "Associative";
10
+ (X = {})[X.Normal = 0] = "Normal", X[X.Outer = 1] = "Outer", X[X.Ignore = 2] = "Ignore";
11
+ (K = {})[K.UserDefined = 0] = "UserDefined", K[K.Predefined = 1] = "Predefined", K[K.Custom = 2] = "Custom";
12
+ (ie = {})[ie.NotAnnotated = 0] = "NotAnnotated", ie[ie.Annotated = 1] = "Annotated";
13
+ (le = {})[le.Solid = 0] = "Solid", le[le.Gradient = 1] = "Gradient";
14
+ (de = {})[de.TwoColor = 0] = "TwoColor", de[de.OneColor = 1] = "OneColor";
15
+ var Kr = ((A = {})[A.Default = 0] = "Default", A[A.External = 1] = "External", A[A.Polyline = 2] = "Polyline", A[A.Derived = 4] = "Derived", A[A.Textbox = 8] = "Textbox", A[A.Outermost = 16] = "Outermost", A), Oe = ((F = {})[F.Line = 1] = "Line", F[F.Circular = 2] = "Circular", F[F.Elliptic = 3] = "Elliptic", F[F.Spline = 4] = "Spline", F), Zr = ((f = {})[f.Off = 0] = "Off", f[f.Solid = 1] = "Solid", f[f.Dashed = 2] = "Dashed", f[f.Dotted = 3] = "Dotted", f[f.ShotDash = 4] = "ShotDash", f[f.MediumDash = 5] = "MediumDash", f[f.LongDash = 6] = "LongDash", f[f.DoubleShortDash = 7] = "DoubleShortDash", f[f.DoubleMediumDash = 8] = "DoubleMediumDash", f[f.DoubleLongDash = 9] = "DoubleLongDash", f[f.DoubleMediumLongDash = 10] = "DoubleMediumLongDash", f[f.SparseDot = 11] = "SparseDot", f);
16
+ Zr.Off;
17
+ (Z = {})[Z.Standard = -3] = "Standard", Z[Z.ByLayer = -2] = "ByLayer", Z[Z.ByBlock = -1] = "ByBlock";
18
+ (ue = {})[ue.English = 0] = "English", ue[ue.Metric = 1] = "Metric";
19
+ (l = {})[l.PERSPECTIVE_MODE = 1] = "PERSPECTIVE_MODE", l[l.FRONT_CLIPPING = 2] = "FRONT_CLIPPING", l[l.BACK_CLIPPING = 4] = "BACK_CLIPPING", l[l.UCS_FOLLOW = 8] = "UCS_FOLLOW", l[l.FRONT_CLIP_NOT_AT_EYE = 16] = "FRONT_CLIP_NOT_AT_EYE", l[l.UCS_ICON_VISIBILITY = 32] = "UCS_ICON_VISIBILITY", l[l.UCS_ICON_AT_ORIGIN = 64] = "UCS_ICON_AT_ORIGIN", l[l.FAST_ZOOM = 128] = "FAST_ZOOM", l[l.SNAP_MODE = 256] = "SNAP_MODE", l[l.GRID_MODE = 512] = "GRID_MODE", l[l.ISOMETRIC_SNAP_STYLE = 1024] = "ISOMETRIC_SNAP_STYLE", l[l.HIDE_PLOT_MODE = 2048] = "HIDE_PLOT_MODE", l[l.K_ISO_PAIR_TOP = 4096] = "K_ISO_PAIR_TOP", l[l.K_ISO_PAIR_RIGHT = 8192] = "K_ISO_PAIR_RIGHT", l[l.VIEWPORT_ZOOM_LOCKING = 16384] = "VIEWPORT_ZOOM_LOCKING", l[l.UNUSED = 32768] = "UNUSED", l[l.NON_RECTANGULAR_CLIPPING = 65536] = "NON_RECTANGULAR_CLIPPING", l[l.VIEWPORT_OFF = 131072] = "VIEWPORT_OFF", l[l.GRID_BEYOND_DRAWING_LIMITS = 262144] = "GRID_BEYOND_DRAWING_LIMITS", l[l.ADAPTIVE_GRID_DISPLAY = 524288] = "ADAPTIVE_GRID_DISPLAY", l[l.SUBDIVISION_BELOW_SPACING = 1048576] = "SUBDIVISION_BELOW_SPACING", l[l.GRID_FOLLOWS_WORKPLANE = 2097152] = "GRID_FOLLOWS_WORKPLANE";
20
+ (v = {})[v.OPTIMIZED_2D = 0] = "OPTIMIZED_2D", v[v.WIREFRAME = 1] = "WIREFRAME", v[v.HIDDEN_LINE = 2] = "HIDDEN_LINE", v[v.FLAT_SHADED = 3] = "FLAT_SHADED", v[v.GOURAUD_SHADED = 4] = "GOURAUD_SHADED", v[v.FLAT_SHADED_WITH_WIREFRAME = 5] = "FLAT_SHADED_WITH_WIREFRAME", v[v.GOURAUD_SHADED_WITH_WIREFRAME = 6] = "GOURAUD_SHADED_WITH_WIREFRAME";
21
+ (pe = {})[pe.UCS_UNCHANGED = 0] = "UCS_UNCHANGED", pe[pe.HAS_OWN_UCS = 1] = "HAS_OWN_UCS";
22
+ (N = {})[N.NON_ORTHOGRAPHIC = 0] = "NON_ORTHOGRAPHIC", N[N.TOP = 1] = "TOP", N[N.BOTTOM = 2] = "BOTTOM", N[N.FRONT = 3] = "FRONT", N[N.BACK = 4] = "BACK", N[N.LEFT = 5] = "LEFT", N[N.RIGHT = 6] = "RIGHT";
23
+ (w = {})[w.AS_DISPLAYED = 0] = "AS_DISPLAYED", w[w.WIREFRAME = 1] = "WIREFRAME", w[w.HIDDEN = 2] = "HIDDEN", w[w.RENDERED = 3] = "RENDERED";
24
+ (me = {})[me.ONE_DISTANT_LIGHT = 0] = "ONE_DISTANT_LIGHT", me[me.TWO_DISTANT_LIGHTS = 1] = "TWO_DISTANT_LIGHTS";
25
+ function p(e, a, n) {
26
+ return e.code === a && (n == null || e.value === n);
27
+ }
28
+ function m(e) {
29
+ let a = {};
30
+ e.rewind();
31
+ let n = e.next(), t = n.code;
32
+ 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 + ".");
33
+ return a.y = n.value, (n = e.next()).code !== t + 20 ? e.rewind() : a.z = n.value, a;
34
+ }
35
+ let Ye = Symbol();
36
+ function u(e, a) {
37
+ return (n, t, o) => {
38
+ let s = e.reduce((d, D) => {
39
+ D.pushContext && d.push({});
40
+ let M = d[d.length - 1];
41
+ for (let I of typeof D.code == "number" ? [D.code] : D.code) {
42
+ let ae = M[I] ?? (M[I] = []);
43
+ D.isMultiple && ae.length && console.warn(`Snippet ${ae.at(-1).name} for code(${I}) is shadowed by ${D.name}`), ae.push(D);
44
+ }
45
+ return d;
46
+ }, [{}]), i = !1, k = s.length - 1;
47
+ for (; !p(n, 0, "EOF"); ) {
48
+ let d = function(q, Q, Se) {
49
+ return q.find((Le, ne) => {
50
+ var Y;
51
+ return ne >= Se && ((Y = Le[Q]) == null ? void 0 : Y.length);
52
+ });
53
+ }(s, n.code, k), D = d == null ? void 0 : d[n.code].at(-1);
54
+ if (!d || !D) {
55
+ t.rewind();
56
+ break;
57
+ }
58
+ D.isMultiple || d[n.code].pop();
59
+ let { name: M, parser: I, isMultiple: ae } = D, Ae = I == null ? void 0 : I(n, t, o);
60
+ if (Ae === Ye) {
61
+ t.rewind();
62
+ break;
63
+ }
64
+ if (M) {
65
+ let [q, Q] = function(Se, Le) {
66
+ let ne = Le.split("."), Y = Se;
67
+ for (let Me = 0; Me < ne.length - 1; ++Me) {
68
+ let Pe = ne[Me];
69
+ Object.hasOwn(Y, Pe) || (Y[Pe] = {}), Y = Y[Pe];
70
+ }
71
+ return [Y, ne.at(-1)];
72
+ }(o, M);
73
+ ae ? (Object.hasOwn(q, Q) || (q[Q] = []), q[Q].push(Ae)) : q[Q] = Ae;
74
+ }
75
+ D.pushContext && (k -= 1), i = !0, n = t.next();
76
+ }
77
+ return a && Object.setPrototypeOf(o, a), i;
78
+ };
79
+ }
80
+ function r({ value: e }) {
81
+ return e;
82
+ }
83
+ function c(e, a) {
84
+ return m(a);
85
+ }
86
+ function b({ value: e }) {
87
+ return !!e;
88
+ }
89
+ var qe = [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];
90
+ function Qe(e, a) {
91
+ var o;
92
+ if (!p(e, 1001)) throw Error("XData must starts with code 1001");
93
+ let n = { appName: e.value, value: [] };
94
+ e = a.next();
95
+ let t = [n.value];
96
+ for (; !p(e, 0, "EOF") && e.code >= 1e3; ) {
97
+ let s = t.at(-1);
98
+ switch (e.code) {
99
+ case 1002:
100
+ e.value === "{" ? t.push([]) : (t.pop(), (o = t.at(-1)) == null || o.push(s));
101
+ break;
102
+ case 1e3:
103
+ case 1004:
104
+ case 1040:
105
+ case 1070:
106
+ case 1071:
107
+ s.push({ type: W(e.code), value: e.value });
108
+ break;
109
+ case 1003:
110
+ s.push({ name: "layer", type: W(e.code), value: e.value });
111
+ break;
112
+ case 1005:
113
+ s.push({ name: "handle", type: W(e.code), value: e.value });
114
+ break;
115
+ case 1010:
116
+ s.push({ type: W(e.code), value: m(a) });
117
+ break;
118
+ case 1011:
119
+ s.push({ name: "worldSpacePosition", type: W(e.code), value: m(a) });
120
+ break;
121
+ case 1012:
122
+ s.push({ name: "worldSpaceDisplacement", type: W(e.code), value: m(a) });
123
+ break;
124
+ case 1013:
125
+ s.push({ name: "worldSpaceDirection", type: W(e.code), value: m(a) });
126
+ break;
127
+ case 1041:
128
+ s.push({ name: "distance", type: W(e.code), value: e.value });
129
+ break;
130
+ case 1042:
131
+ s.push({ name: "scale", type: W(e.code), value: e.value });
132
+ }
133
+ e = a.next();
134
+ }
135
+ return a.rewind(), n;
136
+ }
137
+ function W(e) {
138
+ switch (e) {
139
+ case 1e3:
140
+ case 1003:
141
+ case 1005:
142
+ return "string";
143
+ case 1004:
144
+ return "hex";
145
+ case 1040:
146
+ case 1041:
147
+ case 1042:
148
+ return "real";
149
+ case 1070:
150
+ return "integer";
151
+ case 1071:
152
+ return "long";
153
+ case 1010:
154
+ case 1011:
155
+ case 1012:
156
+ case 1013:
157
+ return "point";
158
+ default:
159
+ return "";
160
+ }
161
+ }
162
+ function je(e, a, n) {
163
+ if (p(a, 102)) return he(a, n), !0;
164
+ switch (a.code) {
165
+ case 0:
166
+ e.type = a.value;
167
+ break;
168
+ case 5:
169
+ e.handle = a.value;
170
+ break;
171
+ case 330:
172
+ e.ownerDictionarySoftId ? e.ownerBlockRecordSoftId = a.value : e.ownerDictionarySoftId = a.value;
173
+ break;
174
+ case 360:
175
+ e.ownerdictionaryHardId = a.value;
176
+ break;
177
+ case 67:
178
+ e.isInPaperSpace = !!a.value;
179
+ break;
180
+ case 8:
181
+ e.layer = a.value;
182
+ break;
183
+ case 6:
184
+ e.lineType = a.value;
185
+ break;
186
+ case 347:
187
+ e.materialObjectHardId = a.value;
188
+ break;
189
+ case 62:
190
+ e.colorIndex = a.value, e.color = qe[Math.abs(a.value)];
191
+ break;
192
+ case 370:
193
+ e.lineweight = a.value;
194
+ break;
195
+ case 48:
196
+ e.lineTypeScale = a.value;
197
+ break;
198
+ case 60:
199
+ e.isVisible = !!a.value;
200
+ break;
201
+ case 92:
202
+ e.proxyByte = a.value;
203
+ break;
204
+ case 310:
205
+ e.proxyEntity = a.value;
206
+ break;
207
+ case 100:
208
+ break;
209
+ case 420:
210
+ e.color = a.value;
211
+ break;
212
+ case 430:
213
+ e.transparency = a.value;
214
+ break;
215
+ case 390:
216
+ e.plotStyleHardId = a.value;
217
+ break;
218
+ case 284:
219
+ e.shadowMode = a.value;
220
+ break;
221
+ case 1001:
222
+ e.xdata = Qe(a, n);
223
+ break;
224
+ default:
225
+ return !1;
226
+ }
227
+ return !0;
228
+ }
229
+ let Jr = 0;
230
+ function er(e) {
231
+ if (!e) throw TypeError("entity cannot be undefined or null");
232
+ e.handle || (e.handle = Jr++);
233
+ }
234
+ (V = {})[V.CAST_AND_RECEIVE = 0] = "CAST_AND_RECEIVE", V[V.CAST = 1] = "CAST", V[V.RECEIVE = 2] = "RECEIVE", V[V.IGNORE = 3] = "IGNORE";
235
+ let O = [{ code: 1001, name: "xdata", parser: Qe }, { code: 284, name: "shadowMode", parser: r }, { code: 390, name: "plotStyleHardId", 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, parser: r }, { code: 92, name: "proxyByte", parser: r }, { code: 60, name: "isVisible", parser: b }, { code: 48, name: "lineTypeScale", parser: r }, { code: 370, name: "lineweight", parser: r }, { code: 62, name: "colorIndex", parser(e, a, n) {
236
+ let t = e.value;
237
+ return n.color = qe[Math.abs(t)], t;
238
+ } }, { 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: b }, { code: 100 }, { code: 160 }, { code: 330, name: "ownerBlockRecordSoftId", parser: r }, { code: 102, parser: he }, { code: 102, parser: he }, { code: 102, parser: he }, { code: 5, name: "handle", parser: r }];
239
+ function he(e, a) {
240
+ for (e = a.next(); !p(e, 102) && !p(e, 0, "EOF"); ) e = a.next();
241
+ }
242
+ function rr(e, a, n) {
243
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
244
+ }
245
+ let $r = { extrusionDirection: { x: 0, y: 0, z: 1 } }, qr = [{ code: 210, name: "extrusionDirection", parser: c }, { 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: c }, { code: 39, name: "thickness", parser: r }, { code: 100 }, ...O];
246
+ class ar {
247
+ parseEntity(a, n) {
248
+ let t = {};
249
+ return this.parser(n, a, t), t;
250
+ }
251
+ constructor() {
252
+ rr(this, "parser", u(qr, $r));
253
+ }
254
+ }
255
+ rr(ar, "ForEntityName", "ARC");
256
+ (R = {})[R.NONE = 0] = "NONE", R[R.INVISIBLE = 1] = "INVISIBLE", R[R.CONSTANT = 2] = "CONSTANT", R[R.VERIFICATION_REQUIRED = 4] = "VERIFICATION_REQUIRED", R[R.PRESET = 8] = "PRESET";
257
+ (fe = {})[fe.MULTILINE = 2] = "MULTILINE", fe[fe.CONSTANT_MULTILINE = 4] = "CONSTANT_MULTILINE";
258
+ (J = {})[J.NONE = 0] = "NONE", J[J.MIRRORED_X = 2] = "MIRRORED_X", J[J.MIRRORED_Y = 4] = "MIRRORED_Y";
259
+ var Qr = ((S = {})[S.LEFT = 0] = "LEFT", S[S.CENTER = 1] = "CENTER", S[S.RIGHT = 2] = "RIGHT", S[S.ALIGNED = 3] = "ALIGNED", S[S.MIDDLE = 4] = "MIDDLE", S[S.FIT = 5] = "FIT", S), ea = ((B = {})[B.BASELINE = 0] = "BASELINE", B[B.BOTTOM = 1] = "BOTTOM", B[B.MIDDLE = 2] = "MIDDLE", B[B.TOP = 3] = "TOP", B);
260
+ function nr(e, a, n) {
261
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
262
+ }
263
+ let tr = { thickness: 0, rotation: 0, xScale: 1, obliqueAngle: 0, styleName: "STANDARD", generationFlag: 0, halign: Qr.LEFT, valign: ea.BASELINE, extrusionDirection: { x: 0, y: 0, z: 1 } }, or = [{ code: 73, name: "valign", parser: r }, { code: 100 }, { code: 210, name: "extrusionDirection", parser: c }, { code: 11, name: "endPoint", parser: c }, { 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: c }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...O];
264
+ class sr {
265
+ parseEntity(a, n) {
266
+ let t = {};
267
+ return this.parser(n, a, t), t;
268
+ }
269
+ constructor() {
270
+ nr(this, "parser", u(or, tr));
271
+ }
272
+ }
273
+ function cr(e, a, n) {
274
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
275
+ }
276
+ nr(sr, "ForEntityName", "TEXT");
277
+ let ra = { ...tr }, aa = [{ code: 2 }, { code: 40, name: "annotationScale", parser: r }, { code: 10, name: "alignmentPoint", parser: c }, { code: 340, name: "secondaryAttributesHardIds", isMultiple: !0, parser: r }, { code: 70, name: "numberOfSecondaryAttributes", parser: r }, { code: 70, name: "isReallyLocked", parser: b }, { code: 70, name: "mtextFlag", parser: r }, { code: 280, name: "isDuplicatedRecord", parser: b }, { code: 100 }, { code: 280, name: "isLocked", parser: b }, { 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 }, ...or.slice(2)];
278
+ class ir {
279
+ parseEntity(a, n) {
280
+ let t = {};
281
+ return this.parser(n, a, t), t;
282
+ }
283
+ constructor() {
284
+ cr(this, "parser", u(aa, ra));
285
+ }
286
+ }
287
+ function lr(e, a, n) {
288
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
289
+ }
290
+ cr(ir, "ForEntityName", "ATTDEF");
291
+ let na = { thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, ta = [{ code: 210, name: "extrusionDirection", parser: c }, { code: 40, name: "radius", parser: r }, { code: 10, name: "center", parser: c }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...O];
292
+ class dr {
293
+ parseEntity(a, n) {
294
+ let t = {};
295
+ return this.parser(n, a, t), t;
296
+ }
297
+ constructor() {
298
+ lr(this, "parser", u(ta, na));
299
+ }
300
+ }
301
+ lr(dr, "ForEntityName", "CIRCLE");
302
+ class ge {
303
+ parseEntity(a, n) {
304
+ let t = {};
305
+ for (; !p(n, 0, "EOF"); ) {
306
+ if (n.code === 0) {
307
+ a.rewind();
308
+ break;
309
+ }
310
+ (function(o, s, i) {
311
+ switch (s.code) {
312
+ case 100:
313
+ o.subclassMarker = s.value;
314
+ break;
315
+ case 280:
316
+ o.version = s.value;
317
+ break;
318
+ case 2:
319
+ o.name = s.value;
320
+ break;
321
+ case 10:
322
+ o.definitionPoint = m(i);
323
+ break;
324
+ case 11:
325
+ o.textPoint = m(i);
326
+ break;
327
+ case 12:
328
+ o.insertionPoint = m(i);
329
+ break;
330
+ case 13:
331
+ o.subDefinitionPoint1 = m(i);
332
+ break;
333
+ case 14:
334
+ o.subDefinitionPoint2 = m(i);
335
+ break;
336
+ case 15:
337
+ o.centerPoint = m(i);
338
+ break;
339
+ case 16:
340
+ o.arcPoint = m(i);
341
+ break;
342
+ case 70:
343
+ o.dimensionType = s.value;
344
+ break;
345
+ case 71:
346
+ o.attachmentPoint = s.value;
347
+ break;
348
+ case 72:
349
+ o.textLineSpacingStyle = s.value;
350
+ break;
351
+ case 40:
352
+ o.leaderLength = s.value;
353
+ break;
354
+ case 41:
355
+ o.textLineSpacingFactor = s.value;
356
+ break;
357
+ case 42:
358
+ o.measurement = s.value;
359
+ break;
360
+ case 1:
361
+ o.text = s.value;
362
+ break;
363
+ case 50:
364
+ o.rotationAngle = s.value;
365
+ break;
366
+ case 52:
367
+ o.obliqueAngle = s.value;
368
+ break;
369
+ case 53:
370
+ o.textRotation = s.value;
371
+ break;
372
+ case 51:
373
+ o.ocsRotation = s.value;
374
+ break;
375
+ case 210:
376
+ o.extrusionDirection = m(i);
377
+ break;
378
+ case 3:
379
+ o.styleName = s.value;
380
+ break;
381
+ default:
382
+ je(o, s, i);
383
+ }
384
+ })(t, n, a), n = a.next();
385
+ }
386
+ return t;
387
+ }
388
+ }
389
+ function ur(e, a, n) {
390
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
391
+ }
392
+ Re = "DIMENSION", (_e = "ForEntityName") in ge ? Object.defineProperty(ge, _e, { value: Re, enumerable: !0, configurable: !0, writable: !0 }) : ge[_e] = Re;
393
+ let oa = { extrusionDirection: { x: 0, y: 0, z: 1 } }, sa = [{ code: 42, name: "endAngle", parser: r }, { code: 41, name: "startAngle", parser: r }, { code: 40, name: "axisRatio", parser: r }, { code: 210, name: "extrusionDirection", parser: c }, { code: 11, name: "majorAxisEndPoint", parser: c }, { code: 10, name: "center", parser: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
394
+ class pr {
395
+ parseEntity(a, n) {
396
+ let t = {};
397
+ return this.parser(n, a, t), t;
398
+ }
399
+ constructor() {
400
+ ur(this, "parser", u(sa, oa));
401
+ }
402
+ }
403
+ ur(pr, "ForEntityName", "ELLIPSE");
404
+ let mr = [{ code: 330, name: "sourceBoundaryObjects", parser: r, isMultiple: !0 }, { code: 97, name: "numberOfSourceBoundaryObjects", parser: r }], ca = [{ code: 11, name: "end", parser: c }, { code: 10, name: "start", parser: c }], ia = [{ code: 73, name: "isCCW", parser: b }, { code: 51, name: "endAngle", parser: r }, { code: 50, name: "startAngle", parser: r }, { code: 40, name: "radius", parser: r }, { code: 10, name: "center", parser: c }], la = [{ code: 73, name: "isCCW", parser: b }, { code: 51, name: "endAngle", parser: r }, { code: 50, name: "startAngle", parser: r }, { code: 40, name: "lengthOfMinorAxis", parser: r }, { code: 11, name: "end", parser: c }, { code: 10, name: "center", parser: c }], da = [{ code: 13, name: "endTangent", parser: c }, { code: 12, name: "startTangent", parser: c }, { code: 11, name: "fitDatum", isMultiple: !0, parser: c }, { code: 97, name: "numberOfFitData", parser: r }, { code: 10, name: "controlPoints", isMultiple: !0, parser(e, a) {
405
+ let n = { ...m(a), weight: 1 };
406
+ return (e = a.next()).code === 42 ? n.weight = e.value : a.rewind(), n;
407
+ } }, { 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: b }, { code: 73, name: "splineFlag", parser: r }, { code: 94, name: "degree", parser: r }], ua = { [Oe.Line]: ca, [Oe.Circular]: ia, [Oe.Elliptic]: la, [Oe.Spline]: da }, pa = [...mr, { code: 72, name: "edges", parser(e, a) {
408
+ let n = { type: e.value }, t = u(ua[n.type]);
409
+ if (!t) throw Error(`Invalid edge type ${n.type}`);
410
+ return t(e = a.next(), a, n), n;
411
+ }, isMultiple: !0 }, { code: 93, name: "numberOfEdges", parser: r }], ma = [...mr, { code: 10, name: "vertices", parser(e, a) {
412
+ let n = { ...m(a), bulge: 0 };
413
+ return (e = a.next()).code === 42 ? n.bulge = e.value : a.rewind(), n;
414
+ }, isMultiple: !0 }, { code: 93, name: "numberOfVertices", parser: r }, { code: 73, name: "isClosed", parser: b }, { code: 72, name: "hasBulge", parser: b }], fa = [{ code: 49, name: "dashLengths", parser: r, isMultiple: !0 }, { code: 79, name: "numberOfDashLengths", parser: r }, { code: 45, name: "offset", parser: Ke }, { code: 43, name: "base", parser: Ke }, { code: 53, name: "angle", parser: r }];
415
+ function Ke(e, a) {
416
+ let n = e.code + 1, t = { x: e.value, y: 1 };
417
+ return (e = a.next()).code === n ? t.y = e.value : a.rewind(), t;
418
+ }
419
+ function fr(e, a, n) {
420
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
421
+ }
422
+ let ba = { extrusionDirection: { x: 0, y: 0, z: 1 }, gradientRotation: 0, colorTint: 0 }, Ia = [{ code: 470 }, { code: 463 }, { 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: c, isMultiple: !0 }, { code: 99 }, { code: 11, name: "offsetVector", parser: c }, { code: 98, name: "numberOfSeedPoints", parser: r }, { code: 47, name: "pixelSize", parser: r }, { code: 53, name: "definitionLines", parser: function(e, a) {
423
+ let n = {};
424
+ return u(fa)(e, a, n), n;
425
+ }, isMultiple: !0 }, { code: 78, name: "numberOfDefinitionLines", parser: r }, { code: 77, name: "isDouble", parser: b }, { code: 73, name: "isAnnotated", parser: b }, { 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: function(e, a) {
426
+ let n = { boundaryPathTypeFlag: e.value }, t = n.boundaryPathTypeFlag & Kr.Polyline;
427
+ return e = a.next(), t ? u(ma)(e, a, n) : u(pa)(e, a, n), n;
428
+ }, 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: c }, { code: 10, name: "elevationPoint", parser: c }, { code: 100, name: "subclassMarker", parser: r, pushContext: !0 }, ...O];
429
+ class br {
430
+ parseEntity(a, n) {
431
+ let t = {};
432
+ return this.parser(n, a, t), t;
433
+ }
434
+ constructor() {
435
+ fr(this, "parser", u(Ia, ba));
436
+ }
437
+ }
438
+ fr(br, "ForEntityName", "HATCH");
439
+ (H = {})[H.ShowImage = 1] = "ShowImage", H[H.ShowImageWhenNotAlignedWithScreen = 2] = "ShowImageWhenNotAlignedWithScreen", H[H.UseClippingBoundary = 4] = "UseClippingBoundary", H[H.TransparencyIsOn = 8] = "TransparencyIsOn";
440
+ (be = {})[be.Rectangular = 1] = "Rectangular", be[be.Polygonal = 2] = "Polygonal";
441
+ (Ie = {})[Ie.Outside = 0] = "Outside", Ie[Ie.Inside = 1] = "Inside";
442
+ function Ir(e, a, n) {
443
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
444
+ }
445
+ let Ea = { clippingBoundaryPath: [] }, Oa = [{ code: 90, name: "version", parser: r }, { code: 10, name: "position", parser: c }, { code: 11, name: "uPixel", parser: c }, { code: 12, name: "vPixel", parser: c }, { code: 13, name: "imageSize", parser: c }, { code: 340, name: "imageDefHandle", parser: r }, { code: 70, name: "flags", parser: r }, { code: 280, name: "clipping", parser: r }, { code: 281, name: "brightness", parser: r }, { code: 282, name: "contrast", parser: r }, { code: 283, name: "fade", parser: r }, { code: 360, name: "imageDefReactorHandle", parser: r }, { code: 71, name: "clippingBoundaryType", parser: r }, { code: 91, name: "countBoundaryPoints", parser: r }, { code: 14, name: "clippingBoundaryPath", isMultiple: !0, parser: c }, { code: 290, name: "clipMode", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...O];
446
+ class ze {
447
+ parseEntity(a, n) {
448
+ let t = {};
449
+ return this.parser(n, a, t), t;
450
+ }
451
+ constructor() {
452
+ Ir(this, "parser", u(Oa, Ea));
453
+ }
454
+ }
455
+ function Er(e, a, n) {
456
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
457
+ }
458
+ Ir(ze, "ForEntityName", "IMAGE");
459
+ let Da = { xScale: 1, yScale: 1, zScale: 1, rotation: 0, columnCount: 0, rowCount: 0, columnSpacing: 0, rowSpacing: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, ha = [{ code: 210, name: "extrusionDirection", parser: c }, { 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: c }, { code: 2, name: "name", parser: r }, { code: 66, name: "isVariableAttributes", parser: b }, { code: 100, name: "subclassMarker", parser: r }, ...O];
460
+ class Or {
461
+ parseEntity(a, n) {
462
+ let t = {};
463
+ return this.parser(n, a, t), t;
464
+ }
465
+ constructor() {
466
+ Er(this, "parser", u(ha, Da));
467
+ }
468
+ }
469
+ function Dr(e, a, n) {
470
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
471
+ }
472
+ Er(Or, "ForEntityName", "INSERT");
473
+ let ga = { isArrowheadEnabled: !0 }, Ta = [{ code: 213, name: "offsetFromAnnotation", parser: c }, { code: 212, name: "offsetFromBlock", parser: c }, { code: 211, name: "horizontalDirection", parser: c }, { code: 210, name: "normal", parser: c }, { code: 340, name: "associatedAnnotation", parser: r }, { code: 77, name: "byBlockColor", parser: r }, { code: 10, name: "vertices", parser: c, 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: b }, { code: 74, name: "isHooklineSameDirection", parser: b }, { code: 73, name: "leaderCreationFlag", parser: r }, { code: 72, name: "isSpline", parser: b }, { code: 71, name: "isArrowheadEnabled", parser: b }, { code: 3, name: "styleName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...O];
474
+ class hr {
475
+ parseEntity(a, n) {
476
+ let t = {};
477
+ return this.parser(n, a, t), t;
478
+ }
479
+ constructor() {
480
+ Dr(this, "parser", u(Ta, ga));
481
+ }
482
+ }
483
+ Dr(hr, "ForEntityName", "LEADER");
484
+ (G = {})[G.TextAnnotation = 0] = "TextAnnotation", G[G.ToleranceAnnotation = 1] = "ToleranceAnnotation", G[G.BlockReferenceAnnotation = 2] = "BlockReferenceAnnotation", G[G.NoAnnotation = 3] = "NoAnnotation";
485
+ function gr(e, a, n) {
486
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
487
+ }
488
+ let xa = { thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, ya = [{ code: 210, name: "extrusionDirection", parser: c }, { code: 11, name: "endPoint", parser: c }, { code: 10, name: "startPoint", parser: c }, { code: 39, name: "thickness", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...O];
489
+ class Tr {
490
+ parseEntity(a, n) {
491
+ let t = {};
492
+ return this.parser(n, a, t), t;
493
+ }
494
+ constructor() {
495
+ gr(this, "parser", u(ya, xa));
496
+ }
497
+ }
498
+ gr(Tr, "ForEntityName", "LINE");
499
+ (Ee = {})[Ee.IS_CLOSED = 1] = "IS_CLOSED", Ee[Ee.PLINE_GEN = 128] = "PLINE_GEN";
500
+ let va = { flag: 0, elevation: 0, thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 }, vertices: [] }, Na = { bulge: 0 }, ka = [{ 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 }], Aa = [{ code: 210, name: "extrusionDirection", parser: c }, { code: 10, name: "vertices", isMultiple: !0, parser(e, a) {
501
+ let n = {};
502
+ return u(ka, Na)(e, a, n), n;
503
+ } }, { 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 }, ...O];
504
+ class Te {
505
+ parseEntity(a, n) {
506
+ let t = {};
507
+ return u(Aa, va)(n, a, t), t;
508
+ }
509
+ }
510
+ Fe = "LWPOLYLINE", (Ce = "ForEntityName") in Te ? Object.defineProperty(Te, Ce, { value: Fe, enumerable: !0, configurable: !0, writable: !0 }) : Te[Ce] = Fe;
511
+ ($ = {})[$.LEFT_TO_RIGHT = 1] = "LEFT_TO_RIGHT", $[$.TOP_TO_BOTTOM = 3] = "TOP_TO_BOTTOM", $[$.BY_STYLE = 5] = "BY_STYLE";
512
+ function Sa(e, a) {
513
+ let n = {};
514
+ for (let t of e) {
515
+ let o = a(t);
516
+ o != null && (n[o] ?? (n[o] = []), n[o].push(t));
517
+ }
518
+ return n;
519
+ }
520
+ function* ke(e, a = 1 / 0, n = 1) {
521
+ for (let t = e; t !== a; t += n) yield t;
522
+ }
523
+ function j(e) {
524
+ return { x: e.x ?? 0, y: e.y ?? 0, z: e.z ?? 0 };
525
+ }
526
+ function xr(e, a, n) {
527
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
528
+ }
529
+ let La = { textStyle: "STANDARD", extrusionDirection: { x: 0, y: 0, z: 1 }, rotation: 0 }, xe = [{ code: 46, name: "annotationHeight", parser: r }, { code: 101, parser(e, a) {
530
+ (function(n) {
531
+ n.rewind();
532
+ let t = n.next();
533
+ if (t.code !== 101) throw Error("Bad call for skipEmbeddedObject()");
534
+ do
535
+ t = n.next();
536
+ while (t.code !== 0);
537
+ n.rewind();
538
+ })(a);
539
+ } }, { 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: [...ke(430, 440)], name: "backgroundColor", parser: r }, { code: [...ke(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: c }, { code: 210, name: "extrusionDirection", parser: c }, { code: 7, name: "styleName", parser: r }, { code: 3, name: "text", isMultiple: !0, parser: r }, { code: 1, name: "text", isMultiple: !0, parser: r }, { 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: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
540
+ class yr {
541
+ parseEntity(a, n) {
542
+ let t = {};
543
+ return this.parser(n, a, t), t;
544
+ }
545
+ constructor() {
546
+ xr(this, "parser", u(xe, La));
547
+ }
548
+ }
549
+ function vr(e, a, n) {
550
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
551
+ }
552
+ xr(yr, "ForEntityName", "MTEXT");
553
+ let Ma = { thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 }, angle: 0 }, Pa = [{ code: 50, name: "angle", parser: r }, { code: 210, name: "extrusionDirection", parser: c }, { code: 39, name: "thickness", parser: r }, { code: 10, name: "position", parser: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
554
+ class Nr {
555
+ parseEntity(a, n) {
556
+ let t = {};
557
+ return this.parser(n, a, t), t;
558
+ }
559
+ constructor() {
560
+ vr(this, "parser", u(Pa, Ma));
561
+ }
562
+ }
563
+ vr(Nr, "ForEntityName", "POINT");
564
+ (T = {})[T.CLOSED_POLYLINE = 1] = "CLOSED_POLYLINE", T[T.CURVE_FIT = 2] = "CURVE_FIT", T[T.SPLINE_FIT = 4] = "SPLINE_FIT", T[T.POLYLINE_3D = 8] = "POLYLINE_3D", T[T.POLYGON_3D = 16] = "POLYGON_3D", T[T.CLOSED_POLYGON = 32] = "CLOSED_POLYGON", T[T.POLYFACE = 64] = "POLYFACE", T[T.CONTINUOUS = 128] = "CONTINUOUS";
565
+ (U = {})[U.NONE = 0] = "NONE", U[U.QUADRATIC = 5] = "QUADRATIC", U[U.CUBIC = 6] = "CUBIC", U[U.BEZIER = 8] = "BEZIER";
566
+ (x = {})[x.CREATED_BY_CURVE_FIT = 1] = "CREATED_BY_CURVE_FIT", x[x.TANGENT_DEFINED = 2] = "TANGENT_DEFINED", x[x.NOT_USED = 4] = "NOT_USED", x[x.CREATED_BY_SPLINE_FIT = 8] = "CREATED_BY_SPLINE_FIT", x[x.SPLINE_CONTROL_POINT = 16] = "SPLINE_CONTROL_POINT", x[x.FOR_POLYLINE = 32] = "FOR_POLYLINE", x[x.FOR_POLYGON = 64] = "FOR_POLYGON", x[x.POLYFACE = 128] = "POLYFACE";
567
+ function kr(e, a, n) {
568
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
569
+ }
570
+ let _a = { startWidth: 0, endWidth: 0, bulge: 0 }, Ra = [{ code: 91, name: "id", parser: r }, { code: [...ke(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 }, ...O];
571
+ class Ar {
572
+ parseEntity(a, n) {
573
+ let t = {};
574
+ return this.parser(n, a, t), t;
575
+ }
576
+ constructor() {
577
+ kr(this, "parser", u(Ra, _a));
578
+ }
579
+ }
580
+ function Sr(e, a, n) {
581
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
582
+ }
583
+ kr(Ar, "ForEntityName", "VERTEX");
584
+ let Ca = { 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: [] }, Fa = [{ code: 0, name: "vertices", isMultiple: !0, parser: (e, a) => p(e, 0, "VERTEX") ? (e = a.next(), new Ar().parseEntity(a, e)) : Ye }, { code: 210, name: "extrusionDirection", parser: c }, { 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 }, ...O];
585
+ class Lr {
586
+ parseEntity(a, n) {
587
+ let t = {};
588
+ return this.parser(n, a, t), t;
589
+ }
590
+ constructor() {
591
+ Sr(this, "parser", u(Fa, Ca));
592
+ }
593
+ }
594
+ function Mr(e, a, n) {
595
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
596
+ }
597
+ Sr(Lr, "ForEntityName", "POLYLINE");
598
+ let wa = { firstPoint: { x: 0, y: 0, z: 1 }, extrusionDirection: { x: 0, y: 0, z: 1 } }, Va = [{ code: 10, name: "firstPoint", parser: c }, { code: 11, name: "unitDirection", parser: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
599
+ class Pr {
600
+ parseEntity(a, n) {
601
+ let t = {};
602
+ return this.parser(n, a, t), t;
603
+ }
604
+ constructor() {
605
+ Mr(this, "parser", u(Va, wa));
606
+ }
607
+ }
608
+ function _r(e, a, n) {
609
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
610
+ }
611
+ Mr(Pr, "ForEntityName", "RAY");
612
+ let Ba = { vertices: [], backLineVertices: [] }, Ha = [{ code: 360, name: "geometrySettingHardId", parser: r }, { code: 12, name: "backLineVertices", isMultiple: !0, parser: c }, { code: 93, name: "numberOfBackLineVertices", parser: r }, { code: 11, name: "vertices", isMultiple: !0, parser: c }, { 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: c }, { code: 1, name: "name", parser: r }, { code: 91, name: "flag", parser: r }, { code: 90, name: "state", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...O];
613
+ class Rr {
614
+ parseEntity(a, n) {
615
+ let t = {};
616
+ return this.parser(n, a, t), t;
617
+ }
618
+ constructor() {
619
+ _r(this, "parser", u(Ha, Ba));
620
+ }
621
+ }
622
+ function Cr(e, a, n) {
623
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
624
+ }
625
+ _r(Rr, "ForEntityName", "SECTION");
626
+ let Ga = { points: [], thickness: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, Ua = [{ code: 210, name: "extrusionDirection", parser: c }, { code: 39, name: "thickness", parser: r }, { code: [...ke(10, 14)], name: "points", isMultiple: !0, parser: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
627
+ class Fr {
628
+ parseEntity(a, n) {
629
+ let t = {};
630
+ return this.parser(n, a, t), t;
631
+ }
632
+ constructor() {
633
+ Cr(this, "parser", u(Ua, Ga));
634
+ }
635
+ }
636
+ Cr(Fr, "ForEntityName", "SOLID");
637
+ (L = {})[L.NONE = 0] = "NONE", L[L.CLOSED = 1] = "CLOSED", L[L.PERIODIC = 2] = "PERIODIC", L[L.RATIONAL = 4] = "RATIONAL", L[L.PLANAR = 8] = "PLANAR", L[L.LINEAR = 16] = "LINEAR";
638
+ function wr(e, a, n) {
639
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
640
+ }
641
+ let Wa = { knotTolerance: 1e-6, controlTolerance: 1e-6, fitTolerance: 1e-9, knotValues: [], controlPoints: [], fitPoints: [] }, Ya = [{ code: 11, name: "fitPoints", isMultiple: !0, parser: c }, { code: 10, name: "controlPoints", isMultiple: !0, parser: c }, { code: 41, name: "weights", isMultiple: !0, parser: r }, { code: 40, name: "knots", isMultiple: !0, parser: r }, { code: 13, name: "endTangent", parser: c }, { code: 12, name: "startTangent", parser: c }, { 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: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
642
+ class Vr {
643
+ parseEntity(a, n) {
644
+ let t = {};
645
+ return this.parser(n, a, t), t;
646
+ }
647
+ constructor() {
648
+ wr(this, "parser", u(Ya, Wa));
649
+ }
650
+ }
651
+ wr(Vr, "ForEntityName", "SPLINE");
652
+ class ye {
653
+ parseEntity(a, n) {
654
+ let t = {};
655
+ for (; !a.isEOF(); ) {
656
+ if (n.code === 0) {
657
+ a.rewind();
658
+ break;
659
+ }
660
+ switch (n.code) {
661
+ case 100:
662
+ t.subclassMarker = n.value, n = a.next();
663
+ break;
664
+ case 2:
665
+ t.name = n.value, n = a.next();
666
+ break;
667
+ case 5:
668
+ t.handle = n.value, n = a.next();
669
+ break;
670
+ case 10:
671
+ t.startPoint = j(m(a)), n = a.lastReadGroup;
672
+ break;
673
+ case 11:
674
+ t.directionVector = j(m(a)), n = a.lastReadGroup;
675
+ break;
676
+ case 90:
677
+ t.tableValue = n.value, n = a.next();
678
+ break;
679
+ case 91:
680
+ t.rowCount = n.value, n = a.next();
681
+ break;
682
+ case 92:
683
+ t.columnCount = n.value, n = a.next();
684
+ break;
685
+ case 93:
686
+ t.overrideFlag = n.value, n = a.next();
687
+ break;
688
+ case 94:
689
+ t.borderColorOverrideFlag = n.value, n = a.next();
690
+ break;
691
+ case 95:
692
+ t.borderLineWeightOverrideFlag = n.value, n = a.next();
693
+ break;
694
+ case 96:
695
+ t.borderVisibilityOverrideFlag = n.value, n = a.next();
696
+ break;
697
+ case 141:
698
+ t.rowHeightArr ?? (t.rowHeightArr = []), t.rowHeightArr.push(n.value), n = a.next();
699
+ break;
700
+ case 142:
701
+ t.columnWidthArr ?? (t.columnWidthArr = []), t.columnWidthArr.push(n.value), n = a.next();
702
+ break;
703
+ case 280:
704
+ t.version = n.value, n = a.next();
705
+ break;
706
+ case 310:
707
+ t.bmpPreview ?? (t.bmpPreview = ""), t.bmpPreview += n.value, n = a.next();
708
+ break;
709
+ case 330:
710
+ t.ownerDictionaryId = n.value, n = a.next();
711
+ break;
712
+ case 342:
713
+ t.tableStyleId = n.value, n = a.next();
714
+ break;
715
+ case 343:
716
+ t.blockRecordHandle = n.value, n = a.next();
717
+ break;
718
+ case 170:
719
+ t.attachmentPoint = n.value, n = a.next();
720
+ break;
721
+ case 171:
722
+ t.cells ?? (t.cells = []), t.cells.push(function(o, s) {
723
+ let i = !1, k = !1, d = {};
724
+ for (; !o.isEOF() && s.code !== 0 && !k; ) switch (s.code) {
725
+ case 171:
726
+ if (i) {
727
+ k = !0;
728
+ continue;
729
+ }
730
+ d.cellType = s.value, i = !0, s = o.next();
731
+ break;
732
+ case 172:
733
+ d.flagValue = s.value, s = o.next();
734
+ break;
735
+ case 173:
736
+ d.mergedValue = s.value, s = o.next();
737
+ break;
738
+ case 174:
739
+ d.autoFit = s.value, s = o.next();
740
+ break;
741
+ case 175:
742
+ d.borderWidth = s.value, s = o.next();
743
+ break;
744
+ case 176:
745
+ d.borderHeight = s.value, s = o.next();
746
+ break;
747
+ case 91:
748
+ d.overrideFlag = s.value, s = o.next();
749
+ break;
750
+ case 178:
751
+ d.virtualEdgeFlag = s.value, s = o.next();
752
+ break;
753
+ case 145:
754
+ d.rotation = s.value, s = o.next();
755
+ break;
756
+ case 345:
757
+ d.fieldObjetId = s.value, s = o.next();
758
+ break;
759
+ case 340:
760
+ d.blockTableRecordId = s.value, s = o.next();
761
+ break;
762
+ case 146:
763
+ d.blockScale = s.value, s = o.next();
764
+ break;
765
+ case 177:
766
+ d.blockAttrNum = s.value, s = o.next();
767
+ break;
768
+ case 7:
769
+ d.textStyle = s.value, s = o.next();
770
+ break;
771
+ case 140:
772
+ d.textHeight = s.value, s = o.next();
773
+ break;
774
+ case 170:
775
+ d.attachmentPoint = s.value, s = o.next();
776
+ break;
777
+ case 92:
778
+ d.extendedCellFlags = s.value, s = o.next();
779
+ break;
780
+ case 285:
781
+ d.rightBorderVisibility = !!(s.value ?? !0), s = o.next();
782
+ break;
783
+ case 286:
784
+ d.bottomBorderVisibility = !!(s.value ?? !0), s = o.next();
785
+ break;
786
+ case 288:
787
+ d.leftBorderVisibility = !!(s.value ?? !0), s = o.next();
788
+ break;
789
+ case 289:
790
+ d.topBorderVisibility = !!(s.value ?? !0), s = o.next();
791
+ break;
792
+ case 301:
793
+ (function(D, M, I) {
794
+ for (; I.code !== 304; ) switch (I.code) {
795
+ case 301:
796
+ case 93:
797
+ case 90:
798
+ case 94:
799
+ I = M.next();
800
+ break;
801
+ case 1:
802
+ D.text = I.value, I = M.next();
803
+ break;
804
+ case 300:
805
+ D.attrText = I.value, I = M.next();
806
+ break;
807
+ case 302:
808
+ D.text = I.value ? I.value : D.text, I = M.next();
809
+ break;
810
+ default:
811
+ console.log(`Ignore code: ${I.code}, value: ${I.value}`), I = M.next();
812
+ }
813
+ })(d, o, s), s = o.next();
814
+ break;
815
+ default:
816
+ return d;
817
+ }
818
+ return i = !1, k = !1, d;
819
+ }(a, n)), n = a.lastReadGroup;
820
+ break;
821
+ default:
822
+ je(t, n, a), n = a.next();
823
+ }
824
+ }
825
+ return t;
826
+ }
827
+ }
828
+ Ve = "ACAD_TABLE", (we = "ForEntityName") in ye ? Object.defineProperty(ye, we, { value: Ve, enumerable: !0, configurable: !0, writable: !0 }) : ye[we] = Ve;
829
+ class ve {
830
+ parseEntity(a, n) {
831
+ let t = {};
832
+ for (; n !== "EOF"; ) {
833
+ if (n.code === 0) {
834
+ a.rewind();
835
+ break;
836
+ }
837
+ !function(o, s, i) {
838
+ if (i === "EOF") return !1;
839
+ switch (i.code) {
840
+ case 0:
841
+ default:
842
+ return !1;
843
+ case 100:
844
+ o.subclassMarker = i.value;
845
+ break;
846
+ case 10:
847
+ o.viewportCenter = j(m(s));
848
+ break;
849
+ case 40:
850
+ o.width = i.value;
851
+ break;
852
+ case 41:
853
+ o.height = i.value;
854
+ break;
855
+ case 68:
856
+ o.status = i.value;
857
+ break;
858
+ case 69:
859
+ o.viewportId = i.value;
860
+ break;
861
+ case 12:
862
+ o.displayCenter = m(s);
863
+ break;
864
+ case 13:
865
+ o.snapBase = m(s);
866
+ break;
867
+ case 14:
868
+ o.snapSpacing = m(s);
869
+ break;
870
+ case 15:
871
+ o.gridSpacing = m(s);
872
+ break;
873
+ case 16:
874
+ o.viewDirection = j(m(s));
875
+ break;
876
+ case 17:
877
+ o.targetPoint = j(m(s));
878
+ break;
879
+ case 42:
880
+ o.perspectiveLensLength = i.value;
881
+ break;
882
+ case 43:
883
+ o.frontClipZ = i.value;
884
+ break;
885
+ case 44:
886
+ o.backClipZ = i.value;
887
+ break;
888
+ case 45:
889
+ o.viewHeight = i.value;
890
+ break;
891
+ case 50:
892
+ o.snapAngle = i.value;
893
+ break;
894
+ case 51:
895
+ o.viewTwistAngle = i.value;
896
+ break;
897
+ case 72:
898
+ o.circleZoomPercent = i.value;
899
+ break;
900
+ case 331:
901
+ o.frozenLayerIds ?? (o.frozenLayerIds = []), o.frozenLayerIds.push(i.value);
902
+ break;
903
+ case 90:
904
+ o.statusBitFlags = i.value;
905
+ break;
906
+ case 330:
907
+ o.ownerBlockRecordSoftId = i.value;
908
+ break;
909
+ case 340:
910
+ o.clippingBoundaryId = i.value;
911
+ break;
912
+ case 1:
913
+ o.sheetName = i.value;
914
+ break;
915
+ case 281:
916
+ o.renderMode = i.value;
917
+ break;
918
+ case 71:
919
+ o.ucsPerViewport = i.value;
920
+ break;
921
+ case 110:
922
+ o.ucsOrigin = j(m(s));
923
+ break;
924
+ case 111:
925
+ o.ucsXAxis = j(m(s));
926
+ break;
927
+ case 112:
928
+ o.ucsYAxis = j(m(s));
929
+ break;
930
+ case 345:
931
+ o.ucsId = i.value;
932
+ break;
933
+ case 346:
934
+ o.ucsBaseId = i.value;
935
+ break;
936
+ case 79:
937
+ o.orthographicType = i.value;
938
+ break;
939
+ case 146:
940
+ o.elevation = i.value;
941
+ break;
942
+ case 170:
943
+ o.shadePlotMode = i.value;
944
+ break;
945
+ case 61:
946
+ o.majorGridFrequency = i.value;
947
+ break;
948
+ case 332:
949
+ o.backgroundId = i.value;
950
+ break;
951
+ case 333:
952
+ o.shadePlotId = i.value;
953
+ break;
954
+ case 348:
955
+ o.visualStyleId = i.value;
956
+ break;
957
+ case 292:
958
+ o.isDefaultLighting = !!i.value;
959
+ break;
960
+ case 282:
961
+ o.defaultLightingType = i.value;
962
+ break;
963
+ case 141:
964
+ o.brightness = i.value;
965
+ break;
966
+ case 142:
967
+ o.contrast = i.value;
968
+ break;
969
+ case 63:
970
+ case 421:
971
+ case 431:
972
+ o.ambientLightColor = i.value;
973
+ break;
974
+ case 361:
975
+ o.sunId = i.value;
976
+ break;
977
+ case 335:
978
+ case 343:
979
+ case 344:
980
+ case 91:
981
+ o.softPointer = i.value;
982
+ }
983
+ return !0;
984
+ }(t, a, n) && je(t, n, a), n = a.next();
985
+ }
986
+ return t;
987
+ }
988
+ }
989
+ He = "VIEWPORT", (Be = "ForEntityName") in ve ? Object.defineProperty(ve, Be, { value: He, enumerable: !0, configurable: !0, writable: !0 }) : ve[Be] = He;
990
+ class Ne extends ze {
991
+ parseEntity(a, n) {
992
+ return super.parseEntity(a, n);
993
+ }
994
+ }
995
+ function Br(e, a, n) {
996
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
997
+ }
998
+ Ue = "WIPEOUT", (Ge = "ForEntityName") in Ne ? Object.defineProperty(Ne, Ge, { value: Ue, enumerable: !0, configurable: !0, writable: !0 }) : Ne[Ge] = Ue;
999
+ let ja = { firstPoint: { x: 0, y: 0, z: 1 }, extrusionDirection: { x: 0, y: 0, z: 1 } }, za = [{ code: 10, name: "firstPoint", parser: c }, { code: 11, name: "unitDirection", parser: c }, { code: 100, name: "subclassMarker", parser: r }, ...O];
1000
+ class Hr {
1001
+ parseEntity(a, n) {
1002
+ let t = {};
1003
+ return this.parser(n, a, t), t;
1004
+ }
1005
+ constructor() {
1006
+ Br(this, "parser", u(za, ja));
1007
+ }
1008
+ }
1009
+ function Gr(e, a, n) {
1010
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1011
+ }
1012
+ Br(Hr, "ForEntityName", "XLINE");
1013
+ let Xa = { thickness: 0, rotation: 0, scale: 1, obliqueAngle: 0, textStyle: "STANDARD", textGenerationFlag: 0, horizontalJustification: 0, verticalJustification: 0, extrusionDirection: { x: 0, y: 0, z: 1 } }, Ka = [...xe.slice(xe.findIndex(({ name: e }) => e === "columnType"), xe.findIndex(({ name: e }) => e === "subclassMarker") + 1), { code: 100 }, { code: 0, parser(e) {
1014
+ if (!p(e, 0, "MTEXT")) return Ye;
1015
+ } }, { code: 2, name: "definitionTag", parser: r }, { code: 40, name: "annotationScale", parser: r }, { code: 10, name: "alignmentPoint", parser: c }, { code: 340, name: "secondaryAttributesHardId", parser: r }, { code: 70, name: "numberOfSecondaryAttributes", parser: r }, { code: 70, name: "isReallyLocked", parser: b }, { code: 70, name: "mtextFlag", parser: r }, { code: 280, name: "isDuplicatedEntriesKeep", parser: b }, { code: 100 }, { code: 280, name: "lockPositionFlag", parser: b }, { code: 210, name: "extrusionDirection", parser: c }, { code: 11, name: "alignmentPoint", parser: c }, { 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: c }, { code: 39, name: "thickness", parser: r }, { code: 100 }, ...O];
1016
+ class Ur {
1017
+ parseEntity(a, n) {
1018
+ let t = {};
1019
+ return this.parser(n, a, t), t;
1020
+ }
1021
+ constructor() {
1022
+ Gr(this, "parser", u(Ka, Xa));
1023
+ }
1024
+ }
1025
+ Gr(Ur, "ForEntityName", "ATTRIB");
1026
+ let Za = Object.fromEntries([ar, ir, Ur, dr, ge, pr, ze, Or, hr, Tr, Te, yr, Nr, Lr, Pr, Rr, Fr, Vr, ye, sr, br, ve, Ne, Hr].map((e) => [e.ForEntityName, new e()]));
1027
+ function Wr(e, a) {
1028
+ let n = [];
1029
+ for (; !p(e, 0, "EOF"); ) {
1030
+ if (e.code === 0) {
1031
+ if (e.value === "ENDBLK" || e.value === "ENDSEC") {
1032
+ a.rewind();
1033
+ break;
1034
+ }
1035
+ let t = Za[e.value];
1036
+ if (t) {
1037
+ let o = e.value;
1038
+ e = a.next();
1039
+ let s = t.parseEntity(a, e);
1040
+ s.type = o, er(s), n.push(s);
1041
+ } else console.warn(`Unsupported ENTITY type: ${e.value}`);
1042
+ }
1043
+ e = a.next();
1044
+ }
1045
+ return n;
1046
+ }
1047
+ function Ja(e, a) {
1048
+ let n = {};
1049
+ for (; !p(e, 0, "EOF") && !p(e, 0, "ENDSEC"); ) {
1050
+ if (p(e, 0, "BLOCK")) {
1051
+ let t = $a(e = a.next(), a);
1052
+ er(t), t.name && (n[t.name] = t);
1053
+ }
1054
+ e = a.next();
1055
+ }
1056
+ return n;
1057
+ }
1058
+ function $a(e, a) {
1059
+ let n = {};
1060
+ for (; !p(e, 0, "EOF"); ) {
1061
+ if (p(e, 0, "ENDBLK")) {
1062
+ for (e = a.next(); !p(e, 0, "EOF"); ) {
1063
+ if (p(e, 100, "AcDbBlockEnd")) return n;
1064
+ e = a.next();
1065
+ }
1066
+ break;
1067
+ }
1068
+ switch (e.code) {
1069
+ case 1:
1070
+ n.xrefPath = e.value;
1071
+ break;
1072
+ case 2:
1073
+ n.name = e.value;
1074
+ break;
1075
+ case 3:
1076
+ n.name2 = e.value;
1077
+ break;
1078
+ case 5:
1079
+ n.handle = e.value;
1080
+ break;
1081
+ case 8:
1082
+ n.layer = e.value;
1083
+ break;
1084
+ case 10:
1085
+ n.position = m(a);
1086
+ break;
1087
+ case 67:
1088
+ n.paperSpace = !!e.value && e.value == 1;
1089
+ break;
1090
+ case 70:
1091
+ e.value !== 0 && (n.type = e.value);
1092
+ break;
1093
+ case 100:
1094
+ break;
1095
+ case 330:
1096
+ n.ownerHandle = e.value;
1097
+ break;
1098
+ case 0:
1099
+ n.entities = Wr(e, a);
1100
+ }
1101
+ e = a.next();
1102
+ }
1103
+ return n;
1104
+ }
1105
+ function qa(e, a) {
1106
+ let n = null, t = {};
1107
+ for (; !p(e, 0, "EOF") && !p(e, 0, "ENDSEC"); ) e.code === 9 ? n = e.value : e.code === 10 ? t[n] = m(a) : t[n] = e.value, e = a.next();
1108
+ return t;
1109
+ }
1110
+ let Qa = [{ 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: c }, { code: 11, name: "sizeOfOnePixel", parser: c }, { code: 280, name: "isLoaded", parser: r }, { code: 281, name: "resolutionUnits", parser: r }, { code: 100, name: "subclassMarker", parser: r }], Yr = [{ 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: "paperUnit", parser: r }, { code: 70, name: "layoutFlag", parser: r }, { code: 143, name: "printScaleDenominator", parser: r }, { code: 142, name: "printScaleNominator", parser: r }, { code: 141, name: "windowAreaYMax", parser: r }, { code: 140, name: "windowAreaYMin", parser: r }, { code: 49, name: "windowAreaXMax", 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 }], en = [{ code: 333, name: "shadePlotId", parser: r }, { 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: c }, { code: 16, name: "ucsXAxis", parser: c }, { code: 13, name: "ucsOrigin", parser: c }, { code: 146, name: "elevation", parser: r }, { code: 15, name: "maxExtent", parser: c }, { code: 14, name: "minExtent", parser: c }, { code: 12, name: "insertionBase", parser: c }, { code: 11, name: "maxLimit", parser: c }, { code: 10, name: "minLimit", parser: c }, { code: 71, name: "tabOrder", parser: r }, { code: 70, name: "controlFlag", parser: r }, { code: 1, name: "layoutName", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...Yr], rn = [{ code: 330, name: "ownerObjectId", parser: r }, { code: 102 }, { code: 360, name: "ownerDictionaryIdHard", parser: r }, { code: 102 }, { code: 102 }, { code: 330, name: "ownerDictionaryIdSoft", parser: r }, { code: 102 }, { code: 102 }, { code: 102 }, { code: 5, name: "handle", parser: r }];
1111
+ function Ze(e) {
1112
+ return e.subclassMarker === "AcDbDictionary";
1113
+ }
1114
+ let an = { LAYOUT: en, PLOTSETTINGS: Yr, DICTIONARY: [{ code: 3, name: "entries", parser: (e, a) => {
1115
+ let n = { name: e.value };
1116
+ return (e = a.next()).code === 350 ? n.objectId = e.value : a.rewind(), n;
1117
+ }, isMultiple: !0 }, { code: 281, name: "recordCloneFlag", parser: r }, { code: 280, name: "isHardOwned", parser: b }, { code: 100, name: "subclassMarker", parser: r }], IMAGEDEF: Qa };
1118
+ function nn(e, a) {
1119
+ let n = [];
1120
+ for (; e.code !== 0 || !["EOF", "ENDSEC"].includes(e.value); ) {
1121
+ let t = e.value, o = an[t];
1122
+ if (e.code === 0 && (o != null && o.length)) {
1123
+ let s = u([...rn, ...o]), i = { name: t };
1124
+ s(e = a.next(), a, i) ? (n.push(i), e = a.peek()) : e = a.next();
1125
+ } else e = a.next();
1126
+ }
1127
+ return { byName: Sa(n, ({ name: t }) => t), byTree: function(t) {
1128
+ let o = Object.fromEntries(t.map((s) => [s.handle, s]));
1129
+ for (let s of t) (!Ze(s) || s.ownerDictionaryIdSoft !== "0") && (s.ownerDictionaryIdSoft && (s.ownerDictionarySoft = o[s.ownerDictionaryIdSoft]), s.ownerDictionaryIdHard && (s.ownerDictionaryHard = o[s.ownerDictionaryIdHard]), s.ownerObjectId && (s.ownerObject = o[s.ownerObjectId])), function(i, k) {
1130
+ Ze(i) && i.entries && (i.entries = Object.fromEntries(i.entries.map(({ name: d, objectId: D }) => [d, k[D]])));
1131
+ }(s, o);
1132
+ return t[0];
1133
+ }(n) };
1134
+ }
1135
+ let re = [{ code: 100, name: "subclassMarker", parser: r }, { code: 330, name: "ownerObjectId", parser: r }, { code: 102, parser(e, a) {
1136
+ for (; !p(e, 0, "EOF") && !p(e, 102, "}"); ) e = a.next();
1137
+ } }, { code: 5, name: "handle", parser: r }], tn = 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 }, ...re]), on = u([...[{ name: "DIMPOST", code: 3 }, { name: "DIMAPOST", code: 4 }, { name: "DIMBLK_OBSOLETE", code: 5 }, { name: "DIMBLK1_OBSOLETE", code: 6 }, { name: "DIMBLK2_OBSOLETE", code: 7 }, { name: "DIMSCALE", code: 40, defaultValue: 1 }, { name: "DIMASZ", code: 41, defaultValue: 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: "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: "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: Xe.Above, defaultValueImperial: Xe.Center }, { name: "DIMZIN", code: 78, defaultValue: ee.Trailing, defaultValueImperial: ee.Feet }, { name: "DIMAZIN", code: 79, defaultValue: jr.None }, { name: "DIMALT", code: 170, defaultValue: 0 }, { name: "DIMALTD", code: 171, defaultValue: 3, defaultValueImperial: 2 }, { name: "DIMTOFL", code: 172, defaultValue: 1, defaultValueImperial: 0 }, { name: "DIMSAH", code: 173, defaultValue: 0 }, { name: "DIMTIX", code: 174, defaultValue: 0 }, { name: "DIMSOXD", code: 175, defaultValue: 0 }, { name: "DIMCLRD", code: 176, defaultValue: 0 }, { name: "DIMCLRE", code: 177, defaultValue: 0 }, { name: "DIMCLRT", code: 178, defaultValue: 0 }, { name: "DIMADEC", code: 179 }, { name: "DIMUNIT", code: 270 }, { name: "DIMDEC", code: 271, defaultValue: 2, defaultValueImperial: 4 }, { name: "DIMTDEC", code: 272, defaultValue: 2, defaultValueImperial: 4 }, { name: "DIMALTU", code: 273, defaultValue: 2 }, { name: "DIMALTTD", code: 274, defaultValue: 2, defaultValueImperial: 4 }, { name: "DIMAUNIT", code: 275, defaultValue: 0 }, { name: "DIMFRAC", code: 276, defaultValue: 0 }, { name: "DIMLUNIT", code: 277, defaultValue: 2 }, { name: "DIMDSEP", code: 278, defaultValue: ",", defaultValueImperial: "." }, { name: "DIMJUST", code: 280, defaultValue: zr.Center }, { name: "DIMSD1", code: 281, defaultValue: 0 }, { name: "DIMSD2", code: 282, defaultValue: 0 }, { name: "DIMTOLJ", code: 283, defaultValue: Xr.Center }, { name: "DIMTZIN", code: 284, defaultValue: ee.Trailing, defaultValueImperial: ee.Feet }, { name: "DIMALTZ", code: 285, defaultValue: ee.Trailing }, { name: "DIMALTTZ", code: 286, defaultValue: ee.Trailing }, { name: "DIMFIT", code: 287 }, { name: "DIMUPT", code: 288, defaultValue: 0 }, { name: "DIMATFIT", code: 289, defaultValue: 3 }, { name: "DIMTXSTY", code: 340 }, { name: "DIMLDRBLK", code: 341 }, { name: "DIMBLK", code: 342 }, { name: "DIMBLK1", code: 343 }, { name: "DIMBLK2", code: 344 }, { name: "DIMLWD", code: 371, defaultValue: -2 }, { name: "DIMLWD", code: 372, defaultValue: -2 }].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 }, ...re.filter((e) => e.code !== 5)]), sn = u([{ code: 347, name: "materialObjectId", parser: r }, { code: 390, name: "plotStyleNameObjectId", parser: r }, { code: 370, name: "lineweight", parser: r }, { code: 290, name: "isPlotting", parser: b }, { 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 }, ...re]), cn = 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 }), ln = { BLOCK_RECORD: tn, DIMSTYLE: on, LAYER: sn, LTYPE: u([{ code: 49, name: "pattern", parser(e, a) {
1138
+ let n = {};
1139
+ return cn(e, a, n), n;
1140
+ }, 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 }, ...re]), STYLE: 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 }, ...re]), VPORT: 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: b }, { 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: c }, { code: 111, name: "ucsXAxis", parser: c }, { code: 110, name: "ucsOrigin", parser: c }, { 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: 17, name: "viewTarget", parser: c }, { code: 16, name: "viewDirectionFromTarget", parser: c }, { code: 15, name: "gridSpacing", parser: c }, { code: 14, name: "snapSpacing", parser: c }, { code: 13, name: "snapBasePoint", parser: c }, { code: 12, name: "center", parser: c }, { code: 11, name: "upperRightCorner", parser: c }, { code: 10, name: "lowerLeftCorner", parser: c }, { code: 70, name: "standardFlag", parser: r }, { code: 2, name: "name", parser: r }, { code: 100, name: "subclassMarker", parser: r }, ...re]) }, dn = u([{ code: 70, name: "maxNumberOfEntries", parser: r }, { code: 100, name: "subclassMarker", parser: r }, { code: 330, name: "ownerObjectId", parser: r }, { code: 102 }, { code: 360, isMultiple: !0 }, { code: 102 }, { code: 5, name: "handle", parser: r }, { code: 2, name: "name", parser: r }]);
1141
+ function un(e, a) {
1142
+ var t;
1143
+ let n = {};
1144
+ for (; !p(e, 0, "EOF") && !p(e, 0, "ENDSEC"); ) {
1145
+ if (p(e, 0, "TABLE")) {
1146
+ e = a.next();
1147
+ let o = { entries: [] };
1148
+ dn(e, a, o), n[o.name] = o;
1149
+ }
1150
+ if (p(e, 0) && !p(e, 0, "ENDTAB")) {
1151
+ let o = e.value;
1152
+ e = a.next();
1153
+ let s = ln[o];
1154
+ if (!s) {
1155
+ console.warn(`parseTable: Invalid table name '${o}'`), e = a.next();
1156
+ continue;
1157
+ }
1158
+ let i = {};
1159
+ s(e, a, i), (t = n[o]) == null || t.entries.push(i);
1160
+ }
1161
+ e = a.next();
1162
+ }
1163
+ return n;
1164
+ }
1165
+ function De(e, a, n) {
1166
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1167
+ }
1168
+ class Je {
1169
+ next() {
1170
+ if (!this.hasNext()) return this._eof ? console.warn("Cannot call 'next' after EOF group has been read") : console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code " + this._data[this._pointer]), { code: 0, value: "EOF" };
1171
+ let a = parseInt(this._data[this._pointer++], 10), n = $e(a, this._data[this._pointer++]), t = { code: a, value: n };
1172
+ return p(t, 0, "EOF") && (this._eof = !0), this.lastReadGroup = t, t;
1173
+ }
1174
+ peek() {
1175
+ if (!this.hasNext())
1176
+ 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]);
1177
+ let a = { code: parseInt(this._data[this._pointer]), value: 0 };
1178
+ return a.value = $e(a.code, this._data[this._pointer + 1]), a;
1179
+ }
1180
+ rewind(a) {
1181
+ a = a || 1, this._pointer = this._pointer - 2 * a;
1182
+ }
1183
+ hasNext() {
1184
+ return !this._eof && !(this._pointer > this._data.length - 2);
1185
+ }
1186
+ isEOF() {
1187
+ return this._eof;
1188
+ }
1189
+ constructor(a) {
1190
+ De(this, "_pointer", void 0), De(this, "_data", void 0), De(this, "_eof", void 0), De(this, "lastReadGroup", { code: 0, value: 0 }), this._pointer = 0, this._data = a, this._eof = !1;
1191
+ }
1192
+ }
1193
+ function $e(e, a) {
1194
+ return e <= 9 ? a : e >= 10 && e <= 59 ? parseFloat(a.trim()) : e >= 60 && e <= 99 ? parseInt(a.trim()) : e >= 100 && e <= 109 ? a : 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(n) {
1195
+ if (n === "0") return !1;
1196
+ if (n === "1") return !0;
1197
+ throw TypeError("String '" + n + "' cannot be cast to Boolean type");
1198
+ }(a.trim()) : e >= 300 && e <= 369 ? a : e >= 370 && e <= 389 ? parseInt(a.trim()) : e >= 390 && e <= 399 ? a : e >= 400 && e <= 409 ? parseInt(a.trim()) : e >= 410 && e <= 419 ? a : e >= 420 && e <= 429 ? parseInt(a.trim()) : e >= 430 && e <= 439 ? a : e >= 440 && e <= 459 ? parseInt(a.trim()) : e >= 460 && e <= 469 ? parseFloat(a.trim()) : e >= 470 && e <= 481 || e === 999 || e >= 1e3 && e <= 1009 ? a : e >= 1010 && e <= 1059 ? parseFloat(a.trim()) : e >= 1060 && e <= 1071 ? parseInt(a.trim()) : (console.log("WARNING: Group code does not have a defined type: %j", { code: e, value: a }), a);
1199
+ }
1200
+ function We(e, a, n) {
1201
+ return a in e ? Object.defineProperty(e, a, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[a] = n, e;
1202
+ }
1203
+ class pn {
1204
+ constructor() {
1205
+ We(this, "encoding", "utf-8"), We(this, "encodingFailureFatal", !1);
1206
+ }
1207
+ }
1208
+ class mn extends EventTarget {
1209
+ parseSync(a) {
1210
+ let n = new Je(a.split(/\r\n|\r|\n/g));
1211
+ if (!n.hasNext()) throw Error("Empty file");
1212
+ return this.parseAll(n);
1213
+ }
1214
+ parseStream(a) {
1215
+ let n = "", t = this;
1216
+ return new Promise((o, s) => {
1217
+ a.on("data", (i) => {
1218
+ n += i;
1219
+ }), a.on("end", () => {
1220
+ try {
1221
+ let i = n.split(/\r\n|\r|\n/g), k = new Je(i);
1222
+ if (!k.hasNext()) throw Error("Empty file");
1223
+ o(t.parseAll(k));
1224
+ } catch (i) {
1225
+ s(i);
1226
+ }
1227
+ }), a.on("error", (i) => {
1228
+ s(i);
1229
+ });
1230
+ });
1231
+ }
1232
+ async parseFromUrl(a, n) {
1233
+ let t = await fetch(a, n);
1234
+ if (!t.body) return null;
1235
+ let o = t.body.getReader(), s = "";
1236
+ for (; ; ) {
1237
+ let { done: i, value: k } = await o.read();
1238
+ if (i) {
1239
+ s += this._decoder.decode(new ArrayBuffer(0), { stream: !1 });
1240
+ break;
1241
+ }
1242
+ s += this._decoder.decode(k, { stream: !0 });
1243
+ }
1244
+ return this.parseSync(s);
1245
+ }
1246
+ parseAll(a) {
1247
+ let n = { header: {}, blocks: {}, entities: [], tables: {}, objects: { byName: {}, byTree: void 0 } }, t = a.next();
1248
+ for (; !p(t, 0, "EOF"); ) p(t, 0, "SECTION") && (p(t = a.next(), 2, "HEADER") ? (t = a.next(), n.header = qa(t, a)) : p(t, 2, "BLOCKS") ? (t = a.next(), n.blocks = Ja(t, a)) : p(t, 2, "ENTITIES") ? (t = a.next(), n.entities = Wr(t, a)) : p(t, 2, "TABLES") ? (t = a.next(), n.tables = un(t, a)) : p(t, 2, "OBJECTS") && (t = a.next(), n.objects = nn(t, a))), t = a.next();
1249
+ return n;
1250
+ }
1251
+ constructor(a = new pn()) {
1252
+ super(), We(this, "_decoder", void 0), this._decoder = new TextDecoder(a.encoding, { fatal: a.encodingFailureFatal });
1253
+ }
1254
+ }
1255
+ class fn {
1256
+ constructor() {
1257
+ this.setupMessageHandler();
1258
+ }
1259
+ /**
1260
+ * Set up message handler - called automatically
1261
+ */
1262
+ setupMessageHandler() {
1263
+ self.onmessage = async (a) => {
1264
+ const { id: n, input: t } = a.data;
1265
+ try {
1266
+ const o = await this.executeTask(t);
1267
+ this.sendResponse(n, !0, o);
1268
+ } catch (o) {
1269
+ this.sendResponse(
1270
+ n,
1271
+ !1,
1272
+ void 0,
1273
+ o instanceof Error ? o.message : String(o)
1274
+ );
1275
+ }
1276
+ };
1277
+ }
1278
+ /**
1279
+ * Send response back to main thread
1280
+ */
1281
+ sendResponse(a, n, t, o) {
1282
+ const s = {
1283
+ id: a,
1284
+ success: n,
1285
+ data: t,
1286
+ error: o
1287
+ };
1288
+ self.postMessage(s);
1289
+ }
1290
+ }
1291
+ class bn extends fn {
1292
+ async executeTask(a) {
1293
+ return new mn().parseSync(a);
1294
+ }
1295
+ }
1296
+ new bn();