@happyvertical/smrt-commerce 0.56.0 → 0.56.1

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.
Files changed (211) hide show
  1. package/AGENTS.md +9 -8
  2. package/README.md +76 -0
  3. package/agents/accounting-snapshot-mapper.md +111 -0
  4. package/agents/contract-money.md +18 -0
  5. package/agents/cost-billing.md +7 -2
  6. package/agents/document-money.md +126 -0
  7. package/agents/invoice-calculations.md +14 -2
  8. package/agents/line-amount-migration.md +50 -0
  9. package/agents/minor-unit-migration.md +20 -0
  10. package/agents/money-calculator.md +45 -0
  11. package/agents/money-model.md +113 -0
  12. package/agents/revenue-journal.md +23 -0
  13. package/agents/tax-codes.md +48 -0
  14. package/agents/tax-summary.md +126 -0
  15. package/dist/accounting-snapshot.d.ts +79 -0
  16. package/dist/accounting-snapshot.d.ts.map +1 -0
  17. package/dist/billing/runtime.d.ts +2 -0
  18. package/dist/billing/runtime.d.ts.map +1 -1
  19. package/dist/chunks/ContractLineItemCollection-DYjhj_pU.js +265 -0
  20. package/dist/chunks/ContractLineItemCollection-DYjhj_pU.js.map +1 -0
  21. package/dist/chunks/CustomerCollection-DQIujn4f.js +99 -0
  22. package/dist/chunks/CustomerCollection-DQIujn4f.js.map +1 -0
  23. package/dist/chunks/DocumentTaxCollection-BEpoqXAQ.js +1639 -0
  24. package/dist/chunks/DocumentTaxCollection-BEpoqXAQ.js.map +1 -0
  25. package/dist/chunks/InvoiceCollection-CKQflFjc.js +1047 -0
  26. package/dist/chunks/InvoiceCollection-CKQflFjc.js.map +1 -0
  27. package/dist/chunks/InvoiceLineItemCollection-CHm9zdqh.js +467 -0
  28. package/dist/chunks/InvoiceLineItemCollection-CHm9zdqh.js.map +1 -0
  29. package/dist/chunks/TaxCodeCollection-DOpzW4y8.js +149 -0
  30. package/dist/chunks/TaxCodeCollection-DOpzW4y8.js.map +1 -0
  31. package/dist/chunks/TaxComponentCollection-Cs2uXwEl.js +129 -0
  32. package/dist/chunks/TaxComponentCollection-Cs2uXwEl.js.map +1 -0
  33. package/dist/chunks/TaxSettingsCollection-BBTZDH1S.js +319 -0
  34. package/dist/chunks/TaxSettingsCollection-BBTZDH1S.js.map +1 -0
  35. package/dist/chunks/{money-DfrRxrel.js → allocation-integrity-DI3G16BN.js} +7 -12
  36. package/dist/chunks/allocation-integrity-DI3G16BN.js.map +1 -0
  37. package/dist/chunks/{calculations-Bz7RB3qK.js → calculations-DaHR17il.js} +134 -54
  38. package/dist/chunks/calculations-DaHR17il.js.map +1 -0
  39. package/dist/chunks/credit-allocation-yspz0Lab.js +121 -0
  40. package/dist/chunks/credit-allocation-yspz0Lab.js.map +1 -0
  41. package/dist/chunks/document-money-DNVhDJyC.js +860 -0
  42. package/dist/chunks/document-money-DNVhDJyC.js.map +1 -0
  43. package/dist/chunks/invoice-posting-BwV8g7z0.js +229 -0
  44. package/dist/chunks/invoice-posting-BwV8g7z0.js.map +1 -0
  45. package/dist/chunks/money-rational-CcW7gzG5.js +64 -0
  46. package/dist/chunks/money-rational-CcW7gzG5.js.map +1 -0
  47. package/dist/chunks/revenue-journal-DY9fro8E.js +140 -0
  48. package/dist/chunks/revenue-journal-DY9fro8E.js.map +1 -0
  49. package/dist/chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  50. package/dist/chunks/tenant-money-barrier-DjRXgMnX.js +135 -0
  51. package/dist/chunks/tenant-money-barrier-DjRXgMnX.js.map +1 -0
  52. package/dist/chunks/{types-zVnIjSOk.js → types-LDETvQ1C.js} +3 -14
  53. package/dist/chunks/types-LDETvQ1C.js.map +1 -0
  54. package/dist/chunks/{units-BpZ0_Dpk.js → units-CNcjH_eE.js} +2 -2
  55. package/dist/chunks/{units-BpZ0_Dpk.js.map → units-CNcjH_eE.js.map} +1 -1
  56. package/dist/collections/ContractCollection.d.ts +35 -1
  57. package/dist/collections/ContractCollection.d.ts.map +1 -1
  58. package/dist/collections/ContractLineItemCollection.d.ts +26 -1
  59. package/dist/collections/ContractLineItemCollection.d.ts.map +1 -1
  60. package/dist/collections/DocumentTaxCollection.d.ts +75 -0
  61. package/dist/collections/DocumentTaxCollection.d.ts.map +1 -0
  62. package/dist/collections/InvoiceCollection.d.ts +26 -1
  63. package/dist/collections/InvoiceCollection.d.ts.map +1 -1
  64. package/dist/collections/InvoiceLineItemCollection.d.ts +26 -1
  65. package/dist/collections/InvoiceLineItemCollection.d.ts.map +1 -1
  66. package/dist/collections/MoneyMigrationDocumentCollection.d.ts +12 -0
  67. package/dist/collections/MoneyMigrationDocumentCollection.d.ts.map +1 -0
  68. package/dist/collections/PaymentAllocationCollection.d.ts +2 -0
  69. package/dist/collections/PaymentAllocationCollection.d.ts.map +1 -1
  70. package/dist/collections/TaxCodeCollection.d.ts +7 -0
  71. package/dist/collections/TaxCodeCollection.d.ts.map +1 -0
  72. package/dist/collections/TaxComponentCollection.d.ts +6 -0
  73. package/dist/collections/TaxComponentCollection.d.ts.map +1 -0
  74. package/dist/collections/TaxSettingsCollection.d.ts +16 -0
  75. package/dist/collections/TaxSettingsCollection.d.ts.map +1 -0
  76. package/dist/collections/TaxSummaryReportCollection.d.ts +151 -0
  77. package/dist/collections/TaxSummaryReportCollection.d.ts.map +1 -0
  78. package/dist/collections/index.d.ts +6 -0
  79. package/dist/collections/index.d.ts.map +1 -1
  80. package/dist/commerce-money-tools.d.ts +9 -0
  81. package/dist/commerce-money-tools.d.ts.map +1 -0
  82. package/dist/contract-money.d.ts +27 -0
  83. package/dist/contract-money.d.ts.map +1 -0
  84. package/dist/cost-billing.d.ts +0 -1
  85. package/dist/cost-billing.d.ts.map +1 -1
  86. package/dist/cost-billing.js +10 -15
  87. package/dist/cost-billing.js.map +1 -1
  88. package/dist/credit-allocation.d.ts +48 -0
  89. package/dist/credit-allocation.d.ts.map +1 -0
  90. package/dist/document-money-internal.d.ts +44 -0
  91. package/dist/document-money-internal.d.ts.map +1 -0
  92. package/dist/document-money.d.ts +85 -0
  93. package/dist/document-money.d.ts.map +1 -0
  94. package/dist/index.d.ts +15 -4
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +5395 -4246
  97. package/dist/index.js.map +1 -1
  98. package/dist/invoice-accounting-sync.d.ts +96 -0
  99. package/dist/invoice-accounting-sync.d.ts.map +1 -0
  100. package/dist/invoice-mcp.d.ts +16 -0
  101. package/dist/invoice-mcp.d.ts.map +1 -0
  102. package/dist/invoice-posting.d.ts +9 -0
  103. package/dist/invoice-posting.d.ts.map +1 -0
  104. package/dist/invoice-record-screen.d.ts +60 -0
  105. package/dist/invoice-record-screen.d.ts.map +1 -0
  106. package/dist/invoices.d.ts +2 -0
  107. package/dist/invoices.d.ts.map +1 -1
  108. package/dist/invoices.js +3 -2
  109. package/dist/manifest.json +10365 -4562
  110. package/dist/migrations/commerceLineAmounts.d.ts +84 -0
  111. package/dist/migrations/commerceLineAmounts.d.ts.map +1 -0
  112. package/dist/models/Contract.d.ts +25 -1
  113. package/dist/models/Contract.d.ts.map +1 -1
  114. package/dist/models/ContractLineItem.d.ts +30 -1
  115. package/dist/models/ContractLineItem.d.ts.map +1 -1
  116. package/dist/models/Customer.d.ts +7 -0
  117. package/dist/models/Customer.d.ts.map +1 -1
  118. package/dist/models/DocumentTax.d.ts +50 -0
  119. package/dist/models/DocumentTax.d.ts.map +1 -0
  120. package/dist/models/Invoice.d.ts +46 -2
  121. package/dist/models/Invoice.d.ts.map +1 -1
  122. package/dist/models/InvoiceLineItem.d.ts +33 -2
  123. package/dist/models/InvoiceLineItem.d.ts.map +1 -1
  124. package/dist/models/MoneyMigrationDocument.d.ts +28 -0
  125. package/dist/models/MoneyMigrationDocument.d.ts.map +1 -0
  126. package/dist/models/Payment.d.ts +5 -1
  127. package/dist/models/Payment.d.ts.map +1 -1
  128. package/dist/models/PaymentAllocation.d.ts.map +1 -1
  129. package/dist/models/TaxCode.d.ts +22 -0
  130. package/dist/models/TaxCode.d.ts.map +1 -0
  131. package/dist/models/TaxComponent.d.ts +21 -0
  132. package/dist/models/TaxComponent.d.ts.map +1 -0
  133. package/dist/models/TaxSettings.d.ts +33 -0
  134. package/dist/models/TaxSettings.d.ts.map +1 -0
  135. package/dist/models/TaxSummaryReport.d.ts +35 -0
  136. package/dist/models/TaxSummaryReport.d.ts.map +1 -0
  137. package/dist/models/Vendor.d.ts +9 -0
  138. package/dist/models/Vendor.d.ts.map +1 -1
  139. package/dist/models/index.d.ts +6 -0
  140. package/dist/models/index.d.ts.map +1 -1
  141. package/dist/money-rational.d.ts +15 -0
  142. package/dist/money-rational.d.ts.map +1 -0
  143. package/dist/money.d.ts +106 -25
  144. package/dist/money.d.ts.map +1 -1
  145. package/dist/money.js +274 -0
  146. package/dist/money.js.map +1 -0
  147. package/dist/recipes.d.ts +15 -15
  148. package/dist/revenue-journal.d.ts +61 -0
  149. package/dist/revenue-journal.d.ts.map +1 -0
  150. package/dist/smrt-knowledge.json +5711 -1029
  151. package/dist/svelte/components/InvoiceActions.svelte +12 -0
  152. package/dist/svelte/components/InvoiceActions.svelte.d.ts +5 -0
  153. package/dist/svelte/components/InvoiceActions.svelte.d.ts.map +1 -1
  154. package/dist/svelte/components/InvoiceEditor.svelte +15 -1
  155. package/dist/svelte/components/InvoiceEditor.svelte.d.ts.map +1 -1
  156. package/dist/svelte/components/InvoiceLineItems.svelte +3 -3
  157. package/dist/svelte/components/InvoiceRecordScreen.svelte +94 -0
  158. package/dist/svelte/components/InvoiceRecordScreen.svelte.d.ts +21 -0
  159. package/dist/svelte/components/InvoiceRecordScreen.svelte.d.ts.map +1 -0
  160. package/dist/svelte/components/InvoiceTotals.svelte +2 -2
  161. package/dist/svelte/components/MoneyInvoiceEditor.svelte +282 -0
  162. package/dist/svelte/components/MoneyInvoiceEditor.svelte.d.ts +31 -0
  163. package/dist/svelte/components/MoneyInvoiceEditor.svelte.d.ts.map +1 -0
  164. package/dist/svelte/components/PurchaseOrderEditor.svelte +53 -1
  165. package/dist/svelte/components/PurchaseOrderEditor.svelte.d.ts +5 -0
  166. package/dist/svelte/components/PurchaseOrderEditor.svelte.d.ts.map +1 -1
  167. package/dist/svelte/components/QuoteEditor.svelte +54 -1
  168. package/dist/svelte/components/QuoteEditor.svelte.d.ts +5 -0
  169. package/dist/svelte/components/QuoteEditor.svelte.d.ts.map +1 -1
  170. package/dist/svelte/i18n.d.ts +16 -0
  171. package/dist/svelte/i18n.d.ts.map +1 -1
  172. package/dist/svelte/i18n.js +16 -0
  173. package/dist/svelte/index.d.ts +7 -2
  174. package/dist/svelte/index.d.ts.map +1 -1
  175. package/dist/svelte/index.js +4 -1
  176. package/dist/svelte/invoices/calculations.d.ts +7 -2
  177. package/dist/svelte/invoices/calculations.d.ts.map +1 -1
  178. package/dist/svelte/invoices/calculations.js +141 -47
  179. package/dist/svelte/invoices/money-editor.d.ts +123 -0
  180. package/dist/svelte/invoices/money-editor.d.ts.map +1 -0
  181. package/dist/svelte/invoices/money-editor.js +101 -0
  182. package/dist/svelte/invoices/types.d.ts +5 -1
  183. package/dist/svelte/invoices/types.d.ts.map +1 -1
  184. package/dist/svelte/purchasing-i18n.d.ts +5 -0
  185. package/dist/svelte/purchasing-i18n.d.ts.map +1 -1
  186. package/dist/svelte/purchasing-i18n.js +5 -0
  187. package/dist/svelte/quote-i18n.d.ts +5 -0
  188. package/dist/svelte/quote-i18n.d.ts.map +1 -1
  189. package/dist/svelte/quote-i18n.js +5 -0
  190. package/dist/tax/cookbook.d.ts +22 -0
  191. package/dist/tax/cookbook.d.ts.map +1 -0
  192. package/dist/tax/example-pack.d.ts +25 -0
  193. package/dist/tax/example-pack.d.ts.map +1 -0
  194. package/dist/tax/identity.d.ts +5 -0
  195. package/dist/tax/identity.d.ts.map +1 -0
  196. package/dist/tax/index.d.ts +4 -0
  197. package/dist/tax/index.d.ts.map +1 -0
  198. package/dist/tax/legacy.d.ts +48 -0
  199. package/dist/tax/legacy.d.ts.map +1 -0
  200. package/dist/tax-summary-report-adapter.d.ts +37 -0
  201. package/dist/tax-summary-report-adapter.d.ts.map +1 -0
  202. package/dist/tax-summary.d.ts +129 -0
  203. package/dist/tax-summary.d.ts.map +1 -0
  204. package/dist/tenant-money-barrier.d.ts +66 -0
  205. package/dist/tenant-money-barrier.d.ts.map +1 -0
  206. package/dist/types/index.d.ts +137 -1
  207. package/dist/types/index.d.ts.map +1 -1
  208. package/package.json +19 -11
  209. package/dist/chunks/calculations-Bz7RB3qK.js.map +0 -1
  210. package/dist/chunks/money-DfrRxrel.js.map +0 -1
  211. package/dist/chunks/types-zVnIjSOk.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/tax/identity.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,EAClD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,gFAAgF;AAChF,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAeZ"}
