@fayz-ai/shop 0.45.0 → 0.47.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/dist/{chunk-EUFSFVGS.js → chunk-SQ55WBQH.js} +44 -4
- package/dist/chunk-SQ55WBQH.js.map +1 -0
- package/dist/{chunk-XW4ZBZOV.js → chunk-YJPTBF7T.js} +3 -3
- package/dist/{chunk-XW4ZBZOV.js.map → chunk-YJPTBF7T.js.map} +1 -1
- package/dist/data/mock-provider.d.ts +16 -1
- package/dist/data/mock-provider.d.ts.map +1 -1
- package/dist/data/provider.d.ts +11 -1
- package/dist/data/provider.d.ts.map +1 -1
- package/dist/data/supabase-provider.d.ts +12 -1
- package/dist/data/supabase-provider.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -4
- package/dist/index.js.map +1 -1
- package/dist/mock.js +1 -1
- package/dist/runtime.js +2 -2
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/chunk-EUFSFVGS.js.map +0 -1
package/dist/mock.js
CHANGED
package/dist/runtime.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { getShopProvider, resetShopProvider, setShopProvider } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { getShopProvider, resetShopProvider, setShopProvider } from './chunk-YJPTBF7T.js';
|
|
2
|
+
import './chunk-SQ55WBQH.js';
|
|
3
3
|
import './chunk-IKNGCRUM.js';
|
|
4
4
|
import './chunk-NWW3WJ7Y.js';
|
|
5
5
|
import './chunk-UVQ6UUDN.js';
|
package/dist/types.d.ts
CHANGED
|
@@ -515,6 +515,13 @@ export interface CheckoutSessionInput {
|
|
|
515
515
|
* lá de qualquer forma.
|
|
516
516
|
*/
|
|
517
517
|
provider?: string | null;
|
|
518
|
+
/**
|
|
519
|
+
* The market this charge is in (0116 code: 'br', 'eu'). The function prices,
|
|
520
|
+
* ships and charges in it; absent = the store's default market.
|
|
521
|
+
*/
|
|
522
|
+
market?: string | null;
|
|
523
|
+
/** The buyer's country (ISO2), when the market is not named. */
|
|
524
|
+
country?: string | null;
|
|
518
525
|
/**
|
|
519
526
|
* Para onde o comprador volta quando o pagamento acontece FORA da loja.
|
|
520
527
|
*
|
|
@@ -828,6 +835,40 @@ export interface CheckoutFieldPolicy {
|
|
|
828
835
|
* which, because "the checkbox is off" and "the server refuses" are promises of
|
|
829
836
|
* very different strength.
|
|
830
837
|
*/
|
|
838
|
+
/**
|
|
839
|
+
* Where the store sells (0116): a currency, the countries it ships to, the
|
|
840
|
+
* acquirer that charges and a flat shipping rate in its own money. Exactly one
|
|
841
|
+
* is the default, which keeps the store's original price and delivery rules.
|
|
842
|
+
*/
|
|
843
|
+
export interface ShopMarket {
|
|
844
|
+
code: string;
|
|
845
|
+
name: string;
|
|
846
|
+
currency: string;
|
|
847
|
+
locale?: string | null;
|
|
848
|
+
/** ISO2, upper case. */
|
|
849
|
+
countries: string[];
|
|
850
|
+
isDefault: boolean;
|
|
851
|
+
paymentProvider?: string | null;
|
|
852
|
+
shippingFlatRate: number;
|
|
853
|
+
shippingFreeAbove: number | null;
|
|
854
|
+
}
|
|
855
|
+
/** A market as the back office edits it: with its row id and price table. */
|
|
856
|
+
export interface AdminShopMarket extends ShopMarket {
|
|
857
|
+
id: string;
|
|
858
|
+
priceTableId: string | null;
|
|
859
|
+
isActive: boolean;
|
|
860
|
+
}
|
|
861
|
+
/** A catalogue product's price in one market (its price table), if set. */
|
|
862
|
+
export interface CatalogMarketPrice {
|
|
863
|
+
marketId: string;
|
|
864
|
+
price: number | null;
|
|
865
|
+
}
|
|
866
|
+
/** A market's price for a product, or for one of its variants. */
|
|
867
|
+
export interface MarketPrice {
|
|
868
|
+
productId: string;
|
|
869
|
+
variantId: string | null;
|
|
870
|
+
price: number;
|
|
871
|
+
}
|
|
831
872
|
export interface StoreSettings {
|
|
832
873
|
/** Vitrine display. Undefined = the app's own currency/locale. */
|
|
833
874
|
currency?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAA;AAE3D;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEvE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,aAAa,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;qCACiC;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;qFACiF;IACjF,UAAU,EAAE,MAAM,CAAA;IAClB;uEACmE;IACnE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC;wDACoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC7B,8EAA8E;IAC9E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAGzB;AAED,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,CAAA;IACxD,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CACvB;AAMD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAMD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;AAC3D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,UAAU,GAAG,oBAAoB,GAAG,QAAQ,CAAA;AAClH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,qBAAqB,GAAG,WAAW,CAAA;AAEnF,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,eAAe,EAAE,eAAe,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,qEAAqE;IACrE,eAAe,EAAE,uBAAuB,GAAG,IAAI,CAAA;IAC/C,wEAAwE;IACxE,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;IAC/B,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;6DAEyD;IACzD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,KAAK,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAC,CAAA;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAMD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH;yEACyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAElG,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oEAAoE;IACpE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzD;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IAC9G;;;;;;;;OAQG;IACH,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB,CAAA;IACD,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,gFAAgF;IAChF,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC;;0EAEsE;IACtE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf;wEACoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CACrF;AAED,oFAAoF;AACpF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAA;AAEvC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAA;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAA;AAEhE;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB;;;;;;OAMG;IACH,SAAS,EAAE,aAAa,CAAA;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,oDAAoD;IACpD,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;;;;;;OAWG;IACH;;qBAEiB;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,UAAU,CAAC,CAAA;AAC3E,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAEtE,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAA;AAE7D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,mBAAmB,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,UAAU,CAAC,CAAA;AACjF,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,UAAU,CAAC,CAAA;AACjF,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GACvC,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAA;AAErF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oFAAoF;IACpF,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAA;IAExC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAA;IAEpC;6EACyE;IACzE,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACpC;gEAC4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;yCACqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;2EACuE;IACvE,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAEvE;8EAC0E;IAC1E,WAAW,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAA;IAE/C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;;;;;OAQG;IACH;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,sFAAsF;IACtF,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ;;;mEAG+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,IAAI,EAAE,OAAO,CAAA;CACd;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEnD;mCACmC;AACnC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAA;IACnB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAA;IAChB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,iFAAiF;IACjF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,oBAAoB,GAAG,MAAM,CAAA;CACvE;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;CACxC;AAED,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8FAA8F;IAC9F,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;wDACoD;IACpD,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC;2EACuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAMD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;4DAEwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,CAAA;AAC1F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,CAAA;AACjD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEzE,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAA;AAE7D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,OAAO,CAAA;IACxB,mFAAmF;IACnF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B;+EAC2E;IAC3E,SAAS,EAAE,aAAa,CAAA;IACxB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AASD,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,UAAU,GACV,WAAW,GACX,aAAa,GACb,aAAa,GACb,UAAU,GACV,QAAQ,CAAA;AAEZ,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb;+EAC2E;IAC3E,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;IACzB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAA;IACb,iIAAiI;IACjI,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;oFACgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,cAAc,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAOD,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,CAAA;AAEpB;sEACsE;AACtE,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,WAAW,CAAA;AAE7D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,aAAa,CAAA;IACpB;;kEAE8D;IAC9D,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,uEAAuE;IACvE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,mCAAmC;IACnC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,CAAA;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAYD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,wDAAwD;IACxD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAExE;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,uDAAuD;IACvD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAE5E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAE3E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,cAAc,CAAA;IACtB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;AAE1D;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAA;IACf,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb;8DAC0D;IAC1D,YAAY,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,aAAa,CAAA;IACnB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,kFAAkF;IAClF,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAC/B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"fayz": {
|
|
4
4
|
"status": "beta"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.47.0",
|
|
7
7
|
"description": "Fayz SDK ecommerce layer — products, orders, customers, discounts, shipping",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"dist"
|
|
65
65
|
],
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@fayz-ai/auth": "^0.
|
|
68
|
-
"@fayz-ai/core": "^0.
|
|
69
|
-
"@fayz-ai/ui": "^0.
|
|
67
|
+
"@fayz-ai/auth": "^0.47.0",
|
|
68
|
+
"@fayz-ai/core": "^0.47.0",
|
|
69
|
+
"@fayz-ai/ui": "^0.47.0"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/media.ts","../src/lib/variant-matrix.ts","../src/lib/order-events.ts","../src/data/mock-provider.ts"],"names":["store","o"],"mappings":"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","file":"chunk-EUFSFVGS.js","sourcesContent":["import type { MediaFile, ProductImage } from '../types'\n\n// ---------------------------------------------------------------------------\n// The media library's shared vocabulary.\n//\n// A file in the library arrives from one of two places: the bucket, which knows\n// what exists, and the record that owns it, which is the only thing that knows\n// what the file is FOR. Both have to land as the same shape with the same\n// identity — the storage path — or one photo shows up as two cards.\n//\n// These are the pure pieces. The providers do the I/O.\n// ---------------------------------------------------------------------------\n\nconst IMAGE_EXTENSIONS = new Set(['png', 'jpg', 'jpeg', 'gif', 'webp', 'svg', 'avif', 'bmp'])\nconst VIDEO_EXTENSIONS = new Set(['mp4', 'mov', 'webm', 'm4v', 'avi', 'mkv'])\n\nexport function mediaKindOf(name: string, mime?: string | null): MediaFile['kind'] {\n if (mime?.startsWith('image/')) return 'image'\n if (mime?.startsWith('video/')) return 'video'\n const ext = (name.split('.').pop() ?? '').toLowerCase()\n if (IMAGE_EXTENSIONS.has(ext)) return 'image'\n if (VIDEO_EXTENSIONS.has(ext)) return 'video'\n return 'document'\n}\n\n/**\n * `…/object/public/{bucket}/{path}` → `{path}`.\n *\n * The path is a file's identity in the library, so the bucket entry and the row\n * that attaches it to a product collapse into one card. Returns null for a URL\n * that did not come from this storage — an image pasted in by hand, say, which\n * has no path to be identified by.\n */\nexport function storagePathOf(url: string): string | null {\n const match = /\\/object\\/(?:public|sign|authenticated)\\/[^/]+\\/([^?]+)/.exec(url)\n if (!match) return null\n try {\n return decodeURIComponent(match[1]!)\n } catch {\n return match[1]!\n }\n}\n\n/**\n * The name a merchant should read.\n *\n * Every upload is stored as `{timestamp}-{original}` so two photos with the same\n * filename can coexist; showing that prefix back would be showing them our\n * bookkeeping.\n */\nexport function displayNameOf(path: string): string {\n const base = path.split('/').pop() ?? path\n return base.replace(/^\\d{10,}-/, '')\n}\n\n/**\n * A product photo as a library file.\n *\n * Same shape as anything uploaded straight to the library, plus the record it\n * belongs to — the only way the library can send a merchant to the screen where\n * the photo is actually managed. `size` is 0 because the row does not carry one:\n * storage does, and a photo is two folders deeper than a bounded walk reaches.\n */\nexport function productImageToMediaFile(\n image: ProductImage,\n productName?: string | null,\n): MediaFile {\n const path = storagePathOf(image.url)\n const name = displayNameOf(path ?? image.url)\n return {\n // Fall back to the URL as identity: an image row that points outside our\n // bucket still belongs in the library, it just cannot be deleted by path.\n id: path ?? image.url,\n name,\n url: image.url,\n kind: mediaKindOf(name),\n size: 0,\n extension: (name.split('.').pop() ?? '').toUpperCase(),\n createdAt: image.createdAt ?? '',\n reference: {\n type: 'product',\n id: image.productId,\n label: productName?.trim() || 'Produto sem nome',\n attachmentId: image.id,\n isCover: image.isPrimary,\n },\n }\n}\n\n/**\n * The library as one list: what a record owns first, then whatever is loose in\n * the bucket, newest first, one card per path.\n *\n * Attached files win the dedupe on purpose — the same file described by a record\n * is strictly more useful than the same file described by nothing.\n */\nexport function mergeMediaFiles(attached: MediaFile[], library: MediaFile[]): MediaFile[] {\n const seen = new Set(attached.map((f) => f.id))\n return [...attached, ...library.filter((f) => !seen.has(f.id))]\n .sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n}\n","import type { ShopProvider } from '../data/provider'\nimport type { ProductOption, ProductVariant } from '../types'\n\n// ---------------------------------------------------------------------------\n// The variant matrix — the arithmetic between \"the axes the merchant declared\"\n// and \"the rows that exist in plg_shop_product_variants\".\n//\n// Lives in @fayz-ai/shop rather than in the admin screen because the two hard\n// rules it encodes are DATA rules, not layout: the jsonb key normalisation that\n// 0028's UNIQUE (product_id, options) actually compares on, and 0037's default\n// variant, which must survive every edit the matrix makes and is invisible to\n// the merchant while it does. A screen that re-derived either would be a second\n// opinion about what the database already decided.\n// ---------------------------------------------------------------------------\n\n/** Shopify's ceiling, carried so a future connector never has to reject a product it can't map. */\nexport const MAX_VARIANT_AXES = 3\nexport const MAX_VARIANT_COMBINATIONS = 100\n\n/** An axis as the editor holds it: no id yet, values not yet cleaned. */\nexport interface VariantAxisInput {\n name: string\n values: string[]\n}\n\nexport type VariantCombination = Record<string, string>\n\n/**\n * The canonical string for a combination. Sorted by key because 0028 stores\n * `options` as jsonb, which normalises key order on write — so\n * {\"Cor\":\"Azul\",\"Tamanho\":\"P\"} and {\"Tamanho\":\"P\",\"Cor\":\"Azul\"} are ONE row to\n * the UNIQUE index, and anything comparing them in TypeScript has to agree.\n */\nexport function variantOptionsKey(options: VariantCombination): string {\n return JSON.stringify(\n Object.keys(options)\n .sort()\n .map((key) => [key, options[key]]),\n )\n}\n\n/**\n * Trim, drop the blanks, dedupe the values. An axis with no name or no value is\n * removed outright: it cannot contribute a combination, and keeping it would\n * multiply the matrix by zero.\n */\nexport function normalizeVariantAxes(axes: readonly VariantAxisInput[]): VariantAxisInput[] {\n const seenNames = new Set<string>()\n const result: VariantAxisInput[] = []\n for (const axis of axes) {\n const name = axis.name.trim()\n if (!name || seenNames.has(name)) continue\n const values: string[] = []\n const seenValues = new Set<string>()\n for (const raw of axis.values) {\n const value = raw.trim()\n if (!value || seenValues.has(value)) continue\n seenValues.add(value)\n values.push(value)\n }\n if (values.length === 0) continue\n seenNames.add(name)\n result.push({ name, values })\n }\n return result\n}\n\n/**\n * The cartesian product, LAST axis varying fastest — P/Cru, P/Azul, M/Cru… That\n * is the order Shopify lists variants in and the order a merchant reads a size\n * chart in; deriving it any other way makes the grid look shuffled.\n */\nexport function variantCombinations(axes: readonly VariantAxisInput[]): VariantCombination[] {\n const clean = normalizeVariantAxes(axes)\n if (clean.length === 0) return []\n let rows: VariantCombination[] = [{}]\n for (const axis of clean) {\n const next: VariantCombination[] = []\n for (const row of rows) {\n for (const value of axis.values) next.push({ ...row, [axis.name]: value })\n }\n rows = next\n }\n return rows\n}\n\n/** Why the axes cannot be saved, or null. Both limits are Shopify's. */\nexport function validateVariantAxes(axes: readonly VariantAxisInput[]): string | null {\n const clean = normalizeVariantAxes(axes)\n if (clean.length > MAX_VARIANT_AXES) {\n return `Um produto aceita no máximo ${MAX_VARIANT_AXES} opções (ex.: Tamanho, Cor, Material).`\n }\n const total = clean.reduce((acc, axis) => acc * axis.values.length, 1)\n if (clean.length > 0 && total > MAX_VARIANT_COMBINATIONS) {\n return `Essas opções gerariam ${total} variantes, e o limite é ${MAX_VARIANT_COMBINATIONS}. Reduza os valores ou separe em dois produtos.`\n }\n return null\n}\n\n/** One cell of the matrix: a combination and the row that carries it, if any. */\nexport interface VariantMatrixRow {\n options: VariantCombination\n /** Grid order, written back to `position` so the DB reads in the same order. */\n position: number\n variant: ProductVariant | null\n}\n\nexport interface VariantMatrixPlan {\n /** The whole matrix, in grid order. */\n rows: VariantMatrixRow[]\n /** Combinations with no row at all — INSERT. */\n create: VariantMatrixRow[]\n /** Combinations whose row exists but is archived — UPDATE back to active,\n * because 0028's UNIQUE (product_id, options) refuses a second row and a\n * DELETE would take the archived row's stock balances with it (0034 CASCADEs). */\n reactivate: VariantMatrixRow[]\n /** Active rows the axes still describe. Nothing to do but reposition. */\n keep: VariantMatrixRow[]\n /** Active rows the axes no longer describe — ARCHIVE, never delete, for the\n * same reason 0037 §4 archives the default variant. */\n archive: ProductVariant[]\n /**\n * The default variant (0037), if the product has one. It is NEVER in any of\n * the lists above: it carries no options, so the matrix can neither describe\n * it nor orphan it. Its lifecycle is reconciled separately — see\n * applyVariantMatrix.\n */\n defaultVariant: ProductVariant | null\n}\n\n/**\n * What has to happen to make the variant rows match the axes.\n *\n * `existing` must include ARCHIVED rows. A merchant who removes \"GG\" and puts\n * it back an hour later is not creating a new SKU — and INSERTing one would hit\n * 0028's UNIQUE (product_id, options) rather than gracefully doing anything.\n */\nexport function planVariantMatrix(\n axes: readonly VariantAxisInput[],\n existing: readonly ProductVariant[],\n): VariantMatrixPlan {\n const wanted = variantCombinations(axes)\n const wantedKeys = new Set(wanted.map(variantOptionsKey))\n\n const byKey = new Map<string, ProductVariant>()\n let defaultVariant: ProductVariant | null = null\n for (const variant of existing) {\n if (variant.isDefaultVariant) {\n defaultVariant = variant\n continue\n }\n byKey.set(variantOptionsKey(variant.options), variant)\n }\n\n const plan: VariantMatrixPlan = {\n rows: [], create: [], reactivate: [], keep: [], archive: [], defaultVariant,\n }\n\n for (const [position, options] of wanted.entries()) {\n const variant = byKey.get(variantOptionsKey(options)) ?? null\n const row: VariantMatrixRow = { options, position, variant }\n plan.rows.push(row)\n if (!variant) plan.create.push(row)\n else if (variant.status === 'archived') plan.reactivate.push(row)\n else plan.keep.push(row)\n }\n\n for (const [key, variant] of byKey) {\n if (!wantedKeys.has(key) && variant.status === 'active') plan.archive.push(variant)\n }\n\n return plan\n}\n\n/**\n * Whether the product is option-less as far as the merchant is concerned: one\n * variant, and it is 0037's placeholder. The admin shows the empty state for\n * this, never a one-row grid — 0037 is explicit that the default variant MUST\n * BE INVISIBLE (no picker, no admin column, no options label).\n */\nexport function hasOnlyDefaultVariant(variants: readonly ProductVariant[]): boolean {\n const active = variants.filter((variant) => variant.status === 'active')\n return active.length === 1 && Boolean(active[0]!.isDefaultVariant)\n}\n\n/**\n * Whether applying the plan would leave the product with NOTHING ACTIVE to\n * sell, and no default variant to fall back on.\n *\n * FOUND BY READING 0039, NOT BY USING THE SCREEN, and the failure is silent:\n * with every real variant archived and 0037's default archived too (§4 archived\n * it the moment the first real variant appeared), shop_place_order's resolution\n * pass finds no default, falls through to the DEPRECATED product-scalar leg,\n * and 0028's sync trigger then recomputes plg_shop_products.inventory_count as\n * the sum of ZERO active variants. The merchant deletes an option and the\n * product goes permanently sold out, with no error anywhere.\n *\n * applyVariantMatrix closes the case where the default row EXISTS (it revives\n * it). This predicate is the residue: a product that predates 0037's backfill\n * has no such row, and no client can mint one — 0047 is what fixes that.\n */\nexport function leavesNothingSellable(plan: VariantMatrixPlan): boolean {\n const willHaveReal = plan.keep.length + plan.reactivate.length + plan.create.length\n return willHaveReal === 0 && plan.defaultVariant === null\n}\n\n/**\n * The axes a variant set implies, position-ordered — what the editor opens\n * with. Taken from `options` rows rather than derived from the variants: 0028\n * makes the ORDER of the values meaningful (\"P before M before G is not\n * alphabetical and not arbitrary, so it cannot be derived\").\n */\nexport function axesFromOptions(options: readonly ProductOption[]): VariantAxisInput[] {\n return [...options]\n .sort((a, b) => a.position - b.position)\n .map((option) => ({ name: option.name, values: [...option.values] }))\n}\n\n/**\n * Save the axes and reconcile the variant rows to them, INCLUDING 0037's\n * default variant. The whole rule lives here rather than in the screen because\n * every step of it is a database invariant, and a second screen that\n * re-implemented four of the five steps would be right until the day it wasn't.\n *\n * Order is load-bearing:\n * 1. axes first, so a variant referring to a value the axes no longer declare\n * is never visible even for one render;\n * 2. INSERT the new combinations — which is also what fires 0037 §4 and\n * archives the default variant, so we never do that by hand on this path;\n * 3. revive the archived combinations (an UPDATE, which fires NO trigger —\n * hence step 5);\n * 4. archive what the axes dropped;\n * 5. reconcile the default variant in whichever direction is now true.\n */\nexport async function applyVariantMatrix(\n provider: ShopProvider,\n productId: string,\n axes: readonly VariantAxisInput[],\n existing: readonly ProductVariant[],\n): Promise<VariantMatrixPlan> {\n const refusal = validateVariantAxes(axes)\n if (refusal) throw new Error(refusal)\n if (!provider.saveProductOptions || !provider.createProductVariant || !provider.updateProductVariant) {\n throw new Error('Este provider não administra variantes.')\n }\n\n const clean = normalizeVariantAxes(axes)\n const plan = planVariantMatrix(clean, existing)\n\n await provider.saveProductOptions(productId, clean)\n\n for (const row of plan.create) {\n await provider.createProductVariant(productId, { options: row.options, position: row.position })\n }\n for (const row of plan.reactivate) {\n await provider.updateProductVariant(row.variant!.id, { status: 'active', position: row.position })\n }\n for (const row of plan.keep) {\n if (row.variant!.position !== row.position) {\n await provider.updateProductVariant(row.variant!.id, { position: row.position })\n }\n }\n for (const variant of plan.archive) {\n await (provider.archiveProductVariant?.(variant.id) ??\n provider.updateProductVariant(variant.id, { status: 'archived' }))\n }\n\n const real = plan.create.length + plan.reactivate.length + plan.keep.length\n if (plan.defaultVariant) {\n if (real > 0 && plan.defaultVariant.status === 'active') {\n // The revive-only path: step 3 is an UPDATE and 0037 §4 is an AFTER\n // INSERT trigger, so nothing retired the default for us. Leaving it active\n // beside real variants is the unnamed combination an empty selection\n // resolves to — the overselling 0028 exists to prevent.\n await provider.updateProductVariant(plan.defaultVariant.id, { status: 'archived' })\n } else if (real === 0 && plan.defaultVariant.status === 'archived') {\n await provider.updateProductVariant(plan.defaultVariant.id, { status: 'active' })\n }\n }\n\n return plan\n}\n\n/** The merchant-facing label for a combination: \"Tamanho: P · Cor: Azul\". */\nexport function formatVariantCombination(options: VariantCombination, axes?: readonly VariantAxisInput[]): string {\n const order = axes?.map((axis) => axis.name) ?? Object.keys(options).sort()\n return order\n .filter((name) => options[name] != null)\n .map((name) => `${name}: ${options[name]}`)\n .join(' · ')\n}\n","import { createDebug, emitDomainEvent } from '@fayz-ai/core'\nimport type { Order } from '../types'\n\n// ---------------------------------------------------------------------------\n// The shop's domain-event EMITTER — the half message-events.ts always assumed.\n//\n// message-events declares what `shop.order_confirmation` says; nothing ever\n// SAID it: the automations list showed the event, and no order ever fired it.\n// The provider calls this after `shop_place_order` succeeds, so any app that\n// completes a checkout through the shop provider emits.\n//\n// Reach, honestly: the event leaves THIS browser. In the admin the platform\n// bridge forwards it and automations run; a standalone storefront only reaches\n// the platform if it runs the bridge too. The durable fix for buyer-side\n// orders is a server-side emitter (pool trigger → platform ingress) — tracked,\n// not built here.\n// ---------------------------------------------------------------------------\n\nconst debug = createDebug('shop')\n\nfunction money(amount: number, currency: string): string {\n try {\n return new Intl.NumberFormat('pt-BR', { style: 'currency', currency: currency || 'BRL' }).format(amount)\n } catch {\n return `${currency} ${amount.toFixed(2)}`\n }\n}\n\n/** The payload promised by ORDER_FIELDS in message-events — same names. */\nexport function orderEventPayload(order: Order): Record<string, unknown> {\n return {\n order_number: String(order.orderNumber),\n order_total: money(order.total, order.currency),\n order_items: (order.items ?? [])\n .map((i) => `${i.quantity} × ${i.name} — ${money(i.total, order.currency)}`)\n .join('\\n'),\n customer_name: order.customerName ?? '',\n // The addresses of the notification, not template text: the automation\n // reads its recipient from here (recipientField), and an order without\n // them is a notification that cannot be delivered.\n customer_email: order.customerEmail ?? '',\n customer_phone: order.shippingAddress?.phone ?? '',\n }\n}\n\nexport function emitOrderEvent(event: 'order_confirmation' | 'order_shipped' | 'order_delivered', order: Order): void {\n const key = `shop.${event}`\n try {\n emitDomainEvent(key, orderEventPayload(order), {\n tenantId: order.tenantId,\n subject: { type: 'order', id: order.id },\n })\n } catch (err) {\n // A notification must never undo a sale.\n debug.error(`emit ${key} failed`, err)\n }\n}\n","import type { ShopProvider } from './provider'\nimport type {\n Product, ProductImage, ProductOption, ProductOptionInput, ProductVariant, ProductVariantSet,\n CreateProductVariantInput, UpdateProductVariantInput,\n Category, Order, ShopCustomer, Discount, ProductEnquiry,\n CreateProductInput, UpdateProductInput, ListProductsOptions,\n CreateProductEnquiryInput, ListProductEnquiriesOptions,\n CreateCategoryInput, UpdateCategoryInput,\n CreateOrderInput, UpdateOrderInput, ListOrdersOptions, PlaceOrderInput,\n CreateCustomerInput, UpdateCustomerInput, ListCustomersOptions, ResolveCustomerInput,\n CreateDiscountInput, UpdateDiscountInput, ListDiscountsOptions,\n SalesChannel, CreateSalesChannelInput, UpdateSalesChannelInput,\n ShippingSettings, UpdateShippingSettingsInput, StoreSettings, UpdateStoreSettingsInput,\n DeliveryCheck,\n CheckoutSessionInput, CheckoutSession, CheckoutSettlement,\n Collection, CreateCollectionInput, UpdateCollectionInput, CustomerGroup, CreateCustomerGroupInput, UpdateCustomerGroupInput, CustomerSegment, CreateCustomerSegmentInput, UpdateCustomerSegmentInput, GiftCard, CreateGiftCardInput, UpdateGiftCardInput, EmailTemplate, UpsertEmailTemplateInput, MediaFile,\n} from '../types'\nimport { mergeMediaFiles, productImageToMediaFile } from './media'\nimport { MOCK_PRODUCTS, MOCK_CATEGORIES, MOCK_DISCOUNTS, MOCK_VARIANTS } from './mock-catalog'\nimport { variantOptionsKey } from '../lib/variant-matrix'\nimport { emitOrderEvent } from '../lib/order-events'\nimport { resolveEntityDeclaration } from '@fayz-ai/core'\nimport { resolveEntityStore } from '../entities/entity-store'\nimport type { EntityRecord, EntityRecordInput, EntityStore, ListEntityRecordsOptions } from '../entities/entity-store'\nimport { createMockEntityStore } from '../entities/mock-entity-store'\nimport { discountToPromotion } from '../rules/adapter'\nimport { buildRuleContext } from '../rules/context'\nimport { computePromotionActions } from '../rules/evaluator'\nimport type { ComputeAction, Promotion, RuleCartItem, RuleCartSnapshot } from '../rules/rule-types'\n\nfunction uid() { return Math.random().toString(36).slice(2) }\nfunction now() { return new Date().toISOString() }\n\n// Orders/customers persist to localStorage so \"my purchases\" survives a page\n// reload. Products/categories/discounts always reseed from the catalog —\n// the storefront sees a deterministic catalog on every load.\nconst ORDERS_KEY = 'fayz.shop.mock.orders.v1'\nconst CUSTOMERS_KEY = 'fayz.shop.mock.customers.v1'\nconst ENQUIRIES_KEY = 'fayz.shop.mock.enquiries.v1'\nconst CHANNELS_KEY = 'fayz.shop.mock.channels.v1'\n// Store policy + delivery fallback persist too, and for the same reason: a\n// settings screen whose toggles reset on reload is indistinguishable from the\n// broken one this replaces, mock backend or not.\nconst SETTINGS_KEY = 'fayz.shop.mock.settings.v1'\nconst SHIPPING_SETTINGS_KEY = 'fayz.shop.mock.shipping-settings.v1'\n\nconst DEFAULT_CHANNELS: SalesChannel[] = [\n { id: 'online-store', tenantId: 'mock', kind: 'online_store', label: 'Loja Online', url: null, enabled: true, position: 0, createdAt: now(), updatedAt: now() },\n]\n\nfunction loadStored<T>(key: string): T[] {\n try {\n if (typeof localStorage === 'undefined') return []\n const raw = localStorage.getItem(key)\n return raw ? (JSON.parse(raw) as T[]) : []\n } catch {\n return []\n }\n}\n\nfunction store<T>(key: string, value: T[]): void {\n try {\n if (typeof localStorage === 'undefined') return\n localStorage.setItem(key, JSON.stringify(value))\n } catch {\n /* quota/serialization failures are non-fatal in mock mode */\n }\n}\n\nexport interface MockShopSeed {\n products?: Product[]\n categories?: Category[]\n discounts?: Discount[]\n /** Option axes + variants per product id (spine M5, mirrors 0028). Absent\n * with the default catalog → the MOCK_VARIANTS fixtures; absent with a\n * custom product seed → no variants (a store's own catalog stays as\n * declared). */\n variants?: Record<string, ProductVariantSet>\n /** Rule-engine promotions (spine M6) — the serializable Promotion shape the\n * Store Document's `promotions` section carries. Evaluated by\n * evaluatePromotions alongside the legacy discounts (adapter-translated). */\n promotions?: Promotion[]\n /** Custom entity records, keyed by defineEntity key. Each seed's `data` is\n * validated against the declaration when the entity's store is built. */\n entities?: Record<string, Array<{ id?: string; slug?: string | null; data: Record<string, unknown> }>>\n}\n\n// Entidades resgatadas da onda de 04-ago.\nconst COLLECTIONS_KEY = 'fayz.shop.mock.collections.v1'\nconst GIFT_CARDS_KEY = 'fayz.shop.mock.gift-cards.v1'\nconst EMAIL_TEMPLATES_KEY = 'fayz.shop.mock.email-templates.v1'\nconst CUSTOMER_GROUPS_KEY = 'fayz.shop.mock.customer-groups.v1'\nconst CUSTOMER_SEGMENTS_KEY = 'fayz.shop.mock.customer-segments.v1'\n\nfunction mockGiftCardCode(): string {\n const alphabet = 'ABCDEFGHJKLMNPQRTUVWXY2346789'\n const pick = () => alphabet[Math.floor(Math.random() * alphabet.length)]\n const block = () => Array.from({ length: 4 }, pick).join('')\n return `${block()}-${block()}-${block()}`\n}\n\nfunction mockSlugify(name: string): string {\n return name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n}\n\nexport class MockShopProvider implements ShopProvider {\nprivate collections: Collection[] = loadStored<Collection>(COLLECTIONS_KEY)\n private giftCards: GiftCard[] = loadStored<GiftCard>(GIFT_CARDS_KEY)\n private emailTemplates: EmailTemplate[] = loadStored<EmailTemplate>(EMAIL_TEMPLATES_KEY)\n private customerGroups: CustomerGroup[] = loadStored<CustomerGroup>(CUSTOMER_GROUPS_KEY)\n private customerSegments: CustomerSegment[] = loadStored<CustomerSegment>(CUSTOMER_SEGMENTS_KEY)\n private products: Product[]\n private categories: Category[]\n private discounts: Discount[]\n private orders: Order[] = loadStored<Order>(ORDERS_KEY)\n private customers: ShopCustomer[] = loadStored<ShopCustomer>(CUSTOMERS_KEY)\n private enquiries: ProductEnquiry[] = loadStored<ProductEnquiry>(ENQUIRIES_KEY)\n private channels: SalesChannel[] = (() => {\n const stored = loadStored<SalesChannel>(CHANNELS_KEY)\n return stored.length ? stored : DEFAULT_CHANNELS.map(c => ({ ...c }))\n })()\n\n private entitySeed: NonNullable<MockShopSeed['entities']>\n private entityStores = new Map<string, EntityStore>()\n\n private promotions: Promotion[]\n\n private variantSets: Record<string, ProductVariantSet>\n\n constructor(seed?: MockShopSeed) {\n this.products = (seed?.products ?? MOCK_PRODUCTS).map(p => ({ ...p }))\n this.categories = (seed?.categories ?? MOCK_CATEGORIES).map(c => ({ ...c }))\n this.discounts = (seed?.discounts ?? MOCK_DISCOUNTS).map(d => ({ ...d }))\n this.variantSets = Object.fromEntries(\n Object.entries(seed?.variants ?? (seed?.products ? {} : MOCK_VARIANTS)).map(([productId, set]) => [\n productId,\n { options: set.options.map(o => ({ ...o, values: [...o.values] })), variants: set.variants.map(v => ({ ...v, options: { ...v.options } })) },\n ]),\n )\n this.promotions = (seed?.promotions ?? []).map(p => ({ ...p }))\n this.entitySeed = seed?.entities ?? {}\n }\n\n /** The I5 indirection: a promoted (registered) store wins; otherwise the\n * entity gets a lazily-built in-memory store seeded from the mock seed.\n * Lazy on purpose — the seed is validated against the declaration, which\n * the app may register after constructing the provider. */\n private entityStore(entity: string): EntityStore {\n // The I2 gate first: an unknown entity must name the declared set even for\n // reads the lazy store would otherwise satisfy with an empty list.\n resolveEntityDeclaration(entity)\n return resolveEntityStore(entity, (key) => {\n let store = this.entityStores.get(key)\n if (!store) {\n store = createMockEntityStore(key, { seed: this.entitySeed[key] })\n this.entityStores.set(key, store)\n }\n return store\n })\n }\n\n // Re-read before mutating: HMR can re-instantiate the provider mid-session\n // and a stale in-memory copy must not clobber persisted records.\n private syncOrders() { this.orders = loadStored<Order>(ORDERS_KEY) }\n private syncCustomers() { this.customers = loadStored<ShopCustomer>(CUSTOMERS_KEY) }\n private syncEnquiries() { this.enquiries = loadStored<ProductEnquiry>(ENQUIRIES_KEY) }\n private syncChannels() {\n const stored = loadStored<SalesChannel>(CHANNELS_KEY)\n if (stored.length) this.channels = stored\n }\n private persistOrders() { store(ORDERS_KEY, this.orders) }\n private persistCustomers() { store(CUSTOMERS_KEY, this.customers) }\n private persistEnquiries() { store(ENQUIRIES_KEY, this.enquiries) }\n private persistChannels() { store(CHANNELS_KEY, this.channels) }\n\n // ---------------------------------------------------------------------------\n // Products\n // ---------------------------------------------------------------------------\n\n async listProducts(opts?: ListProductsOptions): Promise<Product[]> {\n let list = [...this.products]\n if (opts?.status) list = list.filter(p => p.status === opts.status)\n if (opts?.categoryId) list = list.filter(p => p.categoryId === opts.categoryId)\n if (opts?.slug) list = list.filter(p => p.slug === opts.slug)\n if (opts?.search) {\n const q = opts.search.toLowerCase()\n list = list.filter(p =>\n p.name.toLowerCase().includes(q) ||\n (p.description ?? '').toLowerCase().includes(q) ||\n (p.sku ?? '').toLowerCase().includes(q),\n )\n }\n const orderBy = opts?.orderBy ?? 'sort_order'\n const dir = opts?.order === 'desc' ? -1 : 1\n if (opts?.search && !opts.orderBy) {\n // A term matched in the NAME must outrank one matched in the description,\n // otherwise \"caneta\" answers with whatever the catalogue happens to list\n // first among the products that merely mention a pen. Only when the caller\n // asked for a specific order does that order win.\n const q = opts.search.toLowerCase()\n const rank = (p: Product) =>\n p.name.toLowerCase().startsWith(q) ? 0 : p.name.toLowerCase().includes(q) ? 1 : 2\n list.sort((a, b) => rank(a) - rank(b) || a.sortOrder - b.sortOrder)\n } else {\n list.sort((a, b) => {\n switch (orderBy) {\n case 'name': return a.name.localeCompare(b.name) * dir\n case 'price': return (a.price - b.price) * dir\n case 'created_at': return a.createdAt.localeCompare(b.createdAt) * dir\n default: return (a.sortOrder - b.sortOrder) * dir\n }\n })\n }\n const offset = opts?.offset ?? 0\n if (offset || opts?.limit) list = list.slice(offset, opts?.limit ? offset + opts.limit : undefined)\n return list\n }\n\n async getProduct(id: string) { return this.products.find(p => p.id === id) ?? null }\n\n /** Option axes + variants (spine M5) — active variants only, like the 0028\n * storefront RLS. Answers empty sets for a variantless product. */\n async getProductVariants(productId: string, opts?: { includeArchived?: boolean }): Promise<ProductVariantSet> {\n const set = this.variantSets[productId]\n if (!set) return { options: [], variants: [] }\n return {\n options: set.options.map(o => ({ ...o, values: [...o.values] })).sort((a, b) => a.position - b.position),\n variants: set.variants\n .filter(v => opts?.includeArchived || v.status === 'active')\n .map(v => ({ ...v, options: { ...v.options } }))\n .sort((a, b) => a.position - b.position),\n }\n }\n\n // --- The variant admin ------------------------------------------------------\n // Modelled on the SQL rather than on convenience: 0028's UNIQUE\n // (product_id, options), 0037's default-variant triggers and 0036's mirror all\n // have a counterpart here, so a test that passes against this mock is\n // asserting the real semantics and not a friendlier imitation of them.\n\n private variantSet(productId: string): ProductVariantSet {\n this.variantSets[productId] ??= { options: [], variants: [] }\n return this.variantSets[productId]!\n }\n\n async saveProductOptions(productId: string, input: ProductOptionInput[]): Promise<ProductOption[]> {\n const set = this.variantSet(productId)\n const existing = new Map(set.options.map(o => [o.name, o]))\n set.options = input.map((axis, position) => ({\n id: existing.get(axis.name)?.id ?? uid(),\n name: axis.name,\n values: [...axis.values],\n position,\n }))\n return set.options.map(o => ({ ...o, values: [...o.values] }))\n }\n\n async createProductVariant(productId: string, input: CreateProductVariantInput): Promise<ProductVariant> {\n const set = this.variantSet(productId)\n const key = variantOptionsKey(input.options)\n const existing = set.variants.find(v => variantOptionsKey(v.options) === key)\n // 0028's UNIQUE (product_id, options): the row is revived, never doubled.\n if (existing) return this.updateProductVariant(existing.id, { ...input, status: input.status ?? 'active' })\n\n const variant: ProductVariant = {\n id: uid(),\n productId,\n options: { ...input.options },\n sku: input.sku ?? null,\n price: input.price ?? null,\n compareAtPrice: input.compareAtPrice ?? null,\n inventoryCount: 0,\n position: input.position ?? set.variants.length,\n status: input.status ?? 'active',\n imageId: input.imageId ?? null,\n isDefaultVariant: false,\n weight: input.weight ?? null,\n weightUnit: input.weightUnit ?? null,\n heightCm: input.heightCm ?? null,\n widthCm: input.widthCm ?? null,\n lengthCm: input.lengthCm ?? null,\n }\n set.variants.push(variant)\n // 0037 §4: the first real variant retires the default one. ARCHIVED, not\n // deleted — the balance rows belong to stock the merchant still owns.\n for (const other of set.variants) {\n if (other.isDefaultVariant && other.status === 'active') other.status = 'archived'\n }\n this.syncProductFromVariants(productId)\n return { ...variant, options: { ...variant.options } }\n }\n\n async updateProductVariant(variantId: string, input: UpdateProductVariantInput): Promise<ProductVariant> {\n for (const [productId, set] of Object.entries(this.variantSets)) {\n const variant = set.variants.find(v => v.id === variantId)\n if (!variant) continue\n for (const [key, value] of Object.entries(input)) {\n if (value !== undefined) (variant as unknown as Record<string, unknown>)[key] = value\n }\n this.syncProductFromVariants(productId)\n return { ...variant, options: { ...variant.options } }\n }\n throw new Error('Variant not found')\n }\n\n async archiveProductVariant(variantId: string): Promise<void> {\n await this.updateProductVariant(variantId, { status: 'archived' })\n }\n\n /**\n * The 0034→0036 path, compressed: the merchant states a count, the difference\n * is what gets recorded, and inventory_count is the mirror that follows. The\n * ledger itself is MockStockStore's business — what matters here is that no\n * caller ever assigns to inventoryCount.\n */\n async setVariantStock(variantId: string, count: number): Promise<number> {\n const target = Math.max(0, Math.trunc(count))\n for (const [productId, set] of Object.entries(this.variantSets)) {\n const variant = set.variants.find(v => v.id === variantId)\n if (!variant) continue\n variant.inventoryCount = target\n this.syncProductFromVariants(productId)\n return target\n }\n throw new Error('Variant not found')\n }\n\n async receiveVariantStock(variantId: string, quantity: number): Promise<number> {\n const amount = Math.trunc(quantity)\n if (amount <= 0) throw new Error('A quantidade recebida precisa ser maior que zero.')\n for (const [productId, set] of Object.entries(this.variantSets)) {\n const variant = set.variants.find(v => v.id === variantId)\n if (!variant) continue\n variant.inventoryCount += amount\n this.syncProductFromVariants(productId)\n return variant.inventoryCount\n }\n throw new Error('Variant not found')\n }\n\n async receiveProductStock(\n productId: string,\n quantity: number,\n options?: { variantId?: string | null },\n ): Promise<number> {\n const amount = Math.trunc(quantity)\n if (amount <= 0) throw new Error('A quantidade recebida precisa ser maior que zero.')\n if (options?.variantId) return this.receiveVariantStock(options.variantId, amount)\n const variants = this.variantSets[productId]?.variants.filter(v => v.status === 'active') ?? []\n if (variants.length === 1) return this.receiveVariantStock(variants[0].id, amount)\n if (variants.length > 1) {\n throw new Error('Este produto tem mais de uma variação — escolha qual recebeu a entrada.')\n }\n const product = this.products.find(p => p.id === productId)\n if (!product) throw new Error('Product not found')\n product.inventoryCount = Math.max(0, product.inventoryCount) + amount\n return product.inventoryCount\n }\n\n /** 0028's sync trigger: the product row is the SUM of active variant stock. */\n private syncProductFromVariants(productId: string): void {\n const product = this.products.find(p => p.id === productId)\n const set = this.variantSets[productId]\n if (!product || !set) return\n const active = set.variants.filter(v => v.status === 'active')\n product.inventoryCount = active.reduce((sum, v) => sum + v.inventoryCount, 0)\n }\n\n async createProduct(input: CreateProductInput): Promise<Product> {\n const p: Product = { id: uid(), tenantId: 'mock', name: input.name, slug: input.slug ?? input.name.toLowerCase().replace(/\\s+/g, '-'), description: input.description ?? null, price: input.price, compareAtPrice: input.compareAtPrice ?? null, currency: input.currency ?? 'BRL', status: input.status ?? 'active', inventoryCount: input.inventoryCount ?? 0, sku: input.sku ?? null, sortOrder: input.sortOrder ?? 0, metadata: input.metadata ?? {}, images: [], categoryId: input.categoryId ?? null, categoryName: null, isPhysical: input.isPhysical ?? true, weight: input.weight ?? null, weightUnit: input.weightUnit ?? 'kg', handling: input.handling ?? [], createdAt: now(), updatedAt: now() }\n this.products.push(p); return p\n }\n\n async updateProduct(id: string, input: UpdateProductInput): Promise<Product> {\n const i = this.products.findIndex(p => p.id === id)\n if (i < 0) throw new Error('Product not found')\n this.products[i] = { ...this.products[i], ...input, updatedAt: now() }\n return this.products[i]\n }\n\n async deleteProduct(id: string) { this.products = this.products.filter(p => p.id !== id) }\n async uploadProductImage(_productId: string, _file: File): Promise<ProductImage> { throw new Error('Image upload not available in mock mode') }\n\n async deleteProductImage(imageId: string) {\n this.products = this.products.map(p => p.images.some(i => i.id === imageId)\n ? { ...p, images: p.images.filter(i => i.id !== imageId) }\n : p)\n }\n\n /** The media library, mock-side: no bucket to walk, so the catalogue's own\n * photos ARE the library. Uploading has nowhere to go, which is why\n * uploadMediaFile stays unimplemented and the screen hides its button. */\n async listMediaFiles(): Promise<MediaFile[]> {\n const attached = this.products.flatMap(p =>\n p.images.map(image => productImageToMediaFile(image, p.name)))\n return mergeMediaFiles(attached, [])\n }\n\n async createProductEnquiry(input: CreateProductEnquiryInput): Promise<ProductEnquiry> {\n this.syncEnquiries()\n const ts = now()\n const enquiry: ProductEnquiry = {\n id: uid(),\n tenantId: 'mock',\n productId: input.productId ?? null,\n productName: input.productName,\n productSlug: input.productSlug ?? null,\n customerName: input.customerName,\n customerEmail: input.customerEmail,\n customerPhone: input.customerPhone ?? null,\n subject: input.subject ?? null,\n message: input.message,\n sourceUrl: input.sourceUrl ?? null,\n status: 'new',\n metadata: input.metadata ?? {},\n createdAt: ts,\n updatedAt: ts,\n }\n this.enquiries.unshift(enquiry)\n this.persistEnquiries()\n return enquiry\n }\n\n async listProductEnquiries(opts?: ListProductEnquiriesOptions): Promise<ProductEnquiry[]> {\n this.syncEnquiries()\n let list = [...this.enquiries]\n if (opts?.productId) list = list.filter((e) => e.productId === opts.productId)\n if (opts?.customerEmail) {\n const email = opts.customerEmail.toLowerCase()\n list = list.filter((e) => e.customerEmail.toLowerCase() === email)\n }\n if (opts?.status) list = list.filter((e) => e.status === opts.status)\n list.sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n const offset = opts?.offset ?? 0\n if (offset || opts?.limit) list = list.slice(offset, opts?.limit ? offset + opts.limit : undefined)\n return list\n }\n\n // ---------------------------------------------------------------------------\n // Categories\n // ---------------------------------------------------------------------------\n\n async listCategories() { return [...this.categories].sort((a, b) => a.sortOrder - b.sortOrder) }\n\n async createCategory(input: CreateCategoryInput): Promise<Category> {\n const c: Category = { id: uid(), tenantId: 'mock', name: input.name, slug: input.slug ?? input.name.toLowerCase().replace(/\\s+/g, '-'), description: input.description ?? null, parentId: input.parentId ?? null, sortOrder: input.sortOrder ?? 0, createdAt: now() }\n this.categories.push(c); return c\n }\n\n async updateCategory(id: string, input: UpdateCategoryInput): Promise<Category> {\n const i = this.categories.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Category not found')\n this.categories[i] = { ...this.categories[i], ...input }\n return this.categories[i]\n }\n\n async deleteCategory(id: string) { this.categories = this.categories.filter(c => c.id !== id) }\n\n // ---------------------------------------------------------------------------\n // Orders\n // ---------------------------------------------------------------------------\n\n async listOrders(opts?: ListOrdersOptions): Promise<Order[]> {\n this.syncOrders()\n let list = [...this.orders]\n if (opts?.status) list = list.filter(o => o.status === opts.status)\n if (opts?.financialStatus) list = list.filter(o => o.financialStatus === opts.financialStatus)\n if (opts?.fulfillmentStatus) list = list.filter(o => o.fulfillmentStatus === opts.fulfillmentStatus)\n if (opts?.customerId) list = list.filter(o => o.customerId === opts.customerId)\n if (opts?.customerEmail) {\n const email = opts.customerEmail.toLowerCase()\n list = list.filter(o => (o.customerEmail ?? '').toLowerCase() === email)\n }\n if (opts?.search) {\n const q = opts.search.toLowerCase()\n list = list.filter(o =>\n (o.customerName ?? '').toLowerCase().includes(q) ||\n (o.customerEmail ?? '').toLowerCase().includes(q) ||\n String(o.orderNumber).includes(q),\n )\n }\n list.sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n if (opts?.limit) list = list.slice(0, opts.limit)\n return list\n }\n\n async getOrder(id: string) {\n this.syncOrders()\n return this.orders.find(o => o.id === id) ?? null\n }\n\n async createOrder(input: CreateOrderInput): Promise<Order> {\n this.syncOrders()\n const subtotal = input.items.reduce((s, i) => s + i.quantity * i.unitPrice, 0)\n const discountTotal = input.discountTotal ?? 0\n const shippingTotal = input.shippingTotal ?? 0\n const total = Math.round((subtotal - discountTotal + shippingTotal) * 100) / 100\n const orderId = uid()\n const maxNumber = this.orders.reduce((m, o) => Math.max(m, o.orderNumber), 1000)\n const o: Order = {\n id: orderId,\n tenantId: 'mock',\n orderNumber: maxNumber + 1,\n status: 'open',\n financialStatus: 'pending',\n fulfillmentStatus: 'unfulfilled',\n currency: input.currency ?? 'BRL',\n subtotal: Math.round(subtotal * 100) / 100,\n taxTotal: 0,\n discountTotal,\n shippingTotal,\n total,\n customerId: input.customerId ?? null,\n customerName: input.customerName ?? null,\n customerEmail: input.customerEmail ?? null,\n discountCode: input.discountCode ?? null,\n notes: input.notes ?? null,\n shippingAddress: null,\n // CreateOrderInput has no payment method — that is a PlaceOrderInput\n // concern; the mock records none rather than inventing one.\n paymentMethodKind: null,\n paidAt: null,\n items: input.items.map(i => ({ id: uid(), orderId, productId: i.productId ?? null, name: i.name, sku: i.sku ?? null, quantity: i.quantity, unitPrice: i.unitPrice, total: Math.round(i.quantity * i.unitPrice * 100) / 100, imageUrl: i.imageUrl ?? null })),\n createdAt: now(),\n updatedAt: now(),\n }\n this.orders.push(o)\n this.persistOrders()\n return o\n }\n\n async updateOrder(id: string, input: UpdateOrderInput): Promise<Order> {\n this.syncOrders()\n const i = this.orders.findIndex(o => o.id === id)\n if (i < 0) throw new Error('Order not found')\n this.orders[i] = { ...this.orders[i], ...input, updatedAt: now() }\n this.persistOrders()\n return this.orders[i]\n }\n\n // Trusted placement (mock parity with the shop_place_order RPC): re-reads\n // prices + stock from the catalog, EVALUATES THE DECLARED PROMOTIONS through\n // the rule engine, validates the legacy discount code, decrements inventory.\n // The browser-supplied prices and totals are never used.\n async placeOrder(input: PlaceOrderInput): Promise<Order> {\n this.syncOrders()\n this.syncCustomers()\n\n // Resolve / create the customer (find-or-create by email).\n let customerId = input.customerId ?? null\n let customerName = input.customer?.name?.trim() || null\n const email = input.customer?.email?.trim().toLowerCase() || null\n if (!customerId && email) {\n const existing = this.customers.find(c => (c.email ?? '').toLowerCase() === email)\n if (existing) {\n customerId = existing.id\n customerName = customerName ?? `${existing.firstName} ${existing.lastName}`.trim()\n } else {\n const [first, ...rest] = (customerName ?? email).split(' ')\n const created = await this.createCustomer({ firstName: first || email, lastName: rest.join(' '), email })\n customerId = created.id\n }\n }\n\n // Re-read price + guard stock from the catalog (never trust the client).\n // Variant lines (spine M5, mirroring 0029): the VARIANT is the priced and\n // stock-checked unit; its options derive the label the shopper sees.\n const items: CreateOrderInput['items'] = []\n // Per-line facts for coupon scoping (productId, categoryId, line total).\n const lineDetails: Array<{ productId: string; categoryId: string | null; lineTotal: number }> = []\n // The SAME lines as a rule-engine snapshot (M6). Built here, from the\n // re-read catalog prices, so the engine can never be fed client numbers.\n const snapshotItems: RuleCartItem[] = []\n let subtotal = 0\n for (const [index, line] of input.items.entries()) {\n const product = this.products.find(p => p.id === line.productId)\n if (!product || product.status !== 'active') throw new Error(`Product unavailable: ${line.productId}`)\n let variant: ProductVariant | undefined\n if (line.variantId) {\n variant = this.variantSets[line.productId]?.variants.find(v => v.id === line.variantId && v.status === 'active')\n if (!variant) throw new Error(`Variant unavailable: ${line.variantId}`)\n if (variant.inventoryCount < line.quantity) throw new Error(`Insufficient stock for ${product.name}`)\n } else if (product.inventoryCount < line.quantity) {\n throw new Error(`Insufficient stock for ${product.name}`)\n }\n const unitPrice = variant?.price ?? product.price\n const label = line.optionsLabel\n || (variant ? Object.entries(variant.options).sort(([a], [b]) => a.localeCompare(b)).map(([k, v]) => `${k}: ${v}`).join(' · ') : '')\n const name = label ? `${product.name} (${label})` : product.name\n const lineTotal = unitPrice * line.quantity\n subtotal += lineTotal\n lineDetails.push({ productId: product.id, categoryId: product.categoryId, lineTotal })\n // Line identity must be UNIQUE (the engine splits `across` allocations\n // per line id); the index guarantees it even for two lines of the same\n // product bought under different variants.\n snapshotItems.push({\n id: `${index}:${line.variantId ?? product.id}`,\n productId: product.id,\n quantity: line.quantity,\n unitPrice,\n categoryId: product.categoryId,\n collectionId: typeof product.metadata?.collection === 'string' ? product.metadata.collection : null,\n })\n items.push({ productId: product.id, name, sku: variant?.sku ?? product.sku ?? undefined, quantity: line.quantity, unitPrice, imageUrl: product.images[0]?.url })\n }\n subtotal = Math.round(subtotal * 100) / 100\n\n // Validate + apply the discount server-side.\n let shippingTotal = Math.max(input.shippingTotal ?? 0, 0)\n let discountTotal = 0\n let appliedCode: string | null = null\n\n // --- The rule engine on the ORDER path (spine M6) -----------------------\n // Declared `promotions` are evaluated here, not only in the cart preview:\n // without this a store that carries ONLY new-style promotions placed every\n // order with discountTotal 0 — the promotion was advertised, previewed and\n // then silently dropped at the till.\n //\n // Only the DECLARED promotions ride this path. Legacy `discounts` keep\n // their own (unchanged) code below; running them through the adapter here\n // as well would count the same coupon twice.\n const entered = input.discountCode ? [input.discountCode.trim()] : []\n const cart: RuleCartSnapshot = {\n items: snapshotItems,\n shippingTotal,\n customer: { email: input.customer?.email ?? null },\n codes: entered,\n currency: input.currency,\n }\n const context = await buildRuleContext(cart)\n const actions = computePromotionActions(cart, this.promotions, { context })\n\n let promotionItemDiscount = 0\n let promotionShippingDiscount = 0\n const firedPromotionIds = new Set<string>()\n const firedCodes = new Set<string>()\n for (const action of actions) {\n firedPromotionIds.add(action.promotionId)\n if (action.code) firedCodes.add(action.code.trim().toUpperCase())\n if (action.action === 'addItemDiscount') promotionItemDiscount += action.amount\n else if (action.action === 'addShippingDiscount') promotionShippingDiscount += action.amount\n else if (action.action === 'addFreeItem') {\n // The grant is a real order line at price 0 — otherwise the shopper is\n // promised a free product the order never records.\n const granted = this.products.find(p => p.id === action.productId)\n if (granted) {\n items.push({ productId: granted.id, name: granted.name, sku: granted.sku ?? undefined, quantity: action.quantity, unitPrice: 0, imageUrl: granted.images[0]?.url })\n }\n }\n }\n // Usage limits are enforced against the same counter the legacy path uses.\n for (const promotion of this.promotions) {\n if (firedPromotionIds.has(promotion.id)) promotion.timesUsed = (promotion.timesUsed ?? 0) + 1\n }\n discountTotal += Math.round(promotionItemDiscount * 100) / 100\n shippingTotal = Math.max(0, Math.round((shippingTotal - promotionShippingDiscount) * 100) / 100)\n if (input.discountCode && firedCodes.has(input.discountCode.trim().toUpperCase())) {\n appliedCode = input.discountCode.trim().toUpperCase()\n }\n\n // --- Legacy `discounts` coupons (unchanged) -----------------------------\n // Skipped only when a declared promotion already consumed this exact code,\n // so a store that migrated one coupon to the rule model is not charged the\n // discount twice.\n if (input.discountCode && !appliedCode) {\n const code = input.discountCode.trim().toLowerCase()\n const d = this.discounts.find(x => (x.code ?? '').toLowerCase() === code)\n const ts = now()\n const meetsMin = !d?.minSubtotal || subtotal >= d.minSubtotal\n const valid = !!d && d.status === 'active' && d.startsAt <= ts && (!d.endsAt || d.endsAt >= ts) && (d.usageLimit == null || d.timesUsed < d.usageLimit) && meetsMin\n if (valid && d) {\n appliedCode = d.code\n // Eligible subtotal = the part of the cart the coupon is scoped to.\n // applies_to='all' → whole subtotal (unchanged for legacy coupons).\n let eligible = subtotal\n if (d.appliesTo === 'products') {\n eligible = lineDetails.filter(l => d.productIds.includes(l.productId)).reduce((s, l) => s + l.lineTotal, 0)\n } else if (d.appliesTo === 'categories') {\n eligible = lineDetails.filter(l => l.categoryId && d.categoryIds.includes(l.categoryId)).reduce((s, l) => s + l.lineTotal, 0)\n }\n eligible = Math.round(eligible * 100) / 100\n // `+=`, not `=`: an automatic rule-engine promotion may already have\n // contributed above, and a legacy coupon must not erase it.\n if (d.type === 'percentage') discountTotal += Math.round(eligible * d.value) / 100\n else if (d.type === 'fixed_amount') discountTotal += Math.min(d.value, eligible)\n else if (d.type === 'free_shipping') shippingTotal = 0\n // buy_x_get_y unsupported in v1: code recorded, no monetary effect\n d.timesUsed += 1\n }\n }\n discountTotal = Math.round(Math.min(Math.max(discountTotal, 0), subtotal) * 100) / 100\n\n // Persist via createOrder (recomputes total from these trusted values).\n const order = await this.createOrder({\n customerId: customerId ?? undefined,\n customerName: customerName ?? undefined,\n customerEmail: input.customer?.email ?? undefined,\n currency: input.currency,\n notes: input.notes,\n discountCode: appliedCode ?? undefined,\n discountTotal,\n shippingTotal,\n items,\n })\n\n // Decrement inventory (in-memory; the mock catalog reseeds on reload).\n // A variant line decrements the VARIANT counter, and the product mirror is\n // recomputed as the sum of active variant stock — the same rule 0028's\n // sync trigger enforces on live data, so both providers report identical\n // numbers after a sale.\n for (const line of input.items) {\n const product = this.products.find(p => p.id === line.productId)\n if (!product) continue\n const variant = line.variantId\n ? this.variantSets[line.productId]?.variants.find(v => v.id === line.variantId)\n : undefined\n if (variant) {\n variant.inventoryCount = Math.max(0, variant.inventoryCount - line.quantity)\n product.inventoryCount = this.variantSets[line.productId]!.variants\n .filter(v => v.status === 'active')\n .reduce((sum, v) => sum + v.inventoryCount, 0)\n } else {\n product.inventoryCount = Math.max(0, product.inventoryCount - line.quantity)\n }\n }\n\n emitOrderEvent('order_confirmation', order)\n return order\n }\n\n // ---------------------------------------------------------------------------\n // Checkout sessions\n //\n // Mirrors the live inversion: the session holds the cart, and the ORDER is\n // only written when the settle says the money is in. Here the \"provider\" is a\n // clock — the second poll pays — which is what lets the four-step checkout be\n // walked end to end without an acquirer, in demo stores and in the e2e suite.\n // ---------------------------------------------------------------------------\n\n private checkoutSessions: Record<string, { input: CheckoutSessionInput; polls: number; orderId?: string }> = {}\n\n async openCheckoutSession(input: CheckoutSessionInput): Promise<CheckoutSession> {\n const sessionId = uid()\n this.checkoutSessions[sessionId] = { input, polls: 0 }\n // Re-priced from the catalog, exactly like placeOrder — the browser's\n // numbers never reach the charge, in the mock either.\n let total = 0\n for (const line of input.items) {\n const product = this.products.find(p => p.id === line.productId)\n if (!product) continue\n const variant = line.variantId\n ? this.variantSets[line.productId]?.variants.find(v => v.id === line.variantId)\n : undefined\n total += (variant?.price ?? product.price) * line.quantity\n }\n return {\n sessionId,\n total: Math.round(total * 100) / 100,\n state: 'open',\n charge: {\n // Shaped like a real EMV payload so the copy button and the layout are\n // exercised, not a placeholder that fits in one line.\n emv: `00020126580014BR.GOV.BCB.PIX0136${sessionId}520400005303986540${total.toFixed(2)}5802BR6304MOCK`,\n qrcodeBase64: null,\n // No image either way in the mock: the copy-and-paste code is what pays,\n // and a fabricated QR would be a square that scans to nothing.\n qrcodeUrl: null,\n expiresAt: new Date(Date.now() + 30 * 60_000).toISOString(),\n },\n }\n }\n\n async settleCheckoutSession(sessionId: string): Promise<CheckoutSettlement> {\n const session = this.checkoutSessions[sessionId]\n if (!session) return { state: 'expired', reason: 'Sessão de checkout não encontrada.' }\n if (session.orderId) return { state: 'paid', orderId: session.orderId }\n session.polls += 1\n if (session.polls < 2) return { state: 'open' }\n const order = await this.placeOrder({\n items: session.input.items,\n customer: session.input.customer,\n discountCode: session.input.discountCode ?? undefined,\n shippingAddress: session.input.shippingAddress,\n } as PlaceOrderInput)\n // Paid on arrival: the mock only reaches here because the charge settled,\n // so an order left `pending` would contradict the very state we return.\n await this.updateOrder(order.id, { financialStatus: 'paid' })\n session.orderId = order.id\n return { state: 'paid', orderId: order.id }\n }\n\n // ---------------------------------------------------------------------------\n // Customers\n // ---------------------------------------------------------------------------\n\n async listCustomers(opts?: ListCustomersOptions) {\n this.syncCustomers()\n let list = [...this.customers]\n if (opts?.search) list = list.filter(c => `${c.firstName} ${c.lastName} ${c.email}`.toLowerCase().includes(opts.search!.toLowerCase()))\n if (opts?.limit) list = list.slice(0, opts.limit)\n return list\n }\n\n async getCustomer(id: string) {\n this.syncCustomers()\n return this.customers.find(c => c.id === id) ?? null\n }\n\n async createCustomer(input: CreateCustomerInput): Promise<ShopCustomer> {\n this.syncCustomers()\n const c: ShopCustomer = { id: uid(), tenantId: 'mock', firstName: input.firstName, lastName: input.lastName ?? '', email: input.email ?? null, phone: input.phone ?? null, document: input.document ?? null, notes: input.notes ?? null, ordersCount: 0, totalSpent: 0, createdAt: now(), updatedAt: now() }\n this.customers.push(c)\n this.persistCustomers()\n return c\n }\n\n async updateCustomer(id: string, input: UpdateCustomerInput): Promise<ShopCustomer> {\n this.syncCustomers()\n const i = this.customers.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Customer not found')\n this.customers[i] = { ...this.customers[i], ...input, updatedAt: now() }\n this.persistCustomers()\n return this.customers[i]\n }\n\n async deleteCustomer(id: string) {\n this.syncCustomers()\n this.customers = this.customers.filter(c => c.id !== id)\n this.persistCustomers()\n }\n\n async resolveCustomer(input: ResolveCustomerInput): Promise<ShopCustomer> {\n this.syncCustomers()\n const email = input.email.trim().toLowerCase()\n const existing = this.customers.find(c => (c.email ?? '').toLowerCase() === email)\n if (existing) return existing\n const [first, ...rest] = (input.name?.trim() || email).split(/\\s+/)\n return this.createCustomer({ firstName: first || email, lastName: rest.join(' '), email })\n }\n\n // ---------------------------------------------------------------------------\n // Promotions (spine M6) — the mock provider IS the reference evaluator, so\n // tests and pilot fixtures exercise the rule engine without a database.\n // Seeded promotions ride as-is; legacy discounts ride through the adapter\n // (a percent code = one eligibility rule on code + percentage method).\n // ---------------------------------------------------------------------------\n\n async evaluatePromotions(input: { cart: RuleCartSnapshot }): Promise<ComputeAction[]> {\n const promotions: Promotion[] = [\n ...this.promotions,\n ...this.discounts.map(discountToPromotion).filter((p): p is Promotion => p !== null),\n ]\n const context = await buildRuleContext(input.cart)\n return computePromotionActions(input.cart, promotions, { context })\n }\n\n // ---------------------------------------------------------------------------\n // Discounts\n // ---------------------------------------------------------------------------\n\n async listDiscounts(opts?: ListDiscountsOptions) {\n let list = [...this.discounts]\n if (opts?.status) list = list.filter(d => d.status === opts.status)\n if (opts?.type) list = list.filter(d => d.type === opts.type)\n if (opts?.search) list = list.filter(d => d.title.toLowerCase().includes(opts.search!.toLowerCase()))\n if (opts?.limit) list = list.slice(0, opts.limit)\n return list\n }\n\n async getDiscount(id: string) { return this.discounts.find(d => d.id === id) ?? null }\n\n async createDiscount(input: CreateDiscountInput): Promise<Discount> {\n const d: Discount = { id: uid(), tenantId: 'mock', title: input.title, code: input.code ?? null, type: input.type, method: input.method ?? 'code', value: input.value, usageLimit: input.usageLimit ?? null, oncePerCustomer: input.oncePerCustomer ?? false, minSubtotal: input.minSubtotal ?? null, appliesTo: input.appliesTo ?? 'all', productIds: input.productIds ?? [], categoryIds: input.categoryIds ?? [], startsAt: input.startsAt ?? now(), endsAt: input.endsAt ?? null, status: input.status ?? 'active', timesUsed: 0, createdAt: now(), updatedAt: now() }\n this.discounts.push(d); return d\n }\n\n async updateDiscount(id: string, input: UpdateDiscountInput): Promise<Discount> {\n const i = this.discounts.findIndex(d => d.id === id)\n if (i < 0) throw new Error('Discount not found')\n this.discounts[i] = { ...this.discounts[i], ...input, updatedAt: now() }\n return this.discounts[i]\n }\n\n async deleteDiscount(id: string) { this.discounts = this.discounts.filter(d => d.id !== id) }\n\n // ---------------------------------------------------------------------------\n // Sales channels\n // ---------------------------------------------------------------------------\n\n async listSalesChannels(): Promise<SalesChannel[]> {\n this.syncChannels()\n return [...this.channels].sort((a, b) => a.position - b.position)\n }\n\n async createSalesChannel(input: CreateSalesChannelInput): Promise<SalesChannel> {\n this.syncChannels()\n const c: SalesChannel = { id: uid(), tenantId: 'mock', kind: input.kind, label: input.label, url: input.url ?? null, enabled: input.enabled ?? true, position: input.position ?? this.channels.length, createdAt: now(), updatedAt: now() }\n this.channels.push(c); this.persistChannels(); return c\n }\n\n async updateSalesChannel(id: string, input: UpdateSalesChannelInput): Promise<SalesChannel> {\n this.syncChannels()\n const i = this.channels.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Sales channel not found')\n this.channels[i] = { ...this.channels[i], ...input, updatedAt: now() }\n this.persistChannels(); return this.channels[i]\n }\n\n async deleteSalesChannel(id: string): Promise<void> {\n this.syncChannels()\n this.channels = this.channels.filter(c => c.id !== id)\n this.persistChannels()\n }\n\n // ---------------------------------------------------------------------------\n // Store policy + delivery fallback\n //\n // A single object behind a list-shaped store helper, so the same loadStored /\n // store pair serves it. Absent = null, NOT an object of defaults: \"nothing\n // decided\" is a state the callers are written to handle, and manufacturing\n // defaults here would hide the one case the live provider really has.\n // ---------------------------------------------------------------------------\n\n async getStoreSettings(): Promise<StoreSettings | null> {\n return loadStored<StoreSettings>(SETTINGS_KEY)[0] ?? null\n }\n\n async updateStoreSettings(input: UpdateStoreSettingsInput): Promise<StoreSettings> {\n const next: StoreSettings = { ...(await this.getStoreSettings() ?? {}), ...input }\n store(SETTINGS_KEY, [next])\n return next\n }\n\n /** In mock mode there is no publication gate to fail, so the shopper's read\n * and the merchant's are the same row. */\n async getPublicStoreSettings(): Promise<StoreSettings | null> {\n return this.getStoreSettings()\n }\n\n /**\n * Mock mode has no delivery zones at all, so nothing is refused and no zone is\n * the store's own. Answered rather than omitted so a screen developed against\n * the mock sees the same shape it will see live — an absent method would make\n * the caller take its \"provider cannot check\" branch and never exercise this.\n */\n async checkDelivery(): Promise<DeliveryCheck> {\n return { refused: false, ownZone: false }\n }\n\n async getShippingSettings(): Promise<ShippingSettings | null> {\n return loadStored<ShippingSettings>(SHIPPING_SETTINGS_KEY)[0] ?? null\n }\n\n async updateShippingSettings(input: UpdateShippingSettingsInput): Promise<ShippingSettings> {\n const current = await this.getShippingSettings()\n const next: ShippingSettings = {\n flatRate: input.flatRate ?? current?.flatRate ?? 0,\n freeAbove: input.freeAbove !== undefined ? input.freeAbove : current?.freeAbove ?? null,\n currency: input.currency ?? current?.currency ?? 'BRL',\n }\n store(SHIPPING_SETTINGS_KEY, [next])\n return next\n }\n\n // ---------------------------------------------------------------------------\n // Custom entities (spine M4) — same EntityStore port as the live provider.\n // ---------------------------------------------------------------------------\n\n async listEntityRecords(entity: string, options?: ListEntityRecordsOptions): Promise<EntityRecord[]> {\n return this.entityStore(entity).list(options)\n }\n\n async getEntityRecord(entity: string, id: string): Promise<EntityRecord | null> {\n return this.entityStore(entity).get(id)\n }\n\n async getEntityRecordBySlug(entity: string, slug: string): Promise<EntityRecord | null> {\n return this.entityStore(entity).getBySlug(slug)\n }\n\n async createEntityRecord(entity: string, input: EntityRecordInput): Promise<EntityRecord> {\n return this.entityStore(entity).create(input)\n }\n\n async updateEntityRecord(entity: string, id: string, input: Partial<EntityRecordInput>): Promise<EntityRecord> {\n return this.entityStore(entity).update(id, input)\n }\n\n async deleteEntityRecord(entity: string, id: string): Promise<void> {\n return this.entityStore(entity).delete(id)\n }\n\n // Coleções, grupos/segmentos, vale-presente e e-mails — paridade com o\n // provider Supabase. Mídia não entra: é storage, não tem mock honesto.\n\nasync listCollections(): Promise<Collection[]> {\n this.syncCollections()\n return [...this.collections].sort((a, b) => a.sortOrder - b.sortOrder)\n }\n\n async getCollection(id: string): Promise<Collection | null> {\n this.syncCollections()\n return this.collections.find(c => c.id === id) ?? null\n }\n\n async createCollection(input: CreateCollectionInput): Promise<Collection> {\n this.syncCollections()\n const c: Collection = {\n id: uid(), tenantId: 'mock',\n title: input.title,\n handle: input.handle?.trim() || mockSlugify(input.title),\n description: input.description ?? null,\n imageUrl: input.imageUrl ?? null,\n seoTitle: input.seoTitle ?? null,\n seoDescription: input.seoDescription ?? null,\n published: input.published ?? true,\n sortOrder: input.sortOrder ?? this.collections.length,\n productIds: input.productIds ?? [],\n createdAt: now(), updatedAt: now(),\n }\n this.collections.push(c); this.persistCollections(); return c\n }\n\n async updateCollection(id: string, input: UpdateCollectionInput): Promise<Collection> {\n this.syncCollections()\n const i = this.collections.findIndex(c => c.id === id)\n if (i < 0) throw new Error('Collection not found')\n this.collections[i] = { ...this.collections[i], ...input, updatedAt: now() }\n this.persistCollections(); return this.collections[i]\n }\n\n async deleteCollection(id: string): Promise<void> {\n this.syncCollections()\n this.collections = this.collections.filter(c => c.id !== id)\n this.persistCollections()\n }\n\n async listCustomerGroups(): Promise<CustomerGroup[]> {\n const stored = loadStored<CustomerGroup>(CUSTOMER_GROUPS_KEY)\n if (stored.length) this.customerGroups = stored\n return [...this.customerGroups].sort((a, b) => a.name.localeCompare(b.name, 'pt-BR'))\n }\n\n async createCustomerGroup(input: CreateCustomerGroupInput): Promise<CustomerGroup> {\n await this.listCustomerGroups()\n const g: CustomerGroup = {\n id: uid(), tenantId: 'mock',\n name: input.name,\n description: input.description ?? null,\n color: input.color ?? null,\n customerIds: input.customerIds ?? [],\n createdAt: now(), updatedAt: now(),\n }\n this.customerGroups.push(g); store(CUSTOMER_GROUPS_KEY, this.customerGroups); return g\n }\n\n async updateCustomerGroup(id: string, input: UpdateCustomerGroupInput): Promise<CustomerGroup> {\n await this.listCustomerGroups()\n const i = this.customerGroups.findIndex(g => g.id === id)\n if (i < 0) throw new Error('Customer group not found')\n this.customerGroups[i] = { ...this.customerGroups[i], ...input, updatedAt: now() }\n store(CUSTOMER_GROUPS_KEY, this.customerGroups); return this.customerGroups[i]\n }\n\n async deleteCustomerGroup(id: string): Promise<void> {\n await this.listCustomerGroups()\n // Only the grouping goes: the customers in it are untouched.\n this.customerGroups = this.customerGroups.filter(g => g.id !== id)\n store(CUSTOMER_GROUPS_KEY, this.customerGroups)\n }\n\n async listCustomerSegments(): Promise<CustomerSegment[]> {\n const stored = loadStored<CustomerSegment>(CUSTOMER_SEGMENTS_KEY)\n if (stored.length) this.customerSegments = stored\n return [...this.customerSegments].sort((a, b) => a.name.localeCompare(b.name, 'pt-BR'))\n }\n\n async createCustomerSegment(input: CreateCustomerSegmentInput): Promise<CustomerSegment> {\n await this.listCustomerSegments()\n const s: CustomerSegment = {\n id: uid(), tenantId: 'mock',\n name: input.name,\n description: input.description ?? null,\n minOrders: input.minOrders ?? null,\n maxOrders: input.maxOrders ?? null,\n minSpent: input.minSpent ?? null,\n maxSpent: input.maxSpent ?? null,\n joinedAfter: input.joinedAfter ?? null,\n joinedBefore: input.joinedBefore ?? null,\n createdAt: now(), updatedAt: now(),\n }\n this.customerSegments.push(s); store(CUSTOMER_SEGMENTS_KEY, this.customerSegments); return s\n }\n\n async updateCustomerSegment(id: string, input: UpdateCustomerSegmentInput): Promise<CustomerSegment> {\n await this.listCustomerSegments()\n const i = this.customerSegments.findIndex(s => s.id === id)\n if (i < 0) throw new Error('Customer segment not found')\n this.customerSegments[i] = { ...this.customerSegments[i], ...input, updatedAt: now() }\n store(CUSTOMER_SEGMENTS_KEY, this.customerSegments); return this.customerSegments[i]\n }\n\n async deleteCustomerSegment(id: string): Promise<void> {\n await this.listCustomerSegments()\n this.customerSegments = this.customerSegments.filter(s => s.id !== id)\n store(CUSTOMER_SEGMENTS_KEY, this.customerSegments)\n }\n\n async listGiftCards(): Promise<GiftCard[]> {\n this.syncGiftCards()\n return [...this.giftCards].sort((a, b) => b.createdAt.localeCompare(a.createdAt))\n }\n\n async createGiftCard(input: CreateGiftCardInput): Promise<GiftCard> {\n this.syncGiftCards()\n const amount = Number(input.initialBalance) || 0\n const g: GiftCard = {\n id: uid(), tenantId: 'mock',\n code: (input.code?.trim() || mockGiftCardCode()).toUpperCase(),\n // Same rule the supabase provider enforces: a new card is worth its face\n // value, and only redemption moves the remaining balance.\n initialBalance: amount, balance: amount,\n currency: input.currency ?? 'BRL',\n status: input.status ?? 'active',\n expiresAt: input.expiresAt ?? null,\n customerId: input.customerId ?? null,\n customerEmail: input.customerEmail ?? null,\n note: input.note ?? null,\n createdAt: now(), updatedAt: now(),\n }\n this.giftCards.push(g); this.persistGiftCards(); return g\n }\n\n async updateGiftCard(id: string, input: UpdateGiftCardInput): Promise<GiftCard> {\n this.syncGiftCards()\n const i = this.giftCards.findIndex(g => g.id === id)\n if (i < 0) throw new Error('Gift card not found')\n const code = input.code !== undefined ? input.code.trim().toUpperCase() : this.giftCards[i].code\n this.giftCards[i] = { ...this.giftCards[i], ...input, code, updatedAt: now() }\n this.persistGiftCards(); return this.giftCards[i]\n }\n\n async deleteGiftCard(id: string): Promise<void> {\n this.syncGiftCards()\n this.giftCards = this.giftCards.filter(g => g.id !== id)\n this.persistGiftCards()\n }\n\n async listEmailTemplates(): Promise<EmailTemplate[]> {\n this.syncEmailTemplates()\n return [...this.emailTemplates]\n }\n\n async upsertEmailTemplate(input: UpsertEmailTemplateInput): Promise<EmailTemplate> {\n this.syncEmailTemplates()\n const i = this.emailTemplates.findIndex(t => t.event === input.event)\n const base: EmailTemplate = i >= 0 ? this.emailTemplates[i] : {\n id: uid(), tenantId: 'mock', event: input.event,\n enabled: false, subject: null, body: null, updatedAt: now(),\n }\n const next: EmailTemplate = { ...base, ...input, updatedAt: now() }\n if (i >= 0) this.emailTemplates[i] = next\n else this.emailTemplates.push(next)\n store(EMAIL_TEMPLATES_KEY, this.emailTemplates)\n return next\n }\n\nprivate syncCollections() {\n const stored = loadStored<Collection>(COLLECTIONS_KEY)\n if (stored.length) this.collections = stored\n }\n\n private persistCollections() { store(COLLECTIONS_KEY, this.collections) }\n\n private syncGiftCards() {\n const stored = loadStored<GiftCard>(GIFT_CARDS_KEY)\n if (stored.length) this.giftCards = stored\n }\n\n private persistGiftCards() { store(GIFT_CARDS_KEY, this.giftCards) }\n\n private syncEmailTemplates() {\n const stored = loadStored<EmailTemplate>(EMAIL_TEMPLATES_KEY)\n if (stored.length) this.emailTemplates = stored\n }\n}\n\nexport function createMockShopProvider(seed?: MockShopSeed): ShopProvider {\n return new MockShopProvider(seed)\n}\n"]}
|