@energy8platform/platform-core 0.16.2 → 0.17.0
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/README.md +3 -3
- package/dist/dev-bridge.cjs.js +16 -51
- package/dist/dev-bridge.cjs.js.map +1 -1
- package/dist/dev-bridge.d.ts +26 -30
- package/dist/dev-bridge.esm.js +16 -51
- package/dist/dev-bridge.esm.js.map +1 -1
- package/dist/index.cjs.js +16 -51
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +27 -31
- package/dist/index.esm.js +16 -51
- package/dist/index.esm.js.map +1 -1
- package/dist/lua.cjs.js +53 -30
- package/dist/lua.cjs.js.map +1 -1
- package/dist/lua.d.ts +24 -19
- package/dist/lua.esm.js +53 -30
- package/dist/lua.esm.js.map +1 -1
- package/dist/simulation.d.ts +17 -17
- package/package.json +1 -1
- package/scripts/install-simulate.mjs +1 -1
- package/src/dev-bridge/DevBridge.ts +16 -57
- package/src/index.ts +0 -3
- package/src/lua/LuaEngine.ts +40 -18
- package/src/lua/SimulationRunner.ts +12 -14
- package/src/lua/index.ts +0 -3
- package/src/lua/types.ts +17 -20
- package/src/types.ts +0 -3
package/dist/lua.esm.js
CHANGED
|
@@ -759,23 +759,15 @@ class LuaEngine {
|
|
|
759
759
|
// Inject cross-spin _ps_* game data
|
|
760
760
|
const gameDataParams = this.persistentState.getGameDataParams();
|
|
761
761
|
Object.assign(stateParams, gameDataParams);
|
|
762
|
-
//
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
if (mode.scatter_distribution) {
|
|
769
|
-
stateParams.forced_scatter_count = this.pickFromDistribution(mode.scatter_distribution);
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
}
|
|
773
|
-
// Handle ante bet
|
|
774
|
-
if (clientParams?.ante_bet && this.gameDefinition.ante_bet) {
|
|
775
|
-
stateParams.ante_bet = true;
|
|
762
|
+
// v5: forced scatter rolls come from the action's own feature_data.
|
|
763
|
+
// Output of the roll stays in state.params (it's random per-call), while
|
|
764
|
+
// the static config flows through state.action_config.feature_data.
|
|
765
|
+
const scatterDist = readScatterDistribution(action.feature_data);
|
|
766
|
+
if (scatterDist) {
|
|
767
|
+
stateParams.forced_scatter_count = this.pickFromDistribution(scatterDist);
|
|
776
768
|
}
|
|
777
769
|
// 5. Execute Lua (server: executor.Execute(stage, state))
|
|
778
|
-
const luaResult = this.callLuaExecute(action.stage, actionName, stateParams, stateVars);
|
|
770
|
+
const luaResult = this.callLuaExecute(action.stage, actionName, stateParams, stateVars, action);
|
|
779
771
|
// 6. Process result (server: ApplyLuaResult)
|
|
780
772
|
const totalWinMultiplier = typeof luaResult.total_win === 'number' ? luaResult.total_win : 0;
|
|
781
773
|
const resultVariables = (luaResult.variables ?? {});
|
|
@@ -910,16 +902,27 @@ class LuaEngine {
|
|
|
910
902
|
}
|
|
911
903
|
lua.lua_pop(this.L, 1);
|
|
912
904
|
}
|
|
913
|
-
callLuaExecute(stage, action, params, variables) {
|
|
905
|
+
callLuaExecute(stage, action, params, variables, actionDef) {
|
|
914
906
|
lua.lua_getglobal(this.L, cachedToLuastring('execute'));
|
|
915
|
-
// Build state table: {stage, action, params, variables}
|
|
916
|
-
lua.lua_createtable(this.L, 0,
|
|
907
|
+
// Build state table: {stage, action, action_config, params, variables}
|
|
908
|
+
lua.lua_createtable(this.L, 0, 5);
|
|
917
909
|
// state.stage
|
|
918
910
|
lua.lua_pushstring(this.L, cachedToLuastring(stage));
|
|
919
911
|
lua.lua_setfield(this.L, -2, cachedToLuastring('stage'));
|
|
920
912
|
// state.action (server sets this at top level)
|
|
921
913
|
lua.lua_pushstring(this.L, cachedToLuastring(action));
|
|
922
914
|
lua.lua_setfield(this.L, -2, cachedToLuastring('action'));
|
|
915
|
+
// state.action_config — v5: { cost_multiplier, feature_data }.
|
|
916
|
+
// Server's lua_runtime.go substitutes 1.0 when cost_multiplier is unset
|
|
917
|
+
// so scripts never see 0; mirror that default.
|
|
918
|
+
const mult = typeof actionDef.cost_multiplier === 'number' && actionDef.cost_multiplier > 0
|
|
919
|
+
? actionDef.cost_multiplier
|
|
920
|
+
: 1;
|
|
921
|
+
pushJSValue(this.L, {
|
|
922
|
+
cost_multiplier: mult,
|
|
923
|
+
feature_data: actionDef.feature_data ?? {},
|
|
924
|
+
});
|
|
925
|
+
lua.lua_setfield(this.L, -2, cachedToLuastring('action_config'));
|
|
923
926
|
// state.params
|
|
924
927
|
pushJSValue(this.L, params);
|
|
925
928
|
lua.lua_setfield(this.L, -2, cachedToLuastring('params'));
|
|
@@ -1012,6 +1015,24 @@ class LuaEngine {
|
|
|
1012
1015
|
}
|
|
1013
1016
|
}
|
|
1014
1017
|
// ─── Module helpers ─────────────────────────────────────
|
|
1018
|
+
/**
|
|
1019
|
+
* Pull a `scatter_distribution` map out of an action's feature_data, if any.
|
|
1020
|
+
* Returns null when missing or wrong-shaped — caller falls through with no
|
|
1021
|
+
* forced_scatter_count injection (matches server behavior).
|
|
1022
|
+
*/
|
|
1023
|
+
function readScatterDistribution(featureData) {
|
|
1024
|
+
if (!featureData)
|
|
1025
|
+
return null;
|
|
1026
|
+
const dist = featureData['scatter_distribution'];
|
|
1027
|
+
if (!dist || typeof dist !== 'object')
|
|
1028
|
+
return null;
|
|
1029
|
+
const out = {};
|
|
1030
|
+
for (const [k, v] of Object.entries(dist)) {
|
|
1031
|
+
if (typeof v === 'number')
|
|
1032
|
+
out[k] = v;
|
|
1033
|
+
}
|
|
1034
|
+
return Object.keys(out).length > 0 ? out : null;
|
|
1035
|
+
}
|
|
1015
1036
|
/**
|
|
1016
1037
|
* Strip _persist_* and _persist_game_* keys from a data map — matches
|
|
1017
1038
|
* server's MapStateForHistory used when recording session round history.
|
|
@@ -1156,19 +1177,21 @@ class SimulationRunner {
|
|
|
1156
1177
|
_raw: { totalWagered, totalWon, baseGameWin, bonusWin, hits },
|
|
1157
1178
|
};
|
|
1158
1179
|
}
|
|
1159
|
-
/**
|
|
1160
|
-
|
|
1161
|
-
|
|
1180
|
+
/**
|
|
1181
|
+
* Calculate the real cost of one spin — mirrors v5
|
|
1182
|
+
* ActionDefinition.DebitAmount: bet × (cost_multiplier || 1) when
|
|
1183
|
+
* debit==='bet', otherwise 0. Returns `bet` as a fallback for unknown
|
|
1184
|
+
* actions so RTP math still progresses (we count those as wagered).
|
|
1185
|
+
*/
|
|
1186
|
+
calculateSpinCost(action, bet, gameDefinition, _params) {
|
|
1162
1187
|
const actionDef = gameDefinition.actions[action];
|
|
1163
|
-
if (actionDef
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
if (params?.ante_bet && gameDefinition.ante_bet) {
|
|
1171
|
-
return bet * gameDefinition.ante_bet.cost_multiplier;
|
|
1188
|
+
if (!actionDef)
|
|
1189
|
+
return bet;
|
|
1190
|
+
if (actionDef.debit !== 'bet')
|
|
1191
|
+
return 0;
|
|
1192
|
+
const mult = actionDef.cost_multiplier;
|
|
1193
|
+
if (typeof mult === 'number' && mult > 0 && mult !== 1) {
|
|
1194
|
+
return bet * mult;
|
|
1172
1195
|
}
|
|
1173
1196
|
return bet;
|
|
1174
1197
|
}
|
package/dist/lua.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lua.esm.js","sources":["../src/lua/LuaEngineAPI.ts","../src/lua/ActionRouter.ts","../src/lua/SessionManager.ts","../src/lua/PersistentState.ts","../src/lua/LuaEngine.ts","../src/lua/SimulationRunner.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["lua","lauxlib","to_luastring","to_jsstring"],"mappings":";;AAGA,MAAM,OAAEA,KAAG,WAAEC,SAAO,EAAE,GAAG,OAAO;AAChC,MAAM,gBAAEC,cAAY,eAAEC,aAAW,EAAE,GAAG,OAAO;AAI7C;AACA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB;AAE9C,SAAU,iBAAiB,CAAC,CAAS,EAAA;IACzC,IAAI,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,GAAGD,cAAY,CAAC,CAAC,CAAC;AACxB,QAAA,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;IAC/B;AACA,IAAA,OAAO,MAAM;AACf;AAEA;;;AAGG;AACG,SAAU,eAAe,CAAC,IAAY,EAAA;IAC1C,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;IACzB,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,UAAU,GAAG,KAAK,MAAM,CAAC;IAC1C,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,mBAAmB,GAAG,mBAAmB,MAAM,CAAC;IACjE,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,mBAAmB,GAAG,mBAAmB,MAAM,CAAC;AAEjE,IAAA,OAAO,MAAa;AAClB,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1C,QAAA,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;QAEjB,EAAE,IAAI,EAAE;QACR,EAAE,IAAI,EAAE;QACR,EAAE,IAAI,EAAE;QACR,EAAE,IAAI,EAAE;QACR,EAAE,IAAI,CAAC;AACP,QAAA,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;QAErC,OAAO,MAAM,GAAG,UAAU;AAC5B,IAAA,CAAC;AACH;AAEA;;AAEG;MACU,YAAY,CAAA;AACf,IAAA,GAAG;AACH,IAAA,MAAM;AACN,IAAA,cAAc;AAEtB,IAAA,WAAA,CACE,cAA8B,EAC9B,GAAiB,EACjB,MAA6C,EAAA;AAE7C,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,GAAG,KAAI;YACtC,MAAM,EAAE,GAAG,KAAK,KAAK,OAAO,GAAG,OAAO,CAAC;kBACnC,KAAK,KAAK,MAAM,GAAG,OAAO,CAAC;sBAC3B,KAAK,KAAK,OAAO,GAAG,OAAO,CAAC;AAC9B,0BAAE,OAAO,CAAC,GAAG;AACf,YAAA,EAAE,CAAC,CAAA,KAAA,EAAQ,KAAK,KAAK,GAAG,CAAA,CAAE,CAAC;AAC7B,QAAA,CAAC,CAAC;IACJ;;AAGA,IAAA,QAAQ,CAAC,CAAM,EAAA;;AAEb,QAAAF,KAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAEnB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAO,KAAI;YAC7C,MAAM,GAAG,GAAGC,SAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAGA,SAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACpD,YAAAD,KAAG,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC;AAC/B,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAO,KAAI;YACnDA,KAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1C,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAO,KAAI;YACtDC,SAAO,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAED,KAAG,CAAC,UAAU,CAAC;YAC7C,MAAM,OAAO,GAAa,EAAE;YAC5B,MAAM,GAAG,GAAGA,KAAG,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AACjC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC7BA,KAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,gBAAA,OAAO,CAAC,IAAI,CAACA,KAAG,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACtC,gBAAAA,KAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB;YACA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAC3C,YAAAA,KAAG,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC;AAC/B,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAO,KAAI;YAC9CC,SAAO,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAED,KAAG,CAAC,UAAU,CAAC;YAC7C,MAAM,GAAG,GAAc,EAAE;YACzB,MAAM,GAAG,GAAGA,KAAG,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AACjC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC7BA,KAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzB,gBAAAA,KAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB;YACA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAClC,YAAA,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC;AACzB,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAO,KAAI;AAC1C,YAAA,MAAM,KAAK,GAAGG,aAAW,CAACF,SAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,YAAA,MAAM,GAAG,GAAGE,aAAW,CAACF,SAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;AACvB,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAO,KAAI;AACjD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC;AACxB,YAAA,OAAO,CAAC;AACV,QAAA,CAAC,CAAC;;QAGFD,KAAG,CAAC,aAAa,CAAC,CAAC,EAAEE,cAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C;;IAIA,MAAM,CAAC,GAAW,EAAE,GAAW,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;IACvD;IAEA,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,GAAG,EAAE;IACnB;AAEA,IAAA,cAAc,CAAC,OAAiB,EAAA;AAC9B,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;YAClB,IAAI,IAAI,GAAG,CAAC;AAAE,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B;AACA,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB;AAEA,IAAA,OAAO,CAAI,GAAQ,EAAA;AACjB,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AACrB,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC;AACA,QAAA,OAAO,IAAI;IACb;IAEA,SAAS,GAAA;AACP,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc;QAC/B,IAAI,SAAS,GAAa,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACjC,YAAA,SAAS,GAAG,GAAG,CAAC,UAAU;QAC5B;AAAO,aAAA,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;AAChF,YAAA,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM;QACnC;QACA,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;AACd,YAAA,UAAU,EAAE,SAAS;SACtB;IACH;;AAIQ,IAAA,gBAAgB,CAAC,CAAM,EAAE,IAAY,EAAE,EAAsB,EAAA;AACnE,QAAAF,KAAG,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5B,QAAAA,KAAG,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAEE,cAAY,CAAC,IAAI,CAAC,CAAC;IAC7C;AACD;AAED;AAEA;AACM,SAAU,OAAO,CAAC,CAAM,EAAE,GAAW,EAAA;IACzC,MAAM,IAAI,GAAGF,KAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAEjC,QAAQ,IAAI;QACV,KAAKA,KAAG,CAAC,QAAQ;AACf,YAAA,OAAO,IAAI;QAEb,KAAKA,KAAG,CAAC,YAAY;YACnB,OAAOA,KAAG,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC;QAElC,KAAKA,KAAG,CAAC,WAAW;YAClB,IAAIA,KAAG,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC7B,OAAO,MAAM,CAACA,KAAG,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1C;YACA,OAAOA,KAAG,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC;QAEjC,KAAKA,KAAG,CAAC,WAAW;YAClB,OAAOG,aAAW,CAACH,KAAG,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAE9C,KAAKA,KAAG,CAAC,UAAU;AACjB,YAAA,OAAO,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC;AAE7B,QAAA;AACE,YAAA,OAAO,IAAI;;AAEjB;AAEA;AACA,SAAS,YAAY,CAAC,CAAM,EAAE,GAAW,EAAA;;IAEvC,IAAI,GAAG,GAAG,CAAC;QAAE,GAAG,GAAGA,KAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;;IAG9C,MAAM,GAAG,GAAGA,KAAG,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC;AAClC,IAAA,IAAI,GAAG,GAAG,CAAC,EAAE;;QAEXA,KAAG,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1B,QAAA,MAAM,QAAQ,GAAGA,KAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,KAAKA,KAAG,CAAC,QAAQ;AACrD,QAAAA,KAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAEjB,IAAI,QAAQ,EAAE;;YAEZ,IAAI,aAAa,GAAG,KAAK;AACzB,YAAAA,KAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAClB,OAAOA,KAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjCA,KAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAIA,KAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,KAAKA,KAAG,CAAC,WAAW,EAAE;oBAC3C,aAAa,GAAG,IAAI;oBACpBA,KAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClB;gBACF;YACF;YAEA,IAAI,CAAC,aAAa,EAAE;;gBAElB,MAAM,GAAG,GAAc,EAAE;AACzB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC7BA,KAAG,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxB,oBAAAA,KAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB;AACA,gBAAA,OAAO,GAAG;YACZ;QACF;IACF;;IAGA,MAAM,GAAG,GAA4B,EAAE;AACvC,IAAAA,KAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAClB,OAAOA,KAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;QACjC,MAAM,OAAO,GAAGA,KAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC,QAAA,IAAI,GAAW;AACf,QAAA,IAAI,OAAO,KAAKA,KAAG,CAAC,WAAW,EAAE;AAC/B,YAAA,GAAG,GAAGG,aAAW,CAACH,KAAG,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5C;AAAO,aAAA,IAAI,OAAO,KAAKA,KAAG,CAAC,WAAW,EAAE;AACtC,YAAA,GAAG,GAAG,MAAM,CAACA,KAAG,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC;aAAO;AACL,YAAAA,KAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACjB;QACF;QACA,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;AACzB,QAAAA,KAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,WAAW,CAAC,CAAM,EAAE,KAAc,EAAA;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACzC,QAAAA,KAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACpB;AAAO,SAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AACrC,QAAAA,KAAG,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC;AAAO,SAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAAA,KAAG,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC;QAC/B;aAAO;AACL,YAAAA,KAAG,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC;QAC9B;IACF;AAAO,SAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpCA,KAAG,CAAC,cAAc,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjD;AAAO,SAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC/B,QAAA,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;IACvB;AAAO,SAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,QAAA,YAAY,CAAC,CAAC,EAAE,KAAgC,CAAC;IACnD;SAAO;AACL,QAAAA,KAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACpB;AACF;AAEA;AACA,SAAS,WAAW,CAAC,CAAM,EAAE,GAAc,EAAA;IACzCA,KAAG,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACtB,QAAAA,KAAG,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/B;AACF;AAEA;AACA,SAAS,YAAY,CAAC,CAAM,EAAE,GAA4B,EAAA;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7BA,KAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;AACtC,IAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,QAAAA,KAAG,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACjD;AACF;;AClTA;;;;AAIG;MACU,YAAY,CAAA;AACf,IAAA,OAAO;AAEf,IAAA,WAAA,CAAY,cAA8B,EAAA;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO;IACvC;;IAGA,aAAa,CAAC,UAAkB,EAAE,UAAmB,EAAA;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,CAAA,iBAAA,EAAoB,UAAU,CAAA,cAAA,EAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC;QACxG;AACA,QAAA,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;AAC1C,YAAA,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,CAAA,4BAAA,CAA8B,CAAC;QACtE;AACA,QAAA,OAAO,MAAM;IACf;;IAGA,mBAAmB,CACjB,MAAwB,EACxB,SAAiC,EAAA;AAEjC,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE;YACrC,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;gBAChD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE;YACjD;QACF;AACA,QAAA,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,CAAC,KAAK,CAAA,GAAA,CAAK;YAClE,CAAA,WAAA,EAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA,CAAE,CAC1C;IACH;AACD;AAED;AAEA;;;;;;;;;AASG;AACG,SAAU,iBAAiB,CAC/B,SAAiB,EACjB,SAAiC,EAAA;AAEjC,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE;IAEhC,IAAI,OAAO,KAAK,QAAQ;AAAE,QAAA,OAAO,IAAI;;AAGrC,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC;AAC5C,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D;;AAGA,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC;AAC5C,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE;;AAGA,IAAA,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;AAC/C;AAEA,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB,EAAA;IACrD,MAAM,KAAK,GAAa,EAAE;IAC1B,IAAI,KAAK,GAAG,CAAC;IACb,IAAI,OAAO,GAAG,EAAE;AAEhB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;AAAE,YAAA,KAAK,EAAE;AACvB,aAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;AAAE,YAAA,KAAK,EAAE;AAEjC,QAAA,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;AACtE,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACnB,OAAO,GAAG,EAAE;AACZ,YAAA,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1B;aAAO;AACL,YAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;QACpB;IACF;AACA,IAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AACnB,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,kBAAkB,CACzB,IAAY,EACZ,SAAiC,EAAA;;IAGjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAC7B,0EAA0E,CAC3E;IAED,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAA,CAAA,CAAG,CAAC;IACtD;IAEA,MAAM,GAAG,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,KAAK;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;AACpC,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC;IAElC,QAAQ,EAAE;AACR,QAAA,KAAK,GAAG,EAAG,OAAO,IAAI,GAAG,KAAK;AAC9B,QAAA,KAAK,IAAI,EAAE,OAAO,IAAI,IAAI,KAAK;AAC/B,QAAA,KAAK,GAAG,EAAG,OAAO,IAAI,GAAG,KAAK;AAC9B,QAAA,KAAK,IAAI,EAAE,OAAO,IAAI,IAAI,KAAK;AAC/B,QAAA,KAAK,IAAI,EAAE,OAAO,IAAI,KAAK,KAAK;AAChC,QAAA,KAAK,IAAI,EAAE,OAAO,IAAI,KAAK,KAAK;AAChC,QAAA,SAAW,OAAO,KAAK;;AAE3B;;AC1GA,MAAM,iBAAiB,GAAG,GAAG;AAE7B;;;;;;AAMG;MACU,cAAc,CAAA;IACjB,OAAO,GAAwB,IAAI;AAE3C,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;IACzD;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI;AAC9B,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC7B;AAEA,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC;IACpC;;AAGA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG;IAC1B;;AAGA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY;IACnC;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,CAAC;IAC1C;AAEA;;;;AAIG;IACH,aAAa,CACX,IAAoB,EACpB,SAAiC,EACjC,GAAW,EACX,OAAe,EACf,SAA6B,EAC7B,WAAoC,EAAA;AAEpC,QAAA,IAAI,cAAc,GAAG,EAAE;AACvB,QAAA,IAAI,YAAgC;AACpC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE;AACxC,YAAA,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe;YAClD,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;QAChD;QAEA,MAAM,kBAAkB,GAAa,IAAI,CAAC,cAAc,EAAE,eAAe,IAAI,EAAE;QAC/E,MAAM,cAAc,GAA2B,EAAE;AACjD,QAAA,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE;YACxC,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACnD;QAEA,IAAI,CAAC,OAAO,GAAG;YACb,cAAc;YACd,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,OAAO;AACjB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE,KAAK;YACpB,GAAG;YACH,SAAS;YACT,YAAY;YACZ,kBAAkB;YAClB,cAAc;AACd,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SAC7D;AAED,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC7B;AAEA;;;;AAIG;AACH,IAAA,aAAa,CACX,IAAoB,EACpB,SAAiC,EACjC,OAAe,EACf,SAAkC,EAAA;QAElC,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;;;AAIvD,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AACxB,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;AACnC,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA,CAAC;;AAGF,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;;QAG1B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC/B;;AAGA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACrD,YAAA,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;AACtD,gBAAA,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,UAAU;YAC3C;QACF;;QAGA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,iBAAiB,EAAE;AACjD,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC;QACjC;;QAGA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;AACrD,YAAA,IAAI,OAAO,IAAI,SAAS,EAAE;AACxB,gBAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC3D;QACF;;QAGA,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC3F,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;AAC9C,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;QACnC;;AAGA,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC9D,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI;QAC/B;AAEA,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE;IAC7B;AAEA;;;AAGG;IACH,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;AAEnE,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI;AAC7B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE;QACpC,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;AAE5D,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AAEnB,QAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;IAC/C;;IAGA,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI;QAC/B;IACF;;AAGA,IAAA,gBAAgB,CAAC,IAA6B,EAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACnC,YAAA,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;AAC9C,gBAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YACnD;QACF;IACF;;IAGA,mBAAmB,GAAA;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE;QAE5B,MAAM,MAAM,GAA4B,EAAE;;AAG1C,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;AACtE,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;QACrB;;AAGA,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;AACtE,YAAA,MAAM,CAAC,CAAA,IAAA,EAAO,GAAG,EAAE,CAAC,GAAG,KAAK;QAC9B;AAEA,QAAA,OAAO,MAAM;IACf;;IAGA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;IACrB;IAEQ,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC;QAEhD,OAAO;AACL,YAAA,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;AAC3C,YAAA,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;AACrC,YAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG;AACvD,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;AACjC,YAAA,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;AACzC,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;;YAE3B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACnC;IACH;AACD;;ACtPD;;;;;;;AAOG;MACU,eAAe,CAAA;AAClB,IAAA,MAAM;IACN,IAAI,GAA2B,EAAE;IACjC,QAAQ,GAA4B,EAAE;AAE9C,IAAA,WAAA,CAAY,MAA8B,EAAA;AACxC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;;AAGA,IAAA,iBAAiB,CAAC,SAAiC,EAAA;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE;QAElB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACtC,YAAA,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;gBACxB,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACzC;QACF;IACF;;AAGA,IAAA,iBAAiB,CAAC,SAAiC,EAAA;QACjD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE;QAElB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACtC,YAAA,IAAI,OAAO,IAAI,SAAS,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YACzC;QACF;IACF;;AAGA,IAAA,aAAa,CAAC,IAA6B,EAAA;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACnC,YAAA,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;gBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AACnC,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB;QACF;IACF;;IAGA,iBAAiB,GAAA;QACf,MAAM,MAAM,GAA4B,EAAE;AAC1C,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACxD,YAAA,MAAM,CAAC,CAAA,IAAA,EAAO,GAAG,EAAE,CAAC,GAAG,KAAK;QAC9B;AACA,QAAA,OAAO,MAAM;IACf;;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM;AAAE,YAAA,OAAO,SAAS;QAExD,MAAM,OAAO,GAA2B,EAAE;QAC1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;AAC9C,YAAA,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;gBACxB,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC;QACF;AACA,QAAA,OAAO,OAAO;IAChB;;IAGA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AACD;;ACrED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO;AACxC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO;AAE7C;AACA,MAAM,iBAAiB,GAA2B;AAChD,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,iBAAiB,EAAE,CAAC;AACpB,IAAA,eAAe,EAAE,CAAC;AAClB,IAAA,kBAAkB,EAAE,CAAC;CACtB;AAED;;;;;;AAMG;MACU,SAAS,CAAA;AACZ,IAAA,CAAC;AACD,IAAA,GAAG;AACH,IAAA,YAAY;AACZ,IAAA,cAAc;AACd,IAAA,eAAe;AACf,IAAA,cAAc;IACd,SAAS,GAA2B,EAAE;AACtC,IAAA,cAAc;;IAEd,UAAU,GAA2B,EAAE;IACvC,YAAY,GAA4B,EAAE;AAElD,IAAA,WAAA,CAAY,MAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc;QAC3C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK;AAEpD,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,KAAK;AAC1B,cAAE,eAAe,CAAC,MAAM,CAAC,IAAI;cAC3B,SAAS;AAEb,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;AAC3D,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE;AAC1C,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC;AAElF,QAAA,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,EAAE;AAChC,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;;QAG5B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;AAgB1C,IAAA,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;IAChC;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO;IACpC;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;IAC9B;AAEA;;AAEG;AACH,IAAA,OAAO,CAAC,MAAkB,EAAA;QACxB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM;;AAG3D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAC5C,UAAU,EACV,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B;;AAGD,QAAA,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG;AACpB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,KAAK,SAAS,EAAE;AAChF,YAAA,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU;QACtC;;;AAIA,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU;;QAEjC,KAAK,MAAM,GAAG,IAAI,SAAS;AAAE,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC;;QAElD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;AAC3D,QAAA,SAAS,CAAC,GAAG,GAAG,GAAG;;AAGnB,QAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC;;AAGjD,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;AAC/D,YAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AAClD,gBAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACzB,oBAAA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClB;YACF;;AAEA,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AACpC,gBAAA,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc;YAClF;;YAEA,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc;QACrE;;AAGA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY;QACrC,KAAK,MAAM,GAAG,IAAI,WAAW;AAAE,YAAA,OAAO,WAAW,CAAC,GAAG,CAAC;AACtD,QAAA,IAAI,YAAY;AAAE,YAAA,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC;AAC1D,QAAA,WAAW,CAAC,OAAO,GAAG,UAAU;;AAGhC,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE;AAC/D,YAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AAClD,gBAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACzB,oBAAA,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;gBACpB;YACF;QACF;;QAGA,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE;AAC/D,QAAA,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;;QAG1C,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;AAC1D,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;YACvE,IAAI,IAAI,EAAE;AACR,gBAAA,WAAW,CAAC,SAAS,GAAG,IAAI;AAC5B,gBAAA,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc;AAClD,gBAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBACzF;YACF;QACF;;QAGA,IAAI,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC1D,YAAA,WAAW,CAAC,QAAQ,GAAG,IAAI;QAC7B;;AAGA,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC;;AAGvF,QAAA,MAAM,kBAAkB,GAAG,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC;QAC5F,MAAM,eAAe,IAAI,SAAS,CAAC,SAAS,IAAI,EAAE,CAA2B;AAC7E,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG;;;;QAKhE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;;AAE9C,QAAA,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC;;QAGzC,MAAM,IAAI,GAA4B,EAAE;AACxC,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACpD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,WAAW,EAAE;AAC9C,gBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;YACnB;QACF;;;;;AAMA,QAAA,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC;;AAG5C,QAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC1C,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;;AAGxC,QAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC;;QAGjD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;QACzD,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW;QACrC;;QAGA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACnC,YAAA,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;AAC/B,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC;YAClB;QACF;;AAGA,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC;AACzE,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY;;AAGnC,QAAA,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO;;AAGlF,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO;QACzC,IAAI,cAAc,GAAG,OAAO;QAC5B,IAAI,gBAAgB,GAAG,KAAK;;QAG5B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;;;;;AAM9C,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAExC,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;;AAEzD,YAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;YAChG,cAAc,GAAG,IAAI;YACrB,cAAc,GAAG,OAAO;;AAGxB,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE;gBACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YAC5D;QACF;AAAO,aAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;;AAEvC,YAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;AAEhF,YAAA,IAAI,OAAO,EAAE,SAAS,EAAE;;;;gBAItB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;AACvD,gBAAA,OAAO,GAAG,SAAS,CAAC,OAAO;AAC3B,gBAAA,cAAc,GAAG,SAAS,CAAC,QAAQ;gBACnC,gBAAgB,GAAG,IAAI;gBACvB,cAAc,GAAG,KAAK;AAEtB,gBAAA,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC;gBACxD,IAAI,cAAc,EAAE;oBAClB,WAAW,GAAG,cAAc;gBAC9B;;AAGA,gBAAA,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,eAAe,EAAE;AAC/C,oBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAChC;YACF;iBAAO;;gBAEL,cAAc,GAAG,OAAO;gBACxB,cAAc,GAAG,IAAI;YACvB;QACF;;;AAIA,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,gBAAgB,IAAI,SAAS,KAAK,SAAS,IAAI,cAAc,GAAG,SAAS,EAAE;YAC/G,cAAc,GAAG,SAAS;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC;AAClC,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC7B;QAEA,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,GAAG;YAChD,IAAI;YACJ,WAAW;YACX,OAAO;;AAEP,YAAA,SAAS,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YACvE,cAAc;SACf;IACH;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;IAC9B;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,CAAC,EAAE;AACV,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACrB,YAAA,IAAI,CAAC,CAAC,GAAG,IAAI;QACf;IACF;;AAIQ,IAAA,UAAU,CAAC,MAAc,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;AAClE,QAAA,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AACzB,YAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAA,CAAE,CAAC;QACtD;AAEA,QAAA,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,aAAa,EAAE;YAClD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,YAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC;QAC9E;QACA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACxB;AAEQ,IAAA,cAAc,CACpB,KAAa,EACb,MAAc,EACd,MAA+B,EAC/B,SAAiC,EAAA;AAEjC,QAAA,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;;QAGvD,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAGjC,QAAA,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpD,QAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;;AAGxD,QAAA,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrD,QAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;;AAGzD,QAAA,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC;AAC3B,QAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;;AAGzD,QAAA,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC;AAC9B,QAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAE5D,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7C,QAAA,IAAI,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AACzB,YAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAA,CAAE,CAAC;QACjD;AAEA,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;;YAEvB,MAAM,MAAM,GAA4B,EAAE;AAE1C,YAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAC5D,YAAA,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC;AAClD,kBAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;YACpC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtB,YAAA,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAC5D,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE;AAC/C,gBAAA,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACxC;YACA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;;AAGtB,YAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,YAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;AACrC,gBAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE;AAChD,oBAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrD,oBAAA,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;AAC/B,wBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;oBACnC;gBACF;gBACA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACxB;YAEA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,YAAA,OAAO,MAAM;QACf;;QAGA,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtB,QAAA,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAClE,YAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC;QACtD;AAEA,QAAA,OAAO,MAAiC;IAC1C;AAEA;;;;AAIG;IACK,sBAAsB,CAC5B,IAA4B,EAC5B,IAA6B,EAAA;AAE7B,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU;AACzB,QAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACnE,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;AAEA,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB;AACjC,QAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;AAC5E,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;QAC7B;AAEA,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB;AACpC,QAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAC3E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC;AAEA,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;AACpE,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC7B;IACF;AAEQ,IAAA,kBAAkB,CAAC,GAAW,EAAA;AACpC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,EAAE;AAAE,YAAA,OAAO,SAAS;QAEzB,MAAM,IAAI,GAAa,EAAE;AACzB,QAAA,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;AAC/D,QAAA,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AAE/C,QAAA,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS;IACxD;AAEQ,IAAA,oBAAoB,CAAC,YAAoC,EAAA;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,WAAW;QAE/C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE;YACrC,IAAI,IAAI,MAAM;YACd,IAAI,IAAI,GAAG,CAAC;AAAE,gBAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1C;AAEA,QAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrD;AACD;AAED;AAEA;;;AAGG;AACH,SAAS,gBAAgB,CAAC,IAA6B,EAAA;IACrD,MAAM,GAAG,GAA4B,EAAE;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACjC,QAAA,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE;QACjE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAClB;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;;;;;AAKG;AACH,SAAS,yBAAyB,CAAC,MAAwB,EAAA;IACzD,IAAI,cAAc,GAAoB,IAAI;AAC1C,IAAA,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE;AAClC,QAAA,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YACrE,OAAO,CAAC,CAAC,YAAY;QACvB;QACA,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,KAAK,IAAI,EAAE;AAC7G,YAAA,cAAc,GAAG,CAAC,CAAC,YAAY;QACjC;IACF;AACA,IAAA,OAAO,cAAc;AACvB;;AC3eA;;;;;;;;;;;;;;;;;;AAkBG;MACU,gBAAgB,CAAA;AACnB,IAAA,MAAM;AAEd,IAAA,WAAA,CAAY,MAAwB,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;IAEA,GAAG,GAAA;AACD,QAAA,MAAM,EACJ,MAAM,EACN,cAAc,EACd,UAAU,EACV,GAAG,EACH,IAAI,EACJ,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,MAAM,EACN,gBAAgB,GAAG,OAAO,EAC1B,UAAU,GACX,GAAG,IAAI,CAAC,MAAM;AAEf,QAAA,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,MAAM;YACN,cAAc;YACd,IAAI;AACJ,YAAA,MAAM,EAAE,MAAK,EAAE,CAAC;AAChB,YAAA,cAAc,EAAE,IAAI;AACrB,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC;QAEjF,IAAI,YAAY,GAAG,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC;QAChB,IAAI,WAAW,GAAG,CAAC;QACnB,IAAI,QAAQ,GAAG,CAAC;QAChB,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,gBAAgB,GAAG,CAAC;QACxB,IAAI,UAAU,GAAG,CAAC;QAClB,IAAI,cAAc,GAAG,CAAC;QACtB,IAAI,gBAAgB,GAAG,CAAC;AAExB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;AAE5B,QAAA,IAAI;AACF,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACnC,YAAY,IAAI,QAAQ;gBACxB,IAAI,QAAQ,GAAG,CAAC;gBAChB,IAAI,aAAa,GAAG,CAAC;;AAGrB,gBAAA,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AAC1B,oBAAA,MAAM,EAAE,WAAW;oBACnB,GAAG;oBACH,MAAM;AACP,iBAAA,CAAC;AAEF,gBAAA,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ;;gBAG/B,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;AAC/C,oBAAA,cAAc,EAAE;oBAEhB,IAAI,WAAW,GAAG,MAAM;AACxB,oBAAA,OAAO,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,EAAE,GAAG,CAAC,EAAE;wBACvE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACxC,wBAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AACpD,wBAAA,gBAAgB,EAAE;oBACpB;;;AAIA,oBAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ;AAC1B,oBAAA,aAAa,GAAG,QAAQ,GAAG,OAAO;gBACpC;qBAAO;;oBAEL,QAAQ,GAAG,OAAO;gBACpB;gBAEA,WAAW,IAAI,OAAO;gBACtB,QAAQ,IAAI,aAAa;gBACzB,QAAQ,IAAI,QAAQ;gBAEpB,IAAI,QAAQ,GAAG,CAAC;AAAE,oBAAA,IAAI,EAAE;AAExB,gBAAA,MAAM,eAAe,GAAG,QAAQ,GAAG,GAAG;AACtC,gBAAA,IAAI,eAAe,GAAG,gBAAgB,EAAE;oBACtC,gBAAgB,GAAG,eAAe;gBACpC;gBAEA,IAAI,MAAM,CAAC,SAAS,EAAE,eAAe,KAAK,CAAC,EAAE;AAC3C,oBAAA,UAAU,EAAE;gBACd;;AAGA,gBAAA,IAAI,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,gBAAgB,KAAK,CAAC,EAAE;AAClD,oBAAA,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;gBAC/B;YACF;QACF;gBAAU;YACR,MAAM,CAAC,OAAO,EAAE;QAClB;QAEA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QAEzC,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,EAAE;AACzB,YAAA,MAAM,EAAE,WAAW;YACnB,UAAU;YACV,UAAU;AACV,YAAA,QAAQ,EAAE,YAAY,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,IAAI,GAAG,GAAG,CAAC;AAChE,YAAA,WAAW,EAAE,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,YAAY,IAAI,GAAG,GAAG,CAAC;AACtE,YAAA,QAAQ,EAAE,YAAY,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,IAAI,GAAG,GAAG,CAAC;AAChE,YAAA,YAAY,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,IAAI,GAAG,GAAG,CAAC;YAC5D,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG;YAChD,UAAU;YACV,cAAc;YACd,gBAAgB;YAChB,IAAI,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC9D;IACH;;AAGQ,IAAA,iBAAiB,CACvB,MAAc,EACd,GAAW,EACX,cAA8B,EAC9B,MAAgC,EAAA;;QAGhC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;QAChD,IAAI,SAAS,EAAE,cAAc,IAAI,cAAc,CAAC,SAAS,EAAE;AACzD,YAAA,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;YACrE,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,GAAG,GAAG,IAAI,CAAC,eAAe;YACnC;QACF;;QAGA,IAAI,MAAM,EAAE,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC/C,YAAA,OAAO,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,eAAe;QACtD;AAEA,QAAA,OAAO,GAAG;IACZ;AACD;AAED;AACM,SAAU,sBAAsB,CAAC,MAAwB,EAAA;AAC7D,IAAA,MAAM,KAAK,GAAa;QACtB,EAAE;QACF,4BAA4B;QAC5B,CAAA,MAAA,EAAS,MAAM,CAAC,MAAM,CAAA,CAAE;QACxB,CAAA,QAAA,EAAW,MAAM,CAAC,MAAM,CAAA,CAAE;AAC1B,QAAA,CAAA,YAAA,EAAe,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,CAAA,CAAE;AACnD,QAAA,CAAA,UAAA,EAAa,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;QACrD,CAAA,WAAA,EAAc,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;QAC3C,CAAA,eAAA,EAAkB,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;QAClD,CAAA,WAAA,EAAc,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;QAC3C,CAAA,eAAA,EAAkB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;QACnD,CAAA,SAAA,EAAY,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;QACvC,CAAA,cAAA,EAAiB,MAAM,CAAC,UAAU,CAAA,2BAAA,CAA6B;KAChE;AAED,IAAA,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE;AAC7B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;AACvE,QAAA,KAAK,CAAC,IAAI,CAAC,CAAA,iBAAA,EAAoB,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,CAAA,OAAA,EAAU,SAAS,CAAA,OAAA,CAAS,CAAC;AAClG,QAAA,KAAK,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAA,CAAE,CAAC;IAC/E;AAEA,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB;;;;"}
|
|
1
|
+
{"version":3,"file":"lua.esm.js","sources":["../src/lua/LuaEngineAPI.ts","../src/lua/ActionRouter.ts","../src/lua/SessionManager.ts","../src/lua/PersistentState.ts","../src/lua/LuaEngine.ts","../src/lua/SimulationRunner.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["lua","lauxlib","to_luastring","to_jsstring"],"mappings":"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"}
|
package/dist/simulation.d.ts
CHANGED
|
@@ -4,8 +4,6 @@ interface GameDefinition {
|
|
|
4
4
|
actions: Record<string, ActionDefinition>;
|
|
5
5
|
bet_levels?: number[] | BetLevelsConfig;
|
|
6
6
|
max_win?: MaxWinConfig;
|
|
7
|
-
buy_bonus?: BuyBonusConfig;
|
|
8
|
-
ante_bet?: AnteBetConfig;
|
|
9
7
|
persistent_state?: PersistentStateConfig;
|
|
10
8
|
/**
|
|
11
9
|
* Session expiry duration as a Go-style duration string ("24h", "2h", "5ms").
|
|
@@ -23,29 +21,31 @@ interface MaxWinConfig {
|
|
|
23
21
|
multiplier?: number;
|
|
24
22
|
fixed?: number;
|
|
25
23
|
}
|
|
26
|
-
interface BuyBonusConfig {
|
|
27
|
-
modes: Record<string, BuyBonusMode>;
|
|
28
|
-
}
|
|
29
|
-
interface BuyBonusMode {
|
|
30
|
-
cost_multiplier: number;
|
|
31
|
-
/** Distribution of forced scatter counts. Optional — if omitted, Lua script handles bonus setup itself. */
|
|
32
|
-
scatter_distribution?: Record<string, number>;
|
|
33
|
-
/** Optional description */
|
|
34
|
-
description?: string;
|
|
35
|
-
}
|
|
36
|
-
interface AnteBetConfig {
|
|
37
|
-
cost_multiplier: number;
|
|
38
|
-
}
|
|
39
24
|
interface PersistentStateConfig {
|
|
40
25
|
vars: string[];
|
|
41
26
|
exposed_vars: string[];
|
|
42
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* v5 action contract — cost_multiplier and feature_data live on the action
|
|
30
|
+
* itself. Removed in v5: top-level `buy_bonus`/`ante_bet` blocks, debit modes
|
|
31
|
+
* `'buy_bonus_cost'`/`'ante_bet_cost'`, action.buy_bonus_mode, params.ante_bet/
|
|
32
|
+
* params.buy_bonus flags. Lua reads action context via `state.action` and
|
|
33
|
+
* `state.action_config = { cost_multiplier, feature_data }`.
|
|
34
|
+
*/
|
|
43
35
|
interface ActionDefinition {
|
|
44
36
|
stage: string;
|
|
45
|
-
|
|
37
|
+
/** Either 'bet' (debit = bet × cost_multiplier) or 'none'/empty (no debit). */
|
|
38
|
+
debit: 'bet' | 'none';
|
|
39
|
+
/** Multiplier on `bet` when debit==='bet'. Defaults to 1.0. */
|
|
40
|
+
cost_multiplier?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Opaque action-specific configuration exposed to Lua as
|
|
43
|
+
* `state.action_config.feature_data`. Common keys: `scatter_distribution`
|
|
44
|
+
* for buy-bonus actions, forced symbol counts, etc.
|
|
45
|
+
*/
|
|
46
|
+
feature_data?: Record<string, unknown>;
|
|
46
47
|
credit?: 'win' | 'none' | 'defer';
|
|
47
48
|
requires_session?: boolean;
|
|
48
|
-
buy_bonus_mode?: string;
|
|
49
49
|
transitions: TransitionRule[];
|
|
50
50
|
input_schema?: Record<string, unknown>;
|
|
51
51
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@energy8platform/platform-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Energy8 platform core: Lua engine, DevBridge, RTP simulation, and SDK session orchestration. Renderer-agnostic — pair with any game framework (Pixi, Phaser, Three.js, custom).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs.js",
|
|
@@ -20,7 +20,7 @@ const REPO = 'energy8platform/game-engine';
|
|
|
20
20
|
// Binary version — update this when new Go binaries are built and uploaded to GitHub Releases.
|
|
21
21
|
// The binary is backwards-compatible: it runs any Lua script, so it doesn't need to match
|
|
22
22
|
// the engine version exactly. Only bump when the Go simulate CLI itself changes.
|
|
23
|
-
const BINARY_VERSION = '0.
|
|
23
|
+
const BINARY_VERSION = '0.17.0';
|
|
24
24
|
|
|
25
25
|
const PLATFORM_MAP = {
|
|
26
26
|
'darwin-arm64': 'simulate-darwin-arm64',
|
|
@@ -376,72 +376,31 @@ export class DevBridge {
|
|
|
376
376
|
|
|
377
377
|
/**
|
|
378
378
|
* Compute the wallet debit for a play request, mirroring the platform's
|
|
379
|
-
*
|
|
380
|
-
* - debit: 'bet'
|
|
381
|
-
* - debit: '
|
|
382
|
-
* -
|
|
383
|
-
*
|
|
379
|
+
* v5 ActionDefinition.DebitAmount:
|
|
380
|
+
* - debit: 'bet' → bet × (cost_multiplier || 1)
|
|
381
|
+
* - debit: 'none'/missing → 0
|
|
382
|
+
* - any other value → 0 (legacy v4 modes like 'buy_bonus_cost'
|
|
383
|
+
* are no longer recognized; surfacing as 0
|
|
384
|
+
* forces config breakage to the surface)
|
|
384
385
|
*
|
|
385
|
-
* The
|
|
386
|
-
*
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
* Note: in the platform protocol the client sends the *base* bet only
|
|
390
|
-
* (`PlayParams.bet`); the cost multiplier lives in the GameDefinition.
|
|
391
|
-
* Session continuations must be invoked with the triggering bet — LuaEngine
|
|
392
|
-
* pulls the active session's bet from the persisted session state.
|
|
386
|
+
* The action carries its own cost (cost_multiplier + opaque feature_data).
|
|
387
|
+
* No top-level buy_bonus/ante_bet blocks. No params.ante_bet flag — ante
|
|
388
|
+
* is just a separate action with its own cost_multiplier.
|
|
393
389
|
*/
|
|
394
390
|
private computeDebit(
|
|
395
391
|
action: string,
|
|
396
392
|
bet: number,
|
|
397
|
-
|
|
393
|
+
_params: Record<string, unknown> | undefined,
|
|
398
394
|
): number {
|
|
399
|
-
const
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
if (!def || !actionDef) {
|
|
403
|
-
// Server short-circuits unknown actions before computing debit;
|
|
404
|
-
// returning 0 here keeps semantics aligned if the guard is ever bypassed.
|
|
395
|
+
const actionDef = this._config.gameDefinition?.actions?.[action];
|
|
396
|
+
if (!actionDef || actionDef.debit !== 'bet') {
|
|
405
397
|
return 0;
|
|
406
398
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
const modeName = actionDef.buy_bonus_mode;
|
|
411
|
-
const mode = modeName ? def.buy_bonus?.modes?.[modeName] : undefined;
|
|
412
|
-
if (!mode) {
|
|
413
|
-
console.warn(
|
|
414
|
-
`[DevBridge] Action "${action}" has debit: "buy_bonus_cost" but no matching buy_bonus mode (${modeName ?? '<unset>'}). Falling back to base bet.`,
|
|
415
|
-
);
|
|
416
|
-
return bet;
|
|
417
|
-
}
|
|
418
|
-
return bet * mode.cost_multiplier;
|
|
419
|
-
}
|
|
420
|
-
case 'ante_bet_cost': {
|
|
421
|
-
const multiplier = def.ante_bet?.cost_multiplier;
|
|
422
|
-
if (typeof multiplier !== 'number') {
|
|
423
|
-
console.warn(
|
|
424
|
-
`[DevBridge] Action "${action}" has debit: "ante_bet_cost" but no ante_bet.cost_multiplier defined. Falling back to base bet.`,
|
|
425
|
-
);
|
|
426
|
-
return bet;
|
|
427
|
-
}
|
|
428
|
-
return bet * multiplier;
|
|
429
|
-
}
|
|
430
|
-
case 'bet': {
|
|
431
|
-
// The platform also debits ante_bet pricing on regular `bet` actions
|
|
432
|
-
// when the client signals it via params.ante_bet. Mirror that here.
|
|
433
|
-
if (params && (params as Record<string, unknown>)['ante_bet'] === true) {
|
|
434
|
-
const multiplier = def.ante_bet?.cost_multiplier;
|
|
435
|
-
if (typeof multiplier === 'number') {
|
|
436
|
-
return bet * multiplier;
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
return bet;
|
|
440
|
-
}
|
|
441
|
-
default:
|
|
442
|
-
// 'none', '', or any unrecognized debit mode → 0 (server default).
|
|
443
|
-
return 0;
|
|
399
|
+
const mult = actionDef.cost_multiplier;
|
|
400
|
+
if (typeof mult === 'number' && mult > 0 && mult !== 1) {
|
|
401
|
+
return bet * mult;
|
|
444
402
|
}
|
|
403
|
+
return bet;
|
|
445
404
|
}
|
|
446
405
|
|
|
447
406
|
private async executeLuaOnServer(params: PlayParams): Promise<PlayResultData> {
|
package/src/index.ts
CHANGED
package/src/lua/LuaEngine.ts
CHANGED
|
@@ -153,25 +153,16 @@ export class LuaEngine {
|
|
|
153
153
|
const gameDataParams = this.persistentState.getGameDataParams();
|
|
154
154
|
Object.assign(stateParams, gameDataParams);
|
|
155
155
|
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
if (mode.scatter_distribution) {
|
|
163
|
-
stateParams.forced_scatter_count = this.pickFromDistribution(mode.scatter_distribution);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// Handle ante bet
|
|
169
|
-
if (clientParams?.ante_bet && this.gameDefinition.ante_bet) {
|
|
170
|
-
stateParams.ante_bet = true;
|
|
156
|
+
// v5: forced scatter rolls come from the action's own feature_data.
|
|
157
|
+
// Output of the roll stays in state.params (it's random per-call), while
|
|
158
|
+
// the static config flows through state.action_config.feature_data.
|
|
159
|
+
const scatterDist = readScatterDistribution(action.feature_data);
|
|
160
|
+
if (scatterDist) {
|
|
161
|
+
stateParams.forced_scatter_count = this.pickFromDistribution(scatterDist);
|
|
171
162
|
}
|
|
172
163
|
|
|
173
164
|
// 5. Execute Lua (server: executor.Execute(stage, state))
|
|
174
|
-
const luaResult = this.callLuaExecute(action.stage, actionName, stateParams, stateVars);
|
|
165
|
+
const luaResult = this.callLuaExecute(action.stage, actionName, stateParams, stateVars, action);
|
|
175
166
|
|
|
176
167
|
// 6. Process result (server: ApplyLuaResult)
|
|
177
168
|
const totalWinMultiplier = typeof luaResult.total_win === 'number' ? luaResult.total_win : 0;
|
|
@@ -335,11 +326,12 @@ export class LuaEngine {
|
|
|
335
326
|
action: string,
|
|
336
327
|
params: Record<string, unknown>,
|
|
337
328
|
variables: Record<string, number>,
|
|
329
|
+
actionDef: ActionDefinition,
|
|
338
330
|
): Record<string, unknown> {
|
|
339
331
|
lua.lua_getglobal(this.L, cachedToLuastring('execute'));
|
|
340
332
|
|
|
341
|
-
// Build state table: {stage, action, params, variables}
|
|
342
|
-
lua.lua_createtable(this.L, 0,
|
|
333
|
+
// Build state table: {stage, action, action_config, params, variables}
|
|
334
|
+
lua.lua_createtable(this.L, 0, 5);
|
|
343
335
|
|
|
344
336
|
// state.stage
|
|
345
337
|
lua.lua_pushstring(this.L, cachedToLuastring(stage));
|
|
@@ -349,6 +341,18 @@ export class LuaEngine {
|
|
|
349
341
|
lua.lua_pushstring(this.L, cachedToLuastring(action));
|
|
350
342
|
lua.lua_setfield(this.L, -2, cachedToLuastring('action'));
|
|
351
343
|
|
|
344
|
+
// state.action_config — v5: { cost_multiplier, feature_data }.
|
|
345
|
+
// Server's lua_runtime.go substitutes 1.0 when cost_multiplier is unset
|
|
346
|
+
// so scripts never see 0; mirror that default.
|
|
347
|
+
const mult = typeof actionDef.cost_multiplier === 'number' && actionDef.cost_multiplier > 0
|
|
348
|
+
? actionDef.cost_multiplier
|
|
349
|
+
: 1;
|
|
350
|
+
pushJSValue(this.L, {
|
|
351
|
+
cost_multiplier: mult,
|
|
352
|
+
feature_data: actionDef.feature_data ?? {},
|
|
353
|
+
});
|
|
354
|
+
lua.lua_setfield(this.L, -2, cachedToLuastring('action_config'));
|
|
355
|
+
|
|
352
356
|
// state.params
|
|
353
357
|
pushJSValue(this.L, params);
|
|
354
358
|
lua.lua_setfield(this.L, -2, cachedToLuastring('params'));
|
|
@@ -462,6 +466,24 @@ export class LuaEngine {
|
|
|
462
466
|
|
|
463
467
|
// ─── Module helpers ─────────────────────────────────────
|
|
464
468
|
|
|
469
|
+
/**
|
|
470
|
+
* Pull a `scatter_distribution` map out of an action's feature_data, if any.
|
|
471
|
+
* Returns null when missing or wrong-shaped — caller falls through with no
|
|
472
|
+
* forced_scatter_count injection (matches server behavior).
|
|
473
|
+
*/
|
|
474
|
+
function readScatterDistribution(
|
|
475
|
+
featureData: Record<string, unknown> | undefined,
|
|
476
|
+
): Record<string, number> | null {
|
|
477
|
+
if (!featureData) return null;
|
|
478
|
+
const dist = featureData['scatter_distribution'];
|
|
479
|
+
if (!dist || typeof dist !== 'object') return null;
|
|
480
|
+
const out: Record<string, number> = {};
|
|
481
|
+
for (const [k, v] of Object.entries(dist as Record<string, unknown>)) {
|
|
482
|
+
if (typeof v === 'number') out[k] = v;
|
|
483
|
+
}
|
|
484
|
+
return Object.keys(out).length > 0 ? out : null;
|
|
485
|
+
}
|
|
486
|
+
|
|
465
487
|
/**
|
|
466
488
|
* Strip _persist_* and _persist_game_* keys from a data map — matches
|
|
467
489
|
* server's MapStateForHistory used when recording session round history.
|
|
@@ -140,27 +140,25 @@ export class SimulationRunner {
|
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* Calculate the real cost of one spin — mirrors v5
|
|
145
|
+
* ActionDefinition.DebitAmount: bet × (cost_multiplier || 1) when
|
|
146
|
+
* debit==='bet', otherwise 0. Returns `bet` as a fallback for unknown
|
|
147
|
+
* actions so RTP math still progresses (we count those as wagered).
|
|
148
|
+
*/
|
|
144
149
|
private calculateSpinCost(
|
|
145
150
|
action: string,
|
|
146
151
|
bet: number,
|
|
147
152
|
gameDefinition: GameDefinition,
|
|
148
|
-
|
|
153
|
+
_params?: Record<string, unknown>,
|
|
149
154
|
): number {
|
|
150
|
-
// Check if this is a buy bonus action
|
|
151
155
|
const actionDef = gameDefinition.actions[action];
|
|
152
|
-
if (actionDef
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Check ante bet
|
|
160
|
-
if (params?.ante_bet && gameDefinition.ante_bet) {
|
|
161
|
-
return bet * gameDefinition.ante_bet.cost_multiplier;
|
|
156
|
+
if (!actionDef) return bet;
|
|
157
|
+
if (actionDef.debit !== 'bet') return 0;
|
|
158
|
+
const mult = actionDef.cost_multiplier;
|
|
159
|
+
if (typeof mult === 'number' && mult > 0 && mult !== 1) {
|
|
160
|
+
return bet * mult;
|
|
162
161
|
}
|
|
163
|
-
|
|
164
162
|
return bet;
|
|
165
163
|
}
|
|
166
164
|
}
|