@@ -0,0 +1,4 @@
1
+ export { applyCommerceCookbookSettings, applyCookbookTaxSettings, type CookbookTaxSettingsInput, cookbookTaxSettings, } from './cookbook.js';
2
+ export { applyTaxCodeExamplePack, COMMON_TAX_CODE_EXAMPLE_PACK, type TaxCodeExamplePack, } from './example-pack.js';
3
+ export { ensureTenantTaxCodes, type LegacyTaxMapReport, type LegacyTaxRateRow, type MapLegacyTaxRatesOptions, mapLegacyTaxRates, mapLegacyTaxRatesInTransaction, } from './legacy.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tax/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,8BAA8B,GAC/B,MAAM,aAAa,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { DatabaseInterface } from '@happyvertical/smrt-core/migrations';
2
+ import type { TaxCode } from '../models/TaxCode.js';
3
+ export interface LegacyTaxMapReport {
4
+ tenantId: string;
5
+ createdComponents: number;
6
+ createdCodes: number;
7
+ missingLiabilityAccountComponentIds: string[];
8
+ /** Every legacy source rate and the durable tax code selected for it. */
9
+ mappings: Array<{
10
+ sourceRate: string;
11
+ taxCodeId: string;
12
+ taxComponentId: string | null;
13
+ }>;
14
+ /** Invalid legacy rates are retained through `legacy-unreconciled`. */
15
+ unreconciledRates: string[];
16
+ }
17
+ export interface MapLegacyTaxRatesOptions {
18
+ /** Limit a resumable migration to one tenant. Omit only for a system admin run. */
19
+ tenantId?: string;
20
+ }
21
+ export interface LegacyTaxRateRow {
22
+ tenantId?: string;
23
+ tenant_id?: string;
24
+ taxRate?: unknown;
25
+ tax_rate?: unknown;
26
+ customerTaxExempt?: unknown;
27
+ customer_tax_exempt?: unknown;
28
+ }
29
+ /**
30
+ * Ensure the three non-taxable codes every tenant needs. Repeating the call is
31
+ * safe; callers must use a transaction-capable database so the check/create
32
+ * sequence is atomic with their surrounding migration.
33
+ */
34
+ export declare function ensureTenantTaxCodes(db: DatabaseInterface, tenantId: string): Promise<TaxCode[]>;
35
+ /**
36
+ * Map old fractional line tax rates to rate components and one-component tax
37
+ * codes. A historical zero means no tax was applied, therefore it maps to
38
+ * out-of-scope unless the linked customer was explicitly exempt.
39
+ */
40
+ export declare function mapLegacyTaxRates(db: DatabaseInterface, options?: MapLegacyTaxRatesOptions): Promise<LegacyTaxMapReport[]>;
41
+ /**
42
+ * Executor-affine mapping entry point for a caller that already owns an open
43
+ * transaction. It never opens or commits a nested transaction. `tenantRows`
44
+ * are supplied by the wrapper after its source read so each tenant remains
45
+ * isolated and a failed mapping rolls back as one unit.
46
+ */
47
+ export declare function mapLegacyTaxRatesInTransaction(tx: DatabaseInterface, tenantId: string, tenantRows: readonly LegacyTaxRateRow[]): Promise<LegacyTaxMapReport>;
48
+ //# sourceMappingURL=legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/tax/legacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC,EAAE,MAAM,EAAE,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,EAAE,KAAK,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;IACH,uEAAuE;IACvE,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAgCD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,EAAE,CAAC,CAsEpB;AAmCD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,iBAAiB,EACrB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkB/B;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,SAAS,gBAAgB,EAAE,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAyF7B"}
@@ -0,0 +1,37 @@
1
+ /** Existing report adapter/DataTable bridge for the commerce tax summary. */
2
+ import type { DatabaseInterface } from '@happyvertical/smrt-core/migrations';
3
+ import { type MaterializedReportDrilldownPresentation, type MaterializedReportHost, type MaterializedReportHostContext, type ReportAdapterDescriptor, type ReportAdapterOptions } from '@happyvertical/smrt-reports';
4
+ import { type TaxSummaryContributorDrilldown, type TaxSummaryContributorDrilldownOptions, type TaxSummaryExpenseSource, type TaxSummaryInvoiceDrilldownOptions, type TaxSummaryLedgerDrilldownSource } from './collections/TaxSummaryReportCollection.js';
5
+ import type { TaxSummaryComponentMapping } from './tax-summary.js';
6
+ export declare const TAX_SUMMARY_REPORT_ADAPTER: ReportAdapterOptions;
7
+ /** Tenant-bound owner dependencies used only while resolving a selected cell. */
8
+ export interface TaxSummaryMaterializedReportDrilldownSources {
9
+ expenseSource?: TaxSummaryExpenseSource;
10
+ ledgerSource?: TaxSummaryLedgerDrilldownSource;
11
+ expenseComponentMappings?: readonly TaxSummaryComponentMapping[];
12
+ }
13
+ export interface TaxSummaryMaterializedReportHostOptions {
14
+ /**
15
+ * Resolve owner collections from the authenticated route context for each
16
+ * drilldown. A fixed source is intentionally unsupported so one tenant's
17
+ * collection cannot bleed into another request.
18
+ */
19
+ drilldownSources?: (context: Readonly<MaterializedReportHostContext>) => TaxSummaryMaterializedReportDrilldownSources | Promise<TaxSummaryMaterializedReportDrilldownSources>;
20
+ }
21
+ /** Normalize commerce source facts before a generic report route serializes them. */
22
+ export declare function presentTaxSummaryDrilldown(drilldown: TaxSummaryContributorDrilldown): MaterializedReportDrilldownPresentation;
23
+ /** Create a fixed, server-only tax-summary host for an authenticated template route. */
24
+ export declare function createTaxSummaryMaterializedReportHost(database: DatabaseInterface | (() => Promise<DatabaseInterface>), options?: TaxSummaryMaterializedReportHostOptions): MaterializedReportHost<MaterializedReportDrilldownPresentation>;
25
+ /** Descriptor consumed by the registered report runtime and DataTable host. */
26
+ export declare function buildTaxSummaryReportAdapterDescriptor(): Promise<ReportAdapterDescriptor>;
27
+ /**
28
+ * Application drilldown bridge. Callers obtain tenantId from their authenticated
29
+ * principal and must not use a tenant value supplied by the report row.
30
+ */
31
+ export declare function drilldownTaxSummaryInvoiceFacts(db: DatabaseInterface, options: TaxSummaryInvoiceDrilldownOptions): Promise<import("./index.js").DocumentTaxReportFact[]>;
32
+ /**
33
+ * Application bridge for a specific report cell. Expense and ledger owners are
34
+ * injected by the host so commerce does not create a package dependency cycle.
35
+ */
36
+ export declare function drilldownTaxSummaryContributors(db: DatabaseInterface, options: TaxSummaryContributorDrilldownOptions): Promise<TaxSummaryContributorDrilldown>;
37
+ //# sourceMappingURL=tax-summary-report-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-summary-report-adapter.d.ts","sourceRoot":"","sources":["../src/tax-summary-report-adapter.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAIL,KAAK,uCAAuC,EAE5C,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAElC,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,qCAAqC,EAC1C,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACtC,KAAK,+BAA+B,EAGrC,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,eAAO,MAAM,0BAA0B,EAAE,oBAoBxC,CAAC;AAEF,iFAAiF;AACjF,MAAM,WAAW,4CAA4C;IAC3D,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,YAAY,CAAC,EAAE,+BAA+B,CAAC;IAC/C,wBAAwB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;CAClE;AAED,MAAM,WAAW,uCAAuC;IACtD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,QAAQ,CAAC,6BAA6B,CAAC,KAE9C,4CAA4C,GAC5C,OAAO,CAAC,4CAA4C,CAAC,CAAC;CAC3D;AA+ED,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,8BAA8B,GACxC,uCAAuC,CAYzC;AAED,wFAAwF;AACxF,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,iBAAiB,GAAG,CAAC,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAChE,OAAO,GAAE,uCAA4C,GACpD,sBAAsB,CAAC,uCAAuC,CAAC,CAuEjE;AAED,+EAA+E;AAC/E,wBAAgB,sCAAsC,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAKzF;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,iCAAiC,yDAI3C;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,qCAAqC,2CAI/C"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Pure stored-fact aggregation for the commerce tax summary report.
3
+ *
4
+ * Persistence owns source queries. This module deliberately accepts normalized
5
+ * snapshots so report arithmetic is testable without reaching into documents.
6
+ */
7
+ export type TaxCodeKind = 'taxable' | 'zero-rated' | 'exempt' | 'out-of-scope';
8
+ export type TaxSummaryDirection = 'sales' | 'purchase';
9
+ export interface TaxSummaryStoredFact {
10
+ tenantId: string;
11
+ documentType: 'invoice' | 'credit_note' | 'contract';
12
+ documentId: string;
13
+ /** Invoice credits store positive facts and are negated here exactly once. */
14
+ documentKind: 'invoice' | 'credit_note' | 'contract';
15
+ issueDate: string;
16
+ status: string;
17
+ direction: TaxSummaryDirection;
18
+ currency: string;
19
+ /** Null means the stored snapshot cannot be assigned to a tax code. */
20
+ taxCodeId: string | null;
21
+ /** Null is an incomplete/unassigned stored snapshot, never out-of-scope. */
22
+ taxCodeKind: TaxCodeKind | null;
23
+ taxableMinor: number;
24
+ taxMinor: number;
25
+ recoverableMinor: number;
26
+ taxComponentId: string | null;
27
+ componentName: string | null;
28
+ liabilityAccountId: string | null;
29
+ commitmentId?: string | null;
30
+ commitmentLineId?: string | null;
31
+ }
32
+ export interface TaxSummaryExpenseFact {
33
+ tenantId: string;
34
+ expenseId: string;
35
+ incurredOn: string;
36
+ currency: string;
37
+ commitmentId: string | null;
38
+ commitmentLineId: string | null;
39
+ /** Null means a legacy fact whose supplier tax is unknown. */
40
+ financialBreakdown: {
41
+ taxes: ReadonlyArray<{
42
+ code: string;
43
+ amount: number;
44
+ recoverableAmount: number;
45
+ }>;
46
+ } | null;
47
+ }
48
+ export interface TaxSummaryComponentMapping {
49
+ tenantId: string;
50
+ expenseCode: string;
51
+ taxComponentId: string;
52
+ componentName: string;
53
+ liabilityAccountId: string | null;
54
+ }
55
+ export interface TaxSummaryLedgerMovement {
56
+ tenantId: string;
57
+ entryId: string;
58
+ accountId: string;
59
+ currency: string;
60
+ creditMinusDebit: number;
61
+ }
62
+ export interface TaxSummaryInput {
63
+ tenantId: string;
64
+ from: string;
65
+ to: string;
66
+ facts: ReadonlyArray<TaxSummaryStoredFact>;
67
+ expenses: ReadonlyArray<TaxSummaryExpenseFact>;
68
+ expenseComponentMappings: ReadonlyArray<TaxSummaryComponentMapping>;
69
+ ledgerMovements: ReadonlyArray<TaxSummaryLedgerMovement>;
70
+ }
71
+ export interface TaxSummaryComponentRow {
72
+ rowKind: 'component';
73
+ currency: string;
74
+ taxComponentId: string;
75
+ componentName: string;
76
+ liabilityAccountId: string | null;
77
+ /** Sum of stored component taxable bases; components intentionally overlap. */
78
+ taxableMinor: number;
79
+ collectedMinor: number;
80
+ purchaseRecoverableMinor: number;
81
+ expenseRecoverableMinor: number;
82
+ /** Null when unknown or ambiguous facts make an exact ITC unsafe. */
83
+ inputTaxCreditMinor: number | null;
84
+ /** Null when the corresponding ITC is incomplete. */
85
+ netTaxMinor: number | null;
86
+ documentCount: number;
87
+ /** Stable source classes used to reproduce a materialized drilldown. */
88
+ sourceScopes: readonly TaxSummarySourceScope[];
89
+ }
90
+ export interface TaxSummaryKindRow {
91
+ rowKind: 'kind';
92
+ currency: string;
93
+ direction: TaxSummaryDirection;
94
+ taxCodeKind: TaxCodeKind;
95
+ taxableMinor: number;
96
+ documentCount: number;
97
+ sourceScopes: readonly TaxSummarySourceScope[];
98
+ }
99
+ export interface TaxSummaryReconciliationRow {
100
+ rowKind: 'reconciliation';
101
+ currency: string;
102
+ taxComponentId: string;
103
+ liabilityAccountId: string | null;
104
+ collectedMinor: number;
105
+ ledgerMovementMinor: number | null;
106
+ differenceMinor: number | null;
107
+ status: 'reconciled' | 'difference' | 'unassigned' | 'ambiguous';
108
+ sourceScopes: readonly TaxSummarySourceScope[];
109
+ }
110
+ /** Source classes persisted for drilldown; amounts remain in the report rows. */
111
+ export type TaxSummarySourceScope = 'invoice' | 'purchase' | 'expense' | 'ledger';
112
+ export interface TaxSummaryWarning {
113
+ code: 'unknown-expense-tax' | 'unmapped-expense-component' | 'linked-purchase-expense' | 'unassigned-liability-account' | 'shared-liability-account' | 'unassigned-tax-code';
114
+ currency: string;
115
+ sourceId: string;
116
+ sourceType: 'document' | 'expense' | 'component' | 'account';
117
+ message: string;
118
+ }
119
+ export interface TaxSummaryResult {
120
+ componentRows: TaxSummaryComponentRow[];
121
+ kindRows: TaxSummaryKindRow[];
122
+ reconciliationRows: TaxSummaryReconciliationRow[];
123
+ warnings: TaxSummaryWarning[];
124
+ /** False means no row may be presented as an exact reconciled net tax total. */
125
+ complete: boolean;
126
+ }
127
+ /** Aggregate normalized stored facts without querying persistence. */
128
+ export declare function aggregateTaxSummary(input: TaxSummaryInput): TaxSummaryResult;
129
+ //# sourceMappingURL=tax-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-summary.d.ts","sourceRoot":"","sources":["../src/tax-summary.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEvD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,mBAAmB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4EAA4E;IAC5E,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,8DAA8D;IAC9D,kBAAkB,EAAE;QAClB,KAAK,EAAE,aAAa,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,iBAAiB,EAAE,MAAM,CAAC;SAC3B,CAAC,CAAC;KACJ,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC3C,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC/C,wBAAwB,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACpE,eAAe,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qDAAqD;IACrD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;IACjE,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAChD;AAED,iFAAiF;AACjF,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,iBAAiB;IAChC,IAAI,EACA,qBAAqB,GACrB,4BAA4B,GAC5B,yBAAyB,GACzB,8BAA8B,GAC9B,0BAA0B,GAC1B,qBAAqB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,kBAAkB,EAAE,2BAA2B,EAAE,CAAC;IAClD,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAwDD,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA8V5E"}
@@ -0,0 +1,66 @@
1
+ /** Shared tenant serialization barrier for commerce money runtime and migration. */
2
+ import type { DatabaseInterface } from '@happyvertical/smrt-core/migrations';
3
+ import type { TaxSettings } from './models/TaxSettings.js';
4
+ export type TenantMoneyRuntimeRequirement = 'legacy-or-v2' | 'v2';
5
+ export type TenantMoneyRuntimeBarrier = {
6
+ readonly moneyModel: 'legacy';
7
+ readonly settings: null;
8
+ readonly persistedBarrier: false;
9
+ } | {
10
+ readonly moneyModel: 'legacy';
11
+ readonly settings: TaxSettings;
12
+ readonly persistedBarrier: true;
13
+ } | {
14
+ readonly moneyModel: 'v2';
15
+ readonly settings: TaxSettings;
16
+ readonly persistedBarrier: true;
17
+ };
18
+ declare const tenantMoneyScopeBrand: unique symbol;
19
+ /** Transaction-affine proof that a tenant marker is locked on `db`. */
20
+ export interface TenantMoneyRuntimeScope {
21
+ readonly db: DatabaseInterface;
22
+ readonly tenantId: string;
23
+ readonly barrier: TenantMoneyRuntimeBarrier;
24
+ readonly phase: 'runtime';
25
+ readonly [tenantMoneyScopeBrand]: true;
26
+ }
27
+ declare const tenantMoneyMigrationScopeBrand: unique symbol;
28
+ /** Transaction-affine proof held only by the active migration owner. */
29
+ export interface TenantMoneyMigrationScope {
30
+ readonly db: DatabaseInterface;
31
+ readonly tenantId: string;
32
+ readonly migrationId: string;
33
+ readonly settings: TaxSettings;
34
+ readonly phase: 'migration';
35
+ readonly [tenantMoneyMigrationScopeBrand]: true;
36
+ }
37
+ /**
38
+ * Lock and re-read the tenant money marker before any runtime money work.
39
+ *
40
+ * Older schemas without TaxSettings stay byte-compatible legacy and are never
41
+ * modified. Once the table exists, a missing deterministic legacy row is
42
+ * materialized solely to provide the serialization point shared by migration.
43
+ */
44
+ export declare function lockTenantMoneyRuntime(tx: DatabaseInterface, tenantId: string, requirement?: TenantMoneyRuntimeRequirement): Promise<TenantMoneyRuntimeBarrier>;
45
+ /**
46
+ * Run tenant money work under the shared marker lock on exactly one executor.
47
+ *
48
+ * Supplying an existing scope proves re-entry on the same executor. Calls made
49
+ * through the owning transaction wrapper also reuse its exact registered
50
+ * executor. No optional adapter-property heuristic can grant this capability.
51
+ */
52
+ export declare function withTenantMoneyRuntime<T>(db: DatabaseInterface, tenantId: string, requirement: TenantMoneyRuntimeRequirement, operation: (scope: TenantMoneyRuntimeScope) => Promise<T>, existingScope?: TenantMoneyRuntimeScope): Promise<T>;
53
+ /**
54
+ * Run migration work under the exact owner marker and transaction executor.
55
+ * This is the only scope that lets guarded collections read while the marker
56
+ * is `migrating`; possession cannot be inferred from adapter shape.
57
+ */
58
+ export declare function withTenantMoneyMigration<T>(db: DatabaseInterface, tenantId: string, migrationId: string, operation: (scope: TenantMoneyMigrationScope) => Promise<T>, existingScope?: TenantMoneyMigrationScope): Promise<T>;
59
+ /** @internal Guard a generated collection read for runtime or migration. */
60
+ export declare function withTenantMoneyCollectionRead<T>(db: DatabaseInterface, tenantId: string, operation: (boundDb: DatabaseInterface) => Promise<T>): Promise<T>;
61
+ /** Lock a tenant at the legacy marker before the caller claims migration. */
62
+ export declare function lockTenantMoneyMigrationClaim(tx: DatabaseInterface, tenantId: string): Promise<TaxSettings>;
63
+ /** Lock and verify the exact owner of an active tenant migration. */
64
+ export declare function lockTenantMoneyMigrationOwner(tx: DatabaseInterface, tenantId: string, migrationId: string): Promise<TaxSettings>;
65
+ export {};
66
+ //# sourceMappingURL=tenant-money-barrier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-money-barrier.d.ts","sourceRoot":"","sources":["../src/tenant-money-barrier.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,MAAM,6BAA6B,GAAG,cAAc,GAAG,IAAI,CAAC;AAElE,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;CACjC,CAAC;AAEN,OAAO,CAAC,MAAM,qBAAqB,EAAE,OAAO,MAAM,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;CACxC;AAED,OAAO,CAAC,MAAM,8BAA8B,EAAE,OAAO,MAAM,CAAC;AAE5D,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,CAAC,8BAA8B,CAAC,EAAE,IAAI,CAAC;CACjD;AAqCD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,6BAA8C,GAC1D,OAAO,CAAC,yBAAyB,CAAC,CAkCpC;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,6BAA6B,EAC1C,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,aAAa,CAAC,EAAE,uBAAuB,GACtC,OAAO,CAAC,CAAC,CAAC,CAqCZ;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3D,aAAa,CAAC,EAAE,yBAAyB,GACxC,OAAO,CAAC,CAAC,CAAC,CAgDZ;AAED,4EAA4E;AAC5E,wBAAsB,6BAA6B,CAAC,CAAC,EACnD,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,6EAA6E;AAC7E,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAyBtB;AAED,qEAAqE;AACrE,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC,CAmBtB"}
@@ -82,6 +82,7 @@ export declare enum PaymentStatus {
82
82
  REFUNDED = "refunded",
83
83
  CANCELLED = "cancelled"
84
84
  }
