@gamepark/rules-api 7.0.0-beta.0 → 7.0.0-beta.2
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/Action.js +1 -2
- package/dist/Bot.js +15 -37
- package/dist/Bot.js.map +1 -1
- package/dist/Competitive.js +3 -8
- package/dist/Competitive.js.map +1 -1
- package/dist/Eliminations.js +2 -5
- package/dist/Eliminations.js.map +1 -1
- package/dist/GameSetup.js +1 -2
- package/dist/HiddenInformation.js +2 -5
- package/dist/HiddenInformation.js.map +1 -1
- package/dist/LocalMovePreview.js +1 -4
- package/dist/LocalMovePreview.js.map +1 -1
- package/dist/RandomMove.js +1 -2
- package/dist/Rules.js +49 -56
- package/dist/Rules.js.map +1 -1
- package/dist/SecretInformation.js +2 -5
- package/dist/SecretInformation.js.map +1 -1
- package/dist/TimeLimit.js +1 -4
- package/dist/TimeLimit.js.map +1 -1
- package/dist/Undo.js +2 -5
- package/dist/Undo.js.map +1 -1
- package/dist/UnpredictableMove.js +1 -5
- package/dist/UnpredictableMove.js.map +1 -1
- package/dist/index.js +16 -32
- package/dist/index.js.map +1 -1
- package/dist/material/HiddenMaterialRules.js +125 -180
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGame.js +1 -2
- package/dist/material/MaterialGameSetup.js +52 -70
- package/dist/material/MaterialGameSetup.js.map +1 -1
- package/dist/material/MaterialRules.js +186 -250
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.js +9 -35
- package/dist/material/SecretMaterialRules.js.map +1 -1
- package/dist/material/index.js +11 -27
- package/dist/material/index.js.map +1 -1
- package/dist/material/items/Material.js +177 -262
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialDeck.js +10 -36
- package/dist/material/items/MaterialDeck.js.map +1 -1
- package/dist/material/items/MaterialItem.js +1 -2
- package/dist/material/items/MaterialMoney.js +89 -141
- package/dist/material/items/MaterialMoney.js.map +1 -1
- package/dist/material/items/MaterialMutator.js +108 -145
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/items/index.js +5 -21
- package/dist/material/items/index.js.map +1 -1
- package/dist/material/location/Location.js +1 -14
- package/dist/material/location/Location.js.map +1 -1
- package/dist/material/location/LocationBuilder.js +26 -41
- package/dist/material/location/LocationBuilder.js.map +1 -1
- package/dist/material/location/index.js +3 -19
- package/dist/material/location/index.js.map +1 -1
- package/dist/material/location/strategy/FillGapStrategy.js +9 -16
- package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
- package/dist/material/location/strategy/LocationStrategy.js +1 -2
- package/dist/material/location/strategy/PositiveSequenceStrategy.js +26 -35
- package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
- package/dist/material/location/strategy/StackingStrategy.js +15 -22
- package/dist/material/location/strategy/StackingStrategy.js.map +1 -1
- package/dist/material/location/strategy/index.js +5 -23
- package/dist/material/location/strategy/index.js.map +1 -1
- package/dist/material/memory/GameMemory.js +10 -14
- package/dist/material/memory/GameMemory.js.map +1 -1
- package/dist/material/memory/PlayerMemory.js +13 -18
- package/dist/material/memory/PlayerMemory.js.map +1 -1
- package/dist/material/memory/index.js +2 -18
- package/dist/material/memory/index.js.map +1 -1
- package/dist/material/moves/CustomMove.js +4 -9
- package/dist/material/moves/CustomMove.js.map +1 -1
- package/dist/material/moves/MaterialMove.js +1 -2
- package/dist/material/moves/MaterialMoveBuilder.js +16 -32
- package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
- package/dist/material/moves/MoveKind.js +2 -5
- package/dist/material/moves/MoveKind.js.map +1 -1
- package/dist/material/moves/index.js +7 -23
- package/dist/material/moves/index.js.map +1 -1
- package/dist/material/moves/items/CreateItem.js +6 -12
- package/dist/material/moves/items/CreateItem.js.map +1 -1
- package/dist/material/moves/items/CreateItemsAtOnce.js +6 -12
- package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/DeleteItem.js +6 -12
- package/dist/material/moves/items/DeleteItem.js.map +1 -1
- package/dist/material/moves/items/DeleteItemsAtOnce.js +6 -12
- package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/ItemMove.js +1 -2
- package/dist/material/moves/items/ItemMoveType.js +2 -5
- package/dist/material/moves/items/ItemMoveType.js.map +1 -1
- package/dist/material/moves/items/MoveItem.js +6 -12
- package/dist/material/moves/items/MoveItem.js.map +1 -1
- package/dist/material/moves/items/MoveItemsAtOnce.js +6 -12
- package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
- package/dist/material/moves/items/RollItem.js +6 -12
- package/dist/material/moves/items/RollItem.js.map +1 -1
- package/dist/material/moves/items/SelectItem.js +6 -12
- package/dist/material/moves/items/SelectItem.js.map +1 -1
- package/dist/material/moves/items/Shuffle.js +7 -14
- package/dist/material/moves/items/Shuffle.js.map +1 -1
- package/dist/material/moves/items/index.js +11 -27
- package/dist/material/moves/items/index.js.map +1 -1
- package/dist/material/moves/local/CloseTutorialPopup.js +4 -7
- package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
- package/dist/material/moves/local/DisplayHelp.js +2 -5
- package/dist/material/moves/local/DisplayHelp.js.map +1 -1
- package/dist/material/moves/local/DropItem.js +1 -2
- package/dist/material/moves/local/LocalMove.js +2 -5
- package/dist/material/moves/local/LocalMove.js.map +1 -1
- package/dist/material/moves/local/SetTutorialStep.js +4 -7
- package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
- package/dist/material/moves/local/index.js +5 -21
- package/dist/material/moves/local/index.js.map +1 -1
- package/dist/material/moves/rules/EndGame.js +4 -7
- package/dist/material/moves/rules/EndGame.js.map +1 -1
- package/dist/material/moves/rules/EndPlayerTurn.js +4 -7
- package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -1
- package/dist/material/moves/rules/RuleMove.js +3 -7
- package/dist/material/moves/rules/RuleMove.js.map +1 -1
- package/dist/material/moves/rules/StartPlayerTurn.js +4 -7
- package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
- package/dist/material/moves/rules/StartRule.js +4 -7
- package/dist/material/moves/rules/StartRule.js.map +1 -1
- package/dist/material/moves/rules/StartSimultaneousRule.js +4 -7
- package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -1
- package/dist/material/moves/rules/index.js +6 -22
- package/dist/material/moves/rules/index.js.map +1 -1
- package/dist/material/rules/MaterialRulesPart.js +38 -63
- package/dist/material/rules/MaterialRulesPart.js.map +1 -1
- package/dist/material/rules/PlayerTurnRule.js +20 -52
- package/dist/material/rules/PlayerTurnRule.js.map +1 -1
- package/dist/material/rules/RuleStep.js +1 -2
- package/dist/material/rules/SimultaneousRule.js +19 -51
- package/dist/material/rules/SimultaneousRule.js.map +1 -1
- package/dist/material/rules/index.js +4 -20
- package/dist/material/rules/index.js.map +1 -1
- package/dist/material/tutorial/TutorialState.js +1 -2
- package/dist/material/tutorial/index.js +1 -17
- package/dist/material/tutorial/index.js.map +1 -1
- package/dist/options/EnumArrayOption.js +3 -6
- package/dist/options/EnumArrayOption.js.map +1 -1
- package/dist/options/EnumOption.js +1 -4
- package/dist/options/EnumOption.js.map +1 -1
- package/dist/options/Option.js +1 -2
- package/dist/options/OptionSpecOf.js +1 -2
- package/dist/options/OptionsSpec.js +1 -2
- package/dist/options/OptionsValidationError.js +6 -28
- package/dist/options/OptionsValidationError.js.map +1 -1
- package/dist/options/PlayerEnumOption.js +19 -29
- package/dist/options/PlayerEnumOption.js.map +1 -1
- package/dist/options/PlayersOptionsSpec.js +1 -2
- package/dist/options/WithIdOption.js +1 -2
- package/dist/options/WithPlayerOptionsSpec.js +1 -4
- package/dist/options/WithPlayerOptionsSpec.js.map +1 -1
- package/dist/options/WithPlayersOptions.js +1 -2
- package/dist/options/index.js +12 -28
- package/dist/options/index.js.map +1 -1
- package/dist/options/isWithPlayerIdOptions.js +3 -6
- package/dist/options/isWithPlayerIdOptions.js.map +1 -1
- package/dist/utils/action-view.util.js +18 -25
- package/dist/utils/action-view.util.js.map +1 -1
- package/dist/utils/action.util.js +11 -16
- package/dist/utils/action.util.js.map +1 -1
- package/dist/utils/adjacent-groups.util.js +33 -41
- package/dist/utils/adjacent-groups.util.js.map +1 -1
- package/dist/utils/automatic-moves.util.js +10 -15
- package/dist/utils/automatic-moves.util.js.map +1 -1
- package/dist/utils/enum.util.js +7 -13
- package/dist/utils/enum.util.js.map +1 -1
- package/dist/utils/game-view.util.js +5 -8
- package/dist/utils/game-view.util.js.map +1 -1
- package/dist/utils/grid.hex.util.js +36 -88
- package/dist/utils/grid.hex.util.js.map +1 -1
- package/dist/utils/grid.squares.util.js +8 -19
- package/dist/utils/grid.squares.util.js.map +1 -1
- package/dist/utils/grid.util.js +1 -5
- package/dist/utils/grid.util.js.map +1 -1
- package/dist/utils/index.js +16 -32
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/listing.util.js +8 -13
- package/dist/utils/listing.util.js.map +1 -1
- package/dist/utils/loops.util.js +3 -6
- package/dist/utils/loops.util.js.map +1 -1
- package/dist/utils/money.util.js +54 -73
- package/dist/utils/money.util.js.map +1 -1
- package/dist/utils/neighbors.util.js +6 -10
- package/dist/utils/neighbors.util.js.map +1 -1
- package/dist/utils/polyhex.util.js +36 -56
- package/dist/utils/polyhex.util.js.map +1 -1
- package/dist/utils/random.util.js +2 -5
- package/dist/utils/random.util.js.map +1 -1
- package/dist/utils/rank.util.js +9 -13
- package/dist/utils/rank.util.js.map +1 -1
- package/package.json +43 -37
- package/dist/ApplyAutomaticMoves.d.ts +0 -2
- package/dist/ApplyAutomaticMoves.js +0 -25
- package/dist/ApplyAutomaticMoves.js.map +0 -1
- package/dist/DefaultGameSetup.d.ts +0 -7
- package/dist/DefaultGameSetup.js +0 -15
- package/dist/DefaultGameSetup.js.map +0 -1
- package/dist/Dummy.d.ts +0 -7
- package/dist/Dummy.js +0 -27
- package/dist/Dummy.js.map +0 -1
- package/dist/GameSetupCreator.d.ts +0 -4
- package/dist/GameSetupCreator.js +0 -3
- package/dist/GameSetupCreator.js.map +0 -1
- package/dist/IncompleteInformation.d.ts +0 -14
- package/dist/IncompleteInformation.js +0 -38
- package/dist/IncompleteInformation.js.map +0 -1
- package/dist/LoopWithFuse.d.ts +0 -4
- package/dist/LoopWithFuse.js +0 -15
- package/dist/LoopWithFuse.js.map +0 -1
- package/dist/Robot.d.ts +0 -1
- package/dist/Robot.js +0 -3
- package/dist/Robot.js.map +0 -1
- package/dist/RulesCreator.d.ts +0 -7
- package/dist/RulesCreator.js +0 -3
- package/dist/RulesCreator.js.map +0 -1
- package/dist/material/location/strategy/StakingStrategy.d.ts +0 -12
- package/dist/material/location/strategy/StakingStrategy.js +0 -32
- package/dist/material/location/strategy/StakingStrategy.js.map +0 -1
- package/dist/material/moves/items/ItemMovesBuilder.d.ts +0 -8
- package/dist/material/moves/items/ItemMovesBuilder.js +0 -34
- package/dist/material/moves/items/ItemMovesBuilder.js.map +0 -1
- package/dist/material/rules/MaterialMoveBuilder.d.ts +0 -9
- package/dist/material/rules/MaterialMoveBuilder.js +0 -28
- package/dist/material/rules/MaterialMoveBuilder.js.map +0 -1
- package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +0 -12
- package/dist/material/rules/MaterialRulesMovesBuilder.js +0 -36
- package/dist/material/rules/MaterialRulesMovesBuilder.js.map +0 -1
- package/dist/setup/DefaultGameSetup.d.ts +0 -7
- package/dist/setup/DefaultGameSetup.js +0 -15
- package/dist/setup/DefaultGameSetup.js.map +0 -1
- package/dist/setup/GameSetup.d.ts +0 -3
- package/dist/setup/GameSetup.js +0 -3
- package/dist/setup/GameSetup.js.map +0 -1
- package/dist/setup/GameSetupCreator.d.ts +0 -4
- package/dist/setup/GameSetupCreator.js +0 -3
- package/dist/setup/GameSetupCreator.js.map +0 -1
- package/dist/setup/index.d.ts +0 -2
- package/dist/setup/index.js +0 -19
- package/dist/setup/index.js.map +0 -1
- package/dist/utils/EnumUtils.d.ts +0 -1
- package/dist/utils/EnumUtils.js +0 -8
- package/dist/utils/EnumUtils.js.map +0 -1
- package/dist/utils/coordinates.util.d.ts +0 -5
- package/dist/utils/coordinates.util.js +0 -16
- package/dist/utils/coordinates.util.js.map +0 -1
- package/dist/utils/isDeadEndMove.util.d.ts +0 -2
- package/dist/utils/isDeadEndMove.util.js +0 -19
- package/dist/utils/isDeadEndMove.util.js.map +0 -1
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./MaterialRulesPart"), exports);
|
|
18
|
-
__exportStar(require("./PlayerTurnRule"), exports);
|
|
19
|
-
__exportStar(require("./RuleStep"), exports);
|
|
20
|
-
__exportStar(require("./SimultaneousRule"), exports);
|
|
1
|
+
export * from './MaterialRulesPart';
|
|
2
|
+
export * from './PlayerTurnRule';
|
|
3
|
+
export * from './RuleStep';
|
|
4
|
+
export * from './SimultaneousRule';
|
|
21
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/rules/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA"}
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./TutorialState"), exports);
|
|
1
|
+
export * from './TutorialState';
|
|
18
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/tutorial/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/tutorial/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var EnumOption_1 = require("./EnumOption");
|
|
5
|
-
function isEnumArrayOption(option) {
|
|
6
|
-
return (0, EnumOption_1.isEnumOption)(option) && typeof option.size === 'number';
|
|
1
|
+
import { isEnumOption } from './EnumOption';
|
|
2
|
+
export function isEnumArrayOption(option) {
|
|
3
|
+
return isEnumOption(option) && typeof option.size === 'number';
|
|
7
4
|
}
|
|
8
5
|
//# sourceMappingURL=EnumArrayOption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumArrayOption.js","sourceRoot":"","sources":["../../src/options/EnumArrayOption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EnumArrayOption.js","sourceRoot":"","sources":["../../src/options/EnumArrayOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,cAAc,CAAA;AAOvD,MAAM,UAAU,iBAAiB,CAAU,MAAc;IACvD,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,OAAQ,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAA;AACzE,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isEnumOption = isEnumOption;
|
|
4
|
-
function isEnumOption(option) {
|
|
1
|
+
export function isEnumOption(option) {
|
|
5
2
|
return Array.isArray(option.values);
|
|
6
3
|
}
|
|
7
4
|
//# sourceMappingURL=EnumOption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumOption.js","sourceRoot":"","sources":["../../src/options/EnumOption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EnumOption.js","sourceRoot":"","sources":["../../src/options/EnumOption.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,YAAY,CAAU,MAAc;IAClD,OAAO,KAAK,CAAC,OAAO,CAAE,MAAqB,CAAC,MAAM,CAAC,CAAA;AACrD,CAAC"}
|
package/dist/options/Option.js
CHANGED
|
@@ -1,30 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.OptionsValidationError = void 0;
|
|
19
|
-
var OptionsValidationError = /** @class */ (function (_super) {
|
|
20
|
-
__extends(OptionsValidationError, _super);
|
|
21
|
-
function OptionsValidationError(message, fields) {
|
|
22
|
-
if (fields === void 0) { fields = []; }
|
|
23
|
-
var _this = _super.call(this, message) || this;
|
|
24
|
-
_this.fields = fields;
|
|
25
|
-
return _this;
|
|
1
|
+
export class OptionsValidationError extends Error {
|
|
2
|
+
fields;
|
|
3
|
+
constructor(message, fields = []) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.fields = fields;
|
|
26
6
|
}
|
|
27
|
-
|
|
28
|
-
}(Error));
|
|
29
|
-
exports.OptionsValidationError = OptionsValidationError;
|
|
7
|
+
}
|
|
30
8
|
//# sourceMappingURL=OptionsValidationError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsValidationError.js","sourceRoot":"","sources":["../../src/options/OptionsValidationError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OptionsValidationError.js","sourceRoot":"","sources":["../../src/options/OptionsValidationError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,MAAM,CAAU;IAEhB,YAAY,OAAe,EAAE,SAAmB,EAAE;QAChD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF"}
|
|
@@ -1,62 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getPlayersMandatoryValues = getPlayersMandatoryValues;
|
|
4
|
-
exports.getPlayersAvailableValues = getPlayersAvailableValues;
|
|
5
|
-
exports.generatePlayersOption = generatePlayersOption;
|
|
6
|
-
var es_toolkit_1 = require("es-toolkit");
|
|
7
|
-
function getPlayersMandatoryValues(spec, players) {
|
|
1
|
+
import { difference } from 'es-toolkit';
|
|
2
|
+
export function getPlayersMandatoryValues(spec, players) {
|
|
8
3
|
return spec.mandatory ? spec.mandatory(players) : [];
|
|
9
4
|
}
|
|
10
|
-
function getPlayersAvailableValues(spec, players) {
|
|
5
|
+
export function getPlayersAvailableValues(spec, players) {
|
|
11
6
|
if (spec.unavailable) {
|
|
12
|
-
|
|
13
|
-
return spec.values.filter(
|
|
7
|
+
const unavailableValues = spec.unavailable(players);
|
|
8
|
+
return spec.values.filter(value => !unavailableValues.includes(value));
|
|
14
9
|
}
|
|
15
10
|
else {
|
|
16
11
|
return spec.values;
|
|
17
12
|
}
|
|
18
13
|
}
|
|
19
|
-
function generatePlayersOption(playersChoices, option) {
|
|
14
|
+
export function generatePlayersOption(playersChoices, option) {
|
|
20
15
|
// Force to pick mandatory values
|
|
21
|
-
|
|
22
|
-
for (
|
|
23
|
-
var mandatoryValue = mandatoryValues_1[_i];
|
|
16
|
+
const mandatoryValues = getPlayersMandatoryValues(option, playersChoices.length);
|
|
17
|
+
for (const mandatoryValue of mandatoryValues) {
|
|
24
18
|
if (!playersChoices.includes(mandatoryValue)) {
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
const freeIndexes = playersChoices.map((choice, i) => choice !== null && mandatoryValues.includes(choice) ? -1 : i).filter(i => i !== -1);
|
|
20
|
+
const index = freeIndexes[Math.floor(Math.random() * freeIndexes.length)];
|
|
27
21
|
playersChoices[index] = mandatoryValue;
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
24
|
// Remove invalid choices
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
const availableValues = getPlayersAvailableValues(option, playersChoices.length);
|
|
26
|
+
for (let i = 0; i < playersChoices.length; i++) {
|
|
27
|
+
const choice = playersChoices[i];
|
|
34
28
|
if (choice !== null && !availableValues.includes(choice)) {
|
|
35
29
|
playersChoices[i] = null;
|
|
36
30
|
}
|
|
37
31
|
if (choice !== null && !option.share) {
|
|
38
|
-
|
|
32
|
+
const sameChoiceIndexes = playersChoices.map((c, i) => c === choice ? i : -1).filter(i => i !== -1);
|
|
39
33
|
if (sameChoiceIndexes.length > 0) {
|
|
40
|
-
|
|
41
|
-
for (
|
|
42
|
-
var index = sameChoiceIndexes_1[_a];
|
|
34
|
+
const keeper = sameChoiceIndexes[Math.floor(Math.random() * sameChoiceIndexes.length)];
|
|
35
|
+
for (const index of sameChoiceIndexes) {
|
|
43
36
|
if (index !== keeper) {
|
|
44
37
|
playersChoices[index] = null;
|
|
45
38
|
}
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
41
|
}
|
|
49
|
-
};
|
|
50
|
-
for (var i = 0; i < playersChoices.length; i++) {
|
|
51
|
-
_loop_1(i);
|
|
52
42
|
}
|
|
53
43
|
if (!option.optional) {
|
|
54
44
|
// Provide missing choices (different values if possible)
|
|
55
|
-
|
|
56
|
-
for (
|
|
45
|
+
const remainingValues = difference(availableValues, playersChoices);
|
|
46
|
+
for (let i = 0; i < playersChoices.length; i++) {
|
|
57
47
|
if (playersChoices[i] === null) {
|
|
58
48
|
if (remainingValues.length === 0)
|
|
59
|
-
remainingValues.push
|
|
49
|
+
remainingValues.push(...availableValues);
|
|
60
50
|
playersChoices[i] = remainingValues.splice(Math.floor(Math.random() * remainingValues.length), 1)[0];
|
|
61
51
|
}
|
|
62
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerEnumOption.js","sourceRoot":"","sources":["../../src/options/PlayerEnumOption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlayerEnumOption.js","sourceRoot":"","sources":["../../src/options/PlayerEnumOption.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isWithPlayerOptions = isWithPlayerOptions;
|
|
4
|
-
function isWithPlayerOptions(optionsSpec) {
|
|
1
|
+
export function isWithPlayerOptions(optionsSpec) {
|
|
5
2
|
return typeof optionsSpec.players === 'object';
|
|
6
3
|
}
|
|
7
4
|
//# sourceMappingURL=WithPlayerOptionsSpec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithPlayerOptionsSpec.js","sourceRoot":"","sources":["../../src/options/WithPlayerOptionsSpec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WithPlayerOptionsSpec.js","sourceRoot":"","sources":["../../src/options/WithPlayerOptionsSpec.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,mBAAmB,CAAa,WAAiC;IAC/E,OAAO,OAAQ,WAA+D,CAAC,OAAO,KAAK,QAAQ,CAAA;AACrG,CAAC"}
|
package/dist/options/index.js
CHANGED
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./EnumArrayOption"), exports);
|
|
18
|
-
__exportStar(require("./EnumOption"), exports);
|
|
19
|
-
__exportStar(require("./isWithPlayerIdOptions"), exports);
|
|
20
|
-
__exportStar(require("./Option"), exports);
|
|
21
|
-
__exportStar(require("./OptionSpecOf"), exports);
|
|
22
|
-
__exportStar(require("./OptionsSpec"), exports);
|
|
23
|
-
__exportStar(require("./OptionsValidationError"), exports);
|
|
24
|
-
__exportStar(require("./PlayerEnumOption"), exports);
|
|
25
|
-
__exportStar(require("./PlayersOptionsSpec"), exports);
|
|
26
|
-
__exportStar(require("./WithIdOption"), exports);
|
|
27
|
-
__exportStar(require("./WithPlayerOptionsSpec"), exports);
|
|
28
|
-
__exportStar(require("./WithPlayersOptions"), exports);
|
|
1
|
+
export * from './EnumArrayOption';
|
|
2
|
+
export * from './EnumOption';
|
|
3
|
+
export * from './isWithPlayerIdOptions';
|
|
4
|
+
export * from './Option';
|
|
5
|
+
export * from './OptionSpecOf';
|
|
6
|
+
export * from './OptionsSpec';
|
|
7
|
+
export * from './OptionsValidationError';
|
|
8
|
+
export * from './PlayerEnumOption';
|
|
9
|
+
export * from './PlayersOptionsSpec';
|
|
10
|
+
export * from './WithIdOption';
|
|
11
|
+
export * from './WithPlayerOptionsSpec';
|
|
12
|
+
export * from './WithPlayersOptions';
|
|
29
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.isWithPlayerIdOptions = isWithPlayerIdOptions;
|
|
4
|
-
function isWithPlayerIdOptions(optionsSpec) {
|
|
5
|
-
var playersOptions = optionsSpec === null || optionsSpec === void 0 ? void 0 : optionsSpec.players;
|
|
1
|
+
export function isWithPlayerIdOptions(optionsSpec) {
|
|
2
|
+
const playersOptions = optionsSpec?.players;
|
|
6
3
|
if (!playersOptions)
|
|
7
4
|
return false;
|
|
8
|
-
|
|
5
|
+
const idOptions = playersOptions.id;
|
|
9
6
|
return !!idOptions;
|
|
10
7
|
}
|
|
11
8
|
//# sourceMappingURL=isWithPlayerIdOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isWithPlayerIdOptions.js","sourceRoot":"","sources":["../../src/options/isWithPlayerIdOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isWithPlayerIdOptions.js","sourceRoot":"","sources":["../../src/options/isWithPlayerIdOptions.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,qBAAqB,CAA0C,WAAiC;IAC9G,MAAM,cAAc,GAAI,WAA+D,EAAE,OAAO,CAAA;IAChG,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAA;IACjC,MAAM,SAAS,GAAI,cAA2D,CAAC,EAAE,CAAA;IACjF,OAAO,CAAC,CAAC,SAAS,CAAA;AACpB,CAAC"}
|
|
@@ -1,49 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var SecretInformation_1 = require("../SecretInformation");
|
|
8
|
-
var automatic_moves_util_1 = require("./automatic-moves.util");
|
|
9
|
-
var random_util_1 = require("./random.util");
|
|
10
|
-
function playActionWithViews(rules, move, playerId, recipients, id) {
|
|
11
|
-
if ((0, random_util_1.hasRandomMove)(rules)) {
|
|
1
|
+
import { hasHiddenInformation } from '../HiddenInformation';
|
|
2
|
+
import { hasSecretInformation } from '../SecretInformation';
|
|
3
|
+
import { applyAutomaticMoves } from './automatic-moves.util';
|
|
4
|
+
import { hasRandomMove } from './random.util';
|
|
5
|
+
export function playActionWithViews(rules, move, playerId, recipients, id) {
|
|
6
|
+
if (hasRandomMove(rules)) {
|
|
12
7
|
move = rules.randomize(move, playerId);
|
|
13
8
|
}
|
|
14
|
-
|
|
15
|
-
action: { id
|
|
9
|
+
const actionWithView = {
|
|
10
|
+
action: { id, playerId, move, consequences: [] },
|
|
16
11
|
views: []
|
|
17
12
|
};
|
|
18
13
|
// Prepare action view for each player
|
|
19
|
-
for (
|
|
20
|
-
|
|
21
|
-
actionWithView.views.push({ recipient: recipient, action: { id: id, playerId: playerId, move: getMoveView(rules, move, recipient), consequences: [] } });
|
|
14
|
+
for (const recipient of recipients) {
|
|
15
|
+
actionWithView.views.push({ recipient, action: { id, playerId, move: getMoveView(rules, move, recipient), consequences: [] } });
|
|
22
16
|
}
|
|
23
17
|
// Prepare action view for spectators
|
|
24
|
-
actionWithView.views.push({ action: { id
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
actionWithView.views.push({ action: { id, playerId, move: getMoveView(rules, move), consequences: [] } });
|
|
19
|
+
const consequences = rules.play(JSON.parse(JSON.stringify(move)));
|
|
20
|
+
applyAutomaticMoves(rules, consequences, move => {
|
|
27
21
|
actionWithView.action.consequences.push(move);
|
|
28
|
-
for (
|
|
29
|
-
var view = _a[_i];
|
|
22
|
+
for (const view of actionWithView.views) {
|
|
30
23
|
view.action.consequences.push(getMoveView(rules, move, view.recipient));
|
|
31
24
|
}
|
|
32
25
|
});
|
|
33
26
|
return actionWithView;
|
|
34
27
|
}
|
|
35
|
-
function getMoveView(rules, move, playerId) {
|
|
36
|
-
if (
|
|
28
|
+
export function getMoveView(rules, move, playerId) {
|
|
29
|
+
if (hasSecretInformation(rules) && rules.getPlayerMoveView && playerId !== undefined) {
|
|
37
30
|
return JSON.parse(JSON.stringify(rules.getPlayerMoveView(move, playerId)));
|
|
38
31
|
}
|
|
39
|
-
else if (
|
|
32
|
+
else if (hasHiddenInformation(rules)) {
|
|
40
33
|
return JSON.parse(JSON.stringify(rules.getMoveView(move)));
|
|
41
34
|
}
|
|
42
35
|
else {
|
|
43
36
|
return move;
|
|
44
37
|
}
|
|
45
38
|
}
|
|
46
|
-
function isSecretAction(action) {
|
|
39
|
+
export function isSecretAction(action) {
|
|
47
40
|
return Array.isArray(action.secrets);
|
|
48
41
|
}
|
|
49
42
|
//# sourceMappingURL=action-view.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-view.util.js","sourceRoot":"","sources":["../../src/utils/action-view.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-view.util.js","sourceRoot":"","sources":["../../src/utils/action-view.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAqB,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAY7C,MAAM,UAAU,mBAAmB,CACjC,KAA4E,EAAE,IAAU,EAAE,QAAkB,EAAE,UAAsB,EAAE,EAAW;IAGjJ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,cAAc,GAA8C;QAChE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QAChD,KAAK,EAAE,EAAE;KACV,CAAA;IAED,sCAAsC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACjI,CAAC;IACD,qCAAqC;IACrC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAEzG,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEjE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAC9C,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACzE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAqC,KAAiC,EAAE,IAAU,EAAE,QAAmB;IAChI,IAAI,oBAAoB,CAAqC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;SAAM,IAAI,oBAAoB,CAA2B,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,IAAuB,CAAA;IAChC,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAE,MAAuB,CAAC,OAAO,CAAC,CAAA;AACxD,CAAC"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.replayActions = replayActions;
|
|
6
|
-
var automatic_moves_util_1 = require("./automatic-moves.util");
|
|
7
|
-
var random_util_1 = require("./random.util");
|
|
8
|
-
function playAction(rules, move, playerId) {
|
|
9
|
-
if ((0, random_util_1.hasRandomMove)(rules)) {
|
|
1
|
+
import { applyAutomaticMoves } from './automatic-moves.util';
|
|
2
|
+
import { hasRandomMove } from './random.util';
|
|
3
|
+
export function playAction(rules, move, playerId) {
|
|
4
|
+
if (hasRandomMove(rules)) {
|
|
10
5
|
move = rules.randomize(move, playerId);
|
|
11
6
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const action = { playerId, move, consequences: [] };
|
|
8
|
+
const consequences = rules.play(JSON.parse(JSON.stringify(move)));
|
|
9
|
+
applyAutomaticMoves(rules, consequences, move => action.consequences.push(move));
|
|
15
10
|
return action;
|
|
16
11
|
}
|
|
17
|
-
function replayAction(rules, action) {
|
|
12
|
+
export function replayAction(rules, action) {
|
|
18
13
|
rules.play(JSON.parse(JSON.stringify(action.move)));
|
|
19
|
-
action.consequences.forEach(
|
|
14
|
+
action.consequences.forEach(move => rules.play(JSON.parse(JSON.stringify(move))));
|
|
20
15
|
}
|
|
21
|
-
function replayActions(rules, actions) {
|
|
22
|
-
actions.forEach(
|
|
16
|
+
export function replayActions(rules, actions) {
|
|
17
|
+
actions.forEach(action => replayAction(rules, action));
|
|
23
18
|
}
|
|
24
19
|
//# sourceMappingURL=action.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.util.js","sourceRoot":"","sources":["../../src/utils/action.util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action.util.js","sourceRoot":"","sources":["../../src/utils/action.util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,UAAU,UAAU,CAAuB,KAAkC,EAAE,IAAU,EAAE,QAAkB;IACjH,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IAE3E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEjE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAuB,KAAkC,EAAE,MAA8B;IACnH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,aAAa,CAAuB,KAAkC,EAAE,OAAiC;IACvH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC"}
|