@lewin671/python-vm 0.1.2 → 0.1.3

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 (119) hide show
  1. package/README.md +58 -56
  2. package/README_zh-CN.md +58 -57
  3. package/dist/common/string-token.d.ts +5 -0
  4. package/dist/common/string-token.d.ts.map +1 -0
  5. package/dist/common/string-token.js +23 -0
  6. package/dist/common/string-token.js.map +1 -0
  7. package/dist/compiler/cfg_builder.d.ts +48 -0
  8. package/dist/compiler/cfg_builder.d.ts.map +1 -0
  9. package/dist/compiler/cfg_builder.js +1462 -0
  10. package/dist/compiler/cfg_builder.js.map +1 -0
  11. package/dist/compiler/compiler.d.ts.map +1 -0
  12. package/dist/compiler/compiler.js +27 -0
  13. package/dist/compiler/compiler.js.map +1 -0
  14. package/dist/compiler/index.d.ts.map +1 -0
  15. package/dist/compiler/index.js.map +1 -0
  16. package/dist/compiler/linearizer.d.ts +7 -0
  17. package/dist/compiler/linearizer.d.ts.map +1 -0
  18. package/dist/compiler/linearizer.js +112 -0
  19. package/dist/compiler/linearizer.js.map +1 -0
  20. package/dist/compiler/serializer.d.ts +17 -0
  21. package/dist/compiler/serializer.d.ts.map +1 -0
  22. package/dist/compiler/serializer.js +70 -0
  23. package/dist/compiler/serializer.js.map +1 -0
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +58 -8
  27. package/dist/index.js.map +1 -1
  28. package/dist/lexer/lexer.d.ts.map +1 -1
  29. package/dist/lexer/lexer.js +25 -11
  30. package/dist/lexer/lexer.js.map +1 -1
  31. package/dist/parser/expressions.d.ts.map +1 -1
  32. package/dist/parser/expressions.js +5 -2
  33. package/dist/parser/expressions.js.map +1 -1
  34. package/dist/parser/parser.js +3 -3
  35. package/dist/parser/parser.js.map +1 -1
  36. package/dist/parser/statements.d.ts.map +1 -1
  37. package/dist/parser/statements.js +60 -22
  38. package/dist/parser/statements.js.map +1 -1
  39. package/dist/python_compiler.d.ts +32 -0
  40. package/dist/python_compiler.d.ts.map +1 -0
  41. package/dist/{compiler.js → python_compiler.js} +19 -6
  42. package/dist/python_compiler.js.map +1 -0
  43. package/dist/types/ast.d.ts +286 -44
  44. package/dist/types/ast.d.ts.map +1 -1
  45. package/dist/types/ast.js +43 -36
  46. package/dist/types/ast.js.map +1 -1
  47. package/dist/types/bytecode.d.ts +106 -21
  48. package/dist/types/bytecode.d.ts.map +1 -1
  49. package/dist/types/bytecode.js +111 -23
  50. package/dist/types/bytecode.js.map +1 -1
  51. package/dist/types/cfg.d.ts +20 -0
  52. package/dist/types/cfg.d.ts.map +1 -0
  53. package/dist/types/cfg.js +3 -0
  54. package/dist/types/cfg.js.map +1 -0
  55. package/dist/types/index.d.ts +1 -0
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/index.js +1 -0
  58. package/dist/types/index.js.map +1 -1
  59. package/dist/vm/builtins.d.ts.map +1 -1
  60. package/dist/vm/builtins.js +23 -7
  61. package/dist/vm/builtins.js.map +1 -1
  62. package/dist/vm/callable.d.ts +6 -6
  63. package/dist/vm/callable.d.ts.map +1 -1
  64. package/dist/vm/callable.js +28 -7
  65. package/dist/vm/callable.js.map +1 -1
  66. package/dist/vm/execution-helpers.d.ts +17 -0
  67. package/dist/vm/execution-helpers.d.ts.map +1 -0
  68. package/dist/vm/execution-helpers.js +334 -0
  69. package/dist/vm/execution-helpers.js.map +1 -0
  70. package/dist/vm/execution.d.ts +4 -12
  71. package/dist/vm/execution.d.ts.map +1 -1
  72. package/dist/vm/execution.js +764 -255
  73. package/dist/vm/execution.js.map +1 -1
  74. package/dist/vm/expression-generator.d.ts +3 -1
  75. package/dist/vm/expression-generator.d.ts.map +1 -1
  76. package/dist/vm/expression-generator.js.map +1 -1
  77. package/dist/vm/expressions.d.ts +6 -6
  78. package/dist/vm/expressions.d.ts.map +1 -1
  79. package/dist/vm/expressions.js +29 -54
  80. package/dist/vm/expressions.js.map +1 -1
  81. package/dist/vm/imports.d.ts +4 -4
  82. package/dist/vm/imports.d.ts.map +1 -1
  83. package/dist/vm/imports.js.map +1 -1
  84. package/dist/vm/operations.d.ts +11 -10
  85. package/dist/vm/operations.d.ts.map +1 -1
  86. package/dist/vm/operations.js +83 -22
  87. package/dist/vm/operations.js.map +1 -1
  88. package/dist/vm/runtime-types.d.ts +64 -26
  89. package/dist/vm/runtime-types.d.ts.map +1 -1
  90. package/dist/vm/runtime-types.js +166 -19
  91. package/dist/vm/runtime-types.js.map +1 -1
  92. package/dist/vm/statements.d.ts +5 -5
  93. package/dist/vm/statements.d.ts.map +1 -1
  94. package/dist/vm/statements.js +95 -10
  95. package/dist/vm/statements.js.map +1 -1
  96. package/dist/vm/truthy.d.ts +2 -2
  97. package/dist/vm/truthy.d.ts.map +1 -1
  98. package/dist/vm/truthy.js +1 -1
  99. package/dist/vm/truthy.js.map +1 -1
  100. package/dist/vm/value-utils.d.ts +23 -25
  101. package/dist/vm/value-utils.d.ts.map +1 -1
  102. package/dist/vm/value-utils.js +216 -47
  103. package/dist/vm/value-utils.js.map +1 -1
  104. package/dist/vm/vm.d.ts +7 -3
  105. package/dist/vm/vm.d.ts.map +1 -1
  106. package/dist/vm/vm.js +3 -0
  107. package/dist/vm/vm.js.map +1 -1
  108. package/package.json +3 -3
  109. package/dist/compiler.d.ts +0 -20
  110. package/dist/compiler.d.ts.map +0 -1
  111. package/dist/compiler.js.map +0 -1
  112. package/dist/compiler_module/compiler.d.ts.map +0 -1
  113. package/dist/compiler_module/compiler.js +0 -22
  114. package/dist/compiler_module/compiler.js.map +0 -1
  115. package/dist/compiler_module/index.d.ts.map +0 -1
  116. package/dist/compiler_module/index.js.map +0 -1
  117. /package/dist/{compiler_module → compiler}/compiler.d.ts +0 -0
  118. /package/dist/{compiler_module → compiler}/index.d.ts +0 -0
  119. /package/dist/{compiler_module → compiler}/index.js +0 -0
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.PyFile = exports.PyDict = exports.PyGenerator = exports.PyInstance = exports.PyClass = exports.PyFunction = exports.Scope = exports.PyException = exports.ContinueSignal = exports.BreakSignal = exports.ReturnSignal = void 0;
36
+ exports.PyFile = exports.PySet = exports.PyDict = exports.PyGenerator = exports.PyInstance = exports.PyClass = exports.PyFunction = exports.Scope = exports.Frame = exports.PyException = exports.ContinueSignal = exports.BreakSignal = exports.ReturnSignal = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  class ReturnSignal {
39
39
  constructor(value) {
@@ -55,19 +55,47 @@ class PyException extends Error {
55
55
  }
56
56
  }
57
57
  exports.PyException = PyException;
58
+ class Frame {
59
+ constructor(bytecode, scope) {
60
+ this.stack = [];
61
+ this.pc = 0;
62
+ this.locals = [];
63
+ this.blockStack = [];
64
+ this.bytecode = bytecode;
65
+ this.scope = scope;
66
+ this.locals = new Array((bytecode.varnames || []).length).fill(undefined);
67
+ }
68
+ }
69
+ exports.Frame = Frame;
58
70
  class Scope {
59
- constructor(parent = null) {
71
+ constructor(parent = null, isClassScope = false) {
60
72
  this.values = new Map();
61
73
  this.globals = new Set();
62
74
  this.nonlocals = new Set();
75
+ this.locals = new Set();
76
+ this.isClassScope = false;
63
77
  this.parent = parent;
78
+ this.isClassScope = isClassScope;
64
79
  }
65
80
  get(name) {
66
81
  if (this.values.has(name)) {
67
82
  return this.values.get(name);
68
83
  }
69
- if (this.parent) {
70
- return this.parent.get(name);
84
+ if (this.locals.has(name)) {
85
+ throw new PyException('UnboundLocalError', `local variable '${name}' referenced before assignment`);
86
+ }
87
+ if (this.nonlocals.has(name) && this.parent) {
88
+ const scope = this.findScopeWith(name, true);
89
+ // If we found a scope, return the actual reference from its Map
90
+ if (scope)
91
+ return scope.values.get(name);
92
+ }
93
+ let p = this.parent;
94
+ while (p && p.isClassScope) {
95
+ p = p.parent;
96
+ }
97
+ if (p) {
98
+ return p.get(name);
71
99
  }
72
100
  throw new PyException('NameError', `name '${name}' is not defined`);
73
101
  }
@@ -77,27 +105,40 @@ class Scope {
77
105
  return;
78
106
  }
79
107
  if (this.nonlocals.has(name) && this.parent) {
80
- const scope = this.parent.findScopeWith(name);
108
+ const scope = this.findScopeWith(name, true);
81
109
  if (!scope) {
82
110
  throw new PyException('NameError', `no binding for nonlocal '${name}' found`);
83
111
  }
112
+ // Debug: log the scope chain
113
+ if (process.env['DEBUG_NONLOCAL']) {
114
+ console.log(`Setting nonlocal ${name} = ${value}`);
115
+ console.log(`Found scope:`, scope.values.has(name), scope.values.get(name));
116
+ }
84
117
  scope.values.set(name, value);
85
118
  return;
86
119
  }
87
120
  this.values.set(name, value);
88
121
  }
89
122
  root() {
90
- let scope = this;
91
- while (scope.parent) {
92
- scope = scope.parent;
123
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
124
+ let current = this;
125
+ while (current.parent) {
126
+ current = current.parent;
93
127
  }
94
- return scope;
128
+ return current;
95
129
  }
96
- findScopeWith(name) {
97
- let scope = this;
130
+ findScopeWith(name, skipBase = false) {
131
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
132
+ let scope = skipBase ? this.parent : this;
98
133
  while (scope) {
134
+ if (scope.isClassScope) {
135
+ scope = scope.parent;
136
+ continue;
137
+ }
99
138
  if (scope.values.has(name))
100
139
  return scope;
140
+ if (scope.locals.has(name))
141
+ return scope;
101
142
  scope = scope.parent;
102
143
  }
103
144
  return null;
@@ -105,12 +146,15 @@ class Scope {
105
146
  }
106
147
  exports.Scope = Scope;
107
148
  class PyFunction {
108
- constructor(name, params, body, closure, isGenerator) {
149
+ constructor(name, params, body, closure, isGenerator, localNames = new Set(), bytecode) {
109
150
  this.name = name;
110
151
  this.params = params;
111
152
  this.body = body;
112
153
  this.closure = closure;
113
154
  this.isGenerator = isGenerator;
155
+ this.localNames = localNames;
156
+ if (bytecode !== undefined)
157
+ this.bytecode = bytecode;
114
158
  }
115
159
  }
116
160
  exports.PyFunction = PyFunction;
@@ -148,6 +192,27 @@ class PyGenerator {
148
192
  }
149
193
  return result.value;
150
194
  }
195
+ throw(exc) {
196
+ const it = this.iterator;
197
+ if (exc instanceof PyClass && exc.isException) {
198
+ exc = new PyInstance(exc);
199
+ }
200
+ if (typeof it.throw !== 'function') {
201
+ throw new PyException('TypeError', 'object is not an iterator');
202
+ }
203
+ const result = it.throw(exc);
204
+ if (result.done) {
205
+ throw new PyException('StopIteration', 'StopIteration');
206
+ }
207
+ return result.value;
208
+ }
209
+ close() {
210
+ const it = this.iterator;
211
+ if (typeof it.return === 'function') {
212
+ it.return(null);
213
+ }
214
+ return null;
215
+ }
151
216
  [Symbol.iterator]() {
152
217
  return this.iterator;
153
218
  }
@@ -209,12 +274,15 @@ class PyDict {
209
274
  }
210
275
  }
211
276
  [Symbol.iterator]() {
212
- return this.entries();
277
+ return this.keys();
213
278
  }
214
279
  keyInfo(key) {
215
280
  const numeric = this.normalizeNumericKey(key);
216
281
  if (numeric !== null) {
217
- return { store: this.primitiveStore, id: `n:${String(numeric)}` };
282
+ if (typeof numeric === 'number' && Number.isNaN(numeric)) {
283
+ return { store: this.objectStore, id: key };
284
+ }
285
+ return { store: this.primitiveStore, id: `n:${numeric.toString()}` };
218
286
  }
219
287
  if (typeof key === 'string') {
220
288
  return { store: this.primitiveStore, id: `s:${key}` };
@@ -229,17 +297,96 @@ class PyDict {
229
297
  }
230
298
  normalizeNumericKey(key) {
231
299
  if (typeof key === 'boolean')
232
- return key ? 1 : 0;
300
+ return key ? 1n : 0n;
233
301
  if (typeof key === 'bigint')
234
302
  return key;
235
- if (typeof key === 'number')
236
- return key;
237
- if (key instanceof Number)
238
- return key.valueOf();
303
+ if (typeof key === 'number' || key instanceof Number) {
304
+ const v = key.valueOf();
305
+ if (Number.isFinite(v) && Number.isInteger(v))
306
+ return BigInt(v);
307
+ return v;
308
+ }
239
309
  return null;
240
310
  }
241
311
  }
242
312
  exports.PyDict = PyDict;
313
+ class PySet {
314
+ constructor(iterable) {
315
+ this.primitiveStore = new Map();
316
+ this.objectStore = new Map();
317
+ if (iterable) {
318
+ for (const item of iterable) {
319
+ this.add(item);
320
+ }
321
+ }
322
+ }
323
+ get size() {
324
+ return this.primitiveStore.size + this.objectStore.size;
325
+ }
326
+ add(value) {
327
+ const info = this.valueInfo(value);
328
+ if (!info.store.has(info.id)) {
329
+ info.store.set(info.id, value);
330
+ }
331
+ return this;
332
+ }
333
+ has(value) {
334
+ const info = this.valueInfo(value);
335
+ return info.store.has(info.id);
336
+ }
337
+ delete(value) {
338
+ const info = this.valueInfo(value);
339
+ return info.store.delete(info.id);
340
+ }
341
+ clear() {
342
+ this.primitiveStore.clear();
343
+ this.objectStore.clear();
344
+ }
345
+ *values() {
346
+ for (const value of this.primitiveStore.values()) {
347
+ yield value;
348
+ }
349
+ for (const value of this.objectStore.values()) {
350
+ yield value;
351
+ }
352
+ }
353
+ [Symbol.iterator]() {
354
+ return this.values();
355
+ }
356
+ valueInfo(value) {
357
+ const numeric = this.normalizeNumeric(value);
358
+ if (numeric !== null) {
359
+ if (typeof numeric === 'number' && Number.isNaN(numeric)) {
360
+ return { store: this.objectStore, id: value };
361
+ }
362
+ return { store: this.primitiveStore, id: `n:${numeric.toString()}` };
363
+ }
364
+ if (typeof value === 'string') {
365
+ return { store: this.primitiveStore, id: `s:${value}` };
366
+ }
367
+ if (value === null) {
368
+ return { store: this.primitiveStore, id: 'none' };
369
+ }
370
+ if (value === undefined) {
371
+ return { store: this.primitiveStore, id: 'undefined' };
372
+ }
373
+ return { store: this.objectStore, id: value };
374
+ }
375
+ normalizeNumeric(value) {
376
+ if (typeof value === 'boolean')
377
+ return value ? 1n : 0n;
378
+ if (typeof value === 'bigint')
379
+ return value;
380
+ if (typeof value === 'number' || value instanceof Number) {
381
+ const v = value.valueOf();
382
+ if (Number.isFinite(v) && Number.isInteger(v))
383
+ return BigInt(v);
384
+ return v;
385
+ }
386
+ return null;
387
+ }
388
+ }
389
+ exports.PySet = PySet;
243
390
  class PyFile {
244
391
  constructor(path, mode) {
245
392
  this.path = path;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-types.js","sourceRoot":"","sources":["../../src/vm/runtime-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-types.js","sourceRoot":"","sources":["../../src/vm/runtime-types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { VirtualMachine } from './vm';
2
- import { Scope } from './runtime-types';
3
- export declare function executeStatement(this: VirtualMachine, node: any, scope: Scope): any;
4
- export declare function assignTarget(this: VirtualMachine, target: any, value: any, scope: Scope): void;
5
- export declare function toIterableArray(this: VirtualMachine, value: any): any[];
6
- export declare function deleteTarget(this: VirtualMachine, target: any, scope: Scope): void;
2
+ import { PyValue, Scope } from './runtime-types';
3
+ export declare function executeStatement(this: VirtualMachine, node: PyValue, scope: Scope): PyValue;
4
+ export declare function assignTarget(this: VirtualMachine, target: PyValue, value: PyValue, scope: Scope): void;
5
+ export declare function toIterableArray(this: VirtualMachine, value: PyValue): PyValue[];
6
+ export declare function deleteTarget(this: VirtualMachine, target: PyValue, scope: Scope): void;
7
7
  //# sourceMappingURL=statements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/vm/statements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAA2F,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGjI,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,CAqNnF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,QAqFvF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,CAMvE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,QA0C3E"}
1
+ {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/vm/statements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,OAAO,EAA2F,KAAK,EAAU,MAAM,iBAAiB,CAAC;AAGlJ,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAgS3F;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,QAwF/F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAM/E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,QA6C/E"}
@@ -6,7 +6,7 @@ exports.toIterableArray = toIterableArray;
6
6
  exports.deleteTarget = deleteTarget;
7
7
  const types_1 = require("../types");
8
8
  const runtime_types_1 = require("./runtime-types");
9
- const runtime_types_2 = require("./runtime-types");
9
+ const value_utils_1 = require("./value-utils");
10
10
  function executeStatement(node, scope) {
11
11
  switch (node.type) {
12
12
  case types_1.ASTNodeType.EXPRESSION_STATEMENT:
@@ -27,10 +27,80 @@ function executeStatement(node, scope) {
27
27
  return null;
28
28
  }
29
29
  case types_1.ASTNodeType.AUG_ASSIGNMENT: {
30
- const current = this.evaluateExpression(node.target, scope);
31
- const value = this.evaluateExpression(node.value, scope);
32
- const result = this.applyBinary(node.operator.slice(0, -1), current, value);
33
- this.assignTarget(node.target, result, scope);
30
+ const target = node.target;
31
+ let current;
32
+ let obj;
33
+ let index;
34
+ if (target.type === types_1.ASTNodeType.IDENTIFIER) {
35
+ current = scope.get(target.name);
36
+ const value = this.evaluateExpression(node.value, scope);
37
+ const result = this.applyInPlaceBinary(node.operator, current, value);
38
+ scope.set(target.name, result);
39
+ }
40
+ else if (target.type === types_1.ASTNodeType.ATTRIBUTE) {
41
+ obj = this.evaluateExpression(target.object, scope);
42
+ current = this.getAttribute(obj, target.name, scope);
43
+ const value = this.evaluateExpression(node.value, scope);
44
+ const result = this.applyInPlaceBinary(node.operator, current, value);
45
+ this.setAttribute(obj, target.name, result);
46
+ }
47
+ else if (target.type === types_1.ASTNodeType.SUBSCRIPT) {
48
+ obj = this.evaluateExpression(target.object, scope);
49
+ if (target.index && target.index.type === types_1.ASTNodeType.SLICE) {
50
+ index = {
51
+ type: types_1.ASTNodeType.SLICE,
52
+ start: target.index.start ? this.evaluateExpression(target.index.start, scope) : null,
53
+ end: target.index.end ? this.evaluateExpression(target.index.end, scope) : null,
54
+ step: target.index.step ? this.evaluateExpression(target.index.step, scope) : null,
55
+ };
56
+ current = this.getSubscript(obj, index);
57
+ }
58
+ else {
59
+ index = this.evaluateExpression(target.index, scope);
60
+ current = this.getSubscript(obj, index);
61
+ }
62
+ const value = this.evaluateExpression(node.value, scope);
63
+ const result = this.applyInPlaceBinary(node.operator, current, value);
64
+ if (Array.isArray(obj)) {
65
+ if (obj.__tuple__) {
66
+ throw new runtime_types_1.PyException('TypeError', "'tuple' object does not support item assignment");
67
+ }
68
+ if (index && index.type === types_1.ASTNodeType.SLICE) {
69
+ const start = index.start !== null ? index.start : null;
70
+ const end = index.end !== null ? index.end : null;
71
+ const step = index.step !== null ? index.step : null;
72
+ const stepValue = step !== null && step !== undefined ? step : 1;
73
+ const values = this.toIterableArray(result);
74
+ if (stepValue === 1) {
75
+ const bounds = this.computeSliceBounds(obj.length, start, end, stepValue);
76
+ obj.splice(bounds.start, bounds.end - bounds.start, ...values);
77
+ }
78
+ else {
79
+ const indices = this.computeSliceIndices(obj.length, start, end, stepValue);
80
+ if (values.length !== indices.length) {
81
+ throw new runtime_types_1.PyException('ValueError', `attempt to assign sequence of size ${values.length} to extended slice of size ${indices.length}`);
82
+ }
83
+ for (let i = 0; i < indices.length; i++) {
84
+ obj[indices[i]] = values[i];
85
+ }
86
+ }
87
+ }
88
+ else {
89
+ obj[index] = result;
90
+ }
91
+ }
92
+ else if (obj instanceof runtime_types_1.PyDict) {
93
+ obj.set(index, result);
94
+ }
95
+ else {
96
+ // For other types, we might need a general setItem
97
+ // But based on assignTarget, it only supports Array and PyDict
98
+ throw new runtime_types_1.PyException('TypeError', 'unsupported subscript assignment');
99
+ }
100
+ }
101
+ else {
102
+ throw new runtime_types_1.PyException('TypeError', 'illegal expression for augmented assignment');
103
+ }
34
104
  return null;
35
105
  }
36
106
  case types_1.ASTNodeType.IF_STATEMENT: {
@@ -104,7 +174,14 @@ function executeStatement(node, scope) {
104
174
  }
105
175
  return param;
106
176
  });
107
- const fn = new runtime_types_1.PyFunction(node.name, params, node.body, scope, this.containsYield(node.body));
177
+ const closure = scope.isClassScope ? scope.parent : scope;
178
+ const localNames = (0, value_utils_1.findLocalVariables)(node.body);
179
+ // Parameters are also local
180
+ for (const p of node.params || []) {
181
+ if (p.name)
182
+ localNames.add(p.name);
183
+ }
184
+ const fn = new runtime_types_1.PyFunction(node.name, params, node.body, closure, this.containsYield(node.body), localNames);
108
185
  scope.set(node.name, fn);
109
186
  if (node.decorators && node.decorators.length > 0) {
110
187
  let decorated = fn;
@@ -118,7 +195,7 @@ function executeStatement(node, scope) {
118
195
  }
119
196
  case types_1.ASTNodeType.CLASS_DEF: {
120
197
  const bases = node.bases?.map((b) => this.evaluateExpression(b, scope)) || [];
121
- const classScope = new runtime_types_1.Scope(scope);
198
+ const classScope = new runtime_types_1.Scope(scope, true);
122
199
  this.executeBlock(node.body, classScope);
123
200
  const attributes = new Map(classScope.values.entries());
124
201
  const isException = bases.some((b) => b instanceof runtime_types_1.PyClass && b.isException);
@@ -164,10 +241,12 @@ function executeStatement(node, scope) {
164
241
  throw new runtime_types_1.PyException('Exception', exc ? String(exc) : 'Exception');
165
242
  }
166
243
  case types_1.ASTNodeType.TRY_STATEMENT: {
244
+ let raised = false;
167
245
  try {
168
246
  this.executeBlock(node.body, scope);
169
247
  }
170
248
  catch (err) {
249
+ raised = true;
171
250
  let handled = false;
172
251
  for (const handler of node.handlers) {
173
252
  if (!handler.exceptionType) {
@@ -198,7 +277,7 @@ function executeStatement(node, scope) {
198
277
  this.executeBlock(node.finalbody, scope);
199
278
  }
200
279
  }
201
- if (node.orelse?.length) {
280
+ if (!raised && node.orelse?.length) {
202
281
  this.executeBlock(node.orelse, scope);
203
282
  }
204
283
  return null;
@@ -263,6 +342,9 @@ function assignTarget(target, value, scope) {
263
342
  index = this.evaluateExpression(target.index, scope);
264
343
  }
265
344
  if (Array.isArray(obj)) {
345
+ if (obj.__tuple__) {
346
+ throw new runtime_types_1.PyException('TypeError', "'tuple' object does not support item assignment");
347
+ }
266
348
  if (index && index.type === types_1.ASTNodeType.SLICE) {
267
349
  const start = index.start !== null ? index.start : null;
268
350
  const end = index.end !== null ? index.end : null;
@@ -288,7 +370,7 @@ function assignTarget(target, value, scope) {
288
370
  }
289
371
  return;
290
372
  }
291
- if (obj instanceof runtime_types_2.PyDict) {
373
+ if (obj instanceof runtime_types_1.PyDict) {
292
374
  obj.set(index, value);
293
375
  return;
294
376
  }
@@ -348,6 +430,9 @@ function deleteTarget(target, scope) {
348
430
  index = this.evaluateExpression(target.index, scope);
349
431
  }
350
432
  if (Array.isArray(obj)) {
433
+ if (obj.__tuple__) {
434
+ throw new runtime_types_1.PyException('TypeError', "'tuple' object does not support item assignment");
435
+ }
351
436
  if (index && index.type === types_1.ASTNodeType.SLICE) {
352
437
  const start = index.start !== null ? index.start : null;
353
438
  const end = index.end !== null ? index.end : null;
@@ -370,7 +455,7 @@ function deleteTarget(target, scope) {
370
455
  }
371
456
  return;
372
457
  }
373
- if (obj instanceof runtime_types_2.PyDict) {
458
+ if (obj instanceof runtime_types_1.PyDict) {
374
459
  obj.delete(index);
375
460
  return;
376
461
  }
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/vm/statements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/vm/statements.ts"],"names":[],"mappings":";;AAKA,4CAgSC;AAED,oCAwFC;AAED,0CAMC;AAED,oCA6CC;AArbD,oCAAuC;AACvC,mDAAkJ;AAClJ,+CAAmD;AAEnD,SAAgB,gBAAgB,CAAuB,IAAa,EAAE,KAAY;IAChF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,mBAAW,CAAC,oBAAoB;YACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzD,KAAK,mBAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,cAAc,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,OAAgB,CAAC;YACrB,IAAI,GAAY,CAAC;YACjB,IAAI,KAAc,CAAC;YAEnB,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,UAAU,EAAE,CAAC;gBAC3C,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,SAAS,EAAE,CAAC;gBACjD,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACpD,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,SAAS,EAAE,CAAC;gBACjD,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,EAAE,CAAC;oBAC5D,KAAK,GAAG;wBACN,IAAI,EAAE,mBAAW,CAAC,KAAK;wBACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;wBACrF,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC/E,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;qBACnF,CAAC;oBACF,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACrD,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAK,GAAe,CAAC,SAAS,EAAE,CAAC;wBAC/B,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;oBACxF,CAAC;oBACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,EAAE,CAAC;wBAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;wBACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;wBAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACrD,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC5C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;4BACpB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;4BAC1E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;wBACjE,CAAC;6BAAM,CAAC;4BACN,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;4BAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gCACrC,MAAM,IAAI,2BAAW,CACnB,YAAY,EACZ,sCAAsC,MAAM,CAAC,MAAM,8BAA8B,OAAO,CAAC,MAAM,EAAE,CAClG,CAAC;4BACJ,CAAC;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACxC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;oBACtB,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,YAAY,sBAAM,EAAE,CAAC;oBACjC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,mDAAmD;oBACnD,+DAA+D;oBAC/D,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,6CAA6C,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;oBACtE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,2BAAW;wBAAE,MAAM;oBACtC,IAAI,GAAG,YAAY,8BAAc;wBAAE,SAAS;oBAC5C,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,aAAa,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,2BAAW;wBAAE,MAAM;oBACtC,IAAI,GAAG,YAAY,8BAAc;wBAAE,SAAS;oBAC5C,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,SAAS;gBAC9B,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,IAAI,qBAAK,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC;wBAAE,SAAS;gBACjG,CAAC;gBACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACjD,OAAO,EAAE,GAAG,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5F,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAE,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,MAAM,UAAU,GAAG,IAAA,gCAAkB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,4BAA4B;YAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,CAAC,IAAI;oBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,0BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YAC5G,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,SAAS,GAAY,EAAE,CAAC;gBAC5B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;oBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACxD,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACvF,MAAM,UAAU,GAAG,IAAI,qBAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,YAAY,uBAAO,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,IAAI,uBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACrE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,SAAS,GAAY,KAAK,CAAC;gBAC/B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;oBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACxD,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,gBAAgB;YAC/B,MAAM,IAAI,4BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzF,KAAK,mBAAW,CAAC,eAAe;YAC9B,MAAM,IAAI,2BAAW,EAAE,CAAC;QAC1B,KAAK,mBAAW,CAAC,kBAAkB;YACjC,MAAM,IAAI,8BAAc,EAAE,CAAC;QAC7B,KAAK,mBAAW,CAAC,cAAc;YAC7B,OAAO,IAAI,CAAC;QACd,KAAK,mBAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACjG,MAAM,IAAI,2BAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,eAAe,CAAC,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,IAAI,GAAG,YAAY,2BAAW;gBAAE,MAAM,GAAG,CAAC;YAC1C,IAAI,GAAG,YAAY,0BAAU,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,IAAI,2BAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,GAAG,YAAY,uBAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,IAAI,2BAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,mBAAW,CAAC,aAAa,CAAC,CAAC,CAAC;YAC/B,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC3B,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;yBAAM,IAAI,GAAG,YAAY,2BAAW,EAAE,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBACvE,IAAI,QAAQ,YAAY,uBAAO,IAAI,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACxF,OAAO,GAAG,IAAI,CAAC;wBACjB,CAAC;6BAAM,IAAI,QAAQ,YAAY,0BAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC9G,OAAO,GAAG,IAAI,CAAC;wBACjB,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;4BACjB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,YAAY,2BAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,2BAAW,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxG,CAAC;wBACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACvC,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,OAAO;oBAAE,MAAM,GAAG,CAAC;YAC1B,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,cAAc,CAAC,CAAC,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBACtC,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,mBAAW,CAAC,gBAAgB;YAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,KAAK,mBAAW,CAAC,kBAAkB;YACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,KAAK,mBAAW,CAAC,gBAAgB;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAAuB,MAAe,EAAE,KAAc,EAAE,KAAY;IAC9F,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,UAAU,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAc,CAAC;QACnB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,EAAE,CAAC;YAC5D,KAAK,GAAG;gBACN,IAAI,EAAE,mBAAW,CAAC,KAAK;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACrF,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/E,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;aACnF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAK,GAAe,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC1E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;wBACrC,MAAM,IAAI,2BAAW,CACnB,YAAY,EACZ,sCAAsC,MAAM,CAAC,MAAM,8BAA8B,OAAO,CAAC,MAAM,EAAE,CAClG,CAAC;oBACJ,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACxC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,YAAY,sBAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,YAAY,EAAE,CAAC;QAC1F,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,mBAAW,CAAC,OAAO,CAAC,CAAC;QACvF,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,CAAC;QAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;QACpD,IAAI,WAAW,CAAC,MAAM,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;YACnD,MAAM,IAAI,2BAAW,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,eAAe,CAAuB,KAAc;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,YAAY,CAAuB,MAAe,EAAE,KAAY;IAC9E,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAW,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAc,CAAC;QACnB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,EAAE,CAAC;YAC5D,KAAK,GAAG;gBACN,IAAI,EAAE,mBAAW,CAAC,KAAK;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBACrF,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/E,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;aACnF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAK,GAAe,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAW,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrD,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC1E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,YAAY,sBAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;AAClE,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { VirtualMachine } from './vm';
2
- import { Scope } from './runtime-types';
3
- export declare function isTruthy(this: VirtualMachine, value: any, scope: Scope): boolean;
2
+ import { PyValue, Scope } from './runtime-types';
3
+ export declare function isTruthy(this: VirtualMachine, value: PyValue, scope: Scope): boolean;
4
4
  //# sourceMappingURL=truthy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"truthy.d.ts","sourceRoot":"","sources":["../../src/vm/truthy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAmC,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGzE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CA+BhF"}
1
+ {"version":3,"file":"truthy.d.ts","sourceRoot":"","sources":["../../src/vm/truthy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,OAAO,EAA0C,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGzF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CA+BpF"}
package/dist/vm/truthy.js CHANGED
@@ -20,7 +20,7 @@ function isTruthy(value, scope) {
20
20
  return value.length > 0;
21
21
  if (value instanceof runtime_types_1.PyDict)
22
22
  return value.size > 0;
23
- if (value instanceof Set)
23
+ if (value instanceof runtime_types_1.PySet)
24
24
  return value.size > 0;
25
25
  if (value instanceof runtime_types_1.PyInstance) {
26
26
  const boolAttr = this.findClassAttribute(value.klass, '__bool__');
@@ -1 +1 @@
1
- {"version":3,"file":"truthy.js","sourceRoot":"","sources":["../../src/vm/truthy.ts"],"names":[],"mappings":";;AAIA,4BA+BC;AAlCD,mDAAyE;AACzE,+CAAwD;AAExD,SAAgB,QAAQ,CAAuB,KAAU,EAAE,KAAY;IACrE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,EAAE,CAAC;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,YAAY,sBAAM;QAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChD,IAAI,KAAK,YAAY,0BAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,IAAI,CAAC,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAA,sBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"truthy.js","sourceRoot":"","sources":["../../src/vm/truthy.ts"],"names":[],"mappings":";;AAIA,4BA+BC;AAlCD,mDAAyF;AACzF,+CAAwD;AAExD,SAAgB,QAAQ,CAAuB,KAAc,EAAE,KAAY;IACzE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,YAAY,MAAM;QAAE,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,KAAK,EAAE,CAAC;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,YAAY,sBAAM;QAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,YAAY,qBAAK;QAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,YAAY,0BAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,IAAI,CAAC,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,2BAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAA,sBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}