85
+ export type PaymentKind = 'payment' | 'refund';
85
86
  /**
86
87
  * Lifecycle status for a saved {@link PaymentInstrument} (card on file).
87
88
  * `active` while chargeable, `expired` once the card lapses, `removed` when the
@@ -257,6 +258,13 @@ export interface RecognizeRevenueOptions {
257
258
  revenueAccountId: string;
258
259
  /** Account ID for tax payable (credit side, optional) */
259
260
  taxAccountId?: string;
261
+ /** Explicit ledger book currency. Required when the tenant uses money v2. */
262
+ bookCurrency?: string;
263
+ }
264
+ /** Options for atomically cancelling a posted money-v2 invoice. */
265
+ export interface CancelRevenueOptions {
266
+ /** Explicit ledger book currency; required for money-v2 cancellation. */
267
+ bookCurrency?: string;
260
268
  }
261
269
  /**
262
270
  * A single line item in the format expected by `@happyvertical/accounting`
@@ -295,6 +303,16 @@ export interface AccountingInvoiceInput {
295
303
  currency: string;
296
304
  reference?: string;
297
305
  memo?: string;
306
+ idempotencyKey?: string;
307
+ quickbooksRequest?: {
308
+ readonly requestId: string;
309
+ readonly realmId: string;
310
+ readonly environment: 'sandbox' | 'production';
311
+ readonly payloadHash: string;
312
+ };
313
+ quickbooksMapping?: {
314
+ globalTaxCalculation: 'TaxExcluded' | 'NotApplicable';
315
+ };
298
316
  }
299
317
  /**
300
318
  * Constructor options for {@link Customer}.
@@ -306,6 +324,7 @@ export interface CustomerOptions extends SmrtObjectOptions {
306
324
  paymentTerms?: string;
307
325
  taxExempt?: boolean;
308
326
  taxId?: string;
327
+ defaultTaxCodeId?: string;
309
328
  defaultShippingAddress?: Address;
310
329
  defaultBillingAddress?: Address;
311
330
  status?: CustomerStatus;
@@ -323,6 +342,8 @@ export interface VendorOptions extends SmrtObjectOptions {
323
342
  minimumOrderAmount?: number;
324
343
  paymentTerms?: string;
325
344
  currency?: string;
345
+ taxId?: string;
346
+ defaultTaxCodeId?: string;
326
347
  defaultContactEmail?: string;
327
348
  defaultContactPhone?: string;
328
349
  status?: VendorStatus;
@@ -330,6 +351,43 @@ export interface VendorOptions extends SmrtObjectOptions {
330
351
  payoutAddresses?: Record<string, string> | string | null;
331
352
  contacts?: PartyContact[] | string | null;
332
353
  }
354
+ /** A component reference stored in a tax code's ordered component list. */
355
+ export interface TaxCodePart {
356
+ taxComponentId: string;
357
+ compound: boolean;
358
+ }
359
+ export interface TaxComponentOptions extends SmrtObjectOptions {
360
+ tenantId?: string | null;
361
+ name?: string;
362
+ percent?: string;
363
+ liabilityAccountId?: string;
364
+ recoverable?: boolean;
365
+ active?: boolean;
366
+ }
367
+ export interface TaxCodeOptions extends SmrtObjectOptions {
368
+ tenantId?: string | null;
369
+ code?: string;
370
+ name?: string;
371
+ kind?: 'taxable' | 'zero-rated' | 'exempt' | 'out-of-scope';
372
+ appliesTo?: 'sales' | 'purchases' | 'both';
373
+ components?: TaxCodePart[];
374
+ active?: boolean;
375
+ }
376
+ export interface TaxRegistrationOptions {
377
+ taxComponentId: string;
378
+ number: string;
379
+ label: string;
380
+ }
381
+ export interface TaxSettingsOptions extends SmrtObjectOptions {
382
+ tenantId?: string;
383
+ defaultSalesTaxCodeId?: string;
384
+ defaultPurchaseTaxCodeId?: string;
385
+ defaultLineAmountType?: 'exclusive' | 'inclusive' | 'none';
386
+ taxRoundingScope?: 'line' | 'document';
387
+ taxRegistrations?: TaxRegistrationOptions[];
388
+ moneyModel?: 'legacy' | 'migrating' | 'v2';
389
+ moneyMigrationId?: string;
390
+ }
333
391
  /**
334
392
  * Constructor options for {@link Contract} and its STI subtypes.
335
393
  */
