@modular-circuit/transpiler 0.0.58

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 (150) hide show
  1. package/LICENSE +21 -0
  2. package/build/builder/graph_to_kicad/do_convert_graph_to_kicad_project.d.ts +3 -0
  3. package/build/builder/graph_to_kicad/do_convert_graph_to_kicad_project.d.ts.map +1 -0
  4. package/build/builder/graph_to_kicad/do_convert_graph_to_kicad_project.js +113 -0
  5. package/build/builder/graph_to_kicad/index.d.ts +3 -0
  6. package/build/builder/graph_to_kicad/index.d.ts.map +1 -0
  7. package/build/builder/graph_to_kicad/index.js +63 -0
  8. package/build/builder/index.d.ts +2 -0
  9. package/build/builder/index.d.ts.map +1 -0
  10. package/build/builder/index.js +1 -0
  11. package/build/converter/graph_to_netlist/context.d.ts +13 -0
  12. package/build/converter/graph_to_netlist/context.d.ts.map +1 -0
  13. package/build/converter/graph_to_netlist/context.js +0 -0
  14. package/build/converter/graph_to_netlist/graph_converter.d.ts +8 -0
  15. package/build/converter/graph_to_netlist/graph_converter.d.ts.map +1 -0
  16. package/build/converter/graph_to_netlist/graph_converter.js +192 -0
  17. package/build/converter/graph_to_netlist/index.d.ts +3 -0
  18. package/build/converter/graph_to_netlist/index.d.ts.map +1 -0
  19. package/build/converter/graph_to_netlist/index.js +2 -0
  20. package/build/converter/index.d.ts +4 -0
  21. package/build/converter/index.d.ts.map +1 -0
  22. package/build/converter/index.js +3 -0
  23. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/index.d.ts +2 -0
  24. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/index.d.ts.map +1 -0
  25. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/index.js +5 -0
  26. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.d.ts +2 -0
  27. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.d.ts.map +1 -0
  28. package/build/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.js +1 -0
  29. package/build/converter/kicad_sexpr/eeschema/index.d.ts +3 -0
  30. package/build/converter/kicad_sexpr/eeschema/index.d.ts.map +1 -0
  31. package/build/converter/kicad_sexpr/eeschema/index.js +2 -0
  32. package/build/converter/kicad_sexpr/eeschema/printer.d.ts +37 -0
  33. package/build/converter/kicad_sexpr/eeschema/printer.d.ts.map +1 -0
  34. package/build/converter/kicad_sexpr/eeschema/printer.js +287 -0
  35. package/build/converter/kicad_sexpr/index.d.ts +3 -0
  36. package/build/converter/kicad_sexpr/index.d.ts.map +1 -0
  37. package/build/converter/kicad_sexpr/index.js +2 -0
  38. package/build/converter/kicad_sexpr/pcb/index.d.ts +2 -0
  39. package/build/converter/kicad_sexpr/pcb/index.d.ts.map +1 -0
  40. package/build/converter/kicad_sexpr/pcb/index.js +1 -0
  41. package/build/converter/link_to_netlist/context.d.ts +12 -0
  42. package/build/converter/link_to_netlist/context.d.ts.map +1 -0
  43. package/build/converter/link_to_netlist/context.js +0 -0
  44. package/build/converter/link_to_netlist/converter.d.ts +13 -0
  45. package/build/converter/link_to_netlist/converter.d.ts.map +1 -0
  46. package/build/converter/link_to_netlist/converter.js +154 -0
  47. package/build/converter/link_to_netlist/index.d.ts +3 -0
  48. package/build/converter/link_to_netlist/index.d.ts.map +1 -0
  49. package/build/converter/link_to_netlist/index.js +2 -0
  50. package/build/converter/link_to_netlist/links/converter_base.d.ts +30 -0
  51. package/build/converter/link_to_netlist/links/converter_base.d.ts.map +1 -0
  52. package/build/converter/link_to_netlist/links/converter_base.js +154 -0
  53. package/build/converter/link_to_netlist/links/converters.d.ts +51 -0
  54. package/build/converter/link_to_netlist/links/converters.d.ts.map +1 -0
  55. package/build/converter/link_to_netlist/links/converters.js +1190 -0
  56. package/build/converter/link_to_netlist/links/index.d.ts +3 -0
  57. package/build/converter/link_to_netlist/links/index.d.ts.map +1 -0
  58. package/build/converter/link_to_netlist/links/index.js +2 -0
  59. package/build/converter/netlist_to_kicad/context.d.ts +10 -0
  60. package/build/converter/netlist_to_kicad/context.d.ts.map +1 -0
  61. package/build/converter/netlist_to_kicad/context.js +0 -0
  62. package/build/converter/netlist_to_kicad/index.d.ts +4 -0
  63. package/build/converter/netlist_to_kicad/index.d.ts.map +1 -0
  64. package/build/converter/netlist_to_kicad/index.js +3 -0
  65. package/build/converter/netlist_to_kicad/layout.d.ts +13 -0
  66. package/build/converter/netlist_to_kicad/layout.d.ts.map +1 -0
  67. package/build/converter/netlist_to_kicad/layout.js +44 -0
  68. package/build/converter/netlist_to_kicad/netlist_converter.d.ts +26 -0
  69. package/build/converter/netlist_to_kicad/netlist_converter.d.ts.map +1 -0
  70. package/build/converter/netlist_to_kicad/netlist_converter.js +237 -0
  71. package/build/index.d.ts +6 -0
  72. package/build/index.d.ts.map +1 -0
  73. package/build/index.js +5 -0
  74. package/build/kicad/constraints/index.d.ts +5 -0
  75. package/build/kicad/constraints/index.d.ts.map +1 -0
  76. package/build/kicad/constraints/index.js +4 -0
  77. package/build/kicad/index.d.ts +1 -0
  78. package/build/kicad/index.d.ts.map +1 -0
  79. package/build/kicad/index.js +1 -0
  80. package/build/kicad/label/index.d.ts +3 -0
  81. package/build/kicad/label/index.d.ts.map +1 -0
  82. package/build/kicad/label/index.js +2 -0
  83. package/build/kicad/label/net_label.d.ts +4 -0
  84. package/build/kicad/label/net_label.d.ts.map +1 -0
  85. package/build/kicad/label/net_label.js +14 -0
  86. package/build/kicad/label/sheet_pin.d.ts +5 -0
  87. package/build/kicad/label/sheet_pin.d.ts.map +1 -0
  88. package/build/kicad/label/sheet_pin.js +25 -0
  89. package/build/kicad/project/index.d.ts +3 -0
  90. package/build/kicad/project/index.d.ts.map +1 -0
  91. package/build/kicad/project/index.js +2 -0
  92. package/build/kicad/project/kicad_prl.d.ts +48 -0
  93. package/build/kicad/project/kicad_prl.d.ts.map +1 -0
  94. package/build/kicad/project/kicad_prl.js +50 -0
  95. package/build/kicad/project/kicad_pro.d.ts +176 -0
  96. package/build/kicad/project/kicad_pro.d.ts.map +1 -0
  97. package/build/kicad/project/kicad_pro.js +224 -0
  98. package/build/kicad/project/kicad_project_achieve.d.ts +237 -0
  99. package/build/kicad/project/kicad_project_achieve.d.ts.map +1 -0
  100. package/build/kicad/project/kicad_project_achieve.js +53 -0
  101. package/build/kicad/project/wildcards_and_files_ext.d.ts +62 -0
  102. package/build/kicad/project/wildcards_and_files_ext.d.ts.map +1 -0
  103. package/build/kicad/project/wildcards_and_files_ext.js +61 -0
  104. package/build/kicad/sheet/index.d.ts +2 -0
  105. package/build/kicad/sheet/index.d.ts.map +1 -0
  106. package/build/kicad/sheet/index.js +1 -0
  107. package/build/kicad/sheet/sheet.d.ts +8 -0
  108. package/build/kicad/sheet/sheet.d.ts.map +1 -0
  109. package/build/kicad/sheet/sheet.js +44 -0
  110. package/build/kicad/symbols/index.d.ts +3 -0
  111. package/build/kicad/symbols/index.d.ts.map +1 -0
  112. package/build/kicad/symbols/index.js +2 -0
  113. package/build/kicad/symbols/lib_symbol/gnd.d.ts +3 -0
  114. package/build/kicad/symbols/lib_symbol/gnd.d.ts.map +1 -0
  115. package/build/kicad/symbols/lib_symbol/gnd.js +121 -0
  116. package/build/kicad/symbols/lib_symbol/index.d.ts +3 -0
  117. package/build/kicad/symbols/lib_symbol/index.d.ts.map +1 -0
  118. package/build/kicad/symbols/lib_symbol/index.js +2 -0
  119. package/build/kicad/symbols/lib_symbol/vcc.d.ts +3 -0
  120. package/build/kicad/symbols/lib_symbol/vcc.d.ts.map +1 -0
  121. package/build/kicad/symbols/lib_symbol/vcc.js +119 -0
  122. package/build/kicad/symbols/sch_symbol/gnd.d.ts +4 -0
  123. package/build/kicad/symbols/sch_symbol/gnd.d.ts.map +1 -0
  124. package/build/kicad/symbols/sch_symbol/gnd.js +66 -0
  125. package/build/kicad/symbols/sch_symbol/index.d.ts +3 -0
  126. package/build/kicad/symbols/sch_symbol/index.d.ts.map +1 -0
  127. package/build/kicad/symbols/sch_symbol/index.js +2 -0
  128. package/build/kicad/symbols/sch_symbol/vcc.d.ts +4 -0
  129. package/build/kicad/symbols/sch_symbol/vcc.d.ts.map +1 -0
  130. package/build/kicad/symbols/sch_symbol/vcc.js +66 -0
  131. package/build/kicad/symbols/symbol_utils.d.ts +2 -0
  132. package/build/kicad/symbols/symbol_utils.d.ts.map +1 -0
  133. package/build/kicad/symbols/symbol_utils.js +1 -0
  134. package/build/tsconfig.build.tsbuildinfo +1 -0
  135. package/build/utils/collect_sub_sheets.d.ts +7 -0
  136. package/build/utils/collect_sub_sheets.d.ts.map +1 -0
  137. package/build/utils/collect_sub_sheets.js +150 -0
  138. package/build/utils/constraints.d.ts +11 -0
  139. package/build/utils/constraints.d.ts.map +1 -0
  140. package/build/utils/constraints.js +17 -0
  141. package/build/utils/filter_null_undefined.d.ts +2 -0
  142. package/build/utils/filter_null_undefined.d.ts.map +1 -0
  143. package/build/utils/filter_null_undefined.js +39 -0
  144. package/build/utils/index.d.ts +5 -0
  145. package/build/utils/index.d.ts.map +1 -0
  146. package/build/utils/index.js +4 -0
  147. package/build/utils/string_formatter.d.ts +14 -0
  148. package/build/utils/string_formatter.d.ts.map +1 -0
  149. package/build/utils/string_formatter.js +35 -0
  150. package/package.json +42 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022-current Alberto Schiabel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,3 @@
