binary-decision-diagram 1.4.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/.github/workflows/main.yml +2 -2
  2. package/dist/es/abstract-node.js +45 -51
  3. package/dist/es/abstract-node.js.map +1 -1
  4. package/dist/es/branches.js +20 -22
  5. package/dist/es/branches.js.map +1 -1
  6. package/dist/es/create-bdd-from-truth-table.js +19 -57
  7. package/dist/es/create-bdd-from-truth-table.js.map +1 -1
  8. package/dist/es/ensure-correct-bdd.js +26 -27
  9. package/dist/es/ensure-correct-bdd.js.map +1 -1
  10. package/dist/es/fill-truth-table.js +3 -3
  11. package/dist/es/fill-truth-table.js.map +1 -1
  12. package/dist/es/find-similar-node.js +3 -3
  13. package/dist/es/find-similar-node.js.map +1 -1
  14. package/dist/es/internal-node.js +15 -35
  15. package/dist/es/internal-node.js.map +1 -1
  16. package/dist/es/leaf-node.js +14 -34
  17. package/dist/es/leaf-node.js.map +1 -1
  18. package/dist/es/minimal-string/bdd-to-minimal-string.js +15 -15
  19. package/dist/es/minimal-string/bdd-to-minimal-string.js.map +1 -1
  20. package/dist/es/minimal-string/bdd-to-simple-bdd.js +2 -2
  21. package/dist/es/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  22. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js +27 -27
  23. package/dist/es/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  24. package/dist/es/minimal-string/resolve-with-simple-bdd.js +4 -4
  25. package/dist/es/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  26. package/dist/es/minimal-string/string-format.js +7 -7
  27. package/dist/es/minimal-string/string-format.js.map +1 -1
  28. package/dist/es/optimize-brute-force.d.ts +4 -4
  29. package/dist/es/optimize-brute-force.js +88 -186
  30. package/dist/es/optimize-brute-force.js.map +1 -1
  31. package/dist/es/parents.js +19 -47
  32. package/dist/es/parents.js.map +1 -1
  33. package/dist/es/root-node.js +79 -133
  34. package/dist/es/root-node.js.map +1 -1
  35. package/dist/es/types.d.ts +9 -9
  36. package/dist/es/util.js +21 -39
  37. package/dist/es/util.js.map +1 -1
  38. package/dist/lib/abstract-node.js +47 -52
  39. package/dist/lib/abstract-node.js.map +1 -1
  40. package/dist/lib/branches.js +20 -21
  41. package/dist/lib/branches.js.map +1 -1
  42. package/dist/lib/create-bdd-from-truth-table.js +23 -61
  43. package/dist/lib/create-bdd-from-truth-table.js.map +1 -1
  44. package/dist/lib/ensure-correct-bdd.js +26 -27
  45. package/dist/lib/ensure-correct-bdd.js.map +1 -1
  46. package/dist/lib/fill-truth-table.js +4 -4
  47. package/dist/lib/fill-truth-table.js.map +1 -1
  48. package/dist/lib/find-similar-node.js +3 -3
  49. package/dist/lib/find-similar-node.js.map +1 -1
  50. package/dist/lib/index.js +5 -1
  51. package/dist/lib/index.js.map +1 -1
  52. package/dist/lib/internal-node.js +18 -37
  53. package/dist/lib/internal-node.js.map +1 -1
  54. package/dist/lib/leaf-node.js +17 -36
  55. package/dist/lib/leaf-node.js.map +1 -1
  56. package/dist/lib/minimal-string/bdd-to-minimal-string.js +17 -17
  57. package/dist/lib/minimal-string/bdd-to-minimal-string.js.map +1 -1
  58. package/dist/lib/minimal-string/bdd-to-simple-bdd.js +2 -2
  59. package/dist/lib/minimal-string/bdd-to-simple-bdd.js.map +1 -1
  60. package/dist/lib/minimal-string/index.js +5 -1
  61. package/dist/lib/minimal-string/index.js.map +1 -1
  62. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js +29 -29
  63. package/dist/lib/minimal-string/minimal-string-to-simple-bdd.js.map +1 -1
  64. package/dist/lib/minimal-string/resolve-with-simple-bdd.js +5 -5
  65. package/dist/lib/minimal-string/resolve-with-simple-bdd.js.map +1 -1
  66. package/dist/lib/minimal-string/string-format.js +5 -5
  67. package/dist/lib/minimal-string/string-format.js.map +1 -1
  68. package/dist/lib/optimize-brute-force.d.ts +4 -4
  69. package/dist/lib/optimize-brute-force.js +90 -188
  70. package/dist/lib/optimize-brute-force.js.map +1 -1
  71. package/dist/lib/parents.js +19 -46
  72. package/dist/lib/parents.js.map +1 -1
  73. package/dist/lib/root-node.js +83 -136
  74. package/dist/lib/root-node.js.map +1 -1
  75. package/dist/lib/types.d.ts +9 -9
  76. package/dist/lib/util.js +21 -39
  77. package/dist/lib/util.js.map +1 -1
  78. package/package.json +9 -9
  79. package/tsconfig.json +2 -2