@@ -338,6 +396,7 @@ export interface ContractOptions extends SmrtObjectOptions {
338
396
  contractType?: ContractType;
339
397
  status?: ContractStatus;
340
398
  subtotal?: number;
399
+ discountTotal?: number;
341
400
  taxAmount?: number;
342
401
  totalAmount?: number;
343
402
  currency?: string;
@@ -348,6 +407,12 @@ export interface ContractOptions extends SmrtObjectOptions {
348
407
  notes?: string;
349
408
  terms?: string;
350
409
  channelId?: string;
410
+ lineAmountType?: 'exclusive' | 'inclusive' | 'none';
411
+ taxRoundingScope?: 'line' | 'document';
412
+ sellerTaxRegistrations?: TaxRegistrationOptions[];
413
+ sellerTaxRegistrationsJson?: string;
414
+ partyTaxId?: string;
415
+ moneySnapshotId?: string;
351
416
  }
352
417
  export interface SalesContractOptions extends ContractOptions {
353
418
  customerId?: string | null;
@@ -393,7 +458,18 @@ export interface ContractLineItemOptions extends SmrtObjectOptions {
393
458
  quantity?: number;
394
459
  unitPrice?: number;
395
460
  discount?: number;
461
+ discountType?: 'none' | 'percent' | 'amount';
462
+ discountRate?: string;
396
463
  taxRate?: number;
464
+ taxMode?: 'inherit' | 'override';
465
+ taxCodeId?: string | null;
466
+ taxCodeCode?: string | null;
467
+ taxCodeName?: string | null;
468
+ taxComponents?: ContractTaxComponentSnapshot[];
469
+ taxComponentsJson?: string | null;
470
+ taxAmount?: number;
471
+ legacyAmount?: number | null;
472
+ moneySnapshotId?: string;
397
473
  amount?: number;
398
474
  productId?: string;
399
475
  sku?: string;
@@ -402,16 +478,45 @@ export interface ContractLineItemOptions extends SmrtObjectOptions {
402
478
  billingPeriod?: string;
403
479
  sortOrder?: number;
404
480
  }
481
+ /** Immutable component tax allocation for one Contract line. */
482
+ export interface ContractTaxComponentSnapshot {
483
+ taxComponentId: string;
484
+ name: string;
485
+ percent: string;
486
+ taxMinor: number;
487
+ }
405
488
  /**
406
489
  * How the provider collects an invoice (#3190): `charge_automatically`
407
490
  * charges the payer's saved card; `send_invoice` asks the payer to pay. Empty
408
491
  * for an invoice never pushed to a provider, or pushed before it was recorded.
409
492
  */
410
493
  export type InvoiceCollectionMethod = '' | 'send_invoice' | 'charge_automatically';
494
+ export type InvoiceKind = 'invoice' | 'credit_note';
495
+ /** Frozen source pricing plus the one authoritative credit calculation basis. */
496
+ export type InvoiceCreditCalculationBasis = {
497
+ kind: 'quantity';
498
+ quantity: string;
499
+ sourceQuantity: string;
500
+ sourceUnitPrice: number;
501
+ sourceDiscountType: 'none' | 'percent' | 'amount';
502
+ sourceDiscountRate: string;
503
+ sourceDiscountMinor: number;
504
+ } | {
505
+ kind: 'net_amount';
506
+ netMinor: number;
507
+ sourceQuantity: string;
508
+ sourceUnitPrice: number;
509
+ sourceDiscountType: 'none' | 'percent' | 'amount';
510
+ sourceDiscountRate: string;
511
+ sourceDiscountMinor: number;
512
+ };
411
513
  /**
412
514
  * Constructor options for {@link Invoice}.
413
515
  */
414
516
  export interface InvoiceOptions extends SmrtObjectOptions {
517
+ kind?: InvoiceKind;
518
+ creditedInvoiceId?: string | null;
519
+ creditedAmount?: number;
415
520
  tenantId?: string | null;
416
521
  customerId?: string;
417
522
  contractId?: string;
@@ -428,6 +533,7 @@ export interface InvoiceOptions extends SmrtObjectOptions {
428
533
  currency?: string;
429
534
  status?: InvoiceStatus;
430
535
  arJournalId?: string;
536
+ arReversalJournalId?: string | null;
431
537
  revenueJournalId?: string;
432
538
  externalId?: string;
433
539
  customerExternalId?: string;
@@ -441,6 +547,20 @@ export interface InvoiceOptions extends SmrtObjectOptions {
441
547
  notes?: string;
442
548
  customerNotes?: string;
443
549
  terms?: string;
550
+ lineAmountType?: 'exclusive' | 'inclusive' | 'none';
551
+ taxRoundingScope?: 'line' | 'document';
552
+ discountTotal?: number;
553
+ sellerTaxRegistrations?: TaxRegistrationOptions[];
554
+ sellerTaxRegistrationsJson?: string;
555
+ partyTaxId?: string;
556
+ moneySnapshotId?: string;
557
+ accountingSyncStateJson?: string;
558
+ }
559
+ export interface InvoiceTaxComponentSnapshot {
560
+ taxComponentId: string;
561
+ name: string;
562
+ percent: string;
563
+ taxMinor: number;
444
564
  }
445
565
  /** Retained editing modes, validated against resolved model fields before reuse. */
446
566
  export interface InvoiceLineEditorState {
@@ -451,6 +571,9 @@ export interface InvoiceLineEditorState {
451
571
  }
452
572
  /** Constructor options for {@link InvoiceLineItem}. */
453
573
  export interface InvoiceLineItemOptions extends SmrtObjectOptions {
574
+ creditedLineId?: string | null;
575
+ creditCalculationBasis?: InvoiceCreditCalculationBasis | null;
576
+ creditCalculationBasisJson?: string;
454
577
  /** Optional retained editor modes and their original calculation context. */
455
578
  invoiceEditorState?: InvoiceLineEditorState | null;
456
579
  /** Serialized editor state loaded from persistence; malformed JSON is ignored. */
@@ -459,16 +582,28 @@ export interface InvoiceLineItemOptions extends SmrtObjectOptions {
459
582
  invoiceId?: string;
460
583
  description?: string;
461
584
  sku?: string;
585
+ productId?: string | null;
462
586
  quantity?: number;
463
587
  unitPrice?: number;
464
588
  discount?: number;
589
+ discountType?: 'none' | 'percent' | 'amount';
590
+ discountRate?: string;
465
591
  taxRate?: number;
592
+ taxMode?: 'inherit' | 'override';
593
+ taxCodeId?: string | null;
594
+ taxCodeCode?: string | null;
595
+ taxCodeName?: string | null;
596
+ taxComponents?: InvoiceTaxComponentSnapshot[];
597
+ taxComponentsJson?: string | null;
598
+ taxAmount?: number;
599
+ legacyAmount?: number | null;
600
+ moneySnapshotId?: string;
466
601
  amount?: number;
467
602
  sourceType?: string;
468
603
  sourceId?: string;
469
604
  periodStart?: Date | null;
470
605
  periodEnd?: Date | null;
471
- revenueAccountId?: string;
606
+ revenueAccountId?: string | null;
472
607
  sortOrder?: number;
473
608
  }
474
609
  /**
@@ -501,6 +636,7 @@ export interface FulfillmentLineItemOptions extends SmrtObjectOptions {
501
636
  * Constructor options for {@link Payment}.
502
637
  */
503
638
  export interface PaymentOptions extends SmrtObjectOptions {
639
+ kind?: PaymentKind;
504
640
  tenantId?: string | null;
505
641
  contractId?: string | null;
506
642
  customerId?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAM5C,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED;;;;;;GAMG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAMD,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb;;;;;;;OAOG;IACH,YAAY,iBAAiB;CAC9B;AAED,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAMD,oBAAY,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAMD,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAMD;;;;;;;;;;;;GAYG;AACH,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,oBAAY,mBAAmB;IAC7B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE;QAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;QAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,oBAAoB,EAAE,aAAa,GAAG,eAAe,CAAC;KACvD,CAAC;CACH;AAWD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC5D,SAAS,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IAC3D,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,gBAAgB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC5C,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,yEAAyE;AACzE,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gEAAgE;AAChE,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAC/B,EAAE,GACF,cAAc,GACd,sBAAsB,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AAEpD,iFAAiF;AACjF,MAAM,MAAM,6BAA6B,GACrC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,KAAK,EAAE,gBAAgB,CAAC;IACxB,uFAAuF;IACvF,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sBAAsB,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC9D,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnD,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}