1
+ import { type ConnectionGraphMap, type ConvertGraphToKiCadInput } from '../../converter';
2
+ export declare function do_convert_graph_to_kicad_project(ctx: ConvertGraphToKiCadInput & ConnectionGraphMap): Promise<Blob>;
3
+ //# sourceMappingURL=do_convert_graph_to_kicad_project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"do_convert_graph_to_kicad_project.d.ts","sourceRoot":"","sources":["../../../src/builder/graph_to_kicad/do_convert_graph_to_kicad_project.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAG9B,MAAM,iBAAiB,CAAA;AAKxB,wBAAsB,iCAAiC,CAAC,GAAG,EAAE,wBAAwB,GAAG,kBAAkB,iBA0BzG"}
@@ -0,0 +1,113 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __values = (this && this.__values) || function(o) {
49
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
50
+ if (m) return m.call(o);
51
+ if (o && typeof o.length === "number") return {
52
+ next: function () {
53
+ if (o && i >= o.length) o = void 0;
54
+ return { value: o && o[i++], done: !o };
55
+ }
56
+ };
57
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
58
+ };
59
+ var __read = (this && this.__read) || function (o, n) {
60
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
61
+ if (!m) return o;
62
+ var i = m.call(o), r, ar = [], e;
63
+ try {
64
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
65
+ }
66
+ catch (error) { e = { error: error }; }
67
+ finally {
68
+ try {
69
+ if (r && !r.done && (m = i["return"])) m.call(i);
70
+ }
71
+ finally { if (e) throw e.error; }
72
+ }
73
+ return ar;
74
+ };
75
+ import { MODULAR_CIRCUIT_SCH_EXT } from '@modular-circuit/ir';
76
+ import { GraphConverter, SCHEMATIC_PRINTER, } from '../../converter';
77
+ import { NetListConverter } from '../../converter/netlist_to_kicad';
78
+ import { KiCadProjectAchieve, KiCadSchematicFileExtension } from '../../kicad/project';
79
+ import { collect_sub_sheets } from '../../utils/collect_sub_sheets';
80
+ export function do_convert_graph_to_kicad_project(ctx) {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var sheets, netlist, converted_sheets, sexpr_printer, _a, _b, _c, k, v, kicad_project;
83
+ var e_1, _d;
84
+ return __generator(this, function (_e) {
85
+ switch (_e.label) {
86
+ case 0: return [4 /*yield*/, collect_sub_sheets(ctx.project.dependencies, ctx.module_resolver)];
87
+ case 1:
88
+ sheets = (_e.sent()).sheets;
89
+ netlist = new GraphConverter(__assign({}, ctx)).convert_to_netlist();
90
+ converted_sheets = new NetListConverter(__assign(__assign({}, ctx), { netlist: netlist })).convert_to_kicad();
91
+ sexpr_printer = new SCHEMATIC_PRINTER();
92
+ try {
93
+ for (_a = __values(Object.entries(converted_sheets)), _b = _a.next(); !_b.done; _b = _a.next()) {
94
+ _c = __read(_b.value, 2), k = _c[0], v = _c[1];
95
+ if (k in sheets) {
96
+ console.error("Duplicated sheet file name found ".concat(k));
97
+ }
98
+ sheets[k.replace(MODULAR_CIRCUIT_SCH_EXT, KiCadSchematicFileExtension)] = sexpr_printer.schematic(v);
99
+ }
100
+ }
101
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
102
+ finally {
103
+ try {
104
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
105
+ }
106
+ finally { if (e_1) throw e_1.error; }
107
+ }
108
+ kicad_project = new KiCadProjectAchieve(ctx.project.name, __assign({}, sheets));
109
+ return [2 /*return*/, kicad_project.toZip()];
110
+ }
111
+ });
112
+ });
113
+ }
@@ -0,0 +1,3 @@
1
+ import type { ConvertGraphToKiCadInput } from '../../converter';
2
+ export declare function convert_graph_to_kicad_project(ctx: ConvertGraphToKiCadInput): Promise<Blob>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/builder/graph_to_kicad/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAG/D,wBAAsB,8BAA8B,CAAC,GAAG,EAAE,wBAAwB,iBAKjF"}
@@ -0,0 +1,63 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { build_connection_graph } from '@modular-circuit/perc';
49
+ import { do_convert_graph_to_kicad_project } from './do_convert_graph_to_kicad_project';
50
+ export function convert_graph_to_kicad_project(ctx) {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var _a, _b;
53
+ return __generator(this, function (_c) {
54
+ switch (_c.label) {
55
+ case 0:
56
+ _a = do_convert_graph_to_kicad_project;
57
+ _b = [__assign({}, ctx)];
58
+ return [4 /*yield*/, build_connection_graph(__assign(__assign({}, ctx), { dependencies: ctx.project.dependencies }))];
59
+ case 1: return [2 /*return*/, _a.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.sent())]))])];
60
+ }
61
+ });
62
+ });
63
+ }
@@ -0,0 +1,2 @@
1
+ export { convert_graph_to_kicad_project } from './graph_to_kicad';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1 @@
1
+ export { convert_graph_to_kicad_project } from './graph_to_kicad';
@@ -0,0 +1,13 @@
1
+ import type { ConnectionGraph } from '@modular-circuit/electronics-model';
2
+ import type { IR_Graph, Project } from '@modular-circuit/ir';
3
+ import type { CG_SCHEMATIC, CONNECTION_GRAPH_BUILDER_CTX } from '@modular-circuit/perc';
4
+ export interface ConvertGraphToKiCadInput extends Omit<CONNECTION_GRAPH_BUILDER_CTX, 'dependencies'> {
5
+ project: Project;
6
+ schematics: Record<string, IR_Graph>;
7
+ }
8
+ export interface ConnectionGraphMap {
9
+ connection_graph: ConnectionGraph;
10
+ cg_schematics: Record<string, CG_SCHEMATIC>;
11
+ }
12
+ export type ConvertGraphToKiCadContext = ConvertGraphToKiCadInput & ConnectionGraphMap;
13
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/converter/graph_to_netlist/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAEvF,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,4BAA4B,EAAE,cAAc,CAAC;IAClG,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,eAAe,CAAA;IACjC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAC5C;AAED,MAAM,MAAM,0BAA0B,GAAG,wBAAwB,GAAG,kBAAkB,CAAA"}
File without changes
@@ -0,0 +1,8 @@
1
+ import { type NL_NetList } from '@modular-circuit/electronics-model';
2
+ import type { ConvertGraphToKiCadContext } from './context';
3
+ export declare class GraphConverter {
4
+ private ctx;
5
+ constructor(ctx: ConvertGraphToKiCadContext);
6
+ convert_to_netlist(): NL_NetList;
7
+ }
8
+ //# sourceMappingURL=graph_converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph_converter.d.ts","sourceRoot":"","sources":["../../../src/converter/graph_to_netlist/graph_converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAIhB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAE3D,qBAAa,cAAc;IACN,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,0BAA0B;IAEnD,kBAAkB,IAAI,UAAU;CA4ExC"}
@@ -0,0 +1,192 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __values = (this && this.__values) || function(o) {
13
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
14
+ if (m) return m.call(o);
15
+ if (o && typeof o.length === "number") return {
16
+ next: function () {
17
+ if (o && i >= o.length) o = void 0;
18
+ return { value: o && o[i++], done: !o };
19
+ }
20
+ };
21
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
22
+ };
23
+ var __read = (this && this.__read) || function (o, n) {
24
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
25
+ if (!m) return o;
26
+ var i = m.call(o), r, ar = [], e;
27
+ try {
28
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
29
+ }
30
+ catch (error) { e = { error: error }; }
31
+ finally {
32
+ try {
33
+ if (r && !r.done && (m = i["return"])) m.call(i);
34
+ }
35
+ finally { if (e) throw e.error; }
36
+ }
37
+ return ar;
38
+ };
39
+ import { ConnectionNodeType, } from '@modular-circuit/electronics-model';
40
+ import { LINK_CONVERTER } from '../link_to_netlist';
41
+ var GraphConverter = /** @class */ (function () {
42
+ function GraphConverter(ctx) {
43
+ this.ctx = ctx;
44
+ }
45
+ GraphConverter.prototype.convert_to_netlist = function () {
46
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h;
47
+ var pin_count = 0;
48
+ var nl_netlist = {
49
+ nets: [],
50
+ schematics: {},
51
+ };
52
+ var pin_map = {};
53
+ var port_map = new Map();
54
+ var pin_shapes = {};
55
+ try {
56
+ for (var _j = __values(this.ctx.connection_graph.subgraphs), _k = _j.next(); !_k.done; _k = _j.next()) {
57
+ var sub = _k.value;
58
+ try {
59
+ for (var _l = (e_2 = void 0, __values(sub.nodes)), _m = _l.next(); !_m.done; _m = _l.next()) {
60
+ var node = _m.value;
61
+ if (node.type === ConnectionNodeType.Port) {
62
+ var port_id = node.uuid;
63
+ port_map.set(node.param, port_id);
64
+ try {
65
+ for (var _o = (e_3 = void 0, __values(Object.entries(node.label_shapes))), _p = _o.next(); !_p.done; _p = _o.next()) {
66
+ var _q = __read(_p.value, 2), label_name = _q[0], shape = _q[1];
67
+ var pin_id = "pin-".concat(++pin_count);
68
+ pin_shapes[pin_id] = shape;
69
+ if (!(port_id in pin_map)) {
70
+ pin_map[port_id] = {};
71
+ }
72
+ pin_map[port_id][label_name] = pin_id;
73
+ }
74
+ }
75
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
76
+ finally {
77
+ try {
78
+ if (_p && !_p.done && (_c = _o.return)) _c.call(_o);
79
+ }
80
+ finally { if (e_3) throw e_3.error; }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
86
+ finally {
87
+ try {
88
+ if (_m && !_m.done && (_b = _l.return)) _b.call(_l);
89
+ }
90
+ finally { if (e_2) throw e_2.error; }
91
+ }
92
+ }
93
+ }
94
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
95
+ finally {
96
+ try {
97
+ if (_k && !_k.done && (_a = _j.return)) _a.call(_j);
98
+ }
99
+ finally { if (e_1) throw e_1.error; }
100
+ }
101
+ try {
102
+ for (var _r = __values(Object.entries(this.ctx.cg_schematics)), _s = _r.next(); !_s.done; _s = _r.next()) {
103
+ var _t = __read(_s.value, 2), filename = _t[0], sch = _t[1];
104
+ var uuid = sch.uuid, powers = sch.powers, sheets = sch.sheets;
105
+ var sheet_symbols = [];
106
+ try {
107
+ for (var sheets_1 = (e_5 = void 0, __values(sheets)), sheets_1_1 = sheets_1.next(); !sheets_1_1.done; sheets_1_1 = sheets_1.next()) {
108
+ var sheet = sheets_1_1.value;
109
+ var pins = [];
110
+ try {
111
+ for (var _u = (e_6 = void 0, __values(sheet.ports)), _v = _u.next(); !_v.done; _v = _u.next()) {
112
+ var port_id = _v.value;
113
+ if (!(port_id in pin_map)) {
114
+ console.error("Port ".concat(port_id, " not found in pin_map"));
115
+ continue;
116
+ }
117
+ try {
118
+ for (var _w = (e_7 = void 0, __values(Object.entries(pin_map[port_id]))), _x = _w.next(); !_x.done; _x = _w.next()) {
119
+ var _y = __read(_x.value, 2), label_name = _y[0], pin_id = _y[1];
120
+ pins.push({
121
+ uuid: pin_id,
122
+ name: label_name,
123
+ shape: pin_shapes[pin_id],
124
+ });
125
+ }
126
+ }
127
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
128
+ finally {
129
+ try {
130
+ if (_x && !_x.done && (_g = _w.return)) _g.call(_w);
131
+ }
132
+ finally { if (e_7) throw e_7.error; }
133
+ }
134
+ }
135
+ }
136
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
137
+ finally {
138
+ try {
139
+ if (_v && !_v.done && (_f = _u.return)) _f.call(_u);
140
+ }
141
+ finally { if (e_6) throw e_6.error; }
142
+ }
143
+ sheet_symbols.push(__assign(__assign({}, sheet), { pins: pins }));
144
+ }
145
+ }
146
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
147
+ finally {
148
+ try {
149
+ if (sheets_1_1 && !sheets_1_1.done && (_e = sheets_1.return)) _e.call(sheets_1);
150
+ }
151
+ finally { if (e_5) throw e_5.error; }
152
+ }
153
+ nl_netlist.schematics[filename] = {
154
+ uuid: uuid,
155
+ filename: filename,
156
+ powers: powers,
157
+ sheet_symbols: sheet_symbols,
158
+ hiera_labels: [],
159
+ };
160
+ }
161
+ }
162
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
163
+ finally {
164
+ try {
165
+ if (_s && !_s.done && (_d = _r.return)) _d.call(_r);
166
+ }
167
+ finally { if (e_4) throw e_4.error; }
168
+ }
169
+ var link_converter = new LINK_CONVERTER({
170
+ pin_map: pin_map,
171
+ nl_netlist: nl_netlist,
172
+ port_map: port_map,
173
+ net_names_count: new Map(),
174
+ });
175
+ try {
176
+ for (var _z = __values(this.ctx.connection_graph.subgraphs), _0 = _z.next(); !_0.done; _0 = _z.next()) {
177
+ var sub = _0.value;
178
+ link_converter.visit_cc(sub);
179
+ }
180
+ }
181
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
182
+ finally {
183
+ try {
184
+ if (_0 && !_0.done && (_h = _z.return)) _h.call(_z);
185
+ }
186
+ finally { if (e_8) throw e_8.error; }
187
+ }
188
+ return nl_netlist;
189
+ };
190
+ return GraphConverter;
191
+ }());
192
+ export { GraphConverter };
@@ -0,0 +1,3 @@
1
+ export * from './graph_converter';
2
+ export * from './context';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/converter/graph_to_netlist/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './graph_converter';
2
+ export * from './context';
@@ -0,0 +1,4 @@
1
+ export * from './kicad_sexpr';
2
+ export * from './graph_to_netlist';
3
+ export * from './netlist_to_kicad';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './kicad_sexpr';
2
+ export * from './graph_to_netlist';
3
+ export * from './netlist_to_kicad';
@@ -0,0 +1,2 @@
1
+ export declare function get_sch_default_drawing_sheet(): string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/converter/kicad_sexpr/eeschema/drawing_sheet/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,6BAA6B,WAE5C"}
@@ -0,0 +1,5 @@
1
+ import { Base64 } from 'js-base64';
2
+ import { BASE_64_ENCODED_SCH_DEFAULT_DRAWING_SHEET } from './sch_default_drawing_sheet';
3
+ export function get_sch_default_drawing_sheet() {
4
+ return Base64.decode(BASE_64_ENCODED_SCH_DEFAULT_DRAWING_SHEET);
5
+ }
@@ -0,0 +1,2 @@
1
+ export declare const BASE_64_ENCODED_SCH_DEFAULT_DRAWING_SHEET = "KGtpY2FkX3drcwoJKHZlcnNpb24gMjAyMzExMTgpCgkoZ2VuZXJhdG9yICJwbF9lZGl0b3IiKQoJKGdlbmVyYXRvcl92ZXJzaW9uICI4LjAiKQoJKHNldHVwCgkJKHRleHRzaXplIDEuNSAxLjUpCgkJKGxpbmV3aWR0aCAwLjE1KQoJCSh0ZXh0bGluZXdpZHRoIDAuMTUpCgkJKGxlZnRfbWFyZ2luIDEwKQoJCShyaWdodF9tYXJnaW4gMTApCgkJKHRvcF9tYXJnaW4gMTApCgkJKGJvdHRvbV9tYXJnaW4gMTApCgkpCgkocmVjdAoJCShuYW1lICIiKQoJCShzdGFydCAxMzUuNjY5IDM0LjI3MjIpCgkJKGVuZCAyIDIuMDAwMikKCQkoY29tbWVudCAicmVjdCBhcm91bmQgdGhlIHRpdGxlIGJsb2NrIikKCSkKCShyZWN0CgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDAgMCBsdGNvcm5lcikKCQkoZW5kIDAgMCkKCQkocmVwZWF0IDIpCgkJKGluY3J4IDIpCgkJKGluY3J5IDIpCgkpCgkobGluZQoJCShuYW1lICIiKQoJCShzdGFydCA1MCAyIGx0Y29ybmVyKQoJCShlbmQgNTAgMCBsdGNvcm5lcikKCQkocmVwZWF0IDMwKQoJCShpbmNyeCA1MCkKCSkKCSh0YnRleHQgIjEiCgkJKG5hbWUgIiIpCgkJKHBvcyAyNSAxIGx0Y29ybmVyKQoJCShmb250CgkJCShzaXplIDEuMyAxLjMpCgkJKQoJCShyZXBlYXQgMTAwKQoJCShpbmNyeCA1MCkKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDUwIDIgbGJjb3JuZXIpCgkJKGVuZCA1MCAwIGxiY29ybmVyKQoJCShyZXBlYXQgMzApCgkJKGluY3J4IDUwKQoJKQoJKHRidGV4dCAiMSIKCQkobmFtZSAiIikKCQkocG9zIDI1IDEgbGJjb3JuZXIpCgkJKGZvbnQKCQkJKHNpemUgMS4zIDEuMykKCQkpCgkJKHJlcGVhdCAxMDApCgkJKGluY3J4IDUwKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMCA1MCBsdGNvcm5lcikKCQkoZW5kIDIgNTAgbHRjb3JuZXIpCgkJKHJlcGVhdCAzMCkKCQkoaW5jcnkgNTApCgkpCgkodGJ0ZXh0ICJBIgoJCShuYW1lICIiKQoJCShwb3MgMSAyNSBsdGNvcm5lcikKCQkoZm9udAoJCQkoc2l6ZSAxLjMgMS4zKQoJCSkKCQkoanVzdGlmeSBjZW50ZXIpCgkJKHJlcGVhdCAxMDApCgkJKGluY3J5IDUwKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMCA1MCBydGNvcm5lcikKCQkoZW5kIDIgNTAgcnRjb3JuZXIpCgkJKHJlcGVhdCAzMCkKCQkoaW5jcnkgNTApCgkpCgkodGJ0ZXh0ICJBIgoJCShuYW1lICIiKQoJCShwb3MgMSAyNSBydGNvcm5lcikKCQkoZm9udAoJCQkoc2l6ZSAxLjMgMS4zKQoJCSkKCQkoanVzdGlmeSBjZW50ZXIpCgkJKHJlcGVhdCAxMDApCgkJKGluY3J5IDUwKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMTM1LjY2OSAyOS4xOTIpCgkJKGVuZCA0OS4zMDkgMjkuMTkyKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMTM1LjY2OSAyNC4xMTIpCgkJKGVuZCA0OS4zMDkgMjQuMTEyKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMTM1LjY2OSAxOS4wMzIpCgkJKGVuZCAyIDE5LjAzMikKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDQ5LjMwOSAzNC4yNzIyKQoJCShlbmQgNDkuMzA5IDE5LjAzMjIpCgkpCgkodGJ0ZXh0ICJEb2N1bWVudCBOYW1lOiIKCQkobmFtZSAiIikKCQkocG9zIDEzNC4zOTkgMzEuNzMyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKSBib2xkKQoJKQoJKHRidGV4dCAiJHtUSVRMRX0iCgkJKG5hbWUgIiIpCgkJKHBvcyAxMTYuNjk5IDMxLjczMjIpCgkJKGZvbnQKCQkJKGZhY2UgIkFyaWFsIikKCQkpCgkpCgkodGJ0ZXh0ICJQcm9qZWN0IE5hbWU6IgoJCShuYW1lICIiKQoJCShwb3MgMTM0LjM5OSAyNi42NTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke0NPTU1FTlQzfSIKCQkobmFtZSAiIikKCQkocG9zIDExOS42OTkgMjYuNjUyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCSh0YnRleHQgIlNoZWV0IE5hbWU6IgoJCShuYW1lICIiKQoJCShwb3MgMTM0LjM5OSAyMS41NzIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke0ZJTEVOQU1FfSIKCQkobmFtZSAiIikKCQkocG9zIDEyMS4wOTkgMjEuNTcyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDEzNS42NjkgMTMuOTUyKQoJCShlbmQgMiAxMy45NTIpCgkpCgkodGJ0ZXh0ICJBdXRob3I6IgoJCShuYW1lICIiKQoJCShwb3MgMTM0LjM5OSAxNi40OTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke0NPTU1FTlQyfSIKCQkobmFtZSAiIikKCQkocG9zIDEyNi4xOTkgMTYuNDkyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDEzNS42NjkgOC44NzIpCgkJKGVuZCAyIDguODcyKQoJKQoJKHRidGV4dCAiRGF0ZToiCgkJKG5hbWUgIiIpCgkJKHBvcyA0OC4wMzkgMTEuNDEyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKSBib2xkKQoJKQoJKHRidGV4dCAiJHtJU1NVRV9EQVRFfSIKCQkobmFtZSAiIikKCQkocG9zIDQyLjEzOSAxMS40MTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpCgkJKQoJKQoJKHRidGV4dCAiU2hlZXQgTnVtYmVyOiIKCQkobmFtZSAiIikKCQkocG9zIDEzNC4zOTkgMTEuNDEyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKSBib2xkKQoJKQoJKHRidGV4dCAiJHsjfSBvZiAkeyMjfSIKCQkobmFtZSAiIikKCQkocG9zIDExOC42OTkgMTEuNDEyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCSh0YnRleHQgIlJldmlzaW9uOiIKCQkobmFtZSAiIikKCQkocG9zIDg3LjQwOSAxMS40MTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke1JFVklTSU9OfSIKCQkobmFtZSAiIikKCQkocG9zIDc3LjIwOSAxMS40MTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpCgkJKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgNDkuMzA5IDEzLjk1MjIpCgkJKGVuZCA0OS4zMDkgOC44NzIyKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgODguNjc5IDEzLjk1MjIpCgkJKGVuZCA4OC42NzkgOC44NzIyKQoJKQoJKHRidGV4dCAiTW9kdWxhciBDaXJjdWl0IERlc2lnbiBTdHVkaW8gZGVzaWducyBhcmUgbWFjaGluZS1nZW5lcmF0ZWQgZHJhZnRzIGFuZCByZXF1aXJlIHZlcmlmaWNhdGlvbiBieSBxdWFsaWZpZWQgc3BlY2lhbGlzdHMuIFxuQnkgdXNpbmcgdGhlc2UgZGVzaWducywgeW91IGFncmVlIHRvIHRoZSBlZGEuY24gVGVybXMgb2YgVXNlOiAke0NPTU1FTlQxfSIKCQkobmFtZSAiIikKCQkocG9zIDEzNC4zOTkgNi4zMzIpCgkJKGZvbnQKCQkJKGZhY2UgIkFyaWFsIikKCQkpCgkpCgkoYml0bWFwCgkJKG5hbWUgIiIpCgkJKHBvcyAyNS40MDggMjYuOTA2KQoJCShzY2FsZSAwLjc1ODA2NDUxNjEpCgkJKGRhdGEgImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFJNEFBQUF5Q0FZQUFBQ0s5ZU1HQUFBQUNYQklXWE1BQUE3REFBQU93d0hIYjZoa0FBQUEiCgkJCSJHWFJGV0hSVGIyWjBkMkZ5WlFCM2QzY3VhVzVyYzJOaGNHVXViM0pubSs0OEdnQUFFRUJKUkVGVWVKenRuWG1jVk5XVng3Ky9WKzlWIgoJCQkiSXlJRUJISDdtQmhsSERmOFJCcG5rb3hMM0dmVWNaMDJ4R1Zzc0xzS25lQVN0OEc0a01SdEpDUXFoSDdkOE1HNEQrNUxOSTY0eHkxMiIKCQkJImswR05ZK0lXTUFoK1JDR3lTSGRWdlROL3ZOZnQ2K3JhZXFOUitINCs5YUhlZmZlZWM2dnJjTis1NTU1N1MyWkdNVnFrbllEamdYOEIiCgkJCSJkZ1oyQUFZWGJkQzN0QUhMZ1NVR1R4bzhNTjdzZnplUWJpUnQ3Y0UzT3BYQitsYXpQK2JWRytuQjErTmxHVmhtWmg5dWdHNjI5eUVKIgoJCQkialBKZ2xNRzJCbHRtemU0dDE4NlZUbkJnWkx3c0EvZVoyWXF5T2dzWnppSnBod3hjTHBnSXVOMzREUDJLWUVFQUYxV2IvYUcvZFhuUyIKCQkJIkU4Q2hlY1dYWjh4K0dpOUlTdlVHZmw2OWFSbXpLMHZKbDdTbG1hMHQxdzlKUTEyWWFqRFVnU0VHV3dGRGdPSFJ2OXRFNytOOG1ESGIiCgkJCSJvWnhzVDJvR3huWFNCOVZ0WmkzbDJuWXhpb1hTa1FaM0NZYVZhN3loTVRoVThHcUxkT2s0cyt2NlM0OHJuYTQ4b3hGOGtJR2Y5MWEyIgoJCQkicENFdVhKQ0EweVh0Wm1hWk1rMkdBQmNMS1A1czJQQTQ4WXRtS1dYd0NCdWgwY1JJQU5jdWxHN3FEK0dTdGhaTXp5OFA0SHd6VzljTCIKCQkJInVYS2wwMTE0QjdoQ3NITWlkQU8rbEhRWXprTHBDTUZNd2k5bW84ZmdQMXFrYy9wU3BpVEhoVnVCVVhtM2ZwTTF1NmVuY2ozcFFCZCsiCgkJCSJML2cxTUxwREgwenBxY3dDL0E1NHdHQXU4S3VZN2g5NTBvZnRyNlIwYzRWOVBpemV6cE1XeHUrN0FDM1NTT0F1TmlKL3BrS210MGhQIgoJCQkialRON3ZTK0V1ZkFUNEovemlsZGs0Y3lleUt1U3hnWndEZUhrb2dzRzIwc2FabVovS3lIbU0rQWl3YWNCckJTc0JLWUIrOGNyWmN6MiIKCQkJIkw5ZzY5SW0yaStuY3VwSytHd3hTckYwKzdZWnlPZkMxU2dSdVpMakExY0F4dlJZa0hTK1ltbDl1a0RLejVkMlJaYkJUVXJyVjRBZmsiCgkJCSJ1UU1SYTRGcmN2QnpNMXRmVXBiWkd1RDZlSmtubmRlZC92UUg3dXZTY0NCVnBwNFpQTzdBVTBDcC94MTlob0VyMk5WZ0FyQnRpYXBIIgoJCQkidnlydE9UNXZtdHdkWE9rb3dSMkE4bTQ5bXpXN3I3dnlCTFZGSEZrVDNKT0JDODFzY2ZkN3V2SGd0c0xSZ21TSk9xc05UcWcyVzdEQiIKCQkJImVoWGpOZW15VE9oM0ZIVWtFM0FzMENQRGlZem1IbUJRZ2R1ZjlVUm1FWjRITG00emU2a1BaUTRZanVESVVoVUVadzJVMFFDTU5WdTciCgkJCSJPaHp5M3lwUjdmQ2V5RTVLWndydXA3RFJsRVRTSUZjNnpTQmRwdXFUd0VFWnN3TXlYeEdqZ2RCSDJLbkUvZVg3aGtQNGdIS1EyZnFXIgoJCQkiY1BvOXE5QjlLLzBadWlCcEt3OW1HNXpTelhZSkZ3NDBPTW1GNzlNMThCYm5NZUJuR2JNWHU2TWpuNlIwZGdCajQyVU9qTTEvRkNhbCIKCQkJIitlM3ZEZDdMbUYzU0c3M2xjSUh0Uzl4L0hiT2dQenRRS1FhTDhoMlFHRVc5LzN3a0RVbkFRb05kdTZOL2tEVEdoUmVBVVNYNkVlcUEiCgkJCSJ1amF6T2QyUlh3eURJNVRuL0JmeW53eitMWFpaTnZMYlcxeEtETk1HWFR6K0Z1a3lZTDhpOWQrcE5xdkk0MitXSmloOEJGVWt4NEgxIgoJCQkiSlNLbkZUOXF6R3hOVW1vdVlEaC9BbllyMWk2QW9YU043eFNyKzFHeGU0T2tYYkt3Yjd3c0J3K1pXV3Nsc3Z1WUxyNnRRVlVsRFhzUyIKCQkJInQ5a1BPTHJRRGNIQ1F1VkYySzJQNUhTYkRKem5odkdhWVFBR2pRN01NK2l1RC9JbThCZUt4R2tLa1lOVEZNWmgyc2tDVzNSVGI1OGciCgkJCSJHRmJnUCtOV2xiUXRGR1A0eW1ObXk2TXZiNDNCcVZtekZGQnV6YWlkVDZMbzdQNFpzejBGRDNaTE4reVlkLzJCbVdXTDFVL0ErWUpxIgoJCQkiUWJYQmFVV3FyVFNvYVg4QkZmazNGbzZpK1dVVkxUZDkyU0xGZlVZR2JxcUNoOWFidlZ0aC9hVXVISjZGcDB0OTBSRkZINTNLYzNRRiIKCQkJIjc1Y1N0TjdzbmZiM1NlbmJSUjdYbjJmTjdpN1RwODc5Q0JkYnV4aUo4bEpFaXJISkdrNzA1VmRrTkZIOTVZVDVRWlZ3blNmdFFXY2YiCgkJCSJNU0hZRy9pSFRuTERSMTJsRkZ0V1FOSWdEMzVnY0h3V1RqU3p0bEtDUE5qTHVnWThFZXhaU1VjMldjUHBLd0pZbS8vWFY1ajBkbVYrIgoJCQkiM1VLamhlRC9LdEVUTGNBZVZPVDIxaTU4WUZGU2xnZG5BSTJSL0llQmpxUXlnL2FJOWQ2RkJGazBJdVpna1JkYlVRakNaWklPTmh0TyIKCQkJIkw4bkJNeTZzcGtLbk1vL1dSQmlBTElzTEJ4SW1iUldpaXM2em9Vc2wzV3htYlZGU1ZxSHArY0ZGWkkyVk5OTE1saEFaWHlFMlNlZTQiCgkJCSJMekd6cFlTencyYkNHVklsdEFLTERHb3E5YkVpcDdjVXkySjFkNHBHbllKSXFyTGlNOEZFQW80bzE1L05JMDRQU0VxM0dld2VLL280IgoJCQkiWXphK3YvUkpjbDA0TVZhVW8ydmUxQnpnc3RqMTFQWlJKMTllWkJoZFpsUWQrdUE0NFBaU2ZlcHJ3OW1sUlhxNGtvcUN2K3RqM2IwaSIKCQkJIkE0dTl2Q3lCbUQ5QVh2bnVkQTdpTFN0VXI2OUloT3VKOGVEalM4QS94ZXNJSGpHb0pacnVHM3c5N3V2azFmMVJHWlhIU3RvaEdrMEwiCgkJCSIwdGVHTTR3aVFiMk5uU2l6ditnemZTQVJUSTVkZmdZOFI1N2hFSTVDYzRFclltV1g1bzg2bnZRZDRJQzh0bGs2MjRMbndpVEN4TGFDIgoJCQkiYkpLUHFxUTB6bnFYL0pXL05yYVZKMTNaQzNuUFpNeWVLWFJEMGpmY3poa01DeWdTck14Q2t3dVhFbjJ2Qm04QUk0akNDTkhNN1BvQyIKCQkJIlRYOUNPTnJHZDBiOFVOSU54YklUTjBuRElkd1Nja1haV3BVenBBL2tQVk9vMEEzVE5qb21NWUxmRk1zR01MT2xYdWdxRENYY3l0TnAiCgkJCSJaZDZES1FiZnlXdTJPZ3MzdWVEUjJVY2E2Y0tGd0k4TDZkbzhxOXFJVVppZEdjLzN5V1hnMFZKdHNuQjZ4dXpRZktPcGtzWWEvS3hBIgoJCQkia3lZelc1V0ZKc0xIWFp6ekpCV01KRzgybkkwWUY4Nmw4N0xBRStYeW42TWM1VTVJR3BtREI0QXQ4MjZ0eThJdm9uWWZDUEozZnc1MiIKCQkJIllaNmtMbmF5cVQ2cVd1aThRdDFkNnVuczU2eWhkNXYxbmlsVXFIQkJ0UU9EZWQwVkhLMUozVThZemM3bkNqUDdhL3VGQTFOellScHUiCgkJCSJQSmo0UFE5K0NOd1FiOWpYaHJPQ0NpT2hoSDdHdm1WcjlRTWxvcWtWNFVuSDBObHdWcGZiOHRzVDJzeHU5S1R0Q0ZlN2wwYWpSc1ZJIgoJCQkiMnRJTmx4enlaMkFBaTdKNXhyRGU3RjFQdXBIUXQrbkE0SHBQV2hSMzRQdmFjSmFNTTZ1dnBHS3pkS1VHeUhDK1RHUmhhaUxNT3Z4eiIKCQkJInVZWExPSkpHdVdIS3g3Y0xpUlhVRnRwK25JV3JYRGlkMk1aQlFzZDV2cVQ5ek93dnNObkgyZWd4TTh0Qk9sc2szN29RVmRKZUNYaUYiCgkJCSJ3a2FENEp5MklnYzNSTlB2TStpNkpqdktoZjlST0FKdU5wd3ZBMmFXcmVSa2kzWUNhRkJobndaZ2VwdlpyNHJjQXlCajlsdnlIbU1SIgoJCQkiWTF4NFF0S296WWJ6RmNRSm5mZENCeVRjbDRXTEs1R1JEZjJxUWltOG81S3d6V2JEK1FyU2F2YW00UHk4NG51emNJcFZ1R3ZGekZxeiIKCQkJImNJdzZyOWQ5NU1BaHJXWi8zR3c0WDFIYXpIeUZCMGtBM0ppRm1uTDcxUE14c3c4VnBsOThLdmdnQWZ1M21yMEJtMjRjcDdjOFJ5eXIiCgkJCSJUdkRKQnRiL082RFR3VktaQW1tdEdUakxnd1Z0Wm5ON3FxalY3TTJrZEZRQ1B2cmNyQ00vK2t0ak9EbFlxdkJrcXM4RW93MzJJY3dyIgoJCQkiMlZCbkVuYVFxWER2V0QvcVgwQzQyRmtTTTF0SnVHTGVLOXJNWHM0djY0bmgvTDdZRFF0UG02cVVQeEdlL2xXUm5QRmhxUDIvNG1VdCIKCQkJIjBqREJoUVlYZFVQdlp2cUNabmk3R2F6UTYxVjR6TXpZV0Y3eklmRWlqSGdhM0hqNXEvRGRnZTVic1ZjcWxUcTFQK1hYMTlkN0EvRzUiCgkJCSJISXM5cS9OUk4vZFg5eGV2U3VOYnBFZStDV3VUOE1sV3NLNUZlcnhaK2k1QXRka0xBOTNIWWxnL0huSUpJT25KZERxOVIzL3FLSVJUIgoJCQkiWmtQWXJzM1NRUnVxTTRWWUtKM3FoSnY5aitLTHhUY1BPRnp3YkxNMGFlQjZOL0FrazhuREdob2EzdXlOakZRcTVhVlNxVzRkR0twWCIKCQkJIjRmdUNPMHZVV1d4d2NMWFplNzNwWEU5b2tmWW0zRDFRNnVDbmpNRysxZEUwc1J3MU5UV0o0Y09IdjlEVzFuYmt2SG56VnRYWDEvOHIiCgkJCSJjR2hqWStNVWdQcjYranNrdlM5cGNVTkRRMk5OVFUxaXhJZ1JUNXZaSWI3dloxS3AxSm5BanBKMmIyaG9PQmtnblU3L01naUMrWTJOIgoJCQkialMvVzFkWHQ3RGpPTk4vM1R3ZElwVkxMQ0JPLzY4M3NOYy96VG1wcmF4dmpPTTRCdnU5ZkZlazhSOUkydnU5ZldsZFhOemFSU013MCIKCQkJInN6Rm05clNrZi9kOVAxTmZYejhldU1weG5CSEFUNE1nT0xLeHNYRnlLcFZxY2h6bmhpQUlqZzJDNExtbXBxYm5JNzBQQmtGd1ExTlQiCgkJCSIwMVB0bjcyK3Z2NElTVk9Cb1daMmUyTmo0L1IwT24yeW1jMG1uR1Fzek9WeUUrYk1tYk00bFVyZEd1bS9BRmdzNlJJenU1WXdwM21LIgoJCQkicS9BY2w4OHB2dkg5NjRLRnpkS3NCRHhsc0txU0w2aW5HS3dhOThXV2tZc3BiVFFBWHBSOFhWdUovUG56NStmUzZYUkxWVlhWaWNCYyIKCQkJIlNST0EvVk9wMUNXZTUyMGhhVmRKMXdWQjBBZzBEaDgrL0FBejIwZlNZY0NqWm5aS01wazhJNVBKUERWcDBxVHRYZGY5R0RndU90MzgiCgkJCSJSVWtuU29vblVXMExMSzJxcXRxeHRiWDEwbXcyZTBFaWtYald6RHF5K0tLRXJaSFIrMm96TzlmMy9ZV3BWR3FHbWRWTW1qVHBJZGQxIgoJCQkicHdNbkRoNDhlTzJhTld0dWNSeW5mVWxoZERhYnJYSWNaNmRFSXZHMW1Nd2RFb2xFUi81Tk9wM2VSOUpjNEVUUDg5N0paRExuMU5YViIKCQkJImpYVWM1MnJDck1BbFFGTWlrV2dFanBDMHU2VDMxcTFiTjM3dzRNRjNBVE9BWTRJZytNZEVJakhOR1dmMk4wRzVNNE9IQ2FZR3NNQ2ciCgkJCSJ1WjlmVjhYMEhsS0pNVkI4YzFsQmNybmNyV1kyb2JhMmRoQ3dsNlFHTXp1NnJhM3RXRE9iMzlEUXNFaFNWVHFkSGlQcEpFbG5tOW1FIgoJCQkidXJxNjBaSnM1c3laaTRFN1hkZXRrWFFJWWZaY2RTcVY4aVFkNjdwdWZCLzNDdC8zZjNIampUZCtGZ1RCL2NDWVVuM0xack1QU3pvbyIKCQkJIm5VNy8wc3kyQm5ieFBPOElTWS82dnI5aXhvd1puMHNxbWtSZWdsUE5iSjd2KzYvTW5EbnpFOS8zTDNjYzV6Qko5L20rLzVidisrc2MiCgkJCSJ4NWtPSERabHlwU2gwZC9wNWx0dXVXV3RtZjNXekY2TzZqeHZaanM3QUI1Y1M1aExzekVRWDJNcGRlSlZuTkhscTN4QlUxUFR5OEIyIgoJCQkibnVkTkJCN01ack8zU2pwWjBnbEJFTFIvNmJjR1FUQWhDSUl4RFEwTnQwbmExWEdjVXhXZGZDWHAxNFNuY3AwUUJNRWRoTmw1WndBciIKCQkJIlo4NmNHUThJeGxNaE1vUS9neEFRQzRXWVdRSmcyclJwanVkNVR3SnZPbzR6RzFnUlpkOGx6S3pjR1VEV0xpZTZjUE51dGtwYW5WZjIiCgkJCSJlUkFFUTlxdmM3bmNXaURudW00R0lBaUMxdWl6WnFLKzQvdCtCbkFjZ0wzTlZncE95UHVRQTRJNkc4c0hGVGI3YS9rcVhiaGQwaldTIgoJCQkiN3Bnelo4NWl3aFROcXVnOXJ1dmVMdWxjU1FzQXpPeCs0RDh0T2lpN29hSGhiU0F3c3gyYm1wcmVsM1M3cE9sbTl0OFRKMDRjTlhIaSIKCQkJInhGS0hNTDBMakt1dHJSMTA5dGxuYnl2cEpJQWxTNVpzQ1F6OTlOTlBueG85ZXZTN2tzWUFKQktKWjRIYSt2cjZBeWRQbnJ5Tm1SVTYiCgkJCSJHUHh0b29TdHVycTZnNEU5QU00Ly8vd3R6anJyckc4NmpuT1hwSnBVS2pXc3RyWjJVRHFkbmlicEVVa0hUWjQ4ZWE5VUtqVVl1TWpNIgoJCQkiWnMrWU1lUHpjbis4anJXcWZjMmVOemlMcmduTEc1cjQxTEtpakRmQlF6M1FjeHZ3UlB1TXhNem1FVXZObkRWcjFuTGdidGQxN3dSdyIKCQkJIlhmZE9NN3ZiOS8yT2tkbk1acG5aN1FDUm5NYzh6M3ZRODd5VFhOYzlEa0RTa3BqT2RjQzd2dSsvQmR5YlRDYmZ5MmF6VDVyWlRjQ1MiCgkJCSJ1WFBucmdadUdqNTgrRXZMbGkxN0dWaHRaaXVqdmt5VmRFY1FCSzlMaXVmU3ZBdXNjMTNYQi80K2xVb3RkeHpuUXVEcVhDNjNhdlhxIgoJCQkiMWRYWmJQYmMyYk5udnhFRXdTWEFYWjduTFFEVytiNi9STkpwWm5ZRDhJcmpPR3RXclZwMVh2VFpsaWFUeVN4QUVBUWZTNHFIYlY3ciIKCQkJIjh1c3g3VDhDd2dEK25vTURlMzdMN00wL1NLTUNlSTNTNXh4L0hNRFk4ZDA4eFByTHpLUkprN2IzUE8raGhvYUc2b0hxUTVmVjhYM0QiCgkJCSJKSjdkS2J4ZFlvTVFSSHVVdm1YMmNiUTV2dGhXMUk4TWp0NlVqR1pqb1dCYXhUaXpaZVBNNm9Nd2kyd0s4RGp3WndvbkIvVUhOZTJCIgoJCQkidmVpM3FmWTArSEYwUnQ5N3dNdUNLOXRnajJxem9tdG5YMVdHRFJ1Mk1ucnNEQmovRDJLVHp6ZGJvdlp5QUFBQUFFbEZUa1N1UW1DQyIKCQkpCgkpCikK";
2
+ //# sourceMappingURL=sch_default_drawing_sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sch_default_drawing_sheet.d.ts","sourceRoot":"","sources":["../../../../../src/converter/kicad_sexpr/eeschema/drawing_sheet/sch_default_drawing_sheet.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yCAAyC,6hZACs+Y,CAAA"}
@@ -0,0 +1 @@
1
+ export var BASE_64_ENCODED_SCH_DEFAULT_DRAWING_SHEET = 'KGtpY2FkX3drcwoJKHZlcnNpb24gMjAyMzExMTgpCgkoZ2VuZXJhdG9yICJwbF9lZGl0b3IiKQoJKGdlbmVyYXRvcl92ZXJzaW9uICI4LjAiKQoJKHNldHVwCgkJKHRleHRzaXplIDEuNSAxLjUpCgkJKGxpbmV3aWR0aCAwLjE1KQoJCSh0ZXh0bGluZXdpZHRoIDAuMTUpCgkJKGxlZnRfbWFyZ2luIDEwKQoJCShyaWdodF9tYXJnaW4gMTApCgkJKHRvcF9tYXJnaW4gMTApCgkJKGJvdHRvbV9tYXJnaW4gMTApCgkpCgkocmVjdAoJCShuYW1lICIiKQoJCShzdGFydCAxMzUuNjY5IDM0LjI3MjIpCgkJKGVuZCAyIDIuMDAwMikKCQkoY29tbWVudCAicmVjdCBhcm91bmQgdGhlIHRpdGxlIGJsb2NrIikKCSkKCShyZWN0CgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDAgMCBsdGNvcm5lcikKCQkoZW5kIDAgMCkKCQkocmVwZWF0IDIpCgkJKGluY3J4IDIpCgkJKGluY3J5IDIpCgkpCgkobGluZQoJCShuYW1lICIiKQoJCShzdGFydCA1MCAyIGx0Y29ybmVyKQoJCShlbmQgNTAgMCBsdGNvcm5lcikKCQkocmVwZWF0IDMwKQoJCShpbmNyeCA1MCkKCSkKCSh0YnRleHQgIjEiCgkJKG5hbWUgIiIpCgkJKHBvcyAyNSAxIGx0Y29ybmVyKQoJCShmb250CgkJCShzaXplIDEuMyAxLjMpCgkJKQoJCShyZXBlYXQgMTAwKQoJCShpbmNyeCA1MCkKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDUwIDIgbGJjb3JuZXIpCgkJKGVuZCA1MCAwIGxiY29ybmVyKQoJCShyZXBlYXQgMzApCgkJKGluY3J4IDUwKQoJKQoJKHRidGV4dCAiMSIKCQkobmFtZSAiIikKCQkocG9zIDI1IDEgbGJjb3JuZXIpCgkJKGZvbnQKCQkJKHNpemUgMS4zIDEuMykKCQkpCgkJKHJlcGVhdCAxMDApCgkJKGluY3J4IDUwKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMCA1MCBsdGNvcm5lcikKCQkoZW5kIDIgNTAgbHRjb3JuZXIpCgkJKHJlcGVhdCAzMCkKCQkoaW5jcnkgNTApCgkpCgkodGJ0ZXh0ICJBIgoJCShuYW1lICIiKQoJCShwb3MgMSAyNSBsdGNvcm5lcikKCQkoZm9udAoJCQkoc2l6ZSAxLjMgMS4zKQoJCSkKCQkoanVzdGlmeSBjZW50ZXIpCgkJKHJlcGVhdCAxMDApCgkJKGluY3J5IDUwKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMCA1MCBydGNvcm5lcikKCQkoZW5kIDIgNTAgcnRjb3JuZXIpCgkJKHJlcGVhdCAzMCkKCQkoaW5jcnkgNTApCgkpCgkodGJ0ZXh0ICJBIgoJCShuYW1lICIiKQoJCShwb3MgMSAyNSBydGNvcm5lcikKCQkoZm9udAoJCQkoc2l6ZSAxLjMgMS4zKQoJCSkKCQkoanVzdGlmeSBjZW50ZXIpCgkJKHJlcGVhdCAxMDApCgkJKGluY3J5IDUwKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMTM1LjY2OSAyOS4xOTIpCgkJKGVuZCA0OS4zMDkgMjkuMTkyKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMTM1LjY2OSAyNC4xMTIpCgkJKGVuZCA0OS4zMDkgMjQuMTEyKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgMTM1LjY2OSAxOS4wMzIpCgkJKGVuZCAyIDE5LjAzMikKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDQ5LjMwOSAzNC4yNzIyKQoJCShlbmQgNDkuMzA5IDE5LjAzMjIpCgkpCgkodGJ0ZXh0ICJEb2N1bWVudCBOYW1lOiIKCQkobmFtZSAiIikKCQkocG9zIDEzNC4zOTkgMzEuNzMyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKSBib2xkKQoJKQoJKHRidGV4dCAiJHtUSVRMRX0iCgkJKG5hbWUgIiIpCgkJKHBvcyAxMTYuNjk5IDMxLjczMjIpCgkJKGZvbnQKCQkJKGZhY2UgIkFyaWFsIikKCQkpCgkpCgkodGJ0ZXh0ICJQcm9qZWN0IE5hbWU6IgoJCShuYW1lICIiKQoJCShwb3MgMTM0LjM5OSAyNi42NTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke0NPTU1FTlQzfSIKCQkobmFtZSAiIikKCQkocG9zIDExOS42OTkgMjYuNjUyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCSh0YnRleHQgIlNoZWV0IE5hbWU6IgoJCShuYW1lICIiKQoJCShwb3MgMTM0LjM5OSAyMS41NzIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke0ZJTEVOQU1FfSIKCQkobmFtZSAiIikKCQkocG9zIDEyMS4wOTkgMjEuNTcyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDEzNS42NjkgMTMuOTUyKQoJCShlbmQgMiAxMy45NTIpCgkpCgkodGJ0ZXh0ICJBdXRob3I6IgoJCShuYW1lICIiKQoJCShwb3MgMTM0LjM5OSAxNi40OTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke0NPTU1FTlQyfSIKCQkobmFtZSAiIikKCQkocG9zIDEyNi4xOTkgMTYuNDkyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCShsaW5lCgkJKG5hbWUgIiIpCgkJKHN0YXJ0IDEzNS42NjkgOC44NzIpCgkJKGVuZCAyIDguODcyKQoJKQoJKHRidGV4dCAiRGF0ZToiCgkJKG5hbWUgIiIpCgkJKHBvcyA0OC4wMzkgMTEuNDEyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKSBib2xkKQoJKQoJKHRidGV4dCAiJHtJU1NVRV9EQVRFfSIKCQkobmFtZSAiIikKCQkocG9zIDQyLjEzOSAxMS40MTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpCgkJKQoJKQoJKHRidGV4dCAiU2hlZXQgTnVtYmVyOiIKCQkobmFtZSAiIikKCQkocG9zIDEzNC4zOTkgMTEuNDEyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKSBib2xkKQoJKQoJKHRidGV4dCAiJHsjfSBvZiAkeyMjfSIKCQkobmFtZSAiIikKCQkocG9zIDExOC42OTkgMTEuNDEyMikKCQkoZm9udAoJCQkoZmFjZSAiQXJpYWwiKQoJCSkKCSkKCSh0YnRleHQgIlJldmlzaW9uOiIKCQkobmFtZSAiIikKCQkocG9zIDg3LjQwOSAxMS40MTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpIGJvbGQpCgkpCgkodGJ0ZXh0ICIke1JFVklTSU9OfSIKCQkobmFtZSAiIikKCQkocG9zIDc3LjIwOSAxMS40MTIyKQoJCShmb250CgkJCShmYWNlICJBcmlhbCIpCgkJKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgNDkuMzA5IDEzLjk1MjIpCgkJKGVuZCA0OS4zMDkgOC44NzIyKQoJKQoJKGxpbmUKCQkobmFtZSAiIikKCQkoc3RhcnQgODguNjc5IDEzLjk1MjIpCgkJKGVuZCA4OC42NzkgOC44NzIyKQoJKQoJKHRidGV4dCAiTW9kdWxhciBDaXJjdWl0IERlc2lnbiBTdHVkaW8gZGVzaWducyBhcmUgbWFjaGluZS1nZW5lcmF0ZWQgZHJhZnRzIGFuZCByZXF1aXJlIHZlcmlmaWNhdGlvbiBieSBxdWFsaWZpZWQgc3BlY2lhbGlzdHMuIFxuQnkgdXNpbmcgdGhlc2UgZGVzaWducywgeW91IGFncmVlIHRvIHRoZSBlZGEuY24gVGVybXMgb2YgVXNlOiAke0NPTU1FTlQxfSIKCQkobmFtZSAiIikKCQkocG9zIDEzNC4zOTkgNi4zMzIpCgkJKGZvbnQKCQkJKGZhY2UgIkFyaWFsIikKCQkpCgkpCgkoYml0bWFwCgkJKG5hbWUgIiIpCgkJKHBvcyAyNS40MDggMjYuOTA2KQoJCShzY2FsZSAwLjc1ODA2NDUxNjEpCgkJKGRhdGEgImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFJNEFBQUF5Q0FZQUFBQ0s5ZU1HQUFBQUNYQklXWE1BQUE3REFBQU93d0hIYjZoa0FBQUEiCgkJCSJHWFJGV0hSVGIyWjBkMkZ5WlFCM2QzY3VhVzVyYzJOaGNHVXViM0pubSs0OEdnQUFFRUJKUkVGVWVKenRuWG1jVk5XVng3Ky9WKzlWIgoJCQkiSXlJRUJISDdtQmhsSERmOFJCcG5rb3hMM0dmVWNaMDJ4R1Zzc0xzS25lQVN0OEc0a01SdEpDUXFoSDdkOE1HNEQrNUxOSTY0eHkxMiIKCQkJImswR05ZK0lXTUFoK1JDR3lTSGRWdlROL3ZOZnQ2K3JhZXFOUitINCs5YUhlZmZlZWM2dnJjTis1NTU1N1MyWkdNVnFrbllEamdYOEIiCgkJCSJkZ1oyQUFZWGJkQzN0QUhMZ1NVR1R4bzhNTjdzZnplUWJpUnQ3Y0UzT3BYQitsYXpQK2JWRytuQjErTmxHVmhtWmg5dWdHNjI5eUVKIgoJCQkialBKZ2xNRzJCbHRtemU0dDE4NlZUbkJnWkx3c0EvZVoyWXF5T2dzWnppSnBod3hjTHBnSXVOMzREUDJLWUVFQUYxV2IvYUcvZFhuUyIKCQkJIkU4Q2hlY1dYWjh4K0dpOUlTdlVHZmw2OWFSbXpLMHZKbDdTbG1hMHQxdzlKUTEyWWFqRFVnU0VHV3dGRGdPSFJ2OXRFNytOOG1ESGIiCgkJCSJvWnhzVDJvR3huWFNCOVZ0WmkzbDJuWXhpb1hTa1FaM0NZYVZhN3loTVRoVThHcUxkT2s0cyt2NlM0OHJuYTQ4b3hGOGtJR2Y5MWEyIgoJCQkicENFdVhKQ0EweVh0Wm1hWk1rMkdBQmNMS1A1czJQQTQ4WXRtS1dYd0NCdWgwY1JJQU5jdWxHN3FEK0dTdGhaTXp5OFA0SHd6VzljTCIKCQkJInVYS2wwMTE0QjdoQ3NITWlkQU8rbEhRWXprTHBDTUZNd2k5bW84ZmdQMXFrYy9wU3BpVEhoVnVCVVhtM2ZwTTF1NmVuY2ozcFFCZCsiCgkJCSJML2cxTUxwREgwenBxY3dDL0E1NHdHQXU4S3VZN2g5NTBvZnRyNlIwYzRWOVBpemV6cE1XeHUrN0FDM1NTT0F1TmlKL3BrS210MGhQIgoJCQkialRON3ZTK0V1ZkFUNEovemlsZGs0Y3lleUt1U3hnWndEZUhrb2dzRzIwc2FabVovS3lIbU0rQWl3YWNCckJTc0JLWUIrOGNyWmN6MiIKCQkJIkw5ZzY5SW0yaStuY3VwSytHd3hTckYwKzdZWnlPZkMxU2dSdVpMakExY0F4dlJZa0hTK1ltbDl1a0RLejVkMlJaYkJUVXJyVjRBZmsiCgkJCSJ1UU1SYTRGcmN2QnpNMXRmVXBiWkd1RDZlSmtubmRlZC92UUg3dXZTY0NCVnBwNFpQTzdBVTBDcC94MTlob0VyMk5WZ0FyQnRpYXBIIgoJCQkidnlydE9UNXZtdHdkWE9rb3dSMkE4bTQ5bXpXN3I3dnlCTFZGSEZrVDNKT0JDODFzY2ZkN3V2SGd0c0xSZ21TSk9xc05UcWcyVzdEQiIKCQkJImVoWGpOZW15VE9oM0ZIVWtFM0FzMENQRGlZem1IbUJRZ2R1ZjlVUm1FWjRITG00emU2a1BaUTRZanVESVVoVUVadzJVMFFDTU5WdTciCgkJCSJPaHp5M3lwUjdmQ2V5RTVLWndydXA3RFJsRVRTSUZjNnpTQmRwdXFUd0VFWnN3TXlYeEdqZ2RCSDJLbkUvZVg3aGtQNGdIS1EyZnFXIgoJCQkiY1BvOXE5QjlLLzBadWlCcEt3OW1HNXpTelhZSkZ3NDBPTW1GNzlNMThCYm5NZUJuR2JNWHU2TWpuNlIwZGdCajQyVU9qTTEvRkNhbCIKCQkJIitlM3ZEZDdMbUYzU0c3M2xjSUh0Uzl4L0hiT2dQenRRS1FhTDhoMlFHRVc5LzN3a0RVbkFRb05kdTZOL2tEVEdoUmVBVVNYNkVlcUEiCgkJCSJ1amF6T2QyUlh3eURJNVRuL0JmeW53eitMWFpaTnZMYlcxeEtETk1HWFR6K0Z1a3lZTDhpOWQrcE5xdkk0MitXSmloOEJGVWt4NEgxIgoJCQkiSlNLbkZUOXF6R3hOVW1vdVlEaC9BbllyMWk2QW9YU043eFNyKzFHeGU0T2tYYkt3Yjd3c0J3K1pXV3Nsc3Z1WUxyNnRRVlVsRFhzUyIKCQkJInQ5a1BPTHJRRGNIQ1F1VkYySzJQNUhTYkRKem5odkdhWVFBR2pRN01NK2l1RC9JbThCZUt4R2tLa1lOVEZNWmgyc2tDVzNSVGI1OGciCgkJCSJHRmJnUCtOV2xiUXRGR1A0eW1ObXk2TXZiNDNCcVZtekZGQnV6YWlkVDZMbzdQNFpzejBGRDNaTE4reVlkLzJCbVdXTDFVL0ErWUpxIgoJCQkiUWJYQmFVV3FyVFNvYVg4QkZmazNGbzZpK1dVVkxUZDkyU0xGZlVZR2JxcUNoOWFidlZ0aC9hVXVISjZGcDB0OTBSRkZINTNLYzNRRiIKCQkJIjc1Y1N0TjdzbmZiM1NlbmJSUjdYbjJmTjdpN1RwODc5Q0JkYnV4aUo4bEpFaXJISkdrNzA1VmRrTkZIOTVZVDVRWlZ3blNmdFFXY2YiCgkJCSJNU0hZRy9pSFRuTERSMTJsRkZ0V1FOSWdEMzVnY0h3V1RqU3p0bEtDUE5qTHVnWThFZXhaU1VjMldjUHBLd0pZbS8vWFY1ajBkbVYrIgoJCQkiM1VLamhlRC9LdEVUTGNBZVZPVDIxaTU4WUZGU2xnZG5BSTJSL0llQmpxUXlnL2FJOWQ2RkJGazBJdVpna1JkYlVRakNaWklPTmh0TyIKCQkJIkw4bkJNeTZzcGtLbk1vL1dSQmlBTElzTEJ4SW1iUldpaXM2em9Vc2wzV3htYlZGU1ZxSHArY0ZGWkkyVk5OTE1saEFaWHlFMlNlZTQiCgkJCSJMekd6cFlTencyYkNHVklsdEFLTERHb3E5YkVpcDdjVXkySjFkNHBHbllKSXFyTGlNOEZFQW80bzE1L05JMDRQU0VxM0dld2VLL280IgoJCQkiWXphK3YvUkpjbDA0TVZhVW8ydmUxQnpnc3RqMTFQWlJKMTllWkJoZFpsUWQrdUE0NFBaU2ZlcHJ3OW1sUlhxNGtvcUN2K3RqM2IwaSIKCQkJIkE0dTl2Q3lCbUQ5QVh2bnVkQTdpTFN0VXI2OUloT3VKOGVEalM4QS94ZXNJSGpHb0pacnVHM3c5N3V2azFmMVJHWlhIU3RvaEdrMEwiCgkJCSIwdGVHTTR3aVFiMk5uU2l6ditnemZTQVJUSTVkZmdZOFI1N2hFSTVDYzRFclltV1g1bzg2bnZRZDRJQzh0bGs2MjRMbndpVEN4TGFDIgoJCQkiYkpLUHFxUTB6bnFYL0pXL05yYVZKMTNaQzNuUFpNeWVLWFJEMGpmY3poa01DeWdTck14Q2t3dVhFbjJ2Qm04QUk0akNDTkhNN1BvQyIKCQkJIlRYOUNPTnJHZDBiOFVOSU54YklUTjBuRElkd1Nja1haV3BVenBBL2tQVk9vMEEzVE5qb21NWUxmRk1zR01MT2xYdWdxRENYY3l0TnAiCgkJCSJaZDZES1FiZnlXdTJPZ3MzdWVEUjJVY2E2Y0tGd0k4TDZkbzhxOXFJVVppZEdjLzN5V1hnMFZKdHNuQjZ4dXpRZktPcGtzWWEvS3hBIgoJCQkia3lZelc1V0ZKc0xIWFp6ekpCV01KRzgybkkwWUY4Nmw4N0xBRStYeW42TWM1VTVJR3BtREI0QXQ4MjZ0eThJdm9uWWZDUEozZnc1MiIKCQkJIllaNmtMbmF5cVQ2cVd1aThRdDFkNnVuczU2eWhkNXYxbmlsVXFIQkJ0UU9EZWQwVkhLMUozVThZemM3bkNqUDdhL3VGQTFOellScHUiCgkJCSJQSmo0UFE5K0NOd1FiOWpYaHJPQ0NpT2hoSDdHdm1WcjlRTWxvcWtWNFVuSDBObHdWcGZiOHRzVDJzeHU5S1R0Q0ZlN2wwYWpSc1ZJIgoJCQkiMnRJTmx4enlaMkFBaTdKNXhyRGU3RjFQdXBIUXQrbkE0SHBQV2hSMzRQdmFjSmFNTTZ1dnBHS3pkS1VHeUhDK1RHUmhhaUxNT3Z4eiIKCQkJInVZWExPSkpHdVdIS3g3Y0xpUlhVRnRwK25JV3JYRGlkMk1aQlFzZDV2cVQ5ek93dnNObkgyZWd4TTh0Qk9sc2szN29RVmRKZUNYaUYiCgkJCSJ3a2FENEp5MklnYzNSTlB2TStpNkpqdktoZjlST0FKdU5wd3ZBMmFXcmVSa2kzWUNhRkJobndaZ2VwdlpyNHJjQXlCajlsdnlIbU1SIgoJCQkiWTF4NFF0S296WWJ6RmNRSm5mZENCeVRjbDRXTEs1R1JEZjJxUWltOG81S3d6V2JEK1FyU2F2YW00UHk4NG51emNJcFZ1R3ZGekZxeiIKCQkJImNJdzZyOWQ5NU1BaHJXWi8zR3c0WDFIYXpIeUZCMGtBM0ppRm1uTDcxUE14c3c4VnBsOThLdmdnQWZ1M21yMEJtMjRjcDdjOFJ5eXIiCgkJCSJUdkRKQnRiL082RFR3VktaQW1tdEdUakxnd1Z0Wm5ON3FxalY3TTJrZEZRQ1B2cmNyQ00vK2t0ak9EbFlxdkJrcXM4RW93MzJJY3dyIgoJCQkiMlZCbkVuYVFxWER2V0QvcVgwQzQyRmtTTTF0SnVHTGVLOXJNWHM0djY0bmgvTDdZRFF0UG02cVVQeEdlL2xXUm5QRmhxUDIvNG1VdCIKCQkJIjBqREJoUVlYZFVQdlp2cUNabmk3R2F6UTYxVjR6TXpZV0Y3eklmRWlqSGdhM0hqNXEvRGRnZTVic1ZjcWxUcTFQK1hYMTlkN0EvRzUiCgkJCSJISXM5cS9OUk4vZFg5eGV2U3VOYnBFZStDV3VUOE1sV3NLNUZlcnhaK2k1QXRka0xBOTNIWWxnL0huSUpJT25KZERxOVIzL3FLSVJUIgoJCQkiWmtQWXJzM1NRUnVxTTRWWUtKM3FoSnY5aitLTHhUY1BPRnp3YkxNMGFlQjZOL0FrazhuREdob2EzdXlOakZRcTVhVlNxVzRkR0twWCIKCQkJIjRmdUNPMHZVV1d4d2NMWFplNzNwWEU5b2tmWW0zRDFRNnVDbmpNRysxZEUwc1J3MU5UV0o0Y09IdjlEVzFuYmt2SG56VnRYWDEvOHIiCgkJCSJjR2hqWStNVWdQcjYranNrdlM5cGNVTkRRMk5OVFUxaXhJZ1JUNXZaSWI3dloxS3AxSm5BanBKMmIyaG9PQmtnblU3L01naUMrWTJOIgoJCQkialMvVzFkWHQ3RGpPTk4vM1R3ZElwVkxMQ0JPLzY4M3NOYy96VG1wcmF4dmpPTTRCdnU5ZkZlazhSOUkydnU5ZldsZFhOemFSU013MCIKCQkJInN6Rm05clNrZi9kOVAxTmZYejhldU1weG5CSEFUNE1nT0xLeHNYRnlLcFZxY2h6bmhpQUlqZzJDNExtbXBxYm5JNzBQQmtGd1ExTlQiCgkJCSIwMVB0bjcyK3Z2NElTVk9Cb1daMmUyTmo0L1IwT24yeW1jMG1uR1Fzek9WeUUrYk1tYk00bFVyZEd1bS9BRmdzNlJJenU1WXdwM21LIgoJCQkicS9BY2w4OHB2dkg5NjRLRnpkS3NCRHhsc0txU0w2aW5HS3dhOThXV2tZc3BiVFFBWHBSOFhWdUovUG56NStmUzZYUkxWVlhWaWNCYyIKCQkJIlNST0EvVk9wMUNXZTUyMGhhVmRKMXdWQjBBZzBEaDgrL0FBejIwZlNZY0NqWm5aS01wazhJNVBKUERWcDBxVHRYZGY5R0RndU90MzgiCgkJCSJSVWtuU29vblVXMExMSzJxcXRxeHRiWDEwbXcyZTBFaWtYald6RHF5K0tLRXJaSFIrMm96TzlmMy9ZV3BWR3FHbWRWTW1qVHBJZGQxIgoJCQkicHdNbkRoNDhlTzJhTld0dWNSeW5mVWxoZERhYnJYSWNaNmRFSXZHMW1Nd2RFb2xFUi81Tk9wM2VSOUpjNEVUUDg5N0paRExuMU5YViIKCQkJImpYVWM1MnJDck1BbFFGTWlrV2dFanBDMHU2VDMxcTFiTjM3dzRNRjNBVE9BWTRJZytNZEVJakhOR1dmMk4wRzVNNE9IQ2FZR3NNQ2ciCgkJCSJ1WjlmVjhYMEhsS0pNVkI4YzFsQmNybmNyV1kyb2JhMmRoQ3dsNlFHTXp1NnJhM3RXRE9iMzlEUXNFaFNWVHFkSGlQcEpFbG5tOW1FIgoJCQkidXJxNjBaSnM1c3laaTRFN1hkZXRrWFFJWWZaY2RTcVY4aVFkNjdwdWZCLzNDdC8zZjNIampUZCtGZ1RCL2NDWVVuM0xack1QU3pvbyIKCQkJIm5VNy8wc3kyQm5ieFBPOElTWS82dnI5aXhvd1puMHNxbWtSZWdsUE5iSjd2KzYvTW5EbnpFOS8zTDNjYzV6Qko5L20rLzVidisrc2MiCgkJCSJ4NWtPSERabHlwU2gwZC9wNWx0dXVXV3RtZjNXekY2TzZqeHZaanM3QUI1Y1M1aExzekVRWDJNcGRlSlZuTkhscTN4QlUxUFR5OEIyIgoJCQkibnVkTkJCN01ack8zU2pwWjBnbEJFTFIvNmJjR1FUQWhDSUl4RFEwTnQwbmExWEdjVXhXZGZDWHAxNFNuY3AwUUJNRWRoTmw1WndBciIKCQkJIlo4NmNHUThJeGxNaE1vUS9neEFRQzRXWVdRSmcyclJwanVkNVR3SnZPbzR6RzFnUlpkOGx6S3pjR1VEV0xpZTZjUE51dGtwYW5WZjIiCgkJCSJlUkFFUTlxdmM3bmNXaURudW00R0lBaUMxdWl6WnFLKzQvdCtCbkFjZ0wzTlZncE95UHVRQTRJNkc4c0hGVGI3YS9rcVhiaGQwaldTIgoJCQkiN3Bnelo4NWl3aFROcXVnOXJ1dmVMdWxjU1FzQXpPeCs0RDh0T2lpN29hSGhiU0F3c3gyYm1wcmVsM1M3cE9sbTl0OFRKMDRjTlhIaSIKCQkJInhGS0hNTDBMakt1dHJSMTA5dGxuYnl2cEpJQWxTNVpzQ1F6OTlOTlBueG85ZXZTN2tzWUFKQktKWjRIYSt2cjZBeWRQbnJ5Tm1SVTYiCgkJCSJHUHh0b29TdHVycTZnNEU5QU00Ly8vd3R6anJyckc4NmpuT1hwSnBVS2pXc3RyWjJVRHFkbmlicEVVa0hUWjQ4ZWE5VUtqVVl1TWpNIgoJCQkiWnMrWU1lUHpjbis4anJXcWZjMmVOemlMcmduTEc1cjQxTEtpakRmQlF6M1FjeHZ3UlB1TXhNem1FVXZObkRWcjFuTGdidGQxN3dSdyIKCQkJIlhmZE9NN3ZiOS8yT2tkbk1acG5aN1FDUm5NYzh6M3ZRODd5VFhOYzlEa0RTa3BqT2RjQzd2dSsvQmR5YlRDYmZ5MmF6VDVyWlRjQ1MiCgkJCSJ1WFBucmdadUdqNTgrRXZMbGkxN0dWaHRaaXVqdmt5VmRFY1FCSzlMaXVmU3ZBdXNjMTNYQi80K2xVb3RkeHpuUXVEcVhDNjNhdlhxIgoJCQkiMWRYWmJQYmMyYk5udnhFRXdTWEFYWjduTFFEVytiNi9STkpwWm5ZRDhJcmpPR3RXclZwMVh2VFpsaWFUeVN4QUVBUWZTNHFIYlY3ciIKCQkJIjh1c3g3VDhDd2dEK25vTURlMzdMN00wL1NLTUNlSTNTNXh4L0hNRFk4ZDA4eFByTHpLUkprN2IzUE8raGhvYUc2b0hxUTVmVjhYM0QiCgkJCSJKSjdkS2J4ZFlvTVFSSHVVdm1YMmNiUTV2dGhXMUk4TWp0NlVqR1pqb1dCYXhUaXpaZVBNNm9Nd2kyd0s4RGp3WndvbkIvVUhOZTJCIgoJCQkidmVpM3FmWTArSEYwUnQ5N3dNdUNLOXRnajJxem9tdG5YMVdHRFJ1Mk1ucnNEQmovRDJLVHp6ZGJvdlp5QUFBQUFFbEZUa1N1UW1DQyIKCQkpCgkpCikK';
@@ -0,0 +1,3 @@
1
+ export * from './drawing_sheet';
2
+ export * from './printer';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/converter/kicad_sexpr/eeschema/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './drawing_sheet';
2
+ export * from './printer';
@@ -0,0 +1,37 @@
1
+ import { type At, type Color, type VECTOR2 } from '@modular-circuit/electronics-model';
2
+ import { type Drawing, type Effects, type Fill, type Justify, type LIB_SYMBOL, type PIN_DEFINITION, type PIN_DISPLAY_OPT, type PIN_INSTANCE, type SCHEMATIC, type SCH_FIELD, type SCH_LABEL, type SCH_SHEET, type SCH_SHEET_PIN, type SCH_SYMBOL, type Stroke } from '@modular-circuit/ir';
3
+ export declare class SCHEMATIC_PRINTER {
4
+ schematic(sch: SCHEMATIC): string;
5
+ power(power?: boolean): "" | "(power)";
6
+ pin_display_opt(opt?: {
7
+ pin_numbers?: PIN_DISPLAY_OPT;
8
+ pin_names?: PIN_DISPLAY_OPT;
9
+ }): string | undefined;
10
+ lib_symbol(lib_symbol: LIB_SYMBOL): string;
11
+ lib_children(libs?: LIB_SYMBOL[]): string;
12
+ pts(points: VECTOR2[]): string;
13
+ drawings(draws?: Drawing[]): string | undefined;
14
+ drawing(draw: Drawing): string;
15
+ pin_defs(defs?: PIN_DEFINITION[]): string | undefined;
16
+ pin_def(def: PIN_DEFINITION): string;
17
+ label(label: SCH_LABEL): string;
18
+ unit(c?: number): string;
19
+ sch_symbol(sch_symbol: SCH_SYMBOL): string;
20
+ lib_id(id?: string | null): string | undefined;
21
+ sch_symbol_pin(pin: PIN_INSTANCE): string;
22
+ sch_sheet(sheet: SCH_SHEET): string;
23
+ sch_sheet_pin(sheet_pin: SCH_SHEET_PIN): string;
24
+ at(pos: At): string;
25
+ uuid(id: string): string;
26
+ effects(e: Effects): string;
27
+ justify(justify?: Justify): string | undefined;
28
+ booleans(it: unknown): string | undefined;
29
+ fields(fields?: SCH_FIELD[]): string | undefined;
30
+ field(field: SCH_FIELD): string;
31
+ fill(f?: Partial<Fill>): string | undefined;
32
+ size(s: VECTOR2): string;
33
+ fields_autoplaced(): string;
34
+ stroke(s?: Stroke): string | undefined;
35
+ color(c?: Color): string | undefined;
36
+ }
37
+ //# sourceMappingURL=printer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printer.d.ts","sourceRoot":"","sources":["../../../../src/converter/kicad_sexpr/eeschema/printer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,EAA+B,KAAK,OAAO,EAAE,MAAM,oCAAoC,CAAA;AACnH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EAEf,KAAK,MAAM,EACZ,MAAM,qBAAqB,CAAA;AAU5B,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,GAAG,EAAE,SAAS;IAiCxB,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;IAKrB,eAAe,CAAC,GAAG,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,eAAe,CAAC;QAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE;IAapF,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAc1C,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,MAAM;IAKzC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;IAKrB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE;IAI1B,OAAO,CAAC,IAAI,EAAE,OAAO;IAgBrB,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;IAKhC,OAAO,CAAC,GAAG,EAAE,cAAc;IAa3B,KAAK,CAAC,KAAK,EAAE,SAAS;IAUtB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM;IAIf,UAAU,CAAC,UAAU,EAAE,UAAU;IAYjC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKzB,cAAc,CAAC,GAAG,EAAE,YAAY;IAIhC,SAAS,CAAC,KAAK,EAAE,SAAS;IAa1B,aAAa,CAAC,SAAS,EAAE,aAAa;IAQtC,EAAE,CAAC,GAAG,EAAE,EAAE;IAIV,IAAI,CAAC,EAAE,EAAE,MAAM;IAGf,OAAO,CAAC,CAAC,EAAE,OAAO;IASlB,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO;IAKzB,QAAQ,CAAC,EAAE,EAAE,OAAO;IAUpB,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE;IAK3B,KAAK,CAAC,KAAK,EAAE,SAAS;IAQtB,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,CAAC,CAAC,EAAE,OAAO;IAGf,iBAAiB;IAKjB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM;IAUjB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK;CAIhB"}