pareto-core 0.1.188 → 0.1.190
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.
- package/dist/implementation/__internal/sync/primitives/Dictionary.d.ts +1 -0
- package/dist/implementation/__internal/sync/primitives/Dictionary.js +2 -1
- package/dist/implementation/__internal/sync/primitives/List.d.ts +1 -0
- package/dist/implementation/__internal/sync/primitives/List.js +2 -1
- package/dist/implementation/__internal/sync/primitives/Optional.d.ts +3 -1
- package/dist/implementation/__internal/sync/primitives/Optional.js +5 -1
- package/dist/implementation/refiner/specials/iterate safe.d.ts +3 -0
- package/dist/implementation/refiner/specials/iterate safe.js +136 -0
- package/dist/implementation/refiner/specials/iterate.d.ts +2 -1
- package/dist/implementation/refiner/specials/iterate.js +29 -17
- package/dist/implementation/transformer/__internal/from.js +41 -9
- package/dist/interface/data/__internal/Dictionary.d.ts +1 -0
- package/dist/interface/data/__internal/List.d.ts +1 -0
- package/dist/interface/data/__internal/Optional_Value.d.ts +1 -0
- package/dist/interface/production/__internal/Iterator.d.ts +2 -6
- package/dist/interface/production/__internal/Safe_Iterator.d.ts +18 -0
- package/dist/interface/production/__internal/Safe_Iterator.js +3 -0
- package/dist/interface/production/index.d.ts +6 -4
- package/package.json +1 -1
|
@@ -4,5 +4,6 @@ export type Dictionary_As_Array<T extends p_di.Value> = readonly ID_Value_Pair<T
|
|
|
4
4
|
export declare class Dictionary_Class<T extends p_di.Value> implements p_di.Dictionary<T> {
|
|
5
5
|
private source;
|
|
6
6
|
constructor(source: Dictionary_As_Array<T>);
|
|
7
|
+
readonly __dictionary = true;
|
|
7
8
|
__get_raw(): readonly [string, T][];
|
|
8
9
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Dictionary_Class = void 0;
|
|
4
4
|
class Dictionary_Class {
|
|
5
5
|
constructor(source) {
|
|
6
|
+
this.__dictionary = true;
|
|
6
7
|
this.source = source;
|
|
7
8
|
}
|
|
8
9
|
__get_raw() {
|
|
@@ -10,4 +11,4 @@ class Dictionary_Class {
|
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
exports.Dictionary_Class = Dictionary_Class;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9fX2ludGVybmFsL3N5bmMvcHJpbWl0aXZlcy9EaWN0aW9uYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLE1BQWEsZ0JBQWdCO0lBRXpCLFlBQVksTUFBOEI7UUFJakMsaUJBQVksR0FBRyxJQUFJLENBQUE7UUFIeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFDeEIsQ0FBQztJQUlELFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDdEIsQ0FBQztDQUVKO0FBWkQsNENBWUMifQ==
|
|
@@ -4,6 +4,7 @@ import { Abort } from "../../../../interface/__internal/Abort";
|
|
|
4
4
|
export declare class List_Class<T extends p_di.Value> implements p_di.List<T> {
|
|
5
5
|
private data;
|
|
6
6
|
constructor(data: readonly T[]);
|
|
7
|
+
readonly __list = true;
|
|
7
8
|
__deprecated_get_possible_item_at(index: number): optional.Not_Set_Optional_Value<T> | optional.Set_Optional_Value<T>;
|
|
8
9
|
__deprecated_get_item_at(index: number, abort: {
|
|
9
10
|
out_of_bounds: Abort<null>;
|
|
@@ -37,6 +37,7 @@ exports.List_Class = void 0;
|
|
|
37
37
|
const optional = __importStar(require("./Optional"));
|
|
38
38
|
class List_Class {
|
|
39
39
|
constructor(data) {
|
|
40
|
+
this.__list = true;
|
|
40
41
|
this.data = data;
|
|
41
42
|
}
|
|
42
43
|
__deprecated_get_possible_item_at(index) {
|
|
@@ -56,4 +57,4 @@ class List_Class {
|
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
exports.List_Class = List_Class;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9fX2ludGVybmFsL3N5bmMvcHJpbWl0aXZlcy9MaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHFEQUFzQztBQUd0QyxNQUFhLFVBQVU7SUFFbkIsWUFBWSxJQUFrQjtRQUlyQixXQUFNLEdBQUcsSUFBSSxDQUFBO1FBSGxCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ3BCLENBQUM7SUFJRCxpQ0FBaUMsQ0FBQyxLQUFhO1FBQzNDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QyxPQUFPLElBQUksUUFBUSxDQUFDLHNCQUFzQixFQUFLLENBQUE7UUFDbkQsQ0FBQztRQUNELE9BQU8sSUFBSSxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRCx3QkFBd0IsQ0FDcEIsS0FBYSxFQUNiLEtBRUM7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekMsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7SUFDcEIsQ0FBQztDQUdKO0FBaENELGdDQWdDQyJ9
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as p_di from "../../../../interface/data";
|
|
2
2
|
import { Raw_Optional_Value } from "../../../../interface/__internal/Raw_Optional_Value";
|
|
3
3
|
export declare class Not_Set_Optional_Value<T extends p_di.Value> implements p_di.Optional_Value<T> {
|
|
4
|
+
readonly __optional_value = true;
|
|
4
5
|
__extract_data(set: ($: T) => undefined, not_set: () => undefined): undefined;
|
|
5
6
|
__get_raw(): null;
|
|
6
7
|
}
|
|
7
8
|
export declare class Set_Optional_Value<T extends p_di.Value> implements p_di.Optional_Value<T> {
|
|
8
9
|
constructor(source: T);
|
|
10
|
+
readonly __optional_value = true;
|
|
11
|
+
value: T;
|
|
9
12
|
__extract_data(set: ($: T) => undefined, not_set: () => undefined): undefined;
|
|
10
13
|
__get_raw(): Raw_Optional_Value<T>;
|
|
11
|
-
value: T;
|
|
12
14
|
}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Set_Optional_Value = exports.Not_Set_Optional_Value = void 0;
|
|
4
4
|
class Not_Set_Optional_Value {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.__optional_value = true;
|
|
7
|
+
}
|
|
5
8
|
__extract_data(set, not_set) {
|
|
6
9
|
return not_set();
|
|
7
10
|
}
|
|
@@ -12,6 +15,7 @@ class Not_Set_Optional_Value {
|
|
|
12
15
|
exports.Not_Set_Optional_Value = Not_Set_Optional_Value;
|
|
13
16
|
class Set_Optional_Value {
|
|
14
17
|
constructor(source) {
|
|
18
|
+
this.__optional_value = true;
|
|
15
19
|
this.value = source;
|
|
16
20
|
}
|
|
17
21
|
__extract_data(set, not_set) {
|
|
@@ -22,4 +26,4 @@ class Set_Optional_Value {
|
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
exports.Set_Optional_Value = Set_Optional_Value;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vX19pbnRlcm5hbC9zeW5jL3ByaW1pdGl2ZXMvT3B0aW9uYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxzQkFBc0I7SUFBbkM7UUFFb0IscUJBQWdCLEdBQUcsSUFBSSxDQUFBO0lBWTNDLENBQUM7SUFWVSxjQUFjLENBQ2pCLEdBQXdCLEVBQ3hCLE9BQXdCO1FBRXhCLE9BQU8sT0FBTyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7Q0FDSjtBQWRELHdEQWNDO0FBRUQsTUFBYSxrQkFBa0I7SUFFM0IsWUFBWSxNQUFTO1FBSUwscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBSG5DLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ3ZCLENBQUM7SUFNTSxjQUFjLENBQ2pCLEdBQXdCLEVBQ3hCLE9BQXdCO1FBRXhCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRU0sU0FBUztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkIsQ0FBQztDQUNKO0FBcEJELGdEQW9CQyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as p_di from "../../../interface/data";
|
|
2
|
+
import * as p_pi from "../../../interface/production";
|
|
3
|
+
export default function iterate_safe<Item extends p_di.Value, End_Info extends p_di.Value, Return_Type extends p_di.Value>(list: p_di.List<Item>, end_info: End_Info, assign: ($iter: p_pi.Safe_Iterator<Item, End_Info>) => Return_Type): Return_Type;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.default = iterate_safe;
|
|
37
|
+
const lit = __importStar(require("../../__internal/sync/literal"));
|
|
38
|
+
function iterate_safe(list, end_info, assign) {
|
|
39
|
+
const raw = list.__get_raw();
|
|
40
|
+
const length = raw.length;
|
|
41
|
+
let position = 0;
|
|
42
|
+
const look_raw = () => {
|
|
43
|
+
if (position < 0 || position >= raw.length) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return [raw[position]];
|
|
47
|
+
};
|
|
48
|
+
const result = assign({
|
|
49
|
+
// assert_finished: (
|
|
50
|
+
// assign,
|
|
51
|
+
// abort
|
|
52
|
+
// ) => {
|
|
53
|
+
// const result = assign()
|
|
54
|
+
// if (position < length) {
|
|
55
|
+
// return abort.not_finished(null)
|
|
56
|
+
// }
|
|
57
|
+
// return result
|
|
58
|
+
// },
|
|
59
|
+
consume: (assign, no_item) => {
|
|
60
|
+
const this_list_raw = list.__get_raw();
|
|
61
|
+
const currentx = look_raw();
|
|
62
|
+
if (currentx === null) {
|
|
63
|
+
return no_item();
|
|
64
|
+
}
|
|
65
|
+
if (position > this_list_raw.length - 1) {
|
|
66
|
+
throw new Error("just checked that position is in bounds");
|
|
67
|
+
}
|
|
68
|
+
position += 1;
|
|
69
|
+
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
70
|
+
},
|
|
71
|
+
discard: (assign) => {
|
|
72
|
+
position += 1;
|
|
73
|
+
assign();
|
|
74
|
+
},
|
|
75
|
+
get_end_info: () => end_info,
|
|
76
|
+
// discard_after: <T>(
|
|
77
|
+
// assign: () => T
|
|
78
|
+
// ) => {
|
|
79
|
+
// const value = assign()
|
|
80
|
+
// position += 1
|
|
81
|
+
// return value
|
|
82
|
+
// },
|
|
83
|
+
// get_position: () => {
|
|
84
|
+
// return position
|
|
85
|
+
// },
|
|
86
|
+
list: ($x) => {
|
|
87
|
+
const raw = [];
|
|
88
|
+
while (true) {
|
|
89
|
+
const next_element = look_raw();
|
|
90
|
+
if (next_element === null) {
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
else if (!$x.has_more_items(next_element[0])) {
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
raw.push($x.handle(next_element[0]));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return lit.list(raw);
|
|
101
|
+
},
|
|
102
|
+
look: (item, no_item) => {
|
|
103
|
+
const next = look_raw();
|
|
104
|
+
if (next === null) {
|
|
105
|
+
return no_item(end_info);
|
|
106
|
+
}
|
|
107
|
+
return item(next[0]);
|
|
108
|
+
},
|
|
109
|
+
look_raw: () => {
|
|
110
|
+
if (position < 0 || position >= raw.length) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
return [raw[position]];
|
|
114
|
+
},
|
|
115
|
+
look_ahead_raw: (offset) => {
|
|
116
|
+
if (position + offset < 0 || position + offset >= raw.length) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
return [raw[position + offset]];
|
|
120
|
+
},
|
|
121
|
+
optional: ($i) => {
|
|
122
|
+
const next = look_raw();
|
|
123
|
+
if (next === null) {
|
|
124
|
+
return lit.not_set();
|
|
125
|
+
}
|
|
126
|
+
return $i.item(next[0]);
|
|
127
|
+
},
|
|
128
|
+
wrap_up: (callback, post) => {
|
|
129
|
+
const result = callback();
|
|
130
|
+
post();
|
|
131
|
+
return result;
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZSBzYWZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXIvc3BlY2lhbHMvaXRlcmF0ZSBzYWZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsK0JBMEhDO0FBL0hELG1FQUFvRDtBQUtwRCxTQUF3QixZQUFZLENBS2hDLElBQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLE1BQWtFO0lBR2xFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUVoQixNQUFNLFFBQVEsR0FBRyxHQUE2QixFQUFFO1FBQzVDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDLENBQUE7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbEIscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxZQUFZO1FBQ1osU0FBUztRQUNULDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsMENBQTBDO1FBQzFDLFFBQVE7UUFDUixvQkFBb0I7UUFDcEIsS0FBSztRQUNMLE9BQU8sRUFBRSxDQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1QsRUFBRTtZQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUN0QyxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxPQUFPLEVBQUUsQ0FBQTtZQUNwQixDQUFDO1lBQ0QsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFBO1lBQzlELENBQUM7WUFDRCxRQUFRLElBQUksQ0FBQyxDQUFBO1lBQ2IsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsMkVBQTJFO1FBQzFILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FDTCxNQUFlLEVBQ2pCLEVBQUU7WUFDQSxRQUFRLElBQUksQ0FBQyxDQUFBO1lBQ2IsTUFBTSxFQUFFLENBQUE7UUFDWixDQUFDO1FBQ0QsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7UUFDNUIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixTQUFTO1FBQ1QsNkJBQTZCO1FBQzdCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsS0FBSztRQUNMLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsS0FBSztRQUNMLElBQUksRUFBRSxDQUErQixFQUdwQyxFQUF3QixFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFnQixFQUFFLENBQUE7WUFFM0IsT0FBTyxJQUFJLEVBQUUsQ0FBQztnQkFDVixNQUFNLFlBQVksR0FBRyxRQUFRLEVBQUUsQ0FBQTtnQkFDL0IsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3hCLE1BQUs7Z0JBQ1QsQ0FBQztxQkFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM3QyxNQUFLO2dCQUNULENBQUM7cUJBQU0sQ0FBQztvQkFDSixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDeEMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUN2QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDNUIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ1gsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sSUFBSSxDQUFBO1lBQ2YsQ0FBQztZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtRQUMxQixDQUFDO1FBQ0QsY0FBYyxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxJQUFJLENBQUE7WUFDZixDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNuQyxDQUFDO1FBQ0QsUUFBUSxFQUFFLENBQ04sRUFBRSxFQUNKLEVBQUU7WUFDQSxNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUN2QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDeEIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDVixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQTtRQUVMLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUE7WUFDekIsSUFBSSxFQUFFLENBQUE7WUFDTixPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO0tBQ0osQ0FBQyxDQUFBO0lBQ0YsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyJ9
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import * as p_di from "../../../interface/data";
|
|
2
2
|
import * as p_pi from "../../../interface/production";
|
|
3
|
-
|
|
3
|
+
import { Abort } from "../../../interface/__internal/Abort";
|
|
4
|
+
export default function iterate<Item extends p_di.Value, Error extends p_di.Value, End_Info extends p_di.Value, Return_Type extends p_di.Value>(list: p_di.List<Item>, end_info: End_Info, not_finised_error: p_di.Optional_Value<Error>, abort: Abort<Error>, assign: ($iter: p_pi.Iterator<Item, End_Info, Error>) => Return_Type): Return_Type;
|
|
@@ -35,8 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.default = iterate;
|
|
37
37
|
const lit = __importStar(require("../../__internal/sync/literal"));
|
|
38
|
-
function iterate(
|
|
39
|
-
const raw =
|
|
38
|
+
function iterate(list, end_info, not_finised_error, abort, assign) {
|
|
39
|
+
const raw = list.__get_raw();
|
|
40
40
|
const length = raw.length;
|
|
41
41
|
let position = 0;
|
|
42
42
|
const look_raw = () => {
|
|
@@ -45,24 +45,28 @@ function iterate($, end_info, assign) {
|
|
|
45
45
|
}
|
|
46
46
|
return [raw[position]];
|
|
47
47
|
};
|
|
48
|
-
|
|
49
|
-
assert_finished: (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
const result = assign({
|
|
49
|
+
// assert_finished: (
|
|
50
|
+
// assign,
|
|
51
|
+
// abort
|
|
52
|
+
// ) => {
|
|
53
|
+
// const result = assign()
|
|
54
|
+
// if (position < length) {
|
|
55
|
+
// return abort.not_finished(null)
|
|
56
|
+
// }
|
|
57
|
+
// return result
|
|
58
|
+
// },
|
|
56
59
|
consume: (assign, no_item) => {
|
|
60
|
+
const this_list_raw = list.__get_raw();
|
|
57
61
|
const currentx = look_raw();
|
|
58
62
|
if (currentx === null) {
|
|
59
63
|
return no_item();
|
|
60
64
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
65
|
+
if (position > this_list_raw.length - 1) {
|
|
66
|
+
throw new Error("just checked that position is in bounds");
|
|
67
|
+
}
|
|
64
68
|
position += 1;
|
|
65
|
-
return assign(
|
|
69
|
+
return assign(this_list_raw[position - 1]); // position was already incremented, so we need to return the previous item
|
|
66
70
|
},
|
|
67
71
|
discard: (assign) => {
|
|
68
72
|
position += 1;
|
|
@@ -71,9 +75,9 @@ function iterate($, end_info, assign) {
|
|
|
71
75
|
expect: ($i) => {
|
|
72
76
|
const next = look_raw();
|
|
73
77
|
if (next === null) {
|
|
74
|
-
return
|
|
78
|
+
return abort($i.get_error(lit.not_set()));
|
|
75
79
|
}
|
|
76
|
-
return $i.item(next[0], () =>
|
|
80
|
+
return $i.item(next[0], () => abort($i.get_error(lit.set(next[0]))));
|
|
77
81
|
},
|
|
78
82
|
get_end_info: () => end_info,
|
|
79
83
|
// discard_after: <T>(
|
|
@@ -134,5 +138,13 @@ function iterate($, end_info, assign) {
|
|
|
134
138
|
return result;
|
|
135
139
|
},
|
|
136
140
|
});
|
|
141
|
+
if (position < length) {
|
|
142
|
+
not_finised_error.__extract_data(($) => {
|
|
143
|
+
abort($);
|
|
144
|
+
}, () => {
|
|
145
|
+
// do nothing
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
137
149
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVyL3NwZWNpYWxzL2l0ZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSwwQkFxSkM7QUExSkQsbUVBQW9EO0FBS3BELFNBQXdCLE9BQU8sQ0FNM0IsSUFBcUIsRUFDckIsUUFBa0IsRUFDbEIsaUJBQTZDLEVBQzdDLEtBQW1CLEVBQ25CLE1BQW9FO0lBR3BFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUU1QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUVoQixNQUFNLFFBQVEsR0FBRyxHQUE2QixFQUFFO1FBQzVDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDLENBQUE7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDbEIscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxZQUFZO1FBQ1osU0FBUztRQUNULDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsMENBQTBDO1FBQzFDLFFBQVE7UUFDUixvQkFBb0I7UUFDcEIsS0FBSztRQUNMLE9BQU8sRUFBRSxDQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1QsRUFBRTtZQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUN0QyxNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQTtZQUMzQixJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztn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
|
|
@@ -242,10 +242,16 @@ const list = (list) => {
|
|
|
242
242
|
return lit.list(out);
|
|
243
243
|
},
|
|
244
244
|
full_join: (other_list, assign_item) => {
|
|
245
|
+
const this_list_raw = list.__get_raw();
|
|
246
|
+
const other_list_raw = other_list.__get_raw();
|
|
245
247
|
const out = [];
|
|
246
|
-
const maxLength = Math.max(
|
|
248
|
+
const maxLength = Math.max(this_list_raw.length, other_list_raw.length);
|
|
247
249
|
for (let i = 0; i < maxLength; i++) {
|
|
248
|
-
out.push(assign_item(
|
|
250
|
+
out.push(assign_item(i < this_list_raw.length
|
|
251
|
+
? lit.set(this_list_raw[i])
|
|
252
|
+
: lit.not_set(), i < other_list_raw.length
|
|
253
|
+
? lit.set(other_list_raw[i])
|
|
254
|
+
: lit.not_set()));
|
|
249
255
|
}
|
|
250
256
|
return lit.list(out);
|
|
251
257
|
},
|
|
@@ -266,10 +272,13 @@ const list = (list) => {
|
|
|
266
272
|
},
|
|
267
273
|
join: (other_list, assign_item) => {
|
|
268
274
|
const out = [];
|
|
275
|
+
const other_list_raw = other_list.__get_raw();
|
|
269
276
|
let index = -1;
|
|
270
277
|
list.__get_raw().forEach(($) => {
|
|
271
278
|
index++;
|
|
272
|
-
out.push(assign_item($,
|
|
279
|
+
out.push(assign_item($, index < other_list_raw.length
|
|
280
|
+
? lit.set(other_list_raw[index])
|
|
281
|
+
: lit.not_set()));
|
|
273
282
|
});
|
|
274
283
|
return lit.list(out);
|
|
275
284
|
},
|
|
@@ -299,11 +308,27 @@ const list = (list) => {
|
|
|
299
308
|
return result;
|
|
300
309
|
})), current_state);
|
|
301
310
|
},
|
|
302
|
-
on_has_first_item: (if_true, if_not_true) =>
|
|
311
|
+
on_has_first_item: (if_true, if_not_true) => {
|
|
312
|
+
const list_raw = list.__get_raw();
|
|
313
|
+
if (list_raw.length === 0) {
|
|
314
|
+
return if_not_true();
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
return if_true(list_raw[0], lit.list(list_raw.slice(1)));
|
|
318
|
+
}
|
|
319
|
+
},
|
|
303
320
|
on_has_items: (if_true, if_not_true) => list.__get_raw().length !== 0
|
|
304
321
|
? if_true(list)
|
|
305
322
|
: if_not_true(),
|
|
306
|
-
on_has_last_item: (if_true, if_not_true) =>
|
|
323
|
+
on_has_last_item: (if_true, if_not_true) => {
|
|
324
|
+
const list_raw = list.__get_raw();
|
|
325
|
+
if (list_raw.length === 0) {
|
|
326
|
+
return if_not_true();
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
return if_true(list_raw[list_raw.length - 1], lit.list(list_raw.slice(0, -1)));
|
|
330
|
+
}
|
|
331
|
+
},
|
|
307
332
|
/**
|
|
308
333
|
* sequentially tests each item in the list with the provided test function. If a match is found, it returns the result of the test function. If no match is found, it returns the result of the if_no_match function.
|
|
309
334
|
*/
|
|
@@ -319,9 +344,16 @@ const list = (list) => {
|
|
|
319
344
|
return if_no_match();
|
|
320
345
|
},
|
|
321
346
|
on_has_single_item: (if_true, if_multiple, if_none) => {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
347
|
+
const list_raw = list.__get_raw();
|
|
348
|
+
if (list_raw.length === 0) {
|
|
349
|
+
return if_none();
|
|
350
|
+
}
|
|
351
|
+
else if (list_raw.length === 1) {
|
|
352
|
+
return if_true(list_raw[0]);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
return if_multiple(list);
|
|
356
|
+
}
|
|
325
357
|
},
|
|
326
358
|
sum: (assign_value) => {
|
|
327
359
|
let sum = 0;
|
|
@@ -442,4 +474,4 @@ const text = (string) => {
|
|
|
442
474
|
return {};
|
|
443
475
|
};
|
|
444
476
|
exports.text = text;
|
|
445
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi90cmFuc2Zvcm1lci9fX2ludGVybmFsL2Zyb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNEVBQThFO0FBRTlFLG1FQUFvRDtBQUU3QyxNQUFNLE9BQU8sR0FBRyxDQUNuQixhQUFzQixFQUN4QixFQUFFO0lBQ0EsT0FBTztRQUVILE1BQU0sRUFBRSxDQUNKLE9BQWlCLEVBQ2pCLFFBQWtCLEVBQ2hCLEVBQUUsQ0FBQyxhQUFhO1lBQ2QsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNYLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDdkIsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQVpZLFFBQUEsT0FBTyxXQVluQjtBQUVNLE1BQU0sVUFBVSxHQUFHLENBQ3RCLElBQXdCLEVBQzFCLEVBQUU7SUFDQSxPQUFPO1FBRUgsaUJBQWlCLEVBQUUsR0FDVCxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFBO1FBQ2xDLENBQUM7UUFFRCxlQUFlLEVBQUUsQ0FDYixXQUdhLEVBQ00sRUFBRTtZQUNyQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBRUQsTUFBTSxFQUFFLENBQ0osUUFHWSxFQUNNLEVBQUUsQ0FBQyxJQUFJLDZCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVHLE9BQU8sRUFBRSxDQUNMLG9CQUU4QixFQUM5QixNQUdXLEVBQ1gsS0FFQyxFQUNILEVBQUU7WUFDQSxNQUFNLEdBQUcsR0FBK0IsRUFBRSxDQUFBO1lBRTFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNwRCxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO29CQUM3RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO29CQUN4QyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDakMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDbkMsQ0FBQztvQkFDRCxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxDQUFBO2dCQUNsQyxDQUFDLENBQUMsQ0FBQTtZQUNOLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxlQUFlLEVBQUUsQ0FDYixXQUdrQixFQUNMLEVBQUU7WUFDZixNQUFNLEdBQUcsR0FBUyxFQUFFLENBQUE7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ3hDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQTtZQUVOLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFFRCxrQkFBa0IsQ0FDZCxFQUFVLEVBQ1YsTUFBb0IsRUFDcEIsVUFBb0I7WUFFcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3RDLElBQUksUUFBUSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNsQixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDOUIsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFVBQVUsRUFBRSxDQUFBO1FBQ3ZCLENBQUM7UUFFRCxLQUFLLEVBQUUsQ0FDSCxNQUdXLEVBQ1gsU0FBMEQsRUFDdkMsRUFBRTtZQUNyQixNQUFNLElBQUksR0FBb0MsRUFBRSxDQUFBO1lBQ2hELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFDdkIsQ0FBQztnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDcEMsQ0FBQyxDQUFDLENBQUE7WUFDRixNQUFNLEtBQUssR0FBeUIsRUFBRSxDQUFBO1lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSw2QkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUMvRSxDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBRUQsSUFBSSxFQUFFLENBQ0YsZ0JBQTZDLEVBQzdDLFlBSVcsRUFDYixFQUFFO1lBQ0EsTUFBTSxHQUFHLEdBQTZCLEVBQUUsQ0FBQTtZQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FDbEIsS0FBSyxFQUNMLElBQUEsa0JBQVUsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDLGtCQUFrQixDQUMzQyxFQUFFLEVBQ0YsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FDdEIsRUFDRCxFQUFFLENBQ0wsQ0FBQTtZQUNMLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxHQUFHLEVBQUUsQ0FDRCxZQUdhLEVBQ1ksRUFBRTtZQUUzQiwrQ0FBK0M7WUFDL0MsTUFBTSxVQUFVLEdBQUcsQ0FDZixNQUFvQyxFQUNqQixFQUFFO2dCQUNyQixPQUFPLElBQUksNkJBQWdCLENBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ2pFLE9BQU87d0JBQ0gsRUFBRTt3QkFDRixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztxQkFDcEIsQ0FBQTtnQkFDTCxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1AsQ0FBQyxDQUFBO1lBRUQsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDbkMsQ0FBQztRQUVELGNBQWMsRUFBRSxDQUNaLHFCQUdrQyxFQUNULEVBQUUsQ0FBQyxJQUFJLDZCQUFnQixDQUNoRCxJQUFJO2FBQ0MsU0FBUyxFQUFFO2FBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQTJDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQzthQUN4RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0Q7UUFFRCxjQUFjLEVBQUUsQ0FDWixPQUFzQyxFQUN0QyxXQUFxQixFQUNuQixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUV2QixtQkFBbUIsRUFBRSxDQUNqQixPQUFpQyxFQUNqQyxXQUEwQyxFQUMxQyxPQUFpQixFQUNmLEVBQUUsQ0FBQyxJQUFBLFlBQUksRUFBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQzdHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQ3RDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDdkIsT0FBTyxDQUNWO1FBRUQsS0FBSyxFQUFFLENBQ0gsTUFBcUMsRUFDckMsS0FFQyxFQUNpQixFQUFFO1lBQ3BCLE1BQU0sSUFBSSxHQUF3QixFQUFFLENBQUE7WUFDcEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM3QixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQ3hCLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FDTCxZQUthLEVBQ1ksRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUE7WUFDbkIsTUFBTSxHQUFHLEdBQStCLEVBQUUsQ0FBQTtZQUUxQyxNQUFNLGVBQWUsR0FBMkIsRUFBRSxDQUFBO1lBVWxELE1BQU0saUJBQWlCLEdBQXVCLEVBQUUsQ0FBQTtZQUVoRCxNQUFNLGFBQWEsR0FBRyxDQUNsQixLQUFRLEVBQ1IsRUFBVSxFQUNWLEtBQWUsRUFDTixFQUFFO2dCQUNYLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4QixtQkFBbUI7b0JBQ25CLE9BQU07Z0JBQ1YsQ0FBQztnQkFDRCxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFBO2dCQUMxQixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUNsQixLQUFLLEVBQ0wsRUFBRSxFQUNGO29CQUNJLFNBQVMsRUFBRSxDQUNQLEVBQUUsRUFDRixTQUFTLEVBQ1gsRUFBRTt3QkFDQSxJQUFJLGFBQWEsR0FBWSxLQUFLLENBQUE7d0JBQ2xDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDOzRCQUN4QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQ0FDcEMsT0FBTyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTs0QkFDcEUsQ0FBQztpQ0FBTSxDQUFDO2dDQUNKLElBQUEsa0JBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsQ0FDakMsRUFBRSxFQUNGLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0NBQ0YsYUFBYSxDQUNULENBQUMsRUFDRCxFQUFFLEVBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3JCLENBQUE7b0NBQ0QsYUFBYSxHQUFHLEtBQUssQ0FBQTtvQ0FDckIsT0FBTyxJQUFJLENBQUE7Z0NBQ2YsQ0FBQyxFQUNELEdBQUcsRUFBRTtvQ0FDRCxhQUFhLEdBQUcsSUFBSSxDQUFBO29DQUNwQixPQUFPLElBQUksQ0FBQTtnQ0FDZixDQUFDLENBQ0osQ0FBQTs0QkFDTCxDQUFDO3dCQUVMLENBQUM7d0JBQ0QsMkRBQTJEO3dCQUMzRCxJQUFJLGFBQWEsRUFBRSxDQUFDOzRCQUNoQixPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQTt3QkFDeEIsQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTt3QkFDM0IsQ0FBQztvQkFDTCxDQUFDO2lCQUNKLEVBQ0Q7b0JBQ0ksU0FBUyxFQUFFLENBQ1AsRUFBRSxFQUNGLFNBQVMsRUFDWCxFQUFFO3dCQUNBLE1BQU0sY0FBYyxHQUFxQjs0QkFDckMsSUFBSSxFQUFFLEVBQUU7NEJBQ1IsT0FBTyxFQUFFLFNBQVM7NEJBQ2xCLFdBQVcsRUFBRSxTQUFTO3lCQUN6QixDQUFBO3dCQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTt3QkFDdEMsT0FBTzs0QkFDSCxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7Z0NBQ3pCLElBQUksY0FBYyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQ0FDckMsT0FBTyxTQUFTLENBQUMsOENBQThDLENBQUMsSUFBSSxDQUFDLENBQUE7Z0NBQ3pFLENBQUM7cUNBQU0sQ0FBQztvQ0FDSixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUE7Z0NBQy9CLENBQUM7NEJBQ0wsQ0FBQzt5QkFDSixDQUFBO29CQUNMLENBQUM7aUJBQ0osQ0FDSixDQUFBO1lBQ0wsQ0FBQyxDQUFBO1lBQ0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNsQyxDQUFDLENBQUMsQ0FBQTtZQUVGLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUN2QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDdEIsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQzNCLENBQUM7cUJBQU0sQ0FBQztvQkFDSixDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQzVCLENBQUM7WUFFTCxDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsR0FBRyxFQUFFLENBQ0QsWUFFVyxFQUNMLEVBQUU7WUFDUixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDWCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM5QixDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sR0FBRyxDQUFBO1FBQ2QsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFyVVksUUFBQSxVQUFVLGNBcVV0QjtBQUVNLE1BQU0sSUFBSSxHQUFHLENBQ2hCLElBQWtCLEVBQ3BCLEVBQUU7SUFDQSxPQUFPO1FBRUgsZUFBZSxFQUFFLEdBQ1AsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQTtRQUNsQyxDQUFDO1FBRUQsTUFBTSxFQUFFLENBQ0osUUFFWSxFQUNBLEVBQUU7WUFDZCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ3RELENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FDTCxXQUVrQixFQUNMLEVBQUU7WUFDZixNQUFNLEdBQUcsR0FBUyxFQUFFLENBQUE7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2hDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQTtZQUVOLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFFRCxTQUFTLEVBQUUsQ0FDUCxVQUFpQyxFQUNqQyxXQUdXLEVBQ2IsRUFBRTtZQUNBLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQTtZQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUN2QixVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUNoQyxDQUFBO1lBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDaEIsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxFQUN6QyxVQUFVLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQ2xELENBQUMsQ0FBQTtZQUNOLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztRQUVELEtBQUssRUFBRSxDQUNILE1BRVcsRUFDWCxTQUFvRCxFQUNqQyxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxHQUEwQixFQUFFLENBQUE7WUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3BCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFBO2dCQUNqQixDQUFDO2dCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEIsQ0FBQyxDQUFDLENBQUE7WUFDRixNQUFNLEtBQUssR0FBeUIsRUFBRSxDQUFBO1lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQzdCLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNqRCxDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBRUQsSUFBSSxFQUFFLENBQ0YsVUFBaUMsRUFDakMsV0FHVyxFQUNNLEVBQUU7WUFDbkIsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFBO1lBQ3hCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixLQUFLLEVBQUUsQ0FBQTtnQkFDUCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDaEIsQ0FBQyxFQUNELFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FDdEQsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUNKLENBQUE7WUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztRQUVELEdBQUcsRUFBRSxDQUNELFdBRWEsRUFDTSxFQUFFO1lBRXJCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzNDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDUCxDQUFDO1FBRUQsY0FBYyxFQUFFLENBQ1osb0JBRWtDLEVBQ2YsRUFBRTtZQUNyQixNQUFNLEdBQUcsR0FBZSxFQUFFLENBQUE7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDdEMsTUFBTSxDQUFDLGNBQWMsQ0FDakIsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDRixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNmLENBQUMsRUFDRCxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQ1osQ0FBQTtZQUNMLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFFRCxjQUFjLEVBQUUsQ0FDWixXQUdhLEVBQ00sRUFBRTtZQUVyQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFFRCxjQUFjLEVBQUUsQ0FLWixhQUFvQixFQUNwQixXQUdnQixFQUNoQixZQUdVLEVBQ1YsTUFHZ0IsRUFDTCxFQUFFO1lBQ2IsSUFBSSxhQUFhLEdBQUcsYUFBYSxDQUFBO1lBQ2pDLE9BQU8sTUFBTSxDQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO2dCQUM1QyxhQUFhLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQTtnQkFDbkQsT0FBTyxNQUFNLENBQUE7WUFDakIsQ0FBQyxDQUFDLENBQUMsRUFDSCxhQUFhLENBQ2hCLENBQUE7UUFDTCxDQUFDO1FBRUQsaUJBQWlCLEVBQUUsQ0FDZixPQUF5QyxFQUN6QyxXQUFxQixFQUNuQixFQUFFLENBQUMsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEQsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQ3RCO1FBRUQsWUFBWSxFQUFFLENBQ1YsT0FBZ0MsRUFDaEMsV0FBcUIsRUFDbkIsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUM5QixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNmLENBQUMsQ0FBQyxXQUFXLEVBQUU7UUFFdkIsZ0JBQWdCLEVBQUUsQ0FDZCxPQUF5QyxFQUN6QyxXQUFxQixFQUNuQixFQUFFLENBQUMsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUN6RixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMxRCxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FDdEI7UUFFRDs7V0FFRztRQUNILFlBQVksRUFBRSxDQUNWLElBQXVDLEVBQ3ZDLFdBQXFCLEVBQ25CLEVBQUU7WUFDSixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7Z0JBQ3JDLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNsQixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDcEIsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFdBQVcsRUFBRSxDQUFBO1FBQ3hCLENBQUM7UUFFRCxrQkFBa0IsRUFBRSxDQUNoQixPQUFxQixFQUNyQixXQUFvQyxFQUNwQyxPQUFpQixFQUNmLEVBQUU7WUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNuQixDQUFDLENBQUMsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDeEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDakIsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQ2xCLENBQUE7UUFDVCxDQUFDO1FBRUQsR0FBRyxFQUFFLENBQ0QsWUFFVyxFQUNMLEVBQUU7WUFDUixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDWCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDMUIsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLEdBQUcsQ0FBQTtRQUNkLENBQUM7UUFFRCxpQkFBaUIsRUFBRSxDQUNmLGFBQXNCLEVBQ3RCLFlBR1ksRUFDTCxFQUFFO1lBQ1QsSUFBSSxhQUFhLEdBQUcsYUFBYSxDQUFBO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUE7WUFDbEQsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLGFBQWEsQ0FBQTtRQUN4QixDQUFDO1FBRUQsZ0JBQWdCLEVBQUUsQ0FDZCxhQUFxQixFQUNyQixZQUdXLEVBQ0wsRUFBRTtZQUNSLElBQUksYUFBYSxHQUFHLGFBQWEsQ0FBQTtZQUNqQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLGFBQWEsR0FBRyxZQUFZLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO1lBQ2xELENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxhQUFhLENBQUE7UUFDeEIsQ0FBQztRQUVELE9BQU8sRUFBRSxHQUNPLEVBQUU7WUFDZCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDdkQsQ0FBQztLQUdKLENBQUE7QUFDTCxDQUFDLENBQUE7QUEzUVksUUFBQSxJQUFJLFFBMlFoQjtBQUVNLE1BQU0sTUFBTSxHQUFHLENBQ2xCLE1BQWMsRUFDaEIsRUFBRTtJQUNBLE9BQU87UUFFSDs7Ozs7Ozs7Ozs7V0FXRztRQUNILE1BQU0sRUFBRSxDQUNKLE9BQWUsRUFDZixLQUs4QixFQUM5QixLQUVDLEVBQ0ssRUFBRTtZQUNSLElBQUksT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoQixLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFBO1lBRWpDLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsS0FBSywyQkFBMkI7b0JBQzVCLDRCQUE0QjtvQkFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUUvQixLQUFLLDJCQUEyQjtvQkFDNUIsNEJBQTRCO29CQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBRTlCLEtBQUssY0FBYztvQkFDZiw2Q0FBNkM7b0JBQzdDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFFL0IsS0FBSyxpQkFBaUI7b0JBQ2xCLHVEQUF1RDtvQkFDdkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUUvQixLQUFLLGdCQUFnQjtvQkFDakIsdUJBQXVCO29CQUN2QixJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO29CQUM5QixDQUFDO3lCQUFNLENBQUM7d0JBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO29CQUMvQixDQUFDO2dCQUVMO29CQUNJLE1BQU0sZ0JBQWdCLEdBQVUsS0FBSyxDQUFBO29CQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixLQUFLLEVBQUUsQ0FBQyxDQUFBO1lBQzdELENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxFQUFFLENBQ0osSUFBTyxFQUNLLEVBQUU7WUFDZCxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUE7WUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2xCLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztLQUdKLENBQUE7QUFDTCxDQUFDLENBQUE7QUE3RVksUUFBQSxNQUFNLFVBNkVsQjtBQUVNLE1BQU0sUUFBUSxHQUFHLENBQ3BCLGNBQXNDLEVBQ3hDLEVBQUU7SUFDQSxPQUFPO1FBRUgsTUFBTSxFQUFFLENBQ0osTUFBb0IsRUFDcEIsVUFBb0IsRUFDbEIsRUFBRTtZQUNKLElBQUksTUFBVSxDQUFBO1lBQ2QsY0FBYyxDQUFDLGNBQWMsQ0FDekIsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNsQixPQUFPLFNBQVMsQ0FBQTtZQUNwQixDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNELE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQTtnQkFDckIsT0FBTyxTQUFTLENBQUE7WUFDcEIsQ0FBQyxDQUNKLENBQUE7WUFDRCxPQUFPLE1BQU8sQ0FBQTtRQUNsQixDQUFDO1FBRUQsR0FBRyxFQUFFLENBQ0QsZ0JBRWEsRUFDZ0IsRUFBRTtZQUMvQixJQUFJLE1BQXFDLENBQUE7WUFDekMsY0FBYyxDQUFDLGNBQWMsQ0FDekIsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBVyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ25ELENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQVksQ0FBQTtZQUNwQyxDQUFDLENBQ0osQ0FBQTtZQUNELE9BQU8sTUFBTyxDQUFBO1FBQ2xCLENBQUM7S0FFSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBekNZLFFBQUEsUUFBUSxZQXlDcEI7QUFFTSxNQUFNLEtBQUssR0FBRyxDQUNqQixLQUFZLEVBQ2QsRUFBRTtJQUNBLE9BQU87UUFFSCxNQUFNLEVBQUUsQ0FDSixNQUE2QixFQUMzQixFQUFFO1lBQ0osT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEIsQ0FBQztLQUVKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFaWSxRQUFBLEtBQUssU0FZakI7QUFFTSxNQUFNLElBQUksR0FBRyxDQUNoQixNQUFjLEVBQ2hCLEVBQUU7SUFDQSxPQUFPLEVBR04sQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQVBZLFFBQUEsSUFBSSxRQU9oQiJ9
|
|
477
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi90cmFuc2Zvcm1lci9fX2ludGVybmFsL2Zyb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNEVBQThFO0FBRTlFLG1FQUFvRDtBQUU3QyxNQUFNLE9BQU8sR0FBRyxDQUNuQixhQUFzQixFQUN4QixFQUFFO0lBQ0EsT0FBTztRQUVILE1BQU0sRUFBRSxDQUNKLE9BQWlCLEVBQ2pCLFFBQWtCLEVBQ2hCLEVBQUUsQ0FBQyxhQUFhO1lBQ2QsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNYLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDdkIsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQVpZLFFBQUEsT0FBTyxXQVluQjtBQUVNLE1BQU0sVUFBVSxHQUFHLENBQ3RCLElBQXdCLEVBQzFCLEVBQUU7SUFDQSxPQUFPO1FBRUgsaUJBQWlCLEVBQUUsR0FDVCxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFBO1FBQ2xDLENBQUM7UUFFRCxlQUFlLEVBQUUsQ0FDYixXQUdhLEVBQ00sRUFBRTtZQUNyQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsRixDQUFDO1FBRUQsTUFBTSxFQUFFLENBQ0osUUFHWSxFQUNNLEVBQUUsQ0FBQyxJQUFJLDZCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVHLE9BQU8sRUFBRSxDQUNMLG9CQUU4QixFQUM5QixNQUdXLEVBQ1gsS0FFQyxFQUNILEVBQUU7WUFDQSxNQUFNLEdBQUcsR0FBK0IsRUFBRSxDQUFBO1lBRTFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNwRCxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO29CQUM3RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO29CQUN4QyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDakMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtvQkFDbkMsQ0FBQztvQkFDRCxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxDQUFBO2dCQUNsQyxDQUFDLENBQUMsQ0FBQTtZQUNOLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxlQUFlLEVBQUUsQ0FDYixXQUdrQixFQUNMLEVBQUU7WUFDZixNQUFNLEdBQUcsR0FBUyxFQUFFLENBQUE7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ3hDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQTtZQUVOLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFFRCxrQkFBa0IsQ0FDZCxFQUFVLEVBQ1YsTUFBb0IsRUFDcEIsVUFBb0I7WUFFcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQzVCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3RDLElBQUksUUFBUSxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUNsQixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDOUIsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLFVBQVUsRUFBRSxDQUFBO1FBQ3ZCLENBQUM7UUFFRCxLQUFLLEVBQUUsQ0FDSCxNQUdXLEVBQ1gsU0FBMEQsRUFDdkMsRUFBRTtZQUNyQixNQUFNLElBQUksR0FBb0MsRUFBRSxDQUFBO1lBQ2hELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFDdkIsQ0FBQztnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDcEMsQ0FBQyxDQUFDLENBQUE7WUFDRixNQUFNLEtBQUssR0FBeUIsRUFBRSxDQUFBO1lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSw2QkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUMvRSxDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBRUQsSUFBSSxFQUFFLENBQ0YsZ0JBQTZDLEVBQzdDLFlBSVcsRUFDYixFQUFFO1lBQ0EsTUFBTSxHQUFHLEdBQTZCLEVBQUUsQ0FBQTtZQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FDbEIsS0FBSyxFQUNMLElBQUEsa0JBQVUsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDLGtCQUFrQixDQUMzQyxFQUFFLEVBQ0YsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FDdEIsRUFDRCxFQUFFLENBQ0wsQ0FBQTtZQUNMLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxHQUFHLEVBQUUsQ0FDRCxZQUdhLEVBQ1ksRUFBRTtZQUUzQiwrQ0FBK0M7WUFDL0MsTUFBTSxVQUFVLEdBQUcsQ0FDZixNQUFvQyxFQUNqQixFQUFFO2dCQUNyQixPQUFPLElBQUksNkJBQWdCLENBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ2pFLE9BQU87d0JBQ0gsRUFBRTt3QkFDRixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztxQkFDcEIsQ0FBQTtnQkFDTCxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1AsQ0FBQyxDQUFBO1lBRUQsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDbkMsQ0FBQztRQUVELGNBQWMsRUFBRSxDQUNaLHFCQUdrQyxFQUNULEVBQUUsQ0FBQyxJQUFJLDZCQUFnQixDQUNoRCxJQUFJO2FBQ0MsU0FBUyxFQUFFO2FBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQTJDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNyRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQzthQUN4RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0Q7UUFFRCxjQUFjLEVBQUUsQ0FDWixPQUFzQyxFQUN0QyxXQUFxQixFQUNuQixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUV2QixtQkFBbUIsRUFBRSxDQUNqQixPQUFpQyxFQUNqQyxXQUEwQyxFQUMxQyxPQUFpQixFQUNmLEVBQUUsQ0FBQyxJQUFBLFlBQUksRUFBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQzdHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQ3RDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDdkIsT0FBTyxDQUNWO1FBRUQsS0FBSyxFQUFFLENBQ0gsTUFBcUMsRUFDckMsS0FFQyxFQUNpQixFQUFFO1lBQ3BCLE1BQU0sSUFBSSxHQUF3QixFQUFFLENBQUE7WUFDcEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM3QixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQ3hCLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FDTCxZQUthLEVBQ1ksRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUE7WUFDbkIsTUFBTSxHQUFHLEdBQStCLEVBQUUsQ0FBQTtZQUUxQyxNQUFNLGVBQWUsR0FBMkIsRUFBRSxDQUFBO1lBVWxELE1BQU0saUJBQWlCLEdBQXVCLEVBQUUsQ0FBQTtZQUVoRCxNQUFNLGFBQWEsR0FBRyxDQUNsQixLQUFRLEVBQ1IsRUFBVSxFQUNWLEtBQWUsRUFDTixFQUFFO2dCQUNYLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4QixtQkFBbUI7b0JBQ25CLE9BQU07Z0JBQ1YsQ0FBQztnQkFDRCxlQUFlLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFBO2dCQUMxQixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUNsQixLQUFLLEVBQ0wsRUFBRSxFQUNGO29CQUNJLFNBQVMsRUFBRSxDQUNQLEVBQUUsRUFDRixTQUFTLEVBQ1gsRUFBRTt3QkFDQSxJQUFJLGFBQWEsR0FBWSxLQUFLLENBQUE7d0JBQ2xDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDOzRCQUN4QixJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQ0FDcEMsT0FBTyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTs0QkFDcEUsQ0FBQztpQ0FBTSxDQUFDO2dDQUNKLElBQUEsa0JBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQyxrQkFBa0IsQ0FDakMsRUFBRSxFQUNGLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0NBQ0YsYUFBYSxDQUNULENBQUMsRUFDRCxFQUFFLEVBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3JCLENBQUE7b0NBQ0QsYUFBYSxHQUFHLEtBQUssQ0FBQTtvQ0FDckIsT0FBTyxJQUFJLENBQUE7Z0NBQ2YsQ0FBQyxFQUNELEdBQUcsRUFBRTtvQ0FDRCxhQUFhLEdBQUcsSUFBSSxDQUFBO29DQUNwQixPQUFPLElBQUksQ0FBQTtnQ0FDZixDQUFDLENBQ0osQ0FBQTs0QkFDTCxDQUFDO3dCQUVMLENBQUM7d0JBQ0QsMkRBQTJEO3dCQUMzRCxJQUFJLGFBQWEsRUFBRSxDQUFDOzRCQUNoQixPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQTt3QkFDeEIsQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTt3QkFDM0IsQ0FBQztvQkFDTCxDQUFDO2lCQUNKLEVBQ0Q7b0JBQ0ksU0FBUyxFQUFFLENBQ1AsRUFBRSxFQUNGLFNBQVMsRUFDWCxFQUFFO3dCQUNBLE1BQU0sY0FBYyxHQUFxQjs0QkFDckMsSUFBSSxFQUFFLEVBQUU7NEJBQ1IsT0FBTyxFQUFFLFNBQVM7NEJBQ2xCLFdBQVcsRUFBRSxTQUFTO3lCQUN6QixDQUFBO3dCQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTt3QkFDdEMsT0FBTzs0QkFDSCxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7Z0NBQ3pCLElBQUksY0FBYyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQ0FDckMsT0FBTyxTQUFTLENBQUMsOENBQThDLENBQUMsSUFBSSxDQUFDLENBQUE7Z0NBQ3pFLENBQUM7cUNBQU0sQ0FBQztvQ0FDSixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUE7Z0NBQy9CLENBQUM7NEJBQ0wsQ0FBQzt5QkFDSixDQUFBO29CQUNMLENBQUM7aUJBQ0osQ0FDSixDQUFBO1lBQ0wsQ0FBQyxDQUFBO1lBQ0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNsQyxDQUFDLENBQUMsQ0FBQTtZQUVGLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUM1QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUN2QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDdEIsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQzNCLENBQUM7cUJBQU0sQ0FBQztvQkFDSixDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQzVCLENBQUM7WUFFTCxDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsR0FBRyxFQUFFLENBQ0QsWUFFVyxFQUNMLEVBQUU7WUFDUixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDWCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsR0FBRyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM5QixDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sR0FBRyxDQUFBO1FBQ2QsQ0FBQztLQUNKLENBQUE7QUFDTCxDQUFDLENBQUE7QUFyVVksUUFBQSxVQUFVLGNBcVV0QjtBQUVNLE1BQU0sSUFBSSxHQUFHLENBQ2hCLElBQWtCLEVBQ3BCLEVBQUU7SUFDQSxPQUFPO1FBRUgsZUFBZSxFQUFFLEdBQ1AsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQTtRQUNsQyxDQUFDO1FBRUQsTUFBTSxFQUFFLENBQ0osUUFFWSxFQUNBLEVBQUU7WUFDZCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1FBQ3RELENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FDTCxXQUVrQixFQUNMLEVBQUU7WUFDZixNQUFNLEdBQUcsR0FBUyxFQUFFLENBQUE7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2hDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQUMsQ0FBQTtZQUVOLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFFRCxTQUFTLEVBQUUsQ0FDUCxVQUFpQyxFQUNqQyxXQUdXLEVBQ2IsRUFBRTtZQUNBLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUN0QyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDN0MsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFBO1lBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3RCLGFBQWEsQ0FBQyxNQUFNLEVBQ3BCLGNBQWMsQ0FBQyxNQUFNLENBQ3hCLENBQUE7WUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQ0osV0FBVyxDQUNQLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTTtvQkFDcEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzQixDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUNuQixDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU07b0JBQ3JCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FDdEIsQ0FDSixDQUFBO1lBQ0wsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBRUQsS0FBSyxFQUFFLENBQ0gsTUFFVyxFQUNYLFNBQW9ELEVBQ2pDLEVBQUU7WUFDckIsTUFBTSxJQUFJLEdBQTBCLEVBQUUsQ0FBQTtZQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBQ2pCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNwQixDQUFDLENBQUMsQ0FBQTtZQUNGLE1BQU0sS0FBSyxHQUF5QixFQUFFLENBQUE7WUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBQ2pELENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2hDLENBQUM7UUFFRCxJQUFJLEVBQUUsQ0FDRixVQUFpQyxFQUNqQyxXQUdXLEVBQ00sRUFBRTtZQUNuQixNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUE7WUFDeEIsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFBO1lBQzdDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixLQUFLLEVBQUUsQ0FBQTtnQkFDUCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDaEIsQ0FBQyxFQUNELEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTTtvQkFDekIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUN0QixDQUFDLENBQUE7WUFDTixDQUFDLENBQ0osQ0FBQTtZQUNELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBRUQsR0FBRyxFQUFFLENBQ0QsV0FFYSxFQUNNLEVBQUU7WUFFckIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUM7UUFFRCxjQUFjLEVBQUUsQ0FDWixvQkFFa0MsRUFDZixFQUFFO1lBQ3JCLE1BQU0sR0FBRyxHQUFlLEVBQUUsQ0FBQTtZQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN0QyxNQUFNLENBQUMsY0FBYyxDQUNqQixDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2YsQ0FBQyxFQUNELEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FDWixDQUFBO1lBQ0wsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDeEIsQ0FBQztRQUVELGNBQWMsRUFBRSxDQUNaLFdBR2EsRUFDTSxFQUFFO1lBRXJCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUUsQ0FBQztRQUVELGNBQWMsRUFBRSxDQUtaLGFBQW9CLEVBQ3BCLFdBR2dCLEVBQ2hCLFlBR1UsRUFDVixNQUdnQixFQUNMLEVBQUU7WUFDYixJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUE7WUFDakMsT0FBTyxNQUFNLENBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUE7Z0JBQzVDLGFBQWEsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFBO2dCQUNuRCxPQUFPLE1BQU0sQ0FBQTtZQUNqQixDQUFDLENBQUMsQ0FBQyxFQUNILGFBQWEsQ0FDaEIsQ0FBQTtRQUNMLENBQUM7UUFFRCxpQkFBaUIsRUFBRSxDQUNmLE9BQXlDLEVBQ3pDLFdBQXFCLEVBQ25CLEVBQUU7WUFDSixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDakMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLFdBQVcsRUFBRSxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLE9BQU8sQ0FDVixRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ1gsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzlCLENBQUE7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUVELFlBQVksRUFBRSxDQUNWLE9BQWdDLEVBQ2hDLFdBQXFCLEVBQ25CLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDOUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDZixDQUFDLENBQUMsV0FBVyxFQUFFO1FBRXZCLGdCQUFnQixFQUFFLENBQ2QsT0FHTyxFQUNQLFdBQXFCLEVBQ25CLEVBQUU7WUFDSixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDakMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLFdBQVcsRUFBRSxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLE9BQU8sQ0FDVixRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xDLENBQUE7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUVEOztXQUVHO1FBQ0gsWUFBWSxFQUFFLENBQ1YsSUFBdUMsRUFDdkMsV0FBcUIsRUFDbkIsRUFBRTtZQUNKLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUM1QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtnQkFDckMsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNwQixDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sV0FBVyxFQUFFLENBQUE7UUFDeEIsQ0FBQztRQUVELGtCQUFrQixFQUFFLENBQ2hCLE9BQXFCLEVBQ3JCLFdBQW9DLEVBQ3BDLE9BQWlCLEVBQ2YsRUFBRTtZQUNKLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUNqQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sT0FBTyxFQUFFLENBQUE7WUFDcEIsQ0FBQztpQkFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUM1QixDQUFDO1FBQ0wsQ0FBQztRQUVELEdBQUcsRUFBRSxDQUNELFlBRVcsRUFDTCxFQUFFO1lBQ1IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFBO1lBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixHQUFHLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzFCLENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxHQUFHLENBQUE7UUFDZCxDQUFDO1FBRUQsaUJBQWlCLEVBQUUsQ0FDZixhQUFzQixFQUN0QixZQUdZLEVBQ0wsRUFBRTtZQUNULElBQUksYUFBYSxHQUFHLGFBQWEsQ0FBQTtZQUNqQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLGFBQWEsR0FBRyxZQUFZLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO1lBQ2xELENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxhQUFhLENBQUE7UUFDeEIsQ0FBQztRQUVELGdCQUFnQixFQUFFLENBQ2QsYUFBcUIsRUFDckIsWUFHVyxFQUNMLEVBQUU7WUFDUixJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUE7WUFDakMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMzQixhQUFhLEdBQUcsWUFBWSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQTtZQUNsRCxDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sYUFBYSxDQUFBO1FBQ3hCLENBQUM7UUFFRCxPQUFPLEVBQUUsR0FDTyxFQUFFO1lBQ2QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELENBQUM7S0FHSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBelNZLFFBQUEsSUFBSSxRQXlTaEI7QUFFTSxNQUFNLE1BQU0sR0FBRyxDQUNsQixNQUFjLEVBQ2hCLEVBQUU7SUFDQSxPQUFPO1FBRUg7Ozs7Ozs7Ozs7O1dBV0c7UUFDSCxNQUFNLEVBQUUsQ0FDSixPQUFlLEVBQ2YsS0FLOEIsRUFDOUIsS0FFQyxFQUNLLEVBQUU7WUFDUixJQUFJLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEIsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMvQixDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQTtZQUVqQyxRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLEtBQUssMkJBQTJCO29CQUM1Qiw0QkFBNEI7b0JBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFFL0IsS0FBSywyQkFBMkI7b0JBQzVCLDRCQUE0QjtvQkFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUU5QixLQUFLLGNBQWM7b0JBQ2YsNkNBQTZDO29CQUM3QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBRS9CLEtBQUssaUJBQWlCO29CQUNsQix1REFBdUQ7b0JBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFFL0IsS0FBSyxnQkFBZ0I7b0JBQ2pCLHVCQUF1QjtvQkFDdkIsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtvQkFDOUIsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtvQkFDL0IsQ0FBQztnQkFFTDtvQkFDSSxNQUFNLGdCQUFnQixHQUFVLEtBQUssQ0FBQTtvQkFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUM3RCxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sRUFBRSxDQUNKLElBQU8sRUFDSyxFQUFFO1lBQ2QsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFBO1lBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDOUIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNsQixDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7S0FHSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBN0VZLFFBQUEsTUFBTSxVQTZFbEI7QUFFTSxNQUFNLFFBQVEsR0FBRyxDQUNwQixjQUFzQyxFQUN4QyxFQUFFO0lBQ0EsT0FBTztRQUVILE1BQU0sRUFBRSxDQUNKLE1BQW9CLEVBQ3BCLFVBQW9CLEVBQ2xCLEVBQUU7WUFDSixJQUFJLE1BQVUsQ0FBQTtZQUNkLGNBQWMsQ0FBQyxjQUFjLENBQ3pCLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDbEIsT0FBTyxTQUFTLENBQUE7WUFDcEIsQ0FBQyxFQUNELEdBQUcsRUFBRTtnQkFDRCxNQUFNLEdBQUcsVUFBVSxFQUFFLENBQUE7Z0JBQ3JCLE9BQU8sU0FBUyxDQUFBO1lBQ3BCLENBQUMsQ0FDSixDQUFBO1lBQ0QsT0FBTyxNQUFPLENBQUE7UUFDbEIsQ0FBQztRQUVELEdBQUcsRUFBRSxDQUNELGdCQUVhLEVBQ2dCLEVBQUU7WUFDL0IsSUFBSSxNQUFxQyxDQUFBO1lBQ3pDLGNBQWMsQ0FBQyxjQUFjLENBQ3pCLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0YsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQVcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNuRCxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFZLENBQUE7WUFDcEMsQ0FBQyxDQUNKLENBQUE7WUFDRCxPQUFPLE1BQU8sQ0FBQTtRQUNsQixDQUFDO0tBRUosQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQXpDWSxRQUFBLFFBQVEsWUF5Q3BCO0FBRU0sTUFBTSxLQUFLLEdBQUcsQ0FDakIsS0FBWSxFQUNkLEVBQUU7SUFDQSxPQUFPO1FBRUgsTUFBTSxFQUFFLENBQ0osTUFBNkIsRUFDM0IsRUFBRTtZQUNKLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLENBQUM7S0FFSixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBWlksUUFBQSxLQUFLLFNBWWpCO0FBRU0sTUFBTSxJQUFJLEdBQUcsQ0FDaEIsTUFBYyxFQUNoQixFQUFFO0lBQ0EsT0FBTyxFQUdOLENBQUE7QUFDTCxDQUFDLENBQUE7QUFQWSxRQUFBLElBQUksUUFPaEIifQ==
|
|
@@ -6,6 +6,7 @@ import { Value } from "./Value";
|
|
|
6
6
|
* unmutable and minimal by design
|
|
7
7
|
*/
|
|
8
8
|
export interface List<T extends Value> {
|
|
9
|
+
__list: true;
|
|
9
10
|
__deprecated_get_possible_item_at(index: number): Optional_Value<T>;
|
|
10
11
|
__deprecated_get_item_at(index: number, abort: {
|
|
11
12
|
out_of_bounds: Abort<null>;
|
|
@@ -7,6 +7,7 @@ import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
|
7
7
|
* this 'Optional_Value' type makes it possible to have recursive optional types like this: Optional_Value<Optional_Value<number>>
|
|
8
8
|
*/
|
|
9
9
|
export interface Optional_Value<T extends Value> {
|
|
10
|
+
__optional_value: true;
|
|
10
11
|
__extract_data(set: ($: T) => undefined, not_set: () => undefined): undefined;
|
|
11
12
|
__get_raw(): Raw_Optional_Value<T>;
|
|
12
13
|
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import * as p_di from "../../data";
|
|
2
2
|
import { Abort } from "../../__internal/Abort";
|
|
3
3
|
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
4
|
-
export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value> = {
|
|
5
|
-
assert_finished: <T>(assign: () => T, abort: {
|
|
6
|
-
not_finished: Abort<null>;
|
|
7
|
-
}) => T;
|
|
4
|
+
export type Iterator<Item extends p_di.Value, End_Info extends p_di.Value, Error extends p_di.Value> = {
|
|
8
5
|
consume: <T extends p_di.Value>(callback: (token: Item) => T, no_item: () => T) => T;
|
|
9
6
|
discard: <T extends p_di.Value>(callback: () => T) => undefined;
|
|
10
|
-
expect: <T extends p_di.Value
|
|
11
|
-
abort: Abort<Error>;
|
|
7
|
+
expect: <T extends p_di.Value>($: {
|
|
12
8
|
get_error: ($: p_di.Optional_Value<Item>) => Error;
|
|
13
9
|
item: (token: Item, abort: Abort<null>) => T;
|
|
14
10
|
}) => T;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as p_di from "../../data";
|
|
2
|
+
import { Raw_Optional_Value } from "../../__internal/Raw_Optional_Value";
|
|
3
|
+
export type Safe_Iterator<Item extends p_di.Value, End_Info extends p_di.Value> = {
|
|
4
|
+
consume: <T extends p_di.Value>(callback: (token: Item) => T, no_item: () => T) => T;
|
|
5
|
+
discard: <T extends p_di.Value>(callback: () => T) => undefined;
|
|
6
|
+
get_end_info: () => End_Info;
|
|
7
|
+
list: <List_Item extends p_di.Value>($: {
|
|
8
|
+
has_more_items: ($: Item) => boolean;
|
|
9
|
+
handle: ($: Item) => List_Item;
|
|
10
|
+
}) => p_di.List<List_Item>;
|
|
11
|
+
look: <T extends p_di.Value>(item: (token: Item) => T, no_item: (end_info: End_Info) => T) => T;
|
|
12
|
+
look_raw: () => Raw_Optional_Value<Item>;
|
|
13
|
+
look_ahead_raw: (offset: number) => Raw_Optional_Value<Item>;
|
|
14
|
+
optional: <T extends p_di.Value>($: {
|
|
15
|
+
item: (token: Item) => p_di.Optional_Value<T>;
|
|
16
|
+
}) => p_di.Optional_Value<T>;
|
|
17
|
+
wrap_up: <T extends p_di.Value>(callback: () => T, post: () => any) => T;
|
|
18
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2FmZV9JdGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcmZhY2UvcHJvZHVjdGlvbi9fX2ludGVybmFsL1NhZmVfSXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Abort } from "../__internal/Abort";
|
|
2
2
|
import { Iterator } from "./__internal/Iterator";
|
|
3
|
+
import { Safe_Iterator } from "./__internal/Safe_Iterator";
|
|
3
4
|
import * as p_di from "../data";
|
|
4
5
|
export { Iterator } from "./__internal/Iterator";
|
|
5
|
-
export
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
8
|
-
export type
|
|
6
|
+
export { Safe_Iterator } from "./__internal/Safe_Iterator";
|
|
7
|
+
export type Production<Result extends p_di.Value, Error extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info, Error>, abort: Abort<Error>) => Result;
|
|
8
|
+
export type Production_With_Parameter<Result extends p_di.Value, Error extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value, Parameter extends p_di.Value> = (iterator: Iterator<Iterator_Item, End_Info, Error>, abort: Abort<Error>, $p: Parameter) => Result;
|
|
9
|
+
export type Production_Without_Error<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value> = (iterator: Safe_Iterator<Iterator_Item, End_Info>) => Result;
|
|
10
|
+
export type Production_Without_Error_With_Parameter<Result extends p_di.Value, Iterator_Item extends p_di.Value, End_Info extends p_di.Value, Parameter extends p_di.Value> = (iterator: Safe_Iterator<Iterator_Item, End_Info>, $p: Parameter) => Result;
|