@@ -1,142 +1,101 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __values = (this && this.__values) || function(o) {
17
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18
- if (m) return m.call(o);
19
- if (o && typeof o.length === "number") return {
20
- next: function () {
21
- if (o && i >= o.length) o = void 0;
22
- return { value: o && o[i++], done: !o };
23
- }
24
- };
25
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
26
- };
27
1
  import { AbstractNode } from './abstract-node';
28
2
  import { Branches } from './branches';
29
3
  import { lastOfArray, booleanToBooleanString } from './util';
30
4
  import { bddToSimpleBdd } from './minimal-string';
31
- var RootNode = /** @class */ (function (_super) {
32
- __extends(RootNode, _super);
33
- function RootNode() {
34
- var _this = _super.call(this, 0, null, 'RootNode') || this;
35
- _this.branches = new Branches(_this);
36
- _this.levels = [];
37
- _this.nodesByLevel = new Map();
38
- _this.levels.push(0);
39
- var level0Set = new Set();
40
- level0Set.add(_this);
41
- _this.nodesByLevel.set(0, level0Set);
42
- return _this;
5
+ export class RootNode extends AbstractNode {
6
+ constructor() {
7
+ super(0, null, 'RootNode');
8
+ this.branches = new Branches(this);
9
+ this.levels = [];
10
+ this.nodesByLevel = new Map();
11
+ this.levels.push(0);
12
+ const level0Set = new Set();
13
+ level0Set.add(this);
14
+ this.nodesByLevel.set(0, level0Set);
43
15
  }
44
- RootNode.prototype.addNode = function (node) {
45
- var level = node.level;
16
+ addNode(node) {
17
+ const level = node.level;
46
18
  if (!this.levels.includes(level)) {
47
19
  this.levels.push(level);
48
20
  }
49
21
  this.ensureLevelSetExists(level);
50
- var set = this.nodesByLevel.get(level);
22
+ const set = this.nodesByLevel.get(level);
51
23
  set === null || set === void 0 ? void 0 : set.add(node);
52
- };
53
- RootNode.prototype.removeNode = function (node) {
54
- var set = this.nodesByLevel.get(node.level);
24
+ }
25
+ removeNode(node) {
26
+ const set = this.nodesByLevel.get(node.level);
55
27
  if (!set.has(node)) {
56
28
  throw new Error('removed non-existing node ' + node.id);
57
29
  }
58
30
  set.delete(node);
59
- };
60
- RootNode.prototype.ensureLevelSetExists = function (level) {
31
+ }
32
+ ensureLevelSetExists(level) {
61
33
  if (!this.nodesByLevel.has(level)) {
62
34
  this.nodesByLevel.set(level, new Set());
63
35
  }
64
- };
65
- RootNode.prototype.getLevels = function () {
66
- return Array.from(this.levels).sort(function (a, b) { return a - b; });
67
- };
68
- RootNode.prototype.getNodesOfLevel = function (level) {
36
+ }
37
+ getLevels() {
38
+ return Array.from(this.levels).sort((a, b) => a - b);
39
+ }
40
+ getNodesOfLevel(level) {
69
41
  this.ensureLevelSetExists(level);
70
- var set = this.nodesByLevel.get(level);
42
+ const set = this.nodesByLevel.get(level);
71
43
  return Array.from(set);
72
- };
73
- RootNode.prototype.countNodes = function () {
74
- var _this = this;
75
- var ret = 0;
76
- this.getLevels().forEach(function (level) {
77
- var nodesAmount = _this.getNodesOfLevel(level).length;
44
+ }
45
+ countNodes() {
46
+ let ret = 0;
47
+ this.getLevels().forEach(level => {
48
+ const nodesAmount = this.getNodesOfLevel(level).length;
78
49
  ret = ret + nodesAmount;
79
50
  });
80
51
  return ret;
81
- };
52
+ }
82
53
  /**
83
54
  * applies the reduction rules to the whole bdd
84
55
  */
85
- RootNode.prototype.minimize = function (logState) {
86
- var e_1, _a;
87
- if (logState === void 0) { logState = false; }
56
+ minimize(logState = false) {
88
57
  // console.log('minimize(): START ###############');
89
- var done = false;
58
+ let done = false;
90
59
  while (!done) {
91
60
  if (logState) {
92
61
  console.log('minimize() itterate once');
93
62
  }
94
- var successCount = 0;
95
- var lastLevel = lastOfArray(this.getLevels());
63
+ let successCount = 0;
64
+ let lastLevel = lastOfArray(this.getLevels());
96
65
  while (lastLevel > 0) {
97
- var nodes = this.getNodesOfLevel(lastLevel);
66
+ const nodes = this.getNodesOfLevel(lastLevel);
98
67
  if (logState) {
99
68
  console.log('minimize() run for level ' + lastLevel +
100
69
  ' with ' + nodes.length + ' nodes');
101
70
  // console.dir(nodes);
102
71
  }
103
- var nodeCount = 0;
104
- try {
105
- for (var nodes_1 = (e_1 = void 0, __values(nodes)), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
106
- var node = nodes_1_1.value;
107
- nodeCount++;
108
- // do not run that often because it is expensive
109
- if (logState && nodeCount % 4000 === 0) {
110
- console.log('minimize() node #' + node.id);
72
+ let nodeCount = 0;
73
+ for (const node of nodes) {
74
+ nodeCount++;
75
+ // do not run that often because it is expensive
76
+ if (logState && nodeCount % 4000 === 0) {
77
+ console.log('minimize() node #' + node.id);
78
+ }
79
+ if (node.isLeafNode()) {
80
+ // console.log('have leaf node ' + node.id);
81
+ const reductionDone = node.asLeafNode().applyEliminationRule();
82
+ if (reductionDone) {
83
+ successCount++;
111
84
  }
112
- if (node.isLeafNode()) {
113
- // console.log('have leaf node ' + node.id);
114
- var reductionDone = node.asLeafNode().applyEliminationRule();
115
- if (reductionDone) {
116
- successCount++;
117
- }
85
+ }
86
+ if (!node.deleted && node.isInternalNode()) {
87
+ const useNode = node;
88
+ const reductionDone = useNode.applyReductionRule();
89
+ let eliminationDone = false;
90
+ if (!useNode.deleted) {
91
+ // not might now be deleted from reduction-rule
92
+ eliminationDone = useNode.applyEliminationRule(nodes);
118
93
  }
119
- if (!node.deleted && node.isInternalNode()) {
120
- var useNode = node;
121
- var reductionDone = useNode.applyReductionRule();
122
- var eliminationDone = false;
123
- if (!useNode.deleted) {
124
- // not might now be deleted from reduction-rule
125
- eliminationDone = useNode.applyEliminationRule(nodes);
126
- }
127
- if (reductionDone || eliminationDone) {
128
- successCount++;
129
- }
94
+ if (reductionDone || eliminationDone) {
95
+ successCount++;
130
96
  }
131
97
  }
132
98
  }
133
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
134
- finally {
135
- try {
136
- if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
137
- }
138
- finally { if (e_1) throw e_1.error; }
139
- }
140
99
  lastLevel--;
141
100
  }
142
101
  if (successCount === 0) {
@@ -150,59 +109,46 @@ var RootNode = /** @class */ (function (_super) {
150
109
  }
151
110
  }
152
111
  }
153
- };
154
- RootNode.prototype.getLeafNodes = function () {
155
- var lastLevel = lastOfArray(this.getLevels());
156
- var leafNodes = this.getNodesOfLevel(lastLevel).reverse();
112
+ }
113
+ getLeafNodes() {
114
+ const lastLevel = lastOfArray(this.getLevels());
115
+ const leafNodes = this.getNodesOfLevel(lastLevel).reverse();
157
116
  return leafNodes;
158
- };
117
+ }
159
118
  /**
160
119
  * strips all leaf-nodes
161
120
  * with the given value
162
121
  */
163
- RootNode.prototype.removeIrrelevantLeafNodes = function (leafNodeValue) {
164
- var e_2, _a;
165
- var done = false;
122
+ removeIrrelevantLeafNodes(leafNodeValue) {
123
+ let done = false;
166
124
  while (!done) {
167
- var countRemoved = 0;
168
- var leafNodes = this.getLeafNodes();
169
- try {
170
- for (var leafNodes_1 = (e_2 = void 0, __values(leafNodes)), leafNodes_1_1 = leafNodes_1.next(); !leafNodes_1_1.done; leafNodes_1_1 = leafNodes_1.next()) {
171
- var leafNode = leafNodes_1_1.value;
172
- var removed = leafNode.removeIfValueEquals(leafNodeValue);
173
- if (removed) {
174
- countRemoved++;
175
- }
125
+ let countRemoved = 0;
126
+ const leafNodes = this.getLeafNodes();
127
+ for (const leafNode of leafNodes) {
128
+ const removed = leafNode.removeIfValueEquals(leafNodeValue);
129
+ if (removed) {
130
+ countRemoved++;
176
131
  }
177
132
  }
178
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
179
- finally {
180
- try {
181
- if (leafNodes_1_1 && !leafNodes_1_1.done && (_a = leafNodes_1.return)) _a.call(leafNodes_1);
182
- }
183
- finally { if (e_2) throw e_2.error; }
184
- }
185
133
  this.minimize();
186
134
  if (countRemoved === 0) {
187
135
  done = true;
188
136
  }
189
137
  }
190
- };
191
- RootNode.prototype.resolve = function (fns, booleanFunctionInput) {
192
- var currentNode = this;
138
+ }
139
+ resolve(fns, booleanFunctionInput) {
140
+ let currentNode = this;
193
141
  while (true) {
194
- var booleanResult = fns[currentNode.level](booleanFunctionInput);
195
- var branchKey = booleanToBooleanString(booleanResult);
142
+ const booleanResult = fns[currentNode.level](booleanFunctionInput);
143
+ const branchKey = booleanToBooleanString(booleanResult);
196
144
  currentNode = currentNode.branches.getBranch(branchKey);
197
145
  if (currentNode.isLeafNode()) {
198
146
  return currentNode.asLeafNode().value;
199
147
  }
200
148
  }
201
- };
202
- RootNode.prototype.toSimpleBdd = function () {
149
+ }
150
+ toSimpleBdd() {
203
151
  return bddToSimpleBdd(this);
204
- };
205
- return RootNode;
206
- }(AbstractNode));
207
- export { RootNode };
152
+ }
153
+ }
208
154
  //# sourceMappingURL=root-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root-node.js","sourceRoot":"","sources":["../../src/root-node.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  import { LeafNode } from './leaf-node';
2
2
  import { InternalNode } from './internal-node';
3
3
  import { RootNode } from './root-node';
4
- export declare type NodeType = 'LeafNode' | 'InternalNode' | 'RootNode';
5
- export declare type NonLeafNode = InternalNode | RootNode;
6
- export declare type NonRootNode = InternalNode | LeafNode;
7
- export declare type TruthTable = Map<string, number>;
8
- export declare type BooleanString = '0' | '1';
9
- export declare type ResolverFunction<T> = (i: T) => boolean;
10
- export declare type ResolverFunctions<T = any> = {
4
+ export type NodeType = 'LeafNode' | 'InternalNode' | 'RootNode';
5
+ export type NonLeafNode = InternalNode | RootNode;
6
+ export type NonRootNode = InternalNode | LeafNode;
7
+ export type TruthTable = Map<string, number>;
8
+ export type BooleanString = '0' | '1';
9
+ export type ResolverFunction<T> = (i: T) => boolean;
10
+ export type ResolverFunctions<T = any> = {
11
11
  [k: number]: ResolverFunction<T>;
12
12
  };
13
- export declare type SimpleBddLeafNode = number;
13
+ export type SimpleBddLeafNode = number;
14
14
  /**
15
15
  * a simple bdd is a json-representation
16
16
  * which could be parsed from the minimal string
17
17
  * use this to have great performance
18
18
  * when resolving values
19
19
  */
20
- export declare type SimpleBdd = {
20
+ export type SimpleBdd = {
21
21
  0: SimpleBdd | SimpleBddLeafNode;
22
22
  1: SimpleBdd | SimpleBddLeafNode;
23
23
  l: number;
package/dist/es/util.js CHANGED
@@ -1,19 +1,3 @@
1
- var __read = (this && this.__read) || function (o, n) {
2
- var m = typeof Symbol === "function" && o[Symbol.iterator];
3
- if (!m) return o;
4
- var i = m.call(o), r, ar = [], e;
5
- try {
6
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
- }
8
- catch (error) { e = { error: error }; }
9
- finally {
10
- try {
11
- if (r && !r.done && (m = i["return"])) m.call(i);
12
- }
13
- finally { if (e) throw e.error; }
14
- }
15
- return ar;
16
- };
17
1
  export function booleanStringToBoolean(str) {
18
2
  if (str === '1') {
19
3
  return true;
@@ -44,20 +28,19 @@ export function lastChar(str) {
44
28
  /**
45
29
  * @link https://stackoverflow.com/a/1349426
46
30
  */
47
- function makeid(length) {
48
- if (length === void 0) { length = 6; }
49
- var result = '';
50
- var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
51
- var charactersLength = characters.length;
52
- for (var i = 0; i < length; i++) {
31
+ function makeid(length = 6) {
32
+ let result = '';
33
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
34
+ const charactersLength = characters.length;
35
+ for (let i = 0; i < length; i++) {
53
36
  result += characters.charAt(Math.floor(Math.random() * charactersLength));
54
37
  }
55
38
  return result;
56
39
  }
57
- var nodeIdPrefix = makeid(4);
58
- var lastIdGen = 0;
40
+ const nodeIdPrefix = makeid(4);
41
+ let lastIdGen = 0;
59
42
  export function nextNodeId() {
60
- var ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
43
+ const ret = 'node_' + nodeIdPrefix + '_' + lastIdGen;
61
44
  lastIdGen++;
62
45
  return ret;
63
46
  }
@@ -65,8 +48,8 @@ export function nextNodeId() {
65
48
  * @link https://stackoverflow.com/a/16155417
66
49
  */
67
50
  export function decimalToPaddedBinary(decimal, padding) {
68
- var binary = (decimal >>> 0).toString(2);
69
- var padded = binary.padStart(padding, '0');
51
+ const binary = (decimal >>> 0).toString(2);
52
+ const padded = binary.padStart(padding, '0');
70
53
  return padded;
71
54
  }
72
55
  export function oppositeBinary(i) {
@@ -84,19 +67,19 @@ export function binaryToDecimal(binary) {
84
67
  return parseInt(binary, 2);
85
68
  }
86
69
  export function minBinaryWithLength(length) {
87
- return new Array(length).fill(0).map(function () { return '0'; }).join('');
70
+ return new Array(length).fill(0).map(() => '0').join('');
88
71
  }
89
72
  export function maxBinaryWithLength(length) {
90
- return new Array(length).fill(0).map(function () { return '1'; }).join('');
73
+ return new Array(length).fill(0).map(() => '1').join('');
91
74
  }
92
75
  export function getNextStateSet(stateSet) {
93
- var decimal = binaryToDecimal(stateSet);
94
- var increase = decimal + 1;
95
- var binary = decimalToPaddedBinary(increase, stateSet.length);
76
+ const decimal = binaryToDecimal(stateSet);
77
+ const increase = decimal + 1;
78
+ const binary = decimalToPaddedBinary(increase, stateSet.length);
96
79
  return binary;
97
80
  }
98
81
  export function firstKeyOfMap(map) {
99
- var iterator1 = map.keys();
82
+ const iterator1 = map.keys();
100
83
  return iterator1.next().value;
101
84
  }
102
85
  /**
@@ -104,10 +87,9 @@ export function firstKeyOfMap(map) {
104
87
  * @link https://stackoverflow.com/a/6274381
105
88
  */
106
89
  export function shuffleArray(a) {
107
- var _a;
108
- for (var i = a.length - 1; i > 0; i--) {
109
- var j = Math.floor(Math.random() * (i + 1));
110
- _a = __read([a[j], a[i]], 2), a[i] = _a[0], a[j] = _a[1];
90
+ for (let i = a.length - 1; i > 0; i--) {
91
+ const j = Math.floor(Math.random() * (i + 1));
92
+ [a[i], a[j]] = [a[j], a[i]];
111
93
  }
112
94
  return a;
113
95
  }
@@ -118,8 +100,8 @@ export function lastOfArray(ar) {
118
100
  * @link https://stackoverflow.com/a/6259536
119
101
  */
120
102
  export function splitStringToChunks(str, chunkSize) {
121
- var chunks = [];
122
- for (var i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
103
+ const chunks = [];
104
+ for (let i = 0, charsLength = str.length; i < charsLength; i += chunkSize) {
123
105
  chunks.push(str.substring(i, i + chunkSize));
124
106
  }
125
107
  return chunks;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}