@gamepark/react-game 6.35.5 → 6.35.7
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/components/material/FlatMaterial/PolyhexDescription.d.ts +4 -0
- package/dist/components/material/FlatMaterial/PolyhexDescription.js +4 -2
- package/dist/components/material/FlatMaterial/PolyhexDescription.js.map +1 -1
- package/dist/locators/HexagonalGridLocator.d.ts +13 -5
- package/dist/locators/HexagonalGridLocator.js +54 -51
- package/dist/locators/HexagonalGridLocator.js.map +1 -1
- package/package.json +1 -1
- package/dist/locators/utils/grid.hex.util.d.ts +0 -43
- package/dist/locators/utils/grid.hex.util.js +0 -92
- package/dist/locators/utils/grid.hex.util.js.map +0 -1
|
@@ -4,6 +4,10 @@ import { ComponentDescription } from '../ComponentDescription';
|
|
|
4
4
|
import { FlatMaterialDescription } from './FlatMaterial';
|
|
5
5
|
export declare abstract class PolyhexDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any> extends FlatMaterialDescription<P, M, L, ItemId> {
|
|
6
6
|
abstract coordinatesSystem: HexGridSystem;
|
|
7
|
+
polyhexShape: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}[];
|
|
7
11
|
getPolyhexShape(_item: MaterialItem<P, L, ItemId>, _context: ItemContext<P, M, L>): XYCoordinates[];
|
|
8
12
|
}
|
|
9
13
|
export declare function isPolyhexDescription<P extends number = number, M extends number = number, L extends number = number, ItemId = any>(description: ComponentDescription<ItemId>): description is PolyhexDescription<P, M, L, ItemId>;
|
|
@@ -20,10 +20,12 @@ var FlatMaterial_1 = require("./FlatMaterial");
|
|
|
20
20
|
var PolyhexDescription = /** @class */ (function (_super) {
|
|
21
21
|
__extends(PolyhexDescription, _super);
|
|
22
22
|
function PolyhexDescription() {
|
|
23
|
-
|
|
23
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
_this.polyhexShape = [{ x: 0, y: 0 }];
|
|
25
|
+
return _this;
|
|
24
26
|
}
|
|
25
27
|
PolyhexDescription.prototype.getPolyhexShape = function (_item, _context) {
|
|
26
|
-
return
|
|
28
|
+
return this.polyhexShape;
|
|
27
29
|
};
|
|
28
30
|
return PolyhexDescription;
|
|
29
31
|
}(FlatMaterial_1.FlatMaterialDescription));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolyhexDescription.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/PolyhexDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,+CAAwD;AAExD;IACU,sCAAwC;IADlD
|
|
1
|
+
{"version":3,"file":"PolyhexDescription.js","sourceRoot":"","sources":["../../../../src/components/material/FlatMaterial/PolyhexDescription.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,+CAAwD;AAExD;IACU,sCAAwC;IADlD;QAAA,qEAUC;QALC,kBAAY,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;;IAKjC,CAAC;IAHC,4CAAe,GAAf,UAAgB,KAAiC,EAAE,QAA8B;QAC/E,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IACH,yBAAC;AAAD,CAAC,AAVD,CACU,sCAAuB,GAShC;AAVqB,gDAAkB;AAYxC,SAAgB,oBAAoB,CAClC,WAAyC;IAEzC,OAAO,OAAQ,WAAkC,CAAC,eAAe,KAAK,UAAU,CAAA;AAClF,CAAC;AAJD,oDAIC"}
|
|
@@ -35,11 +35,12 @@ export declare abstract class HexagonalGridLocator<P extends number = number, M
|
|
|
35
35
|
*/
|
|
36
36
|
getBoundaries(_location: Location<P, L>, _context: MaterialContext<P, M, L>): Partial<GridBoundaries>;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
39
|
-
* @param
|
|
40
|
-
* @
|
|
38
|
+
* Based on the coordinates of each hexagon in an area, return the delta coordinates to place the area properly
|
|
39
|
+
* @param areaCoordinates Coordinates of each hexagon composing the area
|
|
40
|
+
* @param coordinatesSystem System of coordinates to consider
|
|
41
|
+
* @return delta x and y to apply to the position of the area
|
|
41
42
|
*/
|
|
42
|
-
|
|
43
|
+
getAreaDelta(areaCoordinates: XYCoordinates[], coordinatesSystem?: HexGridSystem): XYCoordinates;
|
|
43
44
|
/**
|
|
44
45
|
* Get the coordinates for the full grid area
|
|
45
46
|
* @param location Location to place
|
|
@@ -55,7 +56,14 @@ export declare abstract class HexagonalGridLocator<P extends number = number, M
|
|
|
55
56
|
*/
|
|
56
57
|
getLocationCoordinates(location: Location<P, L>, context: MaterialContext<P, M, L>): Partial<Coordinates>;
|
|
57
58
|
/**
|
|
58
|
-
* Get the
|
|
59
|
+
* Get the position of a hexagon
|
|
60
|
+
* @param coordinates Coordinates of the hexagon
|
|
61
|
+
* @param coordinatesSystem System of coordinates to consider
|
|
62
|
+
* @return coordinates to place the hexagon on the location
|
|
63
|
+
*/
|
|
64
|
+
getHexagonPosition(coordinates: Partial<XYCoordinates>, coordinatesSystem?: HexGridSystem): XYCoordinates;
|
|
65
|
+
/**
|
|
66
|
+
* Get the coordinates of an item on the grid. If the item is a Polyhex, the shape will be used to center the origin coordinates of the item on the
|
|
59
67
|
* correct grid location.
|
|
60
68
|
* @param item Item to place
|
|
61
69
|
* @param context Context of the game
|
|
@@ -24,6 +24,7 @@ var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
|
24
24
|
var maxBy_1 = __importDefault(require("lodash/maxBy"));
|
|
25
25
|
var minBy_1 = __importDefault(require("lodash/minBy"));
|
|
26
26
|
var omit_1 = __importDefault(require("lodash/omit"));
|
|
27
|
+
var range_1 = __importDefault(require("lodash/range"));
|
|
27
28
|
var uniqWith_1 = __importDefault(require("lodash/uniqWith"));
|
|
28
29
|
var components_1 = require("../components");
|
|
29
30
|
var Locator_1 = require("./Locator");
|
|
@@ -72,34 +73,21 @@ var HexagonalGridLocator = /** @class */ (function (_super) {
|
|
|
72
73
|
return this.boundaries;
|
|
73
74
|
};
|
|
74
75
|
/**
|
|
75
|
-
*
|
|
76
|
-
* @param
|
|
77
|
-
* @
|
|
76
|
+
* Based on the coordinates of each hexagon in an area, return the delta coordinates to place the area properly
|
|
77
|
+
* @param areaCoordinates Coordinates of each hexagon composing the area
|
|
78
|
+
* @param coordinatesSystem System of coordinates to consider
|
|
79
|
+
* @return delta x and y to apply to the position of the area
|
|
78
80
|
*/
|
|
79
|
-
HexagonalGridLocator.prototype.getAreaDelta = function (
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return { x: deltaX * 3 / 2 * this.sizeX, y: deltaY * Math.sqrt(3) * this.sizeY };
|
|
90
|
-
}
|
|
91
|
-
case rules_api_1.HexGridSystem.EvenQ: {
|
|
92
|
-
var deltaX = (xMin + xMax) / 2;
|
|
93
|
-
var deltaY = ((xMin !== xMax ? -0.5 : xMin % 2 === 0 ? 0 : -1) + yMin + yMax) / 2;
|
|
94
|
-
return { x: deltaX * 3 / 2 * this.sizeX, y: deltaY * Math.sqrt(3) * this.sizeY };
|
|
95
|
-
}
|
|
96
|
-
case rules_api_1.HexGridSystem.OddR: {
|
|
97
|
-
throw new Error('OddR HexGridSystem is not yet implemented');
|
|
98
|
-
}
|
|
99
|
-
case rules_api_1.HexGridSystem.EvenR: {
|
|
100
|
-
throw new Error('EvenR HexGridSystem is not yet implemented');
|
|
101
|
-
}
|
|
102
|
-
}
|
|
81
|
+
HexagonalGridLocator.prototype.getAreaDelta = function (areaCoordinates, coordinatesSystem) {
|
|
82
|
+
var _this = this;
|
|
83
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
84
|
+
if (coordinatesSystem === void 0) { coordinatesSystem = this.coordinatesSystem; }
|
|
85
|
+
var areaDeltaCoordinates = areaCoordinates.map(function (coordinates) { return _this.getHexagonPosition(coordinates, coordinatesSystem); });
|
|
86
|
+
var xMin = (_b = (_a = (0, minBy_1.default)(areaDeltaCoordinates, 'x')) === null || _a === void 0 ? void 0 : _a.x) !== null && _b !== void 0 ? _b : 0;
|
|
87
|
+
var xMax = (_d = (_c = (0, maxBy_1.default)(areaDeltaCoordinates, 'x')) === null || _c === void 0 ? void 0 : _c.x) !== null && _d !== void 0 ? _d : 0;
|
|
88
|
+
var yMin = (_f = (_e = (0, minBy_1.default)(areaDeltaCoordinates, 'y')) === null || _e === void 0 ? void 0 : _e.y) !== null && _f !== void 0 ? _f : 0;
|
|
89
|
+
var yMax = (_h = (_g = (0, maxBy_1.default)(areaDeltaCoordinates, 'y')) === null || _g === void 0 ? void 0 : _g.y) !== null && _h !== void 0 ? _h : 0;
|
|
90
|
+
return { x: (xMin + xMax) / 2, y: (yMin + yMax) / 2 };
|
|
103
91
|
};
|
|
104
92
|
/**
|
|
105
93
|
* Get the coordinates for the full grid area
|
|
@@ -109,7 +97,9 @@ var HexagonalGridLocator = /** @class */ (function (_super) {
|
|
|
109
97
|
*/
|
|
110
98
|
HexagonalGridLocator.prototype.getAreaCoordinates = function (location, context) {
|
|
111
99
|
var _a = this.getCoordinates(location, context), _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, z = _a.z;
|
|
112
|
-
var _d = this.
|
|
100
|
+
var _d = this.getBoundaries(location, context), _e = _d.xMax, xMax = _e === void 0 ? 0 : _e, _f = _d.xMin, xMin = _f === void 0 ? 0 : _f, _g = _d.yMax, yMax = _g === void 0 ? 0 : _g, _h = _d.yMin, yMin = _h === void 0 ? 0 : _h;
|
|
101
|
+
var areaCoordinates = (0, range_1.default)(xMin, xMax + 1).flatMap(function (x) { return (0, range_1.default)(yMin, yMax + 1).map(function (y) { return ({ x: x, y: y }); }); });
|
|
102
|
+
var _j = this.getAreaDelta(areaCoordinates), deltaX = _j.x, deltaY = _j.y;
|
|
113
103
|
return { x: x + deltaX, y: y + deltaY, z: z };
|
|
114
104
|
};
|
|
115
105
|
/**
|
|
@@ -123,29 +113,37 @@ var HexagonalGridLocator = /** @class */ (function (_super) {
|
|
|
123
113
|
return this.getAreaCoordinates(location, context);
|
|
124
114
|
}
|
|
125
115
|
var _a = this.getCoordinates(location, context), _b = _a.x, baseX = _b === void 0 ? 0 : _b, _c = _a.y, baseY = _c === void 0 ? 0 : _c, baseZ = _a.z;
|
|
126
|
-
var _d = location.x, x =
|
|
127
|
-
|
|
116
|
+
var _d = this.getHexagonPosition(location), _e = _d.x, x = _e === void 0 ? 0 : _e, _f = _d.y, y = _f === void 0 ? 0 : _f;
|
|
117
|
+
return { x: baseX + x, y: baseY + y, z: baseZ };
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Get the position of a hexagon
|
|
121
|
+
* @param coordinates Coordinates of the hexagon
|
|
122
|
+
* @param coordinatesSystem System of coordinates to consider
|
|
123
|
+
* @return coordinates to place the hexagon on the location
|
|
124
|
+
*/
|
|
125
|
+
HexagonalGridLocator.prototype.getHexagonPosition = function (coordinates, coordinatesSystem) {
|
|
126
|
+
if (coordinatesSystem === void 0) { coordinatesSystem = this.coordinatesSystem; }
|
|
127
|
+
var _a = coordinates.x, x = _a === void 0 ? 0 : _a, _b = coordinates.y, y = _b === void 0 ? 0 : _b;
|
|
128
|
+
switch (coordinatesSystem) {
|
|
128
129
|
case rules_api_1.HexGridSystem.Axial: {
|
|
129
130
|
return {
|
|
130
|
-
x:
|
|
131
|
-
y:
|
|
132
|
-
z: baseZ
|
|
131
|
+
x: (x * Math.sqrt(3) + y * Math.sqrt(3) / 2) * this.sizeX,
|
|
132
|
+
y: y * 3 / 2 * this.sizeY
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
135
|
case rules_api_1.HexGridSystem.OddQ: {
|
|
136
136
|
y += ((x % 2 + 2) % 2) / 2;
|
|
137
137
|
return {
|
|
138
|
-
x:
|
|
139
|
-
y:
|
|
140
|
-
z: baseZ
|
|
138
|
+
x: x * 3 / 2 * this.sizeX,
|
|
139
|
+
y: y * Math.sqrt(3) * this.sizeY
|
|
141
140
|
};
|
|
142
141
|
}
|
|
143
142
|
case rules_api_1.HexGridSystem.EvenQ: {
|
|
144
143
|
y -= ((x % 2 + 2) % 2) / 2;
|
|
145
144
|
return {
|
|
146
|
-
x:
|
|
147
|
-
y:
|
|
148
|
-
z: baseZ
|
|
145
|
+
x: x * 3 / 2 * this.sizeX,
|
|
146
|
+
y: y * Math.sqrt(3) * this.sizeY
|
|
149
147
|
};
|
|
150
148
|
}
|
|
151
149
|
case rules_api_1.HexGridSystem.OddR: {
|
|
@@ -157,26 +155,22 @@ var HexagonalGridLocator = /** @class */ (function (_super) {
|
|
|
157
155
|
}
|
|
158
156
|
};
|
|
159
157
|
/**
|
|
160
|
-
* Get the coordinates of an item on the grid. If the item is a Polyhex, the shape will be
|
|
158
|
+
* Get the coordinates of an item on the grid. If the item is a Polyhex, the shape will be used to center the origin coordinates of the item on the
|
|
161
159
|
* correct grid location.
|
|
162
160
|
* @param item Item to place
|
|
163
161
|
* @param context Context of the game
|
|
164
162
|
* @return the coordinates of the item
|
|
165
163
|
*/
|
|
166
164
|
HexagonalGridLocator.prototype.getItemCoordinates = function (item, context) {
|
|
167
|
-
var
|
|
168
|
-
var _a, _b, _c, _d;
|
|
165
|
+
var _a = _super.prototype.getItemCoordinates.call(this, item, context), _b = _a.x, x = _b === void 0 ? 0 : _b, _c = _a.y, y = _c === void 0 ? 0 : _c, z = _a.z;
|
|
169
166
|
var description = context.material[context.type];
|
|
170
|
-
if (description
|
|
171
|
-
|
|
172
|
-
return (0, rules_api_1.hexFromAxial)((0, rules_api_1.hexRotate)((0, rules_api_1.hexToAxial)(hex, description.coordinatesSystem), item.location.rotation), _this.coordinatesSystem);
|
|
173
|
-
});
|
|
174
|
-
var xMin = (_a = (0, minBy_1.default)(shape, 'x')) === null || _a === void 0 ? void 0 : _a.x, xMax = (_b = (0, maxBy_1.default)(shape, 'x')) === null || _b === void 0 ? void 0 : _b.x, yMin = (_c = (0, minBy_1.default)(shape, 'y')) === null || _c === void 0 ? void 0 : _c.y, yMax = (_d = (0, maxBy_1.default)(shape, 'y')) === null || _d === void 0 ? void 0 : _d.y;
|
|
175
|
-
var _e = _super.prototype.getItemCoordinates.call(this, item, context), _f = _e.x, x = _f === void 0 ? 0 : _f, _g = _e.y, y = _g === void 0 ? 0 : _g, z = _e.z;
|
|
176
|
-
var _h = this.getAreaDelta({ xMin: xMin, xMax: xMax, yMin: yMin, yMax: yMax }), _j = _h.x, deltaX = _j === void 0 ? 0 : _j, _k = _h.y, deltaY = _k === void 0 ? 0 : _k;
|
|
177
|
-
return { x: x + deltaX, y: y + deltaY, z: z };
|
|
167
|
+
if (!description || !(0, components_1.isPolyhexDescription)(description)) {
|
|
168
|
+
return { x: x, y: y, z: z };
|
|
178
169
|
}
|
|
179
|
-
|
|
170
|
+
var shape = description.getPolyhexShape(item, context);
|
|
171
|
+
var areaDelta = this.getAreaDelta(shape, description.coordinatesSystem);
|
|
172
|
+
var _d = rotateVector(areaDelta, item.location.rotation * 60), deltaX = _d.x, deltaY = _d.y;
|
|
173
|
+
return { x: x + deltaX, y: y + deltaY, z: z };
|
|
180
174
|
};
|
|
181
175
|
/**
|
|
182
176
|
* Rotate the location. On a hexagonal grid, by default the rotation is expected to be [0, 5] and it is multiplied by 60 degrees.
|
|
@@ -231,4 +225,13 @@ var HexagonalGridLocator = /** @class */ (function (_super) {
|
|
|
231
225
|
return HexagonalGridLocator;
|
|
232
226
|
}(Locator_1.Locator));
|
|
233
227
|
exports.HexagonalGridLocator = HexagonalGridLocator;
|
|
228
|
+
function rotateVector(vector, degrees) {
|
|
229
|
+
var rad = degrees * (Math.PI / 180);
|
|
230
|
+
var cos = Math.cos(rad);
|
|
231
|
+
var sin = Math.sin(rad);
|
|
232
|
+
return {
|
|
233
|
+
x: Math.round(10000 * (vector.x * cos - vector.y * sin)) / 10000,
|
|
234
|
+
y: Math.round(10000 * (vector.x * sin + vector.y * cos)) / 10000
|
|
235
|
+
};
|
|
236
|
+
}
|
|
234
237
|
//# sourceMappingURL=HexagonalGridLocator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HexagonalGridLocator.js","sourceRoot":"","sources":["../../src/locators/HexagonalGridLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"HexagonalGridLocator.js","sourceRoot":"","sources":["../../src/locators/HexagonalGridLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiI;AACjI,2DAAoC;AACpC,uDAAgC;AAChC,uDAAgC;AAChC,qDAA8B;AAC9B,uDAAgC;AAChC,6DAAsC;AACtC,4CAAqG;AACrG,qCAAiE;AAEjE;;GAEG;AACH;IAAoI,wCAAgB;IAApJ;QAAA,qEAiMC;QAvKC;;;WAGG;QACH,gBAAU,GAA4B,EAAE,CAAA;QAsIxC,iBAAW,GAAG,IAAI,CAAA;;IA6BpB,CAAC;IAlLC,sBAAc,uCAAK;QAHnB;;WAEG;aACH;YACE,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,CAAC;;;OAAA;IAKD,sBAAc,uCAAK;QAHnB;;WAEG;aACH;YACE,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAChE,CAAC;;;OAAA;IAQD;;;;;OAKG;IACH,4CAAa,GAAb,UAAc,SAAyB,EAAE,QAAkC;QACzE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACH,2CAAY,GAAZ,UAAa,eAAgC,EAAE,iBAA0C;QAAzF,iBAOC;;QAP8C,kCAAA,EAAA,oBAAoB,IAAI,CAAC,iBAAiB;QACvF,IAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,WAAW,IAAK,OAAA,KAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAvD,CAAuD,CAAC,CAAA;QAC1H,IAAM,IAAI,GAAG,MAAA,MAAA,IAAA,eAAK,EAAC,oBAAoB,EAAE,GAAG,CAAC,0CAAE,CAAC,mCAAI,CAAC,CAAA;QACrD,IAAM,IAAI,GAAG,MAAA,MAAA,IAAA,eAAK,EAAC,oBAAoB,EAAE,GAAG,CAAC,0CAAE,CAAC,mCAAI,CAAC,CAAA;QACrD,IAAM,IAAI,GAAG,MAAA,MAAA,IAAA,eAAK,EAAC,oBAAoB,EAAE,GAAG,CAAC,0CAAE,CAAC,mCAAI,CAAC,CAAA;QACrD,IAAM,IAAI,GAAG,MAAA,MAAA,IAAA,eAAK,EAAC,oBAAoB,EAAE,GAAG,CAAC,0CAAE,CAAC,mCAAI,CAAC,CAAA;QACrD,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACvD,CAAC;IAED;;;;;OAKG;IACH,iDAAkB,GAAlB,UAAmB,QAAwB,EAAE,OAAiC;QACtE,IAAA,KAAsB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAA1D,SAAK,EAAL,CAAC,mBAAG,CAAC,KAAA,EAAE,SAAK,EAAL,CAAC,mBAAG,CAAC,KAAA,EAAE,CAAC,OAA2C,CAAA;QAC5D,IAAA,KAA6C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAhF,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAA0C,CAAA;QACxF,IAAM,eAAe,GAAG,IAAA,eAAK,EAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,IAAA,eAAK,EAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,EAAV,CAAU,CAAC,EAA5C,CAA4C,CAAC,CAAA;QACpG,IAAA,KAA2B,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAxD,MAAM,OAAA,EAAK,MAAM,OAAuC,CAAA;QACnE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAA,EAAE,CAAA;IAC5C,CAAC;IAED;;;;;OAKG;IACH,qDAAsB,GAAtB,UAAuB,QAAwB,EAAE,OAAiC;QAChF,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS,EAAE;YACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;SAClD;QACK,IAAA,KAA2C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,EAA/E,SAAY,EAAT,KAAK,mBAAG,CAAC,KAAA,EAAE,SAAY,EAAT,KAAK,mBAAG,CAAC,KAAA,EAAK,KAAK,OAA2C,CAAA;QACjF,IAAA,KAAmB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAlD,SAAK,EAAL,CAAC,mBAAG,CAAC,KAAA,EAAE,SAAK,EAAL,CAAC,mBAAG,CAAC,KAAsC,CAAA;QAC1D,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;IACjD,CAAC;IAED;;;;;OAKG;IACH,iDAAkB,GAAlB,UAAmB,WAAmC,EAAE,iBAA0C;QAA1C,kCAAA,EAAA,oBAAoB,IAAI,CAAC,iBAAiB;QAC1F,IAAA,KAAiB,WAAW,EAAvB,EAAL,CAAC,mBAAG,CAAC,KAAA,EAAE,KAAU,WAAW,EAAhB,EAAL,CAAC,mBAAG,CAAC,KAAA,CAAgB;QAClC,QAAQ,iBAAiB,EAAE;YACzB,KAAK,yBAAa,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO;oBACL,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;oBACzD,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;iBAC1B,CAAA;aACF;YACD,KAAK,yBAAa,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAO;oBACL,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;oBACzB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;iBACjC,CAAA;aACF;YACD,KAAK,yBAAa,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAO;oBACL,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;oBACzB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;iBACjC,CAAA;aACF;YACD,KAAK,yBAAa,CAAC,IAAI,CAAC,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;aAC7D;YACD,KAAK,yBAAa,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;aAC9D;SACF;IACH,CAAC;IAED;;;;;;OAMG;IACH,iDAAkB,GAAlB,UAAmB,IAAwB,EAAE,OAA6B;QAClE,IAAA,KAAsB,iBAAM,kBAAkB,YAAC,IAAI,EAAE,OAAO,CAAC,EAA3D,SAAK,EAAL,CAAC,mBAAG,CAAC,KAAA,EAAE,SAAK,EAAL,CAAC,mBAAG,CAAC,KAAA,EAAE,CAAC,OAA4C,CAAA;QACnE,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,WAAW,IAAI,CAAC,IAAA,iCAAoB,EAAU,WAAW,CAAC,EAAE;YAC/D,OAAO,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,CAAA;SACnB;QACD,IAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACxD,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;QACnE,IAAA,KAA2B,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,EAA1E,MAAM,OAAA,EAAK,MAAM,OAAyD,CAAA;QACrF,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,GAAA,EAAE,CAAA;IAC5C,CAAC;IAED;;;;;OAKG;IACH,yCAAU,GAAV,UAAW,QAAwB,EAAE,QAAkC;;QACrE,OAAO,CAAC,MAAA,QAAQ,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,EAAE,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,+CAAgB,GAAhB,UAAiB,KAA0B,EAAE,OAA6B;QACxE,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;YAC3E,OAAO,IAAA,kBAAQ,EAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAC,IAAA,cAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAoB,EAApE,CAAoE,CAAC,EAAE,iBAAO,CAAC,CAAA;SAClH;aAAM;YACL,OAAO,iBAAM,gBAAgB,YAAC,KAAK,EAAE,OAAO,CAAC,CAAA;SAC9C;IACH,CAAC;IAID;;OAEG;IACH,qDAAsB,GAAtB,UAAuB,QAAwB,EAAE,OAAwD;QACvG,IAAI,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC,mBAAmB,CAAA;QAC7D,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,iBAAM,sBAAsB,YAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1G,IAAA,KAA6C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAhF,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EAAE,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAA0C,CAAA;QACxF,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACnC,QAAQ,IAAI,CAAC,iBAAiB,EAAE;YAC9B,KAAK,yBAAa,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;aAC9D;YACD,KAAK,yBAAa,CAAC,IAAI,CAAC;YACxB,KAAK,yBAAa,CAAC,KAAK;gBACtB,OAAO,IAAI,uCAA0B,CAAC;oBACpC,KAAK,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;oBAC7C,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;oBACrD,YAAY,cAAA;iBACb,CAAC,CAAA;YACJ,KAAK,yBAAa,CAAC,IAAI,CAAC,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;aAC7D;YACD,KAAK,yBAAa,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;aAC9D;SACF;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAjMD,CAAoI,iBAAO,GAiM1I;AAjMqB,oDAAoB;AAmM1C,SAAS,YAAY,CAAC,MAAqB,EAAE,OAAe;IAC1D,IAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;IACrC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK;QAChE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK;KACjE,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/react-game",
|
|
3
|
-
"version": "6.35.
|
|
3
|
+
"version": "6.35.7",
|
|
4
4
|
"description": "React components & tools to create a Board Game user interface for Game Park",
|
|
5
5
|
"author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
|
|
6
6
|
"license": "ISC",
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { XYCoordinates } from '@gamepark/rules-api';
|
|
2
|
-
export declare enum HexagonalGridCoordinatesSystem {
|
|
3
|
-
Axial = 0,
|
|
4
|
-
OddQ = 1,
|
|
5
|
-
EvenQ = 2,
|
|
6
|
-
OddR = 3,
|
|
7
|
-
EvenR = 4
|
|
8
|
-
}
|
|
9
|
-
export declare const oddQToAxial: ({ x, y }: XYCoordinates) => {
|
|
10
|
-
x: number;
|
|
11
|
-
y: number;
|
|
12
|
-
};
|
|
13
|
-
export declare const axialToOddQ: ({ x, y }: XYCoordinates) => {
|
|
14
|
-
x: number;
|
|
15
|
-
y: number;
|
|
16
|
-
};
|
|
17
|
-
export declare const evenQToAxial: ({ x, y }: XYCoordinates) => {
|
|
18
|
-
x: number;
|
|
19
|
-
y: number;
|
|
20
|
-
};
|
|
21
|
-
export declare const axialToEvenQ: ({ x, y }: XYCoordinates) => {
|
|
22
|
-
x: number;
|
|
23
|
-
y: number;
|
|
24
|
-
};
|
|
25
|
-
export declare const oddRToAxial: ({ x, y }: XYCoordinates) => {
|
|
26
|
-
y: number;
|
|
27
|
-
x: number;
|
|
28
|
-
};
|
|
29
|
-
export declare const axialToOddR: ({ x, y }: XYCoordinates) => {
|
|
30
|
-
y: number;
|
|
31
|
-
x: number;
|
|
32
|
-
};
|
|
33
|
-
export declare const evenRToAxial: ({ x, y }: XYCoordinates) => {
|
|
34
|
-
y: number;
|
|
35
|
-
x: number;
|
|
36
|
-
};
|
|
37
|
-
export declare const axialToEvenR: ({ x, y }: XYCoordinates) => {
|
|
38
|
-
y: number;
|
|
39
|
-
x: number;
|
|
40
|
-
};
|
|
41
|
-
export declare function hexToAxial(hex: XYCoordinates, system: HexagonalGridCoordinatesSystem): XYCoordinates;
|
|
42
|
-
export declare function hexFromAxial(hex: XYCoordinates, system: HexagonalGridCoordinatesSystem): XYCoordinates;
|
|
43
|
-
export declare function hexRotate(vector: XYCoordinates, rotation?: number): XYCoordinates;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hexRotate = exports.hexFromAxial = exports.hexToAxial = exports.axialToEvenR = exports.evenRToAxial = exports.axialToOddR = exports.oddRToAxial = exports.axialToEvenQ = exports.evenQToAxial = exports.axialToOddQ = exports.oddQToAxial = exports.HexagonalGridCoordinatesSystem = void 0;
|
|
4
|
-
var HexagonalGridCoordinatesSystem;
|
|
5
|
-
(function (HexagonalGridCoordinatesSystem) {
|
|
6
|
-
HexagonalGridCoordinatesSystem[HexagonalGridCoordinatesSystem["Axial"] = 0] = "Axial";
|
|
7
|
-
HexagonalGridCoordinatesSystem[HexagonalGridCoordinatesSystem["OddQ"] = 1] = "OddQ";
|
|
8
|
-
HexagonalGridCoordinatesSystem[HexagonalGridCoordinatesSystem["EvenQ"] = 2] = "EvenQ";
|
|
9
|
-
HexagonalGridCoordinatesSystem[HexagonalGridCoordinatesSystem["OddR"] = 3] = "OddR";
|
|
10
|
-
HexagonalGridCoordinatesSystem[HexagonalGridCoordinatesSystem["EvenR"] = 4] = "EvenR";
|
|
11
|
-
})(HexagonalGridCoordinatesSystem = exports.HexagonalGridCoordinatesSystem || (exports.HexagonalGridCoordinatesSystem = {}));
|
|
12
|
-
var oddQToAxial = function (_a) {
|
|
13
|
-
var x = _a.x, y = _a.y;
|
|
14
|
-
return ({ x: x, y: y - (x - (x & 1) / 2) });
|
|
15
|
-
};
|
|
16
|
-
exports.oddQToAxial = oddQToAxial;
|
|
17
|
-
var axialToOddQ = function (_a) {
|
|
18
|
-
var x = _a.x, y = _a.y;
|
|
19
|
-
return ({ x: x, y: y + (x - (x & 1)) / 2 });
|
|
20
|
-
};
|
|
21
|
-
exports.axialToOddQ = axialToOddQ;
|
|
22
|
-
var evenQToAxial = function (_a) {
|
|
23
|
-
var x = _a.x, y = _a.y;
|
|
24
|
-
return ({ x: x, y: y - (x + (x & 1) / 2) });
|
|
25
|
-
};
|
|
26
|
-
exports.evenQToAxial = evenQToAxial;
|
|
27
|
-
var axialToEvenQ = function (_a) {
|
|
28
|
-
var x = _a.x, y = _a.y;
|
|
29
|
-
return ({ x: x, y: y + (x + (x & 1)) / 2 });
|
|
30
|
-
};
|
|
31
|
-
exports.axialToEvenQ = axialToEvenQ;
|
|
32
|
-
var oddRToAxial = function (_a) {
|
|
33
|
-
var x = _a.x, y = _a.y;
|
|
34
|
-
return ({ y: y, x: x - (y - (y & 1) / 2) });
|
|
35
|
-
};
|
|
36
|
-
exports.oddRToAxial = oddRToAxial;
|
|
37
|
-
var axialToOddR = function (_a) {
|
|
38
|
-
var x = _a.x, y = _a.y;
|
|
39
|
-
return ({ y: y, x: x + (y - (y & 1)) / 2 });
|
|
40
|
-
};
|
|
41
|
-
exports.axialToOddR = axialToOddR;
|
|
42
|
-
var evenRToAxial = function (_a) {
|
|
43
|
-
var x = _a.x, y = _a.y;
|
|
44
|
-
return ({ y: y, x: x - (y + (y & 1) / 2) });
|
|
45
|
-
};
|
|
46
|
-
exports.evenRToAxial = evenRToAxial;
|
|
47
|
-
var axialToEvenR = function (_a) {
|
|
48
|
-
var x = _a.x, y = _a.y;
|
|
49
|
-
return ({ y: y, x: x + (y + (y & 1)) / 2 });
|
|
50
|
-
};
|
|
51
|
-
exports.axialToEvenR = axialToEvenR;
|
|
52
|
-
function hexToAxial(hex, system) {
|
|
53
|
-
switch (system) {
|
|
54
|
-
case HexagonalGridCoordinatesSystem.OddQ:
|
|
55
|
-
return (0, exports.oddQToAxial)(hex);
|
|
56
|
-
case HexagonalGridCoordinatesSystem.EvenQ:
|
|
57
|
-
return (0, exports.evenQToAxial)(hex);
|
|
58
|
-
case HexagonalGridCoordinatesSystem.OddR:
|
|
59
|
-
return (0, exports.oddRToAxial)(hex);
|
|
60
|
-
case HexagonalGridCoordinatesSystem.EvenR:
|
|
61
|
-
return (0, exports.evenRToAxial)(hex);
|
|
62
|
-
default:
|
|
63
|
-
return hex;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.hexToAxial = hexToAxial;
|
|
67
|
-
function hexFromAxial(hex, system) {
|
|
68
|
-
switch (system) {
|
|
69
|
-
case HexagonalGridCoordinatesSystem.OddQ:
|
|
70
|
-
return (0, exports.axialToOddQ)(hex);
|
|
71
|
-
case HexagonalGridCoordinatesSystem.EvenQ:
|
|
72
|
-
return (0, exports.axialToEvenQ)(hex);
|
|
73
|
-
case HexagonalGridCoordinatesSystem.OddR:
|
|
74
|
-
return (0, exports.axialToOddR)(hex);
|
|
75
|
-
case HexagonalGridCoordinatesSystem.EvenR:
|
|
76
|
-
return (0, exports.axialToEvenR)(hex);
|
|
77
|
-
default:
|
|
78
|
-
return hex;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
exports.hexFromAxial = hexFromAxial;
|
|
82
|
-
function hexRotate(vector, rotation) {
|
|
83
|
-
if (rotation === void 0) { rotation = 0; }
|
|
84
|
-
if (rotation % 6 === 0)
|
|
85
|
-
return vector;
|
|
86
|
-
if (rotation < 0)
|
|
87
|
-
return hexRotate(vector, 6 - rotation % 6);
|
|
88
|
-
var y = vector.y, z = -(vector.x + vector.y);
|
|
89
|
-
return hexRotate({ x: -y, y: -z }, rotation - 1);
|
|
90
|
-
}
|
|
91
|
-
exports.hexRotate = hexRotate;
|
|
92
|
-
//# sourceMappingURL=grid.hex.util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../../src/locators/utils/grid.hex.util.ts"],"names":[],"mappings":";;;AAEA,IAAY,8BAEX;AAFD,WAAY,8BAA8B;IACxC,qFAAK,CAAA;IAAE,mFAAI,CAAA;IAAE,qFAAK,CAAA;IAAE,mFAAI,CAAA;IAAE,qFAAK,CAAA;AACjC,CAAC,EAFW,8BAA8B,GAA9B,sCAA8B,KAA9B,sCAA8B,QAEzC;AAEM,IAAM,WAAW,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA5E,QAAA,WAAW,eAAiE;AAClF,IAAM,WAAW,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA5E,QAAA,WAAW,eAAiE;AAElF,IAAM,YAAY,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA7E,QAAA,YAAY,gBAAiE;AACnF,IAAM,YAAY,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA7E,QAAA,YAAY,gBAAiE;AAEnF,IAAM,WAAW,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA5E,QAAA,WAAW,eAAiE;AAClF,IAAM,WAAW,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA5E,QAAA,WAAW,eAAiE;AAElF,IAAM,YAAY,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA7E,QAAA,YAAY,gBAAiE;AACnF,IAAM,YAAY,GAAG,UAAC,EAAuB;QAArB,CAAC,OAAA,EAAE,CAAC,OAAA;IAAsB,OAAA,CAAC,EAAE,CAAC,GAAA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAAjC,CAAiC,CAAA;AAA7E,QAAA,YAAY,gBAAiE;AAE1F,SAAgB,UAAU,CAAC,GAAkB,EAAE,MAAsC;IACnF,QAAQ,MAAM,EAAE;QACd,KAAK,8BAA8B,CAAC,IAAI;YACtC,OAAO,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAA;QACzB,KAAK,8BAA8B,CAAC,KAAK;YACvC,OAAO,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAA;QAC1B,KAAK,8BAA8B,CAAC,IAAI;YACtC,OAAO,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAA;QACzB,KAAK,8BAA8B,CAAC,KAAK;YACvC,OAAO,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAA;QAC1B;YACE,OAAO,GAAG,CAAA;KACb;AACH,CAAC;AAbD,gCAaC;AAED,SAAgB,YAAY,CAAC,GAAkB,EAAE,MAAsC;IACrF,QAAQ,MAAM,EAAE;QACd,KAAK,8BAA8B,CAAC,IAAI;YACtC,OAAO,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAA;QACzB,KAAK,8BAA8B,CAAC,KAAK;YACvC,OAAO,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAA;QAC1B,KAAK,8BAA8B,CAAC,IAAI;YACtC,OAAO,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAA;QACzB,KAAK,8BAA8B,CAAC,KAAK;YACvC,OAAO,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAA;QAC1B;YACE,OAAO,GAAG,CAAA;KACb;AACH,CAAC;AAbD,oCAaC;AAED,SAAgB,SAAS,CAAC,MAAqB,EAAE,QAAoB;IAApB,yBAAA,EAAA,YAAoB;IACnE,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IACrC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAA;IAC5D,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC9C,OAAO,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAA;AAClD,CAAC;AALD,8BAKC"}
|