@vendasta/billing 8.2.0 → 9.0.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/esm2020/lib/_generated/host.service.mjs +25 -0
- package/esm2020/lib/_generated/index.mjs +2 -0
- package/esm2020/lib/_internal/bank-reconciliation.api.service.mjs +46 -0
- package/esm2020/lib/_internal/billing.api.service.mjs +216 -0
- package/esm2020/lib/_internal/bundle.api.service.mjs +50 -0
- package/esm2020/lib/_internal/contract-document.api.service.mjs +45 -0
- package/esm2020/lib/_internal/contract.api.service.mjs +55 -0
- package/esm2020/lib/_internal/credit.api.service.mjs +45 -0
- package/esm2020/lib/_internal/discount.api.service.mjs +53 -0
- package/esm2020/lib/_internal/enums/applied-discount.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/card.enum.mjs +17 -0
- package/esm2020/lib/_internal/enums/contract.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/currency.enum.mjs +35 -0
- package/esm2020/lib/_internal/enums/frequency.enum.mjs +14 -0
- package/esm2020/lib/_internal/enums/index.mjs +31 -0
- package/esm2020/lib/_internal/enums/invoice.enum.mjs +18 -0
- package/esm2020/lib/_internal/enums/merchant-report.enum.mjs +13 -0
- package/{esm2015/lib/_internal/enums/merchant.enum.js → esm2020/lib/_internal/enums/merchant.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/month.enum.mjs +23 -0
- package/esm2020/lib/_internal/enums/payment-card.enum.mjs +24 -0
- package/esm2020/lib/_internal/enums/payment-processor.enum.mjs +13 -0
- package/{esm2015/lib/_internal/enums/payment.enum.js → esm2020/lib/_internal/enums/payment.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/payout.enum.mjs +22 -0
- package/esm2020/lib/_internal/enums/pricing-plan.enum.mjs +22 -0
- package/{esm2015/lib/_internal/enums/product-summary.enum.js → esm2020/lib/_internal/enums/product-summary.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/product.enum.mjs +17 -0
- package/esm2020/lib/_internal/enums/purchase.enum.mjs +27 -0
- package/esm2020/lib/_internal/enums/recurring-invoice.enum.mjs +29 -0
- package/esm2020/lib/_internal/enums/refund.enum.mjs +25 -0
- package/esm2020/lib/_internal/enums/sales-credit-note.enum.mjs +14 -0
- package/{esm2015/lib/_internal/enums/sales-invoice.enum.js → esm2020/lib/_internal/enums/sales-invoice.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/sort-direction.enum.mjs +12 -0
- package/{esm2015/lib/_internal/enums/subscribe-validation.enum.js → esm2020/lib/_internal/enums/subscribe-validation.enum.mjs} +1 -1
- package/esm2020/lib/_internal/enums/subscription.enum.mjs +12 -0
- package/esm2020/lib/_internal/index.mjs +33 -0
- package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/applied-bundle.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/applied-discount.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/applied-tax-rate.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/balance.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/bundle.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/card.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/commitment.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/common.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/contract-document.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/contract.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/credit.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/currency.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/customer-summary.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/discount.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/external-account.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/frequency.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/invoice-template.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/invoice.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/merchant-report.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/merchant.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/metered-component.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/month.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/payment-card.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/payment-processor.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/payment.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/payout.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/pricing-plan-product.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/pricing-plan.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/product-pricing.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/product-summary.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/product.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/purchase.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/recurring-invoice.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/refund.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/retail-customer-configuration.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/sales-credit-note.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/sales-invoice.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/sort-direction.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/subscribe-validation.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/subscription.interface.mjs +2 -0
- package/esm2020/lib/_internal/interfaces/tax-rate.interface.mjs +2 -0
- package/esm2020/lib/_internal/invoice-template.api.service.mjs +85 -0
- package/esm2020/lib/_internal/invoice.api.service.mjs +116 -0
- package/esm2020/lib/_internal/merchant.api.service.mjs +159 -0
- package/esm2020/lib/_internal/objects/api.mjs +841 -0
- package/esm2020/lib/_internal/objects/applied-bundle.mjs +77 -0
- package/esm2020/lib/_internal/objects/applied-discount.mjs +46 -0
- package/esm2020/lib/_internal/objects/applied-tax-rate.mjs +39 -0
- package/esm2020/lib/_internal/objects/balance.mjs +45 -0
- package/esm2020/lib/_internal/objects/billable-item.mjs +562 -0
- package/esm2020/lib/_internal/objects/bundle.mjs +390 -0
- package/esm2020/lib/_internal/objects/card.mjs +7 -0
- package/esm2020/lib/_internal/objects/commitment.mjs +36 -0
- package/esm2020/lib/_internal/objects/common.mjs +56 -0
- package/esm2020/lib/_internal/objects/contract-document.mjs +141 -0
- package/esm2020/lib/_internal/objects/contract.mjs +474 -0
- package/esm2020/lib/_internal/objects/credit.mjs +114 -0
- package/esm2020/lib/_internal/objects/currency.mjs +7 -0
- package/esm2020/lib/_internal/objects/customer-summary.mjs +104 -0
- package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
- package/esm2020/lib/_internal/objects/discount.mjs +299 -0
- package/esm2020/lib/_internal/objects/external-account.mjs +160 -0
- package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
- package/esm2020/lib/_internal/objects/frequency.mjs +7 -0
- package/esm2020/lib/_internal/objects/index.mjs +46 -0
- package/esm2020/lib/_internal/objects/invoice-template.mjs +707 -0
- package/esm2020/lib/_internal/objects/invoice.mjs +1117 -0
- package/esm2020/lib/_internal/objects/merchant-report.mjs +108 -0
- package/esm2020/lib/_internal/objects/merchant.mjs +991 -0
- package/esm2020/lib/_internal/objects/metered-component.mjs +97 -0
- package/esm2020/lib/_internal/objects/month.mjs +7 -0
- package/esm2020/lib/_internal/objects/payment-card.mjs +211 -0
- package/esm2020/lib/_internal/objects/payment-processor.mjs +7 -0
- package/esm2020/lib/_internal/objects/payment.mjs +1219 -0
- package/esm2020/lib/_internal/objects/payout.mjs +258 -0
- package/esm2020/lib/_internal/objects/pricing-plan-product.mjs +565 -0
- package/esm2020/lib/_internal/objects/pricing-plan.mjs +290 -0
- package/esm2020/lib/_internal/objects/product-pricing.mjs +107 -0
- package/esm2020/lib/_internal/objects/product-summary.mjs +538 -0
- package/esm2020/lib/_internal/objects/product.mjs +302 -0
- package/esm2020/lib/_internal/objects/purchase.mjs +524 -0
- package/esm2020/lib/_internal/objects/recurring-invoice.mjs +324 -0
- package/esm2020/lib/_internal/objects/refund.mjs +181 -0
- package/esm2020/lib/_internal/objects/retail-customer-configuration.mjs +159 -0
- package/esm2020/lib/_internal/objects/sales-credit-note.mjs +211 -0
- package/esm2020/lib/_internal/objects/sales-invoice.mjs +300 -0
- package/esm2020/lib/_internal/objects/sort-direction.mjs +7 -0
- package/esm2020/lib/_internal/objects/subscribe-validation.mjs +31 -0
- package/esm2020/lib/_internal/objects/subscription.mjs +555 -0
- package/esm2020/lib/_internal/objects/tax-rate.mjs +342 -0
- package/esm2020/lib/_internal/payment-method.api.service.mjs +49 -0
- package/esm2020/lib/_internal/payment.api.service.mjs +102 -0
- package/esm2020/lib/_internal/pricing.api.service.mjs +76 -0
- package/esm2020/lib/_internal/product-summary.api.service.mjs +46 -0
- package/esm2020/lib/_internal/product.api.service.mjs +47 -0
- package/esm2020/lib/_internal/purchase.api.service.mjs +59 -0
- package/esm2020/lib/_internal/recurring-invoice.api.service.mjs +60 -0
- package/esm2020/lib/_internal/refund.api.service.mjs +45 -0
- package/esm2020/lib/_internal/retail-customer-configuration.api.service.mjs +45 -0
- package/esm2020/lib/_internal/sales-credit-note.api.service.mjs +45 -0
- package/esm2020/lib/_internal/sales-invoice.api.service.mjs +50 -0
- package/esm2020/lib/_internal/tax.api.service.mjs +63 -0
- package/esm2020/lib/_internal/vendor.api.service.mjs +46 -0
- package/esm2020/lib/index.mjs +3 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/vendasta-billing.mjs +5 -0
- package/fesm2015/{vendasta-billing.js → vendasta-billing.mjs} +622 -5227
- package/fesm2015/vendasta-billing.mjs.map +1 -0
- package/fesm2020/vendasta-billing.mjs +14368 -0
- package/fesm2020/vendasta-billing.mjs.map +1 -0
- package/lib/_generated/host.service.d.ts +5 -9
- package/lib/_internal/bank-reconciliation.api.service.d.ts +4 -0
- package/lib/_internal/billing.api.service.d.ts +4 -0
- package/lib/_internal/bundle.api.service.d.ts +4 -0
- package/lib/_internal/contract-document.api.service.d.ts +4 -0
- package/lib/_internal/contract.api.service.d.ts +4 -0
- package/lib/_internal/credit.api.service.d.ts +4 -0
- package/lib/_internal/discount.api.service.d.ts +4 -0
- package/lib/_internal/invoice-template.api.service.d.ts +4 -0
- package/lib/_internal/invoice.api.service.d.ts +4 -0
- package/lib/_internal/merchant.api.service.d.ts +4 -0
- package/lib/_internal/payment-method.api.service.d.ts +4 -0
- package/lib/_internal/payment.api.service.d.ts +4 -0
- package/lib/_internal/pricing.api.service.d.ts +4 -0
- package/lib/_internal/product-summary.api.service.d.ts +4 -0
- package/lib/_internal/product.api.service.d.ts +4 -0
- package/lib/_internal/purchase.api.service.d.ts +4 -0
- package/lib/_internal/recurring-invoice.api.service.d.ts +4 -0
- package/lib/_internal/refund.api.service.d.ts +4 -0
- package/lib/_internal/retail-customer-configuration.api.service.d.ts +4 -0
- package/lib/_internal/sales-credit-note.api.service.d.ts +4 -0
- package/lib/_internal/sales-invoice.api.service.d.ts +4 -0
- package/lib/_internal/tax.api.service.d.ts +4 -0
- package/lib/_internal/vendor.api.service.d.ts +4 -0
- package/lib/index.d.ts +2 -37
- package/package.json +26 -15
- package/src/README.md +1 -0
- package/vendasta-billing.d.ts +1 -0
- package/bundles/vendasta-billing.umd.js +0 -19912
- package/bundles/vendasta-billing.umd.js.map +0 -1
- package/bundles/vendasta-billing.umd.min.js +0 -16
- package/bundles/vendasta-billing.umd.min.js.map +0 -1
- package/esm2015/lib/_generated/host.service.js +0 -65
- package/esm2015/lib/_generated/index.js +0 -2
- package/esm2015/lib/_internal/bank-reconciliation.api.service.js +0 -47
- package/esm2015/lib/_internal/billing.api.service.js +0 -217
- package/esm2015/lib/_internal/bundle.api.service.js +0 -51
- package/esm2015/lib/_internal/contract-document.api.service.js +0 -46
- package/esm2015/lib/_internal/contract.api.service.js +0 -56
- package/esm2015/lib/_internal/credit.api.service.js +0 -46
- package/esm2015/lib/_internal/discount.api.service.js +0 -54
- package/esm2015/lib/_internal/enums/applied-discount.enum.js +0 -14
- package/esm2015/lib/_internal/enums/card.enum.js +0 -17
- package/esm2015/lib/_internal/enums/contract.enum.js +0 -14
- package/esm2015/lib/_internal/enums/currency.enum.js +0 -35
- package/esm2015/lib/_internal/enums/frequency.enum.js +0 -14
- package/esm2015/lib/_internal/enums/index.js +0 -31
- package/esm2015/lib/_internal/enums/invoice.enum.js +0 -18
- package/esm2015/lib/_internal/enums/merchant-report.enum.js +0 -13
- package/esm2015/lib/_internal/enums/month.enum.js +0 -23
- package/esm2015/lib/_internal/enums/payment-card.enum.js +0 -24
- package/esm2015/lib/_internal/enums/payment-processor.enum.js +0 -13
- package/esm2015/lib/_internal/enums/payout.enum.js +0 -22
- package/esm2015/lib/_internal/enums/pricing-plan.enum.js +0 -22
- package/esm2015/lib/_internal/enums/product.enum.js +0 -17
- package/esm2015/lib/_internal/enums/purchase.enum.js +0 -27
- package/esm2015/lib/_internal/enums/recurring-invoice.enum.js +0 -29
- package/esm2015/lib/_internal/enums/refund.enum.js +0 -25
- package/esm2015/lib/_internal/enums/sales-credit-note.enum.js +0 -14
- package/esm2015/lib/_internal/enums/sort-direction.enum.js +0 -12
- package/esm2015/lib/_internal/enums/subscription.enum.js +0 -12
- package/esm2015/lib/_internal/index.js +0 -33
- package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/applied-bundle.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/applied-discount.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/applied-tax-rate.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/balance.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/billable-item.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/bundle.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/card.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/commitment.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/common.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/contract-document.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/contract.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/credit.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/currency.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/customer-summary.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/discount.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/external-account.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/frequency.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/index.js +0 -2
- package/esm2015/lib/_internal/interfaces/invoice-template.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/invoice.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/merchant-report.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/merchant.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/metered-component.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/month.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/payment-card.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/payment-processor.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/payment.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/payout.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/pricing-plan-product.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/pricing-plan.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/product-pricing.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/product-summary.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/product.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/purchase.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/recurring-invoice.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/refund.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/retail-customer-configuration.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/sales-credit-note.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/sales-invoice.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/sort-direction.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/subscribe-validation.interface.js +0 -8
- package/esm2015/lib/_internal/interfaces/subscription.interface.js +0 -2
- package/esm2015/lib/_internal/interfaces/tax-rate.interface.js +0 -2
- package/esm2015/lib/_internal/invoice-template.api.service.js +0 -86
- package/esm2015/lib/_internal/invoice.api.service.js +0 -117
- package/esm2015/lib/_internal/merchant.api.service.js +0 -160
- package/esm2015/lib/_internal/objects/api.js +0 -841
- package/esm2015/lib/_internal/objects/applied-bundle.js +0 -77
- package/esm2015/lib/_internal/objects/applied-discount.js +0 -46
- package/esm2015/lib/_internal/objects/applied-tax-rate.js +0 -39
- package/esm2015/lib/_internal/objects/balance.js +0 -45
- package/esm2015/lib/_internal/objects/billable-item.js +0 -562
- package/esm2015/lib/_internal/objects/bundle.js +0 -390
- package/esm2015/lib/_internal/objects/card.js +0 -7
- package/esm2015/lib/_internal/objects/commitment.js +0 -36
- package/esm2015/lib/_internal/objects/common.js +0 -56
- package/esm2015/lib/_internal/objects/contract-document.js +0 -141
- package/esm2015/lib/_internal/objects/contract.js +0 -474
- package/esm2015/lib/_internal/objects/credit.js +0 -114
- package/esm2015/lib/_internal/objects/currency.js +0 -7
- package/esm2015/lib/_internal/objects/customer-summary.js +0 -104
- package/esm2015/lib/_internal/objects/date-range.js +0 -36
- package/esm2015/lib/_internal/objects/discount.js +0 -299
- package/esm2015/lib/_internal/objects/external-account.js +0 -160
- package/esm2015/lib/_internal/objects/field-mask.js +0 -27
- package/esm2015/lib/_internal/objects/frequency.js +0 -7
- package/esm2015/lib/_internal/objects/index.js +0 -46
- package/esm2015/lib/_internal/objects/invoice-template.js +0 -707
- package/esm2015/lib/_internal/objects/invoice.js +0 -1117
- package/esm2015/lib/_internal/objects/merchant-report.js +0 -108
- package/esm2015/lib/_internal/objects/merchant.js +0 -991
- package/esm2015/lib/_internal/objects/metered-component.js +0 -97
- package/esm2015/lib/_internal/objects/month.js +0 -7
- package/esm2015/lib/_internal/objects/payment-card.js +0 -211
- package/esm2015/lib/_internal/objects/payment-processor.js +0 -7
- package/esm2015/lib/_internal/objects/payment.js +0 -1219
- package/esm2015/lib/_internal/objects/payout.js +0 -258
- package/esm2015/lib/_internal/objects/pricing-plan-product.js +0 -565
- package/esm2015/lib/_internal/objects/pricing-plan.js +0 -290
- package/esm2015/lib/_internal/objects/product-pricing.js +0 -107
- package/esm2015/lib/_internal/objects/product-summary.js +0 -538
- package/esm2015/lib/_internal/objects/product.js +0 -302
- package/esm2015/lib/_internal/objects/purchase.js +0 -524
- package/esm2015/lib/_internal/objects/recurring-invoice.js +0 -324
- package/esm2015/lib/_internal/objects/refund.js +0 -181
- package/esm2015/lib/_internal/objects/retail-customer-configuration.js +0 -159
- package/esm2015/lib/_internal/objects/sales-credit-note.js +0 -211
- package/esm2015/lib/_internal/objects/sales-invoice.js +0 -300
- package/esm2015/lib/_internal/objects/sort-direction.js +0 -7
- package/esm2015/lib/_internal/objects/subscribe-validation.js +0 -31
- package/esm2015/lib/_internal/objects/subscription.js +0 -555
- package/esm2015/lib/_internal/objects/tax-rate.js +0 -342
- package/esm2015/lib/_internal/payment-method.api.service.js +0 -50
- package/esm2015/lib/_internal/payment.api.service.js +0 -103
- package/esm2015/lib/_internal/pricing.api.service.js +0 -77
- package/esm2015/lib/_internal/product-summary.api.service.js +0 -47
- package/esm2015/lib/_internal/product.api.service.js +0 -48
- package/esm2015/lib/_internal/purchase.api.service.js +0 -60
- package/esm2015/lib/_internal/recurring-invoice.api.service.js +0 -61
- package/esm2015/lib/_internal/refund.api.service.js +0 -46
- package/esm2015/lib/_internal/retail-customer-configuration.api.service.js +0 -46
- package/esm2015/lib/_internal/sales-credit-note.api.service.js +0 -46
- package/esm2015/lib/_internal/sales-invoice.api.service.js +0 -51
- package/esm2015/lib/_internal/tax.api.service.js +0 -64
- package/esm2015/lib/_internal/vendor.api.service.js +0 -47
- package/esm2015/lib/applied_bundle/applied_bundle.js +0 -12
- package/esm2015/lib/applied_bundle/index.js +0 -2
- package/esm2015/lib/applied_discount/applied_discount.js +0 -48
- package/esm2015/lib/applied_discount/index.js +0 -2
- package/esm2015/lib/bank_account/bank-account.service.js +0 -38
- package/esm2015/lib/bank_account/bank_account.js +0 -13
- package/esm2015/lib/bank_account/index.js +0 -3
- package/esm2015/lib/bank_reconciliation/bank-reconciliation.service.js +0 -54
- package/esm2015/lib/bank_reconciliation/index.js +0 -3
- package/esm2015/lib/bank_reconciliation/payout.js +0 -53
- package/esm2015/lib/billable-item/billable-item.js +0 -40
- package/esm2015/lib/billable-item/billable-item.service.js +0 -31
- package/esm2015/lib/billable-item/index.js +0 -2
- package/esm2015/lib/billing-host.service.js +0 -41
- package/esm2015/lib/billing.service.js +0 -376
- package/esm2015/lib/bundle/bundle.js +0 -37
- package/esm2015/lib/bundle/bundle.service.js +0 -56
- package/esm2015/lib/bundle/index.js +0 -2
- package/esm2015/lib/contract/contract.js +0 -21
- package/esm2015/lib/contract/contract.service.js +0 -39
- package/esm2015/lib/contract/dimension.js +0 -21
- package/esm2015/lib/contract/index.js +0 -5
- package/esm2015/lib/contract/mutations.js +0 -11
- package/esm2015/lib/contract-document/contract-document.js +0 -9
- package/esm2015/lib/contract-document/contract-document.service.js +0 -68
- package/esm2015/lib/contract-document/index.js +0 -2
- package/esm2015/lib/contract-document/list-contract-document.js +0 -2
- package/esm2015/lib/core/index.js +0 -3
- package/esm2015/lib/core/paged-response.js +0 -8
- package/esm2015/lib/core/sort-direction.js +0 -6
- package/esm2015/lib/credit/credit.js +0 -8
- package/esm2015/lib/credit/credit.service.js +0 -33
- package/esm2015/lib/credit/index.js +0 -2
- package/esm2015/lib/customer_summary/customer-summary.js +0 -15
- package/esm2015/lib/discount/discount.js +0 -18
- package/esm2015/lib/discount/discount.service.js +0 -73
- package/esm2015/lib/discount/discount_type.js +0 -32
- package/esm2015/lib/discount/index.js +0 -3
- package/esm2015/lib/discount/list-discount.js +0 -2
- package/esm2015/lib/http-shared/error-handlers.js +0 -20
- package/esm2015/lib/index.js +0 -38
- package/esm2015/lib/invoice/index.js +0 -3
- package/esm2015/lib/invoice/invoice.js +0 -198
- package/esm2015/lib/invoice/invoice.service.js +0 -254
- package/esm2015/lib/invoice/list-invoice.js +0 -2
- package/esm2015/lib/invoice-template/index.js +0 -2
- package/esm2015/lib/invoice-template/invoice-template.js +0 -38
- package/esm2015/lib/invoice-template/invoice-template.service.js +0 -78
- package/esm2015/lib/merchant/balance.js +0 -2
- package/esm2015/lib/merchant/index.js +0 -5
- package/esm2015/lib/merchant/merchant.interface.js +0 -2
- package/esm2015/lib/merchant/merchant.js +0 -20
- package/esm2015/lib/merchant/merchant.service.js +0 -212
- package/esm2015/lib/merchant/payout-summary.js +0 -32
- package/esm2015/lib/merchant/retail-configuration.js +0 -57
- package/esm2015/lib/merchant-report/index.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report-status.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report.interfaces.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report.js +0 -2
- package/esm2015/lib/merchant-report/merchant-report.service.js +0 -38
- package/esm2015/lib/payment/dispute.js +0 -92
- package/esm2015/lib/payment/index.js +0 -10
- package/esm2015/lib/payment/payment-allocation-type.js +0 -18
- package/esm2015/lib/payment/payment-source.js +0 -18
- package/esm2015/lib/payment/payment-status.js +0 -17
- package/esm2015/lib/payment/payment.js +0 -292
- package/esm2015/lib/payment/payment.service.js +0 -138
- package/esm2015/lib/payment/retail-payment.js +0 -70
- package/esm2015/lib/payment/retail-status.js +0 -50
- package/esm2015/lib/payment-card/index.js +0 -3
- package/esm2015/lib/payment-card/payment-card.js +0 -60
- package/esm2015/lib/payment-card/payment-card.service.js +0 -45
- package/esm2015/lib/payment-method/index.js +0 -2
- package/esm2015/lib/payment-method/payment-method.service.js +0 -43
- package/esm2015/lib/pricing/billing-strategy.js +0 -39
- package/esm2015/lib/pricing/commitment.js +0 -7
- package/esm2015/lib/pricing/currency.js +0 -86
- package/esm2015/lib/pricing/frequency.js +0 -42
- package/esm2015/lib/pricing/index.js +0 -12
- package/esm2015/lib/pricing/list-pricing-plan-product-filter.js +0 -2
- package/esm2015/lib/pricing/pricing-plan-product.js +0 -53
- package/esm2015/lib/pricing/pricing-plan.js +0 -14
- package/esm2015/lib/pricing/pricing-plan.service.js +0 -287
- package/esm2015/lib/pricing/product-pricing-rules.js +0 -10
- package/esm2015/lib/pricing/product-pricing-type.js +0 -31
- package/esm2015/lib/pricing/product-pricing.js +0 -44
- package/esm2015/lib/pricing/wholesale-pricing.service.js +0 -61
- package/esm2015/lib/product/index.js +0 -3
- package/esm2015/lib/product/list-products.js +0 -30
- package/esm2015/lib/product/product.js +0 -10
- package/esm2015/lib/product-summary/index.js +0 -3
- package/esm2015/lib/product-summary/product-summary.service.js +0 -42
- package/esm2015/lib/product-summary/subscription-retention.js +0 -19
- package/esm2015/lib/purchase/index.js +0 -4
- package/esm2015/lib/purchase/list-purchases.js +0 -17
- package/esm2015/lib/purchase/purchase.js +0 -79
- package/esm2015/lib/purchase/purchase.service.js +0 -31
- package/esm2015/lib/purchase/purchase_status.js +0 -26
- package/esm2015/lib/recurring_invoice/collection-method.js +0 -31
- package/esm2015/lib/recurring_invoice/index.js +0 -6
- package/esm2015/lib/recurring_invoice/interval.js +0 -42
- package/esm2015/lib/recurring_invoice/payment-processor.js +0 -32
- package/esm2015/lib/recurring_invoice/recurring-invoice.js +0 -123
- package/esm2015/lib/recurring_invoice/recurring-invoice.service.js +0 -64
- package/esm2015/lib/recurring_invoice/status.js +0 -37
- package/esm2015/lib/refund/index.js +0 -3
- package/esm2015/lib/refund/refund.js +0 -81
- package/esm2015/lib/refund/refund.service.js +0 -53
- package/esm2015/lib/retail-customer-configuration/index.js +0 -3
- package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.js +0 -44
- package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.service.js +0 -39
- package/esm2015/lib/revenue/index.js +0 -2
- package/esm2015/lib/revenue/revenue.interfaces.js +0 -2
- package/esm2015/lib/revenue/revenue.service.js +0 -34
- package/esm2015/lib/sales-credit-note/index.js +0 -3
- package/esm2015/lib/sales-credit-note/sales-credit-note.js +0 -53
- package/esm2015/lib/sales-credit-note/sales-credit-note.service.js +0 -72
- package/esm2015/lib/sales-invoice/index.js +0 -3
- package/esm2015/lib/sales-invoice/sales-invoice.js +0 -87
- package/esm2015/lib/sales-invoice/sales-invoice.service.js +0 -77
- package/esm2015/lib/sku.js +0 -4
- package/esm2015/lib/stripe-file/file.js +0 -2
- package/esm2015/lib/stripe-file/index.js +0 -3
- package/esm2015/lib/stripe-file/purpose.js +0 -13
- package/esm2015/lib/stripe-file/stripe-file.service.js +0 -35
- package/esm2015/lib/subscription/can-create-subscriptions-item.js +0 -2
- package/esm2015/lib/subscription/index.js +0 -2
- package/esm2015/lib/tax-rate/index.js +0 -2
- package/esm2015/lib/tax-rate/tax-rate.js +0 -13
- package/esm2015/lib/tax-rate/tax-rate.service.js +0 -86
- package/esm2015/public_api.js +0 -2
- package/esm2015/vendasta-billing.js +0 -5
- package/fesm2015/vendasta-billing.js.map +0 -1
- package/lib/applied_bundle/applied_bundle.d.ts +0 -15
- package/lib/applied_bundle/index.d.ts +0 -1
- package/lib/applied_discount/applied_discount.d.ts +0 -26
- package/lib/applied_discount/index.d.ts +0 -1
- package/lib/bank_account/bank-account.service.d.ts +0 -11
- package/lib/bank_account/bank_account.d.ts +0 -12
- package/lib/bank_account/index.d.ts +0 -3
- package/lib/bank_reconciliation/bank-reconciliation.service.d.ts +0 -10
- package/lib/bank_reconciliation/index.d.ts +0 -2
- package/lib/bank_reconciliation/payout.d.ts +0 -37
- package/lib/billable-item/billable-item.d.ts +0 -40
- package/lib/billable-item/billable-item.service.d.ts +0 -10
- package/lib/billable-item/index.d.ts +0 -2
- package/lib/billing-host.service.d.ts +0 -11
- package/lib/billing.service.d.ts +0 -88
- package/lib/bundle/bundle.d.ts +0 -26
- package/lib/bundle/bundle.service.d.ts +0 -14
- package/lib/bundle/index.d.ts +0 -2
- package/lib/contract/contract.d.ts +0 -20
- package/lib/contract/contract.service.d.ts +0 -23
- package/lib/contract/dimension.d.ts +0 -11
- package/lib/contract/index.d.ts +0 -5
- package/lib/contract/mutations.d.ts +0 -11
- package/lib/contract-document/contract-document.d.ts +0 -8
- package/lib/contract-document/contract-document.service.d.ts +0 -17
- package/lib/contract-document/index.d.ts +0 -3
- package/lib/contract-document/list-contract-document.d.ts +0 -3
- package/lib/core/index.d.ts +0 -2
- package/lib/core/paged-response.d.ts +0 -6
- package/lib/core/sort-direction.d.ts +0 -4
- package/lib/credit/credit.d.ts +0 -7
- package/lib/credit/credit.service.d.ts +0 -9
- package/lib/credit/index.d.ts +0 -2
- package/lib/customer_summary/customer-summary.d.ts +0 -9
- package/lib/discount/discount.d.ts +0 -17
- package/lib/discount/discount.service.d.ts +0 -15
- package/lib/discount/discount_type.d.ts +0 -9
- package/lib/discount/index.d.ts +0 -4
- package/lib/discount/list-discount.d.ts +0 -5
- package/lib/http-shared/error-handlers.d.ts +0 -4
- package/lib/invoice/index.d.ts +0 -3
- package/lib/invoice/invoice.d.ts +0 -86
- package/lib/invoice/invoice.service.d.ts +0 -40
- package/lib/invoice/list-invoice.d.ts +0 -15
- package/lib/invoice-template/index.d.ts +0 -2
- package/lib/invoice-template/invoice-template.d.ts +0 -35
- package/lib/invoice-template/invoice-template.service.d.ts +0 -14
- package/lib/merchant/balance.d.ts +0 -5
- package/lib/merchant/index.d.ts +0 -7
- package/lib/merchant/merchant.d.ts +0 -19
- package/lib/merchant/merchant.interface.d.ts +0 -3
- package/lib/merchant/merchant.service.d.ts +0 -59
- package/lib/merchant/payout-summary.d.ts +0 -19
- package/lib/merchant/retail-configuration.d.ts +0 -24
- package/lib/merchant-report/index.d.ts +0 -4
- package/lib/merchant-report/merchant-report-status.d.ts +0 -1
- package/lib/merchant-report/merchant-report.d.ts +0 -8
- package/lib/merchant-report/merchant-report.interfaces.d.ts +0 -5
- package/lib/merchant-report/merchant-report.service.d.ts +0 -12
- package/lib/payment/dispute.d.ts +0 -61
- package/lib/payment/index.d.ts +0 -9
- package/lib/payment/payment-allocation-type.d.ts +0 -7
- package/lib/payment/payment-source.d.ts +0 -7
- package/lib/payment/payment-status.d.ts +0 -7
- package/lib/payment/payment.d.ts +0 -42
- package/lib/payment/payment.service.d.ts +0 -24
- package/lib/payment/retail-payment.d.ts +0 -33
- package/lib/payment/retail-status.d.ts +0 -24
- package/lib/payment-card/index.d.ts +0 -2
- package/lib/payment-card/payment-card.d.ts +0 -41
- package/lib/payment-card/payment-card.service.d.ts +0 -13
- package/lib/payment-method/index.d.ts +0 -1
- package/lib/payment-method/payment-method.service.d.ts +0 -10
- package/lib/pricing/billing-strategy.d.ts +0 -11
- package/lib/pricing/commitment.d.ts +0 -6
- package/lib/pricing/currency.d.ts +0 -29
- package/lib/pricing/frequency.d.ts +0 -10
- package/lib/pricing/index.d.ts +0 -11
- package/lib/pricing/list-pricing-plan-product-filter.d.ts +0 -4
- package/lib/pricing/pricing-plan-product.d.ts +0 -34
- package/lib/pricing/pricing-plan.d.ts +0 -13
- package/lib/pricing/pricing-plan.service.d.ts +0 -17
- package/lib/pricing/product-pricing-rules.d.ts +0 -7
- package/lib/pricing/product-pricing-type.d.ts +0 -9
- package/lib/pricing/product-pricing.d.ts +0 -37
- package/lib/pricing/wholesale-pricing.service.d.ts +0 -19
- package/lib/product/index.d.ts +0 -2
- package/lib/product/list-products.d.ts +0 -16
- package/lib/product/product.d.ts +0 -9
- package/lib/product-summary/index.d.ts +0 -2
- package/lib/product-summary/product-summary.service.d.ts +0 -10
- package/lib/product-summary/subscription-retention.d.ts +0 -20
- package/lib/purchase/index.d.ts +0 -4
- package/lib/purchase/list-purchases.d.ts +0 -27
- package/lib/purchase/purchase.d.ts +0 -56
- package/lib/purchase/purchase.service.d.ts +0 -10
- package/lib/purchase/purchase_status.d.ts +0 -10
- package/lib/recurring_invoice/collection-method.d.ts +0 -4
- package/lib/recurring_invoice/index.d.ts +0 -5
- package/lib/recurring_invoice/interval.d.ts +0 -10
- package/lib/recurring_invoice/payment-processor.d.ts +0 -8
- package/lib/recurring_invoice/recurring-invoice.d.ts +0 -62
- package/lib/recurring_invoice/recurring-invoice.service.d.ts +0 -14
- package/lib/recurring_invoice/status.d.ts +0 -9
- package/lib/refund/index.d.ts +0 -2
- package/lib/refund/refund.d.ts +0 -36
- package/lib/refund/refund.service.d.ts +0 -11
- package/lib/retail-customer-configuration/index.d.ts +0 -2
- package/lib/retail-customer-configuration/retail-customer-configuration.d.ts +0 -20
- package/lib/retail-customer-configuration/retail-customer-configuration.service.d.ts +0 -9
- package/lib/revenue/index.d.ts +0 -2
- package/lib/revenue/revenue.interfaces.d.ts +0 -3
- package/lib/revenue/revenue.service.d.ts +0 -11
- package/lib/sales-credit-note/index.d.ts +0 -2
- package/lib/sales-credit-note/sales-credit-note.d.ts +0 -30
- package/lib/sales-credit-note/sales-credit-note.service.d.ts +0 -16
- package/lib/sales-invoice/index.d.ts +0 -2
- package/lib/sales-invoice/sales-invoice.d.ts +0 -42
- package/lib/sales-invoice/sales-invoice.service.d.ts +0 -16
- package/lib/sku.d.ts +0 -3
- package/lib/stripe-file/file.d.ts +0 -6
- package/lib/stripe-file/index.d.ts +0 -3
- package/lib/stripe-file/purpose.d.ts +0 -11
- package/lib/stripe-file/stripe-file.service.d.ts +0 -12
- package/lib/subscription/can-create-subscriptions-item.d.ts +0 -6
- package/lib/subscription/index.d.ts +0 -1
- package/lib/tax-rate/index.d.ts +0 -2
- package/lib/tax-rate/tax-rate.d.ts +0 -20
- package/lib/tax-rate/tax-rate.service.d.ts +0 -15
- package/vendasta-billing.metadata.json +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendasta-billing.mjs","sources":["../../../billing_sdk/src/lib/_internal/enums/frequency.enum.ts","../../../billing_sdk/src/lib/_internal/enums/applied-discount.enum.ts","../../../billing_sdk/src/lib/_internal/enums/currency.enum.ts","../../../billing_sdk/src/lib/_internal/enums/contract.enum.ts","../../../billing_sdk/src/lib/_internal/enums/product-summary.enum.ts","../../../billing_sdk/src/lib/_internal/enums/invoice.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payout.enum.ts","../../../billing_sdk/src/lib/_internal/enums/sort-direction.enum.ts","../../../billing_sdk/src/lib/_internal/enums/merchant.enum.ts","../../../billing_sdk/src/lib/_internal/enums/month.enum.ts","../../../billing_sdk/src/lib/_internal/enums/merchant-report.enum.ts","../../../billing_sdk/src/lib/_internal/enums/card.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payment.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payment-card.enum.ts","../../../billing_sdk/src/lib/_internal/enums/pricing-plan.enum.ts","../../../billing_sdk/src/lib/_internal/enums/product.enum.ts","../../../billing_sdk/src/lib/_internal/enums/purchase.enum.ts","../../../billing_sdk/src/lib/_internal/enums/refund.enum.ts","../../../billing_sdk/src/lib/_internal/enums/sales-credit-note.enum.ts","../../../billing_sdk/src/lib/_internal/enums/sales-invoice.enum.ts","../../../billing_sdk/src/lib/_internal/enums/subscribe-validation.enum.ts","../../../billing_sdk/src/lib/_internal/enums/subscription.enum.ts","../../../billing_sdk/src/lib/_internal/enums/payment-processor.enum.ts","../../../billing_sdk/src/lib/_internal/enums/recurring-invoice.enum.ts","../../../billing_sdk/src/lib/_internal/enums/index.ts","../../../billing_sdk/src/lib/_internal/objects/common.ts","../../../billing_sdk/src/lib/_internal/objects/billable-item.ts","../../../billing_sdk/src/lib/_internal/objects/applied-discount.ts","../../../billing_sdk/src/lib/_internal/objects/bundle.ts","../../../billing_sdk/src/lib/_internal/objects/commitment.ts","../../../billing_sdk/src/lib/_internal/objects/contract.ts","../../../billing_sdk/src/lib/_internal/objects/customer-summary.ts","../../../billing_sdk/src/lib/_internal/objects/external-account.ts","../../../billing_sdk/src/lib/_internal/objects/product-summary.ts","../../../billing_sdk/src/lib/_internal/objects/discount.ts","../../../billing_sdk/src/lib/_internal/objects/applied-tax-rate.ts","../../../billing_sdk/src/lib/_internal/objects/field-mask.ts","../../../billing_sdk/src/lib/_internal/objects/tax-rate.ts","../../../billing_sdk/src/lib/_internal/objects/applied-bundle.ts","../../../billing_sdk/src/lib/_internal/objects/invoice.ts","../../../billing_sdk/src/lib/_internal/objects/balance.ts","../../../billing_sdk/src/lib/_internal/objects/date-range.ts","../../../billing_sdk/src/lib/_internal/objects/payout.ts","../../../billing_sdk/src/lib/_internal/objects/merchant.ts","../../../billing_sdk/src/lib/_internal/objects/merchant-report.ts","../../../billing_sdk/src/lib/_internal/objects/metered-component.ts","../../../billing_sdk/src/lib/_internal/objects/payment.ts","../../../billing_sdk/src/lib/_internal/objects/payment-card.ts","../../../billing_sdk/src/lib/_internal/objects/pricing-plan.ts","../../../billing_sdk/src/lib/_internal/objects/pricing-plan-product.ts","../../../billing_sdk/src/lib/_internal/objects/product.ts","../../../billing_sdk/src/lib/_internal/objects/product-pricing.ts","../../../billing_sdk/src/lib/_internal/objects/purchase.ts","../../../billing_sdk/src/lib/_internal/objects/refund.ts","../../../billing_sdk/src/lib/_internal/objects/sales-credit-note.ts","../../../billing_sdk/src/lib/_internal/objects/sales-invoice.ts","../../../billing_sdk/src/lib/_internal/objects/subscribe-validation.ts","../../../billing_sdk/src/lib/_internal/objects/subscription.ts","../../../billing_sdk/src/lib/_internal/objects/contract-document.ts","../../../billing_sdk/src/lib/_internal/objects/retail-customer-configuration.ts","../../../billing_sdk/src/lib/_internal/objects/credit.ts","../../../billing_sdk/src/lib/_internal/objects/invoice-template.ts","../../../billing_sdk/src/lib/_internal/objects/recurring-invoice.ts","../../../billing_sdk/src/lib/_internal/objects/api.ts","../../../billing_sdk/src/lib/_internal/objects/index.ts","../../../billing_sdk/src/lib/_generated/host.service.ts","../../../billing_sdk/src/lib/_internal/bank-reconciliation.api.service.ts","../../../billing_sdk/src/lib/_internal/billing.api.service.ts","../../../billing_sdk/src/lib/_internal/bundle.api.service.ts","../../../billing_sdk/src/lib/_internal/contract-document.api.service.ts","../../../billing_sdk/src/lib/_internal/contract.api.service.ts","../../../billing_sdk/src/lib/_internal/credit.api.service.ts","../../../billing_sdk/src/lib/_internal/discount.api.service.ts","../../../billing_sdk/src/lib/_internal/invoice.api.service.ts","../../../billing_sdk/src/lib/_internal/invoice-template.api.service.ts","../../../billing_sdk/src/lib/_internal/merchant.api.service.ts","../../../billing_sdk/src/lib/_internal/payment-method.api.service.ts","../../../billing_sdk/src/lib/_internal/payment.api.service.ts","../../../billing_sdk/src/lib/_internal/pricing.api.service.ts","../../../billing_sdk/src/lib/_internal/product.api.service.ts","../../../billing_sdk/src/lib/_internal/product-summary.api.service.ts","../../../billing_sdk/src/lib/_internal/purchase.api.service.ts","../../../billing_sdk/src/lib/_internal/recurring-invoice.api.service.ts","../../../billing_sdk/src/lib/_internal/refund.api.service.ts","../../../billing_sdk/src/lib/_internal/retail-customer-configuration.api.service.ts","../../../billing_sdk/src/lib/_internal/sales-credit-note.api.service.ts","../../../billing_sdk/src/lib/_internal/sales-invoice.api.service.ts","../../../billing_sdk/src/lib/_internal/tax.api.service.ts","../../../billing_sdk/src/lib/_internal/vendor.api.service.ts","../../../billing_sdk/src/lib/_internal/index.ts","../../../billing_sdk/src/vendasta-billing.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Frequency {\n INVALID = 0,\n MONTHLY = 1,\n YEARLY = 2,\n ONE_TIME = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DiscountType {\n DISCOUNT_TYPE_FIXED_AMOUNT = 0,\n DISCOUNT_TYPE_PERCENT_AMOUNT = 1,\n DISCOUNT_TYPE_FIXED_NUMBER_OF_UNITS = 2,\n DISCOUNT_TYPE_FIXED_AMOUNT_PER_UNIT = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Currency {\n USD = 0,\n CAD = 1,\n EUR = 2,\n AUD = 3,\n GBP = 4,\n NZD = 5,\n BRL = 6,\n CHF = 7,\n CNY = 8,\n CZK = 9,\n INR = 10,\n JPY = 11,\n KHR = 12,\n KRW = 13,\n MXN = 14,\n NOK = 15,\n RUB = 16,\n SEK = 17,\n SGD = 18,\n TRY = 19,\n ZAR = 20,\n DZD = 21,\n AWG = 22,\n FJD = 23,\n KYD = 24,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ContractSubscriptionStatus {\n CONTRACT_SUBSCRIPTION_STATUS_UNSET = 0,\n CONTRACT_SUBSCRIPTION_STATUS_PENDING = 1,\n CONTRACT_SUBSCRIPTION_STATUS_SUCCEEDED = 2,\n CONTRACT_SUBSCRIPTION_STATUS_FAILED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ProductSummaryBillingStrategy {\n CHARGE_AT_END_OF_BILLING_PERIOD = 0,\n CHARGE_AT_START_OF_BILLING_PERIOD = 1,\n CHARGE_INSTANTLY = 2,\n CHARGE_AT_END_OF_DAY = 3,\n}\n\nexport enum ProductSummaryDiscountDiscountType {\n FIXED_AMOUNT = 0,\n PERCENT_AMOUNT = 1,\n FIXED_NUMBER_OF_UNITS = 2,\n FIXED_AMOUNT_PER_UNIT = 3,\n}\n\nexport enum ProductSummaryProductType {\n BUNDLE = 0,\n FEE = 1,\n PRODUCT = 2,\n SUBSCRIPTION = 3,\n VENDASTA_PRODUCT = 4,\n}\n\nexport enum PricingRuleType {\n STANDARD = 0,\n STAIRSTEP = 1,\n TIERED = 2,\n CUSTOM = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ListInvoicesRequestFiltersDateFilterDateField {\n CREATED = 0,\n}\n\nexport enum InvoiceStatus {\n DRAFT = 0,\n DUE = 1,\n PAID = 2,\n VOID = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PayoutStatus {\n PAYOUT_STATUS_NOT_SET = 0,\n PAYOUT_STATUS_PAID = 1,\n PAYOUT_STATUS_PENDING = 2,\n PAYOUT_STATUS_IN_TRANSIT = 3,\n PAYOUT_STATUS_CANCELED = 4,\n PAYOUT_STATUS_FAILED = 5,\n}\n\nexport enum PayoutType {\n PAYOUT_TYPE_NOT_SET = 0,\n PAYOUT_TYPE_BANK_ACCOUNT = 1,\n PAYOUT_TYPE_CARD = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SortDirection {\n SORT_DIRECTION_ASCENDING = 0,\n SORT_DIRECTION_DESCENDING = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SearchMerchantsRequestSortBy {\n SEARCH_MERCHANTS_REQUEST_SORT_BY_MERCHANT_ID = 0,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_COMPANY_NAME = 1,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_CONTACT_NAME = 2,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_EMAIL_ADDRESS = 3,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_COUNTRY = 4,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_STATE = 5,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_CREATED = 6,\n SEARCH_MERCHANTS_REQUEST_SORT_BY_UPDATED = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Month {\n INVALID_MONTH = 0,\n JANUARY = 1,\n FEBRUARY = 2,\n MARCH = 3,\n APRIL = 4,\n MAY = 5,\n JUNE = 6,\n JULY = 7,\n AUGUST = 8,\n SEPTEMBER = 9,\n OCTOBER = 10,\n NOVEMBER = 11,\n DECEMBER = 12,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum MerchantReportStatus {\n FAILED = 0,\n PENDING = 1,\n COMPLETED = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CardType {\n CARD_TYPE_UNKNOWN = 0,\n CARD_TYPE_VISA = 1,\n CARD_TYPE_MASTERCARD = 2,\n CARD_TYPE_AMEX = 3,\n CARD_TYPE_DISCOVER = 4,\n CARD_TYPE_JCB = 5,\n CARD_TYPE_DINERS_CLUB = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DisputeStatus {\n DISPUTE_STATUS_UNSET = 0,\n DISPUTE_STATUS_WARNING_NEEDS_RESPONSE = 1,\n DISPUTE_STATUS_WARNING_UNDER_REVIEW = 2,\n DISPUTE_STATUS_WARNING_CLOSED = 3,\n DISPUTE_STATUS_NEEDS_RESPONSE = 4,\n DISPUTE_STATUS_UNDER_REVIEW = 5,\n DISPUTE_STATUS_CHARGE_REFUNDED = 6,\n DISPUTE_STATUS_WON = 7,\n DISPUTE_STATUS_LOST = 8,\n}\n\nexport enum PaymentAllocationType {\n PAYMENT_ALLOCATION_TYPE_UNSET = 0,\n PAYMENT_ALLOCATION_TYPE_PURCHASE = 1,\n PAYMENT_ALLOCATION_TYPE_INVOICE = 2,\n}\n\nexport enum PaymentSource {\n PAYMENT_SOURCE_NONE = 0,\n PAYMENT_SOURCE_STRIPE = 1,\n PAYMENT_SOURCE_VCASH = 2,\n}\n\nexport enum PaymentStatus {\n PAYMENT_STATUS_UNSET = 0,\n PAYMENT_STATUS_SUCCEEDED = 1,\n PAYMENT_STATUS_FAILED = 2,\n PAYMENT_STATUS_REFUNDED = 3,\n PAYMENT_STATUS_PARTIALLY_REFUNDED = 4,\n}\n\nexport enum RetailPaymentReferenceType {\n RETAIL_PAYMENT_REFERENCE_TYPE_UNSET = 0,\n RETAIL_PAYMENT_REFERENCE_TYPE_INVOICE = 1,\n RETAIL_PAYMENT_REFERENCE_TYPE_SALES_ORDER = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PaymentCardCARD_TYPE {\n UNKNOWN = 0,\n VISA = 1,\n MASTERCARD = 2,\n AMEX = 3,\n DISCOVER = 4,\n JCB = 5,\n DINERS_CLUB = 6,\n}\n\nexport enum PaymentCardFUNDING_TYPE {\n FUNDING_TYPE_UNKNOWN = 0,\n FUNDING_TYPE_CREDIT = 1,\n FUNDING_TYPE_DEBIT = 2,\n FUNDING_TYPE_PREPAID = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum BillingStrategy {\n BILLING_STRATEGY_NONE = 0,\n BILLING_STRATEGY_END_OF_PERIOD = 1,\n BILLING_STRATEGY_START_OF_PERIOD = 2,\n BILLING_STRATEGY_INSTANTLY = 3,\n BILLING_STRATEGY_END_OF_DAY = 4,\n}\n\nexport enum ProductPricingType {\n PRODUCT_PRICING_TYPE_INVALID = 0,\n PRODUCT_PRICING_TYPE_STANDARD = 1,\n PRODUCT_PRICING_TYPE_STAIRSTEP = 2,\n PRODUCT_PRICING_TYPE_TIERED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ProductType {\n PRODUCT_TYPE_INVALID = 0,\n PRODUCT_TYPE_STANDARD_PRODUCT = 1,\n PRODUCT_TYPE_VENDASTA_PRODUCT = 2,\n PRODUCT_TYPE_SUBSCRIPTION = 3,\n PRODUCT_TYPE_FEE = 4,\n PRODUCT_TYPE_PRIVATE_PRODUCT = 5,\n PRODUCT_TYPE_PARTNER_SUPPORT_SALES = 6,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CreditType {\n CREDIT_TYPE_UNSET = 0,\n CREDIT_TYPE_CREDIT_NOTE = 1,\n CREDIT_TYPE_PROMOTIONAL = 2,\n}\n\nexport enum PurchaseStatus {\n PURCHASE_STATUS_UNSET = 0,\n PURCHASE_STATUS_PENDING = 1,\n PURCHASE_STATUS_DUE = 2,\n PURCHASE_STATUS_SUCCESS = 3,\n PURCHASE_STATUS_DUNNING = 4,\n PURCHASE_STATUS_FAILED = 5,\n}\n\nexport enum ListPurchaseRequestState {\n LIST_PURCHASE_REQUEST_STATE_ALL = 0,\n LIST_PURCHASE_REQUEST_STATE_OVERDUE = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ReferenceType {\n PURCHASE = 0,\n PURCHASE_ITEM = 1,\n INVOICE = 2,\n}\n\nexport enum RefundReason {\n REQUESTED_BY_CUSTOMER = 0,\n DUPLICATE = 1,\n FRAUDULENT = 2,\n}\n\nexport enum RefundStatus {\n SUCCEEDED = 0,\n FAILED = 1,\n PENDING = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SalesCreditNoteStatus {\n SALES_CREDIT_NOTE_STATUS_IN_PROGRESS = 0,\n SALES_CREDIT_NOTE_STATUS_READY_TO_POST = 1,\n SALES_CREDIT_NOTE_STATUS_COMPLETE = 2,\n SALES_CREDIT_NOTE_STATUS_DISCARDED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PaymentStatuses {\n PAYMENT_STATUSES_NOT_SET = 0,\n PAYMENT_STATUSES_UNPAID = 1,\n PAYMENT_STATUSES_PAID = 2,\n PAYMENT_STATUSES_PART_PAID = 3,\n PAYMENT_STATUSES_NOT_APPLICABLE = 4,\n}\n\nexport enum SalesInvoiceStatus {\n SALES_INVOICE_STATUS_IN_PROGRESS = 0,\n SALES_INVOICE_STATUS_READY_TO_POST = 1,\n SALES_INVOICE_STATUS_COMPLETE = 2,\n SALES_INVOICE_STATUS_DISCARDED = 3,\n}\n\nexport enum SalesInvoiceType {\n SALES_INVOICE_TYPE_UNSET = 0,\n SALES_INVOICE_TYPE_INVOICED = 1,\n SALES_INVOICE_TYPE_INSTANT = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SubscribeValidationStatus {\n SUBSCRIBE_VALIDATION_STATUS_UNSET = 0,\n SUBSCRIBE_VALIDATION_STATUS_CANNOT_INSTANT_BILL = 1,\n SUBSCRIBE_VALIDATION_STATUS_MISSING_MERCHANT_INFO = 2,\n SUBSCRIBE_VALIDATION_STATUS_MISSING_PAYMENT_INFO = 3,\n SUBSCRIBE_VALIDATION_STATUS_WILL_CAUSE_FUTURE_CHARGES = 4,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum RenewalState {\n RENEWAL_STATE_IMMEDIATE = 0,\n RENEWAL_STATE_DELAYED = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum PaymentProcessor {\n PAYMENT_PROCESSOR_INVALID = 0,\n PAYMENT_PROCESSOR_UNSET = 1,\n PAYMENT_PROCESSOR_STRIPE = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CollectionMethod {\n COLLECTION_METHOD_INVALID = 0,\n COLLECTION_METHOD_MANUAL = 1,\n COLLECTION_METHOD_EMAIL = 2,\n COLLECTION_METHOD_CHARGE_AUTOMATICALLY = 3,\n}\n\nexport enum Interval {\n INTERVAL_INVALID = 0,\n INTERVAL_DAY = 1,\n INTERVAL_WEEK = 2,\n INTERVAL_MONTH = 3,\n INTERVAL_YEAR = 4,\n}\n\nexport enum RecurringInvoiceStatus {\n RECURRING_INVOICE_STATUS_INVALID = 0,\n RECURRING_INVOICE_STATUS_INACTIVE = 1,\n RECURRING_INVOICE_STATUS_ACTIVE = 2,\n RECURRING_INVOICE_STATUS_ARCHIVED = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n Frequency,\n} from './frequency.enum';\nexport {\n DiscountType,\n} from './applied-discount.enum';\nexport {\n Currency,\n} from './currency.enum';\nexport {\n ContractSubscriptionStatus,\n} from './contract.enum';\nexport {\n ProductSummaryBillingStrategy,\n ProductSummaryDiscountDiscountType,\n ProductSummaryProductType,\n PricingRuleType,\n} from './product-summary.enum';\nexport {\n ListInvoicesRequestFiltersDateFilterDateField,\n InvoiceStatus,\n} from './invoice.enum';\nexport {\n PayoutStatus,\n PayoutType,\n} from './payout.enum';\nexport {\n SortDirection,\n} from './sort-direction.enum';\nexport {\n SearchMerchantsRequestSortBy,\n} from './merchant.enum';\nexport {\n Month,\n} from './month.enum';\nexport {\n MerchantReportStatus,\n} from './merchant-report.enum';\nexport {\n CardType,\n} from './card.enum';\nexport {\n DisputeStatus,\n PaymentAllocationType,\n PaymentSource,\n PaymentStatus,\n RetailPaymentReferenceType,\n} from './payment.enum';\nexport {\n PaymentCardCARD_TYPE,\n PaymentCardFUNDING_TYPE,\n} from './payment-card.enum';\nexport {\n BillingStrategy,\n ProductPricingType,\n} from './pricing-plan.enum';\nexport {\n ProductType,\n} from './product.enum';\nexport {\n CreditType,\n PurchaseStatus,\n ListPurchaseRequestState,\n} from './purchase.enum';\nexport {\n ReferenceType,\n RefundReason,\n RefundStatus,\n} from './refund.enum';\nexport {\n SalesCreditNoteStatus,\n} from './sales-credit-note.enum';\nexport {\n PaymentStatuses,\n SalesInvoiceStatus,\n SalesInvoiceType,\n} from './sales-invoice.enum';\nexport {\n SubscribeValidationStatus,\n} from './subscribe-validation.enum';\nexport {\n RenewalState,\n} from './subscription.enum';\nexport {\n PaymentProcessor,\n} from './payment-processor.enum';\nexport {\n CollectionMethod,\n Interval,\n RecurringInvoiceStatus,\n} from './recurring-invoice.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BillItemRequest implements i.BillItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n proratedTo: Date;\n\n static fromProto(proto: any): BillItemRequest {\n let m = new BillItemRequest();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.proratedTo) {m.proratedTo = new Date(proto.proratedTo);}\n return m;\n }\n\n constructor(kwargs?: i.BillItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.proratedTo !== 'undefined' && this.proratedTo !== null) {toReturn['proratedTo'] = 'toApiJson' in this.proratedTo ? (this.proratedTo as any).toApiJson() : this.proratedTo;}\n return toReturn;\n }\n}\n\nexport class BillMultipleItemsRequest implements i.BillMultipleItemsRequestInterface {\n merchantId: string;\n items: Item[];\n\n static fromProto(proto: any): BillMultipleItemsRequest {\n let m = new BillMultipleItemsRequest();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(Item.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.BillMultipleItemsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n return toReturn;\n }\n}\n\nexport class BillMultipleItemsResponse implements i.BillMultipleItemsResponseInterface {\n id: string;\n\n static fromProto(proto: any): BillMultipleItemsResponse {\n let m = new BillMultipleItemsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BillMultipleItemsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class BillableItem implements i.BillableItemInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n expiry: Date;\n billingStart: Date;\n created: Date;\n updated: Date;\n frequency: e.Frequency;\n nextRenewal: Date;\n customerName: string;\n productName: string;\n customerAddress: BillableItemCustomerAddress;\n customUnitPrice: number;\n retailFrequency: e.Frequency;\n nextRetailRenewal: Date;\n retailUnitPrice: number;\n\n static fromProto(proto: any): BillableItem {\n let m = new BillableItem();\n m = Object.assign(m, proto);\n if (proto.expiry) {m.expiry = new Date(proto.expiry);}\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.nextRenewal) {m.nextRenewal = new Date(proto.nextRenewal);}\n if (proto.customerAddress) {m.customerAddress = BillableItemCustomerAddress.fromProto(proto.customerAddress);}\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n if (proto.retailFrequency) {m.retailFrequency = enumStringToValue<e.Frequency>(e.Frequency, proto.retailFrequency);}\n if (proto.nextRetailRenewal) {m.nextRetailRenewal = new Date(proto.nextRetailRenewal);}\n if (proto.retailUnitPrice) {m.retailUnitPrice = parseInt(proto.retailUnitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BillableItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.expiry !== 'undefined' && this.expiry !== null) {toReturn['expiry'] = 'toApiJson' in this.expiry ? (this.expiry as any).toApiJson() : this.expiry;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.nextRenewal !== 'undefined' && this.nextRenewal !== null) {toReturn['nextRenewal'] = 'toApiJson' in this.nextRenewal ? (this.nextRenewal as any).toApiJson() : this.nextRenewal;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n if (typeof this.customerAddress !== 'undefined' && this.customerAddress !== null) {toReturn['customerAddress'] = 'toApiJson' in this.customerAddress ? (this.customerAddress as any).toApiJson() : this.customerAddress;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n if (typeof this.retailFrequency !== 'undefined') {toReturn['retailFrequency'] = this.retailFrequency;}\n if (typeof this.nextRetailRenewal !== 'undefined' && this.nextRetailRenewal !== null) {toReturn['nextRetailRenewal'] = 'toApiJson' in this.nextRetailRenewal ? (this.nextRetailRenewal as any).toApiJson() : this.nextRetailRenewal;}\n if (typeof this.retailUnitPrice !== 'undefined') {toReturn['retailUnitPrice'] = this.retailUnitPrice;}\n return toReturn;\n }\n}\n\nexport class CanBillItemRequest implements i.CanBillItemRequestInterface {\n merchantId: string;\n sku: string;\n\n static fromProto(proto: any): CanBillItemRequest {\n let m = new CanBillItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CanBillItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class BillableItemCustomerAddress implements i.BillableItemCustomerAddressInterface {\n address: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n\n static fromProto(proto: any): BillableItemCustomerAddress {\n let m = new BillableItemCustomerAddress();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BillableItemCustomerAddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.zip !== 'undefined') {toReturn['zip'] = this.zip;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n return toReturn;\n }\n}\n\nexport class DeleteBillableItemRequest implements i.DeleteBillableItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): DeleteBillableItemRequest {\n let m = new DeleteBillableItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteBillableItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class ExpireBillableItemRequest implements i.ExpireBillableItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n expiry: Date;\n\n static fromProto(proto: any): ExpireBillableItemRequest {\n let m = new ExpireBillableItemRequest();\n m = Object.assign(m, proto);\n if (proto.expiry) {m.expiry = new Date(proto.expiry);}\n return m;\n }\n\n constructor(kwargs?: i.ExpireBillableItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.expiry !== 'undefined' && this.expiry !== null) {toReturn['expiry'] = 'toApiJson' in this.expiry ? (this.expiry as any).toApiJson() : this.expiry;}\n return toReturn;\n }\n}\n\nexport class ListBillableItemsRequestFilters implements i.ListBillableItemsRequestFiltersInterface {\n skus: string[];\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): ListBillableItemsRequestFilters {\n let m = new ListBillableItemsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListBillableItemsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class GetBillableItemRequest implements i.GetBillableItemRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): GetBillableItemRequest {\n let m = new GetBillableItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetBillableItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class GetBillableItemResponse implements i.GetBillableItemResponseInterface {\n item: BillableItem;\n\n static fromProto(proto: any): GetBillableItemResponse {\n let m = new GetBillableItemResponse();\n m = Object.assign(m, proto);\n if (proto.item) {m.item = BillableItem.fromProto(proto.item);}\n return m;\n }\n\n constructor(kwargs?: i.GetBillableItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.item !== 'undefined' && this.item !== null) {toReturn['item'] = 'toApiJson' in this.item ? (this.item as any).toApiJson() : this.item;}\n return toReturn;\n }\n}\n\nexport class GetMultiSubscriptionsRequest implements i.GetMultiSubscriptionsRequestInterface {\n subscriptionKeys: GetMultiSubscriptionsRequestKey[];\n\n static fromProto(proto: any): GetMultiSubscriptionsRequest {\n let m = new GetMultiSubscriptionsRequest();\n m = Object.assign(m, proto);\n if (proto.subscriptionKeys) {m.subscriptionKeys = proto.subscriptionKeys.map(GetMultiSubscriptionsRequestKey.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiSubscriptionsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subscriptionKeys !== 'undefined' && this.subscriptionKeys !== null) {toReturn['subscriptionKeys'] = 'toApiJson' in this.subscriptionKeys ? (this.subscriptionKeys as any).toApiJson() : this.subscriptionKeys;}\n return toReturn;\n }\n}\n\nexport class GetMultiSubscriptionsResponse implements i.GetMultiSubscriptionsResponseInterface {\n subscriptions: BillableItem[];\n\n static fromProto(proto: any): GetMultiSubscriptionsResponse {\n let m = new GetMultiSubscriptionsResponse();\n m = Object.assign(m, proto);\n if (proto.subscriptions) {m.subscriptions = proto.subscriptions.map(BillableItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiSubscriptionsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subscriptions !== 'undefined' && this.subscriptions !== null) {toReturn['subscriptions'] = 'toApiJson' in this.subscriptions ? (this.subscriptions as any).toApiJson() : this.subscriptions;}\n return toReturn;\n }\n}\n\nexport class Item implements i.ItemInterface {\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n\n static fromProto(proto: any): Item {\n let m = new Item();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n return m;\n }\n\n constructor(kwargs?: i.ItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n return toReturn;\n }\n}\n\nexport class GetMultiSubscriptionsRequestKey implements i.GetMultiSubscriptionsRequestKeyInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): GetMultiSubscriptionsRequestKey {\n let m = new GetMultiSubscriptionsRequestKey();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiSubscriptionsRequestKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class ListBillableItemsRequest implements i.ListBillableItemsRequestInterface {\n filters: ListBillableItemsRequestFilters;\n pagingOptions: PagedRequestOptions;\n searchTerm: string;\n\n static fromProto(proto: any): ListBillableItemsRequest {\n let m = new ListBillableItemsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBillableItemsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListBillableItemsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n return toReturn;\n }\n}\n\nexport class ListBillableItemsResponse implements i.ListBillableItemsResponseInterface {\n items: BillableItem[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBillableItemsResponse {\n let m = new ListBillableItemsResponse();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(BillableItem.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBillableItemsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedDiscount implements i.AppliedDiscountInterface {\n type: e.DiscountType;\n value: number;\n totalAmount: number;\n description: string;\n\n static fromProto(proto: any): AppliedDiscount {\n let m = new AppliedDiscount();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.DiscountType>(e.DiscountType, proto.type);}\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedDiscountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Bundle implements i.BundleInterface {\n merchantId: string;\n bundleId: string;\n name: string;\n items: BundleItem[];\n created: Date;\n updated: Date;\n hideBundleDetails: boolean;\n\n static fromProto(proto: any): Bundle {\n let m = new Bundle();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(BundleItem.fromProto);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.BundleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.hideBundleDetails !== 'undefined') {toReturn['hideBundleDetails'] = this.hideBundleDetails;}\n return toReturn;\n }\n}\n\nexport class BundleItem implements i.BundleItemInterface {\n productId: string;\n discountType: e.DiscountType;\n discountAmount: number;\n quantity: number;\n defaultSku: string;\n price: BundleItemPrice;\n\n static fromProto(proto: any): BundleItem {\n let m = new BundleItem();\n m = Object.assign(m, proto);\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n if (proto.price) {m.price = BundleItemPrice.fromProto(proto.price);}\n return m;\n }\n\n constructor(kwargs?: i.BundleItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.defaultSku !== 'undefined') {toReturn['defaultSku'] = this.defaultSku;}\n if (typeof this.price !== 'undefined' && this.price !== null) {toReturn['price'] = 'toApiJson' in this.price ? (this.price as any).toApiJson() : this.price;}\n return toReturn;\n }\n}\n\nexport class BundlePricing implements i.BundlePricingInterface {\n bundleId: string;\n currency: string;\n prices: BundlePricingPriceAndFrequency[];\n\n static fromProto(proto: any): BundlePricing {\n let m = new BundlePricing();\n m = Object.assign(m, proto);\n if (proto.prices) {m.prices = proto.prices.map(BundlePricingPriceAndFrequency.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.BundlePricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleResponseBundlesEntry implements i.GetMultiBundleResponseBundlesEntryInterface {\n key: string;\n value: Bundle;\n\n static fromProto(proto: any): GetMultiBundleResponseBundlesEntry {\n let m = new GetMultiBundleResponseBundlesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Bundle.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleResponseBundlesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class ListBundlesRequestFilters implements i.ListBundlesRequestFiltersInterface {\n merchantId: string;\n\n static fromProto(proto: any): ListBundlesRequestFilters {\n let m = new ListBundlesRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListBundlesRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRequest implements i.GetMultiBundleRequestInterface {\n merchantId: string;\n bundleIds: string[];\n\n static fromProto(proto: any): GetMultiBundleRequest {\n let m = new GetMultiBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleIds !== 'undefined') {toReturn['bundleIds'] = this.bundleIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleResponse implements i.GetMultiBundleResponseInterface {\n bundles: {[key: string]: Bundle};\n\n static fromProto(proto: any): GetMultiBundleResponse {\n let m = new GetMultiBundleResponse();\n m = Object.assign(m, proto);\n if (proto.bundles) {m.bundles = Object.keys(proto.bundles).reduce<any>((obj, k) => { obj[k] = Bundle.fromProto(proto.bundles[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundles !== 'undefined' && this.bundles !== null) {toReturn['bundles'] = 'toApiJson' in this.bundles ? (this.bundles as any).toApiJson() : this.bundles;}\n return toReturn;\n }\n}\n\nexport class ListBundlesRequest implements i.ListBundlesRequestInterface {\n filters: ListBundlesRequestFilters;\n searchTerm: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListBundlesRequest {\n let m = new ListBundlesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBundlesRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListBundlesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListBundlesResponse implements i.ListBundlesResponseInterface {\n bundles: Bundle[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBundlesResponse {\n let m = new ListBundlesResponse();\n m = Object.assign(m, proto);\n if (proto.bundles) {m.bundles = proto.bundles.map(Bundle.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBundlesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundles !== 'undefined' && this.bundles !== null) {toReturn['bundles'] = 'toApiJson' in this.bundles ? (this.bundles as any).toApiJson() : this.bundles;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class BundleItemPrice implements i.BundleItemPriceInterface {\n amount: number;\n setupFee: number;\n\n static fromProto(proto: any): BundleItemPrice {\n let m = new BundleItemPrice();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BundleItemPriceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class BundlePricingPriceAndFrequency implements i.BundlePricingPriceAndFrequencyInterface {\n frequency: e.Frequency;\n effectivePrice: number;\n initialPrice: number;\n setupFee: number;\n\n static fromProto(proto: any): BundlePricingPriceAndFrequency {\n let m = new BundlePricingPriceAndFrequency();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.effectivePrice) {m.effectivePrice = parseInt(proto.effectivePrice, 10);}\n if (proto.initialPrice) {m.initialPrice = parseInt(proto.initialPrice, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BundlePricingPriceAndFrequencyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.effectivePrice !== 'undefined') {toReturn['effectivePrice'] = this.effectivePrice;}\n if (typeof this.initialPrice !== 'undefined') {toReturn['initialPrice'] = this.initialPrice;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class UpsertBundleRequest implements i.UpsertBundleRequestInterface {\n merchantId: string;\n bundleId: string;\n name: string;\n items: BundleItem[];\n hideBundleDetails: boolean;\n\n static fromProto(proto: any): UpsertBundleRequest {\n let m = new UpsertBundleRequest();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(BundleItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.hideBundleDetails !== 'undefined') {toReturn['hideBundleDetails'] = this.hideBundleDetails;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Commitment implements i.CommitmentInterface {\n initial: number;\n recurring: number;\n\n static fromProto(proto: any): Commitment {\n let m = new Commitment();\n m = Object.assign(m, proto);\n if (proto.initial) {m.initial = parseInt(proto.initial, 10);}\n if (proto.recurring) {m.recurring = parseInt(proto.recurring, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CommitmentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.initial !== 'undefined') {toReturn['initial'] = this.initial;}\n if (typeof this.recurring !== 'undefined') {toReturn['recurring'] = this.recurring;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Contract implements i.ContractInterface {\n merchantId: string;\n netD: number;\n created: Date;\n subscriptionId: string;\n currency: e.Currency;\n signed: Date;\n activated: Date;\n modified: Date;\n verified: Date;\n status: string;\n creditLimit: number;\n dimension: string;\n pricingPlanId: string;\n end: Date;\n subscriptionUpdateStatus: e.ContractSubscriptionStatus;\n\n static fromProto(proto: any): Contract {\n let m = new Contract();\n m = Object.assign(m, proto);\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.signed) {m.signed = new Date(proto.signed);}\n if (proto.activated) {m.activated = new Date(proto.activated);}\n if (proto.modified) {m.modified = new Date(proto.modified);}\n if (proto.verified) {m.verified = new Date(proto.verified);}\n if (proto.creditLimit) {m.creditLimit = parseInt(proto.creditLimit, 10);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.subscriptionUpdateStatus) {m.subscriptionUpdateStatus = enumStringToValue<e.ContractSubscriptionStatus>(e.ContractSubscriptionStatus, proto.subscriptionUpdateStatus);}\n return m;\n }\n\n constructor(kwargs?: i.ContractInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.subscriptionId !== 'undefined') {toReturn['subscriptionId'] = this.subscriptionId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.signed !== 'undefined' && this.signed !== null) {toReturn['signed'] = 'toApiJson' in this.signed ? (this.signed as any).toApiJson() : this.signed;}\n if (typeof this.activated !== 'undefined' && this.activated !== null) {toReturn['activated'] = 'toApiJson' in this.activated ? (this.activated as any).toApiJson() : this.activated;}\n if (typeof this.modified !== 'undefined' && this.modified !== null) {toReturn['modified'] = 'toApiJson' in this.modified ? (this.modified as any).toApiJson() : this.modified;}\n if (typeof this.verified !== 'undefined' && this.verified !== null) {toReturn['verified'] = 'toApiJson' in this.verified ? (this.verified as any).toApiJson() : this.verified;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.creditLimit !== 'undefined') {toReturn['creditLimit'] = this.creditLimit;}\n if (typeof this.dimension !== 'undefined') {toReturn['dimension'] = this.dimension;}\n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.subscriptionUpdateStatus !== 'undefined') {toReturn['subscriptionUpdateStatus'] = this.subscriptionUpdateStatus;}\n return toReturn;\n }\n}\n\nexport class GetMultiContractsResponseContractsEntry implements i.GetMultiContractsResponseContractsEntryInterface {\n key: string;\n value: Contract;\n\n static fromProto(proto: any): GetMultiContractsResponseContractsEntry {\n let m = new GetMultiContractsResponseContractsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Contract.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiContractsResponseContractsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CreateContractRequest implements i.CreateContractRequestInterface {\n merchantId: string;\n currencyCode: string;\n\n static fromProto(proto: any): CreateContractRequest {\n let m = new CreateContractRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateContractRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class CreateContractResponse implements i.CreateContractResponseInterface {\n contract: Contract;\n\n static fromProto(proto: any): CreateContractResponse {\n let m = new CreateContractResponse();\n m = Object.assign(m, proto);\n if (proto.contract) {m.contract = Contract.fromProto(proto.contract);}\n return m;\n }\n\n constructor(kwargs?: i.CreateContractResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contract !== 'undefined' && this.contract !== null) {toReturn['contract'] = 'toApiJson' in this.contract ? (this.contract as any).toApiJson() : this.contract;}\n return toReturn;\n }\n}\n\nexport class GetContractRequest implements i.GetContractRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetContractRequest {\n let m = new GetContractRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetContractRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetContractResponse implements i.GetContractResponseInterface {\n contract: Contract;\n\n static fromProto(proto: any): GetContractResponse {\n let m = new GetContractResponse();\n m = Object.assign(m, proto);\n if (proto.contract) {m.contract = Contract.fromProto(proto.contract);}\n return m;\n }\n\n constructor(kwargs?: i.GetContractResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contract !== 'undefined' && this.contract !== null) {toReturn['contract'] = 'toApiJson' in this.contract ? (this.contract as any).toApiJson() : this.contract;}\n return toReturn;\n }\n}\n\nexport class GetMultiContractsRequest implements i.GetMultiContractsRequestInterface {\n merchantIds: string[];\n\n static fromProto(proto: any): GetMultiContractsRequest {\n let m = new GetMultiContractsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiContractsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantIds !== 'undefined') {toReturn['merchantIds'] = this.merchantIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiContractsResponse implements i.GetMultiContractsResponseInterface {\n contracts: {[key: string]: Contract};\n\n static fromProto(proto: any): GetMultiContractsResponse {\n let m = new GetMultiContractsResponse();\n m = Object.assign(m, proto);\n if (proto.contracts) {m.contracts = Object.keys(proto.contracts).reduce<any>((obj, k) => { obj[k] = Contract.fromProto(proto.contracts[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiContractsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contracts !== 'undefined' && this.contracts !== null) {toReturn['contracts'] = 'toApiJson' in this.contracts ? (this.contracts as any).toApiJson() : this.contracts;}\n return toReturn;\n }\n}\n\nexport class ListContractsRequest implements i.ListContractsRequestInterface {\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListContractsRequest {\n let m = new ListContractsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListContractsResponse implements i.ListContractsResponseInterface {\n contracts: Contract[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListContractsResponse {\n let m = new ListContractsResponse();\n m = Object.assign(m, proto);\n if (proto.contracts) {m.contracts = proto.contracts.map(Contract.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contracts !== 'undefined' && this.contracts !== null) {toReturn['contracts'] = 'toApiJson' in this.contracts ? (this.contracts as any).toApiJson() : this.contracts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class UpdateContractRequestMutation implements i.UpdateContractRequestMutationInterface {\n netD: number;\n currencyCode: string;\n status: string;\n dimension: string;\n signed: Date;\n activated: Date;\n end: Date;\n modified: Date;\n creditLimit: number;\n subscriptionId: string;\n\n static fromProto(proto: any): UpdateContractRequestMutation {\n let m = new UpdateContractRequestMutation();\n m = Object.assign(m, proto);\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n if (proto.signed) {m.signed = new Date(proto.signed);}\n if (proto.activated) {m.activated = new Date(proto.activated);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.modified) {m.modified = new Date(proto.modified);}\n if (proto.creditLimit) {m.creditLimit = parseInt(proto.creditLimit, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractRequestMutationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.dimension !== 'undefined') {toReturn['dimension'] = this.dimension;}\n if (typeof this.signed !== 'undefined' && this.signed !== null) {toReturn['signed'] = 'toApiJson' in this.signed ? (this.signed as any).toApiJson() : this.signed;}\n if (typeof this.activated !== 'undefined' && this.activated !== null) {toReturn['activated'] = 'toApiJson' in this.activated ? (this.activated as any).toApiJson() : this.activated;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.modified !== 'undefined' && this.modified !== null) {toReturn['modified'] = 'toApiJson' in this.modified ? (this.modified as any).toApiJson() : this.modified;}\n if (typeof this.creditLimit !== 'undefined') {toReturn['creditLimit'] = this.creditLimit;}\n if (typeof this.subscriptionId !== 'undefined') {toReturn['subscriptionId'] = this.subscriptionId;}\n return toReturn;\n }\n}\n\nexport class ResetContractPricingRequest implements i.ResetContractPricingRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): ResetContractPricingRequest {\n let m = new ResetContractPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ResetContractPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class UpdateContractRequest implements i.UpdateContractRequestInterface {\n merchantId: string;\n mutations: UpdateContractRequestMutation[];\n\n static fromProto(proto: any): UpdateContractRequest {\n let m = new UpdateContractRequest();\n m = Object.assign(m, proto);\n if (proto.mutations) {m.mutations = proto.mutations.map(UpdateContractRequestMutation.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {toReturn['mutations'] = 'toApiJson' in this.mutations ? (this.mutations as any).toApiJson() : this.mutations;}\n return toReturn;\n }\n}\n\nexport class UpdateContractResponse implements i.UpdateContractResponseInterface {\n contract: Contract;\n\n static fromProto(proto: any): UpdateContractResponse {\n let m = new UpdateContractResponse();\n m = Object.assign(m, proto);\n if (proto.contract) {m.contract = Contract.fromProto(proto.contract);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contract !== 'undefined' && this.contract !== null) {toReturn['contract'] = 'toApiJson' in this.contract ? (this.contract as any).toApiJson() : this.contract;}\n return toReturn;\n }\n}\n\nexport class UpdateContractSubscriptionRequest implements i.UpdateContractSubscriptionRequestInterface {\n merchantId: string;\n subscriptionId: string;\n frequency: e.Frequency;\n\n static fromProto(proto: any): UpdateContractSubscriptionRequest {\n let m = new UpdateContractSubscriptionRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateContractSubscriptionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.subscriptionId !== 'undefined') {toReturn['subscriptionId'] = this.subscriptionId;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CustomerSummary implements i.CustomerSummaryInterface {\n customerId: string;\n purchaseItemQuantity: number;\n purchaseItemTotal: number;\n currency: e.Currency;\n\n static fromProto(proto: any): CustomerSummary {\n let m = new CustomerSummary();\n m = Object.assign(m, proto);\n if (proto.purchaseItemQuantity) {m.purchaseItemQuantity = parseInt(proto.purchaseItemQuantity, 10);}\n if (proto.purchaseItemTotal) {m.purchaseItemTotal = parseInt(proto.purchaseItemTotal, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.CustomerSummaryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.purchaseItemQuantity !== 'undefined') {toReturn['purchaseItemQuantity'] = this.purchaseItemQuantity;}\n if (typeof this.purchaseItemTotal !== 'undefined') {toReturn['purchaseItemTotal'] = this.purchaseItemTotal;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n return toReturn;\n }\n}\n\nexport class GetMultiCustomerSummariesRequest implements i.GetMultiCustomerSummariesRequestInterface {\n customerIds: string[];\n merchantId: string;\n periodStart: Date;\n periodEnd: Date;\n\n static fromProto(proto: any): GetMultiCustomerSummariesRequest {\n let m = new GetMultiCustomerSummariesRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiCustomerSummariesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerIds !== 'undefined') {toReturn['customerIds'] = this.customerIds;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n return toReturn;\n }\n}\n\nexport class GetMultiCustomerSummariesResponse implements i.GetMultiCustomerSummariesResponseInterface {\n customerSummaries: CustomerSummary[];\n\n static fromProto(proto: any): GetMultiCustomerSummariesResponse {\n let m = new GetMultiCustomerSummariesResponse();\n m = Object.assign(m, proto);\n if (proto.customerSummaries) {m.customerSummaries = proto.customerSummaries.map(CustomerSummary.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiCustomerSummariesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerSummaries !== 'undefined' && this.customerSummaries !== null) {toReturn['customerSummaries'] = 'toApiJson' in this.customerSummaries ? (this.customerSummaries as any).toApiJson() : this.customerSummaries;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BankAccount implements i.BankAccountInterface {\n id: string;\n accountHolderName: string;\n bankName: string;\n country: string;\n currency: string;\n routingNumber: string;\n last4: string;\n defaultForCurrency: boolean;\n\n static fromProto(proto: any): BankAccount {\n let m = new BankAccount();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BankAccountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.accountHolderName !== 'undefined') {toReturn['accountHolderName'] = this.accountHolderName;}\n if (typeof this.bankName !== 'undefined') {toReturn['bankName'] = this.bankName;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.routingNumber !== 'undefined') {toReturn['routingNumber'] = this.routingNumber;}\n if (typeof this.last4 !== 'undefined') {toReturn['last4'] = this.last4;}\n if (typeof this.defaultForCurrency !== 'undefined') {toReturn['defaultForCurrency'] = this.defaultForCurrency;}\n return toReturn;\n }\n}\n\nexport class CreateStripeExternalAccountRequest implements i.CreateStripeExternalAccountRequestInterface {\n merchantId: string;\n stripeToken: string;\n\n static fromProto(proto: any): CreateStripeExternalAccountRequest {\n let m = new CreateStripeExternalAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateStripeExternalAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.stripeToken !== 'undefined') {toReturn['stripeToken'] = this.stripeToken;}\n return toReturn;\n }\n}\n\nexport class DeleteBankAccountRequest implements i.DeleteBankAccountRequestInterface {\n merchantId: string;\n bankAccountId: string;\n\n static fromProto(proto: any): DeleteBankAccountRequest {\n let m = new DeleteBankAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteBankAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bankAccountId !== 'undefined') {toReturn['bankAccountId'] = this.bankAccountId;}\n return toReturn;\n }\n}\n\nexport class ListBankAccountsRequest implements i.ListBankAccountsRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): ListBankAccountsRequest {\n let m = new ListBankAccountsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListBankAccountsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ListBankAccountsResponse implements i.ListBankAccountsResponseInterface {\n bankAccount: BankAccount[];\n\n static fromProto(proto: any): ListBankAccountsResponse {\n let m = new ListBankAccountsResponse();\n m = Object.assign(m, proto);\n if (proto.bankAccount) {m.bankAccount = proto.bankAccount.map(BankAccount.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListBankAccountsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bankAccount !== 'undefined' && this.bankAccount !== null) {toReturn['bankAccount'] = 'toApiJson' in this.bankAccount ? (this.bankAccount as any).toApiJson() : this.bankAccount;}\n return toReturn;\n }\n}\n\nexport class SetDefaultBankAccountRequest implements i.SetDefaultBankAccountRequestInterface {\n merchantId: string;\n bankAccountId: string;\n\n static fromProto(proto: any): SetDefaultBankAccountRequest {\n let m = new SetDefaultBankAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetDefaultBankAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bankAccountId !== 'undefined') {toReturn['bankAccountId'] = this.bankAccountId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedResponseMetadata, PagedRequestOptions } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ProductSummaryDiscount implements i.ProductSummaryDiscountInterface {\n type: e.ProductSummaryDiscountDiscountType;\n value: number;\n totalAmount: number;\n description: string;\n resetEachPeriod: boolean;\n\n static fromProto(proto: any): ProductSummaryDiscount {\n let m = new ProductSummaryDiscount();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ProductSummaryDiscountDiscountType>(e.ProductSummaryDiscountDiscountType, proto.type);}\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ProductSummaryDiscountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionRequestFilters implements i.ListSubscriptionRetentionRequestFiltersInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): ListSubscriptionRetentionRequestFilters {\n let m = new ListSubscriptionRetentionRequestFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\nexport class GetProductSummariesTotalRequest implements i.GetProductSummariesTotalRequestInterface {\n merchantId: string;\n startDate: Date;\n endDate: Date;\n\n static fromProto(proto: any): GetProductSummariesTotalRequest {\n let m = new GetProductSummariesTotalRequest();\n m = Object.assign(m, proto);\n if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n return m;\n }\n\n constructor(kwargs?: i.GetProductSummariesTotalRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n return toReturn;\n }\n}\n\nexport class GetProductSummariesTotalResponse implements i.GetProductSummariesTotalResponseInterface {\n totalAmount: number;\n\n static fromProto(proto: any): GetProductSummariesTotalResponse {\n let m = new GetProductSummariesTotalResponse();\n m = Object.assign(m, proto);\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetProductSummariesTotalResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n return toReturn;\n }\n}\n\nexport class ListProductSummariesRequest implements i.ListProductSummariesRequestInterface {\n merchantId: string;\n startDate: Date;\n endDate: Date;\n cursor: string;\n pageSize: number;\n skus: string[];\n\n static fromProto(proto: any): ListProductSummariesRequest {\n let m = new ListProductSummariesRequest();\n m = Object.assign(m, proto);\n if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductSummariesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class ListProductSummariesResponse implements i.ListProductSummariesResponseInterface {\n results: ProductSummary[];\n nextCursor: string;\n hasMore: boolean;\n totalResults: number;\n\n static fromProto(proto: any): ListProductSummariesResponse {\n let m = new ListProductSummariesResponse();\n m = Object.assign(m, proto);\n if (proto.results) {m.results = proto.results.map(ProductSummary.fromProto);}\n if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductSummariesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.results !== 'undefined' && this.results !== null) {toReturn['results'] = 'toApiJson' in this.results ? (this.results as any).toApiJson() : this.results;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionByGroupResponse implements i.ListSubscriptionRetentionByGroupResponseInterface {\n metricsByGroup: ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSubscriptionRetentionByGroupResponse {\n let m = new ListSubscriptionRetentionByGroupResponse();\n m = Object.assign(m, proto);\n if (proto.metricsByGroup) {m.metricsByGroup = proto.metricsByGroup.map(ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionByGroupResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.metricsByGroup !== 'undefined' && this.metricsByGroup !== null) {toReturn['metricsByGroup'] = 'toApiJson' in this.metricsByGroup ? (this.metricsByGroup as any).toApiJson() : this.metricsByGroup;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionBySKUResponse implements i.ListSubscriptionRetentionBySKUResponseInterface {\n subscriptionMetrics: RetentionMetrics[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSubscriptionRetentionBySKUResponse {\n let m = new ListSubscriptionRetentionBySKUResponse();\n m = Object.assign(m, proto);\n if (proto.subscriptionMetrics) {m.subscriptionMetrics = proto.subscriptionMetrics.map(RetentionMetrics.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionBySKUResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.subscriptionMetrics !== 'undefined' && this.subscriptionMetrics !== null) {toReturn['subscriptionMetrics'] = 'toApiJson' in this.subscriptionMetrics ? (this.subscriptionMetrics as any).toApiJson() : this.subscriptionMetrics;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionRequest implements i.ListSubscriptionRetentionRequestInterface {\n merchantId: string;\n filters: ListSubscriptionRetentionRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListSubscriptionRetentionRequest {\n let m = new ListSubscriptionRetentionRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSubscriptionRetentionRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class Pricing implements i.PricingInterface {\n type: e.PricingRuleType;\n rules: PricingRule[];\n\n static fromProto(proto: any): Pricing {\n let m = new Pricing();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.PricingRuleType>(e.PricingRuleType, proto.type);}\n if (proto.rules) {m.rules = proto.rules.map(PricingRule.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.PricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n return toReturn;\n }\n}\n\nexport class ProductSummary implements i.ProductSummaryInterface {\n sku: string;\n productName: string;\n totalQuantity: number;\n totalAmount: number;\n totalDiscount: number;\n pricing: Pricing;\n discounts: ProductSummaryDiscount[];\n billingStrategy: e.ProductSummaryBillingStrategy;\n productType: e.ProductSummaryProductType;\n frequency: e.Frequency;\n proratedPercent: number;\n volumeCommitment: number;\n setupFee: number;\n\n static fromProto(proto: any): ProductSummary {\n let m = new ProductSummary();\n m = Object.assign(m, proto);\n if (proto.totalQuantity) {m.totalQuantity = parseInt(proto.totalQuantity, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n if (proto.totalDiscount) {m.totalDiscount = parseInt(proto.totalDiscount, 10);}\n if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n if (proto.discounts) {m.discounts = proto.discounts.map(ProductSummaryDiscount.fromProto);}\n if (proto.billingStrategy) {m.billingStrategy = enumStringToValue<e.ProductSummaryBillingStrategy>(e.ProductSummaryBillingStrategy, proto.billingStrategy);}\n if (proto.productType) {m.productType = enumStringToValue<e.ProductSummaryProductType>(e.ProductSummaryProductType, proto.productType);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ProductSummaryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n if (typeof this.totalQuantity !== 'undefined') {toReturn['totalQuantity'] = this.totalQuantity;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.totalDiscount !== 'undefined') {toReturn['totalDiscount'] = this.totalDiscount;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n if (typeof this.billingStrategy !== 'undefined') {toReturn['billingStrategy'] = this.billingStrategy;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.proratedPercent !== 'undefined') {toReturn['proratedPercent'] = this.proratedPercent;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class RetentionMetrics implements i.RetentionMetricsInterface {\n sku: string;\n productName: string;\n startingCount: number;\n activations: number;\n deactivations: number;\n churn: number;\n retention: number;\n\n static fromProto(proto: any): RetentionMetrics {\n let m = new RetentionMetrics();\n m = Object.assign(m, proto);\n if (proto.startingCount) {m.startingCount = parseInt(proto.startingCount, 10);}\n if (proto.activations) {m.activations = parseInt(proto.activations, 10);}\n if (proto.deactivations) {m.deactivations = parseInt(proto.deactivations, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RetentionMetricsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productName !== 'undefined') {toReturn['productName'] = this.productName;}\n if (typeof this.startingCount !== 'undefined') {toReturn['startingCount'] = this.startingCount;}\n if (typeof this.activations !== 'undefined') {toReturn['activations'] = this.activations;}\n if (typeof this.deactivations !== 'undefined') {toReturn['deactivations'] = this.deactivations;}\n if (typeof this.churn !== 'undefined') {toReturn['churn'] = this.churn;}\n if (typeof this.retention !== 'undefined') {toReturn['retention'] = this.retention;}\n return toReturn;\n }\n}\n\nexport class PricingRule implements i.PricingRuleInterface {\n min: number;\n max: number;\n units: number;\n unitPrice: number;\n totalAmount: number;\n\n static fromProto(proto: any): PricingRule {\n let m = new PricingRule();\n m = Object.assign(m, proto);\n if (proto.min) {m.min = parseInt(proto.min, 10);}\n if (proto.max) {m.max = parseInt(proto.max, 10);}\n if (proto.units) {m.units = parseInt(proto.units, 10);}\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PricingRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.min !== 'undefined') {toReturn['min'] = this.min;}\n if (typeof this.max !== 'undefined') {toReturn['max'] = this.max;}\n if (typeof this.units !== 'undefined') {toReturn['units'] = this.units;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n return toReturn;\n }\n}\n\nexport class ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup implements i.ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroupInterface {\n groupId: string;\n subscriptionMetrics: RetentionMetrics[];\n\n static fromProto(proto: any): ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup {\n let m = new ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup();\n m = Object.assign(m, proto);\n if (proto.subscriptionMetrics) {m.subscriptionMetrics = proto.subscriptionMetrics.map(RetentionMetrics.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroupInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n if (typeof this.subscriptionMetrics !== 'undefined' && this.subscriptionMetrics !== null) {toReturn['subscriptionMetrics'] = 'toApiJson' in this.subscriptionMetrics ? (this.subscriptionMetrics as any).toApiJson() : this.subscriptionMetrics;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateDiscountRequest implements i.CreateDiscountRequestInterface {\n merchantId: string;\n sku: string;\n discountType: e.DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n description: string;\n\n static fromProto(proto: any): CreateDiscountRequest {\n let m = new CreateDiscountRequest();\n m = Object.assign(m, proto);\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.CreateDiscountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\nexport class Discount implements i.DiscountInterface {\n discountId: number;\n discountType: e.DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n merchantId: string;\n created: Date;\n updated: Date;\n sku: string;\n id: string;\n description: string;\n\n static fromProto(proto: any): Discount {\n let m = new Discount();\n m = Object.assign(m, proto);\n if (proto.discountId) {m.discountId = parseInt(proto.discountId, 10);}\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n return m;\n }\n\n constructor(kwargs?: i.DiscountInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.discountId !== 'undefined') {toReturn['discountId'] = this.discountId;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\nexport class ExpireDiscountRequest implements i.ExpireDiscountRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): ExpireDiscountRequest {\n let m = new ExpireDiscountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ExpireDiscountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ListDiscountsRequestFilters implements i.ListDiscountsRequestFiltersInterface {\n merchantId: string;\n expiry: Date;\n skus: string[];\n\n static fromProto(proto: any): ListDiscountsRequestFilters {\n let m = new ListDiscountsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.expiry) {m.expiry = new Date(proto.expiry);}\n return m;\n }\n\n constructor(kwargs?: i.ListDiscountsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.expiry !== 'undefined' && this.expiry !== null) {toReturn['expiry'] = 'toApiJson' in this.expiry ? (this.expiry as any).toApiJson() : this.expiry;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class ListDiscountsRequest implements i.ListDiscountsRequestInterface {\n filters: ListDiscountsRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListDiscountsRequest {\n let m = new ListDiscountsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListDiscountsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListDiscountsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListDiscountsResponse implements i.ListDiscountsResponseInterface {\n discounts: Discount[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListDiscountsResponse {\n let m = new ListDiscountsResponse();\n m = Object.assign(m, proto);\n if (proto.discounts) {m.discounts = proto.discounts.map(Discount.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListDiscountsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class UpdateDiscountRequest implements i.UpdateDiscountRequestInterface {\n merchantId: string;\n id: string;\n discountType: e.DiscountType;\n amount: number;\n start: Date;\n end: Date;\n resetEachPeriod: boolean;\n description: string;\n\n static fromProto(proto: any): UpdateDiscountRequest {\n let m = new UpdateDiscountRequest();\n m = Object.assign(m, proto);\n if (proto.discountType) {m.discountType = enumStringToValue<e.DiscountType>(e.DiscountType, proto.discountType);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateDiscountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.resetEachPeriod !== 'undefined') {toReturn['resetEachPeriod'] = this.resetEachPeriod;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedTaxRate implements i.AppliedTaxRateInterface {\n amount: number;\n taxRateId: string;\n name: string;\n percentage: number;\n\n static fromProto(proto: any): AppliedTaxRate {\n let m = new AppliedTaxRate();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedTaxRateInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.taxRateId !== 'undefined') {toReturn['taxRateId'] = this.taxRateId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ArchiveTaxRequest implements i.ArchiveTaxRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): ArchiveTaxRequest {\n let m = new ArchiveTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ArchiveTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class CalculateTaxRequest implements i.CalculateTaxRequestInterface {\n merchantId: string;\n customerId: string;\n amount: number;\n\n static fromProto(proto: any): CalculateTaxRequest {\n let m = new CalculateTaxRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CalculateTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n return toReturn;\n }\n}\n\nexport class CalculateTaxResponse implements i.CalculateTaxResponseInterface {\n taxableAmount: number;\n taxRates: TaxRate[];\n\n static fromProto(proto: any): CalculateTaxResponse {\n let m = new CalculateTaxResponse();\n m = Object.assign(m, proto);\n if (proto.taxableAmount) {m.taxableAmount = parseInt(proto.taxableAmount, 10);}\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CalculateTaxResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.taxableAmount !== 'undefined') {toReturn['taxableAmount'] = this.taxableAmount;}\n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n return toReturn;\n }\n}\n\nexport class CreateTaxRequest implements i.CreateTaxRequestInterface {\n merchantId: string;\n countryCode: string;\n stateCode: string;\n name: string;\n description: string;\n percentage: number;\n accountingSystemId: string;\n\n static fromProto(proto: any): CreateTaxRequest {\n let m = new CreateTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.stateCode !== 'undefined') {toReturn['stateCode'] = this.stateCode;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n if (typeof this.accountingSystemId !== 'undefined') {toReturn['accountingSystemId'] = this.accountingSystemId;}\n return toReturn;\n }\n}\n\nexport class ListTaxRequestFilters implements i.ListTaxRequestFiltersInterface {\n merchantId: string;\n includeArchived: boolean;\n\n static fromProto(proto: any): ListTaxRequestFilters {\n let m = new ListTaxRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListTaxRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.includeArchived !== 'undefined') {toReturn['includeArchived'] = this.includeArchived;}\n return toReturn;\n }\n}\n\nexport class GetMultiTaxRequest implements i.GetMultiTaxRequestInterface {\n merchantId: string;\n ids: string[];\n\n static fromProto(proto: any): GetMultiTaxRequest {\n let m = new GetMultiTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.ids !== 'undefined') {toReturn['ids'] = this.ids;}\n return toReturn;\n }\n}\n\nexport class GetMultiTaxResponse implements i.GetMultiTaxResponseInterface {\n taxRates: TaxRate[];\n\n static fromProto(proto: any): GetMultiTaxResponse {\n let m = new GetMultiTaxResponse();\n m = Object.assign(m, proto);\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiTaxResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n return toReturn;\n }\n}\n\nexport class ListTaxRequest implements i.ListTaxRequestInterface {\n filters: ListTaxRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListTaxRequest {\n let m = new ListTaxRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListTaxRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListTaxResponse implements i.ListTaxResponseInterface {\n taxRates: TaxRate[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListTaxResponse {\n let m = new ListTaxResponse();\n m = Object.assign(m, proto);\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListTaxResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class TaxRate implements i.TaxRateInterface {\n id: string;\n merchantId: string;\n countryCode: string;\n stateCode: string;\n name: string;\n description: string;\n percentage: number;\n accountingSystemId: string;\n archived: Date;\n\n static fromProto(proto: any): TaxRate {\n let m = new TaxRate();\n m = Object.assign(m, proto);\n if (proto.archived) {m.archived = new Date(proto.archived);}\n return m;\n }\n\n constructor(kwargs?: i.TaxRateInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.stateCode !== 'undefined') {toReturn['stateCode'] = this.stateCode;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n if (typeof this.accountingSystemId !== 'undefined') {toReturn['accountingSystemId'] = this.accountingSystemId;}\n if (typeof this.archived !== 'undefined' && this.archived !== null) {toReturn['archived'] = 'toApiJson' in this.archived ? (this.archived as any).toApiJson() : this.archived;}\n return toReturn;\n }\n}\n\nexport class UpdateTaxRequest implements i.UpdateTaxRequestInterface {\n merchantId: string;\n id: string;\n countryCode: string;\n stateCode: string;\n name: string;\n description: string;\n percentage: number;\n accountingSystemId: string;\n\n static fromProto(proto: any): UpdateTaxRequest {\n let m = new UpdateTaxRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateTaxRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.stateCode !== 'undefined') {toReturn['stateCode'] = this.stateCode;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.percentage !== 'undefined') {toReturn['percentage'] = this.percentage;}\n if (typeof this.accountingSystemId !== 'undefined') {toReturn['accountingSystemId'] = this.accountingSystemId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedBundle implements i.AppliedBundleInterface {\n bundleId: string;\n name: string;\n bundleItems: AppliedBundleItem[];\n hideBundleItems: boolean;\n bundleInstanceId: string;\n\n static fromProto(proto: any): AppliedBundle {\n let m = new AppliedBundle();\n m = Object.assign(m, proto);\n if (proto.bundleItems) {m.bundleItems = proto.bundleItems.map(AppliedBundleItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedBundleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.bundleItems !== 'undefined' && this.bundleItems !== null) {toReturn['bundleItems'] = 'toApiJson' in this.bundleItems ? (this.bundleItems as any).toApiJson() : this.bundleItems;}\n if (typeof this.hideBundleItems !== 'undefined') {toReturn['hideBundleItems'] = this.hideBundleItems;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class AppliedBundleItem implements i.AppliedBundleItemInterface {\n productId: string;\n discountType: string;\n discountAmount: number;\n quantity: number;\n\n static fromProto(proto: any): AppliedBundleItem {\n let m = new AppliedBundleItem();\n m = Object.assign(m, proto);\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedBundleItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n if (typeof this.discountType !== 'undefined') {toReturn['discountType'] = this.discountType;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { AppliedBundle } from './applied-bundle';\nimport { AppliedDiscount } from './applied-discount';\nimport { AppliedTaxRate } from './applied-tax-rate';\nimport { FieldMask } from './field-mask';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport { TaxRate } from './tax-rate';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddBundleRequest implements i.AddBundleRequestInterface {\n invoiceId: string;\n merchantId: string;\n bundleId: string;\n\n static fromProto(proto: any): AddBundleRequest {\n let m = new AddBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n return toReturn;\n }\n}\n\nexport class AddBundleResponse implements i.AddBundleResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): AddBundleResponse {\n let m = new AddBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.AddBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class AddLineItemRequest implements i.AddLineItemRequestInterface {\n merchantId: string;\n invoiceId: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): AddLineItemRequest {\n let m = new AddLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AddLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class AddLineItemResponse implements i.AddLineItemResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): AddLineItemResponse {\n let m = new AddLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.AddLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class ChargeInvoiceRequest implements i.ChargeInvoiceRequestInterface {\n merchantId: string;\n customerId: string;\n invoiceId: string;\n paymentMethodId: string;\n\n static fromProto(proto: any): ChargeInvoiceRequest {\n let m = new ChargeInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ChargeInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.paymentMethodId !== 'undefined') {toReturn['paymentMethodId'] = this.paymentMethodId;}\n return toReturn;\n }\n}\n\nexport class CreateInvoiceRequest implements i.CreateInvoiceRequestInterface {\n merchantId: string;\n customerId: string;\n currencyCode: string;\n orderId: string;\n\n static fromProto(proto: any): CreateInvoiceRequest {\n let m = new CreateInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class CreateInvoiceResponse implements i.CreateInvoiceResponseInterface {\n invoiceId: string;\n\n static fromProto(proto: any): CreateInvoiceResponse {\n let m = new CreateInvoiceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class InvoiceCustomerAddress implements i.InvoiceCustomerAddressInterface {\n address: string;\n city: string;\n state: string;\n zip: string;\n country: string;\n address2: string;\n\n static fromProto(proto: any): InvoiceCustomerAddress {\n let m = new InvoiceCustomerAddress();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.InvoiceCustomerAddressInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.zip !== 'undefined') {toReturn['zip'] = this.zip;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.address2 !== 'undefined') {toReturn['address2'] = this.address2;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesRequestFiltersDateFilter implements i.ListInvoicesRequestFiltersDateFilterInterface {\n dateField: e.ListInvoicesRequestFiltersDateFilterDateField;\n dateLte: Date;\n dateGte: Date;\n\n static fromProto(proto: any): ListInvoicesRequestFiltersDateFilter {\n let m = new ListInvoicesRequestFiltersDateFilter();\n m = Object.assign(m, proto);\n if (proto.dateField) {m.dateField = enumStringToValue<e.ListInvoicesRequestFiltersDateFilterDateField>(e.ListInvoicesRequestFiltersDateFilterDateField, proto.dateField);}\n if (proto.dateLte) {m.dateLte = new Date(proto.dateLte);}\n if (proto.dateGte) {m.dateGte = new Date(proto.dateGte);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesRequestFiltersDateFilterInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dateField !== 'undefined') {toReturn['dateField'] = this.dateField;}\n if (typeof this.dateLte !== 'undefined' && this.dateLte !== null) {toReturn['dateLte'] = 'toApiJson' in this.dateLte ? (this.dateLte as any).toApiJson() : this.dateLte;}\n if (typeof this.dateGte !== 'undefined' && this.dateGte !== null) {toReturn['dateGte'] = 'toApiJson' in this.dateGte ? (this.dateGte as any).toApiJson() : this.dateGte;}\n return toReturn;\n }\n}\n\nexport class DeleteInvoiceRequest implements i.DeleteInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): DeleteInvoiceRequest {\n let m = new DeleteInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class DeleteLineItemRequest implements i.DeleteLineItemRequestInterface {\n merchantId: string;\n invoiceId: string;\n id: string;\n\n static fromProto(proto: any): DeleteLineItemRequest {\n let m = new DeleteLineItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteLineItemResponse implements i.DeleteLineItemResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): DeleteLineItemResponse {\n let m = new DeleteLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.DeleteLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class DuplicateInvoiceRequest implements i.DuplicateInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): DuplicateInvoiceRequest {\n let m = new DuplicateInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DuplicateInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class DuplicateInvoiceResponse implements i.DuplicateInvoiceResponseInterface {\n invoiceId: string;\n\n static fromProto(proto: any): DuplicateInvoiceResponse {\n let m = new DuplicateInvoiceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DuplicateInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesRequestFilters implements i.ListInvoicesRequestFiltersInterface {\n merchantId: string;\n customerId: string;\n statuses: e.InvoiceStatus[];\n pastDue: boolean;\n number: string;\n dateFilter: ListInvoicesRequestFiltersDateFilter;\n\n static fromProto(proto: any): ListInvoicesRequestFilters {\n let m = new ListInvoicesRequestFilters();\n m = Object.assign(m, proto);\n if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.InvoiceStatus>(e.InvoiceStatus, v));}\n if (proto.dateFilter) {m.dateFilter = ListInvoicesRequestFiltersDateFilter.fromProto(proto.dateFilter);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n if (typeof this.pastDue !== 'undefined') {toReturn['pastDue'] = this.pastDue;}\n if (typeof this.number !== 'undefined') {toReturn['number'] = this.number;}\n if (typeof this.dateFilter !== 'undefined' && this.dateFilter !== null) {toReturn['dateFilter'] = 'toApiJson' in this.dateFilter ? (this.dateFilter as any).toApiJson() : this.dateFilter;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceRequest implements i.GetInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): GetInvoiceRequest {\n let m = new GetInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceResponse implements i.GetInvoiceResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): GetInvoiceResponse {\n let m = new GetInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class Invoice implements i.InvoiceInterface {\n merchantId: string;\n id: string;\n number: string;\n customerId: string;\n status: e.InvoiceStatus;\n subtotal: number;\n total: number;\n amountPaid: number;\n issued: Date;\n due: Date;\n created: Date;\n updated: Date;\n items: InvoiceItem[];\n currency: e.Currency;\n paid: Date;\n orderId: string;\n amountTax: number;\n appliedTaxes: AppliedTaxRate[];\n defaultTaxRates: TaxRate[];\n appliedBundles: AppliedBundle[];\n amountDiscount: number;\n customerName: string;\n origin: string;\n collectionMethod: string;\n contactId: string;\n memo: string;\n voided: Date;\n defaultPaymentMethod: string;\n customerAddress: InvoiceCustomerAddress;\n externalCustomerIdentifier: string;\n\n static fromProto(proto: any): Invoice {\n let m = new Invoice();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.InvoiceStatus>(e.InvoiceStatus, proto.status);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.amountPaid) {m.amountPaid = parseInt(proto.amountPaid, 10);}\n if (proto.issued) {m.issued = new Date(proto.issued);}\n if (proto.due) {m.due = new Date(proto.due);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.items) {m.items = proto.items.map(InvoiceItem.fromProto);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.paid) {m.paid = new Date(proto.paid);}\n if (proto.amountTax) {m.amountTax = parseInt(proto.amountTax, 10);}\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.defaultTaxRates) {m.defaultTaxRates = proto.defaultTaxRates.map(TaxRate.fromProto);}\n if (proto.appliedBundles) {m.appliedBundles = proto.appliedBundles.map(AppliedBundle.fromProto);}\n if (proto.amountDiscount) {m.amountDiscount = parseInt(proto.amountDiscount, 10);}\n if (proto.voided) {m.voided = new Date(proto.voided);}\n if (proto.customerAddress) {m.customerAddress = InvoiceCustomerAddress.fromProto(proto.customerAddress);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.number !== 'undefined') {toReturn['number'] = this.number;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.amountPaid !== 'undefined') {toReturn['amountPaid'] = this.amountPaid;}\n if (typeof this.issued !== 'undefined' && this.issued !== null) {toReturn['issued'] = 'toApiJson' in this.issued ? (this.issued as any).toApiJson() : this.issued;}\n if (typeof this.due !== 'undefined' && this.due !== null) {toReturn['due'] = 'toApiJson' in this.due ? (this.due as any).toApiJson() : this.due;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.paid !== 'undefined' && this.paid !== null) {toReturn['paid'] = 'toApiJson' in this.paid ? (this.paid as any).toApiJson() : this.paid;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.amountTax !== 'undefined') {toReturn['amountTax'] = this.amountTax;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.defaultTaxRates !== 'undefined' && this.defaultTaxRates !== null) {toReturn['defaultTaxRates'] = 'toApiJson' in this.defaultTaxRates ? (this.defaultTaxRates as any).toApiJson() : this.defaultTaxRates;}\n if (typeof this.appliedBundles !== 'undefined' && this.appliedBundles !== null) {toReturn['appliedBundles'] = 'toApiJson' in this.appliedBundles ? (this.appliedBundles as any).toApiJson() : this.appliedBundles;}\n if (typeof this.amountDiscount !== 'undefined') {toReturn['amountDiscount'] = this.amountDiscount;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.memo !== 'undefined') {toReturn['memo'] = this.memo;}\n if (typeof this.voided !== 'undefined' && this.voided !== null) {toReturn['voided'] = 'toApiJson' in this.voided ? (this.voided as any).toApiJson() : this.voided;}\n if (typeof this.defaultPaymentMethod !== 'undefined') {toReturn['defaultPaymentMethod'] = this.defaultPaymentMethod;}\n if (typeof this.customerAddress !== 'undefined' && this.customerAddress !== null) {toReturn['customerAddress'] = 'toApiJson' in this.customerAddress ? (this.customerAddress as any).toApiJson() : this.customerAddress;}\n if (typeof this.externalCustomerIdentifier !== 'undefined') {toReturn['externalCustomerIdentifier'] = this.externalCustomerIdentifier;}\n return toReturn;\n }\n}\n\nexport class InvoiceItem implements i.InvoiceItemInterface {\n id: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n total: number;\n appliedTaxes: AppliedTaxRate[];\n taxRates: TaxRate[];\n bundleId: string;\n discounts: AppliedDiscount[];\n subtotal: number;\n bundleInstanceId: string;\n\n static fromProto(proto: any): InvoiceItem {\n let m = new InvoiceItem();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n if (proto.discounts) {m.discounts = proto.discounts.map(AppliedDiscount.fromProto);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesRequest implements i.ListInvoicesRequestInterface {\n filters: ListInvoicesRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListInvoicesRequest {\n let m = new ListInvoicesRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListInvoicesRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListInvoicesResponse implements i.ListInvoicesResponseInterface {\n invoices: Invoice[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListInvoicesResponse {\n let m = new ListInvoicesResponse();\n m = Object.assign(m, proto);\n if (proto.invoices) {m.invoices = proto.invoices.map(Invoice.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListInvoicesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoices !== 'undefined' && this.invoices !== null) {toReturn['invoices'] = 'toApiJson' in this.invoices ? (this.invoices as any).toApiJson() : this.invoices;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PayInvoiceRequest implements i.PayInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): PayInvoiceRequest {\n let m = new PayInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PayInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class RemoveBundleRequest implements i.RemoveBundleRequestInterface {\n invoiceId: string;\n merchantId: string;\n bundleId: string;\n bundleInstanceId: string;\n\n static fromProto(proto: any): RemoveBundleRequest {\n let m = new RemoveBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RemoveBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class RemoveBundleResponse implements i.RemoveBundleResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): RemoveBundleResponse {\n let m = new RemoveBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.RemoveBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class SendInvoiceRequest implements i.SendInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n emailAddresses: string[];\n languageCode: string;\n\n static fromProto(proto: any): SendInvoiceRequest {\n let m = new SendInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.emailAddresses !== 'undefined') {toReturn['emailAddresses'] = this.emailAddresses;}\n if (typeof this.languageCode !== 'undefined') {toReturn['languageCode'] = this.languageCode;}\n return toReturn;\n }\n}\n\nexport class UpdateBundleRequest implements i.UpdateBundleRequestInterface {\n merchantId: string;\n invoiceId: string;\n bundleId: string;\n hideBundleItems: boolean;\n bundleInstanceId: string;\n\n static fromProto(proto: any): UpdateBundleRequest {\n let m = new UpdateBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.hideBundleItems !== 'undefined') {toReturn['hideBundleItems'] = this.hideBundleItems;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n return toReturn;\n }\n}\n\nexport class UpdateBundleResponse implements i.UpdateBundleResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateBundleResponse {\n let m = new UpdateBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class UpdateDefaultTaxRatesRequest implements i.UpdateDefaultTaxRatesRequestInterface {\n invoiceId: string;\n merchantId: string;\n taxRateIds: string[];\n\n static fromProto(proto: any): UpdateDefaultTaxRatesRequest {\n let m = new UpdateDefaultTaxRatesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateDefaultTaxRatesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n return toReturn;\n }\n}\n\nexport class UpdateDefaultTaxRatesResponse implements i.UpdateDefaultTaxRatesResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateDefaultTaxRatesResponse {\n let m = new UpdateDefaultTaxRatesResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateDefaultTaxRatesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class UpdateInvoiceRequest implements i.UpdateInvoiceRequestInterface {\n invoice: Invoice;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateInvoiceRequest {\n let m = new UpdateInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateInvoiceResponse implements i.UpdateInvoiceResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateInvoiceResponse {\n let m = new UpdateInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class UpdateLineItemRequest implements i.UpdateLineItemRequestInterface {\n merchantId: string;\n invoiceId: string;\n id: string;\n sku: string;\n amount: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): UpdateLineItemRequest {\n let m = new UpdateLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class UpdateLineItemResponse implements i.UpdateLineItemResponseInterface {\n invoice: Invoice;\n\n static fromProto(proto: any): UpdateLineItemResponse {\n let m = new UpdateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = Invoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class VoidInvoiceRequest implements i.VoidInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): VoidInvoiceRequest {\n let m = new VoidInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.VoidInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Balance implements i.BalanceInterface {\n currencyCode: string;\n amount: number;\n futurePayouts: number;\n inTransit: number;\n\n static fromProto(proto: any): Balance {\n let m = new Balance();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.futurePayouts) {m.futurePayouts = parseInt(proto.futurePayouts, 10);}\n if (proto.inTransit) {m.inTransit = parseInt(proto.inTransit, 10);}\n return m;\n }\n\n constructor(kwargs?: i.BalanceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.futurePayouts !== 'undefined') {toReturn['futurePayouts'] = this.futurePayouts;}\n if (typeof this.inTransit !== 'undefined') {toReturn['inTransit'] = this.inTransit;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateRange implements i.DateRangeInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): DateRange {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.DateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ListPayoutsRequestFilters implements i.ListPayoutsRequestFiltersInterface {\n arrivalDateRange: DateRange;\n\n static fromProto(proto: any): ListPayoutsRequestFilters {\n let m = new ListPayoutsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.arrivalDateRange) {m.arrivalDateRange = DateRange.fromProto(proto.arrivalDateRange);}\n return m;\n }\n\n constructor(kwargs?: i.ListPayoutsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.arrivalDateRange !== 'undefined' && this.arrivalDateRange !== null) {toReturn['arrivalDateRange'] = 'toApiJson' in this.arrivalDateRange ? (this.arrivalDateRange as any).toApiJson() : this.arrivalDateRange;}\n return toReturn;\n }\n}\n\nexport class ListPayoutsRequest implements i.ListPayoutsRequestInterface {\n filters: ListPayoutsRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPayoutsRequest {\n let m = new ListPayoutsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPayoutsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPayoutsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPayoutsResponse implements i.ListPayoutsResponseInterface {\n payouts: Payout[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPayoutsResponse {\n let m = new ListPayoutsResponse();\n m = Object.assign(m, proto);\n if (proto.payouts) {m.payouts = proto.payouts.map(Payout.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPayoutsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payouts !== 'undefined' && this.payouts !== null) {toReturn['payouts'] = 'toApiJson' in this.payouts ? (this.payouts as any).toApiJson() : this.payouts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Payout implements i.PayoutInterface {\n id: string;\n arrivalDate: Date;\n amount: number;\n currency: e.Currency;\n status: e.PayoutStatus;\n type: e.PayoutType;\n lastFourDigits: string;\n bankName: string;\n bankId: string;\n\n static fromProto(proto: any): Payout {\n let m = new Payout();\n m = Object.assign(m, proto);\n if (proto.arrivalDate) {m.arrivalDate = new Date(proto.arrivalDate);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.status) {m.status = enumStringToValue<e.PayoutStatus>(e.PayoutStatus, proto.status);}\n if (proto.type) {m.type = enumStringToValue<e.PayoutType>(e.PayoutType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.PayoutInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.arrivalDate !== 'undefined' && this.arrivalDate !== null) {toReturn['arrivalDate'] = 'toApiJson' in this.arrivalDate ? (this.arrivalDate as any).toApiJson() : this.arrivalDate;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n if (typeof this.bankName !== 'undefined') {toReturn['bankName'] = this.bankName;}\n if (typeof this.bankId !== 'undefined') {toReturn['bankId'] = this.bankId;}\n return toReturn;\n }\n}\n\nexport class ReconcilePayoutRequest implements i.ReconcilePayoutRequestInterface {\n bankReconciliationId: string;\n payoutId: string;\n allowRetries: boolean;\n\n static fromProto(proto: any): ReconcilePayoutRequest {\n let m = new ReconcilePayoutRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReconcilePayoutRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.bankReconciliationId !== 'undefined') {toReturn['bankReconciliationId'] = this.bankReconciliationId;}\n if (typeof this.payoutId !== 'undefined') {toReturn['payoutId'] = this.payoutId;}\n if (typeof this.allowRetries !== 'undefined') {toReturn['allowRetries'] = this.allowRetries;}\n return toReturn;\n }\n}\n\nexport class ReconcilePayoutResponse implements i.ReconcilePayoutResponseInterface {\n pipelineId: string;\n\n static fromProto(proto: any): ReconcilePayoutResponse {\n let m = new ReconcilePayoutResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReconcilePayoutResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pipelineId !== 'undefined') {toReturn['pipelineId'] = this.pipelineId;}\n return toReturn;\n }\n}\n\nexport class RetailPayout implements i.RetailPayoutInterface {\n id: string;\n arrivalDate: Date;\n amount: number;\n currencyCode: string;\n status: e.PayoutStatus;\n type: e.PayoutType;\n lastFourDigits: string;\n bankName: string;\n bankId: string;\n failureCode: string;\n failureMessage: string;\n\n static fromProto(proto: any): RetailPayout {\n let m = new RetailPayout();\n m = Object.assign(m, proto);\n if (proto.arrivalDate) {m.arrivalDate = new Date(proto.arrivalDate);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.status) {m.status = enumStringToValue<e.PayoutStatus>(e.PayoutStatus, proto.status);}\n if (proto.type) {m.type = enumStringToValue<e.PayoutType>(e.PayoutType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.RetailPayoutInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.arrivalDate !== 'undefined' && this.arrivalDate !== null) {toReturn['arrivalDate'] = 'toApiJson' in this.arrivalDate ? (this.arrivalDate as any).toApiJson() : this.arrivalDate;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n if (typeof this.bankName !== 'undefined') {toReturn['bankName'] = this.bankName;}\n if (typeof this.bankId !== 'undefined') {toReturn['bankId'] = this.bankId;}\n if (typeof this.failureCode !== 'undefined') {toReturn['failureCode'] = this.failureCode;}\n if (typeof this.failureMessage !== 'undefined') {toReturn['failureMessage'] = this.failureMessage;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Balance } from './balance';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport { RetailPayout } from './payout';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ChargeSalesInvoiceRequest implements i.ChargeSalesInvoiceRequestInterface {\n merchantId: string;\n invoiceId: string;\n amount: number;\n\n static fromProto(proto: any): ChargeSalesInvoiceRequest {\n let m = new ChargeSalesInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ChargeSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n return toReturn;\n }\n}\n\nexport class ConnectStripeAccountRequest implements i.ConnectStripeAccountRequestInterface {\n countryCode: string;\n failureUrl: string;\n successUrl: string;\n merchantId: string;\n\n static fromProto(proto: any): ConnectStripeAccountRequest {\n let m = new ConnectStripeAccountRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConnectStripeAccountRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.countryCode !== 'undefined') {toReturn['countryCode'] = this.countryCode;}\n if (typeof this.failureUrl !== 'undefined') {toReturn['failureUrl'] = this.failureUrl;}\n if (typeof this.successUrl !== 'undefined') {toReturn['successUrl'] = this.successUrl;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ConnectStripeAccountResponse implements i.ConnectStripeAccountResponseInterface {\n stripeUrl: string;\n error: string;\n\n static fromProto(proto: any): ConnectStripeAccountResponse {\n let m = new ConnectStripeAccountResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConnectStripeAccountResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.stripeUrl !== 'undefined') {toReturn['stripeUrl'] = this.stripeUrl;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n return toReturn;\n }\n}\n\nexport class CreateMerchantRequest implements i.CreateMerchantRequestInterface {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n additionalEmailAddresses: string[];\n includeInFinancialRecords: CreateMerchantRequestIncludeInFinancialRecords;\n hasAlternativePaymentMethod: boolean;\n\n static fromProto(proto: any): CreateMerchantRequest {\n let m = new CreateMerchantRequest();\n m = Object.assign(m, proto);\n if (proto.includeInFinancialRecords) {m.includeInFinancialRecords = CreateMerchantRequestIncludeInFinancialRecords.fromProto(proto.includeInFinancialRecords);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMerchantRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n if (typeof this.additionalEmailAddresses !== 'undefined') {toReturn['additionalEmailAddresses'] = this.additionalEmailAddresses;}\n if (typeof this.includeInFinancialRecords !== 'undefined' && this.includeInFinancialRecords !== null) {toReturn['includeInFinancialRecords'] = 'toApiJson' in this.includeInFinancialRecords ? (this.includeInFinancialRecords as any).toApiJson() : this.includeInFinancialRecords;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n return toReturn;\n }\n}\n\nexport class DefaultCustomerConfiguration implements i.DefaultCustomerConfigurationInterface {\n generateMethod: string;\n collectionMethod: string;\n invoiceDay: number;\n\n static fromProto(proto: any): DefaultCustomerConfiguration {\n let m = new DefaultCustomerConfiguration();\n m = Object.assign(m, proto);\n if (proto.invoiceDay) {m.invoiceDay = parseInt(proto.invoiceDay, 10);}\n return m;\n }\n\n constructor(kwargs?: i.DefaultCustomerConfigurationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.generateMethod !== 'undefined') {toReturn['generateMethod'] = this.generateMethod;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.invoiceDay !== 'undefined') {toReturn['invoiceDay'] = this.invoiceDay;}\n return toReturn;\n }\n}\n\nexport class GetMerchantRequest implements i.GetMerchantRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetMerchantRequest {\n let m = new GetMerchantRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMerchantRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetMerchantResponse implements i.GetMerchantResponseInterface {\n merchant: Merchant;\n\n static fromProto(proto: any): GetMerchantResponse {\n let m = new GetMerchantResponse();\n m = Object.assign(m, proto);\n if (proto.merchant) {m.merchant = Merchant.fromProto(proto.merchant);}\n return m;\n }\n\n constructor(kwargs?: i.GetMerchantResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchant !== 'undefined' && this.merchant !== null) {toReturn['merchant'] = 'toApiJson' in this.merchant ? (this.merchant as any).toApiJson() : this.merchant;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailConfigurationsRequest implements i.GetMultiRetailConfigurationsRequestInterface {\n merchantId: string;\n retailGroupIds: string[];\n\n static fromProto(proto: any): GetMultiRetailConfigurationsRequest {\n let m = new GetMultiRetailConfigurationsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailConfigurationsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupIds !== 'undefined') {toReturn['retailGroupIds'] = this.retailGroupIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailConfigurationsResponse implements i.GetMultiRetailConfigurationsResponseInterface {\n retailConfigurations: {[key: string]: RetailConfiguration};\n\n static fromProto(proto: any): GetMultiRetailConfigurationsResponse {\n let m = new GetMultiRetailConfigurationsResponse();\n m = Object.assign(m, proto);\n if (proto.retailConfigurations) {m.retailConfigurations = Object.keys(proto.retailConfigurations).reduce<any>((obj, k) => { obj[k] = RetailConfiguration.fromProto(proto.retailConfigurations[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailConfigurationsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.retailConfigurations !== 'undefined' && this.retailConfigurations !== null) {toReturn['retailConfigurations'] = 'toApiJson' in this.retailConfigurations ? (this.retailConfigurations as any).toApiJson() : this.retailConfigurations;}\n return toReturn;\n }\n}\n\nexport class GetOutstandingBalanceRequest implements i.GetOutstandingBalanceRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetOutstandingBalanceRequest {\n let m = new GetOutstandingBalanceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetOutstandingBalanceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetOutstandingBalanceResponse implements i.GetOutstandingBalanceResponseInterface {\n outstandingBalance: number;\n currency: e.Currency;\n\n static fromProto(proto: any): GetOutstandingBalanceResponse {\n let m = new GetOutstandingBalanceResponse();\n m = Object.assign(m, proto);\n if (proto.outstandingBalance) {m.outstandingBalance = parseInt(proto.outstandingBalance, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.GetOutstandingBalanceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.outstandingBalance !== 'undefined') {toReturn['outstandingBalance'] = this.outstandingBalance;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n return toReturn;\n }\n}\n\nexport class GetPayoutSummaryRequest implements i.GetPayoutSummaryRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetPayoutSummaryRequest {\n let m = new GetPayoutSummaryRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetPayoutSummaryRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetPayoutSummaryResponse implements i.GetPayoutSummaryResponseInterface {\n balances: Balance[];\n nextInTransitPayoutExpectedDate: Date;\n payoutInterval: string;\n payoutDelayDays: number;\n\n static fromProto(proto: any): GetPayoutSummaryResponse {\n let m = new GetPayoutSummaryResponse();\n m = Object.assign(m, proto);\n if (proto.balances) {m.balances = proto.balances.map(Balance.fromProto);}\n if (proto.nextInTransitPayoutExpectedDate) {m.nextInTransitPayoutExpectedDate = new Date(proto.nextInTransitPayoutExpectedDate);}\n if (proto.payoutDelayDays) {m.payoutDelayDays = parseInt(proto.payoutDelayDays, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetPayoutSummaryResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.balances !== 'undefined' && this.balances !== null) {toReturn['balances'] = 'toApiJson' in this.balances ? (this.balances as any).toApiJson() : this.balances;}\n if (typeof this.nextInTransitPayoutExpectedDate !== 'undefined' && this.nextInTransitPayoutExpectedDate !== null) {toReturn['nextInTransitPayoutExpectedDate'] = 'toApiJson' in this.nextInTransitPayoutExpectedDate ? (this.nextInTransitPayoutExpectedDate as any).toApiJson() : this.nextInTransitPayoutExpectedDate;}\n if (typeof this.payoutInterval !== 'undefined') {toReturn['payoutInterval'] = this.payoutInterval;}\n if (typeof this.payoutDelayDays !== 'undefined') {toReturn['payoutDelayDays'] = this.payoutDelayDays;}\n return toReturn;\n }\n}\n\nexport class GetRetailBalanceRequest implements i.GetRetailBalanceRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetRetailBalanceRequest {\n let m = new GetRetailBalanceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailBalanceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetRetailBalanceResponse implements i.GetRetailBalanceResponseInterface {\n balances: Balance[];\n\n static fromProto(proto: any): GetRetailBalanceResponse {\n let m = new GetRetailBalanceResponse();\n m = Object.assign(m, proto);\n if (proto.balances) {m.balances = proto.balances.map(Balance.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailBalanceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.balances !== 'undefined' && this.balances !== null) {toReturn['balances'] = 'toApiJson' in this.balances ? (this.balances as any).toApiJson() : this.balances;}\n return toReturn;\n }\n}\n\nexport class GetRetailPayoutRequest implements i.GetRetailPayoutRequestInterface {\n merchantId: string;\n payoutId: string;\n\n static fromProto(proto: any): GetRetailPayoutRequest {\n let m = new GetRetailPayoutRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPayoutRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.payoutId !== 'undefined') {toReturn['payoutId'] = this.payoutId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPayoutResponse implements i.GetRetailPayoutResponseInterface {\n payout: RetailPayout;\n\n static fromProto(proto: any): GetRetailPayoutResponse {\n let m = new GetRetailPayoutResponse();\n m = Object.assign(m, proto);\n if (proto.payout) {m.payout = RetailPayout.fromProto(proto.payout);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPayoutResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payout !== 'undefined' && this.payout !== null) {toReturn['payout'] = 'toApiJson' in this.payout ? (this.payout as any).toApiJson() : this.payout;}\n return toReturn;\n }\n}\n\nexport class UpdateMerchantRequestIncludeInFinancialRecords implements i.UpdateMerchantRequestIncludeInFinancialRecordsInterface {\n includeInFinancialRecords: boolean;\n\n static fromProto(proto: any): UpdateMerchantRequestIncludeInFinancialRecords {\n let m = new UpdateMerchantRequestIncludeInFinancialRecords();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateMerchantRequestIncludeInFinancialRecordsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n return toReturn;\n }\n}\n\nexport class CreateMerchantRequestIncludeInFinancialRecords implements i.CreateMerchantRequestIncludeInFinancialRecordsInterface {\n includeInFinancialRecords: boolean;\n\n static fromProto(proto: any): CreateMerchantRequestIncludeInFinancialRecords {\n let m = new CreateMerchantRequestIncludeInFinancialRecords();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateMerchantRequestIncludeInFinancialRecordsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n return toReturn;\n }\n}\n\nexport class ListRetailPayoutsRequest implements i.ListRetailPayoutsRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListRetailPayoutsRequest {\n let m = new ListRetailPayoutsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPayoutsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListRetailPayoutsResponse implements i.ListRetailPayoutsResponseInterface {\n payouts: RetailPayout[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRetailPayoutsResponse {\n let m = new ListRetailPayoutsResponse();\n m = Object.assign(m, proto);\n if (proto.payouts) {m.payouts = proto.payouts.map(RetailPayout.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPayoutsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payouts !== 'undefined' && this.payouts !== null) {toReturn['payouts'] = 'toApiJson' in this.payouts ? (this.payouts as any).toApiJson() : this.payouts;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Merchant implements i.MerchantInterface {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n autoPostInvoices: boolean;\n autoChargeInvoices: boolean;\n includeInFinancialRecords: boolean;\n additionalEmailAddresses: string[];\n hasAlternativePaymentMethod: boolean;\n stripeAccountId: string;\n\n static fromProto(proto: any): Merchant {\n let m = new Merchant();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MerchantInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n if (typeof this.autoPostInvoices !== 'undefined') {toReturn['autoPostInvoices'] = this.autoPostInvoices;}\n if (typeof this.autoChargeInvoices !== 'undefined') {toReturn['autoChargeInvoices'] = this.autoChargeInvoices;}\n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n if (typeof this.additionalEmailAddresses !== 'undefined') {toReturn['additionalEmailAddresses'] = this.additionalEmailAddresses;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n if (typeof this.stripeAccountId !== 'undefined') {toReturn['stripeAccountId'] = this.stripeAccountId;}\n return toReturn;\n }\n}\n\nexport class RetailConfiguration implements i.RetailConfigurationInterface {\n merchantId: string;\n retailGroupId: string;\n currencyCode: string;\n defaultCustomerConfiguration: DefaultCustomerConfiguration;\n currencyConversionRate: number;\n\n static fromProto(proto: any): RetailConfiguration {\n let m = new RetailConfiguration();\n m = Object.assign(m, proto);\n if (proto.defaultCustomerConfiguration) {m.defaultCustomerConfiguration = DefaultCustomerConfiguration.fromProto(proto.defaultCustomerConfiguration);}\n if (proto.currencyConversionRate) {m.currencyConversionRate = parseInt(proto.currencyConversionRate, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RetailConfigurationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupId !== 'undefined') {toReturn['retailGroupId'] = this.retailGroupId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.defaultCustomerConfiguration !== 'undefined' && this.defaultCustomerConfiguration !== null) {toReturn['defaultCustomerConfiguration'] = 'toApiJson' in this.defaultCustomerConfiguration ? (this.defaultCustomerConfiguration as any).toApiJson() : this.defaultCustomerConfiguration;}\n if (typeof this.currencyConversionRate !== 'undefined') {toReturn['currencyConversionRate'] = this.currencyConversionRate;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailConfigurationsResponseRetailConfigurationsEntry implements i.GetMultiRetailConfigurationsResponseRetailConfigurationsEntryInterface {\n key: string;\n value: RetailConfiguration;\n\n static fromProto(proto: any): GetMultiRetailConfigurationsResponseRetailConfigurationsEntry {\n let m = new GetMultiRetailConfigurationsResponseRetailConfigurationsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = RetailConfiguration.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailConfigurationsResponseRetailConfigurationsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class SearchMerchantsRequest implements i.SearchMerchantsRequestInterface {\n searchTerm: string;\n sortBy: e.SearchMerchantsRequestSortBy;\n sortDirection: e.SortDirection;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): SearchMerchantsRequest {\n let m = new SearchMerchantsRequest();\n m = Object.assign(m, proto);\n if (proto.sortBy) {m.sortBy = enumStringToValue<e.SearchMerchantsRequestSortBy>(e.SearchMerchantsRequestSortBy, proto.sortBy);}\n if (proto.sortDirection) {m.sortDirection = enumStringToValue<e.SortDirection>(e.SortDirection, proto.sortDirection);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.SearchMerchantsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.sortBy !== 'undefined') {toReturn['sortBy'] = this.sortBy;}\n if (typeof this.sortDirection !== 'undefined') {toReturn['sortDirection'] = this.sortDirection;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class SearchMerchantsResponse implements i.SearchMerchantsResponseInterface {\n merchants: Merchant[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): SearchMerchantsResponse {\n let m = new SearchMerchantsResponse();\n m = Object.assign(m, proto);\n if (proto.merchants) {m.merchants = proto.merchants.map(Merchant.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.SearchMerchantsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchants !== 'undefined' && this.merchants !== null) {toReturn['merchants'] = 'toApiJson' in this.merchants ? (this.merchants as any).toApiJson() : this.merchants;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SetAutoChargeInvoicesRequest implements i.SetAutoChargeInvoicesRequestInterface {\n merchantId: string;\n autoChargeInvoices: boolean;\n\n static fromProto(proto: any): SetAutoChargeInvoicesRequest {\n let m = new SetAutoChargeInvoicesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetAutoChargeInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.autoChargeInvoices !== 'undefined') {toReturn['autoChargeInvoices'] = this.autoChargeInvoices;}\n return toReturn;\n }\n}\n\nexport class SetAutoPostInvoicesRequest implements i.SetAutoPostInvoicesRequestInterface {\n merchantId: string;\n shouldAutoPostInvoices: boolean;\n\n static fromProto(proto: any): SetAutoPostInvoicesRequest {\n let m = new SetAutoPostInvoicesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetAutoPostInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.shouldAutoPostInvoices !== 'undefined') {toReturn['shouldAutoPostInvoices'] = this.shouldAutoPostInvoices;}\n return toReturn;\n }\n}\n\nexport class SetDefaultPaymentCardRequest implements i.SetDefaultPaymentCardRequestInterface {\n merchantId: string;\n cardId: string;\n\n static fromProto(proto: any): SetDefaultPaymentCardRequest {\n let m = new SetDefaultPaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetDefaultPaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.cardId !== 'undefined') {toReturn['cardId'] = this.cardId;}\n return toReturn;\n }\n}\n\nexport class SetHasAlternativePaymentMethodRequest implements i.SetHasAlternativePaymentMethodRequestInterface {\n merchantId: string;\n hasAlternativePaymentMethod: boolean;\n\n static fromProto(proto: any): SetHasAlternativePaymentMethodRequest {\n let m = new SetHasAlternativePaymentMethodRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetHasAlternativePaymentMethodRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n return toReturn;\n }\n}\n\nexport class SetIncludeInFinancialRecordsRequest implements i.SetIncludeInFinancialRecordsRequestInterface {\n merchantId: string;\n includeInFinancialRecords: boolean;\n\n static fromProto(proto: any): SetIncludeInFinancialRecordsRequest {\n let m = new SetIncludeInFinancialRecordsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetIncludeInFinancialRecordsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.includeInFinancialRecords !== 'undefined') {toReturn['includeInFinancialRecords'] = this.includeInFinancialRecords;}\n return toReturn;\n }\n}\n\nexport class UpdateMerchantRequest implements i.UpdateMerchantRequestInterface {\n merchantId: string;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n emailAddress: string;\n phoneNumber: string;\n contactName: string;\n companyName: string;\n additionalEmailAddresses: string[];\n includeInFinancialRecords: UpdateMerchantRequestIncludeInFinancialRecords;\n hasAlternativePaymentMethod: boolean;\n\n static fromProto(proto: any): UpdateMerchantRequest {\n let m = new UpdateMerchantRequest();\n m = Object.assign(m, proto);\n if (proto.includeInFinancialRecords) {m.includeInFinancialRecords = UpdateMerchantRequestIncludeInFinancialRecords.fromProto(proto.includeInFinancialRecords);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMerchantRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n if (typeof this.additionalEmailAddresses !== 'undefined') {toReturn['additionalEmailAddresses'] = this.additionalEmailAddresses;}\n if (typeof this.includeInFinancialRecords !== 'undefined' && this.includeInFinancialRecords !== null) {toReturn['includeInFinancialRecords'] = 'toApiJson' in this.includeInFinancialRecords ? (this.includeInFinancialRecords as any).toApiJson() : this.includeInFinancialRecords;}\n if (typeof this.hasAlternativePaymentMethod !== 'undefined') {toReturn['hasAlternativePaymentMethod'] = this.hasAlternativePaymentMethod;}\n return toReturn;\n }\n}\n\nexport class UpsertDefaultRetailCustomerConfigurationRequest implements i.UpsertDefaultRetailCustomerConfigurationRequestInterface {\n merchantId: string;\n retailGroupId: string;\n defaultCustomerConfiguration: DefaultCustomerConfiguration;\n\n static fromProto(proto: any): UpsertDefaultRetailCustomerConfigurationRequest {\n let m = new UpsertDefaultRetailCustomerConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.defaultCustomerConfiguration) {m.defaultCustomerConfiguration = DefaultCustomerConfiguration.fromProto(proto.defaultCustomerConfiguration);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertDefaultRetailCustomerConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupId !== 'undefined') {toReturn['retailGroupId'] = this.retailGroupId;}\n if (typeof this.defaultCustomerConfiguration !== 'undefined' && this.defaultCustomerConfiguration !== null) {toReturn['defaultCustomerConfiguration'] = 'toApiJson' in this.defaultCustomerConfiguration ? (this.defaultCustomerConfiguration as any).toApiJson() : this.defaultCustomerConfiguration;}\n return toReturn;\n }\n}\n\nexport class UpsertRetailConfigurationRequest implements i.UpsertRetailConfigurationRequestInterface {\n merchantId: string;\n retailGroupId: string;\n currencyCode: string;\n currencyConversionRate: number;\n\n static fromProto(proto: any): UpsertRetailConfigurationRequest {\n let m = new UpsertRetailConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.currencyConversionRate) {m.currencyConversionRate = parseInt(proto.currencyConversionRate, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.retailGroupId !== 'undefined') {toReturn['retailGroupId'] = this.retailGroupId;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.currencyConversionRate !== 'undefined') {toReturn['currencyConversionRate'] = this.currencyConversionRate;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ListMerchantBillingReportsRequest implements i.ListMerchantBillingReportsRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListMerchantBillingReportsRequest {\n let m = new ListMerchantBillingReportsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListMerchantBillingReportsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListMerchantBillingReportsResponse implements i.ListMerchantBillingReportsResponseInterface {\n reports: MerchantReport[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListMerchantBillingReportsResponse {\n let m = new ListMerchantBillingReportsResponse();\n m = Object.assign(m, proto);\n if (proto.reports) {m.reports = proto.reports.map(MerchantReport.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListMerchantBillingReportsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.reports !== 'undefined' && this.reports !== null) {toReturn['reports'] = 'toApiJson' in this.reports ? (this.reports as any).toApiJson() : this.reports;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class MerchantReport implements i.MerchantReportInterface {\n merchantId: string;\n year: number;\n month: e.Month;\n created: Date;\n status: e.MerchantReportStatus;\n\n static fromProto(proto: any): MerchantReport {\n let m = new MerchantReport();\n m = Object.assign(m, proto);\n if (proto.year) {m.year = parseInt(proto.year, 10);}\n if (proto.month) {m.month = enumStringToValue<e.Month>(e.Month, proto.month);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.status) {m.status = enumStringToValue<e.MerchantReportStatus>(e.MerchantReportStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.MerchantReportInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.year !== 'undefined') {toReturn['year'] = this.year;}\n if (typeof this.month !== 'undefined') {toReturn['month'] = this.month;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateMeteredComponentRequest implements i.CreateMeteredComponentRequestInterface {\n component: MeteredComponent;\n sku: string;\n\n static fromProto(proto: any): CreateMeteredComponentRequest {\n let m = new CreateMeteredComponentRequest();\n m = Object.assign(m, proto);\n if (proto.component) {m.component = MeteredComponent.fromProto(proto.component);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMeteredComponentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.component !== 'undefined' && this.component !== null) {toReturn['component'] = 'toApiJson' in this.component ? (this.component as any).toApiJson() : this.component;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class MeteredComponent implements i.MeteredComponentInterface {\n componentId: string;\n name: string;\n\n static fromProto(proto: any): MeteredComponent {\n let m = new MeteredComponent();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MeteredComponentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.componentId !== 'undefined') {toReturn['componentId'] = this.componentId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class TickComponentUsageRequest implements i.TickComponentUsageRequestInterface {\n merchantId: string;\n customerId: string;\n componentId: string;\n orderId: string;\n sku: string;\n quantity: number;\n idempotencyKey: string;\n\n static fromProto(proto: any): TickComponentUsageRequest {\n let m = new TickComponentUsageRequest();\n m = Object.assign(m, proto);\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.TickComponentUsageRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.componentId !== 'undefined') {toReturn['componentId'] = this.componentId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class RetailPaymentCardDetails implements i.RetailPaymentCardDetailsInterface {\n cardType: e.CardType;\n lastFourDigits: string;\n\n static fromProto(proto: any): RetailPaymentCardDetails {\n let m = new RetailPaymentCardDetails();\n m = Object.assign(m, proto);\n if (proto.cardType) {m.cardType = enumStringToValue<e.CardType>(e.CardType, proto.cardType);}\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentCardDetailsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cardType !== 'undefined') {toReturn['cardType'] = this.cardType;}\n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n return toReturn;\n }\n}\n\nexport class CloseRetailDisputeRequest implements i.CloseRetailDisputeRequestInterface {\n merchantId: string;\n disputeId: string;\n\n static fromProto(proto: any): CloseRetailDisputeRequest {\n let m = new CloseRetailDisputeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CloseRetailDisputeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.disputeId !== 'undefined') {toReturn['disputeId'] = this.disputeId;}\n return toReturn;\n }\n}\n\nexport class ConfigureRetailPaymentProviderRequest implements i.ConfigureRetailPaymentProviderRequestInterface {\n merchantId: string;\n failureUrl: string;\n successUrl: string;\n\n static fromProto(proto: any): ConfigureRetailPaymentProviderRequest {\n let m = new ConfigureRetailPaymentProviderRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConfigureRetailPaymentProviderRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.failureUrl !== 'undefined') {toReturn['failureUrl'] = this.failureUrl;}\n if (typeof this.successUrl !== 'undefined') {toReturn['successUrl'] = this.successUrl;}\n return toReturn;\n }\n}\n\nexport class ConfigureRetailPaymentProviderResponse implements i.ConfigureRetailPaymentProviderResponseInterface {\n stripeUrl: string;\n error: string;\n\n static fromProto(proto: any): ConfigureRetailPaymentProviderResponse {\n let m = new ConfigureRetailPaymentProviderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConfigureRetailPaymentProviderResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.stripeUrl !== 'undefined') {toReturn['stripeUrl'] = this.stripeUrl;}\n if (typeof this.error !== 'undefined') {toReturn['error'] = this.error;}\n return toReturn;\n }\n}\n\nexport class ConfirmRetailPaymentRequest implements i.ConfirmRetailPaymentRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): ConfirmRetailPaymentRequest {\n let m = new ConfirmRetailPaymentRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ConfirmRetailPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class Dispute implements i.DisputeInterface {\n paymentId: string;\n status: e.DisputeStatus;\n id: string;\n amount: number;\n created: Date;\n currencyCode: string;\n evidence: DisputeEvidence;\n evidenceDetails: DisputeEvidenceDetails;\n isChargeRefundable: boolean;\n reason: string;\n fee: number;\n feeCurrencyCode: string;\n\n static fromProto(proto: any): Dispute {\n let m = new Dispute();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.DisputeStatus>(e.DisputeStatus, proto.status);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.evidence) {m.evidence = DisputeEvidence.fromProto(proto.evidence);}\n if (proto.evidenceDetails) {m.evidenceDetails = DisputeEvidenceDetails.fromProto(proto.evidenceDetails);}\n if (proto.fee) {m.fee = parseInt(proto.fee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.DisputeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.evidence !== 'undefined' && this.evidence !== null) {toReturn['evidence'] = 'toApiJson' in this.evidence ? (this.evidence as any).toApiJson() : this.evidence;}\n if (typeof this.evidenceDetails !== 'undefined' && this.evidenceDetails !== null) {toReturn['evidenceDetails'] = 'toApiJson' in this.evidenceDetails ? (this.evidenceDetails as any).toApiJson() : this.evidenceDetails;}\n if (typeof this.isChargeRefundable !== 'undefined') {toReturn['isChargeRefundable'] = this.isChargeRefundable;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n if (typeof this.fee !== 'undefined') {toReturn['fee'] = this.fee;}\n if (typeof this.feeCurrencyCode !== 'undefined') {toReturn['feeCurrencyCode'] = this.feeCurrencyCode;}\n return toReturn;\n }\n}\n\nexport class DisputeEvidence implements i.DisputeEvidenceInterface {\n customerCommunication: File;\n customerSignature: File;\n shippingDocumentation: File;\n receipt: File;\n uncategorizedFile: File;\n billingAddress: string;\n customerEmailAddress: string;\n customerName: string;\n productDescription: string;\n\n static fromProto(proto: any): DisputeEvidence {\n let m = new DisputeEvidence();\n m = Object.assign(m, proto);\n if (proto.customerCommunication) {m.customerCommunication = File.fromProto(proto.customerCommunication);}\n if (proto.customerSignature) {m.customerSignature = File.fromProto(proto.customerSignature);}\n if (proto.shippingDocumentation) {m.shippingDocumentation = File.fromProto(proto.shippingDocumentation);}\n if (proto.receipt) {m.receipt = File.fromProto(proto.receipt);}\n if (proto.uncategorizedFile) {m.uncategorizedFile = File.fromProto(proto.uncategorizedFile);}\n return m;\n }\n\n constructor(kwargs?: i.DisputeEvidenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerCommunication !== 'undefined' && this.customerCommunication !== null) {toReturn['customerCommunication'] = 'toApiJson' in this.customerCommunication ? (this.customerCommunication as any).toApiJson() : this.customerCommunication;}\n if (typeof this.customerSignature !== 'undefined' && this.customerSignature !== null) {toReturn['customerSignature'] = 'toApiJson' in this.customerSignature ? (this.customerSignature as any).toApiJson() : this.customerSignature;}\n if (typeof this.shippingDocumentation !== 'undefined' && this.shippingDocumentation !== null) {toReturn['shippingDocumentation'] = 'toApiJson' in this.shippingDocumentation ? (this.shippingDocumentation as any).toApiJson() : this.shippingDocumentation;}\n if (typeof this.receipt !== 'undefined' && this.receipt !== null) {toReturn['receipt'] = 'toApiJson' in this.receipt ? (this.receipt as any).toApiJson() : this.receipt;}\n if (typeof this.uncategorizedFile !== 'undefined' && this.uncategorizedFile !== null) {toReturn['uncategorizedFile'] = 'toApiJson' in this.uncategorizedFile ? (this.uncategorizedFile as any).toApiJson() : this.uncategorizedFile;}\n if (typeof this.billingAddress !== 'undefined') {toReturn['billingAddress'] = this.billingAddress;}\n if (typeof this.customerEmailAddress !== 'undefined') {toReturn['customerEmailAddress'] = this.customerEmailAddress;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.productDescription !== 'undefined') {toReturn['productDescription'] = this.productDescription;}\n return toReturn;\n }\n}\n\nexport class SubmitEvidenceRequestDisputeEvidence implements i.SubmitEvidenceRequestDisputeEvidenceInterface {\n billingAddress: string;\n customerEmailAddress: string;\n customerName: string;\n productDescription: string;\n customerSignatureFileId: string;\n customerCommunicationFileId: string;\n receiptFileId: string;\n shippingDocumentationFileId: string;\n uncategorizedFileId: string;\n\n static fromProto(proto: any): SubmitEvidenceRequestDisputeEvidence {\n let m = new SubmitEvidenceRequestDisputeEvidence();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SubmitEvidenceRequestDisputeEvidenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.billingAddress !== 'undefined') {toReturn['billingAddress'] = this.billingAddress;}\n if (typeof this.customerEmailAddress !== 'undefined') {toReturn['customerEmailAddress'] = this.customerEmailAddress;}\n if (typeof this.customerName !== 'undefined') {toReturn['customerName'] = this.customerName;}\n if (typeof this.productDescription !== 'undefined') {toReturn['productDescription'] = this.productDescription;}\n if (typeof this.customerSignatureFileId !== 'undefined') {toReturn['customerSignatureFileId'] = this.customerSignatureFileId;}\n if (typeof this.customerCommunicationFileId !== 'undefined') {toReturn['customerCommunicationFileId'] = this.customerCommunicationFileId;}\n if (typeof this.receiptFileId !== 'undefined') {toReturn['receiptFileId'] = this.receiptFileId;}\n if (typeof this.shippingDocumentationFileId !== 'undefined') {toReturn['shippingDocumentationFileId'] = this.shippingDocumentationFileId;}\n if (typeof this.uncategorizedFileId !== 'undefined') {toReturn['uncategorizedFileId'] = this.uncategorizedFileId;}\n return toReturn;\n }\n}\n\nexport class DisputeEvidenceDetails implements i.DisputeEvidenceDetailsInterface {\n dueBy: Date;\n hasEvidence: boolean;\n pastDue: boolean;\n submissionCount: number;\n\n static fromProto(proto: any): DisputeEvidenceDetails {\n let m = new DisputeEvidenceDetails();\n m = Object.assign(m, proto);\n if (proto.dueBy) {m.dueBy = new Date(proto.dueBy);}\n if (proto.submissionCount) {m.submissionCount = parseInt(proto.submissionCount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.DisputeEvidenceDetailsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dueBy !== 'undefined' && this.dueBy !== null) {toReturn['dueBy'] = 'toApiJson' in this.dueBy ? (this.dueBy as any).toApiJson() : this.dueBy;}\n if (typeof this.hasEvidence !== 'undefined') {toReturn['hasEvidence'] = this.hasEvidence;}\n if (typeof this.pastDue !== 'undefined') {toReturn['pastDue'] = this.pastDue;}\n if (typeof this.submissionCount !== 'undefined') {toReturn['submissionCount'] = this.submissionCount;}\n return toReturn;\n }\n}\n\nexport class File implements i.FileInterface {\n created: Date;\n id: string;\n filename: string;\n url: string;\n\n static fromProto(proto: any): File {\n let m = new File();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n return m;\n }\n\n constructor(kwargs?: i.FileInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.filename !== 'undefined') {toReturn['filename'] = this.filename;}\n if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n return toReturn;\n }\n}\n\nexport class GetRetailDisputeRequest implements i.GetRetailDisputeRequestInterface {\n merchantId: string;\n disputeId: string;\n\n static fromProto(proto: any): GetRetailDisputeRequest {\n let m = new GetRetailDisputeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailDisputeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.disputeId !== 'undefined') {toReturn['disputeId'] = this.disputeId;}\n return toReturn;\n }\n}\n\nexport class GetRetailDisputeResponse implements i.GetRetailDisputeResponseInterface {\n dispute: Dispute;\n\n static fromProto(proto: any): GetRetailDisputeResponse {\n let m = new GetRetailDisputeResponse();\n m = Object.assign(m, proto);\n if (proto.dispute) {m.dispute = Dispute.fromProto(proto.dispute);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailDisputeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dispute !== 'undefined' && this.dispute !== null) {toReturn['dispute'] = 'toApiJson' in this.dispute ? (this.dispute as any).toApiJson() : this.dispute;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentProviderRequest implements i.GetRetailPaymentProviderRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetRetailPaymentProviderRequest {\n let m = new GetRetailPaymentProviderRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentProviderRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentProviderResponse implements i.GetRetailPaymentProviderResponseInterface {\n statementDescriptor: string;\n stripeConnectId: string;\n\n static fromProto(proto: any): GetRetailPaymentProviderResponse {\n let m = new GetRetailPaymentProviderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentProviderResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.statementDescriptor !== 'undefined') {toReturn['statementDescriptor'] = this.statementDescriptor;}\n if (typeof this.stripeConnectId !== 'undefined') {toReturn['stripeConnectId'] = this.stripeConnectId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentRequest implements i.GetRetailPaymentRequestInterface {\n merchantId: string;\n paymentId: string;\n\n static fromProto(proto: any): GetRetailPaymentRequest {\n let m = new GetRetailPaymentRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n return toReturn;\n }\n}\n\nexport class GetRetailPaymentResponse implements i.GetRetailPaymentResponseInterface {\n payment: RetailPayment;\n\n static fromProto(proto: any): GetRetailPaymentResponse {\n let m = new GetRetailPaymentResponse();\n m = Object.assign(m, proto);\n if (proto.payment) {m.payment = RetailPayment.fromProto(proto.payment);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailPaymentResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payment !== 'undefined' && this.payment !== null) {toReturn['payment'] = 'toApiJson' in this.payment ? (this.payment as any).toApiJson() : this.payment;}\n return toReturn;\n }\n}\n\nexport class ListPaymentRequestListPaymentFilters implements i.ListPaymentRequestListPaymentFiltersInterface {\n merchantId: string;\n allocationIds: string[];\n start: Date;\n end: Date;\n\n static fromProto(proto: any): ListPaymentRequestListPaymentFilters {\n let m = new ListPaymentRequestListPaymentFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentRequestListPaymentFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.allocationIds !== 'undefined') {toReturn['allocationIds'] = this.allocationIds;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\nexport class ListPaymentRequest implements i.ListPaymentRequestInterface {\n filters: ListPaymentRequestListPaymentFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPaymentRequest {\n let m = new ListPaymentRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPaymentRequestListPaymentFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPaymentResponse implements i.ListPaymentResponseInterface {\n payments: Payment[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPaymentResponse {\n let m = new ListPaymentResponse();\n m = Object.assign(m, proto);\n if (proto.payments) {m.payments = proto.payments.map(Payment.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payments !== 'undefined' && this.payments !== null) {toReturn['payments'] = 'toApiJson' in this.payments ? (this.payments as any).toApiJson() : this.payments;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListRetailDisputesRequest implements i.ListRetailDisputesRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListRetailDisputesRequest {\n let m = new ListRetailDisputesRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailDisputesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListRetailDisputesResponse implements i.ListRetailDisputesResponseInterface {\n disputes: Dispute[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRetailDisputesResponse {\n let m = new ListRetailDisputesResponse();\n m = Object.assign(m, proto);\n if (proto.disputes) {m.disputes = proto.disputes.map(Dispute.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailDisputesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.disputes !== 'undefined' && this.disputes !== null) {toReturn['disputes'] = 'toApiJson' in this.disputes ? (this.disputes as any).toApiJson() : this.disputes;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListRetailPaymentsRequestListRetailPaymentsFilters implements i.ListRetailPaymentsRequestListRetailPaymentsFiltersInterface {\n payoutId: string;\n customerId: string;\n createdDateGte: Date;\n createdDateLte: Date;\n\n static fromProto(proto: any): ListRetailPaymentsRequestListRetailPaymentsFilters {\n let m = new ListRetailPaymentsRequestListRetailPaymentsFilters();\n m = Object.assign(m, proto);\n if (proto.createdDateGte) {m.createdDateGte = new Date(proto.createdDateGte);}\n if (proto.createdDateLte) {m.createdDateLte = new Date(proto.createdDateLte);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPaymentsRequestListRetailPaymentsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payoutId !== 'undefined') {toReturn['payoutId'] = this.payoutId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.createdDateGte !== 'undefined' && this.createdDateGte !== null) {toReturn['createdDateGte'] = 'toApiJson' in this.createdDateGte ? (this.createdDateGte as any).toApiJson() : this.createdDateGte;}\n if (typeof this.createdDateLte !== 'undefined' && this.createdDateLte !== null) {toReturn['createdDateLte'] = 'toApiJson' in this.createdDateLte ? (this.createdDateLte as any).toApiJson() : this.createdDateLte;}\n return toReturn;\n }\n}\n\nexport class ListRetailPaymentsRequest implements i.ListRetailPaymentsRequestInterface {\n merchantId: string;\n pagingOptions: PagedRequestOptions;\n filters: ListRetailPaymentsRequestListRetailPaymentsFilters;\n\n static fromProto(proto: any): ListRetailPaymentsRequest {\n let m = new ListRetailPaymentsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListRetailPaymentsRequestListRetailPaymentsFilters.fromProto(proto.filters);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPaymentsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n return toReturn;\n }\n}\n\nexport class ListRetailPaymentsResponse implements i.ListRetailPaymentsResponseInterface {\n payments: RetailPayment[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRetailPaymentsResponse {\n let m = new ListRetailPaymentsResponse();\n m = Object.assign(m, proto);\n if (proto.payments) {m.payments = proto.payments.map(RetailPayment.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRetailPaymentsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.payments !== 'undefined' && this.payments !== null) {toReturn['payments'] = 'toApiJson' in this.payments ? (this.payments as any).toApiJson() : this.payments;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PrepareRetailPaymentRequestOrder implements i.PrepareRetailPaymentRequestOrderInterface {\n orderId: string;\n amount: number;\n currencyCode: string;\n paymentMethodId: string;\n\n static fromProto(proto: any): PrepareRetailPaymentRequestOrder {\n let m = new PrepareRetailPaymentRequestOrder();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PrepareRetailPaymentRequestOrderInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.paymentMethodId !== 'undefined') {toReturn['paymentMethodId'] = this.paymentMethodId;}\n return toReturn;\n }\n}\n\nexport class Payment implements i.PaymentInterface {\n merchantId: string;\n created: Date;\n currency: e.Currency;\n paymentSource: e.PaymentSource;\n allocations: PaymentPaymentAllocation[];\n total: number;\n description: string;\n externalReferenceId: string;\n status: e.PaymentStatus;\n\n static fromProto(proto: any): Payment {\n let m = new Payment();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.paymentSource) {m.paymentSource = enumStringToValue<e.PaymentSource>(e.PaymentSource, proto.paymentSource);}\n if (proto.allocations) {m.allocations = proto.allocations.map(PaymentPaymentAllocation.fromProto);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.status) {m.status = enumStringToValue<e.PaymentStatus>(e.PaymentStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.PaymentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.paymentSource !== 'undefined') {toReturn['paymentSource'] = this.paymentSource;}\n if (typeof this.allocations !== 'undefined' && this.allocations !== null) {toReturn['allocations'] = 'toApiJson' in this.allocations ? (this.allocations as any).toApiJson() : this.allocations;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.externalReferenceId !== 'undefined') {toReturn['externalReferenceId'] = this.externalReferenceId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\nexport class PaymentPaymentAllocation implements i.PaymentPaymentAllocationInterface {\n referenceId: string;\n amount: number;\n type: e.PaymentAllocationType;\n\n static fromProto(proto: any): PaymentPaymentAllocation {\n let m = new PaymentPaymentAllocation();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.type) {m.type = enumStringToValue<e.PaymentAllocationType>(e.PaymentAllocationType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.PaymentPaymentAllocationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class PrepareRetailPaymentRequest implements i.PrepareRetailPaymentRequestInterface {\n merchantId: string;\n customerId: string;\n invoiceId: string;\n order: PrepareRetailPaymentRequestOrder;\n\n static fromProto(proto: any): PrepareRetailPaymentRequest {\n let m = new PrepareRetailPaymentRequest();\n m = Object.assign(m, proto);\n if (proto.order) {m.order = PrepareRetailPaymentRequestOrder.fromProto(proto.order);}\n return m;\n }\n\n constructor(kwargs?: i.PrepareRetailPaymentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n return toReturn;\n }\n}\n\nexport class PrepareRetailPaymentResponse implements i.PrepareRetailPaymentResponseInterface {\n stripeClientSecret: string;\n intentId: string;\n\n static fromProto(proto: any): PrepareRetailPaymentResponse {\n let m = new PrepareRetailPaymentResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PrepareRetailPaymentResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.stripeClientSecret !== 'undefined') {toReturn['stripeClientSecret'] = this.stripeClientSecret;}\n if (typeof this.intentId !== 'undefined') {toReturn['intentId'] = this.intentId;}\n return toReturn;\n }\n}\n\nexport class RetailPayment implements i.RetailPaymentInterface {\n merchantId: string;\n created: Date;\n currencyCode: string;\n amount: number;\n referenceId: string;\n referenceType: e.RetailPaymentReferenceType;\n customerId: string;\n status: e.PaymentStatus;\n description: string;\n failureCode: string;\n failureMessage: string;\n applicationFee: number;\n disputed: boolean;\n id: string;\n dispute: Dispute;\n cardDetails: RetailPaymentCardDetails;\n\n static fromProto(proto: any): RetailPayment {\n let m = new RetailPayment();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.RetailPaymentReferenceType>(e.RetailPaymentReferenceType, proto.referenceType);}\n if (proto.status) {m.status = enumStringToValue<e.PaymentStatus>(e.PaymentStatus, proto.status);}\n if (proto.applicationFee) {m.applicationFee = parseInt(proto.applicationFee, 10);}\n if (proto.dispute) {m.dispute = Dispute.fromProto(proto.dispute);}\n if (proto.cardDetails) {m.cardDetails = RetailPaymentCardDetails.fromProto(proto.cardDetails);}\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.failureCode !== 'undefined') {toReturn['failureCode'] = this.failureCode;}\n if (typeof this.failureMessage !== 'undefined') {toReturn['failureMessage'] = this.failureMessage;}\n if (typeof this.applicationFee !== 'undefined') {toReturn['applicationFee'] = this.applicationFee;}\n if (typeof this.disputed !== 'undefined') {toReturn['disputed'] = this.disputed;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.dispute !== 'undefined' && this.dispute !== null) {toReturn['dispute'] = 'toApiJson' in this.dispute ? (this.dispute as any).toApiJson() : this.dispute;}\n if (typeof this.cardDetails !== 'undefined' && this.cardDetails !== null) {toReturn['cardDetails'] = 'toApiJson' in this.cardDetails ? (this.cardDetails as any).toApiJson() : this.cardDetails;}\n return toReturn;\n }\n}\n\nexport class RetailPaymentsEnabledRequest implements i.RetailPaymentsEnabledRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): RetailPaymentsEnabledRequest {\n let m = new RetailPaymentsEnabledRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentsEnabledRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class RetailPaymentsEnabledResponse implements i.RetailPaymentsEnabledResponseInterface {\n enabled: boolean;\n\n static fromProto(proto: any): RetailPaymentsEnabledResponse {\n let m = new RetailPaymentsEnabledResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailPaymentsEnabledResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.enabled !== 'undefined') {toReturn['enabled'] = this.enabled;}\n return toReturn;\n }\n}\n\nexport class RetailStatusRequest implements i.RetailStatusRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): RetailStatusRequest {\n let m = new RetailStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class RetailStatusResponse implements i.RetailStatusResponseInterface {\n supportedRegion: boolean;\n canAcceptPayment: boolean;\n requirements: RetailStatusResponseVerificationRequirements;\n disabledReason: string;\n\n static fromProto(proto: any): RetailStatusResponse {\n let m = new RetailStatusResponse();\n m = Object.assign(m, proto);\n if (proto.requirements) {m.requirements = RetailStatusResponseVerificationRequirements.fromProto(proto.requirements);}\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.supportedRegion !== 'undefined') {toReturn['supportedRegion'] = this.supportedRegion;}\n if (typeof this.canAcceptPayment !== 'undefined') {toReturn['canAcceptPayment'] = this.canAcceptPayment;}\n if (typeof this.requirements !== 'undefined' && this.requirements !== null) {toReturn['requirements'] = 'toApiJson' in this.requirements ? (this.requirements as any).toApiJson() : this.requirements;}\n if (typeof this.disabledReason !== 'undefined') {toReturn['disabledReason'] = this.disabledReason;}\n return toReturn;\n }\n}\n\nexport class SubmitEvidenceRequest implements i.SubmitEvidenceRequestInterface {\n merchantId: string;\n disputeId: string;\n paymentId: string;\n evidence: SubmitEvidenceRequestDisputeEvidence;\n submit: boolean;\n\n static fromProto(proto: any): SubmitEvidenceRequest {\n let m = new SubmitEvidenceRequest();\n m = Object.assign(m, proto);\n if (proto.evidence) {m.evidence = SubmitEvidenceRequestDisputeEvidence.fromProto(proto.evidence);}\n return m;\n }\n\n constructor(kwargs?: i.SubmitEvidenceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.disputeId !== 'undefined') {toReturn['disputeId'] = this.disputeId;}\n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n if (typeof this.evidence !== 'undefined' && this.evidence !== null) {toReturn['evidence'] = 'toApiJson' in this.evidence ? (this.evidence as any).toApiJson() : this.evidence;}\n if (typeof this.submit !== 'undefined') {toReturn['submit'] = this.submit;}\n return toReturn;\n }\n}\n\nexport class UpdateRetailPaymentProviderRequest implements i.UpdateRetailPaymentProviderRequestInterface {\n merchantId: string;\n statementDescriptor: string;\n\n static fromProto(proto: any): UpdateRetailPaymentProviderRequest {\n let m = new UpdateRetailPaymentProviderRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateRetailPaymentProviderRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.statementDescriptor !== 'undefined') {toReturn['statementDescriptor'] = this.statementDescriptor;}\n return toReturn;\n }\n}\n\nexport class RetailStatusResponseVerificationError implements i.RetailStatusResponseVerificationErrorInterface {\n requirement: string;\n code: string;\n reason: string;\n\n static fromProto(proto: any): RetailStatusResponseVerificationError {\n let m = new RetailStatusResponseVerificationError();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusResponseVerificationErrorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.requirement !== 'undefined') {toReturn['requirement'] = this.requirement;}\n if (typeof this.code !== 'undefined') {toReturn['code'] = this.code;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n return toReturn;\n }\n}\n\nexport class RetailStatusResponseVerificationRequirements implements i.RetailStatusResponseVerificationRequirementsInterface {\n due: string[];\n error: RetailStatusResponseVerificationError[];\n\n static fromProto(proto: any): RetailStatusResponseVerificationRequirements {\n let m = new RetailStatusResponseVerificationRequirements();\n m = Object.assign(m, proto);\n if (proto.error) {m.error = proto.error.map(RetailStatusResponseVerificationError.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.RetailStatusResponseVerificationRequirementsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.due !== 'undefined') {toReturn['due'] = this.due;}\n if (typeof this.error !== 'undefined' && this.error !== null) {toReturn['error'] = 'toApiJson' in this.error ? (this.error as any).toApiJson() : this.error;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreatePaymentCardRequest implements i.CreatePaymentCardRequestInterface {\n merchantId: string;\n stripeToken: string;\n\n static fromProto(proto: any): CreatePaymentCardRequest {\n let m = new CreatePaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreatePaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.stripeToken !== 'undefined') {toReturn['stripeToken'] = this.stripeToken;}\n return toReturn;\n }\n}\n\nexport class DeletePaymentCardRequest implements i.DeletePaymentCardRequestInterface {\n merchantId: string;\n cardId: string;\n\n static fromProto(proto: any): DeletePaymentCardRequest {\n let m = new DeletePaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeletePaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.cardId !== 'undefined') {toReturn['cardId'] = this.cardId;}\n return toReturn;\n }\n}\n\nexport class ListPaymentCardsRequest implements i.ListPaymentCardsRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): ListPaymentCardsRequest {\n let m = new ListPaymentCardsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentCardsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class ListPaymentCardsResponse implements i.ListPaymentCardsResponseInterface {\n paymentCard: PaymentCard[];\n\n static fromProto(proto: any): ListPaymentCardsResponse {\n let m = new ListPaymentCardsResponse();\n m = Object.assign(m, proto);\n if (proto.paymentCard) {m.paymentCard = proto.paymentCard.map(PaymentCard.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListPaymentCardsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paymentCard !== 'undefined' && this.paymentCard !== null) {toReturn['paymentCard'] = 'toApiJson' in this.paymentCard ? (this.paymentCard as any).toApiJson() : this.paymentCard;}\n return toReturn;\n }\n}\n\nexport class PaymentCard implements i.PaymentCardInterface {\n lastFourDigits: string;\n cardType: e.PaymentCardCARD_TYPE;\n address: string;\n city: string;\n state: string;\n country: string;\n zipCode: string;\n cardId: string;\n cardholderName: string;\n expiryMonth: number;\n expiryYear: number;\n fundingType: e.PaymentCardFUNDING_TYPE;\n default: boolean;\n\n static fromProto(proto: any): PaymentCard {\n let m = new PaymentCard();\n m = Object.assign(m, proto);\n if (proto.cardType) {m.cardType = enumStringToValue<e.PaymentCardCARD_TYPE>(e.PaymentCardCARD_TYPE, proto.cardType);}\n if (proto.fundingType) {m.fundingType = enumStringToValue<e.PaymentCardFUNDING_TYPE>(e.PaymentCardFUNDING_TYPE, proto.fundingType);}\n return m;\n }\n\n constructor(kwargs?: i.PaymentCardInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.lastFourDigits !== 'undefined') {toReturn['lastFourDigits'] = this.lastFourDigits;}\n if (typeof this.cardType !== 'undefined') {toReturn['cardType'] = this.cardType;}\n if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n if (typeof this.zipCode !== 'undefined') {toReturn['zipCode'] = this.zipCode;}\n if (typeof this.cardId !== 'undefined') {toReturn['cardId'] = this.cardId;}\n if (typeof this.cardholderName !== 'undefined') {toReturn['cardholderName'] = this.cardholderName;}\n if (typeof this.expiryMonth !== 'undefined') {toReturn['expiryMonth'] = this.expiryMonth;}\n if (typeof this.expiryYear !== 'undefined') {toReturn['expiryYear'] = this.expiryYear;}\n if (typeof this.fundingType !== 'undefined') {toReturn['fundingType'] = this.fundingType;}\n if (typeof this.default !== 'undefined') {toReturn['default'] = this.default;}\n return toReturn;\n }\n}\n\nexport class SetDefaultPaymentMethodRequest implements i.SetDefaultPaymentMethodRequestInterface {\n merchantId: string;\n customerId: string;\n paymentMethodId: string;\n\n static fromProto(proto: any): SetDefaultPaymentMethodRequest {\n let m = new SetDefaultPaymentMethodRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SetDefaultPaymentMethodRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.paymentMethodId !== 'undefined') {toReturn['paymentMethodId'] = this.paymentMethodId;}\n return toReturn;\n }\n}\n\nexport class UpdatePaymentCardRequest implements i.UpdatePaymentCardRequestInterface {\n merchantId: string;\n stripeToken: string;\n\n static fromProto(proto: any): UpdatePaymentCardRequest {\n let m = new UpdatePaymentCardRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdatePaymentCardRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.stripeToken !== 'undefined') {toReturn['stripeToken'] = this.stripeToken;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FieldMask } from './field-mask';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ComponentPricing implements i.ComponentPricingInterface {\n componentId: string;\n unitPrice: number;\n\n static fromProto(proto: any): ComponentPricing {\n let m = new ComponentPricing();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ComponentPricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.componentId !== 'undefined') {toReturn['componentId'] = this.componentId;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanRequest implements i.CreatePricingPlanRequestInterface {\n name: string;\n defaultBillingStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): CreatePricingPlanRequest {\n let m = new CreatePricingPlanRequest();\n m = Object.assign(m, proto);\n if (proto.defaultBillingStrategy) {m.defaultBillingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.defaultBillingStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.defaultBillingStrategy !== 'undefined') {toReturn['defaultBillingStrategy'] = this.defaultBillingStrategy;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanResponse implements i.CreatePricingPlanResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreatePricingPlanResponse {\n let m = new CreatePricingPlanResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanRequest implements i.GetMultiPricingPlanRequestInterface {\n pricingPlanIds: string[];\n\n static fromProto(proto: any): GetMultiPricingPlanRequest {\n let m = new GetMultiPricingPlanRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanIds !== 'undefined') {toReturn['pricingPlanIds'] = this.pricingPlanIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanResponse implements i.GetMultiPricingPlanResponseInterface {\n plans: PricingPlan[];\n\n static fromProto(proto: any): GetMultiPricingPlanResponse {\n let m = new GetMultiPricingPlanResponse();\n m = Object.assign(m, proto);\n if (proto.plans) {m.plans = proto.plans.map(PricingPlan.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.plans !== 'undefined' && this.plans !== null) {toReturn['plans'] = 'toApiJson' in this.plans ? (this.plans as any).toApiJson() : this.plans;}\n return toReturn;\n }\n}\n\nexport class PricingPlan implements i.PricingPlanInterface {\n id: string;\n name: string;\n defaultBillingStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): PricingPlan {\n let m = new PricingPlan();\n m = Object.assign(m, proto);\n if (proto.defaultBillingStrategy) {m.defaultBillingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.defaultBillingStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.defaultBillingStrategy !== 'undefined') {toReturn['defaultBillingStrategy'] = this.defaultBillingStrategy;}\n return toReturn;\n }\n}\n\nexport class PricingPlanProductPricing implements i.PricingPlanProductPricingInterface {\n type: e.ProductPricingType;\n rules: ProductPricingRule[];\n setupFee: number;\n frequency: e.Frequency;\n currencyCode: string;\n\n static fromProto(proto: any): PricingPlanProductPricing {\n let m = new PricingPlanProductPricing();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.type);}\n if (proto.rules) {m.rules = proto.rules.map(ProductPricingRule.fromProto);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanProductPricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class ProductPricingRule implements i.ProductPricingRuleInterface {\n price: number;\n minUnits: number;\n maxUnits: number;\n componentPricing: ComponentPricing[];\n\n static fromProto(proto: any): ProductPricingRule {\n let m = new ProductPricingRule();\n m = Object.assign(m, proto);\n if (proto.price) {m.price = parseInt(proto.price, 10);}\n if (proto.minUnits) {m.minUnits = parseInt(proto.minUnits, 10);}\n if (proto.maxUnits) {m.maxUnits = parseInt(proto.maxUnits, 10);}\n if (proto.componentPricing) {m.componentPricing = proto.componentPricing.map(ComponentPricing.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ProductPricingRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.price !== 'undefined') {toReturn['price'] = this.price;}\n if (typeof this.minUnits !== 'undefined') {toReturn['minUnits'] = this.minUnits;}\n if (typeof this.maxUnits !== 'undefined') {toReturn['maxUnits'] = this.maxUnits;}\n if (typeof this.componentPricing !== 'undefined' && this.componentPricing !== null) {toReturn['componentPricing'] = 'toApiJson' in this.componentPricing ? (this.componentPricing as any).toApiJson() : this.componentPricing;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanRequest implements i.UpdatePricingPlanRequestInterface {\n id: string;\n fieldMask: FieldMask;\n name: string;\n defaultBillingStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): UpdatePricingPlanRequest {\n let m = new UpdatePricingPlanRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n if (proto.defaultBillingStrategy) {m.defaultBillingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.defaultBillingStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.defaultBillingStrategy !== 'undefined') {toReturn['defaultBillingStrategy'] = this.defaultBillingStrategy;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanResponse implements i.UpdatePricingPlanResponseInterface {\n\n static fromProto(proto: any): UpdatePricingPlanResponse {\n let m = new UpdatePricingPlanResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Commitment } from './commitment';\nimport { FieldMask } from './field-mask';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport { PricingPlanProductPricing } from './pricing-plan';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreatePricingPlanProductRequest implements i.CreatePricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n commitment: Commitment;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n\n static fromProto(proto: any): CreatePricingPlanProductRequest {\n let m = new CreatePricingPlanProductRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanProductResponse implements i.CreatePricingPlanProductResponseInterface {\n pricingPlanId: string;\n sku: string;\n\n static fromProto(proto: any): CreatePricingPlanProductResponse {\n let m = new CreatePricingPlanProductResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class DeletePricingPlanProductRequest implements i.DeletePricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n\n static fromProto(proto: any): DeletePricingPlanProductRequest {\n let m = new DeletePricingPlanProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeletePricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanProductRequest implements i.GetMultiPricingPlanProductRequestInterface {\n pricingPlanId: string;\n skus: string[];\n\n static fromProto(proto: any): GetMultiPricingPlanProductRequest {\n let m = new GetMultiPricingPlanProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class GetMultiPricingPlanProductResponse implements i.GetMultiPricingPlanProductResponseInterface {\n pricingPlanProducts: PricingPlanProduct[];\n\n static fromProto(proto: any): GetMultiPricingPlanProductResponse {\n let m = new GetMultiPricingPlanProductResponse();\n m = Object.assign(m, proto);\n if (proto.pricingPlanProducts) {m.pricingPlanProducts = proto.pricingPlanProducts.map(PricingPlanProduct.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiPricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanProducts !== 'undefined' && this.pricingPlanProducts !== null) {toReturn['pricingPlanProducts'] = 'toApiJson' in this.pricingPlanProducts ? (this.pricingPlanProducts as any).toApiJson() : this.pricingPlanProducts;}\n return toReturn;\n }\n}\n\nexport class GetPricingPlanProductRequest implements i.GetPricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n\n static fromProto(proto: any): GetPricingPlanProductRequest {\n let m = new GetPricingPlanProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetPricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GetPricingPlanProductResponse implements i.GetPricingPlanProductResponseInterface {\n pricingPlanProduct: PricingPlanProduct;\n pricingPlanDefaultStrategy: e.BillingStrategy;\n\n static fromProto(proto: any): GetPricingPlanProductResponse {\n let m = new GetPricingPlanProductResponse();\n m = Object.assign(m, proto);\n if (proto.pricingPlanProduct) {m.pricingPlanProduct = PricingPlanProduct.fromProto(proto.pricingPlanProduct);}\n if (proto.pricingPlanDefaultStrategy) {m.pricingPlanDefaultStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.pricingPlanDefaultStrategy);}\n return m;\n }\n\n constructor(kwargs?: i.GetPricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanProduct !== 'undefined' && this.pricingPlanProduct !== null) {toReturn['pricingPlanProduct'] = 'toApiJson' in this.pricingPlanProduct ? (this.pricingPlanProduct as any).toApiJson() : this.pricingPlanProduct;}\n if (typeof this.pricingPlanDefaultStrategy !== 'undefined') {toReturn['pricingPlanDefaultStrategy'] = this.pricingPlanDefaultStrategy;}\n return toReturn;\n }\n}\n\nexport class ListPricingPlanProductsRequestListPricingPlanProductsFilters implements i.ListPricingPlanProductsRequestListPricingPlanProductsFiltersInterface {\n sku: string;\n pricingPlanIds: string[];\n\n static fromProto(proto: any): ListPricingPlanProductsRequestListPricingPlanProductsFilters {\n let m = new ListPricingPlanProductsRequestListPricingPlanProductsFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListPricingPlanProductsRequestListPricingPlanProductsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.pricingPlanIds !== 'undefined') {toReturn['pricingPlanIds'] = this.pricingPlanIds;}\n return toReturn;\n }\n}\n\nexport class ListPricingPlanProductsRequest implements i.ListPricingPlanProductsRequestInterface {\n sku: string;\n pagingOptions: PagedRequestOptions;\n filters: ListPricingPlanProductsRequestListPricingPlanProductsFilters;\n\n static fromProto(proto: any): ListPricingPlanProductsRequest {\n let m = new ListPricingPlanProductsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListPricingPlanProductsRequestListPricingPlanProductsFilters.fromProto(proto.filters);}\n return m;\n }\n\n constructor(kwargs?: i.ListPricingPlanProductsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n return toReturn;\n }\n}\n\nexport class ListPricingPlanProductsResponse implements i.ListPricingPlanProductsResponseInterface {\n products: PricingPlanProduct[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPricingPlanProductsResponse {\n let m = new ListPricingPlanProductsResponse();\n m = Object.assign(m, proto);\n if (proto.products) {m.products = proto.products.map(PricingPlanProduct.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPricingPlanProductsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PricingPlanProductPricingEntry implements i.PricingPlanProductPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): PricingPlanProductPricingEntry {\n let m = new PricingPlanProductPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanProductPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CreatePricingPlanProductRequestPricingEntry implements i.CreatePricingPlanProductRequestPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): CreatePricingPlanProductRequestPricingEntry {\n let m = new CreatePricingPlanProductRequestPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.CreatePricingPlanProductRequestPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanProductRequestPricingEntry implements i.UpdatePricingPlanProductRequestPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): UpdatePricingPlanProductRequestPricingEntry {\n let m = new UpdatePricingPlanProductRequestPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanProductRequestPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class PricingPlanProduct implements i.PricingPlanProductInterface {\n pricingPlanId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n commitment: Commitment;\n created: Date;\n modified: Date;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n pricingType: e.ProductPricingType;\n\n static fromProto(proto: any): PricingPlanProduct {\n let m = new PricingPlanProduct();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.modified) {m.modified = new Date(proto.modified);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n if (proto.pricingType) {m.pricingType = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.pricingType);}\n return m;\n }\n\n constructor(kwargs?: i.PricingPlanProductInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.modified !== 'undefined' && this.modified !== null) {toReturn['modified'] = 'toApiJson' in this.modified ? (this.modified as any).toApiJson() : this.modified;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n if (typeof this.pricingType !== 'undefined') {toReturn['pricingType'] = this.pricingType;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanProductRequest implements i.UpdatePricingPlanProductRequestInterface {\n pricingPlanId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n commitment: Commitment;\n fieldMask: FieldMask;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n\n static fromProto(proto: any): UpdatePricingPlanProductRequest {\n let m = new UpdatePricingPlanProductRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\nexport class UpdatePricingPlanProductResponse implements i.UpdatePricingPlanProductResponseInterface {\n\n static fromProto(proto: any): UpdatePricingPlanProductResponse {\n let m = new UpdatePricingPlanProductResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdatePricingPlanProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpsertWholesalePricingRequest implements i.UpsertWholesalePricingRequestInterface {\n pricingPlanId: string;\n sku: string;\n pricing: PricingPlanProductPricing[];\n termCommitment: Commitment;\n strategy: e.BillingStrategy;\n volumeCommitment: number;\n\n static fromProto(proto: any): UpsertWholesalePricingRequest {\n let m = new UpsertWholesalePricingRequest();\n m = Object.assign(m, proto);\n if (proto.pricing) {m.pricing = proto.pricing.map(PricingPlanProductPricing.fromProto);}\n if (proto.termCommitment) {m.termCommitment = Commitment.fromProto(proto.termCommitment);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertWholesalePricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.termCommitment !== 'undefined' && this.termCommitment !== null) {toReturn['termCommitment'] = 'toApiJson' in this.termCommitment ? (this.termCommitment as any).toApiJson() : this.termCommitment;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateProductRequest implements i.CreateProductRequestInterface {\n sku: string;\n productId: string;\n editionId: string;\n name: string;\n reportingCode: string;\n productType: e.ProductType;\n\n static fromProto(proto: any): CreateProductRequest {\n let m = new CreateProductRequest();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = enumStringToValue<e.ProductType>(e.ProductType, proto.productType);}\n return m;\n }\n\n constructor(kwargs?: i.CreateProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.reportingCode !== 'undefined') {toReturn['reportingCode'] = this.reportingCode;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n return toReturn;\n }\n}\n\nexport class DeleteProductRequest implements i.DeleteProductRequestInterface {\n sku: string;\n\n static fromProto(proto: any): DeleteProductRequest {\n let m = new DeleteProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductRequest implements i.GetMultiProductRequestInterface {\n skus: string[];\n\n static fromProto(proto: any): GetMultiProductRequest {\n let m = new GetMultiProductRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductResponse implements i.GetMultiProductResponseInterface {\n products: {[key: string]: Product};\n\n static fromProto(proto: any): GetMultiProductResponse {\n let m = new GetMultiProductResponse();\n m = Object.assign(m, proto);\n if (proto.products) {m.products = Object.keys(proto.products).reduce<any>((obj, k) => { obj[k] = Product.fromProto(proto.products[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n return toReturn;\n }\n}\n\nexport class ListProductsRequestListProductsFilters implements i.ListProductsRequestListProductsFiltersInterface {\n hasDiscount: boolean;\n hasPricingOverride: boolean;\n productType: e.ProductType[];\n skus: string[];\n\n static fromProto(proto: any): ListProductsRequestListProductsFilters {\n let m = new ListProductsRequestListProductsFilters();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = proto.productType.map((v: string) => enumStringToValue<e.ProductType>(e.ProductType, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListProductsRequestListProductsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hasDiscount !== 'undefined') {toReturn['hasDiscount'] = this.hasDiscount;}\n if (typeof this.hasPricingOverride !== 'undefined') {toReturn['hasPricingOverride'] = this.hasPricingOverride;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n return toReturn;\n }\n}\n\nexport class ListProductsRequest implements i.ListProductsRequestInterface {\n merchantId: string;\n searchTerm: string;\n filters: ListProductsRequestListProductsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListProductsRequest {\n let m = new ListProductsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListProductsRequestListProductsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListProductsResponse implements i.ListProductsResponseInterface {\n products: Product[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListProductsResponse {\n let m = new ListProductsResponse();\n m = Object.assign(m, proto);\n if (proto.products) {m.products = proto.products.map(Product.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListProductsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Product implements i.ProductInterface {\n name: string;\n sku: string;\n iconUrl: string;\n hasPricingOverride: boolean;\n hasDiscount: boolean;\n productType: e.ProductType;\n\n static fromProto(proto: any): Product {\n let m = new Product();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = enumStringToValue<e.ProductType>(e.ProductType, proto.productType);}\n return m;\n }\n\n constructor(kwargs?: i.ProductInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n if (typeof this.hasPricingOverride !== 'undefined') {toReturn['hasPricingOverride'] = this.hasPricingOverride;}\n if (typeof this.hasDiscount !== 'undefined') {toReturn['hasDiscount'] = this.hasDiscount;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductResponseProductsEntry implements i.GetMultiProductResponseProductsEntryInterface {\n key: string;\n value: Product;\n\n static fromProto(proto: any): GetMultiProductResponseProductsEntry {\n let m = new GetMultiProductResponseProductsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = Product.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductResponseProductsEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class UpdateProductRequest implements i.UpdateProductRequestInterface {\n sku: string;\n name: string;\n reportingCode: string;\n productType: e.ProductType;\n\n static fromProto(proto: any): UpdateProductRequest {\n let m = new UpdateProductRequest();\n m = Object.assign(m, proto);\n if (proto.productType) {m.productType = enumStringToValue<e.ProductType>(e.ProductType, proto.productType);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateProductRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.reportingCode !== 'undefined') {toReturn['reportingCode'] = this.reportingCode;}\n if (typeof this.productType !== 'undefined') {toReturn['productType'] = this.productType;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Commitment } from './commitment';\nimport { ProductPricingRule } from './pricing-plan';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ProductPrices implements i.ProductPricesInterface {\n sku: string;\n prices: ProductPricing[];\n\n static fromProto(proto: any): ProductPrices {\n let m = new ProductPrices();\n m = Object.assign(m, proto);\n if (proto.prices) {m.prices = proto.prices.map(ProductPricing.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ProductPricesInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class ProductPricing implements i.ProductPricingInterface {\n strategy: e.BillingStrategy;\n pricingType: e.ProductPricingType;\n currency: e.Currency;\n frequency: e.Frequency;\n pricingRules: ProductPricingRule[];\n commitment: Commitment;\n isStartingPrice: boolean;\n resolvedFrom: string;\n volumeCommitment: number;\n setupFee: number;\n\n static fromProto(proto: any): ProductPricing {\n let m = new ProductPricing();\n m = Object.assign(m, proto);\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.pricingType) {m.pricingType = enumStringToValue<e.ProductPricingType>(e.ProductPricingType, proto.pricingType);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricingRules) {m.pricingRules = proto.pricingRules.map(ProductPricingRule.fromProto);}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ProductPricingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.pricingType !== 'undefined') {toReturn['pricingType'] = this.pricingType;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricingRules !== 'undefined' && this.pricingRules !== null) {toReturn['pricingRules'] = 'toApiJson' in this.pricingRules ? (this.pricingRules as any).toApiJson() : this.pricingRules;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.isStartingPrice !== 'undefined') {toReturn['isStartingPrice'] = this.isStartingPrice;}\n if (typeof this.resolvedFrom !== 'undefined') {toReturn['resolvedFrom'] = this.resolvedFrom;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { AppliedDiscount } from './applied-discount';\nimport { AppliedTaxRate } from './applied-tax-rate';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AppliedCredit implements i.AppliedCreditInterface {\n appliedAmount: number;\n referenceId: string;\n referenceType: e.CreditType;\n\n static fromProto(proto: any): AppliedCredit {\n let m = new AppliedCredit();\n m = Object.assign(m, proto);\n if (proto.appliedAmount) {m.appliedAmount = parseInt(proto.appliedAmount, 10);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.CreditType>(e.CreditType, proto.referenceType);}\n return m;\n }\n\n constructor(kwargs?: i.AppliedCreditInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.appliedAmount !== 'undefined') {toReturn['appliedAmount'] = this.appliedAmount;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseRequestListPurchaseBillingStrategyFilter implements i.ListPurchaseRequestListPurchaseBillingStrategyFilterInterface {\n billingStrategy: e.BillingStrategy[];\n\n static fromProto(proto: any): ListPurchaseRequestListPurchaseBillingStrategyFilter {\n let m = new ListPurchaseRequestListPurchaseBillingStrategyFilter();\n m = Object.assign(m, proto);\n if (proto.billingStrategy) {m.billingStrategy = proto.billingStrategy.map((v: string) => enumStringToValue<e.BillingStrategy>(e.BillingStrategy, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseRequestListPurchaseBillingStrategyFilterInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.billingStrategy !== 'undefined') {toReturn['billingStrategy'] = this.billingStrategy;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseRequestListPurchaseFilters implements i.ListPurchaseRequestListPurchaseFiltersInterface {\n merchantId: string;\n purchaseId: string;\n start: Date;\n end: Date;\n billingStrategyFilter: ListPurchaseRequestListPurchaseBillingStrategyFilter;\n state: e.ListPurchaseRequestState;\n minPrice: number;\n status: e.PurchaseStatus;\n includeVoided: boolean;\n\n static fromProto(proto: any): ListPurchaseRequestListPurchaseFilters {\n let m = new ListPurchaseRequestListPurchaseFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.billingStrategyFilter) {m.billingStrategyFilter = ListPurchaseRequestListPurchaseBillingStrategyFilter.fromProto(proto.billingStrategyFilter);}\n if (proto.state) {m.state = enumStringToValue<e.ListPurchaseRequestState>(e.ListPurchaseRequestState, proto.state);}\n if (proto.minPrice) {m.minPrice = parseInt(proto.minPrice, 10);}\n if (proto.status) {m.status = enumStringToValue<e.PurchaseStatus>(e.PurchaseStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseRequestListPurchaseFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.billingStrategyFilter !== 'undefined' && this.billingStrategyFilter !== null) {toReturn['billingStrategyFilter'] = 'toApiJson' in this.billingStrategyFilter ? (this.billingStrategyFilter as any).toApiJson() : this.billingStrategyFilter;}\n if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n if (typeof this.minPrice !== 'undefined') {toReturn['minPrice'] = this.minPrice;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.includeVoided !== 'undefined') {toReturn['includeVoided'] = this.includeVoided;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseItemsRequestListPurchaseItemsFilters implements i.ListPurchaseItemsRequestListPurchaseItemsFiltersInterface {\n merchantId: string;\n customerId: string;\n start: Date;\n end: Date;\n\n static fromProto(proto: any): ListPurchaseItemsRequestListPurchaseItemsFilters {\n let m = new ListPurchaseItemsRequestListPurchaseItemsFilters();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseItemsRequestListPurchaseItemsFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseItemsRequest implements i.ListPurchaseItemsRequestInterface {\n filters: ListPurchaseItemsRequestListPurchaseItemsFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPurchaseItemsRequest {\n let m = new ListPurchaseItemsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPurchaseItemsRequestListPurchaseItemsFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseItemsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseItemsResponse implements i.ListPurchaseItemsResponseInterface {\n purchaseItems: PurchaseItem[];\n pagingMetadata: PagedResponseMetadata;\n currency: e.Currency;\n\n static fromProto(proto: any): ListPurchaseItemsResponse {\n let m = new ListPurchaseItemsResponse();\n m = Object.assign(m, proto);\n if (proto.purchaseItems) {m.purchaseItems = proto.purchaseItems.map(PurchaseItem.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseItemsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchaseItems !== 'undefined' && this.purchaseItems !== null) {toReturn['purchaseItems'] = 'toApiJson' in this.purchaseItems ? (this.purchaseItems as any).toApiJson() : this.purchaseItems;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseRequest implements i.ListPurchaseRequestInterface {\n filters: ListPurchaseRequestListPurchaseFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListPurchaseRequest {\n let m = new ListPurchaseRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListPurchaseRequestListPurchaseFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListPurchaseResponse implements i.ListPurchaseResponseInterface {\n purchases: Purchase[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListPurchaseResponse {\n let m = new ListPurchaseResponse();\n m = Object.assign(m, proto);\n if (proto.purchases) {m.purchases = proto.purchases.map(Purchase.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListPurchaseResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchases !== 'undefined' && this.purchases !== null) {toReturn['purchases'] = 'toApiJson' in this.purchases ? (this.purchases as any).toApiJson() : this.purchases;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class Purchase implements i.PurchaseInterface {\n merchantId: string;\n timestamp: Date;\n purchaseId: string;\n total: number;\n currency: e.Currency;\n renewal: boolean;\n items: PurchaseItem[];\n billingStrategy: e.BillingStrategy;\n isDunning: boolean;\n dunningAttempt: number;\n voided: Date;\n paid: boolean;\n status: e.PurchaseStatus;\n creditAmount: number;\n appliedCredits: AppliedCredit[];\n taxAmount: number;\n appliedTaxRates: AppliedTaxRate[];\n\n static fromProto(proto: any): Purchase {\n let m = new Purchase();\n m = Object.assign(m, proto);\n if (proto.timestamp) {m.timestamp = new Date(proto.timestamp);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.items) {m.items = proto.items.map(PurchaseItem.fromProto);}\n if (proto.billingStrategy) {m.billingStrategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.billingStrategy);}\n if (proto.dunningAttempt) {m.dunningAttempt = parseInt(proto.dunningAttempt, 10);}\n if (proto.voided) {m.voided = new Date(proto.voided);}\n if (proto.status) {m.status = enumStringToValue<e.PurchaseStatus>(e.PurchaseStatus, proto.status);}\n if (proto.creditAmount) {m.creditAmount = parseInt(proto.creditAmount, 10);}\n if (proto.appliedCredits) {m.appliedCredits = proto.appliedCredits.map(AppliedCredit.fromProto);}\n if (proto.taxAmount) {m.taxAmount = parseInt(proto.taxAmount, 10);}\n if (proto.appliedTaxRates) {m.appliedTaxRates = proto.appliedTaxRates.map(AppliedTaxRate.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.PurchaseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.timestamp !== 'undefined' && this.timestamp !== null) {toReturn['timestamp'] = 'toApiJson' in this.timestamp ? (this.timestamp as any).toApiJson() : this.timestamp;}\n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.renewal !== 'undefined') {toReturn['renewal'] = this.renewal;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.billingStrategy !== 'undefined') {toReturn['billingStrategy'] = this.billingStrategy;}\n if (typeof this.isDunning !== 'undefined') {toReturn['isDunning'] = this.isDunning;}\n if (typeof this.dunningAttempt !== 'undefined') {toReturn['dunningAttempt'] = this.dunningAttempt;}\n if (typeof this.voided !== 'undefined' && this.voided !== null) {toReturn['voided'] = 'toApiJson' in this.voided ? (this.voided as any).toApiJson() : this.voided;}\n if (typeof this.paid !== 'undefined') {toReturn['paid'] = this.paid;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.creditAmount !== 'undefined') {toReturn['creditAmount'] = this.creditAmount;}\n if (typeof this.appliedCredits !== 'undefined' && this.appliedCredits !== null) {toReturn['appliedCredits'] = 'toApiJson' in this.appliedCredits ? (this.appliedCredits as any).toApiJson() : this.appliedCredits;}\n if (typeof this.taxAmount !== 'undefined') {toReturn['taxAmount'] = this.taxAmount;}\n if (typeof this.appliedTaxRates !== 'undefined' && this.appliedTaxRates !== null) {toReturn['appliedTaxRates'] = 'toApiJson' in this.appliedTaxRates ? (this.appliedTaxRates as any).toApiJson() : this.appliedTaxRates;}\n return toReturn;\n }\n}\n\nexport class PurchaseItem implements i.PurchaseItemInterface {\n sku: string;\n amount: number;\n orderId: string;\n customerId: string;\n discountAmount: number;\n total: number;\n appliedDiscounts: AppliedDiscount[];\n merchantId: string;\n day: string;\n purchaseId: string;\n description: string;\n taxAmount: number;\n appliedTaxRates: AppliedTaxRate[];\n setupFee: number;\n\n static fromProto(proto: any): PurchaseItem {\n let m = new PurchaseItem();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.appliedDiscounts) {m.appliedDiscounts = proto.appliedDiscounts.map(AppliedDiscount.fromProto);}\n if (proto.taxAmount) {m.taxAmount = parseInt(proto.taxAmount, 10);}\n if (proto.appliedTaxRates) {m.appliedTaxRates = proto.appliedTaxRates.map(AppliedTaxRate.fromProto);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PurchaseItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.appliedDiscounts !== 'undefined' && this.appliedDiscounts !== null) {toReturn['appliedDiscounts'] = 'toApiJson' in this.appliedDiscounts ? (this.appliedDiscounts as any).toApiJson() : this.appliedDiscounts;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxAmount !== 'undefined') {toReturn['taxAmount'] = this.taxAmount;}\n if (typeof this.appliedTaxRates !== 'undefined' && this.appliedTaxRates !== null) {toReturn['appliedTaxRates'] = 'toApiJson' in this.appliedTaxRates ? (this.appliedTaxRates as any).toApiJson() : this.appliedTaxRates;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class RetryPurchaseRequest implements i.RetryPurchaseRequestInterface {\n purchaseId: string;\n merchantId: string;\n day: string;\n shouldEnterDunning: boolean;\n\n static fromProto(proto: any): RetryPurchaseRequest {\n let m = new RetryPurchaseRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.RetryPurchaseRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.shouldEnterDunning !== 'undefined') {toReturn['shouldEnterDunning'] = this.shouldEnterDunning;}\n return toReturn;\n }\n}\n\nexport class VoidPurchaseRequest implements i.VoidPurchaseRequestInterface {\n purchaseId: string;\n merchantId: string;\n day: string;\n\n static fromProto(proto: any): VoidPurchaseRequest {\n let m = new VoidPurchaseRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.VoidPurchaseRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.purchaseId !== 'undefined') {toReturn['purchaseId'] = this.purchaseId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateRefundRequest implements i.CreateRefundRequestInterface {\n merchantId: string;\n paymentId: string;\n amount: number;\n reason: e.RefundReason;\n referenceType: e.ReferenceType;\n referenceId: string;\n\n static fromProto(proto: any): CreateRefundRequest {\n let m = new CreateRefundRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.reason) {m.reason = enumStringToValue<e.RefundReason>(e.RefundReason, proto.reason);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.ReferenceType>(e.ReferenceType, proto.referenceType);}\n return m;\n }\n\n constructor(kwargs?: i.CreateRefundRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.paymentId !== 'undefined') {toReturn['paymentId'] = this.paymentId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n return toReturn;\n }\n}\n\nexport class ListRefundsRequest implements i.ListRefundsRequestInterface {\n paymentIds: string[];\n cursor: string;\n pageSize: number;\n merchantId: string;\n\n static fromProto(proto: any): ListRefundsRequest {\n let m = new ListRefundsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ListRefundsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paymentIds !== 'undefined') {toReturn['paymentIds'] = this.paymentIds;}\n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ListRefundsResponse implements i.ListRefundsResponseInterface {\n refunds: Refund[];\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): ListRefundsResponse {\n let m = new ListRefundsResponse();\n m = Object.assign(m, proto);\n if (proto.refunds) {m.refunds = proto.refunds.map(Refund.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListRefundsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.refunds !== 'undefined' && this.refunds !== null) {toReturn['refunds'] = 'toApiJson' in this.refunds ? (this.refunds as any).toApiJson() : this.refunds;}\n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class Refund implements i.RefundInterface {\n merchantId: string;\n chargeId: string;\n refundId: string;\n amount: number;\n email: string;\n reason: e.RefundReason;\n status: e.RefundStatus;\n created: Date;\n updated: Date;\n referenceType: e.ReferenceType;\n referenceId: string;\n\n static fromProto(proto: any): Refund {\n let m = new Refund();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n if (proto.reason) {m.reason = enumStringToValue<e.RefundReason>(e.RefundReason, proto.reason);}\n if (proto.status) {m.status = enumStringToValue<e.RefundStatus>(e.RefundStatus, proto.status);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.referenceType) {m.referenceType = enumStringToValue<e.ReferenceType>(e.ReferenceType, proto.referenceType);}\n return m;\n }\n\n constructor(kwargs?: i.RefundInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.chargeId !== 'undefined') {toReturn['chargeId'] = this.chargeId;}\n if (typeof this.refundId !== 'undefined') {toReturn['refundId'] = this.refundId;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.referenceType !== 'undefined') {toReturn['referenceType'] = this.referenceType;}\n if (typeof this.referenceId !== 'undefined') {toReturn['referenceId'] = this.referenceId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateSalesCreditNoteRequest implements i.CreateSalesCreditNoteRequestInterface {\n merchantId: string;\n creditNoteReason: string;\n creditNoteDate: Date;\n dueDate: Date;\n total: number;\n sku: string;\n\n static fromProto(proto: any): CreateSalesCreditNoteRequest {\n let m = new CreateSalesCreditNoteRequest();\n m = Object.assign(m, proto);\n if (proto.creditNoteDate) {m.creditNoteDate = new Date(proto.creditNoteDate);}\n if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSalesCreditNoteRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.creditNoteReason !== 'undefined') {toReturn['creditNoteReason'] = this.creditNoteReason;}\n if (typeof this.creditNoteDate !== 'undefined' && this.creditNoteDate !== null) {toReturn['creditNoteDate'] = 'toApiJson' in this.creditNoteDate ? (this.creditNoteDate as any).toApiJson() : this.creditNoteDate;}\n if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class ListSalesCreditNoteRequestListSalesCreditNoteFilters implements i.ListSalesCreditNoteRequestListSalesCreditNoteFiltersInterface {\n merchantId: string;\n statuses: e.SalesCreditNoteStatus[];\n\n static fromProto(proto: any): ListSalesCreditNoteRequestListSalesCreditNoteFilters {\n let m = new ListSalesCreditNoteRequestListSalesCreditNoteFilters();\n m = Object.assign(m, proto);\n if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.SalesCreditNoteStatus>(e.SalesCreditNoteStatus, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesCreditNoteRequestListSalesCreditNoteFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n return toReturn;\n }\n}\n\nexport class ListSalesCreditNoteRequest implements i.ListSalesCreditNoteRequestInterface {\n filters: ListSalesCreditNoteRequestListSalesCreditNoteFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListSalesCreditNoteRequest {\n let m = new ListSalesCreditNoteRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSalesCreditNoteRequestListSalesCreditNoteFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesCreditNoteRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListSalesCreditNoteResponse implements i.ListSalesCreditNoteResponseInterface {\n creditNote: SalesCreditNote[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSalesCreditNoteResponse {\n let m = new ListSalesCreditNoteResponse();\n m = Object.assign(m, proto);\n if (proto.creditNote) {m.creditNote = proto.creditNote.map(SalesCreditNote.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesCreditNoteResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.creditNote !== 'undefined' && this.creditNote !== null) {toReturn['creditNote'] = 'toApiJson' in this.creditNote ? (this.creditNote as any).toApiJson() : this.creditNote;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class SalesCreditNote implements i.SalesCreditNoteInterface {\n creditNoteId: string;\n creditNoteNumber: string;\n merchantId: string;\n creditNoteReason: string;\n creditNoteDate: Date;\n dueDate: Date;\n currency: e.Currency;\n total: number;\n outstanding: number;\n invoiceId: string;\n invoiceNumber: string;\n status: e.SalesCreditNoteStatus;\n paymentStatus: string;\n\n static fromProto(proto: any): SalesCreditNote {\n let m = new SalesCreditNote();\n m = Object.assign(m, proto);\n if (proto.creditNoteDate) {m.creditNoteDate = new Date(proto.creditNoteDate);}\n if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.outstanding) {m.outstanding = parseInt(proto.outstanding, 10);}\n if (proto.status) {m.status = enumStringToValue<e.SalesCreditNoteStatus>(e.SalesCreditNoteStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.SalesCreditNoteInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.creditNoteId !== 'undefined') {toReturn['creditNoteId'] = this.creditNoteId;}\n if (typeof this.creditNoteNumber !== 'undefined') {toReturn['creditNoteNumber'] = this.creditNoteNumber;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.creditNoteReason !== 'undefined') {toReturn['creditNoteReason'] = this.creditNoteReason;}\n if (typeof this.creditNoteDate !== 'undefined' && this.creditNoteDate !== null) {toReturn['creditNoteDate'] = 'toApiJson' in this.creditNoteDate ? (this.creditNoteDate as any).toApiJson() : this.creditNoteDate;}\n if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.outstanding !== 'undefined') {toReturn['outstanding'] = this.outstanding;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.invoiceNumber !== 'undefined') {toReturn['invoiceNumber'] = this.invoiceNumber;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.paymentStatus !== 'undefined') {toReturn['paymentStatus'] = this.paymentStatus;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GetSalesInvoiceRequest implements i.GetSalesInvoiceRequestInterface {\n invoiceId: string;\n merchantId: string;\n\n static fromProto(proto: any): GetSalesInvoiceRequest {\n let m = new GetSalesInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetSalesInvoiceResponse implements i.GetSalesInvoiceResponseInterface {\n invoice: SalesInvoice;\n\n static fromProto(proto: any): GetSalesInvoiceResponse {\n let m = new GetSalesInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = SalesInvoice.fromProto(proto.invoice);}\n return m;\n }\n\n constructor(kwargs?: i.GetSalesInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n return toReturn;\n }\n}\n\nexport class ListSalesInvoiceRequestListSalesInvoiceFilters implements i.ListSalesInvoiceRequestListSalesInvoiceFiltersInterface {\n merchantId: string;\n statuses: e.SalesInvoiceStatus[];\n paymentStatuses: e.PaymentStatuses[];\n invoiceId: string[];\n\n static fromProto(proto: any): ListSalesInvoiceRequestListSalesInvoiceFilters {\n let m = new ListSalesInvoiceRequestListSalesInvoiceFilters();\n m = Object.assign(m, proto);\n if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.SalesInvoiceStatus>(e.SalesInvoiceStatus, v));}\n if (proto.paymentStatuses) {m.paymentStatuses = proto.paymentStatuses.map((v: string) => enumStringToValue<e.PaymentStatuses>(e.PaymentStatuses, v));}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesInvoiceRequestListSalesInvoiceFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n if (typeof this.paymentStatuses !== 'undefined') {toReturn['paymentStatuses'] = this.paymentStatuses;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class ListSalesInvoiceRequest implements i.ListSalesInvoiceRequestInterface {\n filters: ListSalesInvoiceRequestListSalesInvoiceFilters;\n pagingOptions: PagedRequestOptions;\n searchTerm: string;\n\n static fromProto(proto: any): ListSalesInvoiceRequest {\n let m = new ListSalesInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListSalesInvoiceRequestListSalesInvoiceFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n return toReturn;\n }\n}\n\nexport class ListSalesInvoiceResponse implements i.ListSalesInvoiceResponseInterface {\n invoice: SalesInvoice[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListSalesInvoiceResponse {\n let m = new ListSalesInvoiceResponse();\n m = Object.assign(m, proto);\n if (proto.invoice) {m.invoice = proto.invoice.map(SalesInvoice.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListSalesInvoiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoice !== 'undefined' && this.invoice !== null) {toReturn['invoice'] = 'toApiJson' in this.invoice ? (this.invoice as any).toApiJson() : this.invoice;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class PostSalesInvoiceRequest implements i.PostSalesInvoiceRequestInterface {\n invoiceId: string;\n\n static fromProto(proto: any): PostSalesInvoiceRequest {\n let m = new PostSalesInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PostSalesInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class SalesInvoice implements i.SalesInvoiceInterface {\n invoiceId: string;\n invoiceNumber: string;\n merchantId: string;\n invoiceDate: Date;\n startDate: Date;\n endDate: Date;\n dueDate: Date;\n total: number;\n currency: e.Currency;\n status: e.SalesInvoiceStatus;\n paymentStatus: string;\n outstanding: number;\n type: e.SalesInvoiceType;\n\n static fromProto(proto: any): SalesInvoice {\n let m = new SalesInvoice();\n m = Object.assign(m, proto);\n if (proto.invoiceDate) {m.invoiceDate = new Date(proto.invoiceDate);}\n if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.status) {m.status = enumStringToValue<e.SalesInvoiceStatus>(e.SalesInvoiceStatus, proto.status);}\n if (proto.outstanding) {m.outstanding = parseInt(proto.outstanding, 10);}\n if (proto.type) {m.type = enumStringToValue<e.SalesInvoiceType>(e.SalesInvoiceType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.SalesInvoiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n if (typeof this.invoiceNumber !== 'undefined') {toReturn['invoiceNumber'] = this.invoiceNumber;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceDate !== 'undefined' && this.invoiceDate !== null) {toReturn['invoiceDate'] = 'toApiJson' in this.invoiceDate ? (this.invoiceDate as any).toApiJson() : this.invoiceDate;}\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.paymentStatus !== 'undefined') {toReturn['paymentStatus'] = this.paymentStatus;}\n if (typeof this.outstanding !== 'undefined') {toReturn['outstanding'] = this.outstanding;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class SendSalesInvoiceEmailRequest implements i.SendSalesInvoiceEmailRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): SendSalesInvoiceEmailRequest {\n let m = new SendSalesInvoiceEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendSalesInvoiceEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\nexport class SendSalesInvoiceReceiptEmailRequest implements i.SendSalesInvoiceReceiptEmailRequestInterface {\n merchantId: string;\n invoiceId: string;\n\n static fromProto(proto: any): SendSalesInvoiceReceiptEmailRequest {\n let m = new SendSalesInvoiceReceiptEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendSalesInvoiceReceiptEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class SubscribeValidation implements i.SubscribeValidationInterface {\n status: e.SubscribeValidationStatus;\n\n static fromProto(proto: any): SubscribeValidation {\n let m = new SubscribeValidation();\n m = Object.assign(m, proto);\n if (proto.status) {m.status = enumStringToValue<e.SubscribeValidationStatus>(e.SubscribeValidationStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.SubscribeValidationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { SubscribeValidation } from './subscribe-validation';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AlignmentSubscription implements i.AlignmentSubscriptionInterface {\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): AlignmentSubscription {\n let m = new AlignmentSubscription();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AlignmentSubscriptionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsRequest implements i.CanCreateSubscriptionsRequestInterface {\n merchantId: string;\n skus: {[key: string]: number};\n items: CanCreateSubscriptionsRequestSubscriptionItem[];\n\n static fromProto(proto: any): CanCreateSubscriptionsRequest {\n let m = new CanCreateSubscriptionsRequest();\n m = Object.assign(m, proto);\n if (proto.skus) {m.skus = Object.keys(proto.skus).reduce<any>((obj, k) => { obj[k] = parseInt(proto.skus[k], 10); return obj; }, {});}\n if (proto.items) {m.items = proto.items.map(CanCreateSubscriptionsRequestSubscriptionItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.skus !== 'undefined' && this.skus !== null) {toReturn['skus'] = 'toApiJson' in this.skus ? (this.skus as any).toApiJson() : this.skus;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsResponse implements i.CanCreateSubscriptionsResponseInterface {\n validationResponse: ValidateResponse[];\n\n static fromProto(proto: any): CanCreateSubscriptionsResponse {\n let m = new CanCreateSubscriptionsResponse();\n m = Object.assign(m, proto);\n if (proto.validationResponse) {m.validationResponse = proto.validationResponse.map(ValidateResponse.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.validationResponse !== 'undefined' && this.validationResponse !== null) {toReturn['validationResponse'] = 'toApiJson' in this.validationResponse ? (this.validationResponse as any).toApiJson() : this.validationResponse;}\n return toReturn;\n }\n}\n\nexport class ChangeCustomUnitPriceRequest implements i.ChangeCustomUnitPriceRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n customUnitPrice: number;\n\n static fromProto(proto: any): ChangeCustomUnitPriceRequest {\n let m = new ChangeCustomUnitPriceRequest();\n m = Object.assign(m, proto);\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeCustomUnitPriceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n return toReturn;\n }\n}\n\nexport class ChangeFrequencyRequest implements i.ChangeFrequencyRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n frequency: e.Frequency;\n\n static fromProto(proto: any): ChangeFrequencyRequest {\n let m = new ChangeFrequencyRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeFrequencyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n return toReturn;\n }\n}\n\nexport class ChangeRenewalDateRequest implements i.ChangeRenewalDateRequestInterface {\n merchantId: string;\n customerId: string;\n sku: string;\n orderId: string;\n nextRenewalDate: Date;\n\n static fromProto(proto: any): ChangeRenewalDateRequest {\n let m = new ChangeRenewalDateRequest();\n m = Object.assign(m, proto);\n if (proto.nextRenewalDate) {m.nextRenewalDate = new Date(proto.nextRenewalDate);}\n return m;\n }\n\n constructor(kwargs?: i.ChangeRenewalDateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.nextRenewalDate !== 'undefined' && this.nextRenewalDate !== null) {toReturn['nextRenewalDate'] = 'toApiJson' in this.nextRenewalDate ? (this.nextRenewalDate as any).toApiJson() : this.nextRenewalDate;}\n return toReturn;\n }\n}\n\nexport class CreateSubscriptionRequest implements i.CreateSubscriptionRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n proratedTo: Date;\n renewalState: e.RenewalState;\n retailBundleId: string;\n forResale: boolean;\n customUnitPrice: number;\n alignWith: AlignmentSubscription;\n frequency: e.Frequency;\n retailAmount: number;\n retailFrequency: e.Frequency;\n\n static fromProto(proto: any): CreateSubscriptionRequest {\n let m = new CreateSubscriptionRequest();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.proratedTo) {m.proratedTo = new Date(proto.proratedTo);}\n if (proto.renewalState) {m.renewalState = enumStringToValue<e.RenewalState>(e.RenewalState, proto.renewalState);}\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n if (proto.alignWith) {m.alignWith = AlignmentSubscription.fromProto(proto.alignWith);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.retailAmount) {m.retailAmount = parseInt(proto.retailAmount, 10);}\n if (proto.retailFrequency) {m.retailFrequency = enumStringToValue<e.Frequency>(e.Frequency, proto.retailFrequency);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSubscriptionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.proratedTo !== 'undefined' && this.proratedTo !== null) {toReturn['proratedTo'] = 'toApiJson' in this.proratedTo ? (this.proratedTo as any).toApiJson() : this.proratedTo;}\n if (typeof this.renewalState !== 'undefined') {toReturn['renewalState'] = this.renewalState;}\n if (typeof this.retailBundleId !== 'undefined') {toReturn['retailBundleId'] = this.retailBundleId;}\n if (typeof this.forResale !== 'undefined') {toReturn['forResale'] = this.forResale;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n if (typeof this.alignWith !== 'undefined' && this.alignWith !== null) {toReturn['alignWith'] = 'toApiJson' in this.alignWith ? (this.alignWith as any).toApiJson() : this.alignWith;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.retailAmount !== 'undefined') {toReturn['retailAmount'] = this.retailAmount;}\n if (typeof this.retailFrequency !== 'undefined') {toReturn['retailFrequency'] = this.retailFrequency;}\n return toReturn;\n }\n}\n\nexport class CreateSubscriptionsRequest implements i.CreateSubscriptionsRequestInterface {\n merchantId: string;\n subscriptions: Subscription[];\n\n static fromProto(proto: any): CreateSubscriptionsRequest {\n let m = new CreateSubscriptionsRequest();\n m = Object.assign(m, proto);\n if (proto.subscriptions) {m.subscriptions = proto.subscriptions.map(Subscription.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.CreateSubscriptionsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.subscriptions !== 'undefined' && this.subscriptions !== null) {toReturn['subscriptions'] = 'toApiJson' in this.subscriptions ? (this.subscriptions as any).toApiJson() : this.subscriptions;}\n return toReturn;\n }\n}\n\nexport class CreateSubscriptionsResponse implements i.CreateSubscriptionsResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateSubscriptionsResponse {\n let m = new CreateSubscriptionsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateSubscriptionsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ReverseSubscriptionRequest implements i.ReverseSubscriptionRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n\n static fromProto(proto: any): ReverseSubscriptionRequest {\n let m = new ReverseSubscriptionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ReverseSubscriptionRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n return toReturn;\n }\n}\n\nexport class SetRenewalStartRequest implements i.SetRenewalStartRequestInterface {\n merchantId: string;\n sku: string;\n customerId: string;\n orderId: string;\n renewalStart: Date;\n\n static fromProto(proto: any): SetRenewalStartRequest {\n let m = new SetRenewalStartRequest();\n m = Object.assign(m, proto);\n if (proto.renewalStart) {m.renewalStart = new Date(proto.renewalStart);}\n return m;\n }\n\n constructor(kwargs?: i.SetRenewalStartRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.renewalStart !== 'undefined' && this.renewalStart !== null) {toReturn['renewalStart'] = 'toApiJson' in this.renewalStart ? (this.renewalStart as any).toApiJson() : this.renewalStart;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsRequestSkusEntry implements i.CanCreateSubscriptionsRequestSkusEntryInterface {\n key: string;\n value: number;\n\n static fromProto(proto: any): CanCreateSubscriptionsRequestSkusEntry {\n let m = new CanCreateSubscriptionsRequestSkusEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsRequestSkusEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class Subscription implements i.SubscriptionInterface {\n sku: string;\n customerId: string;\n orderId: string;\n billingStart: Date;\n renewalState: e.RenewalState;\n proratedTo: Date;\n retailBundleId: string;\n forResale: boolean;\n customUnitPrice: number;\n alignWith: AlignmentSubscription;\n bundleInstanceId: string;\n frequency: e.Frequency;\n retailAmount: number;\n retailFrequency: e.Frequency;\n\n static fromProto(proto: any): Subscription {\n let m = new Subscription();\n m = Object.assign(m, proto);\n if (proto.billingStart) {m.billingStart = new Date(proto.billingStart);}\n if (proto.renewalState) {m.renewalState = enumStringToValue<e.RenewalState>(e.RenewalState, proto.renewalState);}\n if (proto.proratedTo) {m.proratedTo = new Date(proto.proratedTo);}\n if (proto.customUnitPrice) {m.customUnitPrice = parseInt(proto.customUnitPrice, 10);}\n if (proto.alignWith) {m.alignWith = AlignmentSubscription.fromProto(proto.alignWith);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.retailAmount) {m.retailAmount = parseInt(proto.retailAmount, 10);}\n if (proto.retailFrequency) {m.retailFrequency = enumStringToValue<e.Frequency>(e.Frequency, proto.retailFrequency);}\n return m;\n }\n\n constructor(kwargs?: i.SubscriptionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n if (typeof this.billingStart !== 'undefined' && this.billingStart !== null) {toReturn['billingStart'] = 'toApiJson' in this.billingStart ? (this.billingStart as any).toApiJson() : this.billingStart;}\n if (typeof this.renewalState !== 'undefined') {toReturn['renewalState'] = this.renewalState;}\n if (typeof this.proratedTo !== 'undefined' && this.proratedTo !== null) {toReturn['proratedTo'] = 'toApiJson' in this.proratedTo ? (this.proratedTo as any).toApiJson() : this.proratedTo;}\n if (typeof this.retailBundleId !== 'undefined') {toReturn['retailBundleId'] = this.retailBundleId;}\n if (typeof this.forResale !== 'undefined') {toReturn['forResale'] = this.forResale;}\n if (typeof this.customUnitPrice !== 'undefined') {toReturn['customUnitPrice'] = this.customUnitPrice;}\n if (typeof this.alignWith !== 'undefined' && this.alignWith !== null) {toReturn['alignWith'] = 'toApiJson' in this.alignWith ? (this.alignWith as any).toApiJson() : this.alignWith;}\n if (typeof this.bundleInstanceId !== 'undefined') {toReturn['bundleInstanceId'] = this.bundleInstanceId;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.retailAmount !== 'undefined') {toReturn['retailAmount'] = this.retailAmount;}\n if (typeof this.retailFrequency !== 'undefined') {toReturn['retailFrequency'] = this.retailFrequency;}\n return toReturn;\n }\n}\n\nexport class CanCreateSubscriptionsRequestSubscriptionItem implements i.CanCreateSubscriptionsRequestSubscriptionItemInterface {\n sku: string;\n frequency: e.Frequency;\n quantity: number;\n\n static fromProto(proto: any): CanCreateSubscriptionsRequestSubscriptionItem {\n let m = new CanCreateSubscriptionsRequestSubscriptionItem();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CanCreateSubscriptionsRequestSubscriptionItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n return toReturn;\n }\n}\n\nexport class ValidateResponse implements i.ValidateResponseInterface {\n sku: string;\n code: SubscribeValidation;\n\n static fromProto(proto: any): ValidateResponse {\n let m = new ValidateResponse();\n m = Object.assign(m, proto);\n if (proto.code) {m.code = SubscribeValidation.fromProto(proto.code);}\n return m;\n }\n\n constructor(kwargs?: i.ValidateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.code !== 'undefined' && this.code !== null) {toReturn['code'] = 'toApiJson' in this.code ? (this.code as any).toApiJson() : this.code;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class ContractDocument implements i.ContractDocumentInterface {\n merchantId: string;\n id: string;\n filename: string;\n created: Date;\n\n static fromProto(proto: any): ContractDocument {\n let m = new ContractDocument();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n return m;\n }\n\n constructor(kwargs?: i.ContractDocumentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.filename !== 'undefined') {toReturn['filename'] = this.filename;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n return toReturn;\n }\n}\n\nexport class DeleteContractDocumentRequest implements i.DeleteContractDocumentRequestInterface {\n merchantId: string;\n id: string;\n\n static fromProto(proto: any): DeleteContractDocumentRequest {\n let m = new DeleteContractDocumentRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteContractDocumentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ListContractDocumentsRequestFilters implements i.ListContractDocumentsRequestFiltersInterface {\n merchantId: string;\n\n static fromProto(proto: any): ListContractDocumentsRequestFilters {\n let m = new ListContractDocumentsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListContractDocumentsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class ListContractDocumentsRequest implements i.ListContractDocumentsRequestInterface {\n filters: ListContractDocumentsRequestFilters;\n pagingOptions: PagedRequestOptions;\n\n static fromProto(proto: any): ListContractDocumentsRequest {\n let m = new ListContractDocumentsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListContractDocumentsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractDocumentsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n return toReturn;\n }\n}\n\nexport class ListContractDocumentsResponse implements i.ListContractDocumentsResponseInterface {\n contractDocuments: ContractDocument[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListContractDocumentsResponse {\n let m = new ListContractDocumentsResponse();\n m = Object.assign(m, proto);\n if (proto.contractDocuments) {m.contractDocuments = proto.contractDocuments.map(ContractDocument.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListContractDocumentsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contractDocuments !== 'undefined' && this.contractDocuments !== null) {toReturn['contractDocuments'] = 'toApiJson' in this.contractDocuments ? (this.contractDocuments as any).toApiJson() : this.contractDocuments;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GetRetailCustomerConfigurationRequest implements i.GetRetailCustomerConfigurationRequestInterface {\n customerId: string;\n merchantId: string;\n\n static fromProto(proto: any): GetRetailCustomerConfigurationRequest {\n let m = new GetRetailCustomerConfigurationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRetailCustomerConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetRetailCustomerConfigurationResponse implements i.GetRetailCustomerConfigurationResponseInterface {\n configuration: RetailCustomerConfiguration;\n\n static fromProto(proto: any): GetRetailCustomerConfigurationResponse {\n let m = new GetRetailCustomerConfigurationResponse();\n m = Object.assign(m, proto);\n if (proto.configuration) {m.configuration = RetailCustomerConfiguration.fromProto(proto.configuration);}\n return m;\n }\n\n constructor(kwargs?: i.GetRetailCustomerConfigurationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.configuration !== 'undefined' && this.configuration !== null) {toReturn['configuration'] = 'toApiJson' in this.configuration ? (this.configuration as any).toApiJson() : this.configuration;}\n return toReturn;\n }\n}\n\nexport class RetailCustomerConfiguration implements i.RetailCustomerConfigurationInterface {\n customerId: string;\n merchantId: string;\n invoiceDay: number;\n nextInvoiceDate: Date;\n autoPost: boolean;\n collectionMethod: string;\n netD: number;\n autoGenerate: boolean;\n contactId: string;\n useTemplateInvoice: boolean;\n\n static fromProto(proto: any): RetailCustomerConfiguration {\n let m = new RetailCustomerConfiguration();\n m = Object.assign(m, proto);\n if (proto.invoiceDay) {m.invoiceDay = parseInt(proto.invoiceDay, 10);}\n if (proto.nextInvoiceDate) {m.nextInvoiceDate = new Date(proto.nextInvoiceDate);}\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RetailCustomerConfigurationInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceDay !== 'undefined') {toReturn['invoiceDay'] = this.invoiceDay;}\n if (typeof this.nextInvoiceDate !== 'undefined' && this.nextInvoiceDate !== null) {toReturn['nextInvoiceDate'] = 'toApiJson' in this.nextInvoiceDate ? (this.nextInvoiceDate as any).toApiJson() : this.nextInvoiceDate;}\n if (typeof this.autoPost !== 'undefined') {toReturn['autoPost'] = this.autoPost;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.autoGenerate !== 'undefined') {toReturn['autoGenerate'] = this.autoGenerate;}\n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.useTemplateInvoice !== 'undefined') {toReturn['useTemplateInvoice'] = this.useTemplateInvoice;}\n return toReturn;\n }\n}\n\nexport class UpsertRetailCustomerConfigurationRequest implements i.UpsertRetailCustomerConfigurationRequestInterface {\n customerId: string;\n merchantId: string;\n invoiceDay: number;\n autoPost: boolean;\n netD: number;\n autoGenerate: boolean;\n contactId: string;\n collectionMethod: string;\n useTemplateInvoice: boolean;\n\n static fromProto(proto: any): UpsertRetailCustomerConfigurationRequest {\n let m = new UpsertRetailCustomerConfigurationRequest();\n m = Object.assign(m, proto);\n if (proto.invoiceDay) {m.invoiceDay = parseInt(proto.invoiceDay, 10);}\n if (proto.netD) {m.netD = parseInt(proto.netD, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailCustomerConfigurationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.invoiceDay !== 'undefined') {toReturn['invoiceDay'] = this.invoiceDay;}\n if (typeof this.autoPost !== 'undefined') {toReturn['autoPost'] = this.autoPost;}\n if (typeof this.netD !== 'undefined') {toReturn['netD'] = this.netD;}\n if (typeof this.autoGenerate !== 'undefined') {toReturn['autoGenerate'] = this.autoGenerate;}\n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.useTemplateInvoice !== 'undefined') {toReturn['useTemplateInvoice'] = this.useTemplateInvoice;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddCreditRequest implements i.AddCreditRequestInterface {\n merchantId: string;\n currency: string;\n amount: number;\n idempotencyKey: string;\n reason: string;\n\n static fromProto(proto: any): AddCreditRequest {\n let m = new AddCreditRequest();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AddCreditRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n return toReturn;\n }\n}\n\nexport class CreditBalance implements i.CreditBalanceInterface {\n merchantId: string;\n currency: string;\n amount: number;\n\n static fromProto(proto: any): CreditBalance {\n let m = new CreditBalance();\n m = Object.assign(m, proto);\n if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.CreditBalanceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n return toReturn;\n }\n}\n\nexport class GetBalanceRequest implements i.GetBalanceRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetBalanceRequest {\n let m = new GetBalanceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetBalanceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetBalanceResponse implements i.GetBalanceResponseInterface {\n creditBalance: CreditBalance;\n\n static fromProto(proto: any): GetBalanceResponse {\n let m = new GetBalanceResponse();\n m = Object.assign(m, proto);\n if (proto.creditBalance) {m.creditBalance = CreditBalance.fromProto(proto.creditBalance);}\n return m;\n }\n\n constructor(kwargs?: i.GetBalanceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.creditBalance !== 'undefined' && this.creditBalance !== null) {toReturn['creditBalance'] = 'toApiJson' in this.creditBalance ? (this.creditBalance as any).toApiJson() : this.creditBalance;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { AppliedBundle } from './applied-bundle';\nimport { AppliedDiscount } from './applied-discount';\nimport { AppliedTaxRate } from './applied-tax-rate';\nimport { TaxRate } from './tax-rate';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class AddTemplateBundleRequest implements i.AddTemplateBundleRequestInterface {\n merchantId: string;\n customerId: string;\n bundleId: string;\n\n static fromProto(proto: any): AddTemplateBundleRequest {\n let m = new AddTemplateBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n return toReturn;\n }\n}\n\nexport class AddTemplateBundleResponse implements i.AddTemplateBundleResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): AddTemplateBundleResponse {\n let m = new AddTemplateBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class AddTemplateLineItemRequest implements i.AddTemplateLineItemRequestInterface {\n merchantId: string;\n customerId: string;\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): AddTemplateLineItemRequest {\n let m = new AddTemplateLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class AddTemplateLineItemResponse implements i.AddTemplateLineItemResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): AddTemplateLineItemResponse {\n let m = new AddTemplateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.AddTemplateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class CreateTemplateRequest implements i.CreateTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): CreateTemplateRequest {\n let m = new CreateTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class CreateTemplateResponse implements i.CreateTemplateResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): CreateTemplateResponse {\n let m = new CreateTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.CreateTemplateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class DeleteInvoiceTemplateRequest implements i.DeleteInvoiceTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): DeleteInvoiceTemplateRequest {\n let m = new DeleteInvoiceTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteInvoiceTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class DeleteTemplateLineItemRequest implements i.DeleteTemplateLineItemRequestInterface {\n merchantId: string;\n customerId: string;\n id: string;\n\n static fromProto(proto: any): DeleteTemplateLineItemRequest {\n let m = new DeleteTemplateLineItemRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteTemplateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteTemplateLineItemResponse implements i.DeleteTemplateLineItemResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): DeleteTemplateLineItemResponse {\n let m = new DeleteTemplateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.DeleteTemplateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceTemplateRequest implements i.GetInvoiceTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): GetInvoiceTemplateRequest {\n let m = new GetInvoiceTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class GetInvoiceTemplateResponse implements i.GetInvoiceTemplateResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): GetInvoiceTemplateResponse {\n let m = new GetInvoiceTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.GetInvoiceTemplateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class InvoiceTemplate implements i.InvoiceTemplateInterface {\n merchantId: string;\n customerId: string;\n appliedTaxes: AppliedTaxRate[];\n items: InvoiceTemplateItem[];\n currency: e.Currency;\n total: number;\n subtotal: number;\n created: Date;\n updated: Date;\n defaultTaxRates: TaxRate[];\n appliedBundles: AppliedBundle[];\n amountDiscount: number;\n\n static fromProto(proto: any): InvoiceTemplate {\n let m = new InvoiceTemplate();\n m = Object.assign(m, proto);\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.items) {m.items = proto.items.map(InvoiceTemplateItem.fromProto);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.defaultTaxRates) {m.defaultTaxRates = proto.defaultTaxRates.map(TaxRate.fromProto);}\n if (proto.appliedBundles) {m.appliedBundles = proto.appliedBundles.map(AppliedBundle.fromProto);}\n if (proto.amountDiscount) {m.amountDiscount = parseInt(proto.amountDiscount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceTemplateInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.defaultTaxRates !== 'undefined' && this.defaultTaxRates !== null) {toReturn['defaultTaxRates'] = 'toApiJson' in this.defaultTaxRates ? (this.defaultTaxRates as any).toApiJson() : this.defaultTaxRates;}\n if (typeof this.appliedBundles !== 'undefined' && this.appliedBundles !== null) {toReturn['appliedBundles'] = 'toApiJson' in this.appliedBundles ? (this.appliedBundles as any).toApiJson() : this.appliedBundles;}\n if (typeof this.amountDiscount !== 'undefined') {toReturn['amountDiscount'] = this.amountDiscount;}\n return toReturn;\n }\n}\n\nexport class InvoiceTemplateItem implements i.InvoiceTemplateItemInterface {\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n total: number;\n appliedTaxes: AppliedTaxRate[];\n taxRates: TaxRate[];\n subtotal: number;\n bundleId: string;\n discounts: AppliedDiscount[];\n\n static fromProto(proto: any): InvoiceTemplateItem {\n let m = new InvoiceTemplateItem();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.total) {m.total = parseInt(proto.total, 10);}\n if (proto.appliedTaxes) {m.appliedTaxes = proto.appliedTaxes.map(AppliedTaxRate.fromProto);}\n if (proto.taxRates) {m.taxRates = proto.taxRates.map(TaxRate.fromProto);}\n if (proto.subtotal) {m.subtotal = parseInt(proto.subtotal, 10);}\n if (proto.discounts) {m.discounts = proto.discounts.map(AppliedDiscount.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.InvoiceTemplateItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.total !== 'undefined') {toReturn['total'] = this.total;}\n if (typeof this.appliedTaxes !== 'undefined' && this.appliedTaxes !== null) {toReturn['appliedTaxes'] = 'toApiJson' in this.appliedTaxes ? (this.appliedTaxes as any).toApiJson() : this.appliedTaxes;}\n if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {toReturn['taxRates'] = 'toApiJson' in this.taxRates ? (this.taxRates as any).toApiJson() : this.taxRates;}\n if (typeof this.subtotal !== 'undefined') {toReturn['subtotal'] = this.subtotal;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.discounts !== 'undefined' && this.discounts !== null) {toReturn['discounts'] = 'toApiJson' in this.discounts ? (this.discounts as any).toApiJson() : this.discounts;}\n return toReturn;\n }\n}\n\nexport class UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest implements i.UpsertInvoiceTemplateRequestInvoiceTemplateItemRequestInterface {\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n taxRates: string[];\n bundleId: string;\n appliedDiscounts: AppliedDiscount[];\n\n static fromProto(proto: any): UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest {\n let m = new UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.appliedDiscounts) {m.appliedDiscounts = proto.appliedDiscounts.map(AppliedDiscount.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertInvoiceTemplateRequestInvoiceTemplateItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.appliedDiscounts !== 'undefined' && this.appliedDiscounts !== null) {toReturn['appliedDiscounts'] = 'toApiJson' in this.appliedDiscounts ? (this.appliedDiscounts as any).toApiJson() : this.appliedDiscounts;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateBundleRequest implements i.UpdateTemplateBundleRequestInterface {\n merchantId: string;\n customerId: string;\n bundleId: string;\n hideBundleItems: boolean;\n\n static fromProto(proto: any): UpdateTemplateBundleRequest {\n let m = new UpdateTemplateBundleRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateBundleRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.bundleId !== 'undefined') {toReturn['bundleId'] = this.bundleId;}\n if (typeof this.hideBundleItems !== 'undefined') {toReturn['hideBundleItems'] = this.hideBundleItems;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateBundleResponse implements i.UpdateTemplateBundleResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpdateTemplateBundleResponse {\n let m = new UpdateTemplateBundleResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateBundleResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateDefaultTaxRatesRequest implements i.UpdateTemplateDefaultTaxRatesRequestInterface {\n customerId: string;\n merchantId: string;\n taxRateIds: string[];\n\n static fromProto(proto: any): UpdateTemplateDefaultTaxRatesRequest {\n let m = new UpdateTemplateDefaultTaxRatesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateDefaultTaxRatesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateDefaultTaxRatesResponse implements i.UpdateTemplateDefaultTaxRatesResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpdateTemplateDefaultTaxRatesResponse {\n let m = new UpdateTemplateDefaultTaxRatesResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateDefaultTaxRatesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateLineItemRequest implements i.UpdateTemplateLineItemRequestInterface {\n merchantId: string;\n customerId: string;\n id: string;\n sku: string;\n unitPrice: number;\n quantity: number;\n description: string;\n taxRates: string[];\n\n static fromProto(proto: any): UpdateTemplateLineItemRequest {\n let m = new UpdateTemplateLineItemRequest();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateLineItemRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.taxRates !== 'undefined') {toReturn['taxRates'] = this.taxRates;}\n return toReturn;\n }\n}\n\nexport class UpdateTemplateLineItemResponse implements i.UpdateTemplateLineItemResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpdateTemplateLineItemResponse {\n let m = new UpdateTemplateLineItemResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateTemplateLineItemResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\nexport class UpsertInvoiceTemplateRequest implements i.UpsertInvoiceTemplateRequestInterface {\n merchantId: string;\n customerId: string;\n items: UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest[];\n defaultTaxRates: string[];\n currencyCode: string;\n\n static fromProto(proto: any): UpsertInvoiceTemplateRequest {\n let m = new UpsertInvoiceTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.items) {m.items = proto.items.map(UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertInvoiceTemplateRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.defaultTaxRates !== 'undefined') {toReturn['defaultTaxRates'] = this.defaultTaxRates;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class UpsertInvoiceTemplateResponse implements i.UpsertInvoiceTemplateResponseInterface {\n invoiceTemplate: InvoiceTemplate;\n\n static fromProto(proto: any): UpsertInvoiceTemplateResponse {\n let m = new UpsertInvoiceTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.invoiceTemplate) {m.invoiceTemplate = InvoiceTemplate.fromProto(proto.invoiceTemplate);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertInvoiceTemplateResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.invoiceTemplate !== 'undefined' && this.invoiceTemplate !== null) {toReturn['invoiceTemplate'] = 'toApiJson' in this.invoiceTemplate ? (this.invoiceTemplate as any).toApiJson() : this.invoiceTemplate;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { PagedRequestOptions, PagedResponseMetadata } from './common';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DeleteRecurringInvoiceRequest implements i.DeleteRecurringInvoiceRequestInterface {\n id: string;\n\n static fromProto(proto: any): DeleteRecurringInvoiceRequest {\n let m = new DeleteRecurringInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteRecurringInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class GetRecurringInvoiceRequest implements i.GetRecurringInvoiceRequestInterface {\n id: string;\n\n static fromProto(proto: any): GetRecurringInvoiceRequest {\n let m = new GetRecurringInvoiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetRecurringInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class ListRecurringInvoicesRequest implements i.ListRecurringInvoicesRequestInterface {\n pagingOptions: PagedRequestOptions;\n merchantId: string;\n customerId: string;\n\n static fromProto(proto: any): ListRecurringInvoicesRequest {\n let m = new ListRecurringInvoicesRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n return m;\n }\n\n constructor(kwargs?: i.ListRecurringInvoicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n return toReturn;\n }\n}\n\nexport class ListRecurringInvoicesResponse implements i.ListRecurringInvoicesResponseInterface {\n recurringInvoices: RecurringInvoice[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListRecurringInvoicesResponse {\n let m = new ListRecurringInvoicesResponse();\n m = Object.assign(m, proto);\n if (proto.recurringInvoices) {m.recurringInvoices = proto.recurringInvoices.map(RecurringInvoice.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListRecurringInvoicesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.recurringInvoices !== 'undefined' && this.recurringInvoices !== null) {toReturn['recurringInvoices'] = 'toApiJson' in this.recurringInvoices ? (this.recurringInvoices as any).toApiJson() : this.recurringInvoices;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoice implements i.RecurringInvoiceInterface {\n id: string;\n created: Date;\n updated: Date;\n customerId: string;\n status: e.RecurringInvoiceStatus;\n issuedAt: Date;\n nextIssue: Date;\n intervalCount: number;\n interval: e.Interval;\n collectionMethod: e.CollectionMethod;\n recipientUserId: string;\n paymentProcessor: e.PaymentProcessor;\n paymentProcessorId: string;\n items: RecurringInvoiceItem[];\n totalAmount: number;\n currencyCode: string;\n\n static fromProto(proto: any): RecurringInvoice {\n let m = new RecurringInvoice();\n m = Object.assign(m, proto);\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.status) {m.status = enumStringToValue<e.RecurringInvoiceStatus>(e.RecurringInvoiceStatus, proto.status);}\n if (proto.issuedAt) {m.issuedAt = new Date(proto.issuedAt);}\n if (proto.nextIssue) {m.nextIssue = new Date(proto.nextIssue);}\n if (proto.intervalCount) {m.intervalCount = parseInt(proto.intervalCount, 10);}\n if (proto.interval) {m.interval = enumStringToValue<e.Interval>(e.Interval, proto.interval);}\n if (proto.collectionMethod) {m.collectionMethod = enumStringToValue<e.CollectionMethod>(e.CollectionMethod, proto.collectionMethod);}\n if (proto.paymentProcessor) {m.paymentProcessor = enumStringToValue<e.PaymentProcessor>(e.PaymentProcessor, proto.paymentProcessor);}\n if (proto.items) {m.items = proto.items.map(RecurringInvoiceItem.fromProto);}\n if (proto.totalAmount) {m.totalAmount = parseInt(proto.totalAmount, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.customerId !== 'undefined') {toReturn['customerId'] = this.customerId;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.issuedAt !== 'undefined' && this.issuedAt !== null) {toReturn['issuedAt'] = 'toApiJson' in this.issuedAt ? (this.issuedAt as any).toApiJson() : this.issuedAt;}\n if (typeof this.nextIssue !== 'undefined' && this.nextIssue !== null) {toReturn['nextIssue'] = 'toApiJson' in this.nextIssue ? (this.nextIssue as any).toApiJson() : this.nextIssue;}\n if (typeof this.intervalCount !== 'undefined') {toReturn['intervalCount'] = this.intervalCount;}\n if (typeof this.interval !== 'undefined') {toReturn['interval'] = this.interval;}\n if (typeof this.collectionMethod !== 'undefined') {toReturn['collectionMethod'] = this.collectionMethod;}\n if (typeof this.recipientUserId !== 'undefined') {toReturn['recipientUserId'] = this.recipientUserId;}\n if (typeof this.paymentProcessor !== 'undefined') {toReturn['paymentProcessor'] = this.paymentProcessor;}\n if (typeof this.paymentProcessorId !== 'undefined') {toReturn['paymentProcessorId'] = this.paymentProcessorId;}\n if (typeof this.items !== 'undefined' && this.items !== null) {toReturn['items'] = 'toApiJson' in this.items ? (this.items as any).toApiJson() : this.items;}\n if (typeof this.totalAmount !== 'undefined') {toReturn['totalAmount'] = this.totalAmount;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoiceBundle implements i.RecurringInvoiceBundleInterface {\n name: string;\n hideLineItems: boolean;\n lineItems: RecurringInvoiceLineItem[];\n\n static fromProto(proto: any): RecurringInvoiceBundle {\n let m = new RecurringInvoiceBundle();\n m = Object.assign(m, proto);\n if (proto.lineItems) {m.lineItems = proto.lineItems.map(RecurringInvoiceLineItem.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceBundleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.hideLineItems !== 'undefined') {toReturn['hideLineItems'] = this.hideLineItems;}\n if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoiceItem implements i.RecurringInvoiceItemInterface {\n lineItem: RecurringInvoiceLineItem;\n bundle: RecurringInvoiceBundle;\n\n static fromProto(proto: any): RecurringInvoiceItem {\n let m = new RecurringInvoiceItem();\n m = Object.assign(m, proto);\n if (proto.lineItem) {m.lineItem = RecurringInvoiceLineItem.fromProto(proto.lineItem);}\n if (proto.bundle) {m.bundle = RecurringInvoiceBundle.fromProto(proto.bundle);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.lineItem !== 'undefined' && this.lineItem !== null) {toReturn['lineItem'] = 'toApiJson' in this.lineItem ? (this.lineItem as any).toApiJson() : this.lineItem;}\n if (typeof this.bundle !== 'undefined' && this.bundle !== null) {toReturn['bundle'] = 'toApiJson' in this.bundle ? (this.bundle as any).toApiJson() : this.bundle;}\n return toReturn;\n }\n}\n\nexport class RecurringInvoiceLineItem implements i.RecurringInvoiceLineItemInterface {\n sku: string;\n unitPrice: number;\n quantity: number;\n name: string;\n taxRateIds: string[];\n\n static fromProto(proto: any): RecurringInvoiceLineItem {\n let m = new RecurringInvoiceLineItem();\n m = Object.assign(m, proto);\n if (proto.unitPrice) {m.unitPrice = parseInt(proto.unitPrice, 10);}\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RecurringInvoiceLineItemInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.unitPrice !== 'undefined') {toReturn['unitPrice'] = this.unitPrice;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n return toReturn;\n }\n}\n\nexport class UpdateRecurringInvoiceRequest implements i.UpdateRecurringInvoiceRequestInterface {\n recurringInvoice: RecurringInvoice;\n\n static fromProto(proto: any): UpdateRecurringInvoiceRequest {\n let m = new UpdateRecurringInvoiceRequest();\n m = Object.assign(m, proto);\n if (proto.recurringInvoice) {m.recurringInvoice = RecurringInvoice.fromProto(proto.recurringInvoice);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateRecurringInvoiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.recurringInvoice !== 'undefined' && this.recurringInvoice !== null) {toReturn['recurringInvoice'] = 'toApiJson' in this.recurringInvoice ? (this.recurringInvoice as any).toApiJson() : this.recurringInvoice;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { BundlePricing } from './bundle';\nimport { Commitment } from './commitment';\nimport { PricingPlanProductPricing } from './pricing-plan';\nimport { ProductPrices, ProductPricing } from './product-pricing';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DeleteRetailPricingRequest implements i.DeleteRetailPricingRequestInterface {\n merchantId: string;\n groupId: string;\n sku: string;\n\n static fromProto(proto: any): DeleteRetailPricingRequest {\n let m = new DeleteRetailPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n return toReturn;\n }\n}\n\nexport class GenerateBillableItemsCSVRequest implements i.GenerateBillableItemsCSVRequestInterface {\n merchantId: string;\n periodStart: Date;\n periodEnd: Date;\n\n static fromProto(proto: any): GenerateBillableItemsCSVRequest {\n let m = new GenerateBillableItemsCSVRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GenerateBillableItemsCSVRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n return toReturn;\n }\n}\n\nexport class GenerateBillableItemsCSVResponse implements i.GenerateBillableItemsCSVResponseInterface {\n url: string;\n\n static fromProto(proto: any): GenerateBillableItemsCSVResponse {\n let m = new GenerateBillableItemsCSVResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GenerateBillableItemsCSVResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n return toReturn;\n }\n}\n\nexport class GenerateVendorReportRequest implements i.GenerateVendorReportRequestInterface {\n skus: string[];\n periodStart: Date;\n periodEnd: Date;\n vendorName: string;\n markAsApproved: boolean;\n\n static fromProto(proto: any): GenerateVendorReportRequest {\n let m = new GenerateVendorReportRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GenerateVendorReportRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n if (typeof this.vendorName !== 'undefined') {toReturn['vendorName'] = this.vendorName;}\n if (typeof this.markAsApproved !== 'undefined') {toReturn['markAsApproved'] = this.markAsApproved;}\n return toReturn;\n }\n}\n\nexport class GenerateVendorReportResponse implements i.GenerateVendorReportResponseInterface {\n url: string;\n bucket: string;\n filename: string;\n\n static fromProto(proto: any): GenerateVendorReportResponse {\n let m = new GenerateVendorReportResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GenerateVendorReportResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n if (typeof this.bucket !== 'undefined') {toReturn['bucket'] = this.bucket;}\n if (typeof this.filename !== 'undefined') {toReturn['filename'] = this.filename;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRetailPricingRequest implements i.GetMultiBundleRetailPricingRequestInterface {\n merchantId: string;\n storeId: string;\n bundleIds: string[];\n\n static fromProto(proto: any): GetMultiBundleRetailPricingRequest {\n let m = new GetMultiBundleRetailPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.storeId !== 'undefined') {toReturn['storeId'] = this.storeId;}\n if (typeof this.bundleIds !== 'undefined') {toReturn['bundleIds'] = this.bundleIds;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRetailPricingResponse implements i.GetMultiBundleRetailPricingResponseInterface {\n prices: {[key: string]: BundlePricing};\n\n static fromProto(proto: any): GetMultiBundleRetailPricingResponse {\n let m = new GetMultiBundleRetailPricingResponse();\n m = Object.assign(m, proto);\n if (proto.prices) {m.prices = Object.keys(proto.prices).reduce<any>((obj, k) => { obj[k] = BundlePricing.fromProto(proto.prices[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRetailPricingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductPricingRequest implements i.GetMultiProductPricingRequestInterface {\n merchantId: string;\n skus: string[];\n pricingPlanId: string;\n\n static fromProto(proto: any): GetMultiProductPricingRequest {\n let m = new GetMultiProductPricingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductPricingResponse implements i.GetMultiProductPricingResponseInterface {\n productPrices: {[key: string]: ProductPricing};\n prices: ProductPrices[];\n\n static fromProto(proto: any): GetMultiProductPricingResponse {\n let m = new GetMultiProductPricingResponse();\n m = Object.assign(m, proto);\n if (proto.productPrices) {m.productPrices = Object.keys(proto.productPrices).reduce<any>((obj, k) => { obj[k] = ProductPricing.fromProto(proto.productPrices[k]); return obj; }, {});}\n if (proto.prices) {m.prices = proto.prices.map(ProductPrices.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductPricingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productPrices !== 'undefined' && this.productPrices !== null) {toReturn['productPrices'] = 'toApiJson' in this.productPrices ? (this.productPrices as any).toApiJson() : this.productPrices;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailPricingRequest implements i.GetMultiRetailPricingRequestInterface {\n merchantId: string;\n currency: e.Currency;\n skus: string[];\n groupId: string;\n\n static fromProto(proto: any): GetMultiRetailPricingRequest {\n let m = new GetMultiRetailPricingRequest();\n m = Object.assign(m, proto);\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailPricingResponse implements i.GetMultiRetailPricingResponseInterface {\n productPrices: {[key: string]: ProductPricing};\n prices: ProductPrices[];\n\n static fromProto(proto: any): GetMultiRetailPricingResponse {\n let m = new GetMultiRetailPricingResponse();\n m = Object.assign(m, proto);\n if (proto.productPrices) {m.productPrices = Object.keys(proto.productPrices).reduce<any>((obj, k) => { obj[k] = ProductPricing.fromProto(proto.productPrices[k]); return obj; }, {});}\n if (proto.prices) {m.prices = proto.prices.map(ProductPrices.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailPricingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.productPrices !== 'undefined' && this.productPrices !== null) {toReturn['productPrices'] = 'toApiJson' in this.productPrices ? (this.productPrices as any).toApiJson() : this.productPrices;}\n if (typeof this.prices !== 'undefined' && this.prices !== null) {toReturn['prices'] = 'toApiJson' in this.prices ? (this.prices as any).toApiJson() : this.prices;}\n return toReturn;\n }\n}\n\nexport class GetPurchaseCostRequest implements i.GetPurchaseCostRequestInterface {\n merchantId: string;\n sku: string;\n quantity: number;\n frequency: e.Frequency;\n\n static fromProto(proto: any): GetPurchaseCostRequest {\n let m = new GetPurchaseCostRequest();\n m = Object.assign(m, proto);\n if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n return m;\n }\n\n constructor(kwargs?: i.GetPurchaseCostRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n return toReturn;\n }\n}\n\nexport class GetPurchaseCostResponse implements i.GetPurchaseCostResponseInterface {\n billingFrequency: string;\n totalCost: number;\n currency: e.Currency;\n strategy: e.BillingStrategy;\n commitment: Commitment;\n isStartingPrice: boolean;\n discountAmount: number;\n subtotalCost: number;\n setupFee: number;\n\n static fromProto(proto: any): GetPurchaseCostResponse {\n let m = new GetPurchaseCostResponse();\n m = Object.assign(m, proto);\n if (proto.totalCost) {m.totalCost = parseInt(proto.totalCost, 10);}\n if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n if (proto.commitment) {m.commitment = Commitment.fromProto(proto.commitment);}\n if (proto.discountAmount) {m.discountAmount = parseInt(proto.discountAmount, 10);}\n if (proto.subtotalCost) {m.subtotalCost = parseInt(proto.subtotalCost, 10);}\n if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetPurchaseCostResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.billingFrequency !== 'undefined') {toReturn['billingFrequency'] = this.billingFrequency;}\n if (typeof this.totalCost !== 'undefined') {toReturn['totalCost'] = this.totalCost;}\n if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n if (typeof this.commitment !== 'undefined' && this.commitment !== null) {toReturn['commitment'] = 'toApiJson' in this.commitment ? (this.commitment as any).toApiJson() : this.commitment;}\n if (typeof this.isStartingPrice !== 'undefined') {toReturn['isStartingPrice'] = this.isStartingPrice;}\n if (typeof this.discountAmount !== 'undefined') {toReturn['discountAmount'] = this.discountAmount;}\n if (typeof this.subtotalCost !== 'undefined') {toReturn['subtotalCost'] = this.subtotalCost;}\n if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n return toReturn;\n }\n}\n\nexport class GetRevenueStatsRequest implements i.GetRevenueStatsRequestInterface {\n skus: string[];\n periodStart: Date;\n periodEnd: Date;\n\n static fromProto(proto: any): GetRevenueStatsRequest {\n let m = new GetRevenueStatsRequest();\n m = Object.assign(m, proto);\n if (proto.periodStart) {m.periodStart = new Date(proto.periodStart);}\n if (proto.periodEnd) {m.periodEnd = new Date(proto.periodEnd);}\n return m;\n }\n\n constructor(kwargs?: i.GetRevenueStatsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.skus !== 'undefined') {toReturn['skus'] = this.skus;}\n if (typeof this.periodStart !== 'undefined' && this.periodStart !== null) {toReturn['periodStart'] = 'toApiJson' in this.periodStart ? (this.periodStart as any).toApiJson() : this.periodStart;}\n if (typeof this.periodEnd !== 'undefined' && this.periodEnd !== null) {toReturn['periodEnd'] = 'toApiJson' in this.periodEnd ? (this.periodEnd as any).toApiJson() : this.periodEnd;}\n return toReturn;\n }\n}\n\nexport class GetRevenueStatsResponse implements i.GetRevenueStatsResponseInterface {\n totalRevenue: number;\n\n static fromProto(proto: any): GetRevenueStatsResponse {\n let m = new GetRevenueStatsResponse();\n m = Object.assign(m, proto);\n if (proto.totalRevenue) {m.totalRevenue = parseInt(proto.totalRevenue, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetRevenueStatsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.totalRevenue !== 'undefined') {toReturn['totalRevenue'] = this.totalRevenue;}\n return toReturn;\n }\n}\n\nexport class GetStatisticsRequest implements i.GetStatisticsRequestInterface {\n merchantId: string;\n\n static fromProto(proto: any): GetStatisticsRequest {\n let m = new GetStatisticsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetStatisticsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n return toReturn;\n }\n}\n\nexport class GetStatisticsResponse implements i.GetStatisticsResponseInterface {\n totalBillableCustomers: number;\n currentBasketSize: number;\n changeInBasketSize30Days: number;\n\n static fromProto(proto: any): GetStatisticsResponse {\n let m = new GetStatisticsResponse();\n m = Object.assign(m, proto);\n if (proto.totalBillableCustomers) {m.totalBillableCustomers = parseInt(proto.totalBillableCustomers, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GetStatisticsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.totalBillableCustomers !== 'undefined') {toReturn['totalBillableCustomers'] = this.totalBillableCustomers;}\n if (typeof this.currentBasketSize !== 'undefined') {toReturn['currentBasketSize'] = this.currentBasketSize;}\n if (typeof this.changeInBasketSize30Days !== 'undefined') {toReturn['changeInBasketSize30Days'] = this.changeInBasketSize30Days;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonRequestGetWholesaleComparisonFilters implements i.GetWholesaleComparisonRequestGetWholesaleComparisonFiltersInterface {\n sku: string[];\n currencyCode: string[];\n\n static fromProto(proto: any): GetWholesaleComparisonRequestGetWholesaleComparisonFilters {\n let m = new GetWholesaleComparisonRequestGetWholesaleComparisonFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonRequestGetWholesaleComparisonFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonRequest implements i.GetWholesaleComparisonRequestInterface {\n pricingPlanId: string[];\n filter: GetWholesaleComparisonRequestGetWholesaleComparisonFilters;\n\n static fromProto(proto: any): GetWholesaleComparisonRequest {\n let m = new GetWholesaleComparisonRequest();\n m = Object.assign(m, proto);\n if (proto.filter) {m.filter = GetWholesaleComparisonRequestGetWholesaleComparisonFilters.fromProto(proto.filter);}\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.filter !== 'undefined' && this.filter !== null) {toReturn['filter'] = 'toApiJson' in this.filter ? (this.filter as any).toApiJson() : this.filter;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonResponse implements i.GetWholesaleComparisonResponseInterface {\n results: GetWholesaleComparisonResponseGetWholesaleComparisonResult[];\n\n static fromProto(proto: any): GetWholesaleComparisonResponse {\n let m = new GetWholesaleComparisonResponse();\n m = Object.assign(m, proto);\n if (proto.results) {m.results = proto.results.map(GetWholesaleComparisonResponseGetWholesaleComparisonResult.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.results !== 'undefined' && this.results !== null) {toReturn['results'] = 'toApiJson' in this.results ? (this.results as any).toApiJson() : this.results;}\n return toReturn;\n }\n}\n\nexport class GetWholesaleComparisonResponseGetWholesaleComparisonResult implements i.GetWholesaleComparisonResponseGetWholesaleComparisonResultInterface {\n pricingPlanId: string;\n sku: string;\n productPricing: ProductPricing;\n\n static fromProto(proto: any): GetWholesaleComparisonResponseGetWholesaleComparisonResult {\n let m = new GetWholesaleComparisonResponseGetWholesaleComparisonResult();\n m = Object.assign(m, proto);\n if (proto.productPricing) {m.productPricing = ProductPricing.fromProto(proto.productPricing);}\n return m;\n }\n\n constructor(kwargs?: i.GetWholesaleComparisonResponseGetWholesaleComparisonResultInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pricingPlanId !== 'undefined') {toReturn['pricingPlanId'] = this.pricingPlanId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.productPricing !== 'undefined' && this.productPricing !== null) {toReturn['productPricing'] = 'toApiJson' in this.productPricing ? (this.productPricing as any).toApiJson() : this.productPricing;}\n return toReturn;\n }\n}\n\nexport class GetMultiBundleRetailPricingResponsePricesEntry implements i.GetMultiBundleRetailPricingResponsePricesEntryInterface {\n key: string;\n value: BundlePricing;\n\n static fromProto(proto: any): GetMultiBundleRetailPricingResponsePricesEntry {\n let m = new GetMultiBundleRetailPricingResponsePricesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = BundlePricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiBundleRetailPricingResponsePricesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class UpsertRetailPricingRequestPricingEntry implements i.UpsertRetailPricingRequestPricingEntryInterface {\n key: string;\n value: PricingPlanProductPricing;\n\n static fromProto(proto: any): UpsertRetailPricingRequestPricingEntry {\n let m = new UpsertRetailPricingRequestPricingEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = PricingPlanProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailPricingRequestPricingEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class GetMultiRetailPricingResponseProductPricesEntry implements i.GetMultiRetailPricingResponseProductPricesEntryInterface {\n key: string;\n value: ProductPricing;\n\n static fromProto(proto: any): GetMultiRetailPricingResponseProductPricesEntry {\n let m = new GetMultiRetailPricingResponseProductPricesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = ProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiRetailPricingResponseProductPricesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class GetMultiProductPricingResponseProductPricesEntry implements i.GetMultiProductPricingResponseProductPricesEntryInterface {\n key: string;\n value: ProductPricing;\n\n static fromProto(proto: any): GetMultiProductPricingResponseProductPricesEntry {\n let m = new GetMultiProductPricingResponseProductPricesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = ProductPricing.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMultiProductPricingResponseProductPricesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class SetWholesaleProductStrategyRequest implements i.SetWholesaleProductStrategyRequestInterface {\n merchantId: string;\n sku: string;\n strategy: e.BillingStrategy;\n\n static fromProto(proto: any): SetWholesaleProductStrategyRequest {\n let m = new SetWholesaleProductStrategyRequest();\n m = Object.assign(m, proto);\n if (proto.strategy) {m.strategy = enumStringToValue<e.BillingStrategy>(e.BillingStrategy, proto.strategy);}\n return m;\n }\n\n constructor(kwargs?: i.SetWholesaleProductStrategyRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.strategy !== 'undefined') {toReturn['strategy'] = this.strategy;}\n return toReturn;\n }\n}\n\nexport class SetWholesaleProductVolumeCommitmentRequest implements i.SetWholesaleProductVolumeCommitmentRequestInterface {\n merchantId: string;\n sku: string;\n volumeCommitment: number;\n\n static fromProto(proto: any): SetWholesaleProductVolumeCommitmentRequest {\n let m = new SetWholesaleProductVolumeCommitmentRequest();\n m = Object.assign(m, proto);\n if (proto.volumeCommitment) {m.volumeCommitment = parseInt(proto.volumeCommitment, 10);}\n return m;\n }\n\n constructor(kwargs?: i.SetWholesaleProductVolumeCommitmentRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.volumeCommitment !== 'undefined') {toReturn['volumeCommitment'] = this.volumeCommitment;}\n return toReturn;\n }\n}\n\nexport class StartRevRecTemplateBackfillRequest implements i.StartRevRecTemplateBackfillRequestInterface {\n\n static fromProto(proto: any): StartRevRecTemplateBackfillRequest {\n let m = new StartRevRecTemplateBackfillRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.StartRevRecTemplateBackfillRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpsertRetailPricingRequest implements i.UpsertRetailPricingRequestInterface {\n merchantId: string;\n sku: string;\n frequency: e.Frequency;\n pricing: {[key: string]: PricingPlanProductPricing};\n groupId: string;\n\n static fromProto(proto: any): UpsertRetailPricingRequest {\n let m = new UpsertRetailPricingRequest();\n m = Object.assign(m, proto);\n if (proto.frequency) {m.frequency = enumStringToValue<e.Frequency>(e.Frequency, proto.frequency);}\n if (proto.pricing) {m.pricing = Object.keys(proto.pricing).reduce<any>((obj, k) => { obj[k] = PricingPlanProductPricing.fromProto(proto.pricing[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.UpsertRetailPricingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.merchantId !== 'undefined') {toReturn['merchantId'] = this.merchantId;}\n if (typeof this.sku !== 'undefined') {toReturn['sku'] = this.sku;}\n if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n PagedRequestOptions,\n PagedResponseMetadata,\n} from './common';\n\nexport {\n} from './frequency';\n\nexport {\n BillItemRequest,\n BillMultipleItemsRequest,\n BillMultipleItemsResponse,\n BillableItem,\n CanBillItemRequest,\n BillableItemCustomerAddress,\n DeleteBillableItemRequest,\n ExpireBillableItemRequest,\n ListBillableItemsRequestFilters,\n GetBillableItemRequest,\n GetBillableItemResponse,\n GetMultiSubscriptionsRequest,\n GetMultiSubscriptionsResponse,\n Item,\n GetMultiSubscriptionsRequestKey,\n ListBillableItemsRequest,\n ListBillableItemsResponse,\n} from './billable-item';\n\nexport {\n AppliedDiscount,\n} from './applied-discount';\n\nexport {\n Bundle,\n BundleItem,\n BundlePricing,\n GetMultiBundleResponseBundlesEntry,\n ListBundlesRequestFilters,\n GetMultiBundleRequest,\n GetMultiBundleResponse,\n ListBundlesRequest,\n ListBundlesResponse,\n BundleItemPrice,\n BundlePricingPriceAndFrequency,\n UpsertBundleRequest,\n} from './bundle';\n\nexport {\n Commitment,\n} from './commitment';\n\nexport {\n} from './currency';\n\nexport {\n Contract,\n GetMultiContractsResponseContractsEntry,\n CreateContractRequest,\n CreateContractResponse,\n GetContractRequest,\n GetContractResponse,\n GetMultiContractsRequest,\n GetMultiContractsResponse,\n ListContractsRequest,\n ListContractsResponse,\n UpdateContractRequestMutation,\n ResetContractPricingRequest,\n UpdateContractRequest,\n UpdateContractResponse,\n UpdateContractSubscriptionRequest,\n} from './contract';\n\nexport {\n CustomerSummary,\n GetMultiCustomerSummariesRequest,\n GetMultiCustomerSummariesResponse,\n} from './customer-summary';\n\nexport {\n BankAccount,\n CreateStripeExternalAccountRequest,\n DeleteBankAccountRequest,\n ListBankAccountsRequest,\n ListBankAccountsResponse,\n SetDefaultBankAccountRequest,\n} from './external-account';\n\nexport {\n ProductSummaryDiscount,\n ListSubscriptionRetentionRequestFilters,\n GetProductSummariesTotalRequest,\n GetProductSummariesTotalResponse,\n ListProductSummariesRequest,\n ListProductSummariesResponse,\n ListSubscriptionRetentionByGroupResponse,\n ListSubscriptionRetentionBySKUResponse,\n ListSubscriptionRetentionRequest,\n Pricing,\n ProductSummary,\n RetentionMetrics,\n PricingRule,\n ListSubscriptionRetentionByGroupResponseSubscriptionRetentionByGroup,\n} from './product-summary';\n\nexport {\n CreateDiscountRequest,\n Discount,\n ExpireDiscountRequest,\n ListDiscountsRequestFilters,\n ListDiscountsRequest,\n ListDiscountsResponse,\n UpdateDiscountRequest,\n} from './discount';\n\nexport {\n AppliedTaxRate,\n} from './applied-tax-rate';\n\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n ArchiveTaxRequest,\n CalculateTaxRequest,\n CalculateTaxResponse,\n CreateTaxRequest,\n ListTaxRequestFilters,\n GetMultiTaxRequest,\n GetMultiTaxResponse,\n ListTaxRequest,\n ListTaxResponse,\n TaxRate,\n UpdateTaxRequest,\n} from './tax-rate';\n\nexport {\n AppliedBundle,\n AppliedBundleItem,\n} from './applied-bundle';\n\nexport {\n AddBundleRequest,\n AddBundleResponse,\n AddLineItemRequest,\n AddLineItemResponse,\n ChargeInvoiceRequest,\n CreateInvoiceRequest,\n CreateInvoiceResponse,\n InvoiceCustomerAddress,\n ListInvoicesRequestFiltersDateFilter,\n DeleteInvoiceRequest,\n DeleteLineItemRequest,\n DeleteLineItemResponse,\n DuplicateInvoiceRequest,\n DuplicateInvoiceResponse,\n ListInvoicesRequestFilters,\n GetInvoiceRequest,\n GetInvoiceResponse,\n Invoice,\n InvoiceItem,\n ListInvoicesRequest,\n ListInvoicesResponse,\n PayInvoiceRequest,\n RemoveBundleRequest,\n RemoveBundleResponse,\n SendInvoiceRequest,\n UpdateBundleRequest,\n UpdateBundleResponse,\n UpdateDefaultTaxRatesRequest,\n UpdateDefaultTaxRatesResponse,\n UpdateInvoiceRequest,\n UpdateInvoiceResponse,\n UpdateLineItemRequest,\n UpdateLineItemResponse,\n VoidInvoiceRequest,\n} from './invoice';\n\nexport {\n Balance,\n} from './balance';\n\nexport {\n DateRange,\n} from './date-range';\n\nexport {\n ListPayoutsRequestFilters,\n ListPayoutsRequest,\n ListPayoutsResponse,\n Payout,\n ReconcilePayoutRequest,\n ReconcilePayoutResponse,\n RetailPayout,\n} from './payout';\n\nexport {\n} from './sort-direction';\n\nexport {\n ChargeSalesInvoiceRequest,\n ConnectStripeAccountRequest,\n ConnectStripeAccountResponse,\n CreateMerchantRequest,\n DefaultCustomerConfiguration,\n GetMerchantRequest,\n GetMerchantResponse,\n GetMultiRetailConfigurationsRequest,\n GetMultiRetailConfigurationsResponse,\n GetOutstandingBalanceRequest,\n GetOutstandingBalanceResponse,\n GetPayoutSummaryRequest,\n GetPayoutSummaryResponse,\n GetRetailBalanceRequest,\n GetRetailBalanceResponse,\n GetRetailPayoutRequest,\n GetRetailPayoutResponse,\n CreateMerchantRequestIncludeInFinancialRecords,\n UpdateMerchantRequestIncludeInFinancialRecords,\n ListRetailPayoutsRequest,\n ListRetailPayoutsResponse,\n Merchant,\n RetailConfiguration,\n GetMultiRetailConfigurationsResponseRetailConfigurationsEntry,\n SearchMerchantsRequest,\n SearchMerchantsResponse,\n SetAutoChargeInvoicesRequest,\n SetAutoPostInvoicesRequest,\n SetDefaultPaymentCardRequest,\n SetHasAlternativePaymentMethodRequest,\n SetIncludeInFinancialRecordsRequest,\n UpdateMerchantRequest,\n UpsertDefaultRetailCustomerConfigurationRequest,\n UpsertRetailConfigurationRequest,\n} from './merchant';\n\nexport {\n} from './month';\n\nexport {\n ListMerchantBillingReportsRequest,\n ListMerchantBillingReportsResponse,\n MerchantReport,\n} from './merchant-report';\n\nexport {\n CreateMeteredComponentRequest,\n MeteredComponent,\n TickComponentUsageRequest,\n} from './metered-component';\n\nexport {\n} from './card';\n\nexport {\n RetailPaymentCardDetails,\n CloseRetailDisputeRequest,\n ConfigureRetailPaymentProviderRequest,\n ConfigureRetailPaymentProviderResponse,\n ConfirmRetailPaymentRequest,\n Dispute,\n DisputeEvidence,\n SubmitEvidenceRequestDisputeEvidence,\n DisputeEvidenceDetails,\n File,\n GetRetailDisputeRequest,\n GetRetailDisputeResponse,\n GetRetailPaymentProviderRequest,\n GetRetailPaymentProviderResponse,\n GetRetailPaymentRequest,\n GetRetailPaymentResponse,\n ListPaymentRequestListPaymentFilters,\n ListPaymentRequest,\n ListPaymentResponse,\n ListRetailDisputesRequest,\n ListRetailDisputesResponse,\n ListRetailPaymentsRequestListRetailPaymentsFilters,\n ListRetailPaymentsRequest,\n ListRetailPaymentsResponse,\n PrepareRetailPaymentRequestOrder,\n Payment,\n PaymentPaymentAllocation,\n PrepareRetailPaymentRequest,\n PrepareRetailPaymentResponse,\n RetailPayment,\n RetailPaymentsEnabledRequest,\n RetailPaymentsEnabledResponse,\n RetailStatusRequest,\n RetailStatusResponse,\n SubmitEvidenceRequest,\n UpdateRetailPaymentProviderRequest,\n RetailStatusResponseVerificationError,\n RetailStatusResponseVerificationRequirements,\n} from './payment';\n\nexport {\n CreatePaymentCardRequest,\n DeletePaymentCardRequest,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n PaymentCard,\n SetDefaultPaymentMethodRequest,\n UpdatePaymentCardRequest,\n} from './payment-card';\n\nexport {\n ComponentPricing,\n CreatePricingPlanRequest,\n CreatePricingPlanResponse,\n GetMultiPricingPlanRequest,\n GetMultiPricingPlanResponse,\n PricingPlan,\n PricingPlanProductPricing,\n ProductPricingRule,\n UpdatePricingPlanRequest,\n UpdatePricingPlanResponse,\n} from './pricing-plan';\n\nexport {\n CreatePricingPlanProductRequest,\n CreatePricingPlanProductResponse,\n DeletePricingPlanProductRequest,\n GetMultiPricingPlanProductRequest,\n GetMultiPricingPlanProductResponse,\n GetPricingPlanProductRequest,\n GetPricingPlanProductResponse,\n ListPricingPlanProductsRequestListPricingPlanProductsFilters,\n ListPricingPlanProductsRequest,\n ListPricingPlanProductsResponse,\n PricingPlanProductPricingEntry,\n CreatePricingPlanProductRequestPricingEntry,\n UpdatePricingPlanProductRequestPricingEntry,\n PricingPlanProduct,\n UpdatePricingPlanProductRequest,\n UpdatePricingPlanProductResponse,\n UpsertWholesalePricingRequest,\n} from './pricing-plan-product';\n\nexport {\n CreateProductRequest,\n DeleteProductRequest,\n GetMultiProductRequest,\n GetMultiProductResponse,\n ListProductsRequestListProductsFilters,\n ListProductsRequest,\n ListProductsResponse,\n Product,\n GetMultiProductResponseProductsEntry,\n UpdateProductRequest,\n} from './product';\n\nexport {\n ProductPrices,\n ProductPricing,\n} from './product-pricing';\n\nexport {\n AppliedCredit,\n ListPurchaseRequestListPurchaseBillingStrategyFilter,\n ListPurchaseRequestListPurchaseFilters,\n ListPurchaseItemsRequestListPurchaseItemsFilters,\n ListPurchaseItemsRequest,\n ListPurchaseItemsResponse,\n ListPurchaseRequest,\n ListPurchaseResponse,\n Purchase,\n PurchaseItem,\n RetryPurchaseRequest,\n VoidPurchaseRequest,\n} from './purchase';\n\nexport {\n CreateRefundRequest,\n ListRefundsRequest,\n ListRefundsResponse,\n Refund,\n} from './refund';\n\nexport {\n CreateSalesCreditNoteRequest,\n ListSalesCreditNoteRequestListSalesCreditNoteFilters,\n ListSalesCreditNoteRequest,\n ListSalesCreditNoteResponse,\n SalesCreditNote,\n} from './sales-credit-note';\n\nexport {\n GetSalesInvoiceRequest,\n GetSalesInvoiceResponse,\n ListSalesInvoiceRequestListSalesInvoiceFilters,\n ListSalesInvoiceRequest,\n ListSalesInvoiceResponse,\n PostSalesInvoiceRequest,\n SalesInvoice,\n SendSalesInvoiceEmailRequest,\n SendSalesInvoiceReceiptEmailRequest,\n} from './sales-invoice';\n\nexport {\n SubscribeValidation,\n} from './subscribe-validation';\n\nexport {\n AlignmentSubscription,\n CanCreateSubscriptionsRequest,\n CanCreateSubscriptionsResponse,\n ChangeCustomUnitPriceRequest,\n ChangeFrequencyRequest,\n ChangeRenewalDateRequest,\n CreateSubscriptionRequest,\n CreateSubscriptionsRequest,\n CreateSubscriptionsResponse,\n ReverseSubscriptionRequest,\n SetRenewalStartRequest,\n CanCreateSubscriptionsRequestSkusEntry,\n Subscription,\n CanCreateSubscriptionsRequestSubscriptionItem,\n ValidateResponse,\n} from './subscription';\n\nexport {\n ContractDocument,\n DeleteContractDocumentRequest,\n ListContractDocumentsRequestFilters,\n ListContractDocumentsRequest,\n ListContractDocumentsResponse,\n} from './contract-document';\n\nexport {\n GetRetailCustomerConfigurationRequest,\n GetRetailCustomerConfigurationResponse,\n RetailCustomerConfiguration,\n UpsertRetailCustomerConfigurationRequest,\n} from './retail-customer-configuration';\n\nexport {\n AddCreditRequest,\n CreditBalance,\n GetBalanceRequest,\n GetBalanceResponse,\n} from './credit';\n\nexport {\n AddTemplateBundleRequest,\n AddTemplateBundleResponse,\n AddTemplateLineItemRequest,\n AddTemplateLineItemResponse,\n CreateTemplateRequest,\n CreateTemplateResponse,\n DeleteInvoiceTemplateRequest,\n DeleteTemplateLineItemRequest,\n DeleteTemplateLineItemResponse,\n GetInvoiceTemplateRequest,\n GetInvoiceTemplateResponse,\n InvoiceTemplate,\n InvoiceTemplateItem,\n UpsertInvoiceTemplateRequestInvoiceTemplateItemRequest,\n UpdateTemplateBundleRequest,\n UpdateTemplateBundleResponse,\n UpdateTemplateDefaultTaxRatesRequest,\n UpdateTemplateDefaultTaxRatesResponse,\n UpdateTemplateLineItemRequest,\n UpdateTemplateLineItemResponse,\n UpsertInvoiceTemplateRequest,\n UpsertInvoiceTemplateResponse,\n} from './invoice-template';\n\nexport {\n} from './payment-processor';\n\nexport {\n DeleteRecurringInvoiceRequest,\n GetRecurringInvoiceRequest,\n ListRecurringInvoicesRequest,\n ListRecurringInvoicesResponse,\n RecurringInvoice,\n RecurringInvoiceBundle,\n RecurringInvoiceItem,\n RecurringInvoiceLineItem,\n UpdateRecurringInvoiceRequest,\n} from './recurring-invoice';\n\nexport {\n DeleteRetailPricingRequest,\n GenerateBillableItemsCSVRequest,\n GenerateBillableItemsCSVResponse,\n GenerateVendorReportRequest,\n GenerateVendorReportResponse,\n GetMultiBundleRetailPricingRequest,\n GetMultiBundleRetailPricingResponse,\n GetMultiProductPricingRequest,\n GetMultiProductPricingResponse,\n GetMultiRetailPricingRequest,\n GetMultiRetailPricingResponse,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n GetRevenueStatsRequest,\n GetRevenueStatsResponse,\n GetStatisticsRequest,\n GetStatisticsResponse,\n GetWholesaleComparisonRequestGetWholesaleComparisonFilters,\n GetWholesaleComparisonRequest,\n GetWholesaleComparisonResponse,\n GetWholesaleComparisonResponseGetWholesaleComparisonResult,\n GetMultiBundleRetailPricingResponsePricesEntry,\n UpsertRetailPricingRequestPricingEntry,\n GetMultiRetailPricingResponseProductPricesEntry,\n GetMultiProductPricingResponseProductPricesEntry,\n SetWholesaleProductStrategyRequest,\n SetWholesaleProductVolumeCommitmentRequest,\n StartRevRecTemplateBackfillRequest,\n UpsertRetailPricingRequest,\n} from './api';\n\n","import { Injectable } from '@angular/core';\n\ndeclare const window: any;\nconst environment: string = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap: { [key: string]: string } = {\n 'local': 'billing-api.vendasta-local.com',\n 'test': '',\n 'demo': 'billing-demo.apigateway.co',\n 'prod': 'billing-prod.apigateway.co',\n 'production': 'billing-prod.apigateway.co',\n};\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n get host(): string {\n return hostMap[environment.toLowerCase()];\n }\n\n get hostWithScheme(): string {\n return 'https://' + this.host;\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ListPayoutsRequest,\n ListPayoutsResponse,\n ReconcilePayoutRequest,\n ReconcilePayoutResponse,\n} from './objects/';\nimport {\n ListPayoutsRequestInterface,\n ListPayoutsResponseInterface,\n ReconcilePayoutRequestInterface,\n ReconcilePayoutResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BankReconciliationApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listPayouts(r: ListPayoutsRequest | ListPayoutsRequestInterface): Observable<ListPayoutsResponse> {\n const request = ((<ListPayoutsRequest>r).toApiJson) ? (<ListPayoutsRequest>r) : new ListPayoutsRequest(r);\n return this.http.post<ListPayoutsResponseInterface>(this._host + \"/billing.v1.BankReconciliationService/ListPayouts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPayoutsResponse.fromProto(resp))\n );\n }\n reconcilePayout(r: ReconcilePayoutRequest | ReconcilePayoutRequestInterface): Observable<ReconcilePayoutResponse> {\n const request = ((<ReconcilePayoutRequest>r).toApiJson) ? (<ReconcilePayoutRequest>r) : new ReconcilePayoutRequest(r);\n return this.http.post<ReconcilePayoutResponseInterface>(this._host + \"/billing.v1.BankReconciliationService/ReconcilePayout\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ReconcilePayoutResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BillItemRequest,\n BillMultipleItemsRequest,\n BillMultipleItemsResponse,\n CanBillItemRequest,\n CanCreateSubscriptionsRequest,\n CanCreateSubscriptionsResponse,\n ChangeCustomUnitPriceRequest,\n ChangeFrequencyRequest,\n ChangeRenewalDateRequest,\n CreateMeteredComponentRequest,\n CreatePricingPlanProductRequest,\n CreatePricingPlanProductResponse,\n CreatePricingPlanRequest,\n CreatePricingPlanResponse,\n CreateSubscriptionRequest,\n CreateSubscriptionsRequest,\n CreateSubscriptionsResponse,\n DeleteBillableItemRequest,\n DeletePricingPlanProductRequest,\n ExpireBillableItemRequest,\n GenerateBillableItemsCSVRequest,\n GenerateBillableItemsCSVResponse,\n GetBillableItemRequest,\n GetBillableItemResponse,\n GetMultiContractsRequest,\n GetMultiContractsResponse,\n GetMultiPricingPlanProductRequest,\n GetMultiPricingPlanProductResponse,\n GetMultiPricingPlanRequest,\n GetMultiPricingPlanResponse,\n GetMultiProductPricingRequest,\n GetMultiProductPricingResponse,\n GetMultiProductRequest,\n GetMultiProductResponse,\n GetMultiSubscriptionsRequest,\n GetMultiSubscriptionsResponse,\n GetPricingPlanProductRequest,\n GetPricingPlanProductResponse,\n GetProductSummariesTotalRequest,\n GetProductSummariesTotalResponse,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n ListBillableItemsRequest,\n ListBillableItemsResponse,\n ListContractsRequest,\n ListContractsResponse,\n ListMerchantBillingReportsRequest,\n ListMerchantBillingReportsResponse,\n ListPricingPlanProductsRequest,\n ListPricingPlanProductsResponse,\n ListProductSummariesRequest,\n ListProductSummariesResponse,\n ListProductsRequest,\n ListProductsResponse,\n ResetContractPricingRequest,\n ReverseSubscriptionRequest,\n SetRenewalStartRequest,\n StartRevRecTemplateBackfillRequest,\n TickComponentUsageRequest,\n UpdatePricingPlanProductRequest,\n UpdatePricingPlanProductResponse,\n UpdatePricingPlanRequest,\n UpdatePricingPlanResponse,\n} from './objects/';\nimport {\n BillItemRequestInterface,\n BillMultipleItemsRequestInterface,\n BillMultipleItemsResponseInterface,\n CanBillItemRequestInterface,\n CanCreateSubscriptionsRequestInterface,\n CanCreateSubscriptionsResponseInterface,\n ChangeCustomUnitPriceRequestInterface,\n ChangeFrequencyRequestInterface,\n ChangeRenewalDateRequestInterface,\n CreateMeteredComponentRequestInterface,\n CreatePricingPlanProductRequestInterface,\n CreatePricingPlanProductResponseInterface,\n CreatePricingPlanRequestInterface,\n CreatePricingPlanResponseInterface,\n CreateSubscriptionRequestInterface,\n CreateSubscriptionsRequestInterface,\n CreateSubscriptionsResponseInterface,\n DeleteBillableItemRequestInterface,\n DeletePricingPlanProductRequestInterface,\n ExpireBillableItemRequestInterface,\n GenerateBillableItemsCSVRequestInterface,\n GenerateBillableItemsCSVResponseInterface,\n GetBillableItemRequestInterface,\n GetBillableItemResponseInterface,\n GetMultiContractsRequestInterface,\n GetMultiContractsResponseInterface,\n GetMultiPricingPlanProductRequestInterface,\n GetMultiPricingPlanProductResponseInterface,\n GetMultiPricingPlanRequestInterface,\n GetMultiPricingPlanResponseInterface,\n GetMultiProductPricingRequestInterface,\n GetMultiProductPricingResponseInterface,\n GetMultiProductRequestInterface,\n GetMultiProductResponseInterface,\n GetMultiSubscriptionsRequestInterface,\n GetMultiSubscriptionsResponseInterface,\n GetPricingPlanProductRequestInterface,\n GetPricingPlanProductResponseInterface,\n GetProductSummariesTotalRequestInterface,\n GetProductSummariesTotalResponseInterface,\n GetPurchaseCostRequestInterface,\n GetPurchaseCostResponseInterface,\n ListBillableItemsRequestInterface,\n ListBillableItemsResponseInterface,\n ListContractsRequestInterface,\n ListContractsResponseInterface,\n ListMerchantBillingReportsRequestInterface,\n ListMerchantBillingReportsResponseInterface,\n ListPricingPlanProductsRequestInterface,\n ListPricingPlanProductsResponseInterface,\n ListProductSummariesRequestInterface,\n ListProductSummariesResponseInterface,\n ListProductsRequestInterface,\n ListProductsResponseInterface,\n ResetContractPricingRequestInterface,\n ReverseSubscriptionRequestInterface,\n SetRenewalStartRequestInterface,\n StartRevRecTemplateBackfillRequestInterface,\n TickComponentUsageRequestInterface,\n UpdatePricingPlanProductRequestInterface,\n UpdatePricingPlanProductResponseInterface,\n UpdatePricingPlanRequestInterface,\n UpdatePricingPlanResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BillingApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n canBillItem(r: CanBillItemRequest | CanBillItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CanBillItemRequest>r).toApiJson) ? (<CanBillItemRequest>r) : new CanBillItemRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/CanBillItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n canCreateSubscriptions(r: CanCreateSubscriptionsRequest | CanCreateSubscriptionsRequestInterface): Observable<CanCreateSubscriptionsResponse> {\n const request = ((<CanCreateSubscriptionsRequest>r).toApiJson) ? (<CanCreateSubscriptionsRequest>r) : new CanCreateSubscriptionsRequest(r);\n return this.http.post<CanCreateSubscriptionsResponseInterface>(this._host + \"/billing.v1.Billing/CanCreateSubscriptions\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CanCreateSubscriptionsResponse.fromProto(resp))\n );\n }\n createSubscription(r: CreateSubscriptionRequest | CreateSubscriptionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateSubscriptionRequest>r).toApiJson) ? (<CreateSubscriptionRequest>r) : new CreateSubscriptionRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/CreateSubscription\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createSubscriptions(r: CreateSubscriptionsRequest | CreateSubscriptionsRequestInterface): Observable<CreateSubscriptionsResponse> {\n const request = ((<CreateSubscriptionsRequest>r).toApiJson) ? (<CreateSubscriptionsRequest>r) : new CreateSubscriptionsRequest(r);\n return this.http.post<CreateSubscriptionsResponseInterface>(this._host + \"/billing.v1.Billing/CreateSubscriptions\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateSubscriptionsResponse.fromProto(resp))\n );\n }\n reverseSubscription(r: ReverseSubscriptionRequest | ReverseSubscriptionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ReverseSubscriptionRequest>r).toApiJson) ? (<ReverseSubscriptionRequest>r) : new ReverseSubscriptionRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/ReverseSubscription\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setRenewalStart(r: SetRenewalStartRequest | SetRenewalStartRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetRenewalStartRequest>r).toApiJson) ? (<SetRenewalStartRequest>r) : new SetRenewalStartRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/SetRenewalStart\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n billItem(r: BillItemRequest | BillItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<BillItemRequest>r).toApiJson) ? (<BillItemRequest>r) : new BillItemRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/BillItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n billMultipleItems(r: BillMultipleItemsRequest | BillMultipleItemsRequestInterface): Observable<BillMultipleItemsResponse> {\n const request = ((<BillMultipleItemsRequest>r).toApiJson) ? (<BillMultipleItemsRequest>r) : new BillMultipleItemsRequest(r);\n return this.http.post<BillMultipleItemsResponseInterface>(this._host + \"/billing.v1.Billing/BillMultipleItems\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BillMultipleItemsResponse.fromProto(resp))\n );\n }\n getBillableItem(r: GetBillableItemRequest | GetBillableItemRequestInterface): Observable<GetBillableItemResponse> {\n const request = ((<GetBillableItemRequest>r).toApiJson) ? (<GetBillableItemRequest>r) : new GetBillableItemRequest(r);\n return this.http.post<GetBillableItemResponseInterface>(this._host + \"/billing.v1.Billing/GetBillableItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetBillableItemResponse.fromProto(resp))\n );\n }\n getMultiSubscriptions(r: GetMultiSubscriptionsRequest | GetMultiSubscriptionsRequestInterface): Observable<GetMultiSubscriptionsResponse> {\n const request = ((<GetMultiSubscriptionsRequest>r).toApiJson) ? (<GetMultiSubscriptionsRequest>r) : new GetMultiSubscriptionsRequest(r);\n return this.http.post<GetMultiSubscriptionsResponseInterface>(this._host + \"/billing.v1.Billing/GetMultiSubscriptions\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiSubscriptionsResponse.fromProto(resp))\n );\n }\n listBillableItems(r: ListBillableItemsRequest | ListBillableItemsRequestInterface): Observable<ListBillableItemsResponse> {\n const request = ((<ListBillableItemsRequest>r).toApiJson) ? (<ListBillableItemsRequest>r) : new ListBillableItemsRequest(r);\n return this.http.post<ListBillableItemsResponseInterface>(this._host + \"/billing.v1.Billing/ListBillableItems\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBillableItemsResponse.fromProto(resp))\n );\n }\n expireBillableItem(r: ExpireBillableItemRequest | ExpireBillableItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ExpireBillableItemRequest>r).toApiJson) ? (<ExpireBillableItemRequest>r) : new ExpireBillableItemRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/ExpireBillableItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteBillableItem(r: DeleteBillableItemRequest | DeleteBillableItemRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteBillableItemRequest>r).toApiJson) ? (<DeleteBillableItemRequest>r) : new DeleteBillableItemRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/DeleteBillableItem\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listMerchantBillingReports(r: ListMerchantBillingReportsRequest | ListMerchantBillingReportsRequestInterface): Observable<ListMerchantBillingReportsResponse> {\n const request = ((<ListMerchantBillingReportsRequest>r).toApiJson) ? (<ListMerchantBillingReportsRequest>r) : new ListMerchantBillingReportsRequest(r);\n return this.http.post<ListMerchantBillingReportsResponseInterface>(this._host + \"/billing.v1.Billing/ListMerchantBillingReports\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMerchantBillingReportsResponse.fromProto(resp))\n );\n }\n listProductSummaries(r: ListProductSummariesRequest | ListProductSummariesRequestInterface): Observable<ListProductSummariesResponse> {\n const request = ((<ListProductSummariesRequest>r).toApiJson) ? (<ListProductSummariesRequest>r) : new ListProductSummariesRequest(r);\n return this.http.post<ListProductSummariesResponseInterface>(this._host + \"/billing.v1.Billing/ListProductSummaries\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListProductSummariesResponse.fromProto(resp))\n );\n }\n getProductSummariesTotal(r: GetProductSummariesTotalRequest | GetProductSummariesTotalRequestInterface): Observable<GetProductSummariesTotalResponse> {\n const request = ((<GetProductSummariesTotalRequest>r).toApiJson) ? (<GetProductSummariesTotalRequest>r) : new GetProductSummariesTotalRequest(r);\n return this.http.post<GetProductSummariesTotalResponseInterface>(this._host + \"/billing.v1.Billing/GetProductSummariesTotal\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetProductSummariesTotalResponse.fromProto(resp))\n );\n }\n generateBillableItemsCsv(r: GenerateBillableItemsCSVRequest | GenerateBillableItemsCSVRequestInterface): Observable<GenerateBillableItemsCSVResponse> {\n const request = ((<GenerateBillableItemsCSVRequest>r).toApiJson) ? (<GenerateBillableItemsCSVRequest>r) : new GenerateBillableItemsCSVRequest(r);\n return this.http.post<GenerateBillableItemsCSVResponseInterface>(this._host + \"/billing.v1.Billing/GenerateBillableItemsCSV\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GenerateBillableItemsCSVResponse.fromProto(resp))\n );\n }\n createPricingPlan(r: CreatePricingPlanRequest | CreatePricingPlanRequestInterface): Observable<CreatePricingPlanResponse> {\n const request = ((<CreatePricingPlanRequest>r).toApiJson) ? (<CreatePricingPlanRequest>r) : new CreatePricingPlanRequest(r);\n return this.http.post<CreatePricingPlanResponseInterface>(this._host + \"/billing.v1.Billing/CreatePricingPlan\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreatePricingPlanResponse.fromProto(resp))\n );\n }\n updatePricingPlan(r: UpdatePricingPlanRequest | UpdatePricingPlanRequestInterface): Observable<UpdatePricingPlanResponse> {\n const request = ((<UpdatePricingPlanRequest>r).toApiJson) ? (<UpdatePricingPlanRequest>r) : new UpdatePricingPlanRequest(r);\n return this.http.post<UpdatePricingPlanResponseInterface>(this._host + \"/billing.v1.Billing/UpdatePricingPlan\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdatePricingPlanResponse.fromProto(resp))\n );\n }\n getMultiPricingPlan(r: GetMultiPricingPlanRequest | GetMultiPricingPlanRequestInterface): Observable<GetMultiPricingPlanResponse> {\n const request = ((<GetMultiPricingPlanRequest>r).toApiJson) ? (<GetMultiPricingPlanRequest>r) : new GetMultiPricingPlanRequest(r);\n return this.http.post<GetMultiPricingPlanResponseInterface>(this._host + \"/billing.v1.Billing/GetMultiPricingPlan\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiPricingPlanResponse.fromProto(resp))\n );\n }\n createPricingPlanProduct(r: CreatePricingPlanProductRequest | CreatePricingPlanProductRequestInterface): Observable<CreatePricingPlanProductResponse> {\n const request = ((<CreatePricingPlanProductRequest>r).toApiJson) ? (<CreatePricingPlanProductRequest>r) : new CreatePricingPlanProductRequest(r);\n return this.http.post<CreatePricingPlanProductResponseInterface>(this._host + \"/billing.v1.Billing/CreatePricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreatePricingPlanProductResponse.fromProto(resp))\n );\n }\n updatePricingPlanProduct(r: UpdatePricingPlanProductRequest | UpdatePricingPlanProductRequestInterface): Observable<UpdatePricingPlanProductResponse> {\n const request = ((<UpdatePricingPlanProductRequest>r).toApiJson) ? (<UpdatePricingPlanProductRequest>r) : new UpdatePricingPlanProductRequest(r);\n return this.http.post<UpdatePricingPlanProductResponseInterface>(this._host + \"/billing.v1.Billing/UpdatePricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdatePricingPlanProductResponse.fromProto(resp))\n );\n }\n deletePricingPlanProduct(r: DeletePricingPlanProductRequest | DeletePricingPlanProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeletePricingPlanProductRequest>r).toApiJson) ? (<DeletePricingPlanProductRequest>r) : new DeletePricingPlanProductRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/DeletePricingPlanProduct\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listPricingPlanProducts(r: ListPricingPlanProductsRequest | ListPricingPlanProductsRequestInterface): Observable<ListPricingPlanProductsResponse> {\n const request = ((<ListPricingPlanProductsRequest>r).toApiJson) ? (<ListPricingPlanProductsRequest>r) : new ListPricingPlanProductsRequest(r);\n return this.http.post<ListPricingPlanProductsResponseInterface>(this._host + \"/billing.v1.Billing/ListPricingPlanProducts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPricingPlanProductsResponse.fromProto(resp))\n );\n }\n getPricingPlanProduct(r: GetPricingPlanProductRequest | GetPricingPlanProductRequestInterface): Observable<GetPricingPlanProductResponse> {\n const request = ((<GetPricingPlanProductRequest>r).toApiJson) ? (<GetPricingPlanProductRequest>r) : new GetPricingPlanProductRequest(r);\n return this.http.post<GetPricingPlanProductResponseInterface>(this._host + \"/billing.v1.Billing/GetPricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPricingPlanProductResponse.fromProto(resp))\n );\n }\n getMultiPricingPlanProduct(r: GetMultiPricingPlanProductRequest | GetMultiPricingPlanProductRequestInterface): Observable<GetMultiPricingPlanProductResponse> {\n const request = ((<GetMultiPricingPlanProductRequest>r).toApiJson) ? (<GetMultiPricingPlanProductRequest>r) : new GetMultiPricingPlanProductRequest(r);\n return this.http.post<GetMultiPricingPlanProductResponseInterface>(this._host + \"/billing.v1.Billing/GetMultiPricingPlanProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiPricingPlanProductResponse.fromProto(resp))\n );\n }\n getMultiProductPricing(r: GetMultiProductPricingRequest | GetMultiProductPricingRequestInterface): Observable<GetMultiProductPricingResponse> {\n const request = ((<GetMultiProductPricingRequest>r).toApiJson) ? (<GetMultiProductPricingRequest>r) : new GetMultiProductPricingRequest(r);\n return this.http.post<GetMultiProductPricingResponseInterface>(this._host + \"/billing.v1.Billing/GetMultiProductPricing\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiProductPricingResponse.fromProto(resp))\n );\n }\n tickComponentUsage(r: TickComponentUsageRequest | TickComponentUsageRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<TickComponentUsageRequest>r).toApiJson) ? (<TickComponentUsageRequest>r) : new TickComponentUsageRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/TickComponentUsage\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createMeteredComponent(r: CreateMeteredComponentRequest | CreateMeteredComponentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMeteredComponentRequest>r).toApiJson) ? (<CreateMeteredComponentRequest>r) : new CreateMeteredComponentRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/CreateMeteredComponent\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listContracts(r: ListContractsRequest | ListContractsRequestInterface): Observable<ListContractsResponse> {\n const request = ((<ListContractsRequest>r).toApiJson) ? (<ListContractsRequest>r) : new ListContractsRequest(r);\n return this.http.post<ListContractsResponseInterface>(this._host + \"/billing.v1.Billing/ListContracts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListContractsResponse.fromProto(resp))\n );\n }\n getMultiContract(r: GetMultiContractsRequest | GetMultiContractsRequestInterface): Observable<GetMultiContractsResponse> {\n const request = ((<GetMultiContractsRequest>r).toApiJson) ? (<GetMultiContractsRequest>r) : new GetMultiContractsRequest(r);\n return this.http.post<GetMultiContractsResponseInterface>(this._host + \"/billing.v1.Billing/GetMultiContract\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiContractsResponse.fromProto(resp))\n );\n }\n listProducts(r: ListProductsRequest | ListProductsRequestInterface): Observable<ListProductsResponse> {\n const request = ((<ListProductsRequest>r).toApiJson) ? (<ListProductsRequest>r) : new ListProductsRequest(r);\n return this.http.post<ListProductsResponseInterface>(this._host + \"/billing.v1.Billing/ListProducts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListProductsResponse.fromProto(resp))\n );\n }\n getMultiProduct(r: GetMultiProductRequest | GetMultiProductRequestInterface): Observable<GetMultiProductResponse> {\n const request = ((<GetMultiProductRequest>r).toApiJson) ? (<GetMultiProductRequest>r) : new GetMultiProductRequest(r);\n return this.http.post<GetMultiProductResponseInterface>(this._host + \"/billing.v1.Billing/GetMultiProduct\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiProductResponse.fromProto(resp))\n );\n }\n resetContractPricing(r: ResetContractPricingRequest | ResetContractPricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ResetContractPricingRequest>r).toApiJson) ? (<ResetContractPricingRequest>r) : new ResetContractPricingRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/ResetContractPricing\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getPurchaseCost(r: GetPurchaseCostRequest | GetPurchaseCostRequestInterface): Observable<GetPurchaseCostResponse> {\n const request = ((<GetPurchaseCostRequest>r).toApiJson) ? (<GetPurchaseCostRequest>r) : new GetPurchaseCostRequest(r);\n return this.http.post<GetPurchaseCostResponseInterface>(this._host + \"/billing.v1.Billing/GetPurchaseCost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPurchaseCostResponse.fromProto(resp))\n );\n }\n changeFrequency(r: ChangeFrequencyRequest | ChangeFrequencyRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeFrequencyRequest>r).toApiJson) ? (<ChangeFrequencyRequest>r) : new ChangeFrequencyRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/ChangeFrequency\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n changeRenewalDate(r: ChangeRenewalDateRequest | ChangeRenewalDateRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeRenewalDateRequest>r).toApiJson) ? (<ChangeRenewalDateRequest>r) : new ChangeRenewalDateRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/ChangeRenewalDate\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n changeCustomUnitPrice(r: ChangeCustomUnitPriceRequest | ChangeCustomUnitPriceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChangeCustomUnitPriceRequest>r).toApiJson) ? (<ChangeCustomUnitPriceRequest>r) : new ChangeCustomUnitPriceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/ChangeCustomUnitPrice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n startRevRecTemplateBackfill(r: StartRevRecTemplateBackfillRequest | StartRevRecTemplateBackfillRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<StartRevRecTemplateBackfillRequest>r).toApiJson) ? (<StartRevRecTemplateBackfillRequest>r) : new StartRevRecTemplateBackfillRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.Billing/StartRevRecTemplateBackfill\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetMultiBundleRequest,\n GetMultiBundleResponse,\n ListBundlesRequest,\n ListBundlesResponse,\n UpsertBundleRequest,\n} from './objects/';\nimport {\n GetMultiBundleRequestInterface,\n GetMultiBundleResponseInterface,\n ListBundlesRequestInterface,\n ListBundlesResponseInterface,\n UpsertBundleRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class BundleApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n upsert(r: UpsertBundleRequest | UpsertBundleRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertBundleRequest>r).toApiJson) ? (<UpsertBundleRequest>r) : new UpsertBundleRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.BundleService/Upsert\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMulti(r: GetMultiBundleRequest | GetMultiBundleRequestInterface): Observable<GetMultiBundleResponse> {\n const request = ((<GetMultiBundleRequest>r).toApiJson) ? (<GetMultiBundleRequest>r) : new GetMultiBundleRequest(r);\n return this.http.post<GetMultiBundleResponseInterface>(this._host + \"/billing.v1.BundleService/GetMulti\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiBundleResponse.fromProto(resp))\n );\n }\n list(r: ListBundlesRequest | ListBundlesRequestInterface): Observable<ListBundlesResponse> {\n const request = ((<ListBundlesRequest>r).toApiJson) ? (<ListBundlesRequest>r) : new ListBundlesRequest(r);\n return this.http.post<ListBundlesResponseInterface>(this._host + \"/billing.v1.BundleService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBundlesResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeleteContractDocumentRequest,\n ListContractDocumentsRequest,\n ListContractDocumentsResponse,\n} from './objects/';\nimport {\n DeleteContractDocumentRequestInterface,\n ListContractDocumentsRequestInterface,\n ListContractDocumentsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ContractDocumentApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListContractDocumentsRequest | ListContractDocumentsRequestInterface): Observable<ListContractDocumentsResponse> {\n const request = ((<ListContractDocumentsRequest>r).toApiJson) ? (<ListContractDocumentsRequest>r) : new ListContractDocumentsRequest(r);\n return this.http.post<ListContractDocumentsResponseInterface>(this._host + \"/billing.v1.ContractDocumentService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListContractDocumentsResponse.fromProto(resp))\n );\n }\n delete(r: DeleteContractDocumentRequest | DeleteContractDocumentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteContractDocumentRequest>r).toApiJson) ? (<DeleteContractDocumentRequest>r) : new DeleteContractDocumentRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.ContractDocumentService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateContractRequest,\n CreateContractResponse,\n GetContractRequest,\n GetContractResponse,\n UpdateContractRequest,\n UpdateContractResponse,\n UpdateContractSubscriptionRequest,\n} from './objects/';\nimport {\n CreateContractRequestInterface,\n CreateContractResponseInterface,\n GetContractRequestInterface,\n GetContractResponseInterface,\n UpdateContractRequestInterface,\n UpdateContractResponseInterface,\n UpdateContractSubscriptionRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ContractApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n get(r: GetContractRequest | GetContractRequestInterface): Observable<GetContractResponse> {\n const request = ((<GetContractRequest>r).toApiJson) ? (<GetContractRequest>r) : new GetContractRequest(r);\n return this.http.post<GetContractResponseInterface>(this._host + \"/billing.v1.ContractService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetContractResponse.fromProto(resp))\n );\n }\n updateSubscription(r: UpdateContractSubscriptionRequest | UpdateContractSubscriptionRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateContractSubscriptionRequest>r).toApiJson) ? (<UpdateContractSubscriptionRequest>r) : new UpdateContractSubscriptionRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.ContractService/UpdateSubscription\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n create(r: CreateContractRequest | CreateContractRequestInterface): Observable<CreateContractResponse> {\n const request = ((<CreateContractRequest>r).toApiJson) ? (<CreateContractRequest>r) : new CreateContractRequest(r);\n return this.http.post<CreateContractResponseInterface>(this._host + \"/billing.v1.ContractService/Create\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateContractResponse.fromProto(resp))\n );\n }\n update(r: UpdateContractRequest | UpdateContractRequestInterface): Observable<UpdateContractResponse> {\n const request = ((<UpdateContractRequest>r).toApiJson) ? (<UpdateContractRequest>r) : new UpdateContractRequest(r);\n return this.http.post<UpdateContractResponseInterface>(this._host + \"/billing.v1.ContractService/Update\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateContractResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddCreditRequest,\n GetBalanceRequest,\n GetBalanceResponse,\n} from './objects/';\nimport {\n AddCreditRequestInterface,\n GetBalanceRequestInterface,\n GetBalanceResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class CreditApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n add(r: AddCreditRequest | AddCreditRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<AddCreditRequest>r).toApiJson) ? (<AddCreditRequest>r) : new AddCreditRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.CreditService/Add\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getBalance(r: GetBalanceRequest | GetBalanceRequestInterface): Observable<GetBalanceResponse> {\n const request = ((<GetBalanceRequest>r).toApiJson) ? (<GetBalanceRequest>r) : new GetBalanceRequest(r);\n return this.http.post<GetBalanceResponseInterface>(this._host + \"/billing.v1.CreditService/GetBalance\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetBalanceResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateDiscountRequest,\n ExpireDiscountRequest,\n ListDiscountsRequest,\n ListDiscountsResponse,\n UpdateDiscountRequest,\n} from './objects/';\nimport {\n CreateDiscountRequestInterface,\n ExpireDiscountRequestInterface,\n ListDiscountsRequestInterface,\n ListDiscountsResponseInterface,\n UpdateDiscountRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class DiscountApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListDiscountsRequest | ListDiscountsRequestInterface): Observable<ListDiscountsResponse> {\n const request = ((<ListDiscountsRequest>r).toApiJson) ? (<ListDiscountsRequest>r) : new ListDiscountsRequest(r);\n return this.http.post<ListDiscountsResponseInterface>(this._host + \"/billing.v1.DiscountService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListDiscountsResponse.fromProto(resp))\n );\n }\n create(r: CreateDiscountRequest | CreateDiscountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateDiscountRequest>r).toApiJson) ? (<CreateDiscountRequest>r) : new CreateDiscountRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.DiscountService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n update(r: UpdateDiscountRequest | UpdateDiscountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateDiscountRequest>r).toApiJson) ? (<UpdateDiscountRequest>r) : new UpdateDiscountRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.DiscountService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n expire(r: ExpireDiscountRequest | ExpireDiscountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ExpireDiscountRequest>r).toApiJson) ? (<ExpireDiscountRequest>r) : new ExpireDiscountRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.DiscountService/Expire\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddBundleRequest,\n AddBundleResponse,\n AddLineItemRequest,\n AddLineItemResponse,\n ChargeInvoiceRequest,\n CreateInvoiceRequest,\n CreateInvoiceResponse,\n DeleteInvoiceRequest,\n DeleteLineItemRequest,\n DeleteLineItemResponse,\n DuplicateInvoiceRequest,\n DuplicateInvoiceResponse,\n GetInvoiceRequest,\n GetInvoiceResponse,\n ListInvoicesRequest,\n ListInvoicesResponse,\n PayInvoiceRequest,\n RemoveBundleRequest,\n RemoveBundleResponse,\n SendInvoiceRequest,\n UpdateBundleRequest,\n UpdateBundleResponse,\n UpdateDefaultTaxRatesRequest,\n UpdateDefaultTaxRatesResponse,\n UpdateInvoiceRequest,\n UpdateInvoiceResponse,\n UpdateLineItemRequest,\n UpdateLineItemResponse,\n VoidInvoiceRequest,\n} from './objects/';\nimport {\n AddBundleRequestInterface,\n AddBundleResponseInterface,\n AddLineItemRequestInterface,\n AddLineItemResponseInterface,\n ChargeInvoiceRequestInterface,\n CreateInvoiceRequestInterface,\n CreateInvoiceResponseInterface,\n DeleteInvoiceRequestInterface,\n DeleteLineItemRequestInterface,\n DeleteLineItemResponseInterface,\n DuplicateInvoiceRequestInterface,\n DuplicateInvoiceResponseInterface,\n GetInvoiceRequestInterface,\n GetInvoiceResponseInterface,\n ListInvoicesRequestInterface,\n ListInvoicesResponseInterface,\n PayInvoiceRequestInterface,\n RemoveBundleRequestInterface,\n RemoveBundleResponseInterface,\n SendInvoiceRequestInterface,\n UpdateBundleRequestInterface,\n UpdateBundleResponseInterface,\n UpdateDefaultTaxRatesRequestInterface,\n UpdateDefaultTaxRatesResponseInterface,\n UpdateInvoiceRequestInterface,\n UpdateInvoiceResponseInterface,\n UpdateLineItemRequestInterface,\n UpdateLineItemResponseInterface,\n VoidInvoiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class InvoiceApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n addBundle(r: AddBundleRequest | AddBundleRequestInterface): Observable<AddBundleResponse> {\n const request = ((<AddBundleRequest>r).toApiJson) ? (<AddBundleRequest>r) : new AddBundleRequest(r);\n return this.http.post<AddBundleResponseInterface>(this._host + \"/billing.v1.InvoiceService/AddBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddBundleResponse.fromProto(resp))\n );\n }\n addLineItem(r: AddLineItemRequest | AddLineItemRequestInterface): Observable<AddLineItemResponse> {\n const request = ((<AddLineItemRequest>r).toApiJson) ? (<AddLineItemRequest>r) : new AddLineItemRequest(r);\n return this.http.post<AddLineItemResponseInterface>(this._host + \"/billing.v1.InvoiceService/AddLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddLineItemResponse.fromProto(resp))\n );\n }\n charge(r: ChargeInvoiceRequest | ChargeInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChargeInvoiceRequest>r).toApiJson) ? (<ChargeInvoiceRequest>r) : new ChargeInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.InvoiceService/Charge\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n create(r: CreateInvoiceRequest | CreateInvoiceRequestInterface): Observable<CreateInvoiceResponse> {\n const request = ((<CreateInvoiceRequest>r).toApiJson) ? (<CreateInvoiceRequest>r) : new CreateInvoiceRequest(r);\n return this.http.post<CreateInvoiceResponseInterface>(this._host + \"/billing.v1.InvoiceService/Create\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateInvoiceResponse.fromProto(resp))\n );\n }\n delete(r: DeleteInvoiceRequest | DeleteInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteInvoiceRequest>r).toApiJson) ? (<DeleteInvoiceRequest>r) : new DeleteInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.InvoiceService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteLineItem(r: DeleteLineItemRequest | DeleteLineItemRequestInterface): Observable<DeleteLineItemResponse> {\n const request = ((<DeleteLineItemRequest>r).toApiJson) ? (<DeleteLineItemRequest>r) : new DeleteLineItemRequest(r);\n return this.http.post<DeleteLineItemResponseInterface>(this._host + \"/billing.v1.InvoiceService/DeleteLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DeleteLineItemResponse.fromProto(resp))\n );\n }\n get(r: GetInvoiceRequest | GetInvoiceRequestInterface): Observable<GetInvoiceResponse> {\n const request = ((<GetInvoiceRequest>r).toApiJson) ? (<GetInvoiceRequest>r) : new GetInvoiceRequest(r);\n return this.http.post<GetInvoiceResponseInterface>(this._host + \"/billing.v1.InvoiceService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetInvoiceResponse.fromProto(resp))\n );\n }\n removeBundle(r: RemoveBundleRequest | RemoveBundleRequestInterface): Observable<RemoveBundleResponse> {\n const request = ((<RemoveBundleRequest>r).toApiJson) ? (<RemoveBundleRequest>r) : new RemoveBundleRequest(r);\n return this.http.post<RemoveBundleResponseInterface>(this._host + \"/billing.v1.InvoiceService/RemoveBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RemoveBundleResponse.fromProto(resp))\n );\n }\n send(r: SendInvoiceRequest | SendInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendInvoiceRequest>r).toApiJson) ? (<SendInvoiceRequest>r) : new SendInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.InvoiceService/Send\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListInvoicesRequest | ListInvoicesRequestInterface): Observable<ListInvoicesResponse> {\n const request = ((<ListInvoicesRequest>r).toApiJson) ? (<ListInvoicesRequest>r) : new ListInvoicesRequest(r);\n return this.http.post<ListInvoicesResponseInterface>(this._host + \"/billing.v1.InvoiceService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListInvoicesResponse.fromProto(resp))\n );\n }\n update(r: UpdateInvoiceRequest | UpdateInvoiceRequestInterface): Observable<UpdateInvoiceResponse> {\n const request = ((<UpdateInvoiceRequest>r).toApiJson) ? (<UpdateInvoiceRequest>r) : new UpdateInvoiceRequest(r);\n return this.http.post<UpdateInvoiceResponseInterface>(this._host + \"/billing.v1.InvoiceService/Update\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateInvoiceResponse.fromProto(resp))\n );\n }\n pay(r: PayInvoiceRequest | PayInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<PayInvoiceRequest>r).toApiJson) ? (<PayInvoiceRequest>r) : new PayInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.InvoiceService/Pay\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateDefaultTaxRates(r: UpdateDefaultTaxRatesRequest | UpdateDefaultTaxRatesRequestInterface): Observable<UpdateDefaultTaxRatesResponse> {\n const request = ((<UpdateDefaultTaxRatesRequest>r).toApiJson) ? (<UpdateDefaultTaxRatesRequest>r) : new UpdateDefaultTaxRatesRequest(r);\n return this.http.post<UpdateDefaultTaxRatesResponseInterface>(this._host + \"/billing.v1.InvoiceService/UpdateDefaultTaxRates\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateDefaultTaxRatesResponse.fromProto(resp))\n );\n }\n updateLineItem(r: UpdateLineItemRequest | UpdateLineItemRequestInterface): Observable<UpdateLineItemResponse> {\n const request = ((<UpdateLineItemRequest>r).toApiJson) ? (<UpdateLineItemRequest>r) : new UpdateLineItemRequest(r);\n return this.http.post<UpdateLineItemResponseInterface>(this._host + \"/billing.v1.InvoiceService/UpdateLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateLineItemResponse.fromProto(resp))\n );\n }\n void(r: VoidInvoiceRequest | VoidInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<VoidInvoiceRequest>r).toApiJson) ? (<VoidInvoiceRequest>r) : new VoidInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.InvoiceService/Void\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n duplicate(r: DuplicateInvoiceRequest | DuplicateInvoiceRequestInterface): Observable<DuplicateInvoiceResponse> {\n const request = ((<DuplicateInvoiceRequest>r).toApiJson) ? (<DuplicateInvoiceRequest>r) : new DuplicateInvoiceRequest(r);\n return this.http.post<DuplicateInvoiceResponseInterface>(this._host + \"/billing.v1.InvoiceService/Duplicate\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DuplicateInvoiceResponse.fromProto(resp))\n );\n }\n updateBundle(r: UpdateBundleRequest | UpdateBundleRequestInterface): Observable<UpdateBundleResponse> {\n const request = ((<UpdateBundleRequest>r).toApiJson) ? (<UpdateBundleRequest>r) : new UpdateBundleRequest(r);\n return this.http.post<UpdateBundleResponseInterface>(this._host + \"/billing.v1.InvoiceService/UpdateBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateBundleResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n AddTemplateBundleRequest,\n AddTemplateBundleResponse,\n AddTemplateLineItemRequest,\n AddTemplateLineItemResponse,\n CreateTemplateRequest,\n CreateTemplateResponse,\n DeleteInvoiceTemplateRequest,\n DeleteTemplateLineItemRequest,\n DeleteTemplateLineItemResponse,\n GetInvoiceTemplateRequest,\n GetInvoiceTemplateResponse,\n UpdateTemplateBundleRequest,\n UpdateTemplateBundleResponse,\n UpdateTemplateDefaultTaxRatesRequest,\n UpdateTemplateDefaultTaxRatesResponse,\n UpdateTemplateLineItemRequest,\n UpdateTemplateLineItemResponse,\n UpsertInvoiceTemplateRequest,\n UpsertInvoiceTemplateResponse,\n} from './objects/';\nimport {\n AddTemplateBundleRequestInterface,\n AddTemplateBundleResponseInterface,\n AddTemplateLineItemRequestInterface,\n AddTemplateLineItemResponseInterface,\n CreateTemplateRequestInterface,\n CreateTemplateResponseInterface,\n DeleteInvoiceTemplateRequestInterface,\n DeleteTemplateLineItemRequestInterface,\n DeleteTemplateLineItemResponseInterface,\n GetInvoiceTemplateRequestInterface,\n GetInvoiceTemplateResponseInterface,\n UpdateTemplateBundleRequestInterface,\n UpdateTemplateBundleResponseInterface,\n UpdateTemplateDefaultTaxRatesRequestInterface,\n UpdateTemplateDefaultTaxRatesResponseInterface,\n UpdateTemplateLineItemRequestInterface,\n UpdateTemplateLineItemResponseInterface,\n UpsertInvoiceTemplateRequestInterface,\n UpsertInvoiceTemplateResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class InvoiceTemplateApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n addBundle(r: AddTemplateBundleRequest | AddTemplateBundleRequestInterface): Observable<AddTemplateBundleResponse> {\n const request = ((<AddTemplateBundleRequest>r).toApiJson) ? (<AddTemplateBundleRequest>r) : new AddTemplateBundleRequest(r);\n return this.http.post<AddTemplateBundleResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/AddBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddTemplateBundleResponse.fromProto(resp))\n );\n }\n addLineItem(r: AddTemplateLineItemRequest | AddTemplateLineItemRequestInterface): Observable<AddTemplateLineItemResponse> {\n const request = ((<AddTemplateLineItemRequest>r).toApiJson) ? (<AddTemplateLineItemRequest>r) : new AddTemplateLineItemRequest(r);\n return this.http.post<AddTemplateLineItemResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/AddLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => AddTemplateLineItemResponse.fromProto(resp))\n );\n }\n create(r: CreateTemplateRequest | CreateTemplateRequestInterface): Observable<CreateTemplateResponse> {\n const request = ((<CreateTemplateRequest>r).toApiJson) ? (<CreateTemplateRequest>r) : new CreateTemplateRequest(r);\n return this.http.post<CreateTemplateResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/Create\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateTemplateResponse.fromProto(resp))\n );\n }\n upsert(r: UpsertInvoiceTemplateRequest | UpsertInvoiceTemplateRequestInterface): Observable<UpsertInvoiceTemplateResponse> {\n const request = ((<UpsertInvoiceTemplateRequest>r).toApiJson) ? (<UpsertInvoiceTemplateRequest>r) : new UpsertInvoiceTemplateRequest(r);\n return this.http.post<UpsertInvoiceTemplateResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/Upsert\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpsertInvoiceTemplateResponse.fromProto(resp))\n );\n }\n get(r: GetInvoiceTemplateRequest | GetInvoiceTemplateRequestInterface): Observable<GetInvoiceTemplateResponse> {\n const request = ((<GetInvoiceTemplateRequest>r).toApiJson) ? (<GetInvoiceTemplateRequest>r) : new GetInvoiceTemplateRequest(r);\n return this.http.post<GetInvoiceTemplateResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetInvoiceTemplateResponse.fromProto(resp))\n );\n }\n delete(r: DeleteInvoiceTemplateRequest | DeleteInvoiceTemplateRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteInvoiceTemplateRequest>r).toApiJson) ? (<DeleteInvoiceTemplateRequest>r) : new DeleteInvoiceTemplateRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.InvoiceTemplateService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteLineItem(r: DeleteTemplateLineItemRequest | DeleteTemplateLineItemRequestInterface): Observable<DeleteTemplateLineItemResponse> {\n const request = ((<DeleteTemplateLineItemRequest>r).toApiJson) ? (<DeleteTemplateLineItemRequest>r) : new DeleteTemplateLineItemRequest(r);\n return this.http.post<DeleteTemplateLineItemResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/DeleteLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DeleteTemplateLineItemResponse.fromProto(resp))\n );\n }\n updateBundle(r: UpdateTemplateBundleRequest | UpdateTemplateBundleRequestInterface): Observable<UpdateTemplateBundleResponse> {\n const request = ((<UpdateTemplateBundleRequest>r).toApiJson) ? (<UpdateTemplateBundleRequest>r) : new UpdateTemplateBundleRequest(r);\n return this.http.post<UpdateTemplateBundleResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/UpdateBundle\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateTemplateBundleResponse.fromProto(resp))\n );\n }\n updateLineItem(r: UpdateTemplateLineItemRequest | UpdateTemplateLineItemRequestInterface): Observable<UpdateTemplateLineItemResponse> {\n const request = ((<UpdateTemplateLineItemRequest>r).toApiJson) ? (<UpdateTemplateLineItemRequest>r) : new UpdateTemplateLineItemRequest(r);\n return this.http.post<UpdateTemplateLineItemResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/UpdateLineItem\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateTemplateLineItemResponse.fromProto(resp))\n );\n }\n updateTemplateDefaultTaxRates(r: UpdateTemplateDefaultTaxRatesRequest | UpdateTemplateDefaultTaxRatesRequestInterface): Observable<UpdateTemplateDefaultTaxRatesResponse> {\n const request = ((<UpdateTemplateDefaultTaxRatesRequest>r).toApiJson) ? (<UpdateTemplateDefaultTaxRatesRequest>r) : new UpdateTemplateDefaultTaxRatesRequest(r);\n return this.http.post<UpdateTemplateDefaultTaxRatesResponseInterface>(this._host + \"/billing.v1.InvoiceTemplateService/UpdateTemplateDefaultTaxRates\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => UpdateTemplateDefaultTaxRatesResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ChargeSalesInvoiceRequest,\n CreateMerchantRequest,\n CreatePaymentCardRequest,\n CreateStripeExternalAccountRequest,\n DeleteBankAccountRequest,\n GetMerchantRequest,\n GetMerchantResponse,\n GetMultiRetailConfigurationsRequest,\n GetMultiRetailConfigurationsResponse,\n GetOutstandingBalanceRequest,\n GetOutstandingBalanceResponse,\n GetPayoutSummaryRequest,\n GetPayoutSummaryResponse,\n GetRetailBalanceRequest,\n GetRetailBalanceResponse,\n GetRetailPayoutRequest,\n GetRetailPayoutResponse,\n GetStatisticsRequest,\n GetStatisticsResponse,\n ListBankAccountsRequest,\n ListBankAccountsResponse,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n ListRetailPayoutsRequest,\n ListRetailPayoutsResponse,\n SearchMerchantsRequest,\n SearchMerchantsResponse,\n SendSalesInvoiceEmailRequest,\n SendSalesInvoiceReceiptEmailRequest,\n SetAutoChargeInvoicesRequest,\n SetAutoPostInvoicesRequest,\n SetDefaultBankAccountRequest,\n SetDefaultPaymentCardRequest,\n SetHasAlternativePaymentMethodRequest,\n SetIncludeInFinancialRecordsRequest,\n UpdateMerchantRequest,\n UpdatePaymentCardRequest,\n UpsertDefaultRetailCustomerConfigurationRequest,\n UpsertRetailConfigurationRequest,\n} from './objects/';\nimport {\n ChargeSalesInvoiceRequestInterface,\n CreateMerchantRequestInterface,\n CreatePaymentCardRequestInterface,\n CreateStripeExternalAccountRequestInterface,\n DeleteBankAccountRequestInterface,\n GetMerchantRequestInterface,\n GetMerchantResponseInterface,\n GetMultiRetailConfigurationsRequestInterface,\n GetMultiRetailConfigurationsResponseInterface,\n GetOutstandingBalanceRequestInterface,\n GetOutstandingBalanceResponseInterface,\n GetPayoutSummaryRequestInterface,\n GetPayoutSummaryResponseInterface,\n GetRetailBalanceRequestInterface,\n GetRetailBalanceResponseInterface,\n GetRetailPayoutRequestInterface,\n GetRetailPayoutResponseInterface,\n GetStatisticsRequestInterface,\n GetStatisticsResponseInterface,\n ListBankAccountsRequestInterface,\n ListBankAccountsResponseInterface,\n ListPaymentCardsRequestInterface,\n ListPaymentCardsResponseInterface,\n ListRetailPayoutsRequestInterface,\n ListRetailPayoutsResponseInterface,\n SearchMerchantsRequestInterface,\n SearchMerchantsResponseInterface,\n SendSalesInvoiceEmailRequestInterface,\n SendSalesInvoiceReceiptEmailRequestInterface,\n SetAutoChargeInvoicesRequestInterface,\n SetAutoPostInvoicesRequestInterface,\n SetDefaultBankAccountRequestInterface,\n SetDefaultPaymentCardRequestInterface,\n SetHasAlternativePaymentMethodRequestInterface,\n SetIncludeInFinancialRecordsRequestInterface,\n UpdateMerchantRequestInterface,\n UpdatePaymentCardRequestInterface,\n UpsertDefaultRetailCustomerConfigurationRequestInterface,\n UpsertRetailConfigurationRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MerchantApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateMerchantRequest | CreateMerchantRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateMerchantRequest>r).toApiJson) ? (<CreateMerchantRequest>r) : new CreateMerchantRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n get(r: GetMerchantRequest | GetMerchantRequestInterface): Observable<GetMerchantResponse> {\n const request = ((<GetMerchantRequest>r).toApiJson) ? (<GetMerchantRequest>r) : new GetMerchantRequest(r);\n return this.http.post<GetMerchantResponseInterface>(this._host + \"/billing.v1.MerchantService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMerchantResponse.fromProto(resp))\n );\n }\n getOutstandingBalance(r: GetOutstandingBalanceRequest | GetOutstandingBalanceRequestInterface): Observable<GetOutstandingBalanceResponse> {\n const request = ((<GetOutstandingBalanceRequest>r).toApiJson) ? (<GetOutstandingBalanceRequest>r) : new GetOutstandingBalanceRequest(r);\n return this.http.post<GetOutstandingBalanceResponseInterface>(this._host + \"/billing.v1.MerchantService/GetOutstandingBalance\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetOutstandingBalanceResponse.fromProto(resp))\n );\n }\n update(r: UpdateMerchantRequest | UpdateMerchantRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMerchantRequest>r).toApiJson) ? (<UpdateMerchantRequest>r) : new UpdateMerchantRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createPaymentCard(r: CreatePaymentCardRequest | CreatePaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreatePaymentCardRequest>r).toApiJson) ? (<CreatePaymentCardRequest>r) : new CreatePaymentCardRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/CreatePaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setDefaultPaymentCard(r: SetDefaultPaymentCardRequest | SetDefaultPaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetDefaultPaymentCardRequest>r).toApiJson) ? (<SetDefaultPaymentCardRequest>r) : new SetDefaultPaymentCardRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SetDefaultPaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listPaymentCards(r: ListPaymentCardsRequest | ListPaymentCardsRequestInterface): Observable<ListPaymentCardsResponse> {\n const request = ((<ListPaymentCardsRequest>r).toApiJson) ? (<ListPaymentCardsRequest>r) : new ListPaymentCardsRequest(r);\n return this.http.post<ListPaymentCardsResponseInterface>(this._host + \"/billing.v1.MerchantService/ListPaymentCards\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPaymentCardsResponse.fromProto(resp))\n );\n }\n updatePaymentCard(r: UpdatePaymentCardRequest | UpdatePaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdatePaymentCardRequest>r).toApiJson) ? (<UpdatePaymentCardRequest>r) : new UpdatePaymentCardRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/UpdatePaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getStatistics(r: GetStatisticsRequest | GetStatisticsRequestInterface): Observable<GetStatisticsResponse> {\n const request = ((<GetStatisticsRequest>r).toApiJson) ? (<GetStatisticsRequest>r) : new GetStatisticsRequest(r);\n return this.http.post<GetStatisticsResponseInterface>(this._host + \"/billing.v1.MerchantService/GetStatistics\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetStatisticsResponse.fromProto(resp))\n );\n }\n search(r: SearchMerchantsRequest | SearchMerchantsRequestInterface): Observable<SearchMerchantsResponse> {\n const request = ((<SearchMerchantsRequest>r).toApiJson) ? (<SearchMerchantsRequest>r) : new SearchMerchantsRequest(r);\n return this.http.post<SearchMerchantsResponseInterface>(this._host + \"/billing.v1.MerchantService/Search\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => SearchMerchantsResponse.fromProto(resp))\n );\n }\n setAutoPostInvoices(r: SetAutoPostInvoicesRequest | SetAutoPostInvoicesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetAutoPostInvoicesRequest>r).toApiJson) ? (<SetAutoPostInvoicesRequest>r) : new SetAutoPostInvoicesRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SetAutoPostInvoices\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setAutoChargeInvoices(r: SetAutoChargeInvoicesRequest | SetAutoChargeInvoicesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetAutoChargeInvoicesRequest>r).toApiJson) ? (<SetAutoChargeInvoicesRequest>r) : new SetAutoChargeInvoicesRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SetAutoChargeInvoices\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setIncludeInFinancialRecords(r: SetIncludeInFinancialRecordsRequest | SetIncludeInFinancialRecordsRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetIncludeInFinancialRecordsRequest>r).toApiJson) ? (<SetIncludeInFinancialRecordsRequest>r) : new SetIncludeInFinancialRecordsRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SetIncludeInFinancialRecords\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setHasAlternativePaymentMethod(r: SetHasAlternativePaymentMethodRequest | SetHasAlternativePaymentMethodRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetHasAlternativePaymentMethodRequest>r).toApiJson) ? (<SetHasAlternativePaymentMethodRequest>r) : new SetHasAlternativePaymentMethodRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SetHasAlternativePaymentMethod\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendSalesInvoiceEmail(r: SendSalesInvoiceEmailRequest | SendSalesInvoiceEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendSalesInvoiceEmailRequest>r).toApiJson) ? (<SendSalesInvoiceEmailRequest>r) : new SendSalesInvoiceEmailRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SendSalesInvoiceEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n chargeSalesInvoice(r: ChargeSalesInvoiceRequest | ChargeSalesInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ChargeSalesInvoiceRequest>r).toApiJson) ? (<ChargeSalesInvoiceRequest>r) : new ChargeSalesInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/ChargeSalesInvoice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendSalesInvoiceReceiptEmail(r: SendSalesInvoiceReceiptEmailRequest | SendSalesInvoiceReceiptEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendSalesInvoiceReceiptEmailRequest>r).toApiJson) ? (<SendSalesInvoiceReceiptEmailRequest>r) : new SendSalesInvoiceReceiptEmailRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SendSalesInvoiceReceiptEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createStripeExternalAccount(r: CreateStripeExternalAccountRequest | CreateStripeExternalAccountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateStripeExternalAccountRequest>r).toApiJson) ? (<CreateStripeExternalAccountRequest>r) : new CreateStripeExternalAccountRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/CreateStripeExternalAccount\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listBankAccounts(r: ListBankAccountsRequest | ListBankAccountsRequestInterface): Observable<ListBankAccountsResponse> {\n const request = ((<ListBankAccountsRequest>r).toApiJson) ? (<ListBankAccountsRequest>r) : new ListBankAccountsRequest(r);\n return this.http.post<ListBankAccountsResponseInterface>(this._host + \"/billing.v1.MerchantService/ListBankAccounts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBankAccountsResponse.fromProto(resp))\n );\n }\n setDefaultBankAccount(r: SetDefaultBankAccountRequest | SetDefaultBankAccountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetDefaultBankAccountRequest>r).toApiJson) ? (<SetDefaultBankAccountRequest>r) : new SetDefaultBankAccountRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/SetDefaultBankAccount\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteBankAccount(r: DeleteBankAccountRequest | DeleteBankAccountRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteBankAccountRequest>r).toApiJson) ? (<DeleteBankAccountRequest>r) : new DeleteBankAccountRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/DeleteBankAccount\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiRetailConfigurations(r: GetMultiRetailConfigurationsRequest | GetMultiRetailConfigurationsRequestInterface): Observable<GetMultiRetailConfigurationsResponse> {\n const request = ((<GetMultiRetailConfigurationsRequest>r).toApiJson) ? (<GetMultiRetailConfigurationsRequest>r) : new GetMultiRetailConfigurationsRequest(r);\n return this.http.post<GetMultiRetailConfigurationsResponseInterface>(this._host + \"/billing.v1.MerchantService/GetMultiRetailConfigurations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiRetailConfigurationsResponse.fromProto(resp))\n );\n }\n upsertRetailConfiguration(r: UpsertRetailConfigurationRequest | UpsertRetailConfigurationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertRetailConfigurationRequest>r).toApiJson) ? (<UpsertRetailConfigurationRequest>r) : new UpsertRetailConfigurationRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/UpsertRetailConfiguration\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n upsertDefaultRetailCustomerConfiguration(r: UpsertDefaultRetailCustomerConfigurationRequest | UpsertDefaultRetailCustomerConfigurationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertDefaultRetailCustomerConfigurationRequest>r).toApiJson) ? (<UpsertDefaultRetailCustomerConfigurationRequest>r) : new UpsertDefaultRetailCustomerConfigurationRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.MerchantService/UpsertDefaultRetailCustomerConfiguration\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getRetailBalance(r: GetRetailBalanceRequest | GetRetailBalanceRequestInterface): Observable<GetRetailBalanceResponse> {\n const request = ((<GetRetailBalanceRequest>r).toApiJson) ? (<GetRetailBalanceRequest>r) : new GetRetailBalanceRequest(r);\n return this.http.post<GetRetailBalanceResponseInterface>(this._host + \"/billing.v1.MerchantService/GetRetailBalance\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailBalanceResponse.fromProto(resp))\n );\n }\n getPayoutSummary(r: GetPayoutSummaryRequest | GetPayoutSummaryRequestInterface): Observable<GetPayoutSummaryResponse> {\n const request = ((<GetPayoutSummaryRequest>r).toApiJson) ? (<GetPayoutSummaryRequest>r) : new GetPayoutSummaryRequest(r);\n return this.http.post<GetPayoutSummaryResponseInterface>(this._host + \"/billing.v1.MerchantService/GetPayoutSummary\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPayoutSummaryResponse.fromProto(resp))\n );\n }\n listRetailPayouts(r: ListRetailPayoutsRequest | ListRetailPayoutsRequestInterface): Observable<ListRetailPayoutsResponse> {\n const request = ((<ListRetailPayoutsRequest>r).toApiJson) ? (<ListRetailPayoutsRequest>r) : new ListRetailPayoutsRequest(r);\n return this.http.post<ListRetailPayoutsResponseInterface>(this._host + \"/billing.v1.MerchantService/ListRetailPayouts\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRetailPayoutsResponse.fromProto(resp))\n );\n }\n getRetailPayout(r: GetRetailPayoutRequest | GetRetailPayoutRequestInterface): Observable<GetRetailPayoutResponse> {\n const request = ((<GetRetailPayoutRequest>r).toApiJson) ? (<GetRetailPayoutRequest>r) : new GetRetailPayoutRequest(r);\n return this.http.post<GetRetailPayoutResponseInterface>(this._host + \"/billing.v1.MerchantService/GetRetailPayout\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailPayoutResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeletePaymentCardRequest,\n ListPaymentCardsRequest,\n ListPaymentCardsResponse,\n SetDefaultPaymentMethodRequest,\n} from './objects/';\nimport {\n DeletePaymentCardRequestInterface,\n ListPaymentCardsRequestInterface,\n ListPaymentCardsResponseInterface,\n SetDefaultPaymentMethodRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentMethodApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listPaymentCards(r: ListPaymentCardsRequest | ListPaymentCardsRequestInterface): Observable<ListPaymentCardsResponse> {\n const request = ((<ListPaymentCardsRequest>r).toApiJson) ? (<ListPaymentCardsRequest>r) : new ListPaymentCardsRequest(r);\n return this.http.post<ListPaymentCardsResponseInterface>(this._host + \"/billing.v1.PaymentMethodService/ListPaymentCards\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPaymentCardsResponse.fromProto(resp))\n );\n }\n deletePaymentCard(r: DeletePaymentCardRequest | DeletePaymentCardRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeletePaymentCardRequest>r).toApiJson) ? (<DeletePaymentCardRequest>r) : new DeletePaymentCardRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PaymentMethodService/DeletePaymentCard\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setDefaultPaymentMethod(r: SetDefaultPaymentMethodRequest | SetDefaultPaymentMethodRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetDefaultPaymentMethodRequest>r).toApiJson) ? (<SetDefaultPaymentMethodRequest>r) : new SetDefaultPaymentMethodRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PaymentMethodService/SetDefaultPaymentMethod\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CloseRetailDisputeRequest,\n ConfigureRetailPaymentProviderRequest,\n ConfigureRetailPaymentProviderResponse,\n ConfirmRetailPaymentRequest,\n GetRetailDisputeRequest,\n GetRetailDisputeResponse,\n GetRetailPaymentProviderRequest,\n GetRetailPaymentProviderResponse,\n GetRetailPaymentRequest,\n GetRetailPaymentResponse,\n ListPaymentRequest,\n ListPaymentResponse,\n ListRetailDisputesRequest,\n ListRetailDisputesResponse,\n ListRetailPaymentsRequest,\n ListRetailPaymentsResponse,\n PrepareRetailPaymentRequest,\n PrepareRetailPaymentResponse,\n RetailPaymentsEnabledRequest,\n RetailPaymentsEnabledResponse,\n RetailStatusRequest,\n RetailStatusResponse,\n SubmitEvidenceRequest,\n UpdateRetailPaymentProviderRequest,\n} from './objects/';\nimport {\n CloseRetailDisputeRequestInterface,\n ConfigureRetailPaymentProviderRequestInterface,\n ConfigureRetailPaymentProviderResponseInterface,\n ConfirmRetailPaymentRequestInterface,\n GetRetailDisputeRequestInterface,\n GetRetailDisputeResponseInterface,\n GetRetailPaymentProviderRequestInterface,\n GetRetailPaymentProviderResponseInterface,\n GetRetailPaymentRequestInterface,\n GetRetailPaymentResponseInterface,\n ListPaymentRequestInterface,\n ListPaymentResponseInterface,\n ListRetailDisputesRequestInterface,\n ListRetailDisputesResponseInterface,\n ListRetailPaymentsRequestInterface,\n ListRetailPaymentsResponseInterface,\n PrepareRetailPaymentRequestInterface,\n PrepareRetailPaymentResponseInterface,\n RetailPaymentsEnabledRequestInterface,\n RetailPaymentsEnabledResponseInterface,\n RetailStatusRequestInterface,\n RetailStatusResponseInterface,\n SubmitEvidenceRequestInterface,\n UpdateRetailPaymentProviderRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PaymentApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListPaymentRequest | ListPaymentRequestInterface): Observable<ListPaymentResponse> {\n const request = ((<ListPaymentRequest>r).toApiJson) ? (<ListPaymentRequest>r) : new ListPaymentRequest(r);\n return this.http.post<ListPaymentResponseInterface>(this._host + \"/billing.v1.PaymentService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPaymentResponse.fromProto(resp))\n );\n }\n getRetail(r: GetRetailPaymentRequest | GetRetailPaymentRequestInterface): Observable<GetRetailPaymentResponse> {\n const request = ((<GetRetailPaymentRequest>r).toApiJson) ? (<GetRetailPaymentRequest>r) : new GetRetailPaymentRequest(r);\n return this.http.post<GetRetailPaymentResponseInterface>(this._host + \"/billing.v1.PaymentService/GetRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailPaymentResponse.fromProto(resp))\n );\n }\n listRetail(r: ListRetailPaymentsRequest | ListRetailPaymentsRequestInterface): Observable<ListRetailPaymentsResponse> {\n const request = ((<ListRetailPaymentsRequest>r).toApiJson) ? (<ListRetailPaymentsRequest>r) : new ListRetailPaymentsRequest(r);\n return this.http.post<ListRetailPaymentsResponseInterface>(this._host + \"/billing.v1.PaymentService/ListRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRetailPaymentsResponse.fromProto(resp))\n );\n }\n listRetailDisputes(r: ListRetailDisputesRequest | ListRetailDisputesRequestInterface): Observable<ListRetailDisputesResponse> {\n const request = ((<ListRetailDisputesRequest>r).toApiJson) ? (<ListRetailDisputesRequest>r) : new ListRetailDisputesRequest(r);\n return this.http.post<ListRetailDisputesResponseInterface>(this._host + \"/billing.v1.PaymentService/ListRetailDisputes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRetailDisputesResponse.fromProto(resp))\n );\n }\n getRetailDispute(r: GetRetailDisputeRequest | GetRetailDisputeRequestInterface): Observable<GetRetailDisputeResponse> {\n const request = ((<GetRetailDisputeRequest>r).toApiJson) ? (<GetRetailDisputeRequest>r) : new GetRetailDisputeRequest(r);\n return this.http.post<GetRetailDisputeResponseInterface>(this._host + \"/billing.v1.PaymentService/GetRetailDispute\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailDisputeResponse.fromProto(resp))\n );\n }\n closeRetailDispute(r: CloseRetailDisputeRequest | CloseRetailDisputeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CloseRetailDisputeRequest>r).toApiJson) ? (<CloseRetailDisputeRequest>r) : new CloseRetailDisputeRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PaymentService/CloseRetailDispute\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n prepareRetail(r: PrepareRetailPaymentRequest | PrepareRetailPaymentRequestInterface): Observable<PrepareRetailPaymentResponse> {\n const request = ((<PrepareRetailPaymentRequest>r).toApiJson) ? (<PrepareRetailPaymentRequest>r) : new PrepareRetailPaymentRequest(r);\n return this.http.post<PrepareRetailPaymentResponseInterface>(this._host + \"/billing.v1.PaymentService/PrepareRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => PrepareRetailPaymentResponse.fromProto(resp))\n );\n }\n confirmRetail(r: ConfirmRetailPaymentRequest | ConfirmRetailPaymentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ConfirmRetailPaymentRequest>r).toApiJson) ? (<ConfirmRetailPaymentRequest>r) : new ConfirmRetailPaymentRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PaymentService/ConfirmRetail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n retailStatus(r: RetailStatusRequest | RetailStatusRequestInterface): Observable<RetailStatusResponse> {\n const request = ((<RetailStatusRequest>r).toApiJson) ? (<RetailStatusRequest>r) : new RetailStatusRequest(r);\n return this.http.post<RetailStatusResponseInterface>(this._host + \"/billing.v1.PaymentService/RetailStatus\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RetailStatusResponse.fromProto(resp))\n );\n }\n retailPaymentsEnabled(r: RetailPaymentsEnabledRequest | RetailPaymentsEnabledRequestInterface): Observable<RetailPaymentsEnabledResponse> {\n const request = ((<RetailPaymentsEnabledRequest>r).toApiJson) ? (<RetailPaymentsEnabledRequest>r) : new RetailPaymentsEnabledRequest(r);\n return this.http.post<RetailPaymentsEnabledResponseInterface>(this._host + \"/billing.v1.PaymentService/RetailPaymentsEnabled\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RetailPaymentsEnabledResponse.fromProto(resp))\n );\n }\n configureRetailProvider(r: ConfigureRetailPaymentProviderRequest | ConfigureRetailPaymentProviderRequestInterface): Observable<ConfigureRetailPaymentProviderResponse> {\n const request = ((<ConfigureRetailPaymentProviderRequest>r).toApiJson) ? (<ConfigureRetailPaymentProviderRequest>r) : new ConfigureRetailPaymentProviderRequest(r);\n return this.http.post<ConfigureRetailPaymentProviderResponseInterface>(this._host + \"/billing.v1.PaymentService/ConfigureRetailProvider\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ConfigureRetailPaymentProviderResponse.fromProto(resp))\n );\n }\n updateRetailProvider(r: UpdateRetailPaymentProviderRequest | UpdateRetailPaymentProviderRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateRetailPaymentProviderRequest>r).toApiJson) ? (<UpdateRetailPaymentProviderRequest>r) : new UpdateRetailPaymentProviderRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PaymentService/UpdateRetailProvider\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getRetailProvider(r: GetRetailPaymentProviderRequest | GetRetailPaymentProviderRequestInterface): Observable<GetRetailPaymentProviderResponse> {\n const request = ((<GetRetailPaymentProviderRequest>r).toApiJson) ? (<GetRetailPaymentProviderRequest>r) : new GetRetailPaymentProviderRequest(r);\n return this.http.post<GetRetailPaymentProviderResponseInterface>(this._host + \"/billing.v1.PaymentService/GetRetailProvider\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailPaymentProviderResponse.fromProto(resp))\n );\n }\n submitEvidence(r: SubmitEvidenceRequest | SubmitEvidenceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SubmitEvidenceRequest>r).toApiJson) ? (<SubmitEvidenceRequest>r) : new SubmitEvidenceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PaymentService/SubmitEvidence\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeleteRetailPricingRequest,\n GetMultiBundleRetailPricingRequest,\n GetMultiBundleRetailPricingResponse,\n GetMultiRetailPricingRequest,\n GetMultiRetailPricingResponse,\n GetPurchaseCostRequest,\n GetPurchaseCostResponse,\n GetWholesaleComparisonRequest,\n GetWholesaleComparisonResponse,\n SetWholesaleProductStrategyRequest,\n SetWholesaleProductVolumeCommitmentRequest,\n UpsertRetailPricingRequest,\n UpsertWholesalePricingRequest,\n} from './objects/';\nimport {\n DeleteRetailPricingRequestInterface,\n GetMultiBundleRetailPricingRequestInterface,\n GetMultiBundleRetailPricingResponseInterface,\n GetMultiRetailPricingRequestInterface,\n GetMultiRetailPricingResponseInterface,\n GetPurchaseCostRequestInterface,\n GetPurchaseCostResponseInterface,\n GetWholesaleComparisonRequestInterface,\n GetWholesaleComparisonResponseInterface,\n SetWholesaleProductStrategyRequestInterface,\n SetWholesaleProductVolumeCommitmentRequestInterface,\n UpsertRetailPricingRequestInterface,\n UpsertWholesalePricingRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PricingApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n getMultiRetail(r: GetMultiRetailPricingRequest | GetMultiRetailPricingRequestInterface): Observable<GetMultiRetailPricingResponse> {\n const request = ((<GetMultiRetailPricingRequest>r).toApiJson) ? (<GetMultiRetailPricingRequest>r) : new GetMultiRetailPricingRequest(r);\n return this.http.post<GetMultiRetailPricingResponseInterface>(this._host + \"/billing.v1.PricingService/GetMultiRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiRetailPricingResponse.fromProto(resp))\n );\n }\n upsertRetail(r: UpsertRetailPricingRequest | UpsertRetailPricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertRetailPricingRequest>r).toApiJson) ? (<UpsertRetailPricingRequest>r) : new UpsertRetailPricingRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PricingService/UpsertRetail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteRetail(r: DeleteRetailPricingRequest | DeleteRetailPricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteRetailPricingRequest>r).toApiJson) ? (<DeleteRetailPricingRequest>r) : new DeleteRetailPricingRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PricingService/DeleteRetail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMultiBundleRetail(r: GetMultiBundleRetailPricingRequest | GetMultiBundleRetailPricingRequestInterface): Observable<GetMultiBundleRetailPricingResponse> {\n const request = ((<GetMultiBundleRetailPricingRequest>r).toApiJson) ? (<GetMultiBundleRetailPricingRequest>r) : new GetMultiBundleRetailPricingRequest(r);\n return this.http.post<GetMultiBundleRetailPricingResponseInterface>(this._host + \"/billing.v1.PricingService/GetMultiBundleRetail\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiBundleRetailPricingResponse.fromProto(resp))\n );\n }\n getWholesaleComparison(r: GetWholesaleComparisonRequest | GetWholesaleComparisonRequestInterface): Observable<GetWholesaleComparisonResponse> {\n const request = ((<GetWholesaleComparisonRequest>r).toApiJson) ? (<GetWholesaleComparisonRequest>r) : new GetWholesaleComparisonRequest(r);\n return this.http.post<GetWholesaleComparisonResponseInterface>(this._host + \"/billing.v1.PricingService/GetWholesaleComparison\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetWholesaleComparisonResponse.fromProto(resp))\n );\n }\n setWholesaleProductStrategy(r: SetWholesaleProductStrategyRequest | SetWholesaleProductStrategyRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetWholesaleProductStrategyRequest>r).toApiJson) ? (<SetWholesaleProductStrategyRequest>r) : new SetWholesaleProductStrategyRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PricingService/SetWholesaleProductStrategy\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setWholesaleProductVolumeCommitment(r: SetWholesaleProductVolumeCommitmentRequest | SetWholesaleProductVolumeCommitmentRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetWholesaleProductVolumeCommitmentRequest>r).toApiJson) ? (<SetWholesaleProductVolumeCommitmentRequest>r) : new SetWholesaleProductVolumeCommitmentRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PricingService/SetWholesaleProductVolumeCommitment\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getPurchaseCost(r: GetPurchaseCostRequest | GetPurchaseCostRequestInterface): Observable<GetPurchaseCostResponse> {\n const request = ((<GetPurchaseCostRequest>r).toApiJson) ? (<GetPurchaseCostRequest>r) : new GetPurchaseCostRequest(r);\n return this.http.post<GetPurchaseCostResponseInterface>(this._host + \"/billing.v1.PricingService/GetPurchaseCost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetPurchaseCostResponse.fromProto(resp))\n );\n }\n upsertWholesale(r: UpsertWholesalePricingRequest | UpsertWholesalePricingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertWholesalePricingRequest>r).toApiJson) ? (<UpsertWholesalePricingRequest>r) : new UpsertWholesalePricingRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PricingService/UpsertWholesale\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateProductRequest,\n DeleteProductRequest,\n UpdateProductRequest,\n} from './objects/';\nimport {\n CreateProductRequestInterface,\n DeleteProductRequestInterface,\n UpdateProductRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ProductApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateProductRequest | CreateProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateProductRequest>r).toApiJson) ? (<CreateProductRequest>r) : new CreateProductRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.ProductService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n update(r: UpdateProductRequest | UpdateProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateProductRequest>r).toApiJson) ? (<UpdateProductRequest>r) : new UpdateProductRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.ProductService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n delete(r: DeleteProductRequest | DeleteProductRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteProductRequest>r).toApiJson) ? (<DeleteProductRequest>r) : new DeleteProductRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.ProductService/Delete\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ListSubscriptionRetentionByGroupResponse,\n ListSubscriptionRetentionBySKUResponse,\n ListSubscriptionRetentionRequest,\n} from './objects/';\nimport {\n ListSubscriptionRetentionByGroupResponseInterface,\n ListSubscriptionRetentionBySKUResponseInterface,\n ListSubscriptionRetentionRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ProductSummaryApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listSubscriptionRetentionByGroup(r: ListSubscriptionRetentionRequest | ListSubscriptionRetentionRequestInterface): Observable<ListSubscriptionRetentionByGroupResponse> {\n const request = ((<ListSubscriptionRetentionRequest>r).toApiJson) ? (<ListSubscriptionRetentionRequest>r) : new ListSubscriptionRetentionRequest(r);\n return this.http.post<ListSubscriptionRetentionByGroupResponseInterface>(this._host + \"/billing.v1.ProductSummaryService/ListSubscriptionRetentionByGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSubscriptionRetentionByGroupResponse.fromProto(resp))\n );\n }\n listSubscriptionRetentionBySku(r: ListSubscriptionRetentionRequest | ListSubscriptionRetentionRequestInterface): Observable<ListSubscriptionRetentionBySKUResponse> {\n const request = ((<ListSubscriptionRetentionRequest>r).toApiJson) ? (<ListSubscriptionRetentionRequest>r) : new ListSubscriptionRetentionRequest(r);\n return this.http.post<ListSubscriptionRetentionBySKUResponseInterface>(this._host + \"/billing.v1.ProductSummaryService/ListSubscriptionRetentionBySKU\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSubscriptionRetentionBySKUResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetMultiCustomerSummariesRequest,\n GetMultiCustomerSummariesResponse,\n ListPurchaseItemsRequest,\n ListPurchaseItemsResponse,\n ListPurchaseRequest,\n ListPurchaseResponse,\n RetryPurchaseRequest,\n VoidPurchaseRequest,\n} from './objects/';\nimport {\n GetMultiCustomerSummariesRequestInterface,\n GetMultiCustomerSummariesResponseInterface,\n ListPurchaseItemsRequestInterface,\n ListPurchaseItemsResponseInterface,\n ListPurchaseRequestInterface,\n ListPurchaseResponseInterface,\n RetryPurchaseRequestInterface,\n VoidPurchaseRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PurchaseApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListPurchaseRequest | ListPurchaseRequestInterface): Observable<ListPurchaseResponse> {\n const request = ((<ListPurchaseRequest>r).toApiJson) ? (<ListPurchaseRequest>r) : new ListPurchaseRequest(r);\n return this.http.post<ListPurchaseResponseInterface>(this._host + \"/billing.v1.PurchaseService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPurchaseResponse.fromProto(resp))\n );\n }\n getMultiCustomerSummaries(r: GetMultiCustomerSummariesRequest | GetMultiCustomerSummariesRequestInterface): Observable<GetMultiCustomerSummariesResponse> {\n const request = ((<GetMultiCustomerSummariesRequest>r).toApiJson) ? (<GetMultiCustomerSummariesRequest>r) : new GetMultiCustomerSummariesRequest(r);\n return this.http.post<GetMultiCustomerSummariesResponseInterface>(this._host + \"/billing.v1.PurchaseService/GetMultiCustomerSummaries\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiCustomerSummariesResponse.fromProto(resp))\n );\n }\n listPurchaseItems(r: ListPurchaseItemsRequest | ListPurchaseItemsRequestInterface): Observable<ListPurchaseItemsResponse> {\n const request = ((<ListPurchaseItemsRequest>r).toApiJson) ? (<ListPurchaseItemsRequest>r) : new ListPurchaseItemsRequest(r);\n return this.http.post<ListPurchaseItemsResponseInterface>(this._host + \"/billing.v1.PurchaseService/ListPurchaseItems\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListPurchaseItemsResponse.fromProto(resp))\n );\n }\n retry(r: RetryPurchaseRequest | RetryPurchaseRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RetryPurchaseRequest>r).toApiJson) ? (<RetryPurchaseRequest>r) : new RetryPurchaseRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PurchaseService/Retry\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n void(r: VoidPurchaseRequest | VoidPurchaseRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<VoidPurchaseRequest>r).toApiJson) ? (<VoidPurchaseRequest>r) : new VoidPurchaseRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.PurchaseService/Void\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n DeleteRecurringInvoiceRequest,\n GetRecurringInvoiceRequest,\n ListRecurringInvoicesRequest,\n ListRecurringInvoicesResponse,\n RecurringInvoice,\n UpdateRecurringInvoiceRequest,\n} from './objects/';\nimport {\n DeleteRecurringInvoiceRequestInterface,\n GetRecurringInvoiceRequestInterface,\n ListRecurringInvoicesRequestInterface,\n ListRecurringInvoicesResponseInterface,\n RecurringInvoiceInterface,\n UpdateRecurringInvoiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class RecurringInvoiceApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createRecurringInvoice(r: RecurringInvoice | RecurringInvoiceInterface): Observable<RecurringInvoice> {\n const request = ((<RecurringInvoice>r).toApiJson) ? (<RecurringInvoice>r) : new RecurringInvoice(r);\n return this.http.post<RecurringInvoiceInterface>(this._host + \"/billing.v1.RecurringInvoiceService/CreateRecurringInvoice\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RecurringInvoice.fromProto(resp))\n );\n }\n updateRecurringInvoice(r: UpdateRecurringInvoiceRequest | UpdateRecurringInvoiceRequestInterface): Observable<RecurringInvoice> {\n const request = ((<UpdateRecurringInvoiceRequest>r).toApiJson) ? (<UpdateRecurringInvoiceRequest>r) : new UpdateRecurringInvoiceRequest(r);\n return this.http.post<RecurringInvoiceInterface>(this._host + \"/billing.v1.RecurringInvoiceService/UpdateRecurringInvoice\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RecurringInvoice.fromProto(resp))\n );\n }\n getRecurringInvoice(r: GetRecurringInvoiceRequest | GetRecurringInvoiceRequestInterface): Observable<RecurringInvoice> {\n const request = ((<GetRecurringInvoiceRequest>r).toApiJson) ? (<GetRecurringInvoiceRequest>r) : new GetRecurringInvoiceRequest(r);\n return this.http.post<RecurringInvoiceInterface>(this._host + \"/billing.v1.RecurringInvoiceService/GetRecurringInvoice\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => RecurringInvoice.fromProto(resp))\n );\n }\n listRecurringInvoices(r: ListRecurringInvoicesRequest | ListRecurringInvoicesRequestInterface): Observable<ListRecurringInvoicesResponse> {\n const request = ((<ListRecurringInvoicesRequest>r).toApiJson) ? (<ListRecurringInvoicesRequest>r) : new ListRecurringInvoicesRequest(r);\n return this.http.post<ListRecurringInvoicesResponseInterface>(this._host + \"/billing.v1.RecurringInvoiceService/ListRecurringInvoices\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRecurringInvoicesResponse.fromProto(resp))\n );\n }\n deleteRecurringInvoice(r: DeleteRecurringInvoiceRequest | DeleteRecurringInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteRecurringInvoiceRequest>r).toApiJson) ? (<DeleteRecurringInvoiceRequest>r) : new DeleteRecurringInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.RecurringInvoiceService/DeleteRecurringInvoice\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateRefundRequest,\n ListRefundsRequest,\n ListRefundsResponse,\n} from './objects/';\nimport {\n CreateRefundRequestInterface,\n ListRefundsRequestInterface,\n ListRefundsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class RefundApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateRefundRequest | CreateRefundRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateRefundRequest>r).toApiJson) ? (<CreateRefundRequest>r) : new CreateRefundRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.RefundService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListRefundsRequest | ListRefundsRequestInterface): Observable<ListRefundsResponse> {\n const request = ((<ListRefundsRequest>r).toApiJson) ? (<ListRefundsRequest>r) : new ListRefundsRequest(r);\n return this.http.post<ListRefundsResponseInterface>(this._host + \"/billing.v1.RefundService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListRefundsResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetRetailCustomerConfigurationRequest,\n GetRetailCustomerConfigurationResponse,\n UpsertRetailCustomerConfigurationRequest,\n} from './objects/';\nimport {\n GetRetailCustomerConfigurationRequestInterface,\n GetRetailCustomerConfigurationResponseInterface,\n UpsertRetailCustomerConfigurationRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class RetailCustomerConfigurationApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n get(r: GetRetailCustomerConfigurationRequest | GetRetailCustomerConfigurationRequestInterface): Observable<GetRetailCustomerConfigurationResponse> {\n const request = ((<GetRetailCustomerConfigurationRequest>r).toApiJson) ? (<GetRetailCustomerConfigurationRequest>r) : new GetRetailCustomerConfigurationRequest(r);\n return this.http.post<GetRetailCustomerConfigurationResponseInterface>(this._host + \"/billing.v1.RetailCustomerConfigurationService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRetailCustomerConfigurationResponse.fromProto(resp))\n );\n }\n upsert(r: UpsertRetailCustomerConfigurationRequest | UpsertRetailCustomerConfigurationRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpsertRetailCustomerConfigurationRequest>r).toApiJson) ? (<UpsertRetailCustomerConfigurationRequest>r) : new UpsertRetailCustomerConfigurationRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.RetailCustomerConfigurationService/Upsert\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateSalesCreditNoteRequest,\n ListSalesCreditNoteRequest,\n ListSalesCreditNoteResponse,\n} from './objects/';\nimport {\n CreateSalesCreditNoteRequestInterface,\n ListSalesCreditNoteRequestInterface,\n ListSalesCreditNoteResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesCreditNoteApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n create(r: CreateSalesCreditNoteRequest | CreateSalesCreditNoteRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateSalesCreditNoteRequest>r).toApiJson) ? (<CreateSalesCreditNoteRequest>r) : new CreateSalesCreditNoteRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.SalesCreditNoteService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListSalesCreditNoteRequest | ListSalesCreditNoteRequestInterface): Observable<ListSalesCreditNoteResponse> {\n const request = ((<ListSalesCreditNoteRequest>r).toApiJson) ? (<ListSalesCreditNoteRequest>r) : new ListSalesCreditNoteRequest(r);\n return this.http.post<ListSalesCreditNoteResponseInterface>(this._host + \"/billing.v1.SalesCreditNoteService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSalesCreditNoteResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GetSalesInvoiceRequest,\n GetSalesInvoiceResponse,\n ListSalesInvoiceRequest,\n ListSalesInvoiceResponse,\n PostSalesInvoiceRequest,\n} from './objects/';\nimport {\n GetSalesInvoiceRequestInterface,\n GetSalesInvoiceResponseInterface,\n ListSalesInvoiceRequestInterface,\n ListSalesInvoiceResponseInterface,\n PostSalesInvoiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesInvoiceApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: ListSalesInvoiceRequest | ListSalesInvoiceRequestInterface): Observable<ListSalesInvoiceResponse> {\n const request = ((<ListSalesInvoiceRequest>r).toApiJson) ? (<ListSalesInvoiceRequest>r) : new ListSalesInvoiceRequest(r);\n return this.http.post<ListSalesInvoiceResponseInterface>(this._host + \"/billing.v1.SalesInvoiceService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListSalesInvoiceResponse.fromProto(resp))\n );\n }\n post(r: PostSalesInvoiceRequest | PostSalesInvoiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<PostSalesInvoiceRequest>r).toApiJson) ? (<PostSalesInvoiceRequest>r) : new PostSalesInvoiceRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.SalesInvoiceService/Post\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n get(r: GetSalesInvoiceRequest | GetSalesInvoiceRequestInterface): Observable<GetSalesInvoiceResponse> {\n const request = ((<GetSalesInvoiceRequest>r).toApiJson) ? (<GetSalesInvoiceRequest>r) : new GetSalesInvoiceRequest(r);\n return this.http.post<GetSalesInvoiceResponseInterface>(this._host + \"/billing.v1.SalesInvoiceService/Get\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetSalesInvoiceResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n ArchiveTaxRequest,\n CalculateTaxRequest,\n CalculateTaxResponse,\n CreateTaxRequest,\n GetMultiTaxRequest,\n GetMultiTaxResponse,\n ListTaxRequest,\n ListTaxResponse,\n UpdateTaxRequest,\n} from './objects/';\nimport {\n ArchiveTaxRequestInterface,\n CalculateTaxRequestInterface,\n CalculateTaxResponseInterface,\n CreateTaxRequestInterface,\n GetMultiTaxRequestInterface,\n GetMultiTaxResponseInterface,\n ListTaxRequestInterface,\n ListTaxResponseInterface,\n UpdateTaxRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class TaxApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n calculate(r: CalculateTaxRequest | CalculateTaxRequestInterface): Observable<CalculateTaxResponse> {\n const request = ((<CalculateTaxRequest>r).toApiJson) ? (<CalculateTaxRequest>r) : new CalculateTaxRequest(r);\n return this.http.post<CalculateTaxResponseInterface>(this._host + \"/billing.v1.TaxService/Calculate\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CalculateTaxResponse.fromProto(resp))\n );\n }\n create(r: CreateTaxRequest | CreateTaxRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateTaxRequest>r).toApiJson) ? (<CreateTaxRequest>r) : new CreateTaxRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.TaxService/Create\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMulti(r: GetMultiTaxRequest | GetMultiTaxRequestInterface): Observable<GetMultiTaxResponse> {\n const request = ((<GetMultiTaxRequest>r).toApiJson) ? (<GetMultiTaxRequest>r) : new GetMultiTaxRequest(r);\n return this.http.post<GetMultiTaxResponseInterface>(this._host + \"/billing.v1.TaxService/GetMulti\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMultiTaxResponse.fromProto(resp))\n );\n }\n update(r: UpdateTaxRequest | UpdateTaxRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateTaxRequest>r).toApiJson) ? (<UpdateTaxRequest>r) : new UpdateTaxRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.TaxService/Update\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n list(r: ListTaxRequest | ListTaxRequestInterface): Observable<ListTaxResponse> {\n const request = ((<ListTaxRequest>r).toApiJson) ? (<ListTaxRequest>r) : new ListTaxRequest(r);\n return this.http.post<ListTaxResponseInterface>(this._host + \"/billing.v1.TaxService/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListTaxResponse.fromProto(resp))\n );\n }\n archive(r: ArchiveTaxRequest | ArchiveTaxRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<ArchiveTaxRequest>r).toApiJson) ? (<ArchiveTaxRequest>r) : new ArchiveTaxRequest(r);\n return this.http.post<null>(this._host + \"/billing.v1.TaxService/Archive\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GenerateVendorReportRequest,\n GenerateVendorReportResponse,\n GetRevenueStatsRequest,\n GetRevenueStatsResponse,\n} from './objects/';\nimport {\n GenerateVendorReportRequestInterface,\n GenerateVendorReportResponseInterface,\n GetRevenueStatsRequestInterface,\n GetRevenueStatsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class VendorApiService {\n private _host = this.hostService.hostWithScheme;\n\n constructor(private http: HttpClient, private hostService: HostService) {\n }\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n generateReport(r: GenerateVendorReportRequest | GenerateVendorReportRequestInterface): Observable<GenerateVendorReportResponse> {\n const request = ((<GenerateVendorReportRequest>r).toApiJson) ? (<GenerateVendorReportRequest>r) : new GenerateVendorReportRequest(r);\n return this.http.post<GenerateVendorReportResponseInterface>(this._host + \"/billing.v1.VendorService/GenerateReport\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GenerateVendorReportResponse.fromProto(resp))\n );\n }\n getRevenueStats(r: GetRevenueStatsRequest | GetRevenueStatsRequestInterface): Observable<GetRevenueStatsResponse> {\n const request = ((<GetRevenueStatsRequest>r).toApiJson) ? (<GetRevenueStatsRequest>r) : new GetRevenueStatsRequest(r);\n return this.http.post<GetRevenueStatsResponseInterface>(this._host + \"/billing.v1.VendorService/GetRevenueStats\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetRevenueStatsResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { BankReconciliationApiService } from './bank-reconciliation.api.service';\nexport { BillingApiService } from './billing.api.service';\nexport { BundleApiService } from './bundle.api.service';\nexport { ContractDocumentApiService } from './contract-document.api.service';\nexport { ContractApiService } from './contract.api.service';\nexport { CreditApiService } from './credit.api.service';\nexport { DiscountApiService } from './discount.api.service';\nexport { InvoiceApiService } from './invoice.api.service';\nexport { InvoiceTemplateApiService } from './invoice-template.api.service';\nexport { MerchantApiService } from './merchant.api.service';\nexport { PaymentMethodApiService } from './payment-method.api.service';\nexport { PaymentApiService } from './payment.api.service';\nexport { PricingApiService } from './pricing.api.service';\nexport { ProductApiService } from './product.api.service';\nexport { ProductSummaryApiService } from './product-summary.api.service';\nexport { PurchaseApiService } from './purchase.api.service';\nexport { RecurringInvoiceApiService } from './recurring-invoice.api.service';\nexport { RefundApiService } from './refund.api.service';\nexport { RetailCustomerConfigurationApiService } from './retail-customer-configuration.api.service';\nexport { SalesCreditNoteApiService } from './sales-credit-note.api.service';\nexport { SalesInvoiceApiService } from './sales-invoice.api.service';\nexport { TaxApiService } from './tax.api.service';\nexport { VendorApiService } from './vendor.api.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["enumStringToValue","e.Frequency","e.DiscountType","e.Currency","e.ContractSubscriptionStatus","e.ProductSummaryDiscountDiscountType","e.PricingRuleType","e.ProductSummaryBillingStrategy","e.ProductSummaryProductType","e.ListInvoicesRequestFiltersDateFilterDateField","e.InvoiceStatus","e.PayoutStatus","e.PayoutType","e.SearchMerchantsRequestSortBy","e.SortDirection","e.Month","e.MerchantReportStatus","e.CardType","e.DisputeStatus","e.PaymentSource","e.PaymentStatus","e.PaymentAllocationType","e.RetailPaymentReferenceType","e.PaymentCardCARD_TYPE","e.PaymentCardFUNDING_TYPE","e.BillingStrategy","e.ProductPricingType","e.ProductType","e.CreditType","e.ListPurchaseRequestState","e.PurchaseStatus","e.RefundReason","e.ReferenceType","e.RefundStatus","e.SalesCreditNoteStatus","e.SalesInvoiceStatus","e.PaymentStatuses","e.SalesInvoiceType","e.SubscribeValidationStatus","e.RenewalState","e.RecurringInvoiceStatus","e.Interval","e.CollectionMethod","e.PaymentProcessor","i2.HostService"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;IACjB,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;AAChB,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA;;ACZD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,aAKX;AALD,CAAA,UAAY,YAAY,EAAA;IACpB,YAAA,CAAA,YAAA,CAAA,4BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,4BAA8B,CAAA;IAC9B,YAAA,CAAA,YAAA,CAAA,8BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,8BAAgC,CAAA;IAChC,YAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qCAAuC,CAAA;IACvC,YAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qCAAuC,CAAA;AAC3C,CAAC,EALW,YAAY,KAAZ,YAAY,GAKvB,EAAA,CAAA,CAAA;;ACZD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,SA0BX;AA1BD,CAAA,UAAY,QAAQ,EAAA;IAChB,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;IACR,QAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ,CAAA;AACZ,CAAC,EA1BW,QAAQ,KAAR,QAAQ,GA0BnB,EAAA,CAAA,CAAA;;ACjCD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,2BAKX;AALD,CAAA,UAAY,0BAA0B,EAAA;IAClC,0BAAA,CAAA,0BAAA,CAAA,oCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oCAAsC,CAAA;IACtC,0BAAA,CAAA,0BAAA,CAAA,sCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sCAAwC,CAAA;IACxC,0BAAA,CAAA,0BAAA,CAAA,wCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wCAA0C,CAAA;IAC1C,0BAAA,CAAA,0BAAA,CAAA,qCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qCAAuC,CAAA;AAC3C,CAAC,EALW,0BAA0B,KAA1B,0BAA0B,GAKrC,EAAA,CAAA,CAAA;;ACZD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,8BAKX;AALD,CAAA,UAAY,6BAA6B,EAAA;IACrC,6BAAA,CAAA,6BAAA,CAAA,iCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iCAAmC,CAAA;IACnC,6BAAA,CAAA,6BAAA,CAAA,mCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mCAAqC,CAAA;IACrC,6BAAA,CAAA,6BAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;IACpB,6BAAA,CAAA,6BAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;AAC5B,CAAC,EALW,6BAA6B,KAA7B,6BAA6B,GAKxC,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,mCAKX;AALD,CAAA,UAAY,kCAAkC,EAAA;IAC1C,kCAAA,CAAA,kCAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;IAChB,kCAAA,CAAA,kCAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;IAClB,kCAAA,CAAA,kCAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,kCAAA,CAAA,kCAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;AAC7B,CAAC,EALW,kCAAkC,KAAlC,kCAAkC,GAK7C,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,0BAMX;AAND,CAAA,UAAY,yBAAyB,EAAA;IACjC,yBAAA,CAAA,yBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,yBAAA,CAAA,yBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,yBAAA,CAAA,yBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,yBAAA,CAAA,yBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;IAChB,yBAAA,CAAA,yBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;AACxB,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,GAMpC,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,gBAKX;AALD,CAAA,UAAY,eAAe,EAAA;IACvB,eAAA,CAAA,eAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,eAAA,CAAA,eAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;IACb,eAAA,CAAA,eAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,eAAA,CAAA,eAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;AACd,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA;;AClCD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,8CAEX;AAFD,CAAA,UAAY,6CAA6C,EAAA;IACrD,6CAAA,CAAA,6CAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACf,CAAC,EAFW,6CAA6C,KAA7C,6CAA6C,GAExD,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,cAKX;AALD,CAAA,UAAY,aAAa,EAAA;IACrB,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;IACT,aAAA,CAAA,aAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACZ,CAAC,EALW,aAAa,KAAb,aAAa,GAKxB,EAAA,CAAA,CAAA;;AChBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,aAOX;AAPD,CAAA,UAAY,YAAY,EAAA;IACpB,YAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,YAAA,CAAA,YAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;IACtB,YAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,YAAA,CAAA,YAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,YAAA,CAAA,YAAA,CAAA,wBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wBAA0B,CAAA;IAC1B,YAAA,CAAA,YAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;AAC5B,CAAC,EAPW,YAAY,KAAZ,YAAY,GAOvB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,WAIX;AAJD,CAAA,UAAY,UAAU,EAAA;IAClB,UAAA,CAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qBAAuB,CAAA;IACvB,UAAA,CAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,UAAA,CAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;AACxB,CAAC,EAJW,UAAU,KAAV,UAAU,GAIrB,EAAA,CAAA,CAAA;;ACpBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,cAGX;AAHD,CAAA,UAAY,aAAa,EAAA;IACrB,aAAA,CAAA,aAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,aAAA,CAAA,aAAA,CAAA,2BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,2BAA6B,CAAA;AACjC,CAAC,EAHW,aAAa,KAAb,aAAa,GAGxB,EAAA,CAAA,CAAA;;ACVD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,6BASX;AATD,CAAA,UAAY,4BAA4B,EAAA;IACpC,4BAAA,CAAA,4BAAA,CAAA,8CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,8CAAgD,CAAA;IAChD,4BAAA,CAAA,4BAAA,CAAA,+CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+CAAiD,CAAA;IACjD,4BAAA,CAAA,4BAAA,CAAA,+CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+CAAiD,CAAA;IACjD,4BAAA,CAAA,4BAAA,CAAA,gDAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gDAAkD,CAAA;IAClD,4BAAA,CAAA,4BAAA,CAAA,0CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0CAA4C,CAAA;IAC5C,4BAAA,CAAA,4BAAA,CAAA,wCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wCAA0C,CAAA;IAC1C,4BAAA,CAAA,4BAAA,CAAA,0CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0CAA4C,CAAA;IAC5C,4BAAA,CAAA,4BAAA,CAAA,0CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0CAA4C,CAAA;AAChD,CAAC,EATW,4BAA4B,KAA5B,4BAA4B,GASvC,EAAA,CAAA,CAAA;;AChBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,MAcX;AAdD,CAAA,UAAY,KAAK,EAAA;IACb,KAAA,CAAA,KAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;IACjB,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,KAAA,CAAA,KAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;IACT,KAAA,CAAA,KAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;IACT,KAAA,CAAA,KAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,KAAA,CAAA,KAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,KAAA,CAAA,KAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;IACb,KAAA,CAAA,KAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY,CAAA;IACZ,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa,CAAA;IACb,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa,CAAA;AACjB,CAAC,EAdW,KAAK,KAAL,KAAK,GAchB,EAAA,CAAA,CAAA;;ACrBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,qBAIX;AAJD,CAAA,UAAY,oBAAoB,EAAA;IAC5B,oBAAA,CAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,oBAAA,CAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,oBAAA,CAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;AACjB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,GAI/B,EAAA,CAAA,CAAA;;ACXD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,SAQX;AARD,CAAA,UAAY,QAAQ,EAAA;IAChB,QAAA,CAAA,QAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB,CAAA;IACrB,QAAA,CAAA,QAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;IAClB,QAAA,CAAA,QAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;IACxB,QAAA,CAAA,QAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;IAClB,QAAA,CAAA,QAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;IACtB,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;IACjB,QAAA,CAAA,QAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;AAC7B,CAAC,EARW,QAAQ,KAAR,QAAQ,GAQnB,EAAA,CAAA,CAAA;;ACfD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,cAUX;AAVD,CAAA,UAAY,aAAa,EAAA;IACrB,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;IACxB,aAAA,CAAA,aAAA,CAAA,uCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uCAAyC,CAAA;IACzC,aAAA,CAAA,aAAA,CAAA,qCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qCAAuC,CAAA;IACvC,aAAA,CAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,aAAA,CAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,aAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,6BAA+B,CAAA;IAC/B,aAAA,CAAA,aAAA,CAAA,gCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gCAAkC,CAAA;IAClC,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;IACtB,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qBAAuB,CAAA;AAC3B,CAAC,EAVW,aAAa,KAAb,aAAa,GAUxB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,sBAIX;AAJD,CAAA,UAAY,qBAAqB,EAAA;IAC7B,qBAAA,CAAA,qBAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,qBAAA,CAAA,qBAAA,CAAA,kCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kCAAoC,CAAA;IACpC,qBAAA,CAAA,qBAAA,CAAA,iCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iCAAmC,CAAA;AACvC,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,GAIhC,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,cAIX;AAJD,CAAA,UAAY,aAAa,EAAA;IACrB,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qBAAuB,CAAA;IACvB,aAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;AAC5B,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,cAMX;AAND,CAAA,UAAY,aAAa,EAAA;IACrB,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;IACxB,aAAA,CAAA,aAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,aAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,aAAA,CAAA,aAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,aAAA,CAAA,aAAA,CAAA,mCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mCAAqC,CAAA;AACzC,CAAC,EANW,aAAa,KAAb,aAAa,GAMxB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,2BAIX;AAJD,CAAA,UAAY,0BAA0B,EAAA;IAClC,0BAAA,CAAA,0BAAA,CAAA,qCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qCAAuC,CAAA;IACvC,0BAAA,CAAA,0BAAA,CAAA,uCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uCAAyC,CAAA;IACzC,0BAAA,CAAA,0BAAA,CAAA,2CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,2CAA6C,CAAA;AACjD,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,GAIrC,EAAA,CAAA,CAAA;;AC3CD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,qBAQX;AARD,CAAA,UAAY,oBAAoB,EAAA;IAC5B,oBAAA,CAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,oBAAA,CAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,oBAAA,CAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;IACd,oBAAA,CAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,oBAAA,CAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,oBAAA,CAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,oBAAA,CAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe,CAAA;AACnB,CAAC,EARW,oBAAoB,KAApB,oBAAoB,GAQ/B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,wBAKX;AALD,CAAA,UAAY,uBAAuB,EAAA;IAC/B,uBAAA,CAAA,uBAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;IACxB,uBAAA,CAAA,uBAAA,CAAA,qBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qBAAuB,CAAA;IACvB,uBAAA,CAAA,uBAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;IACtB,uBAAA,CAAA,uBAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;AAC5B,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,GAKlC,EAAA,CAAA,CAAA;;ACtBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,gBAMX;AAND,CAAA,UAAY,eAAe,EAAA;IACvB,eAAA,CAAA,eAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,eAAA,CAAA,eAAA,CAAA,gCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gCAAkC,CAAA;IAClC,eAAA,CAAA,eAAA,CAAA,kCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kCAAoC,CAAA;IACpC,eAAA,CAAA,eAAA,CAAA,4BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,4BAA8B,CAAA;IAC9B,eAAA,CAAA,eAAA,CAAA,6BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,6BAA+B,CAAA;AACnC,CAAC,EANW,eAAe,KAAf,eAAe,GAM1B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,mBAKX;AALD,CAAA,UAAY,kBAAkB,EAAA;IAC1B,kBAAA,CAAA,kBAAA,CAAA,8BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,8BAAgC,CAAA;IAChC,kBAAA,CAAA,kBAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,kBAAA,CAAA,kBAAA,CAAA,gCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gCAAkC,CAAA;IAClC,kBAAA,CAAA,kBAAA,CAAA,6BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,6BAA+B,CAAA;AACnC,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,GAK7B,EAAA,CAAA,CAAA;;ACpBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,YAQX;AARD,CAAA,UAAY,WAAW,EAAA;IACnB,WAAA,CAAA,WAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB,CAAA;IACxB,WAAA,CAAA,WAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,WAAA,CAAA,WAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,WAAA,CAAA,WAAA,CAAA,2BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,2BAA6B,CAAA;IAC7B,WAAA,CAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;IACpB,WAAA,CAAA,WAAA,CAAA,8BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,8BAAgC,CAAA;IAChC,WAAA,CAAA,WAAA,CAAA,oCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oCAAsC,CAAA;AAC1C,CAAC,EARW,WAAW,KAAX,WAAW,GAQtB,EAAA,CAAA,CAAA;;ACfD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,WAIX;AAJD,CAAA,UAAY,UAAU,EAAA;IAClB,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB,CAAA;IACrB,UAAA,CAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,UAAA,CAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;AAC/B,CAAC,EAJW,UAAU,KAAV,UAAU,GAIrB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,eAOX;AAPD,CAAA,UAAY,cAAc,EAAA;IACtB,cAAA,CAAA,cAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,cAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,cAAA,CAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qBAAuB,CAAA;IACvB,cAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,cAAA,CAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,cAAA,CAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wBAA0B,CAAA;AAC9B,CAAC,EAPW,cAAc,KAAd,cAAc,GAOzB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,yBAGX;AAHD,CAAA,UAAY,wBAAwB,EAAA;IAChC,wBAAA,CAAA,wBAAA,CAAA,iCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iCAAmC,CAAA;IACnC,wBAAA,CAAA,wBAAA,CAAA,qCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,qCAAuC,CAAA;AAC3C,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,GAGnC,EAAA,CAAA,CAAA;;ACzBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,cAIX;AAJD,CAAA,UAAY,aAAa,EAAA;IACrB,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,aAAA,CAAA,aAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;IACjB,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;IACpB,YAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;IACb,YAAA,CAAA,YAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;AAClB,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;IACpB,YAAA,CAAA,YAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;IACb,YAAA,CAAA,YAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,YAAA,CAAA,YAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA;;ACvBD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,sBAKX;AALD,CAAA,UAAY,qBAAqB,EAAA;IAC7B,qBAAA,CAAA,qBAAA,CAAA,sCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sCAAwC,CAAA;IACxC,qBAAA,CAAA,qBAAA,CAAA,wCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wCAA0C,CAAA;IAC1C,qBAAA,CAAA,qBAAA,CAAA,mCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mCAAqC,CAAA;IACrC,qBAAA,CAAA,qBAAA,CAAA,oCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oCAAsC,CAAA;AAC1C,CAAC,EALW,qBAAqB,KAArB,qBAAqB,GAKhC,EAAA,CAAA,CAAA;;ACZD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,gBAMX;AAND,CAAA,UAAY,eAAe,EAAA;IACvB,eAAA,CAAA,eAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,eAAA,CAAA,eAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,eAAA,CAAA,eAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;IACzB,eAAA,CAAA,eAAA,CAAA,4BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,4BAA8B,CAAA;IAC9B,eAAA,CAAA,eAAA,CAAA,iCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iCAAmC,CAAA;AACvC,CAAC,EANW,eAAe,KAAf,eAAe,GAM1B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,mBAKX;AALD,CAAA,UAAY,kBAAkB,EAAA;IAC1B,kBAAA,CAAA,kBAAA,CAAA,kCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kCAAoC,CAAA;IACpC,kBAAA,CAAA,kBAAA,CAAA,oCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oCAAsC,CAAA;IACtC,kBAAA,CAAA,kBAAA,CAAA,+BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,+BAAiC,CAAA;IACjC,kBAAA,CAAA,kBAAA,CAAA,gCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gCAAkC,CAAA;AACtC,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,GAK7B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,iBAIX;AAJD,CAAA,UAAY,gBAAgB,EAAA;IACxB,gBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,gBAAA,CAAA,gBAAA,CAAA,6BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,6BAA+B,CAAA;IAC/B,gBAAA,CAAA,gBAAA,CAAA,4BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,4BAA8B,CAAA;AAClC,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAI3B,EAAA,CAAA,CAAA;;AC1BD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,0BAMX;AAND,CAAA,UAAY,yBAAyB,EAAA;IACjC,yBAAA,CAAA,yBAAA,CAAA,mCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mCAAqC,CAAA;IACrC,yBAAA,CAAA,yBAAA,CAAA,iDAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iDAAmD,CAAA;IACnD,yBAAA,CAAA,yBAAA,CAAA,mDAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mDAAqD,CAAA;IACrD,yBAAA,CAAA,yBAAA,CAAA,kDAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kDAAoD,CAAA;IACpD,yBAAA,CAAA,yBAAA,CAAA,uDAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uDAAyD,CAAA;AAC7D,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,GAMpC,EAAA,CAAA,CAAA;;ACbD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,aAGX;AAHD,CAAA,UAAY,YAAY,EAAA;IACpB,YAAA,CAAA,YAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,YAAA,CAAA,YAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAyB,CAAA;AAC7B,CAAC,EAHW,YAAY,KAAZ,YAAY,GAGvB,EAAA,CAAA,CAAA;;ACVD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,iBAIX;AAJD,CAAA,UAAY,gBAAgB,EAAA;IACxB,gBAAA,CAAA,gBAAA,CAAA,2BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,2BAA6B,CAAA;IAC7B,gBAAA,CAAA,gBAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,gBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;AAChC,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAI3B,EAAA,CAAA,CAAA;;ACXD;AACA;AACA;AACA;AACA;AACA;AAEY,IAAA,iBAKX;AALD,CAAA,UAAY,gBAAgB,EAAA;IACxB,gBAAA,CAAA,gBAAA,CAAA,2BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,2BAA6B,CAAA;IAC7B,gBAAA,CAAA,gBAAA,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,0BAA4B,CAAA;IAC5B,gBAAA,CAAA,gBAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B,CAAA;IAC3B,gBAAA,CAAA,gBAAA,CAAA,wCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,wCAA0C,CAAA;AAC9C,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,GAK3B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,SAMX;AAND,CAAA,UAAY,QAAQ,EAAA;IAChB,QAAA,CAAA,QAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;IACpB,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;IAChB,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;IACjB,QAAA,CAAA,QAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;IAClB,QAAA,CAAA,QAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB,CAAA;AACrB,CAAC,EANW,QAAQ,KAAR,QAAQ,GAMnB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,uBAKX;AALD,CAAA,UAAY,sBAAsB,EAAA;IAC9B,sBAAA,CAAA,sBAAA,CAAA,kCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kCAAoC,CAAA;IACpC,sBAAA,CAAA,sBAAA,CAAA,mCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mCAAqC,CAAA;IACrC,sBAAA,CAAA,sBAAA,CAAA,iCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iCAAmC,CAAA;IACnC,sBAAA,CAAA,sBAAA,CAAA,mCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mCAAqC,CAAA;AACzC,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,GAKjC,EAAA,CAAA,CAAA;;AC3BD;;ACUgB,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,mBAAmB,CAAA;AAW5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC9De,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,eAAe,CAAA;AAgBxB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACxE,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAWjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC7D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AASlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,YAAY,CAAA;AAoCrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QACxC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAtBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACtD,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACxE,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGA,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;QAC9G,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACrF,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAGD,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;QACpH,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAAC,SAAA;QACvF,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AACrO,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAU3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAapC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAYlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAclC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACtD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAWxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAY/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;AAC9D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACvJ,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,gBAAgB,EAAE;AAAC,YAAA,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,gBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AAC/N,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAUtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,IAAI,CAAA;AAab,IAAA,WAAA,CAAY,MAAwB,EAAA;QAChC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAYxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAajC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,+BAA+B,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAC1F,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAYlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACtjBe,SAAAD,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,eAAe,CAAA;AAexB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGA,mBAAiB,CAAiBE,YAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;QACzF,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACxCe,SAAAF,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,MAAM,CAAA;AAkBf,IAAA,WAAA,CAAY,MAA0B,EAAA;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;QACrB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AAC5G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,UAAU,CAAA;AAkBnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QACtC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QACzB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAGA,mBAAiB,CAAiBE,YAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACjH,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AACpE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,aAAa,CAAA;AAYtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAW3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC3D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AASlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACtJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAa3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACpF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,eAAe,CAAA;AAYxB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAgBvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGF,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC5E,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAc5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AAC5G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACtYe,SAAAD,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,UAAU,CAAA;AAYnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QACtC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QACzB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC7D,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACnCe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,QAAQ,CAAA;AAiCjB,IAAA,WAAA,CAAY,MAA4B,EAAA;QACpC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IArBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACpD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACtD,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC5D,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC5D,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;QAC7C,IAAI,KAAK,CAAC,wBAAwB,EAAE;AAAC,YAAA,CAAC,CAAC,wBAAwB,GAAGH,mBAAiB,CAA+BI,0BAA4B,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAAC,SAAA;AACjL,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAAC,SAAA;AACjI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uCAAuC,CAAA;AAWhD,IAAA,WAAA,CAAY,MAA2D,EAAA;QACnE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uCAAuC,EAAE,CAAC;QACtD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC7D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AACtE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAS3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAU5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AACtE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AASjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAUlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChK,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAU7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAY9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAwBtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACpD,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACtD,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;QAC7C,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC5D,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AASpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAW9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AACtE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iCAAiC,CAAA;AAY1C,IAAA,WAAA,CAAY,MAAqD,EAAA;QAC7D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;QAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGJ,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC/de,SAAAD,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,eAAe,CAAA;AAexB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,oBAAoB,EAAE;YAAC,CAAC,CAAC,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACpG,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAAC,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC3F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAAC,SAAA;AACrH,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AAC5G,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAczC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iCAAiC,CAAA;AAU1C,IAAA,WAAA,CAAY,MAAqD,EAAA;QAC7D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;QAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAAC,YAAA,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC5G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AACrO,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACrGe,SAAAH,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,WAAW,CAAA;AAgBpB,IAAA,WAAA,CAAY,MAA+B,EAAA;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AAC5G,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAU3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAShC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACtF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACtLe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,sBAAsB,CAAA;AAgB/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGA,mBAAiB,CAAuCK,kCAAoC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;QACrI,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uCAAuC,CAAA;AAYhD,IAAA,WAAA,CAAY,MAA2D,EAAA;QACnE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uCAAuC,EAAE,CAAC;QACtD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;AAC7C,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAaxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAUzC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAiBpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAcrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC5E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wCAAwC,CAAA;AAYjD,IAAA,WAAA,CAAY,MAA4D,EAAA;QACpE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wCAAwC,EAAE,CAAC;QACvD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;AAAC,YAAA,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,oEAAoE,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACxJ,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAY/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,mBAAmB,EAAE;AAAC,YAAA,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACnH,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,mBAAmB,GAAI,IAAI,CAAC,mBAA2B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AACjP,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAazC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,uCAAuC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,OAAO,CAAA;AAYhB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGL,mBAAiB,CAAoBM,eAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACpE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,cAAc,CAAA;AA+BvB,IAAA,WAAA,CAAY,MAAkC,EAAA;QAC1C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IArBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAClE,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC3F,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAGN,mBAAiB,CAAkCO,6BAA+B,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;QAC5J,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAGP,mBAAiB,CAA8BQ,yBAA2B,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACxI,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGR,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACxF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gBAAgB,CAAA;AAkBzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC/E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,WAAW,CAAA;AAkBpB,IAAA,WAAA,CAAY,MAA+B,EAAA;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAhBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACjD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACjD,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oEAAoE,CAAA;AAW7E,IAAA,WAAA,CAAY,MAAwF,EAAA;QAChG,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oEAAoE,EAAE,CAAC;QACnF,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,mBAAmB,EAAE;AAAC,YAAA,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACnH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,mBAAmB,GAAI,IAAI,CAAC,mBAA2B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AACjP,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC/ee,SAAAD,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,qBAAqB,CAAA;AAoB9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAGA,mBAAiB,CAAiBE,YAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACjH,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;AAC7C,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,QAAQ,CAAA;AA2BjB,IAAA,WAAA,CAAY,MAA4B,EAAA;QACpC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAlBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtE,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAGF,mBAAiB,CAAiBE,YAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACjH,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;QAC7C,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAYpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACtD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACtF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAY9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAoB9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAGF,mBAAiB,CAAiBE,YAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACjH,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;AAC7C,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC3Qe,SAAAF,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,cAAc,CAAA;AAavB,IAAA,WAAA,CAAY,MAAkC,EAAA;QAC1C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACtCe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,SAAS,CAAA;AASlB,IAAA,WAAA,CAAY,MAA6B,EAAA;QACrC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QACxB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC/Be,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,iBAAiB,CAAA;AAU1B,IAAA,WAAA,CAAY,MAAqC,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gBAAgB,CAAA;AAezB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAU3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAU5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,cAAc,CAAA;AAYvB,IAAA,WAAA,CAAY,MAAkC,EAAA;QAC1C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAChF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,eAAe,CAAA;AAYxB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,OAAO,CAAA;AAkBhB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC5D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gBAAgB,CAAA;AAgBzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACtWe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,aAAa,CAAA;AActB,IAAA,WAAA,CAAY,MAAiC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC5F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iBAAiB,CAAA;AAc1B,IAAA,WAAA,CAAY,MAAqC,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACrEe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,gBAAgB,CAAA;AAWzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iBAAiB,CAAA;AAU1B,IAAA,WAAA,CAAY,MAAqC,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAgB3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAU5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAS9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAc/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oCAAoC,CAAA;AAc7C,IAAA,WAAA,CAAY,MAAwD,EAAA;QAChE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGA,mBAAiB,CAAkDS,6CAA+C,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC1K,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAU7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAW9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AASjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAgBnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,KAAKT,mBAAiB,CAAkBU,aAAe,EAAE,CAAC,CAAC,CAAC,CAAC;AAAC,SAAA;QAC7H,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,oCAAoC,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;AACxG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iBAAiB,CAAA;AAU1B,IAAA,WAAA,CAAY,MAAqC,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAU3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,OAAO,CAAA;AAwDhB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IA7BD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGV,mBAAiB,CAAkBU,aAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtE,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACtD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;QAC7C,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACpE,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGV,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;QAChD,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC5F,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC9F,IAAI,KAAK,CAAC,cAAc,EAAE;AAAC,YAAA,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACtD,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACvJ,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAAC,SAAA;AACrH,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,0BAA0B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;AAAC,SAAA;AACvI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,WAAW,CAAA;AA0BpB,IAAA,WAAA,CAAY,MAA+B,EAAA;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC5F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACpF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACrF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iBAAiB,CAAA;AAU1B,IAAA,WAAA,CAAY,MAAqC,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAU7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAY3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAa5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAU7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAWrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAUtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAClE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC1E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAiB9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAU3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC1mCe,SAAAH,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,OAAO,CAAA;AAehB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACxCe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,SAAS,CAAA;AAYlB,IAAA,WAAA,CAAY,MAA6B,EAAA;QACrC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QACxB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;AAC7C,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AClCe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,yBAAyB,CAAA;AAUlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAAC,SAAA;AAC/F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,gBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AAC/N,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAY3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACpF,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,MAAM,CAAA;AAsBf,IAAA,WAAA,CAAY,MAA0B,EAAA;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAhBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;QACrB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGH,mBAAiB,CAAiBW,YAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGX,mBAAiB,CAAeY,UAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAW/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAAC,SAAA;AACrH,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAShC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,YAAY,CAAA;AAuBrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QACxC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGZ,mBAAiB,CAAiBW,YAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGX,mBAAiB,CAAeY,UAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACpPe,SAAAZ,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,yBAAyB,CAAA;AAYlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAYpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAsB9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,yBAAyB,EAAE;YAAC,CAAC,CAAC,yBAAyB,GAAG,8CAA8C,CAAC,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAAC,SAAA;AAC/J,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAAC,SAAA;AACjI,QAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,2BAA2B,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,yBAAyB,GAAI,IAAI,CAAC,yBAAiC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC;AAAC,SAAA;AACrR,QAAA,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;AAAC,SAAA;AAC1I,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAYrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACtE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAS3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAU5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AACtE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mCAAmC,CAAA;AAU5C,IAAA,WAAA,CAAY,MAAuD,EAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oCAAoC,CAAA;AAU7C,IAAA,WAAA,CAAY,MAAwD,EAAA;QAChE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,oBAAoB,EAAE;YAAC,CAAC,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACvN,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,oBAAoB,GAAI,IAAI,CAAC,oBAA4B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAAC,SAAA;AACvP,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AASrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAYtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAAC,CAAC,CAAC,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC9F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAShC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAejC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,+BAA+B,EAAE;YAAC,CAAC,CAAC,+BAA+B,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAAC,SAAA;QACjI,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,+BAA+B,KAAK,WAAW,IAAI,IAAI,CAAC,+BAA+B,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iCAAiC,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,+BAA+B,GAAI,IAAI,CAAC,+BAAuC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,+BAA+B,CAAC;AAAC,SAAA;AACzT,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAShC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACpE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8CAA8C,CAAA;AASvD,IAAA,WAAA,CAAY,MAAkE,EAAA;QAC1E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8CAA8C,EAAE,CAAC;QAC7D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;AAAC,SAAA;AACpI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8CAA8C,CAAA;AASvD,IAAA,WAAA,CAAY,MAAkE,EAAA;QAC1E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8CAA8C,EAAE,CAAC;QAC7D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;AAAC,SAAA;AACpI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAWjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAYlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC3E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,QAAQ,CAAA;AAwBjB,IAAA,WAAA,CAAY,MAA4B,EAAA;QACpC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;AAAC,SAAA;AACpI,QAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAAC,SAAA;AACjI,QAAA,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;AAAC,SAAA;AAC1I,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAe5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,4BAA4B,EAAE;YAAC,CAAC,CAAC,4BAA4B,GAAG,4BAA4B,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAAC,SAAA;QACtJ,IAAI,KAAK,CAAC,sBAAsB,EAAE;YAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,4BAA4B,KAAK,WAAW,IAAI,IAAI,CAAC,4BAA4B,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,8BAA8B,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,4BAA4B,GAAI,IAAI,CAAC,4BAAoC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC;AAAC,SAAA;AACvS,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6DAA6D,CAAA;AAWtE,IAAA,WAAA,CAAY,MAAiF,EAAA;QACzF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6DAA6D,EAAE,CAAC;QAC5E,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAe/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGH,mBAAiB,CAAiCa,4BAA8B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC/H,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAGb,mBAAiB,CAAkBc,aAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;QACtH,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAYhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAUnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qCAAqC,CAAA;AAU9C,IAAA,WAAA,CAAY,MAAyD,EAAA;QACjE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;AAAC,SAAA;AAC1I,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mCAAmC,CAAA;AAU5C,IAAA,WAAA,CAAY,MAAuD,EAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;AAAC,SAAA;AACpI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAsB9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,yBAAyB,EAAE;YAAC,CAAC,CAAC,yBAAyB,GAAG,8CAA8C,CAAC,SAAS,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAAC,SAAA;AAC/J,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAAC,SAAA;AACjI,QAAA,IAAI,OAAO,IAAI,CAAC,yBAAyB,KAAK,WAAW,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,2BAA2B,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,yBAAyB,GAAI,IAAI,CAAC,yBAAiC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC;AAAC,SAAA;AACrR,QAAA,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;AAAC,SAAA;AAC1I,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+CAA+C,CAAA;AAYxD,IAAA,WAAA,CAAY,MAAmE,EAAA;QAC3E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+CAA+C,EAAE,CAAC;QAC9D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,4BAA4B,EAAE;YAAC,CAAC,CAAC,4BAA4B,GAAG,4BAA4B,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAAC,SAAA;AACtJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,4BAA4B,KAAK,WAAW,IAAI,IAAI,CAAC,4BAA4B,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,8BAA8B,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,4BAA4B,GAAI,IAAI,CAAC,4BAAoC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,4BAA4B,CAAC;AAAC,SAAA;AACvS,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAazC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,sBAAsB,EAAE;YAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACziCe,SAAAd,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,iCAAiC,CAAA;AAW1C,IAAA,WAAA,CAAY,MAAqD,EAAA;QAC7D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;QAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAY3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,cAAc,CAAA;AAiBvB,IAAA,WAAA,CAAY,MAAkC,EAAA;QAC1C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACpD,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAGA,mBAAiB,CAAUe,KAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGf,mBAAiB,CAAyBgB,oBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACtGe,SAAAhB,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,6BAA6B,CAAA;AAWtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gBAAgB,CAAA;AAUzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAgBlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACrGe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,wBAAwB,CAAA;AAWjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAaiB,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAUlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qCAAqC,CAAA;AAW9C,IAAA,WAAA,CAAY,MAAyD,EAAA;QACjE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAU/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAUpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,OAAO,CAAA;AA0BhB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGjB,mBAAiB,CAAkBkB,aAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;QACzG,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACjD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,eAAe,CAAA;AAsBxB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAhBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAAC,SAAA;QACzG,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAAC,SAAA;QACzG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,qBAA6B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;AAAC,SAAA;AAC7P,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AACrO,QAAA,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,qBAA6B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;AAAC,SAAA;AAC7P,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AACrO,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAAC,SAAA;AACrH,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oCAAoC,CAAA;AAiB7C,IAAA,WAAA,CAAY,MAAwD,EAAA;QAChE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAAC,SAAA;AACrH,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,uBAAuB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC;AAAC,SAAA;AAC9H,QAAA,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;AAAC,SAAA;AAC1I,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,2BAA2B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC;AAAC,SAAA;AAC1I,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AAClH,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAc/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,IAAI,CAAA;AAab,IAAA,WAAA,CAAY,MAAwB,EAAA;QAChC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AASxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAUzC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AAClH,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oCAAoC,CAAA;AAc7C,IAAA,WAAA,CAAY,MAAwD,EAAA;QAChE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;AAC7C,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAY3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,oCAAoC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAWlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAYnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kDAAkD,CAAA;AAc3D,IAAA,WAAA,CAAY,MAAsE,EAAA;QAC9E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kDAAkD,EAAE,CAAC;QACjE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAalC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;QAChG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,kDAAkD,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AAC7G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAYnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAazC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,OAAO,CAAA;AAuBhB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGlB,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAGH,mBAAiB,CAAkBmB,aAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;QACtH,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACnG,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGnB,mBAAiB,CAAkBoB,aAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACjG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AAClH,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAajC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGpB,mBAAiB,CAA0BqB,qBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;AAC3G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAapC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,aAAa,CAAA;AA+BtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAlBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAGrB,mBAAiB,CAA+BsB,0BAA4B,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;QAChJ,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGtB,mBAAiB,CAAkBoB,aAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAClE,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;AAC/F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AASrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAStC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAS5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAa7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,4CAA4C,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;AACtH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAc9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,oCAAoC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAU3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AAClH,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qCAAqC,CAAA;AAW9C,IAAA,WAAA,CAAY,MAAyD,EAAA;QACjE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4CAA4C,CAAA;AAWrD,IAAA,WAAA,CAAY,MAAgE,EAAA;QACxE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4CAA4C,EAAE,CAAC;QAC3D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC9F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACztCe,SAAApB,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACtF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,WAAW,CAAA;AAuBpB,IAAA,WAAA,CAAY,MAA+B,EAAA;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAyBuB,oBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QACrH,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAGvB,mBAAiB,CAA4BwB,uBAAyB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;AACpI,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAWvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAUjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AClOe,SAAAxB,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,gBAAgB,CAAA;AAWzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAWjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,sBAAsB,EAAE;AAAC,YAAA,CAAC,CAAC,sBAAsB,GAAGA,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAAC,SAAA;AACrJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AASlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AASnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAUpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACpE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,WAAW,CAAA;AAYpB,IAAA,WAAA,CAAY,MAA+B,EAAA;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC;QAC1B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,sBAAsB,EAAE;AAAC,YAAA,CAAC,CAAC,sBAAsB,GAAGzB,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAAC,SAAA;AACrJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAiBlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGzB,mBAAiB,CAAuB0B,kBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;QACrG,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC3E,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG1B,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAgB3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,gBAAgB,EAAE;AAAC,YAAA,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC1G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,gBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AAC/N,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAcjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC1E,IAAI,KAAK,CAAC,sBAAsB,EAAE;AAAC,YAAA,CAAC,CAAC,sBAAsB,GAAGD,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAAC,SAAA;AACrJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;IAElC,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;AAED,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAED,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC9Se,SAAAzB,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,+BAA+B,CAAA;AAoBxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAhBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGA,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzK,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGD,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACxF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AAUzC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAUxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iCAAiC,CAAA;AAU1C,IAAA,WAAA,CAAY,MAAqD,EAAA;QAC7D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iCAAiC,EAAE,CAAC;QAChD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAU3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,mBAAmB,EAAE;AAAC,YAAA,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACrH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,mBAAmB,GAAI,IAAI,CAAC,mBAA2B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAAC,SAAA;AACjP,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAYtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAAC,CAAC,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAAC,SAAA;QAC9G,IAAI,KAAK,CAAC,0BAA0B,EAAE;AAAC,YAAA,CAAC,CAAC,0BAA0B,GAAGzB,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAAC,SAAA;AACjK,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,kBAA0B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC3O,QAAA,IAAI,OAAO,IAAI,CAAC,0BAA0B,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC;AAAC,SAAA;AACvI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4DAA4D,CAAA;AAUrE,IAAA,WAAA,CAAY,MAAgF,EAAA;QACxF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4DAA4D,EAAE,CAAC;QAC3E,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAavC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;QAChG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,4DAA4D,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACvH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAYxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACpF,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAWvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2CAA2C,CAAA;AAWpD,IAAA,WAAA,CAAY,MAA+D,EAAA;QACvE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2CAA2C,EAAE,CAAC;QAC1D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2CAA2C,CAAA;AAWpD,IAAA,WAAA,CAAY,MAA+D,EAAA;QACvE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2CAA2C,EAAE,CAAC;QAC1D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AA0B3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAnBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGzB,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzK,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC5D,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGD,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACxF,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAGzB,mBAAiB,CAAuB0B,kBAAoB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;AAC1H,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAsBxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG1B,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzK,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC1E,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGD,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACxF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;IAEzC,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;AAED,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAED,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAkBtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAfD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACxF,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;QAC1F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGzB,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACxF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC/iBe,SAAAzB,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,oBAAoB,CAAA;AAe7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAGA,mBAAiB,CAAgB2B,WAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;AAC5G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAS7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAS/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC3J,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAa/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK3B,mBAAiB,CAAgB2B,WAAa,EAAE,CAAC,CAAC,CAAC,CAAC;AAAC,SAAA;AAClI,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAc5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,sCAAsC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,OAAO,CAAA;AAehB,IAAA,WAAA,CAAY,MAA2B,EAAA;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAG3B,mBAAiB,CAAgB2B,WAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;AAC5G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oCAAoC,CAAA;AAW7C,IAAA,WAAA,CAAY,MAAwD,EAAA;QAChE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC5D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAa7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAG3B,mBAAiB,CAAgB2B,WAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;AAC5G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC5Te,SAAA3B,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,aAAa,CAAA;AAWtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC1E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,cAAc,CAAA;AA0BvB,IAAA,WAAA,CAAY,MAAkC,EAAA;QAC1C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAnBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,WAAW,EAAE;AAAC,YAAA,CAAC,CAAC,WAAW,GAAGzB,mBAAiB,CAAuB0B,kBAAoB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QAC1H,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG1B,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGH,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAChG,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACxF,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACrFe,SAAAD,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,aAAa,CAAA;AAatB,IAAA,WAAA,CAAY,MAAiC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAGA,mBAAiB,CAAe4B,UAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oDAAoD,CAAA;AAU7D,IAAA,WAAA,CAAY,MAAwE,EAAA;QAChF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oDAAoD,EAAE,CAAC;QACnE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK5B,mBAAiB,CAAoByB,eAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;AAAC,SAAA;AACtJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAuB/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;QAC7C,IAAI,KAAK,CAAC,qBAAqB,EAAE;YAAC,CAAC,CAAC,qBAAqB,GAAG,oDAAoD,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAAC,SAAA;QACzJ,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAGzB,mBAAiB,CAA6B6B,wBAA0B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACpH,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAG7B,mBAAiB,CAAmB8B,cAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,qBAAqB,GAAI,IAAI,CAAC,qBAA6B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;AAAC,SAAA;AAC7P,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gDAAgD,CAAA;AAczD,IAAA,WAAA,CAAY,MAAoE,EAAA;QAC5E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gDAAgD,EAAE,CAAC;QAC/D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE;YAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAAC,SAAA;AAC7C,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AACjJ,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAYjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,gDAAgD,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAclC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;QACrG,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG9B,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,sCAAsC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,QAAQ,CAAA;AAqCjB,IAAA,WAAA,CAAY,MAA4B,EAAA;QACpC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAvBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGH,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAGH,mBAAiB,CAAoByB,eAAiB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;QAChI,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACtD,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGzB,mBAAiB,CAAmB8B,cAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACnG,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC5E,IAAI,KAAK,CAAC,cAAc,EAAE;AAAC,YAAA,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,YAAY,CAAA;AA6BrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QACxC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAlBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,gBAAgB,EAAE;AAAC,YAAA,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzG,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACrG,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,gBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AAC/N,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAW5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC9ce,SAAA9B,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,mBAAmB,CAAA;AAiB5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGA,mBAAiB,CAAiB+B,YAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAG/B,mBAAiB,CAAkBgC,aAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AACtH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAa3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,MAAM,CAAA;AAyBf,IAAA,WAAA,CAAY,MAA0B,EAAA;QAClC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;QACrB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC1D,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGhC,mBAAiB,CAAiB+B,YAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAG/B,mBAAiB,CAAiBiC,YAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC/F,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAGjC,mBAAiB,CAAkBgC,aAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AACtH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AChKe,SAAAhC,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,4BAA4B,CAAA;AAiBrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACvD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oDAAoD,CAAA;AAW7D,IAAA,WAAA,CAAY,MAAwE,EAAA;QAChF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oDAAoD,EAAE,CAAC;QACnE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,KAAKA,mBAAiB,CAA0BkC,qBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;AAAC,SAAA;AAC7I,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAYnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,oDAAoD,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAC/G,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAYpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;AAAC,YAAA,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACvF,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,eAAe,CAAA;AA2BxB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGlC,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGH,mBAAiB,CAA0BkC,qBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACjH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AC7Le,SAAAlC,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACvE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8CAA8C,CAAA;AAcvD,IAAA,WAAA,CAAY,MAAkE,EAAA;QAC1E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8CAA8C,EAAE,CAAC;QAC7D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAS,KAAKA,mBAAiB,CAAuBmC,kBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC;AAAC,SAAA;QACvI,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAS,KAAKnC,mBAAiB,CAAoBoC,eAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;AAAC,SAAA;AACtJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAahC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,8CAA8C,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzG,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAYjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC3E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAShC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,YAAY,CAAA;AA8BrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QACxC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IApBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGpC,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGH,mBAAiB,CAAuBmC,kBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,IAAI,EAAE;AAAC,YAAA,CAAC,CAAC,IAAI,GAAGnC,mBAAiB,CAAqBqC,gBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;AACjG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mCAAmC,CAAA;AAU5C,IAAA,WAAA,CAAY,MAAuD,EAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACzSe,SAAArC,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,mBAAmB,CAAA;AAU5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGA,mBAAiB,CAA8BsC,yBAA2B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AACzH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AChCe,SAAAtC,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,qBAAqB,CAAA;AAW9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAatC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtI,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACvJ,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAUvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,kBAAkB,EAAE;AAAC,YAAA,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAChH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,kBAA0B,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC3O,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAcrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACrF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAc/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGA,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAcjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AA8BlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAnBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACxE,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAClE,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAGD,mBAAiB,CAAiBuC,YAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACjH,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACrF,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACtF,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGvC,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC5E,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAGD,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AACpH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAWnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;AAAC,YAAA,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AASpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAYnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAc/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAW/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACvD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,YAAY,CAAA;AA8BrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QACxC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAnBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACxE,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAGD,mBAAiB,CAAiBuC,YAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAAC,SAAA;QACjH,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAClE,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACrF,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACtF,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGvC,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC5E,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAGD,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AACpH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6CAA6C,CAAA;AAatD,IAAA,WAAA,CAAY,MAAiE,EAAA;QACzE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6CAA6C,EAAE,CAAC;QAC5D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAGD,mBAAiB,CAAcC,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gBAAgB,CAAA;AAWzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAAC,SAAA;AACrE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACvJ,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACnhBe,SAAAD,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,gBAAgB,CAAA;AAazB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;AACzD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAUtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mCAAmC,CAAA;AAS5C,IAAA,WAAA,CAAY,MAAuD,EAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAYrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,mCAAmC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QAC9F,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAYtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAAC,YAAA,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7G,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AACrO,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACxJe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,qCAAqC,CAAA;AAU9C,IAAA,WAAA,CAAY,MAAyD,EAAA;QACjE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAU/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AACxG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAqBpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAdD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtE,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;QACjF,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACpD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wCAAwC,CAAA;AAmBjD,IAAA,WAAA,CAAY,MAA4D,EAAA;QACpE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wCAAwC,EAAE,CAAC;QACvD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtE,IAAI,KAAK,CAAC,IAAI,EAAE;YAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACpD,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACvJe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,gBAAgB,CAAA;AAczB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,aAAa,CAAA;AAYtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,iBAAiB,CAAA;AAS1B,IAAA,WAAA,CAAY,MAAqC,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAChC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kBAAkB,CAAA;AAU3B,IAAA,WAAA,CAAY,MAAsC,EAAA;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAC1F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACzHe,SAAAA,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,wBAAwB,CAAA;AAWjC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAUlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAgBnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAUpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAU9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAWtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAUvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,yBAAyB,CAAA;AAUlC,IAAA,WAAA,CAAY,MAA6C,EAAA;QACrD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACxC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAUnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,eAAe,CAAA;AA8BxB,IAAA,WAAA,CAAY,MAAmC,EAAA;QAC3C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IArBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC5F,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC5E,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGA,mBAAiB,CAAaG,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,eAAe,EAAE;AAAC,YAAA,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC9F,IAAI,KAAK,CAAC,cAAc,EAAE;AAAC,YAAA,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACjG,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAClF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mBAAmB,CAAA;AAwB5B,IAAA,WAAA,CAAY,MAAuC,EAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAjBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACvD,IAAI,KAAK,CAAC,YAAY,EAAE;AAAC,YAAA,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC5F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QACzE,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AACxE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,YAAY,GAAI,IAAI,CAAC,YAAoB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AACvM,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sDAAsD,CAAA;AAiB/D,IAAA,WAAA,CAAY,MAA0E,EAAA;QAClF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sDAAsD,EAAE,CAAC;QACrE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,gBAAgB,EAAE;AAAC,YAAA,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,gBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AAC/N,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAYpC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAUrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oCAAoC,CAAA;AAW7C,IAAA,WAAA,CAAY,MAAwD,EAAA;QAChE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,CAAC;QACnD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qCAAqC,CAAA;AAU9C,IAAA,WAAA,CAAY,MAAyD,EAAA;QACjE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAiBtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAUvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAcrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC/G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAUtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,EAAE;YAAC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACzN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AChtBe,SAAAH,mBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,6BAA6B,CAAA;AAStC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AASnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAYrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAYtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAAC,YAAA,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7G,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AACrG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAI,IAAI,CAAC,iBAAyB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AACrO,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gBAAgB,CAAA;AAmCzB,IAAA,WAAA,CAAY,MAAoC,EAAA;QAC5C,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAtBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC/B,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAAC,SAAA;QACzD,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAGA,mBAAiB,CAA2BwC,sBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;QACnH,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC5D,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC/D,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC/E,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAGxC,mBAAiB,CAAayC,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,gBAAgB,EAAE;AAAC,YAAA,CAAC,CAAC,gBAAgB,GAAGzC,mBAAiB,CAAqB0C,gBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAAC,SAAA;QACrI,IAAI,KAAK,CAAC,gBAAgB,EAAE;AAAC,YAAA,CAAC,CAAC,gBAAgB,GAAG1C,mBAAiB,CAAqB2C,gBAAkB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAAC,SAAA;QACrI,IAAI,KAAK,CAAC,KAAK,EAAE;AAAC,YAAA,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAC7E,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAAC,SAAA;AAC/D,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAAC,SAAA;AAC/G,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AAC1F,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAY/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QACtF,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAgB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AAC/K,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,wBAAwB,CAAA;AAejC,IAAA,WAAA,CAAY,MAA4C,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACvC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAUtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAAC,SAAA;AACtG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,gBAAwB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AAC/N,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;AClTe,SAAA,iBAAiB,CAAI,OAAY,EAAE,KAAa,EAAA;AAC9D,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;MAEY,0BAA0B,CAAA;AAWnC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+BAA+B,CAAA;AAaxC,IAAA,WAAA,CAAY,MAAmD,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+BAA+B,EAAE,CAAC;QAC9C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gCAAgC,CAAA;AASzC,IAAA,WAAA,CAAY,MAAoD,EAAA;QAC5D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,2BAA2B,CAAA;AAepC,IAAA,WAAA,CAAY,MAA+C,EAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAWrC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AAC3E,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAW3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,mCAAmC,CAAA;AAU5C,IAAA,WAAA,CAAY,MAAuD,EAAA;QAC/D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAClD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzJ,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAWtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAYvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtL,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,4BAA4B,CAAA;AAarC,IAAA,WAAA,CAAY,MAAgD,EAAA;QACxD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,CAAC;QAC3C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAaxC,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAYtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,aAAa,EAAE;YAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACtL,IAAI,KAAK,CAAC,MAAM,EAAE;AAAC,YAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,aAAqB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAC7M,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAc/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAChE,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAcF,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAClG,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAwBhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAlBD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QACnE,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAaE,QAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC7F,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAoBsB,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;QAC3G,IAAI,KAAK,CAAC,UAAU,EAAE;YAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAAC,SAAA;QAC9E,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAClF,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;QAC5E,IAAI,KAAK,CAAC,QAAQ,EAAE;YAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAChE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,UAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AAC3L,QAAA,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;AAAC,SAAA;AACtG,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnG,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sBAAsB,CAAA;AAa/B,IAAA,WAAA,CAAY,MAA0C,EAAA;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE;YAAC,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAAC,SAAA;QACrE,IAAI,KAAK,CAAC,SAAS,EAAE;YAAC,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AAC/D,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAAC,SAAA;AACrE,QAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,IAAI,CAAC,WAAmB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;AAAC,SAAA;AACjM,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,GAAI,IAAI,CAAC,SAAiB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACrL,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,uBAAuB,CAAA;AAUhC,IAAA,WAAA,CAAY,MAA2C,EAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACtC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE;YAAC,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC5E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,oBAAoB,CAAA;AAS7B,IAAA,WAAA,CAAY,MAAwC,EAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,qBAAqB,CAAA;AAY9B,IAAA,WAAA,CAAY,MAAyC,EAAA;QACjD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,sBAAsB,EAAE;YAAC,CAAC,CAAC,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AAC1G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAAC,SAAA;AAC3H,QAAA,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAAC,SAAA;AAC5G,QAAA,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC;AAAC,SAAA;AACjI,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0DAA0D,CAAA;AAUnE,IAAA,WAAA,CAAY,MAA8E,EAAA;QACtF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAXD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0DAA0D,EAAE,CAAC;QACzE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAAC,SAAA;AAC7F,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,6BAA6B,CAAA;AAWtC,IAAA,WAAA,CAAY,MAAiD,EAAA;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAC5C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE;YAAC,CAAC,CAAC,MAAM,GAAG,0DAA0D,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAAC,SAAA;AAClH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,MAAc,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AAAC,SAAA;AACnK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8BAA8B,CAAA;AAUvC,IAAA,WAAA,CAAY,MAAkD,EAAA;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8BAA8B,EAAE,CAAC;QAC7C,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,EAAE;AAAC,YAAA,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;AACzH,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0DAA0D,CAAA;AAYnE,IAAA,WAAA,CAAY,MAA8E,EAAA;QACtF,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0DAA0D,EAAE,CAAC;QACzE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE;YAAC,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAAC,SAAA;AAC9F,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAAC,SAAA;AAChG,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,cAAsB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAAC,SAAA;AACnN,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,8CAA8C,CAAA;AAWvD,IAAA,WAAA,CAAY,MAAkE,EAAA;QAC1E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,8CAA8C,EAAE,CAAC;QAC7D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAClE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,sCAAsC,CAAA;AAW/C,IAAA,WAAA,CAAY,MAA0D,EAAA;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,sCAAsC,EAAE,CAAC;QACrD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,+CAA+C,CAAA;AAWxD,IAAA,WAAA,CAAY,MAAmE,EAAA;QAC3E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,+CAA+C,EAAE,CAAC;QAC9D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,gDAAgD,CAAA;AAWzD,IAAA,WAAA,CAAY,MAAoE,EAAA;QAC5E,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,gDAAgD,EAAE,CAAC;QAC/D,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,EAAE;YAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAC,SAAA;AACnE,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAAC,SAAA;AAC7J,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;AAY3C,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE;AAAC,YAAA,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAoBA,eAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAC,SAAA;AAC3G,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAAC,SAAA;AACjF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0CAA0C,CAAA;AAYnD,IAAA,WAAA,CAAY,MAA8D,EAAA;QACtE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAZD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0CAA0C,EAAE,CAAC;QACzD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAAC,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACxF,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AAAC,SAAA;AACzG,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,kCAAkC,CAAA;IAE3C,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,kCAAkC,EAAE,CAAC;QACjD,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5B,QAAA,OAAO,CAAC,CAAC;KACZ;AAED,IAAA,WAAA,CAAY,MAAsD,EAAA;QAC9D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAED,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ,CAAA;MAEY,0BAA0B,CAAA;AAenC,IAAA,WAAA,CAAY,MAA8C,EAAA;QACtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;AACV,SAAA;AACD,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;IAbD,OAAO,SAAS,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,SAAS,EAAE;AAAC,YAAA,CAAC,CAAC,SAAS,GAAG,iBAAiB,CAAcxB,SAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAAC,SAAA;QAClG,IAAI,KAAK,CAAC,OAAO,EAAE;YAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAM,CAAC,GAAG,EAAE,CAAC,KAAI,EAAG,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAAC,SAAA;AACzK,QAAA,OAAO,CAAC,CAAC;KACZ;IASD,SAAS,GAAA;QACL,MAAM,QAAQ,GAEV,EAAE,CAAC;AAEP,QAAA,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAAC,SAAA;AACvF,QAAA,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAAC,SAAA;AAClE,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAAC,SAAA;AACpF,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AACzK,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAAC,SAAA;AAC9E,QAAA,OAAO,QAAQ,CAAC;KACnB;AACJ;;ACx4BD;;;ACGA,MAAM,WAAW,GAAW,CAAA,EAAA,IAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,MAAM,CAAC;AAChF,MAAM,OAAO,GAA8B;AACvC,IAAA,OAAO,EAAE,gCAAgC;AACzC,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE,4BAA4B;AACpC,IAAA,MAAM,EAAE,4BAA4B;AACpC,IAAA,YAAY,EAAE,4BAA4B;CAC7C,CAAC;MAGW,WAAW,CAAA;AACpB,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;KAC7C;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;KACjC;;wGAPQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADC,MAAM,EAAA,CAAA,CAAA;2FAClB,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACZhC;MAyBa,4BAA4B,CAAA;IAGrC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,WAAW,CAAC,CAAmD,EAAA;AAC3D,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,uDAAuD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;;yHA5BQ,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA2C,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cADhB,MAAM,EAAA,CAAA,CAAA;2FAClB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACxBhC;MA+Ia,iBAAiB,CAAA;IAG1B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,WAAW,CAAC,CAAmD,EAAA;AAC3D,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACjJ;AACD,IAAA,sBAAsB,CAAC,CAAyE,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0C,IAAI,CAAC,KAAK,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9D,CAAC;KACT;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACxJ;AACD,IAAA,mBAAmB,CAAC,CAAmE,EAAA;AACnF,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;KACT;AACD,IAAA,mBAAmB,CAAC,CAAmE,EAAA;AACnF,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACzJ;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,qCAAqC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACrJ;AACD,IAAA,QAAQ,CAAC,CAA6C,EAAA;AAClD,QAAA,MAAM,OAAO,GAAG,CAAmB,CAAE,CAAC,SAAS,IAAsB,CAAE,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,8BAA8B,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC9I;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,qCAAqC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACxJ;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACxJ;AACD,IAAA,0BAA0B,CAAC,CAAiF,EAAA;AACxG,QAAA,MAAM,OAAO,GAAG,CAAqC,CAAE,CAAC,SAAS,IAAwC,CAAE,GAAG,IAAI,iCAAiC,CAAC,CAAC,CAAC,CAAC;QACvJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8C,IAAI,CAAC,KAAK,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,kCAAkC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;KACT;AACD,IAAA,oBAAoB,CAAC,CAAqE,EAAA;AACtF,QAAA,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,KAAK,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;KACT;AACD,IAAA,wBAAwB,CAAC,CAA6E,EAAA;AAClG,QAAA,MAAM,OAAO,GAAG,CAAmC,CAAE,CAAC,SAAS,IAAsC,CAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACjJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4C,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;KACT;AACD,IAAA,wBAAwB,CAAC,CAA6E,EAAA;AAClG,QAAA,MAAM,OAAO,GAAG,CAAmC,CAAE,CAAC,SAAS,IAAsC,CAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACjJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4C,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,mBAAmB,CAAC,CAAmE,EAAA;AACnF,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;KACT;AACD,IAAA,wBAAwB,CAAC,CAA6E,EAAA;AAClG,QAAA,MAAM,OAAO,GAAG,CAAmC,CAAE,CAAC,SAAS,IAAsC,CAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACjJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4C,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;KACT;AACD,IAAA,wBAAwB,CAAC,CAA6E,EAAA;AAClG,QAAA,MAAM,OAAO,GAAG,CAAmC,CAAE,CAAC,SAAS,IAAsC,CAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACjJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4C,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;KACT;AACD,IAAA,wBAAwB,CAAC,CAA6E,EAAA;AAClG,QAAA,MAAM,OAAO,GAAG,CAAmC,CAAE,CAAC,SAAS,IAAsC,CAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACjJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC9J;AACD,IAAA,uBAAuB,CAAC,CAA2E,EAAA;AAC/F,QAAA,MAAM,OAAO,GAAG,CAAkC,CAAE,CAAC,SAAS,IAAqC,CAAE,GAAG,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAC9I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2C,IAAI,CAAC,KAAK,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,+BAA+B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC;KACT;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,0BAA0B,CAAC,CAAiF,EAAA;AACxG,QAAA,MAAM,OAAO,GAAG,CAAqC,CAAE,CAAC,SAAS,IAAwC,CAAE,GAAG,IAAI,iCAAiC,CAAC,CAAC,CAAC,CAAC;QACvJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8C,IAAI,CAAC,KAAK,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,kCAAkC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAClE,CAAC;KACT;AACD,IAAA,sBAAsB,CAAC,CAAyE,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0C,IAAI,CAAC,KAAK,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9D,CAAC;KACT;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACxJ;AACD,IAAA,sBAAsB,CAAC,CAAyE,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC5J;AACD,IAAA,aAAa,CAAC,CAAuD,EAAA;AACjE,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;KACT;AACD,IAAA,gBAAgB,CAAC,CAA+D,EAAA;AAC5E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACjJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,YAAY,CAAC,CAAqD,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,qCAAqC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;AACD,IAAA,oBAAoB,CAAC,CAAqE,EAAA;AACtF,QAAA,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC1J;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,qCAAqC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,qCAAqC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACrJ;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACvJ;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC3J;AACD,IAAA,2BAA2B,CAAC,CAAmF,EAAA;AAC3G,QAAA,MAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACjK;;8GAlPQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC9IhC;MA2Ba,gBAAgB,CAAA;IAGzB,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,MAAM,CAAC,CAAqD,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAClJ;AACD,IAAA,QAAQ,CAAC,CAAyD,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;KACT;AACD,IAAA,IAAI,CAAC,CAAmD,EAAA;AACpD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,gCAAgC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACrI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;;6GAhCQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADJ,MAAM,EAAA,CAAA,CAAA;2FAClB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC1BhC;MAuBa,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,IAAI,CAAC,CAAuE,EAAA;AACxE,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACzJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAyE,EAAA;AAC5E,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC5J;;uHAzBQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADd,MAAM,EAAA,CAAA,CAAA;2FAClB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MA+Ba,kBAAkB,CAAA;IAG3B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,GAAG,CAAC,CAAmD,EAAA;AACnD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;AACD,IAAA,kBAAkB,CAAC,CAAiF,EAAA;AAChG,QAAA,MAAM,OAAO,GAAG,CAAqC,CAAE,CAAC,SAAS,IAAwC,CAAE,GAAG,IAAI,iCAAiC,CAAC,CAAC,CAAC,CAAC;QACvJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAChK;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;KACT;;+GAvCQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA,CAAA;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC9BhC;MAuBa,gBAAgB,CAAA;IAGzB,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,GAAG,CAAC,CAA+C,EAAA;AAC/C,QAAA,MAAM,OAAO,GAAG,CAAoB,CAAE,CAAC,SAAS,IAAuB,CAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+BAA+B,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/I;AACD,IAAA,UAAU,CAAC,CAAiD,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,CAAqB,CAAE,CAAC,SAAS,IAAwB,CAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAClD,CAAC;KACT;;6GAzBQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADJ,MAAM,EAAA,CAAA,CAAA;2FAClB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MA2Ba,kBAAkB,CAAA;IAG3B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,IAAI,CAAC,CAAuD,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACzI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACpJ;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACpJ;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACpJ;;+GAjCQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA,CAAA;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC1BhC;MA2Ea,iBAAiB,CAAA;IAG1B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,SAAS,CAAC,CAA+C,EAAA;AACrD,QAAA,MAAM,OAAO,GAAG,CAAoB,CAAE,CAAC,SAAS,IAAuB,CAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACzI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACjD,CAAC;KACT;AACD,IAAA,WAAW,CAAC,CAAmD,EAAA;AAC3D,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnJ;AACD,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnJ;AACD,IAAA,cAAc,CAAC,CAAyD,EAAA;AACpE,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;KACT;AACD,IAAA,GAAG,CAAC,CAAiD,EAAA;AACjD,QAAA,MAAM,OAAO,GAAG,CAAqB,CAAE,CAAC,SAAS,IAAwB,CAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,IAAI,CAAC,KAAK,GAAG,gCAAgC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAClD,CAAC;KACT;AACD,IAAA,YAAY,CAAC,CAAqD,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC/I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;AACD,IAAA,IAAI,CAAC,CAAmD,EAAA;AACpD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACjJ;AACD,IAAA,IAAI,CAAC,CAAqD,EAAA;AACtD,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACvI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;KACT;AACD,IAAA,GAAG,CAAC,CAAiD,EAAA;AACjD,QAAA,MAAM,OAAO,GAAG,CAAqB,CAAE,CAAC,SAAS,IAAwB,CAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,gCAAgC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAChJ;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,kDAAkD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACjK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,cAAc,CAAC,CAAyD,EAAA;AACpE,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;KACT;AACD,IAAA,IAAI,CAAC,CAAmD,EAAA;AACpD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACjJ;AACD,IAAA,SAAS,CAAC,CAA6D,EAAA;AACnE,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,YAAY,CAAC,CAAqD,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC/I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;;8GAtHQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC1EhC;MAuDa,yBAAyB,CAAA;IAGlC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,SAAS,CAAC,CAA+D,EAAA;AACrE,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACzJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,WAAW,CAAC,CAAmE,EAAA;AAC3E,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,KAAK,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAuE,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,GAAG,CAAC,CAAiE,EAAA;AACjE,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,KAAK,GAAG,wCAAwC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAuE,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC3J;AACD,IAAA,cAAc,CAAC,CAAyE,EAAA;AACpF,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0C,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9D,CAAC;KACT;AACD,IAAA,YAAY,CAAC,CAAqE,EAAA;AAC9E,QAAA,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,KAAK,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC/J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;KACT;AACD,IAAA,cAAc,CAAC,CAAyE,EAAA;AACpF,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0C,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9D,CAAC;KACT;AACD,IAAA,6BAA6B,CAAC,CAAuF,EAAA;AACjH,QAAA,MAAM,OAAO,GAAG,CAAwC,CAAE,CAAC,SAAS,IAA2C,CAAE,GAAG,IAAI,oCAAoC,CAAC,CAAC,CAAC,CAAC;QAChK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiD,IAAI,CAAC,KAAK,GAAG,kEAAkE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACzL,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,qCAAqC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACrE,CAAC;KACT;;sHAjFQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cADb,MAAM,EAAA,CAAA,CAAA;2FAClB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtDhC;MA+Fa,kBAAkB,CAAA;IAG3B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACpJ;AACD,IAAA,GAAG,CAAC,CAAmD,EAAA;AACnD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAAyD,EAAA;AAC5D,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACpJ;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/J;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnK;AACD,IAAA,gBAAgB,CAAC,CAA6D,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/J;AACD,IAAA,aAAa,CAAC,CAAuD,EAAA;AACjE,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAClJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACrD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAA2D,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,oCAAoC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;AACD,IAAA,mBAAmB,CAAC,CAAmE,EAAA;AACnF,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACjK;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnK;AACD,IAAA,4BAA4B,CAAC,CAAqF,EAAA;AAC9G,QAAA,MAAM,OAAO,GAAG,CAAuC,CAAE,CAAC,SAAS,IAA0C,CAAE,GAAG,IAAI,mCAAmC,CAAC,CAAC,CAAC,CAAC;QAC7J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC1K;AACD,IAAA,8BAA8B,CAAC,CAAyF,EAAA;AACpH,QAAA,MAAM,OAAO,GAAG,CAAyC,CAAE,CAAC,SAAS,IAA4C,CAAE,GAAG,IAAI,qCAAqC,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,4DAA4D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC5K;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnK;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,gDAAgD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAChK;AACD,IAAA,4BAA4B,CAAC,CAAqF,EAAA;AAC9G,QAAA,MAAM,OAAO,GAAG,CAAuC,CAAE,CAAC,SAAS,IAA0C,CAAE,GAAG,IAAI,mCAAmC,CAAC,CAAC,CAAC,CAAC;QAC7J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC1K;AACD,IAAA,2BAA2B,CAAC,CAAmF,EAAA;AAC3G,QAAA,MAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,yDAAyD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACzK;AACD,IAAA,gBAAgB,CAAC,CAA6D,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnK;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/J;AACD,IAAA,4BAA4B,CAAC,CAAqF,EAAA;AAC9G,QAAA,MAAM,OAAO,GAAG,CAAuC,CAAE,CAAC,SAAS,IAA0C,CAAE,GAAG,IAAI,mCAAmC,CAAC,CAAC,CAAC,CAAC;QAC7J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgD,IAAI,CAAC,KAAK,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChL,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oCAAoC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;KACT;AACD,IAAA,yBAAyB,CAAC,CAA+E,EAAA;AACrG,QAAA,MAAM,OAAO,GAAG,CAAoC,CAAE,CAAC,SAAS,IAAuC,CAAE,GAAG,IAAI,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,uDAAuD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACvK;AACD,IAAA,wCAAwC,CAAC,CAA6G,EAAA;AAClJ,QAAA,MAAM,OAAO,GAAG,CAAmD,CAAE,CAAC,SAAS,IAAsD,CAAE,GAAG,IAAI,+CAA+C,CAAC,CAAC,CAAC,CAAC;QACjM,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,sEAAsE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACtL;AACD,IAAA,gBAAgB,CAAC,CAA6D,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,gBAAgB,CAAC,CAA6D,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;;+GA/JQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA,CAAA;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC9FhC;MAyBa,uBAAuB,CAAA;IAGhC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,gBAAgB,CAAC,CAA6D,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC7J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,oDAAoD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACpK;AACD,IAAA,uBAAuB,CAAC,CAA2E,EAAA;AAC/F,QAAA,MAAM,OAAO,GAAG,CAAkC,CAAE,CAAC,SAAS,IAAqC,CAAE,GAAG,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAC9I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,0DAA0D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC1K;;oHA7BQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADX,MAAM,EAAA,CAAA,CAAA;2FAClB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACxBhC;MAiEa,iBAAiB,CAAA;IAG1B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,IAAI,CAAC,CAAmD,EAAA;AACpD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;AACD,IAAA,SAAS,CAAC,CAA6D,EAAA;AACnE,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,UAAU,CAAC,CAAiE,EAAA;AACxE,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,KAAK,GAAG,uCAAuC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;KACT;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsC,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC3J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;KACT;AACD,IAAA,gBAAgB,CAAC,CAA6D,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,6CAA6C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACvJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,kBAAkB,CAAC,CAAiE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA6B,CAAE,CAAC,SAAS,IAAgC,CAAE,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/J;AACD,IAAA,aAAa,CAAC,CAAqE,EAAA;AAC/E,QAAA,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,KAAK,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;KACT;AACD,IAAA,aAAa,CAAC,CAAqE,EAAA;AAC/E,QAAA,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC1J;AACD,IAAA,YAAY,CAAC,CAAqD,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC/I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,kDAAkD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACjK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,uBAAuB,CAAC,CAAyF,EAAA;AAC7G,QAAA,MAAM,OAAO,GAAG,CAAyC,CAAE,CAAC,SAAS,IAA4C,CAAE,GAAG,IAAI,qCAAqC,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkD,IAAI,CAAC,KAAK,GAAG,oDAAoD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5K,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;KACT;AACD,IAAA,oBAAoB,CAAC,CAAmF,EAAA;AACpG,QAAA,MAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACjK;AACD,IAAA,iBAAiB,CAAC,CAA6E,EAAA;AAC3F,QAAA,MAAM,OAAO,GAAG,CAAmC,CAAE,CAAC,SAAS,IAAsC,CAAE,GAAG,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC;QACjJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4C,IAAI,CAAC,KAAK,GAAG,8CAA8C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChE,CAAC;KACT;AACD,IAAA,cAAc,CAAC,CAAyD,EAAA;AACpE,QAAA,MAAM,OAAO,GAAG,CAAyB,CAAE,CAAC,SAAS,IAA4B,CAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC3J;;8GApGQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AChEhC;MA2Ca,iBAAiB,CAAA;IAG1B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,cAAc,CAAC,CAAuE,EAAA;AAClF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,YAAY,CAAC,CAAmE,EAAA;AAC5E,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACzJ;AACD,IAAA,YAAY,CAAC,CAAmE,EAAA;AAC5E,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACzJ;AACD,IAAA,oBAAoB,CAAC,CAAmF,EAAA;AACpG,QAAA,MAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+C,IAAI,CAAC,KAAK,GAAG,iDAAiD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mCAAmC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;KACT;AACD,IAAA,sBAAsB,CAAC,CAAyE,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA0C,IAAI,CAAC,KAAK,GAAG,mDAAmD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACnK,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9D,CAAC;KACT;AACD,IAAA,2BAA2B,CAAC,CAAmF,EAAA;AAC3G,QAAA,MAAM,OAAO,GAAG,CAAsC,CAAE,CAAC,SAAS,IAAyC,CAAE,GAAG,IAAI,kCAAkC,CAAC,CAAC,CAAC,CAAC;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,wDAAwD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACxK;AACD,IAAA,mCAAmC,CAAC,CAAmG,EAAA;AACnI,QAAA,MAAM,OAAO,GAAG,CAA8C,CAAE,CAAC,SAAS,IAAiD,CAAE,GAAG,IAAI,0CAA0C,CAAC,CAAC,CAAC,CAAC;QAClL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,gEAAgE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAChL;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACrJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAAyE,EAAA;AACrF,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,4CAA4C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC5J;;8GA9DQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC1ChC;MAuBa,iBAAiB,CAAA;IAG1B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnJ;AACD,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnJ;AACD,IAAA,MAAM,CAAC,CAAuD,EAAA;AAC1D,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnJ;;8GA1BQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MAuBa,wBAAwB,CAAA;IAGjC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,gCAAgC,CAAC,CAA+E,EAAA;AAC5G,QAAA,MAAM,OAAO,GAAG,CAAoC,CAAE,CAAC,SAAS,IAAuC,CAAE,GAAG,IAAI,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoD,IAAI,CAAC,KAAK,GAAG,oEAAoE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9L,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wCAAwC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;KACT;AACD,IAAA,8BAA8B,CAAC,CAA+E,EAAA;AAC1G,QAAA,MAAM,OAAO,GAAG,CAAoC,CAAE,CAAC,SAAS,IAAuC,CAAE,GAAG,IAAI,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkD,IAAI,CAAC,KAAK,GAAG,kEAAkE,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1L,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;KACT;;qHA5BQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADZ,MAAM,EAAA,CAAA,CAAA;2FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MAiCa,kBAAkB,CAAA;IAG3B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,IAAI,CAAC,CAAqD,EAAA;AACtD,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;AACD,IAAA,yBAAyB,CAAC,CAA+E,EAAA;AACrG,QAAA,MAAM,OAAO,GAAG,CAAoC,CAAE,CAAC,SAAS,IAAuC,CAAE,GAAG,IAAI,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6C,IAAI,CAAC,KAAK,GAAG,uDAAuD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1K,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,iCAAiC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACjE,CAAC;KACT;AACD,IAAA,iBAAiB,CAAC,CAA+D,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,CAA4B,CAAE,CAAC,SAAS,IAA+B,CAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5H,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqC,IAAI,CAAC,KAAK,GAAG,+CAA+C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACzD,CAAC;KACT;AACD,IAAA,KAAK,CAAC,CAAuD,EAAA;AACzD,QAAA,MAAM,OAAO,GAAG,CAAwB,CAAE,CAAC,SAAS,IAA2B,CAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,mCAAmC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACnJ;AACD,IAAA,IAAI,CAAC,CAAqD,EAAA;AACtD,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAClJ;;+GA3CQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADN,MAAM,EAAA,CAAA,CAAA;2FAClB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AChChC;MA6Ba,0BAA0B,CAAA;IAGnC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,sBAAsB,CAAC,CAA+C,EAAA;AAClE,QAAA,MAAM,OAAO,GAAG,CAAoB,CAAE,CAAC,SAAS,IAAuB,CAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4B,IAAI,CAAC,KAAK,GAAG,4DAA4D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;KACT;AACD,IAAA,sBAAsB,CAAC,CAAyE,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4B,IAAI,CAAC,KAAK,GAAG,4DAA4D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;KACT;AACD,IAAA,mBAAmB,CAAC,CAAmE,EAAA;AACnF,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4B,IAAI,CAAC,KAAK,GAAG,yDAAyD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC3J,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;KACT;AACD,IAAA,qBAAqB,CAAC,CAAuE,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyC,IAAI,CAAC,KAAK,GAAG,2DAA2D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC1K,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;KACT;AACD,IAAA,sBAAsB,CAAC,CAAyE,EAAA;AAC5F,QAAA,MAAM,OAAO,GAAG,CAAiC,CAAE,CAAC,SAAS,IAAoC,CAAE,GAAG,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAC3I,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,4DAA4D,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC5K;;uHA9CQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADd,MAAM,EAAA,CAAA,CAAA;2FAClB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC5BhC;MAuBa,gBAAgB,CAAA;IAGzB,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,MAAM,CAAC,CAAqD,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAClJ;AACD,IAAA,IAAI,CAAC,CAAmD,EAAA;AACpD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,gCAAgC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACrI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;;6GAzBQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADJ,MAAM,EAAA,CAAA,CAAA;2FAClB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MAuBa,qCAAqC,CAAA;IAG9C,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,GAAG,CAAC,CAAyF,EAAA;AACzF,QAAA,MAAM,OAAO,GAAG,CAAyC,CAAE,CAAC,SAAS,IAA4C,CAAE,GAAG,IAAI,qCAAqC,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkD,IAAI,CAAC,KAAK,GAAG,oDAAoD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5K,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,sCAAsC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAA+F,EAAA;AAClG,QAAA,MAAM,OAAO,GAAG,CAA4C,CAAE,CAAC,SAAS,IAA+C,CAAE,GAAG,IAAI,wCAAwC,CAAC,CAAC,CAAC,CAAC;QAC5K,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,uDAAuD,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACvK;;kIAzBQ,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArC,qCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cADzB,MAAM,EAAA,CAAA,CAAA;2FAClB,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MAuBa,yBAAyB,CAAA;IAGlC,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,MAAM,CAAC,CAAuE,EAAA;AAC1E,QAAA,MAAM,OAAO,GAAG,CAAgC,CAAE,CAAC,SAAS,IAAmC,CAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC3J;AACD,IAAA,IAAI,CAAC,CAAmE,EAAA;AACpE,QAAA,MAAM,OAAO,GAAG,CAA8B,CAAE,CAAC,SAAS,IAAiC,CAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAClI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuC,IAAI,CAAC,KAAK,GAAG,yCAAyC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;KACT;;sHAzBQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cADb,MAAM,EAAA,CAAA,CAAA;2FAClB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACtBhC;MA2Ba,sBAAsB,CAAA;IAG/B,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,IAAI,CAAC,CAA6D,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAChJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxD,CAAC;KACT;AACD,IAAA,IAAI,CAAC,CAA6D,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAA2B,CAAE,CAAC,SAAS,IAA8B,CAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,sCAAsC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACtJ;AACD,IAAA,GAAG,CAAC,CAA2D,EAAA;AAC3D,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,qCAAqC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9I,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;;mHAhCQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADV,MAAM,EAAA,CAAA,CAAA;2FAClB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AC1BhC;MAmCa,aAAa,CAAA;IAGtB,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,SAAS,CAAC,CAAqD,EAAA;AAC3D,QAAA,MAAM,OAAO,GAAG,CAAuB,CAAE,CAAC,SAAS,IAA0B,CAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgC,IAAI,CAAC,KAAK,GAAG,kCAAkC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAA+C,EAAA;AAClD,QAAA,MAAM,OAAO,GAAG,CAAoB,CAAE,CAAC,SAAS,IAAuB,CAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+BAA+B,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/I;AACD,IAAA,QAAQ,CAAC,CAAmD,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,CAAsB,CAAE,CAAC,SAAS,IAAyB,CAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA+B,IAAI,CAAC,KAAK,GAAG,iCAAiC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACtI,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;KACT;AACD,IAAA,MAAM,CAAC,CAA+C,EAAA;AAClD,QAAA,MAAM,OAAO,GAAG,CAAoB,CAAE,CAAC,SAAS,IAAuB,CAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,+BAA+B,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAC/I;AACD,IAAA,IAAI,CAAC,CAA2C,EAAA;AAC5C,QAAA,MAAM,OAAO,GAAG,CAAkB,CAAE,CAAC,SAAS,IAAqB,CAAE,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2B,IAAI,CAAC,KAAK,GAAG,6BAA6B,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AAC9H,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;KACT;AACD,IAAA,OAAO,CAAC,CAAiD,EAAA;AACrD,QAAA,MAAM,OAAO,GAAG,CAAqB,CAAE,CAAC,SAAS,IAAwB,CAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,IAAI,CAAC,KAAK,GAAG,gCAAgC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,EAAE,OAAO,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KAChJ;;0GA/CQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADD,MAAM,EAAA,CAAA,CAAA;2FAClB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;AClChC;MAyBa,gBAAgB,CAAA;IAGzB,WAAoB,CAAA,IAAgB,EAAU,WAAwB,EAAA;AAAlD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAF9D,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;KAG/C;IAEO,UAAU,GAAA;QACd,OAAO;YACH,OAAO,EAAE,IAAI,WAAW,CAAC;AACrB,gBAAA,cAAc,EAAE,kBAAkB;aACrC,CAAC;AACF,YAAA,eAAe,EAAE,IAAI;SACxB,CAAC;KACL;AAED,IAAA,cAAc,CAAC,CAAqE,EAAA;AAChF,QAAA,MAAM,OAAO,GAAG,CAA+B,CAAE,CAAC,SAAS,IAAkC,CAAE,GAAG,IAAI,2BAA2B,CAAC,CAAC,CAAC,CAAC;QACrI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwC,IAAI,CAAC,KAAK,GAAG,0CAA0C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACxJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC5D,CAAC;KACT;AACD,IAAA,eAAe,CAAC,CAA2D,EAAA;AACvE,QAAA,MAAM,OAAO,GAAG,CAA0B,CAAE,CAAC,SAAS,IAA6B,CAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmC,IAAI,CAAC,KAAK,GAAG,2CAA2C,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACpJ,aAAA,IAAI,CACD,GAAG,CAAC,IAAI,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;KACT;;6GA5BQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADJ,MAAM,EAAA,CAAA,CAAA;2FAClB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACxBhC;;ACAA;;AAEG;;;;"}
|