{"version":3,"sources":["./src/app/components/dialogs/ask-configure-your-device/ask-configure-device-popup-service.service.ts","./src/app/components/dialogs/email-receipt-thankyou-dialog/email-receipt-thankyou-dialog.component.ts","./src/app/components/dialogs/email-receipt-thankyou-dialog/email-receipt-thankyou-dialog.component.html","./src/app/models/payment-type.ts","./src/app/components/dialogs/customer-welcome-modal/customer-welcome-modal.component.html","./src/app/components/dialogs/customer-welcome-modal/customer-welcome-modal.component.ts","./src/app/services/kiosk-upgrade.service.ts","./src/app/components/dialogs/flex-pairing/flex-pairing.component.ts","./src/app/components/dialogs/flex-pairing/flex-pairing.component.html","./src/app/components/dialogs/alcoholic-item-exceed-max/alcoholic-item-exceed-max.component.ts","./src/app/components/dialogs/alcoholic-item-exceed-max/alcoholic-item-exceed-max.component.html","./src/app/components/dialogs/payment-error/payment-error-dialog.service.ts","./src/app/services/dejavoo.service.ts","./src/app/services/network-guard.service.ts","./src/app/components/menu/menu.component.ts","./src/app/components/menu/menu.component.html","./src/app/components/box-builder/box-builder-combo/box-ingredient/box-ingredient.component.ts","./src/app/components/box-builder/box-builder-combo/box-ingredient/box-ingredient.component.html","ws (ignored)","./src/app/components/item-normal-mode/item-normal-mode-header/item-normal-mode-header.component.ts","./src/app/components/item-normal-mode/item-normal-mode-header/item-normal-mode-header.component.html","./src/app/services/verifone-evo.service.ts","./src/app/components/dialogs/smb-discounts-code/smb-discounts-code.component.html","./src/app/components/dialogs/smb-discounts-code/smb-discounts-code.component.ts","./src/app/components/settings/settings.component.ts","./src/app/components/settings/settings.component.html","./src/app/components/dialogs/printing-progress-popup/printing-progress-popup.component.ts","./src/app/components/dialogs/printing-progress-popup/printing-progress-popup.component.html","./src/app/components/dialogs/brand-filter/brand-filter.component.ts","./src/app/components/dialogs/brand-filter/brand-filter.component.html","./src/app/components/optin-marketing/optin-marketing.component.ts","./src/app/components/optin-marketing/optin-marketing.component.html","./src/app/services/clover.service.ts","./src/app/components/last-five-order/last-five-order.component.ts","./src/app/components/last-five-order/last-five-order.component.html","./src/app/models/ItemTagFilterMaster.ts","./src/app/components/dialogs/email-receipt-dialog/email-receipt-dialog.component.ts","./src/app/components/dialogs/email-receipt-dialog/email-receipt-dialog.component.html","./src/app/services/item-transfer.service.ts","./src/app/CustomTools/currency.pipe.ts","./src/app/models/Guid.ts","./src/app/components/dialogs/downloading-popup/downloading-popup.service.ts","./src/app/components/settings/settings-reports/settings-reports.component.ts","./src/app/components/settings/settings-reports/settings-reports.component.html","./src/app/components/dialogs/error-msg-popup/error-msg-popup.component.ts","./src/app/components/dialogs/error-msg-popup/error-msg-popup.component.html","./src/app/components/dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component.ts","./src/app/components/dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component.html","./src/app/components/dialogs/concessionaire-closed/concessionaire-closed.component.ts","./src/app/components/dialogs/concessionaire-closed/concessionaire-closed.component.html","./src/app/components/dialogs/connection-loss-popup/connection-loss-popup.component.ts","./src/app/components/dialogs/connection-loss-popup/connection-loss-popup.component.html","./src/app/services/schedule-pricing.service.ts","./src/app/components/dialogs/item-full-description/item-full-description.component.ts","./src/app/components/dialogs/item-full-description/item-full-description.component.html","./src/app/components/dialogs/update-menu/update-menu-model.service.ts","./src/app/services/loader.service.ts","./src/app/components/dialogs/item-weight/item-weight.component.ts","./src/app/components/dialogs/item-weight/item-weight.component.html","./src/app/components/box-builder/box-builder-footer/box-builder-footer.component.ts","./src/app/components/box-builder/box-builder-footer/box-builder-footer.component.html","./src/app/components/dialogs/are-you-sure/are-you-sure.component.ts","./src/app/components/dialogs/are-you-sure/are-you-sure.component.html","./src/app/components/branch-login/branch-login.component.ts","./src/app/components/branch-login/branch-login.component.html","./src/app/services/currency.service.ts","./src/app/services/loyalty.service.ts","./src/app/components/dialogs/refund-success/refund-success.component.ts","./src/app/components/dialogs/refund-success/refund-success.component.html","./src/app/services/pusher.service.ts","./src/app/components/combo-group-container/combogroup/combogroup.component.ts","./src/app/components/combo-group-container/combogroup/combogroup.component.html","./src/app/components/item-builder-mode/builder-mode-header/builder-mode-header.component.ts","./src/app/components/item-builder-mode/builder-mode-header/builder-mode-header.component.html","./src/app/components/scan-cart-item/scan-cart-item.component.ts","./src/app/components/scan-cart-item/scan-cart-item.component.html","./src/app/components/dialogs/order-type-warning/order-type-warning.component.ts","./src/app/components/dialogs/order-type-warning/order-type-warning.component.html","./src/app/CustomTools/number-convert.pipe.ts","./src/app/components/dialogs/smb-discounts-alert/smb-discounts-alert.component.ts","./src/app/components/dialogs/smb-discounts-alert/smb-discounts-alert.component.html","./src/app/components/dialogs/pay-with-idcard-login/pay-with-idcard-login.component.ts","./src/app/components/dialogs/pay-with-idcard-login/pay-with-idcard-login.component.html","./src/app/components/dialogs/item-tent-popup/item-tent-popup.component.ts","./src/app/components/dialogs/item-tent-popup/item-tent-popup.component.html","./src/app/services/verifone3C.service.ts","./src/app/shared/order-custom-messages/order-custom-messages.component.ts","./src/app/shared/order-custom-messages/order-custom-messages.component.html","./src/app/components/touch-to-start/touch-to-start.component.ts","./src/app/components/touch-to-start/touch-to-start.component.html","./src/app/services/integration.service.ts","./src/environments/environment.test.ts","./src/app/services/logout.service.ts","./src/app/components/box-builder/box-builder.component.ts","./src/app/components/box-builder/box-builder.component.html","./src/app/components/dialogs/payment-error/payment-error.component.ts","./src/app/components/dialogs/payment-error/payment-error.component.html","./src/app/components/dialogs/usconnect-account-not-found/usconnect-account-not-found.component.html","./src/app/components/dialogs/usconnect-account-not-found/usconnect-account-not-found.component.ts","./src/app/components/dialogs/upgrade-kiosk-app/upgrade-kiosk-app.component.ts","./src/app/components/dialogs/upgrade-kiosk-app/upgrade-kiosk-app.component.html","./src/app/components/dialogs/olo-apply-remove-discount-popup/olo-apply-remove-discount-popup.component.html","./src/app/components/dialogs/olo-apply-remove-discount-popup/olo-apply-remove-discount-popup.component.ts","./src/app/components/search-scannable-item/search-scannable-item.component.ts","./src/app/components/search-scannable-item/search-scannable-item.component.html","./src/app/components/dialogs/ask-device-name/ask-device-name.component.ts","./src/app/components/dialogs/ask-device-name/ask-device-name.component.html","./src/app/components/item-footer/item-footer.component.ts","./src/app/components/item-footer/item-footer.component.html","./src/app/services/login.service.ts","./src/app/components/box-builder-item/box-builder-item-footer/box-builder-item-footer.component.ts","./src/app/components/box-builder-item/box-builder-item-footer/box-builder-item-footer.component.html","./src/app/services/data.service.ts","./src/app/components/cart-items/cart-items.component.ts","./src/app/components/cart-items/cart-items.component.html","./src/app/components/modifier-container/modifier/ingredient/ingredient.component.ts","./src/app/components/modifier-container/modifier/ingredient/ingredient.component.html","./src/app/services/usconnect.service.ts","./src/app/components/variation-container/variation-container.component.ts","./src/app/components/variation-container/variation-container.component.html","./src/app/components/dialogs/item-switch-warning/item-switch-warning.component.ts","./src/app/components/dialogs/item-switch-warning/item-switch-warning.component.html","./src/app/components/dialogs/custominfo-popup/custominfo-popup.component.ts","./src/app/components/dialogs/custominfo-popup/custominfo-popup.component.html","./src/app/services/common.ts","./src/app/components/dialogs/up-sell-dialog/up-sell-dialog.component.ts","./src/app/components/dialogs/up-sell-dialog/up-sell-dialog.component.html","./src/app/resources/strings-en.ts","./src/app/components/dialogs/usconnect-balance-low/usconnect-balance-low.component.ts","./src/app/components/dialogs/usconnect-balance-low/usconnect-balance-low.component.html","./src/app/components/dialogs/ask-configure-your-device/ask-configure-your-device.component.ts","./src/app/components/dialogs/ask-configure-your-device/ask-configure-your-device.component.html","./src/app/components/dialogs/level-up-modal/level-up-modal.component.ts","./src/app/components/dialogs/level-up-modal/level-up-modal.component.html","./src/app/services/preloader.service.ts","./src/app/components/dialogs/refund-success/refund-success-dialog.service.ts","./src/app/services/date.service.ts","./src/app/animations.ts","./src/app/components/settings/settings-z-report/settings-z-report.component.ts","./src/app/components/settings/settings-z-report/settings-z-report.component.html","./src/app/components/dialogs/ask-device-name/ask-device-name-popup.service.ts","./src/app/components/soft-keyboard/soft-keyboard.component.ts","./src/app/components/soft-keyboard/soft-keyboard.component.html","./src/app/components/dialogs/payment-device/payment-device.component.ts","./src/app/components/dialogs/payment-device/payment-device.component.html","./src/app/services/api/Models.ts","./src/app/components/order-review/order-review.component.ts","./src/app/components/order-review/order-review.component.html","./src/app/components/dialogs/payment-success/payment-success.component.ts","./src/app/components/dialogs/payment-success/payment-success.component.html","./src/app/components/dialogs/general-alert/general-alert.component.ts","./src/app/components/dialogs/general-alert/general-alert.component.html","./src/app/services/kds.service.ts","./src/app/components/dialogs/logout-confirmation-dialog/logout-confirmation-dialog.component.ts","./src/app/components/dialogs/logout-confirmation-dialog/logout-confirmation-dialog.component.html","./src/app/components/item-builder-mode/item-builder-mode.component.ts","./src/app/components/item-builder-mode/item-builder-mode.component.html","./src/app/components/settings/settings-generalsettings/settings-generalsettings.component.ts","./src/app/components/settings/settings-generalsettings/settings-generalsettings.component.html","./src/app/services/cancel-payment.service.ts","./src/app/components/dialogs/filter-concessionaire/filter-concessionaire.component.ts","./src/app/components/dialogs/filter-concessionaire/filter-concessionaire.component.html","./src/app/components/dialogs/olo-error-popup/olo-error-popup.component.ts","./src/app/components/dialogs/olo-error-popup/olo-error-popup.component.html","./src/app/components/dialogs/scanned-item-added/scanned-item-added.component.ts","./src/app/components/dialogs/scanned-item-added/scanned-item-added.component.html","./src/app/services/order-history.service.ts","./src/app/components/dialogs/discount-confirmation/discount-confirmation.component.html","./src/app/components/dialogs/discount-confirmation/discount-confirmation.component.ts","./src/app/services/verifone.service.ts","./src/app/components/item-individual/item-individual.component.ts","./src/app/components/item-individual/item-individual.component.html","./src/app/services/tip.service.ts","./src/app/components/settings/settings-gross-sales/settings-gross-sales.component.html","./src/app/components/settings/settings-gross-sales/settings-gross-sales.component.ts","./src/app/components/dialogs/update-menu/update-menu.component.ts","./src/app/components/dialogs/update-menu/update-menu.component.html","./src/app/CustomTools/postInterceptor.ts","./src/app/services/http.service.ts","./src/app/components/dialogs/scanning-item/scanning-item.component.ts","./src/app/components/dialogs/scanning-item/scanning-item.component.html","./src/app/components/dialogs/promo-code/promo-code.component.ts","./src/app/components/dialogs/promo-code/promo-code.component.html","./src/app/services/eat-options.service.ts","./src/app/components/concessionaire-grid/concessionaire-grid.component.ts","./src/app/components/concessionaire-grid/concessionaire-grid.component.html","./src/app/components/payment-total-row/payment-total-row.component.html","./src/app/components/payment-total-row/payment-total-row.component.ts","./src/app/shared/shared.module.ts","./src/app/components/item-builder-mode/item-builder-mode-selection/item-builder-mode-selection.component.ts","./src/app/components/item-builder-mode/item-builder-mode-selection/item-builder-mode-selection.component.html","./src/app/components/dialogs/redeem-reward/redeem-reward.component.ts","./src/app/components/dialogs/redeem-reward/redeem-reward.component.html","./src/app/components/scan-checkout-box/scan-checkout-box.component.ts","./src/app/components/scan-checkout-box/scan-checkout-box.component.html","./src/app/components/settings/settings-order-history/settings-order-history.component.ts","./src/app/components/settings/settings-order-history/settings-order-history.component.html","./src/app/components/dialogs/terms-conditions-pdf/terms-conditions-pdf.component.ts","./src/app/components/dialogs/terms-conditions-pdf/terms-conditions-pdf.component.html","./src/app/components/settings/settings-payment/settings-payment.component.ts","./src/app/components/settings/settings-payment/settings-payment.component.html","./src/app/services/olo.service.ts","./src/app/components/coming-soon/coming-soon.component.ts","./src/app/components/coming-soon/coming-soon.component.html","./src/app/components/dialogs/payment-insert/payment-insert.service.ts","./src/app/components/cart/cart.component.ts","./src/app/components/cart/cart.component.html","./src/app/services/sms.service.ts","./src/app/components/dialogs/olo-punchh-reward-invalidation-popup/olo-punchh-reward-invalidation-popup.component.ts","./src/app/components/dialogs/olo-punchh-reward-invalidation-popup/olo-punchh-reward-invalidation-popup.component.html","./src/app/services/offline-order.service.ts","./src/app/components/item-bowl-mode/bowlmode-selection/bowlmode-selection.component.ts","./src/app/components/item-bowl-mode/bowlmode-selection/bowlmode-selection.component.html","./src/app/components/timeout/timeout.component.ts","./src/app/components/timeout/timeout.component.html","./src/app/shared/shared-routing.module.ts","./src/app/components/dialogs/table-tent-popup/table-tent-popup.component.ts","./src/app/components/dialogs/table-tent-popup/table-tent-popup.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/components/dialogs/alcoholic-over21-dialog/alcoholic-over21-dialog.component.ts","./src/app/components/dialogs/alcoholic-over21-dialog/alcoholic-over21-dialog.component.html","./src/app/components/dialogs/terms-condition-qr-url-both/terms-condition-qr-url-both.component.ts","./src/app/components/dialogs/terms-condition-qr-url-both/terms-condition-qr-url-both.component.html","./src/app/components/item-normal-mode/item-normal-mode.component.ts","./src/app/components/item-normal-mode/item-normal-mode.component.html","./src/app/services/ItemService.ts","./src/app/services/printer.service.ts","./src/app/components/settings/settings-store-timings/settings-store-timings.component.ts","./src/app/components/settings/settings-store-timings/settings-store-timings.component.html","./src/app/components/scan-cart/scan-cart.component.ts","./src/app/components/scan-cart/scan-cart.component.html","./src/app/services/store-time.service.ts","./src/app/models/vwOrderCustomMessege.ts","./src/app/components/dialogs/alcoholic-items-dialog/alcoholic-items-dialog.component.ts","./src/app/components/dialogs/alcoholic-items-dialog/alcoholic-items-dialog.component.html","./src/app/components/modifier-container/modifier/modifier.component.ts","./src/app/components/modifier-container/modifier/modifier.component.html","./src/app/components/item-bowl-mode/item-bowl-mode.component.ts","./src/app/components/item-bowl-mode/item-bowl-mode.component.html","./src/app/components/dialogs/tip-dialog/tip-dialog.component.ts","./src/app/components/dialogs/tip-dialog/tip-dialog.component.html","./src/app/components/box-builder/box-builder-header/box-builder-header.component.ts","./src/app/components/box-builder/box-builder-header/box-builder-header.component.html","./src/app/components/dialogs/par-brink-error-pop-up/par-brink-error-pop-up.component.html","./src/app/components/dialogs/par-brink-error-pop-up/par-brink-error-pop-up.component.ts","./src/app/services/oracle.service.ts","./src/app/components/order-review/smb-discounts/smb-discounts.component.ts","./src/app/components/order-review/smb-discounts/smb-discounts.component.html","./src/app/CustomTools/debounce-click.directive.ts","./src/app/components/box-builder-item/box-builder-item-detail/box-builder-item-detail.component.ts","./src/app/components/box-builder-item/box-builder-item-detail/box-builder-item-detail.component.html","./src/app/components/network-error-page/network-error-page.component.ts","./src/app/components/network-error-page/network-error-page.component.html","./src/app/components/dialogs/general-confirmation-alert/general-confirmation-alert.component.html","./src/app/components/dialogs/general-confirmation-alert/general-confirmation-alert.component.ts","./src/app/services/shipping.service.ts","./src/app/components/box-builder-item/box-builder-item.component.ts","./src/app/components/box-builder-item/box-builder-item.component.html","./src/app/components/dialogs/retry-confirmation-dialog/retry-confirmation-dialog.component.ts","./src/app/components/dialogs/retry-confirmation-dialog/retry-confirmation-dialog.component.html","./src/app/components/dialogs/refund-confirmation/refund-confirmation.component.ts","./src/app/components/dialogs/refund-confirmation/refund-confirmation.component.html","./src/app/components/dialogs/terms-conditions-url/terms-conditions-url.component.ts","./src/app/components/dialogs/terms-conditions-url/terms-conditions-url.component.html","./src/app/services/par-brink.service.ts","./src/app/components/dialogs/returning-customer-dialog/returning-customer-dialog.component.ts","./src/app/components/dialogs/returning-customer-dialog/returning-customer-dialog.component.html","./src/app/app.module.ts","./src/app/services/database.service.ts","./src/app/services/scanner-hybrid-mode-service.service.ts","./src/app/components/combo-group-container/combogroup/items/items.component.ts","./src/app/components/combo-group-container/combogroup/items/items.component.html","./src/app/services/discount.service.ts","./src/app/components/dialogs/item-ask-name-popup/item-ask-name-popup.component.ts","./src/app/components/dialogs/item-ask-name-popup/item-ask-name-popup.component.html","./src/app/services/otter.service.ts","./src/app/CustomTools/function-call.pipe.ts","./src/app/components/dialogs/payment-success/payment-success-dialog.service.ts","./src/app/components/combo-group-container/combo-group-container.component.ts","./src/app/components/combo-group-container/combo-group-container.component.html","./src/app/components/dialogs/customer-login-popup/customer-login-popup.component.ts","./src/app/components/dialogs/customer-login-popup/customer-login-popup.component.html","./src/app/components/dialogs/usconnect-scan/usconnect-scan.component.ts","./src/app/components/dialogs/usconnect-scan/usconnect-scan.component.html","./src/app/components/settings/settings-health-log/settings-health-log.component.ts","./src/app/components/settings/settings-health-log/settings-health-log.component.html","./src/app/components/variation-container/variation/variation.component.ts","./src/app/components/variation-container/variation/variation.component.html","./src/app/components/dialogs/olototal-loader/olototal-loader.component.html","./src/app/components/dialogs/olototal-loader/olototal-loader.component.ts","./src/app/components/hybrid-section/hybrid-section.component.ts","./src/app/components/hybrid-section/hybrid-section.component.html","./src/app/CustomTools/keyboard.directive.ts","./src/app/components/dialogs/sold-out/sold-out.component.ts","./src/app/components/dialogs/sold-out/sold-out.component.html","./src/app/services/cart.service.ts","./src/app/services/generalSetting.service.ts","./src/app/components/manager-passcode/manager-passcode.component.ts","./src/app/components/manager-passcode/manager-passcode.component.html","./src/app/components/dialogs/terms-conditions-qr/terms-conditions-qr.component.ts","./src/app/components/dialogs/terms-conditions-qr/terms-conditions-qr.component.html","./src/app/models/OracleModels.ts","./src/app/services/item-tags.service.ts","./src/app/components/nested-modifier/nested-modifier.component.ts","./src/app/components/nested-modifier/nested-modifier.component.html","./src/app/services/order-detail.service.ts","./src/app/components/dialogs/usconnect-success/usconnect-success.component.ts","./src/app/components/dialogs/usconnect-success/usconnect-success.component.html","./src/app/services/cloud-order.service.ts","./src/app/loading/loading.component.ts","./src/app/loading/loading.component.html","./src/app/services/branch-login-stream-service.service.ts","./src/app/services/itemwise-sales.service.ts","./src/app/components/dialogs/item-selection/item-selection.component.ts","./src/app/components/dialogs/item-selection/item-selection.component.html","./src/app/services/set-default.service.ts","./src/app/components/dialogs/payment-insert/payment-insert.component.ts","./src/app/components/dialogs/payment-insert/payment-insert.component.html","./src/app/components/manager-pin-dialog/manager-pin-dialog.component.ts","./src/app/components/manager-pin-dialog/manager-pin-dialog.component.html","./src/app/components/modifier-container/modifier-container.component.ts","./src/app/components/modifier-container/modifier-container.component.html","./src/app/components/order-review/order-review-footer/order-review-footer.component.ts","./src/app/components/order-review/order-review-footer/order-review-footer.component.html","./src/app/components/dialogs/image-popup/image-popup.component.ts","./src/app/components/dialogs/image-popup/image-popup.component.html","./src/app/components/dialogs/failed-images/failed-images.component.ts","./src/app/components/dialogs/failed-images/failed-images.component.html","./src/app/components/out-of-stock/out-of-stock.component.ts","./src/app/components/out-of-stock/out-of-stock.component.html","./src/app/models/loyaltyModal.ts","./src/app/services/time-sync.service.ts","./src/app/services/masterguard.service.ts","./src/app/services/log.service.ts","./src/app/components/dialogs/customer-login-popup/customer-login-popup.service.ts","./src/app/components/payment-popup/payment-popup.component.ts","./src/app/components/payment-popup/payment-popup.component.html","./src/app/services/menu-item.service.ts","./src/app/components/dialogs/order-level-upsell-dialog/order-level-upsell-dialog.component.ts","./src/app/components/dialogs/order-level-upsell-dialog/order-level-upsell-dialog.component.html","./src/app/components/dialogs/upsell-combo-message/upsell-combo-message.component.ts","./src/app/components/dialogs/upsell-combo-message/upsell-combo-message.component.html","./src/app/components/dialogs/refresh-data-loading/refresh-data-loading.component.ts","./src/app/components/dialogs/refresh-data-loading/refresh-data-loading.component.html","./src/app/components/dialogs/special-request-dialog/special-request-dialog.component.ts","./src/app/components/dialogs/special-request-dialog/special-request-dialog.component.html","./src/app/CustomTools/replace-text.pipe.ts","./src/app/services/language.service.ts","./src/app/components/combo-item-popup/combo-item-popup.component.ts","./src/app/components/combo-item-popup/combo-item-popup.component.html","./src/app/components/dialogs/usconnect-account-found/usconnect-account-found.component.html","./src/app/components/dialogs/usconnect-account-found/usconnect-account-found.component.ts","./src/app/components/dialogs/tax-info/tax-info.component.html","./src/app/components/dialogs/tax-info/tax-info.component.ts","./src/app/DatabaseHandler.ts","./src/app/services/image.service.ts","./src/app/components/box-builder/box-builder-review/box-builder-item-review.component.ts","./src/app/components/box-builder/box-builder-review/box-builder-item-review.component.html","./src/app/models/BranchLoginModels.ts","./src/app/components/settings/settings-itemwise-sales-report/settings-itemwise-sales-report.component.ts","./src/app/components/settings/settings-itemwise-sales-report/settings-itemwise-sales-report.component.html","./src/app/services/payment-types.service.ts","./src/app/components/settings/settings-items/settings-items.component.ts","./src/app/components/settings/settings-items/settings-items.component.html","./src/app/components/settings/concessionaire-setting/concessionaire-setting.component.ts","./src/app/components/settings/concessionaire-setting/concessionaire-setting.component.html","./src/app/services/upsell.service.ts","./src/app/services/keyboard.service.ts","./src/app/services/payment-gatway.service.ts","./src/app/components/dialogs/items86-popup/items86-popup.component.ts","./src/app/components/dialogs/items86-popup/items86-popup.component.html","./src/app/services/api/api.service.ts","./src/environments/version.ts","./src/app/components/settings/settings-deviceinfo/settings-deviceinfo.component.ts","./src/app/components/settings/settings-deviceinfo/settings-deviceinfo.component.html","./src/app/components/box-builder/box-builder-combo/box-builder-combo.component.ts","./src/app/components/box-builder/box-builder-combo/box-builder-combo.component.html","./src/app/models/message.ts","./src/app/services/user.service.ts","./src/app/services/NcrIntegration.ts","./src/app/services/save-settings.service.ts","./src/app/components/dialogs/downloading-popup/downloading-popup.component.ts","./src/app/components/dialogs/downloading-popup/downloading-popup.component.html","./src/app/services/lastfiveorder.service.ts","./src/app/models/item.ts","./src/app/components/dialogs/shipping-modal/shipping-modal.component.ts","./src/app/components/dialogs/shipping-modal/shipping-modal.component.html","./src/app/components/checkout-box/checkout-box.component.ts","./src/app/components/checkout-box/checkout-box.component.html","./src/app/components/forms/login-form/login-form.component.ts","./src/app/components/forms/login-form/login-form.component.html","./src/app/services/payment.service.ts","./src/app/services/chat.service.ts","./src/app/services/smb-discount.service.ts","./src/app/components/dialogs/ask-customer-receipt-dialog/ask-customer-receipt-dialog.component.ts","./src/app/components/dialogs/ask-customer-receipt-dialog/ask-customer-receipt-dialog.component.html","./src/app/components/order-review/order-review-promotions/order-review-promotions.component.ts","./src/app/components/order-review/order-review-promotions/order-review-promotions.component.html","./src/app/shared/concessionaire-select/concessionaire-select.component.html","./src/app/shared/concessionaire-select/concessionaire-select.component.ts","./src/app/services/kiosk-health-log.service.ts","./src/app/components/dialogs/usconnect-error/usconnect-error.component.ts","./src/app/components/dialogs/usconnect-error/usconnect-error.component.html","./src/app/app-routing.module.ts","./src/app/components/variation-container/variation/variation-option/variation-option.component.ts","./src/app/components/variation-container/variation/variation-option/variation-option.component.html","./src/app/components/menu/conc-service/concessionaire.service.ts","./src/app/components/order-review/orderreview.service.ts","./src/app/CustomTools/autofocus.directive.ts","./src/app/components/order-review/order-review-list/order-review-list.component.ts","./src/app/components/order-review/order-review-list/order-review-list.component.html","./src/app/components/order-review/orderreviewitem-list/orderreviewitem-list.component.ts","./src/app/components/order-review/orderreviewitem-list/orderreviewitem-list.component.html","./src/app/components/settings/settings-refresh-data/settings-refresh-data.component.ts","./src/app/components/settings/settings-refresh-data/settings-refresh-data.component.html","./src/app/components/item-tags-key/item-tags-key.component.ts","./src/app/components/item-tags-key/item-tags-key.component.html","./src/app/services/login-guard.service.ts","./src/app/services/is-kiosk.service.ts","./src/app/models/CloudOrderProductReq.ts","./src/app/components/dialogs/box-builder-full/box-builder-full.component.ts","./src/app/components/dialogs/box-builder-full/box-builder-full.component.html","./src/main.ts","./src/app/components/dialogs/choose-donut-customize-popup/choose-donut-customize-popup.component.ts","./src/app/components/dialogs/choose-donut-customize-popup/choose-donut-customize-popup.component.html","./src/app/services/flex-pairing.service.ts","./src/app/components/thankyou-popup/thankyou-popup.component.ts","./src/app/components/thankyou-popup/thankyou-popup.component.html","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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C;AACjB;AACK;AAC6B;AACpB;AACX;AACH;AACG;AACG;AACuB;AACtC;AAC6B;AACe;AAClD;AACuB;AACvB;AACM;AACG;AACmC;AACW;AACjB;AACjB;AACH;AACS;AACvB;AACsC;AACuB;AAC/C;AACjB;AACY;AACuC;AACrC;AACT;AACM;AAC+C;AAC3C;AACK;AACxC;AACyC;AACK;AACf;AACC;AACwB;AACN;AACkB;AAC7C;AACD;AACI;AACiC;AACe;AACb;AACjB;AAC8C;AACvB;AACjB;AACc;AACd;AACiB;AACf;AACxC;AACiB;AACpB;AACmB;AACO;AACmB;AACV;AAC2B;AAC9B;AACD;AACN;AAC0B;AACN;AACtD;AACe;AACa;AAC4B;AACnD;AAC6B;AACwB;AACN;AACf;AACoB;AACiD;AACxE;AACN;AAC6B;AAC1H,6HAA6H;AACxC;AACyD;AACzB;AACA;AACrH,0IAA0I;AACd;AAC0B;AAC3C;AACO;AACa;AACS;AACrC;AACpC;AAC4B;AACtB;AACiC;AACF;AACyB;AAChB;AACtC;AAEwD;AAClC;AAC9B;AACT;AACwC;AACQ;AACH;AACe;AACD;AAC3C;AAChB;AACkD;AACqB;AACF;AAC3B;AAC2B;AAC1B;AACmB;AACpH,oDAAoD;AACQ;AAC2D;AACmB;AACnB;AACvH,oDAAoD;AACkD;AACpC;AACuD;AACzB;AACS;AACD;AACS;AACG;AACgB;AACtB;AACO;AACiB;AAChC;AACvB;AACc;AACnD;AACD;;;;;;;;;;;;AAnMzC,0EAAkB,CAAC,oEAAU,EAAE,0EAAe,CAAC,CAAC;AAoMhD,MAAM,MAAM,GAAmB,EAAE,GAAG,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AA6NtE,MAAM,SAAS;IACpB,YAAY,KAA0B,IAAI,CAAC;;kEADhC,SAAS;wFAAT,SAAS,cAHR,4DAAY;6FAtBb;QACT,EAAE,OAAO,EAAE,mFAA0B,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;YACxE,OAAO,EAAE,0DAAY;YACrB,QAAQ,EAAE,oEAAyB,CAAC;gBAClC,UAAU,EAAE,KAAK;aAClB,CAAC;SACH;QACD;YACE,OAAO,EAAE,8DAAmB;YAC5B,IAAI,EAAE,CAAC,wDAAM,CAAC;SACf;QACD;YACE,OAAO,EAAE,6DAAe;YACxB,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;YAC1B,IAAI,EAAE,CAAC,8DAAmB,CAAC;YAC3B,KAAK,EAAE,IAAI;SACZ;QACD,wDAAQ;QACR,0EAAc;QACd,oEAAW;QACX,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,qFAAe,EAAE,KAAK,EAAE,IAAI,EAAE;KACvE,YA9CQ;YACP,wEAAa;YACb,qEAAgB;YAChB,wEAAe;YACf,6FAAuB;YACvB,qEAAa;YACb,qEAAS;YACT,0DAAW;YACX,kEAAmB;YACnB,qEAAgB;YAChB,yEAAe;YACf,+EAAkB;YAClB,gFAAmB;YACnB,sEAAe;YACf,0EAAmB;YACnB,uDAAa,CAAC,OAAO,EAAE;YACvB,yEAAqB,CAAC,OAAO,EAAE;YAC/B,uDAAa,CAAC,OAAO,EAAE;YACvB,2DAAY,CAAC,OAAO,EAAE;YACtB,iEAAkB;YAClB,oEAAY;YACZ,8DAAc,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9B,2EAAe;SAEhB;mIA0BU,SAAS,mBA1NlB,2IAA6B;QAC7B,mHAAqB;QACrB,qIAA2B;QAC3B,4DAAY;QACZ,qGAAoB;QACpB,iHAAwB;QACxB,2GAAqB;QACrB,8EAAa;QACb,8EAAa;QACb,qGAAoB;QACpB,qGAAoB;QACpB,2FAAiB;QACjB,4GAAsB;QACtB,wGAAqB;QACrB,gIAAwB;QACxB,+FAAkB;QAClB,sIAA0B;QAC1B,8GAAuB;QACvB,6JAAiC;QACjC,0IAA2B;QAC3B,yJAAgC;QAChC,kIAAwB;QACxB,2HAAsB;QACtB,mJAA6B;QAC7B,gJAA4B;QAC5B,sHAAyB;QACzB,kJAA8B;QAC9B,uGAAkB;QAClB,yHAAwB;QACxB,qGAAkB;QAClB,kJAA+B;QAC/B,gIAAyB;QACzB,wFAAgB;QAChB,iIAAwB;QACxB,mIAA0B;QAC1B,4IAA2B;QAC3B,kJAA6B;QAC7B,oIAAwB;QACxB,yKAAoC;QACpC,6IAA8B;QAC9B,mHAAsB;QACtB,gHAAqB;QACrB,mHAAsB;QACtB,mHAAsB;QACtB,kGAAmB;QACnB,oIAA2B;QAC3B,8JAAmC;QACnC,4HAAyB;QACzB,oGAAmB;QACnB,wHAAuB;QACvB,uIAA4B;QAC5B,uGAAoB;QACpB,uGAAkB;QAClB,sHAAuB;QACvB,mJAAgC;QAChC,iGAAgB;QAChB,0IAA6B;QAC7B,6GAAsB;QACtB,qJAAgC;QAChC,6IAA8B;QAC9B,4GAAmB;QACnB,oIAA2B;QAC3B,0GAAmB;QACnB,iGAAgB;QAChB,8HAAyB;QACzB,gHAAqB;QACrB,wJAAiC;QACjC,iIAA0B;QAC1B,mHAAsB;QACtB,6IAA8B;QAC9B,wJAAiC;QACjC,uIAA4B;QAC5B,8FAAsB;QACtB,qFAAkB;QAClB,4HAAyB;QACzB,sHAAuB;QACvB,qHAAsB;QACtB,kJAA+B;QAC/B,qHAAsB;QACtB,qHAAsB;QACtB,uHAA0B;QAC1B,6GAAiB;QACjB,4HAAmB;QACnB,8GAAuB;QACvB,kGAAmB;QACnB,+HAA4B;QAC5B,sHAAmB;QACnB,kHAAc;QACd,mHAAwB;QACxB,2IAA0B;QAC1B,kKAAiC;QACjC,gHAAuB;QACvB,qJAA6B;QAC7B,gHAAuB;QACvB,2HAA2B;QAC3B,uJAAwB;QACxB,yHAAkB;QAClB,2IAA6B;QAC7B,iHAAqB;QACrB,uHAAuB;QACvB,6IAA8B;QAC9B,kJAA+B;QAC/B,qIAA2B;QAC3B,gFAAY;QACZ,2GAAqB;QACrB,uIAA0B;QAC1B,mHAAqB;QACrB,oFAAiB;QACjB,iHAAqB;QACrB,yIAA6B;QAC7B,mIAA2B;QAC3B,oHAAsB;QACtB,yGAAqB;QACrB,mFAAiB;QACjB,yIAA2B;QAC3B,0LAAyC;QACzC,iHAAqB;QACrB,2GAAmB;QACnB,mGAAmB;QACnB,wIAAyB;QACzB,6IAAoB;QACpB,4JAAkC;QAClC,mIAAyB;QACzB,mIAAyB;QACzB,0IAAsB;QACtB,oKAAoC;QACpC,yHAAuB;QACvB,gIAAwB;QACxB,sJAA6B;QAC7B,iHAAuB;QACvB,6EAAgB;QAChB,oHAAsB;QACtB,2IAA4B;QAC5B,2HAA2B;QAC3B,6IAA8B;QAC9B,2GAAmB;QACnB,qFAAkB;QAClB,2IAA6B;QAC7B,6IAA8B;QAC9B,4GAAsB;QACtB,oHAAsB;QACtB,iHAAqB;QACrB,gIAA4B;QAC5B,+HAAyB;QACzB,sHAAsB;QACtB,yIAA6B;QAC7B,8GAAoB;QACpB,yIAA6B;QAC7B,+GAAuB;QACvB,kIAA0B;QAC1B,qIAA2B;QAC3B,wJAAgC;QAChC,qIAA2B;QAC3B,oHAAwB;QACxB,gFAAe;QACf,uIAA2B;QAC3B,8GAAoB;QACpB,uHAAyB;QACzB,sHAAqB;QACrB,+HAAyB;QACzB,kIAA0B;QAC1B,kJAA4B;QAC5B,4HAAwB;QACxB,oJAAgC;QAChC,oHAAwB;QACxB,6FAAiB;QACjB,2GAAqB,aAGrB,wEAAa;QACb,qEAAgB;QAChB,wEAAe;QACf,6FAAuB;QACvB,qEAAa;QACb,qEAAS;QACT,0DAAW;QACX,kEAAmB;QACnB,qEAAgB;QAChB,yEAAe;QACf,+EAAkB;QAClB,gFAAmB;QACnB,sEAAe;QACf,0EAAmB,4PAKnB,iEAAkB;QAClB,oEAAY,kEAEZ,2EAAe;kEAtLf,8EAAa,2KAOb,+FAAkB;IANlB,qGAAoB;kEAKpB,gIAAwB,kHAsHxB,2IAA4B;kEAnH5B,8GAAuB,mmBAmEvB,kGAAmB;IApDnB,wFAAgB,8JAuEhB,gFAAY,+DAIZ,oFAAiB;kEA1BjB,6GAAiB,6SACjB,4HAAmB;kEAQnB,kKAAiC,sSARjC,4HAAmB;IAcnB,yHAAkB;IATlB,kHAAc;kEASd,yHAAkB,2KADlB,uJAAwB;;;;;;;;;;;;;;;;;;;;;;;;;ACzSsC;AACb;AAO7B;AAC+C;AAI5B;AAC8B;AAalC;;;AAWhC,MAAM,eAAe;IAa1B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAZ9B,aAAQ,GAAG,EAAW,CAAC;QAExB,oBAAe,GAAG,IAAI,oDAAe,CAAa,EAAgB,CAAC,CAAC;QAEpE,0BAAqB,GAAG,IAAI,oDAAe,CAChD,EAAsB,CACvB,CAAC;QAEK,gBAAW,GAAqB,IAAI,4CAAO,EAAW,CAAC;QAEvD,uBAAkB,GAAG,IAAI,KAAK,EAAU,CAAC;QAMhD,WAAM,GAAU,EAAE,CAAC;QAEnB,gBAAW,GAAY,KAAK,CAAC;QAE7B,0BAAqB,GAAY,KAAK,CAAC;QAEvC,wBAAmB,GAAc,EAAE,CAAC;QAEpC,mBAAc,GAAW,QAAQ,CAAC;QAXhC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAWD,kBAAkB,CAAC,QAAyB;QAC1C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAED,kBAAkB,CAAC,OAAgB;QACjC,iDAAiD;QAEjD,OAAO,iDAAI,CACT,IAAI,OAAO,CAAY,CAAO,OAAY,EAAE,MAAW,EAAE,EAAE,CAAC;YAC1D,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,WAAW,GAAc,EAAE,CAAC;YAChC,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;YAErE,sEAAsE;YAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC5B,sFAAc,CAAC,4BAA4B,EAAE,EAC7C;oBACA,sFAAc,CAAC,8BAA8B,CAC3C,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CACxB,CAAC;iBACH;aACF;YAED,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAC3D,oDAAoD;YACpD,qDAAqD;YACrD,+BAA+B;YAC/B,8CAA8C;YAC9C,MAAM,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;gBAChC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,mBAAmB,EAAE;oBACjD,yCAAyC;oBAEzC,IAAI,eAAe,GAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjD,4DAA4D;oBAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;oBACnD,KAAK,IAAI,OAAO,IAAI,eAAe,EAAE;wBACnC,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,EAAE;4BACjC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;yBACvD;6BAAM;4BACL,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;yBACvD;qBACF;oBAED,uDAAuD;oBACvD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;wBACpD,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;oBAEH,YAAY,CAAC,OAAO,CAClB,iBAAiB,EACjB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC,CAAC,kBAAkB;oBACrB,OAAO,CAAC,eAAe,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC;YAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,uCAAuC;gBAEvC,IAAI;gBACJ,IAAI,IAAI,GAAG,EAAE,CAAC;gBAEd,iEAAiE;gBACjE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBAC9B,KAAK,IAAI,GAAG,IAAI,WAAoB,EAAE;oBACpC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI;wBAC7D,GAAG;qBACJ,CAAC;oBACF,IACE,GAAG,CAAC,gBAAgB,IAAI,MAAM;wBAC9B,GAAG,CAAC,SAAS;wBACb,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,OAAO;4BACrC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,EACxC;wBACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAChB;yBAAM;wBACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAChB;iBACF;gBAED,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,OAAO,EAAE;oBACX,WAAW,GAAG,iBAAiB,CAAC;iBACjC;qBAAM;oBACL,WAAW,GAAG,aAAa,CAAC;iBAC7B;gBACD,IAAI,OAAO,GAAG;oBACZ,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,IAAI;iBACX,CAAC;gBACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBAC9B,IAAI,WAAW,GAAG,iBAAiB,CAAC;gBACpC,IAAI,OAAO,GAAG;oBACZ,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,EAAE;iBACT,CAAC;gBACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,EAAE,CAAC,CAAC;aACb;YAED,KAAK;YACL,8BAA8B;YAC9B,0DAA0D;YAC1D,2BAA2B;YAC3B,KAAK;YACL,uCAAuC;YACvC,eAAe;YACf,QAAQ;YACR,cAAc;YACd,iBAAiB;YACjB,KAAK;QACP,CAAC,EAAC,CACH,CAAC;IACJ,CAAC;IAEK,+BAA+B,CAAC,aAAqB;;YACzD,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;gBACzD,IAAI,gBAAgB,GAAG,wFAAwF,aAAa,GAAG,CAAC;gBAEhI,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;oBACnD,OAAO,CAAC,EAAc,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;oBAC5C,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC;gBAEF,gEAAe,CAAC,mBAAmB,CACjC,gBAAgB,EAChB,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,2BAA2B,CAAC,WAAmB;;YACnD,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;gBACpE,IAAI,cAAc,GAAG;;;kFAGuD,WAAW,GAAG,CAAC;gBAE3F,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;oBACnD,OAAO,CAAC,EAAyB,CAAC,CAAC;gBACrC,CAAC,CAAC;gBAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;oBAC5C,IAAI,IAAI,GAAwB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;wBACvB,IAAI,CAAC,iBAAiB;4BACpB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;gCACjC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gCACxB,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;qBAC9B;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC;gBAEF,gEAAe,CAAC,mBAAmB,CACjC,cAAc,EACd,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,4BAA4B,CAAC,aAAqB;;YACtD,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;gBACzD,IAAI,aAAa,GAAG,gGAAgG,aAAa,GAAG,CAAC;gBAErI,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;oBACnD,OAAO,CAAC,EAAc,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;oBAC5C,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC;gBAEF,gEAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,qBAAqB,CAAC,MAAc;;YACxC,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;gBACzD,IAAI,aAAa,GAAG,6UAA6U,MAAM,0DAA0D,CAAC;gBAEla,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;oBACnD,OAAO,CAAC,EAAc,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;oBAC5C,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC;gBAEF,2DAA2D;gBAE3D,gEAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,cAAc;;YAClB,IAAI,QAAQ,GAAc,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAE5C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAErD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,KAAK,IAAI,GAAG,IAAI,QAAiB,EAAE;oBACjC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrE,IACE,GAAG,CAAC,gBAAgB,IAAI,MAAM;wBAC9B,GAAG,CAAC,SAAS;wBACb,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,OAAO;4BACrC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,EACxC;qBACD;yBAAM;wBACL,IACE,CAAC,CACC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM;4BAC/D,CAAC,CACF,EACD;4BACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAChB;qBACF;iBACF;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED,sBAAsB,CAAC,QAAmB;QACxC,OAAO,IAAI,OAAO,CAAY,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC1D,IAAI,QAAQ,GAAG,sFAAc,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,SAAS,GAAG,sFAAc,CAAC,YAAY,EAAE,CAAC;YAC9C,0DAA0D;YAC1D,IAAI,SAAS,GAAW;;;;;;;;;;;;8BAYA,SAAS;OAChC,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBAC5B,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,QAAQ,GAAG,WAAW,CAAC;YAC3B,IAAI,YAAY,GAAG,UAAU,EAAU,EAAE,MAAW;gBAClD,sBAAsB;gBACtB,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,QAAmB;QACxC,OAAO,IAAI,OAAO,CAAY,CAAO,OAAY,EAAE,MAAW,EAAE,EAAE,CAAC;YACjE,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAE/D,IAAI,SAAS,GAAW;;;;;;;;;sHASwF,aAAa;OAC5H,CAAC;YAEF,WAAW;YACX,4BAA4B;YAC5B,gEAAgE;YAEhE,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAC9C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBAC5B,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC;oBACnC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,QAAQ,GAAG,WAAW,CAAC;YAC3B,IAAI,YAAY,GAAG,UAAU,EAAU,EAAE,MAAW;gBAClD,sBAAsB;gBACtB,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,YAAY,CACb,CAAC;QACJ,CAAC,EAAC,CAAC;IACL,CAAC;IAED,6BAA6B;QAC3B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvD,IAAI,SAAS,GAAW;;;4BAGF,sFAAc,CAAC,WAAW,EAAE;OACjD,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;iBAC1C;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC;YACF,IAAI,QAAQ,GAAG,WAAW,CAAC;YAC3B,IAAI,YAAY,GAAG,UAAU,EAAU,EAAE,MAAW;gBAClD,sBAAsB;gBACtB,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAID,4BAA4B;IAC5B,WAAW;QACT,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtD,IAAI,KAAK,GAAG;;;;;;;;yBAQS,CAAC;QAEtB,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE;gBAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACjD;aACF;QACH,CAAC,CAAC;QACF,IAAI,YAAY,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;YAC7C,sBAAsB;YACtB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,yCAAyC,EACzC,eAAe,EACf,4CAA4C,MAAM,EAAE,EACpD,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAEK,oBAAoB,CAAC,aAAqB,EAAE,MAAc;;YAC9D,IAAI,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACpE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,sFAAc,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7D,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,sFAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3D,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,sFAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3D,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE1C,IAAI,GAAG,GAAG;gBACR;oBACE,aAAa,EAAE,aAAa;oBAC5B,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,WAAW;iBACxB;aACF,CAAC;YAEF,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,cAAc,GAAG;gBACnB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,GAAG;gBACT,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,IAAI,QAAQ,GAAG,MAAM,KAAK,CACxB,sDAAsD,EACtD,cAAqB,CACtB,CAAC;YACF,qCAAqC;YACrC,yCAAyC;YACzC,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,wBAAwB;gBACxB,QAAQ,QAAQ,CAAC,MAAM,EAAE;oBACvB,KAAK,GAAG;wBACN,iIAAiI;wBACjI,MAAM;oBACR,KAAK,GAAG;wBACN,yHAAyH;wBACzH,MAAM;oBACR,KAAK,GAAG;wBACN,mIAAmI;wBACnI,MAAM;oBACR;wBACE,wHAAwH;wBACxH,MAAM;iBACT;aACF;QACH,CAAC;KAAA;IAED,gBAAgB;QACd,OAAO,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,qEAAqE;IACrE,gBAAgB;QACd,MAAM,YAAY,GAAG,gGAAgG,CAAC;QAEtH,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;YACnD,OAAO,CAAC,GAAG,CACT,0DAA0D,EAC1D,KAAK,CAAC,OAAO,CACd,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;YAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,iDAAiD;gBACjD,gDAAgD;gBAChD,KAAK;gBAEL,sFAAc,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC3D,sFAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAEvE,sFAAc,CAAC,+BAA+B,CAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAC7C,CAAC;aACH;QACH,CAAC,CAAC;QACF,gEAAe,CAAC,mBAAmB,CACjC,YAAY,EACZ,EAAE,EACF,UAAU,EACV,aAAa,CACd,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,WAAkB;QACtC,OAAO,iDAAI,CACT,IAAI,OAAO,CAAmB,CAAC,OAAY,EAAE,EAAE;YAC7C,IAAI,YAAY,GAAG,mFAAmF,CAAC;YAEvG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,YAAY,IAAI,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iBAC5C;qBAAM;oBACL,YAAY,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC1C;aACF;YACD,YAAY,IAAI,GAAG,CAAC;YAEpB,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,KAAK,CAAC,OAAO,CACd,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAChD,IAAI,IAAI,GAAqB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEtD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,YAAY,EACZ,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,MAAa;QAC5B,OAAO,iDAAI,CACT,IAAI,OAAO,CAAwB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC/D,IAAI,YAAY,GAAG,wDAAwD,CAAC;YAE5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACV,YAAY,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;iBACvC;qBAAM;oBACL,YAAY,IAAI,MAAM,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;iBACrC;aACF;YAED,YAAY,IAAI,GAAG,CAAC;YAEpB,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,6CAA6C,EAC7C,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,MAAM,EAAE,CAAC;YACX,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAChD,IAAI,IAAI,GAA0B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE3D,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,YAAY,EACZ,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,IAAS,EAAE,SAAc;QACxC,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,IAAI,GAAW,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACzD,IAAI,IAAI,GAAG,CAAC;iBACb;aACF;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;gBACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,MAAM,KAAK,GAAG;;;;;;;;;;;8CAW0B,IAAI,CAAC,MAAM;gDACT,IAAI;KAC/C,CAAC;YACA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC1C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,+BAA+B;YAC/B,mBAAmB;YACnB,IAAI;YACJ,gFAAgF;YAChF,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;YAElD,OAAO;YACP,IAAI,OAAO,GAAG;;;;;;;;;;uBAUG,WAAW;KAC7B,CAAC;YAEA,kBAAkB;YAClB,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC3C,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE9B,6DAA6D;gBAC7D,+DAA+D;gBAC/D,+DAA+D;gBAE/D,kGAAkG;gBAClG,gCAAgC;gBAChC,gCAAgC;gBAChC,+BAA+B;gBAC/B,IAAI;gBAEJ,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO;YACP,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sBAAsB,CACpB,MAAc,EACd,mBAA4B,KAAK,EACjC,oBAA4B,EAAE;QAE9B,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACzD,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAEtE,IAAI,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAiEK,CAAC;YAE3B,IAAI,gBAAgB,EAAE;gBACpB,cAAc,IAAI,8HAA8H,iBAAiB,GAAG,CAAC;aACtK;YAED,cAAc,IAAI;;;;;;mHAM2F,KAAK;kDACtE,WAAW;gDACb,WAAW;;;;;;;;+CAQZ,WAAW;4CACd,WAAW;mGAC4C,KAAK;oDACpD,WAAW;kDACb,WAAW;;;;;;;;;;;;;;;;;;;kDAmBX,MAAM;SAC/C,CAAC;YAEJ,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,0DAA0D,EAC1D,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,EAAc,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;gBACvD,IAAI,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9C,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEvD,IAAI,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,yBAAyB,CACvD,UAAU,CACX,CAAQ,CAAC;gBAEV,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;oBAClB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;oBAChC,IACE,CAAC,CAAC,sBAAsB,IAAI,IAAI;wBAChC,CAAC,CAAC,sBAAsB,IAAI,SAAS,EACrC;wBACA,CAAC,CAAC,sBAAsB,GAAG,MAAM,CAAC;qBACnC;oBACD,CAAC,CAAC,OAAO,GAAG,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC7C,CAAC,CAAC,UAAU,SAAG,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjD,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAEjB,CAAC,CAAC,cAAc,SAAG,CAAC,CAAC,cAAc,mCAAI,CAAC,CAAC;oBAEzC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC3B,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,cAAc,EACd,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IAC7D,4BAA4B,CAAC,OAAgB;;YACjD,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;gBAC3D,+BAA+B;gBAE/B,gBAAgB;gBAChB,gDAAgD;gBAChD,6BAA6B;gBAC7B,aAAa;gBACb,KAAK;gBACL,yEAAyE;gBAEzE,+BAA+B;gBAE/B,0CAA0C;gBAE1C,iDAAiD;gBACjD,gCAAgC;gBAEhC,UAAU;gBACV,yCAAyC;gBACzC,gDAAgD;gBAChD,wCAAwC;gBACxC,SAAS;gBACT,oDAAoD;gBACpD,OAAO;gBAEP,0EAA0E;gBAE1E,sCAAsC;gBACtC,gDAAgD;gBAChD,gCAAgC;gBAEhC,uCAAuC;gBAEvC,qEAAqE;gBACrE,uBAAuB;gBACvB,YAAY;gBACZ,uCAAuC;gBAEvC,gEAAgE;gBAEhE,gDAAgD;gBAChD,2EAA2E;gBAC3E,yBAAyB;gBACzB,cAAc;gBACd,wCAAwC;gBACxC,kBAAkB;gBAClB,wEAAwE;gBACxE,yBAAyB;gBACzB,cAAc;gBAEd,sCAAsC;gBACtC,+DAA+D;gBAC/D,gEAAgE;gBAChE,aAAa;gBAEb,WAAW;gBACX,SAAS;gBACT,OAAO;gBAEP,kCAAkC;gBAClC,KAAK;gBAEL,+BAA+B;gBAE/B,0CAA0C;gBAE1C,2BAA2B;gBAC3B,WAAW;gBACX,OAAO;gBACP,OAAO,CAAC,EAAgB,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,mEAAmE;IAC7D,oCAAoC,CACxC,MAAc,EACd,UAAkB;;YAElB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;gBACxD,CAAC,GAAS,EAAE,CAAC;;oBACX,MAAM,UAAU,GAAG,IAAI,CAAC,QAAsB,CAAC;oBAE/C,IAAI,CAAC,UAAU;wBAAE,OAAO,EAAE,CAAC;oBAE3B,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;wBAAE,OAAO,EAAE,CAAC;oBAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;wBAC1B,IACE,GAAG,CAAC,oBAAoB,IAAI,EAAE;4BAC9B,GAAG,CAAC,oBAAoB,IAAI,SAAS;4BACrC,GAAG,CAAC,oBAAoB,IAAI,IAAI,EAChC;4BACA,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,YAAY,CAAC;yBAC7C;wBAED,IAAI,IAAI,SAAG,GAAG,CAAC,eAAe,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;wBAErE,IAAI,IAAI,EAAE;4BACR,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;yBAC5B;qBACF;oBAED,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC,EAAC,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,+BAA+B;IAE/B,sBAAsB,CAAC,MAAc;QACnC,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAY,EAAE,EAAE;YACzC,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAEtE,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IACE,sFAAc,CAAC,cAAc,EAAE;gBAC/B,sFAAc,CAAC,cAAc,EAAE,IAAI,GAAG,EACtC;gBACA,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,UAAU,GAAG;wFACmE,WAAW;;iFAElB,WAAW;;+BAE7D,CAAC;aACzB;iBAAM;gBACL,UAAU,GAAG,qBAAqB,CAAC;aACpC;YACD,IAAI,gBAAgB,GAClB;;;;;;;;;;;;;;4BAcoB;gBACpB,UAAU;gBACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGAuC8F,KAAK;8DAC7C,WAAW;4DACb,WAAW;;4GAEqC,KAAK;4DACrD,WAAW;0DACb,WAAW;;;;;;;;;;;;;;;;;;;;;;;4CAuBzB,WAAW;yCACd,WAAW;uCACb,MAAM;;;uBAGtB,CAAC;YAElB,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEtE,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;gBACnD,IAAI,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9C,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEvD,IAAI,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,yBAAyB,CACvD,UAAU,CACX,CAAQ,CAAC;gBAEV,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;oBAClB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;oBAChC,CAAC,CAAC,sBAAsB,GAAG,MAAM,CAAC;oBAClC,CAAC,CAAC,OAAO,GAAG,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC7C,CAAC,CAAC,UAAU,SAAG,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjD,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAC/B,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC3B,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB;wBACzC,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBACtB,CAAC,CAAC,GAAG,CAAC;oBACR,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,gBAAgB,EAChB,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;IAET,4BAA4B,CAAC,EAAU;;YAC3C,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;YAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE9B,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE;oBACvC,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAC7D,SAAS,CAAC,eAAe,CAC1B,CAAC;oBACF,SAAS,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;iBAC/C;aACF;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAED,sBAAsB,CAAC,EAAU;QAC/B,OAAO,iDAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,6BAA6B,CAAC,EAAU,EAAE,QAAgB,EAAE;QAC1D,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAY,EAAE,EAAE;YACrD,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IACE,sFAAc,CAAC,cAAc,EAAE;gBAC/B,sFAAc,CAAC,cAAc,EAAE,IAAI,GAAG,EACtC;gBACA,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,UAAU,GAAG;2FACsE,WAAW;;oFAElB,WAAW;;+BAEhE,CAAC;aACzB;iBAAM;gBACL,UAAU,GAAG,qBAAqB,CAAC;aACpC;YACD,IAAI,QAAQ,GACV;;;uBAGe;gBACf,UAAU;gBACV;;;;;;;;;;qCAU6B,EAAE,GAAG,CAAC;YAErC,IAAI,KAAK,IAAI,EAAE,EAAE;gBACf,QAAQ,IAAI,mBAAmB,KAAK,GAAG,CAAC;aACzC;YAED,QAAQ,IAAI,yCAAyC,CAAC;YAEtD,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,wDAAwD,EACxD,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACrD,IAAI,IAAI,GAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvD,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBACpB,4CAA4C;oBAC5C,gDAAgD;oBAChD,IAAI;oBAEJ,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;iBACxB;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC,EAAU;QACrC,OAAO,IAAI,OAAO,CAAc,CAAC,OAAY,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG;;;;;;;;;;2BAUI,EAAE;;;;;;;;;;;;;;yBAcJ,EAAE;OACpB,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,uDAAuD,EACvD,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACrD,IAAI,IAAI,GAAgB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEjD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,EAAU;QAChC,OAAO,IAAI,OAAO,CAAc,CAAC,OAAY,EAAE,EAAE;YAC/C,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAe,EAAE,EAAE;gBAC7D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAc,EAAE,EAAE;oBACpC,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,eAAe,CAAC;yBAC1D,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;wBACrB,SAAS,CAAC,gBAAgB,GAAG,OAAO,CAAC;oBACvC,CAAC,CAAC;yBACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC,EAAU;QACrC,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAY,EAAE,EAAE;YACrD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;2CAeoB,EAAE;OACtC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,uDAAuD,EACvD,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACrD,IAAI,IAAI,GAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEvD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IAEnB,WAAW;IAEL,iCAAiC,CAAC,EAAU;;YAChD,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,SAAS,CAAC,eAAe,IAAI,OAAO,EAAE;wBACxC,QAAQ,GAAG,KAAK,CAAC;wBACjB,MAAM;qBACP;yBAAM;wBACL,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;qBAC7B;iBACF;gBAED,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC1B,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;gBAEzB,IAAI,UAAU,IAAI,UAAU,IAAI,SAAS,EAAE;oBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4BAC5B,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;4BACjC,MAAM;yBACP;qBACF;iBACF;aACF;YAED,OAAO,MAAM,WAAW,CAAC;QAC3B,CAAC;KAAA;IAED,gBAAgB;IAEV,+BAA+B,CAAC,EAAU;;YAC9C,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YAE1D,IAAI,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAExE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,CAAa,EAAE,EAAE,CAC7D,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;QACJ,CAAC;KAAA;IAEK,yBAAyB,CAAC,WAAyB;;YACvD,IAAI,eAAe,GAAG,WAAW,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAC7C,CAAC;YAEF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAC7C,CAAC;YAEF,KACE,IAAI,mBAAmB,GAAG,CAAC,EAC3B,mBAAmB,GAAG,eAAe,CAAC,MAAM,EAC5C,mBAAmB,EAAE,EACrB;gBACA,IAAI,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAE1C,OAAO,CAAC,GAAG,CACT,uDAAuD;oBACrD,iBAAiB,CACpB,CAAC;gBAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBAEtD,QAAQ,CAAC,QAAQ;oBACf,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBACrE,QAAQ,CAAC,OAAO;oBACd,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;gBAEjE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACzD,QAAQ,CAAC,UAAU,CACpB,CAAC;gBACF,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;gBAEnC,IAAI,WAAW,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4BAC7B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;4BAC3B,MAAM;yBACP;qBACF;iBACF;gBAED,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAClE,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,CACpB,CAAC;gBAEF,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;gBAE9C,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAClE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;gBAEF,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CACzC,CAAC;gBAEF,OAAO,CAAC,GAAG,CACT,2DAA2D;oBACzD,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CACjD,CAAC;gBAEF,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;aAC5C;YAED,eAAe,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CACjD,CAAC;YAEF,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IAED,mBAAmB;IACnB,sBAAsB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,GAAG,EAAE;gBACd,GAAG,GAAG,GAAG,CAAC;aACX;YACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8BvB,CAAC;gBACD,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;oBACnD,OAAO,CAAC,GAAG,CACT,iDAAiD,EACjD,KAAK,CAAC,OAAO,CACd,CAAC;oBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,CAAC,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;oBAC5C,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACtB,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;qBACrB;oBACD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;wBACxB,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;qBACzB;oBACD,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;oBACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7B,IAAI,cAAc,GAAU,IAAI,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE;wBAClD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;wBACxB,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;wBAChC,IAAI,GAAG,IAAI,GAAG,EAAE;4BACd,GAAG,GAAG,GAAG,CAAC;yBACX;wBACD,0BAA0B;wBAC1B,IAAI,EAAE,CAAC,QAAQ,IAAI,MAAM,EAAE;4BACzB,+BAA+B;4BAC/B,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,EAAE;gCACnB,0CAA0C;gCAC1C,0DAA0D;gCAC1D,IAAI,aAAkB,CAAC;gCACvB,IAAI,eAAoB,CAAC;gCACzB,IAAI,SAAc,CAAC;gCACnB,IAAI,UAAe,CAAC;gCACpB,IAAI,YAAiB,CAAC;gCACtB,IAAI,QAAa,CAAC;gCAClB,IAAI,UAAe,CAAC;gCACpB,IACE,EAAE,CAAC,SAAS;oCACZ,EAAE,CAAC,SAAS,IAAI,EAAE;oCAClB,EAAE,CAAC,SAAS,IAAI,IAAI,EACpB;oCACA,sBAAsB;oCACtB,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCACxC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oCACnC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oCACvC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oCAClC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oCACpC,uBAAuB;oCACvB,IACE,QAAQ,GAAG,UAAU;wCACrB,CAAC,QAAQ,IAAI,UAAU,IAAI,UAAU,IAAI,YAAY,CAAC,EACtD;wCACA,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACtC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wCACnC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wCACvC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wCAChC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wCAClC,IACE,QAAQ,GAAG,QAAQ;4CACnB,CAAC,QAAQ,IAAI,QAAQ,IAAI,UAAU,IAAI,UAAU,CAAC,EAClD;4CACA,+BAA+B;4CAC/B,IAAI,EAAE,CAAC,QAAQ,IAAI,MAAM,EAAE;gDACzB,8BAA8B;gDAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,CACJ,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oDACvB,GAAG;oDACH,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,CACF,CAAC;gDACF,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CACJ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrD,CACF,CAAC;gDACF,IACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW;oDACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,EACrC;oDACA,OAAO,EAAE,CAAC;iDACX;6CACF;iDAAM;gDACL,OAAO,EAAE,CAAC;6CACX;yCACF,CAAC,cAAc;qCACjB;iCACF;6BACF;yBACF;6BAAM;4BACL,8BAA8B;4BAC9B,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACjE,CAAC;4BACF,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;4BACF,IACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW;gCACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,EACrC;gCACA,OAAO,EAAE,CAAC;6BACX;yBACF;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;oBAC7B,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC1B,CAAC,CAAC;gBACF,gEAAe,CAAC,mBAAmB,CACjC,cAAc,EACd,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAY,EAAE,EAAE;YAClD,MAAM,SAAS,GAAG,qCAAqC,CAAC;YAExD,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,+CAA+C,EAC/C,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC;YAEF,MAAM,oBAAoB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACxD,IAAI,IAAI,GAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEpD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,oBAAoB,EACpB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,MAAc,EAAE,UAAkB;QACjD,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,GAAG,uCAAuC,MAAM,GAAG,CAAC;YAC7D,IAAI,MAAM,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CACjD,KAAK,CACN,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO;aACR;YAED,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,+CAA+C,EAC/C,OAAO,CAAC,OAAO,CAChB,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,IAAI,SAAS,GACX,+BAA+B;gBAC/B,UAAU;gBACV,oBAAoB;gBACpB,MAAM;gBACN,GAAG,CAAC;YACN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,EAAC,CAAC;IACL,CAAC;IAEK,mBAAmB,CAAC,MAAc,EAAE,KAAa;;YACrD,IAAI,KAAK,GAAG,uCAAuC,MAAM,GAAG,CAAC;YAC7D,IAAI,MAAM,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CACjD,KAAK,CACN,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;aACb;YAED,IAAI,SAAS,GACX,4BAA4B;gBAC5B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChB,oBAAoB;gBACpB,MAAM;gBACN,GAAG,CAAC;YACN,IAAI;gBACF,IAAI,IAAI,GAAG,MAAM,gEAAe,CAAC,wBAAwB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACzE,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,EAAE,EAAE;gBACX,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;IAED,8BAA8B,CAC5B,KAAa,EACb,UAAkB;QAElB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,+CAA+C,EAC/C,OAAO,CAAC,OAAO,CAChB,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,IAAI,SAAS,GACX,+CAA+C;gBAC/C,UAAU;gBACV,8BAA8B;gBAC9B,KAAK;gBACL,GAAG,CAAC;YAEN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,MAAc,EAAE,UAAkB;QACrD,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,KAAK,GAAG,uCAAuC,MAAM,GAAG,CAAC;YAC7D,IAAI,MAAM,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CACjD,KAAK,CACN,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO;aACR;YAED,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,+CAA+C,EAC/C,OAAO,CAAC,OAAO,CAChB,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,IAAI,SAAS,GACX,+BAA+B;gBAC/B,UAAU;gBACV,oBAAoB;gBACpB,MAAM;gBACN,GAAG,CAAC;YACN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,EAAC,CAAC;IACL,CAAC;IAEK,wBAAwB,CAAC,MAAc,EAAE,UAAkB;;YAC/D,IAAI,KAAK,GAAG,qDAAqD,MAAM,GAAG,CAAC;YAC3E,IAAI,UAAU,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CACrD,KAAK,CACN,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO;aACR;YAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEzD,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,iDAAiD;YACnD,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,mDAAmD,EACnD,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC,CAAC;YAEF,IAAI,SAAS,GACX,6CAA6C;gBAC7C,UAAU;gBACV,wBAAwB;gBACxB,MAAM;gBACN,GAAG,CAAC;YAEN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC;KAAA;IAEa,iBAAiB,CAC7B,SAAgD,EAChD,EAAU,EACV,UAAkB,EAClB,YAAqB,EACrB,sBAA+B;;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE9B,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,UAAU,EAAE;oBACxC,MAAM,GAAG,GAAG,QAAsB,CAAC;oBAEnC,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;wBAC7B,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC;wBAC9B,IAAI,sBAAsB,EAAE;4BAC1B,IAAI,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE;gCAC/B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;6BACxB;yBACF;qBACF;oBAED,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjD,IAAI,YAAY,EAAE;4BAChB,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CACJ,CAAC;4BAElB,IAAI,CAAC,iBAAiB,CACpB,iBAAiB,EACjB,EAAE,EACF,UAAU,EACV,YAAY,EACZ,sBAAsB,CACvB,CAAC;yBACH;6BAAM;4BACL,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC;4BAC1C,aAAa;4BACb,0BAA0B;4BAC1B,+BAA+B;4BAE/B,IAAI,CAAC,iBAAiB,CACpB,iBAAiB,EACjB,EAAE,EACF,UAAU,EACV,YAAY,EACZ,sBAAsB,CACvB,CAAC;yBACH;qBACF;iBACF;qBAAM;oBACL,IAAI,QAAQ,CAAC,UAAU,EAAE;wBACvB,MAAM,GAAG,GAAG,QAAsB,CAAC;wBAEnC,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjD,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC;4BAC1C,aAAa;4BACb,0BAA0B;4BAC1B,+BAA+B;4BAE/B,IAAI,CAAC,iBAAiB,CACpB,iBAAiB,EACjB,EAAE,EACF,UAAU,EACV,YAAY,EACZ,sBAAsB,CACvB,CAAC;yBACH;qBACF;yBAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE;wBACtC,MAAM,GAAG,GAAG,QAAgC,CAAC;wBAE7C,GAAG,CAAC,cAAc,GAAG,UAAU,CAAC;wBAChC,IAAI,sBAAsB,EAAE;4BAC1B,IAAI,GAAG,CAAC,cAAc,IAAI,OAAO,EAAE;gCACjC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;6BACxB;yBACF;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IAEa,kBAAkB,CAC9B,EAAU,EACV,MAAc,EACd,UAAmB,EACnB,YAAqB;;YAErB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAsB,CAAC;YAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IACE,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe;oBAC9B,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,EAC3C;oBACA,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAA2B,CAAC;oBACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;wBAChC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;wBAE/D,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;4BACnE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;gCACxC,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE;oCACxC,IAAI,CAAC,kBAAkB,CACrB,SAAS,EACT,EAAE,EACF,MAAM,EACN,UAAU,EACV,YAAY,EACZ,KAAK,CACN,CAAC;iCACH;6BACF;yBACF;6BAAM;4BACL,IAAI,CAAC,kBAAkB,CACrB,IAAI,EACJ,EAAE,EACF,MAAM,EACN,UAAU,EACV,YAAY,EACZ,KAAK,CACN,CAAC;yBACH;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IAEK,kBAAkB,CACtB,IAAY,EACZ,EAAU,EACV,MAAc,EACd,UAAmB,EACnB,YAAqB,EACrB,sBAA+B;;YAE/B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAE/D,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBACnE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;oBACxC,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE;wBACxC,IAAI,CAAC,kBAAkB,CACrB,SAAS,EACT,EAAE,EACF,MAAM,EACN,UAAU,EACV,YAAY,EACZ,KAAK,CACN,CAAC;qBACH;iBACF;aACF;iBAAM;gBACL,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC1B,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,SAAS,EACd,EAAE,EACF,MAAM,EACN,YAAY,EACZ,sBAAsB,CACvB,CAAC;iBACH;aACF;QACH,CAAC;KAAA;IAEK,sBAAsB,CAC1B,EAAU,EACV,MAAc,EACd,YAA0B,EAC1B,YAAqB,EACrB,sBAA+B;;YAE/B,IAAI,CAAC,iBAAiB,CACpB,YAAY,EACZ,EAAE,EACF,MAAM,EACN,YAAY,EACZ,sBAAsB,CACvB,CAAC;QACJ,CAAC;KAAA;IAEK,0BAA0B,CAAC,MAAc,EAAE,UAAkB;;YACjE,IAAI,KAAK,GAAG,mDAAmD,MAAM,GAAG,CAAC;YACzE,IAAI,YAAY,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CACvD,KAAK,CACN,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO;aACR;YAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAEzD,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,kDAAkD;YACpD,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,yDAAyD;YAC3D,CAAC,CAAC;YAEF,IAAI,SAAS,GACX,2CAA2C;gBAC3C,UAAU;gBACV,0BAA0B;gBAC1B,MAAM;gBACN,GAAG,CAAC;YACN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC;KAAA;IAED,cAAc;QACZ,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAY,EAAE,EAAE;YACzC,MAAM,WAAW,GAAG;;;;;;iBAMT,CAAC;YAEZ,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;;gBACrD,IAAI,IAAI,GAAU,EAAE,CAAC;gBAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,EAAE,GAAG;wBACP,OAAO,QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;wBACvD,WAAW,QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;qBAChE,CAAC;oBAEF,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACf;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvD,CAAC,GAAS,EAAE,CAAC;gBACX,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACxD,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAE7B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/D,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;wBACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAC5D,IAAI,CAAC,MAAM,CACZ,CAAC;wBACF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;wBAC5B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;qBACrB;yBAAM;wBACL,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,+BAA+B,CACzD,IAAI,CAAC,MAAM,CACZ,CAAC;wBACF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;qBAC3B;iBACF;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,MAAM,GACR,8DAA8D,CAAC;YAEjE,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,IAAS,EAAE,EAAE;gBACzC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,EAAE;gBACzB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,uBAAuB,EACvB,gDAAgD,EAChD,eAAe,EACf,sCAAsC,GAAG,EAAE,EAC3C,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,QAAQ,CAAC,OAAe;QACtB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvD,MAAM,QAAQ,GAAG,mDAAmD,OAAO;SACxE,CAAC;YAEJ,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO,CAAC,EAAkB,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC7C,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,QAAQ,EACR,EAAE,EACF,SAAS,EACT,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAC9C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,IAAI,SAAS,GAAG,qDAAqD,CAAC;YACtE,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IAEZ,aAAa,CACnB,GAAW,EACX,GAAW,EACX,gBAAwB,EACxB,WAAmB;QAEnB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,EAAE;gBACP,UAAU;gBACV,IAAI,GAAG,GAAG,CAAC,EAAE;oBACX,kBAAkB;oBAClB,IAAI,GAAG,IAAI,GAAG,EAAE;wBACd,IAAI,GAAG,kBAAkB,gBAAgB,EAAE,CAAC,CAAC,2BAA2B;qBACzE;yBAAM;wBACL,IAAI,GAAG,kBAAkB,gBAAgB,QAAQ,WAAW,EAAE,CAAC,CAAC,4BAA4B;qBAC7F;iBACF;qBAAM;oBACL,IAAI,GAAG,mBAAmB,gBAAgB,EAAE,CAAC,CAAC,eAAe;iBAC9D;aACF;iBAAM,IAAI,GAAG,GAAG,CAAC,EAAE;gBAClB,UAAU;gBACV,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;oBACxB,IAAI,GAAG,kBAAkB,WAAW,EAAE,CAAC;iBACxC;qBAAM,IAAI,GAAG,IAAI,CAAC,EAAE;oBACnB,IAAI,GAAG,cAAc,WAAW,EAAE,CAAC;iBACpC;qBAAM,IAAI,GAAG,GAAG,CAAC,EAAE;oBAClB,IAAI,GAAG,gBAAgB,WAAW,EAAE,CAAC;iBACtC;aACF;SACF;QAED,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,qBAAqB,CAAC,UAAkB,EAAE,OAAgB,KAAK;QAC7D,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC3D,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;4GAyBkF,KAAK;0DACvD,uDAAe,CAAC,cAAc,EAAE;wDAClC,uDAAe,CAAC,cAAc,EAAE;;;;;;;;OAQjF,CAAC;YAEF,IAAI,IAAI,EAAE;gBACR,aAAa,IAAI,uBAAuB,UAAU,EAAE,CAAC;aACtD;YAED,aAAa,IAAI,4CAA4C,CAAC;YAE9D,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBAEzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,EAAgB,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,GAAe,EAAE,CAAC;gBAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAE5B,MAAM,QAAQ,GAAG;wBACf,YAAY,EAAE,EAAE;wBAChB,YAAY,EAAE,EAAE;wBAChB,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,EAAc;wBAC1B,QAAQ,EAAE,EAAc;wBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;wBAC9C,IAAI,EACF,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvC,CAAC,CAAC,GAAG,CAAC,IAAI;4BACV,CAAC,CAAC,GAAG,CAAC,WAAW;wBACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,KAAK,EAAE,EAAW;wBAClB,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,EAAc;wBAC/B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;wBACtC,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,EAAc;wBACtB,cAAc,EAAE,GAAG,CAAC,cAAc;wBAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;wBACtC,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;wBAClD,eAAe,EAAE,GAAG,CAAC,eAAe;wBACpC,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,WAAW,EACT,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvC,CAAC,CAAC,GAAG,CAAC,IAAI;4BACV,CAAC,CAAC,GAAG,CAAC,WAAW;wBACrB,MAAM,EAAE,EAAc;wBACtB,QAAQ,EAAE,EAAc;wBACxB,UAAU,EAAE,EAAc;wBAC1B,WAAW,EAAE,EAAc;wBAC3B,eAAe,EAAE,GAAG,CAAC,eAAe;wBACpC,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;wBAC1D,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;wBAChD,WAAW,EAAE,GAAG,CAAC,WAAW;qBACjB,CAAC;oBAEd,IAAI,GAAG,CAAC,QAAQ,EAAE;wBAChB,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzD;oBACD,IAAI,GAAG,CAAC,UAAU,EAAE;wBAClB,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC7D;oBACD,IAAI,GAAG,CAAC,WAAW,EAAE;wBACnB,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC/D;yBAAM;wBACL,QAAQ,CAAC,WAAW,GAAG;4BACrB,OAAO;4BACP,OAAO;4BACP,OAAO;4BACP,OAAO;4BACP,OAAO;4BACP,OAAO;4BACP,OAAO;yBACR,CAAC;qBACH;oBACD,IAAI,GAAG,CAAC,MAAM,EAAE;wBACd,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACzC;oBACD,IAAI,GAAG,CAAC,eAAe,EAAE;wBACvB,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;qBAChD;oBAED,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;oBAEzB,IAAI,GAAG,CAAC,KAAK,EAAE;wBACb,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;qBACnB;oBAED,IAAI,QAAQ,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACrB;iBACF;gBAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,UAAoB;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,GAAG,uDAAe,CAAC,8BAA8B,CAAC,UAAU,CAAC,CAAC;YAEzE,IAAI,QAAQ,GAAG;;;;;;;;;;;;;;;sCAeiB,OAAO;;;;;;;;;;;;;4CAaD,OAAO;;;;;OAK5C,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC;gBAE1C,OAAO,CAAC,EAAS,CAAC,CAAC;YACrB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACrD,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,IAAI,GAAG,MAAM,CAAC,MAAM,CAClB,EAAE,EACF,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CACtD,CAAC;iBACH;gBACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B,CACzB,aAAqB,GAAG,EACxB,mBAA4B,KAAK,EACjC,oBAA4B,EAAE,EAC9B,eAAwB,KAAK,EAC7B,SAAiB,EAAE,EACnB,SAAiB,CAAC,EAClB,eAAuB,CAAC,EACxB,iBAAyB,EAAE,EAC3B,iBAAyB,EAAE,EAC3B,qBAA8B,KAAK;QAEnC,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACzD,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IACE,sFAAc,CAAC,cAAc,EAAE;gBAC/B,sFAAc,CAAC,cAAc,EAAE,IAAI,GAAG,EACtC;gBACA,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,UAAU,GAAG;sFACiE,WAAW;;iFAEhB,WAAW;;+BAE7D,CAAC;aACzB;iBAAM;gBACL,UAAU,GAAG,qBAAqB,CAAC;aACpC;YAED,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,UAAU,KAAK,GAAG,EAAE;gBACtB,YAAY,GAAG;;;2BAGI,CAAC;aACrB;YAED,IAAI,QAAQ,GACV;;;;;;;;;;;;;;;4BAeoB;gBACpB,UAAU;gBACV;;;;;;;;;;;;;;2CAcmC;gBACnC,YAAY;gBACZ;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0BgB,CAAC;YAEnB,IAAI,gBAAgB,EAAE;gBACpB,QAAQ,IAAI;2FACuE,CAAC;gBACpF,IAAI,UAAU,IAAI,GAAG;oBACnB,QAAQ,IAAI,yBAAyB,UAAU,GAAG,CAAC;gBAErD,IAAI,cAAc,IAAI,EAAE,EAAE;oBACxB,IAAI,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;oBACpD,QAAQ,IAAI;;;;;qGAK+E,cAAc;yDAC1D,YAAY,sCAAsC,CAAC;iBACnG;aACF;iBAAM;gBACL,QAAQ,IAAI,qCAAqC,CAAC;aACnD;YAED,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,IAAI,UAAU,KAAK,GAAG,EAAE;gBACtB,iBAAiB,GAAG,wJAAwJ,CAAC;aAC9K;YAED,QAAQ;gBACN;;;;;;kDAM0C,WAAW;+CACd,WAAW,uBAAuB;oBACzE,iBAAiB,CAAC;YAEpB,IAAI,UAAU,IAAI,GAAG;gBACnB,QAAQ,IAAI,2BAA2B,UAAU,IAAI,CAAC;YAExD,QAAQ,IAAI,oFAAoF,KAAK,iCAAiC,uDAAe,CAAC,cAAc,EAAE;kDAC1H,uDAAe,CAAC,cAAc,EAAE;;;;;;;;;;;;;;;;;;;4BAmBtD,CAAC;YAEvB,IAAI,gBAAgB,EAAE;gBACpB,QAAQ,IAAI,4BAA4B,iBAAiB,QAAQ,CAAC;aACnE;YAED,IAAI,UAAU,IAAI,GAAG;gBACnB,QAAQ,IAAI,qBAAqB,UAAU,QAAQ,CAAC;YAEtD,QAAQ,IAAI,yBAAyB,CAAC;YAEtC,IAAI,YAAY,EAAE;gBAChB,QAAQ,IAAI,qBAAqB,MAAM,IAAI,CAAC;aAC7C;iBAAM;gBACL,IACE,sFAAc,CAAC,oBAAoB,EAAE,KAAK,MAAM;oBAChD,CAAC,kBAAkB,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,EAC9D;oBACA,IAAI,iBAAiB,GAAG;+EAC6C,CAAC;oBAEtE,IAAI,YAAY,IAAI,CAAC,EAAE;wBACrB,QAAQ,IAAI,+DAA+D,iBAAiB,2BAA2B,CAAC;qBACzH;yBAAM,IAAI,YAAY,IAAI,CAAC,EAAE;wBAC5B,IAAI,WAAW,GAAG,EAAE,CAAC;wBACrB,IAAI,UAAU,IAAI,GAAG,EAAE;4BACrB,WAAW,GAAG,qBAAqB,cAAc;yCACtB,cAAc,IAAI,CAAC;yBAC/C;wBAED,QAAQ;4BACN,gCAAgC,cAAc,wBAAwB,cAAc,+BAA+B,cAAc;iCAC9G,cAAc,6BAA6B,cAAc,GAAG;gCAC/E,YAAY,CAAC;qBAChB;yBAAM,IAAI,YAAY,IAAI,CAAC,EAAE;wBAC5B,QAAQ,IAAI,4BAA4B,cAAc,IAAI,CAAC;qBAC5D;yBAAM;wBACL,QAAQ,IAAI,mCAAmC,iBAAiB,QAAQ,iBAAiB,oBAAoB,CAAC;qBAC/G;iBACF;aACF;YAED,QAAQ,IAAI,wDAAwD,MAAM,KAAK,CAAC,CAAC,gFAAgF;YAEjK,4DAA4D;YAE5D,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC;gBAE1C,OAAO,CAAC,EAAc,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAO,WAAmB,EAAE,OAAY,EAAE,EAAE,CAAC;gBAC5D,IAAI,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9C,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEvD,IAAI,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,yBAAyB,CACvD,UAAU,CACX,CAAQ,CAAC;gBAEV,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;oBAClB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;oBAChC,CAAC,CAAC,sBAAsB,GAAG,MAAM,CAAC;oBAClC,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;wBAC7D,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;qBAClB;oBAED,CAAC,CAAC,UAAU,SAAG,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjD,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAC/B,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC3B,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;oBACjB,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;oBAClB,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAC/B,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC3B,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;oBACjB,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB;wBACzC,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBACtB,CAAC,CAAC,GAAG,CAAC;oBACR,CAAC,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B,CACzB,YAAoB,EAAE,EACtB,iBAAyB,EAAE;QAE3B,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACjE,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAE3B,IAAI,sFAAc,CAAC,iCAAiC,EAAE,EAAE;gBACtD,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;0DAwB8B,WAAW,gCAAgC,WAAW;gDAChE,KAAK;;yDAEI,sFAAc,CAAC,gBAAgB,EAAE,GAAG,CAAC;gBACtF,IAAI,SAAS,IAAI,EAAE,EAAE;oBACnB,iBAAiB,IAAI,mCAAmC,SAAS,GAAG,CAAC;iBACtE;gBACD,iBAAiB,IAAI;;uEAE0C,CAAC;aACjE;iBAAM;gBACL,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;8DAuBkC,WAAW,gCAAgC,WAAW;oDAChE,KAAK;iCACxB,CAAC;gBAE1B,IAAI,SAAS,IAAI,EAAE,IAAI,cAAc,IAAI,EAAE,EAAE;oBAC3C,IAAI,cAAc,IAAI,EAAE,EAAE;wBACxB,IAAI,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBACpD,iBAAiB,IAAI;;;;;uGAKsE,cAAc;2DAC1D,YAAY,oCAAoC,CAAC;qBACjG;oBAED,IAAI,SAAS,IAAI,EAAE,EAAE;wBACnB,2EAA2E;wBAC3E,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBAE5C,iBAAiB,IAAI;;4CAEW,SAAS;wEACmB,SAAS,2DAA2D,CAAC;qBAClI;oBAED,iBAAiB,IAAI;kFACmD,CAAC;iBAC1E;qBAAM;oBACL,iBAAiB,IAAI;;;;;;;;;;8DAU+B,CAAC;iBACtD;aACF;YAED,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBAE/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO,CAAC,EAAsB,CAAC,CAAC;YAClC,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,GAAqB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEtD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;oBACtB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,iBAAiB,EACjB,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sCAAsC,CAAC,KAAa;QAC1D,IAAI,KAAK,GACP,4EAA4E;YAC5E,KAAK;YACL,GAAG,CAAC;QAEN,OAAO,gEAAe,CAAC,gBAAgB,CAAQ,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;IACpE,CAAC;IAED,gCAAgC,CAC9B,gBAAwB,EACxB,iBAAyB,EAAE;QAE3B,OAAO,IAAI,OAAO,CAAa,CAAO,OAAY,EAAE,MAAW,EAAE,EAAE,CAAC;YAClE,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,UAAU,GAAU,MAAM,IAAI,CAAC,sCAAsC,CACvE,gBAAgB,CACjB,CAAC;YACF,IAAI,oBAAoB,GAAG,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAChB,CAAC;gBACF,oBAAoB;oBAClB,uDAAe,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;aAC3D;YAED,IAAI,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;wGAwBkE,KAAK;kDAC3D,uDAAe,CAAC,cAAc,EAAE;gDAClC,uDAAe,CAAC,cAAc,EAAE;;iFAEC,CAAC;YAE5E,IAAI,cAAc,IAAI,EAAE,EAAE;gBACxB,IAAI,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACpD,yBAAyB,IAAI;;;;;6GAKwE,cAAc;iEAC1D,YAAY,sCAAsC,CAAC;aAC7G;YAED,yBAAyB,IAAI,yBAAyB,oBAAoB;kEACd,CAAC;YAE7D,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAExD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,CAAC,EAAgB,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,GAAe,EAAE,CAAC;gBAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAE5B,MAAM,QAAQ,GAAG;wBACf,YAAY,EAAE,EAAE;wBAChB,YAAY,EAAE,EAAE;wBAChB,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,EAAc;wBAC1B,QAAQ,EAAE,EAAc;wBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;wBAC9C,IAAI,EACF,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvC,CAAC,CAAC,GAAG,CAAC,IAAI;4BACV,CAAC,CAAC,GAAG,CAAC,WAAW;wBACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,KAAK,EAAE,EAAW;wBAClB,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,EAAc;wBAC/B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;wBACtC,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,EAAc;wBACtB,cAAc,EAAE,GAAG,CAAC,cAAc;wBAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;wBACtC,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,SAAS,EAAE,EAAE;wBACb,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;wBAClD,eAAe,EAAE,GAAG,CAAC,eAAe;wBACpC,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,WAAW,EACT,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;4BACvC,CAAC,CAAC,GAAG,CAAC,IAAI;4BACV,CAAC,CAAC,GAAG,CAAC,WAAW;wBACrB,MAAM,EAAE,EAAc;wBACtB,QAAQ,EAAE,EAAc;wBACxB,UAAU,EAAE,EAAc;wBAC1B,WAAW,EAAE,EAAc;wBAC3B,eAAe,EAAE,GAAG,CAAC,eAAe;qBACzB,CAAC;oBAEd,IAAI,GAAG,CAAC,eAAe,EAAE;wBACvB,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;qBAChD;oBAED,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;oBAEzB,IAAI,GAAG,CAAC,KAAK,EAAE;wBACb,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;qBACnB;oBAED,IAAI,QAAQ,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACrB;iBACF;gBAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,yBAAyB,EACzB,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,EAAC,CAAC;IACL,CAAC;IAED,mCAAmC,CAAC,MAAc,EAAE,UAAkB;QACpE,OAAO,IAAI,OAAO,CAAe,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC7D,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAgCI,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAuCE,UAAU,wBAAwB,MAAM;;OAExE,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAE9D,OAAO,CAAC,EAAkB,CAAC,CAAC;gBAC5B,uCAAuC;YACzC,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAO,WAAmB,EAAE,OAAY,EAAE,EAAE,CAAC;gBAC5D,IAAI,IAAI,GAAiB,EAAE,CAAC;gBAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEzB,IAAI,QAAQ,GAAG,IAAI,uDAAU,EAAE,CAAC;oBAChC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;oBACpC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;oBACzB,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBACtC,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAChD,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE;wBACxB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC;qBACpC;oBACD,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;oBAC1B,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBACtC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBACtC,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;oBAC1C,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACrC,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAC/C,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;oBACnB,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;oBAC1B,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBACvC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;oBACzB,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBACvC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;oBACnB,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC5B,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAChD,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC9C,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;oBAC5C,QAAQ,CAAC,UAAU;wBACjB,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;oBACzD,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAEhD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACvC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oBAC5C,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;wBACtB,IAAI,GAAG,EAAE;4BACP,UAAU;4BACV,IAAI,GAAG,GAAG,CAAC,EAAE;gCACX,kBAAkB;gCAClB,IAAI,GAAG,IAAI,GAAG,EAAE;oCACd,QAAQ,CAAC,IAAI,GAAG,kBAAkB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,2BAA2B;oCAC1F,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;oCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;iCACpB;qCAAM;oCACL,QAAQ,CAAC,IAAI,GAAG,kBAAkB,QAAQ,CAAC,gBAAgB,QAAQ,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,4BAA4B;oCACvH,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;oCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;iCACpB;6BACF;iCAAM;gCACL,QAAQ,CAAC,IAAI,GAAG,mBAAmB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,eAAe;gCAC/E,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;6BACpB;yBACF;6BAAM,IAAI,GAAG,GAAG,CAAC,EAAE;4BAClB,UAAU;4BACV,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;gCACxB,QAAQ,CAAC,IAAI,GAAG,kBAAkB,QAAQ,CAAC,WAAW,EAAE,CAAC;gCACzD,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;6BAClB;iCAAM,IAAI,GAAG,IAAI,CAAC,EAAE;gCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,QAAQ,CAAC,WAAW,EAAE,CAAC;6BACtD;iCAAM,IAAI,GAAG,GAAG,CAAC,EAAE;gCAClB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,IAAI,GAAG,gBAAgB,QAAQ,CAAC,WAAW,EAAE,CAAC;6BACxD;yBACF;qBACF;yBAAM;wBACL,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;wBACjB,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;qBAClB;oBAED,IAAI,QAAQ,CAAC,UAAU,EAAE;wBACvB,QAAQ,CAAC,WAAW;4BAClB,MAAM,IAAI,CAAC,kCAAkC,CAC3C,MAAM,EACN,QAAQ,CAAC,UAAU,CACpB,CAAC;qBACL;oBACD,sBAAsB;oBACtB,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC9C,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC9C,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;oBACpD,QAAQ,CAAC,mCAAmC;wBAC1C,EAAE,CAAC,mCAAmC,CAAC;oBACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;wBACxC,QAAQ,CAAC,aAAa;4BACpB,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC;qBACjD;yBAAM;wBACL,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;qBACxC;oBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACrB;gBACD,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAEY,kCAAkC,CAC7C,MAAc,EACd,UAAkB;;YAElB,IAAI,wBAAwB,GAAG,EAA2C,CAAC;YAE3E,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAClE,MAAM,EACN,UAAU,CACX,CAAC;YAEF,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAErE,wBAAwB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YAClD,wBAAwB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAE7C,wBAAwB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAC1E,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;YAEF,OAAO,wBAAwB,CAAC;QAClC,CAAC;KAAA;IAED,wBAAwB,CAAC,OAAe;QACtC,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAY,EAAE,EAAE;YAClD,IAAI,eAAe,GAAG;;;;;;;;;;;;;;kEAcsC,OAAO;;;;;2GAKkC,OAAO;gEAClD,CAAC;YAE3D,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,gFAAgF;gBAChF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,qDAAqD;gBACrD,IAAI,IAAI,GAAmB,EAAE,CAAC;gBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEzB,IAAI,UAAU,GAAG;wBACf,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,aAAa,EAAE,EAAE,CAAC,aAAa;wBAC/B,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;wBACrC,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,EAAE,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;wBACvD,GAAG,EAAE,MAAM,CAAC,gBAAgB;wBAC5B,OAAO,EAAE,EAAE,CAAC,gBAAgB,IAAI,GAAG;wBACnC,GAAG,EAAE,MAAM,CAAC,gBAAgB;wBAC5B,mBAAmB,EAAE,EAAE;wBACvB,WAAW,EAAE,EAAE;wBACf,iBAAiB,EAAE,EAAE;wBACrB,oBAAoB,EAAE,EAAE;wBACxB,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAc;wBACrB,UAAU,EAAE,EAAiB;wBAC7B,UAAU,EAAE,KAAK;wBACjB,QAAQ,EAAE,KAAK;wBACf,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,IAAI,CAAC;qBAC3B,CAAC;oBAElB,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;oBACjC,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;oBAEtC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CACjC,GAAG,EACH,GAAG,EACH,EAAE,CAAC,gBAAgB,EACnB,EAAE,CAAC,WAAW,CACf,CAAC;oBACF,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACvB;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,eAAe,EACf,EAAE,EACF,aAAa,EACb,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,YAAoB,EAAE,SAAiB;QAC1D,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,EAAE;YAC5C,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IACE,sFAAc,CAAC,cAAc,EAAE;gBAC/B,sFAAc,CAAC,cAAc,EAAE,IAAI,GAAG,EACtC;gBACA,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,UAAU,GAAG;wFACmE,WAAW;;iFAElB,WAAW;;gCAE5D,CAAC;aAC1B;iBAAM;gBACL,UAAU,GAAG,qBAAqB,CAAC;aACpC;YAED,IAAI,sBAAsB,GACxB;;;;;;;;;;;;;;;;;;eAkBO;gBACP,UAAU;gBACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAiDkF,KAAK;4CACnD,WAAW;0CACb,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sGAoCiD,KAAK;gDAC3D,WAAW;8CACb,WAAW;;;gCAGzB,SAAS;yCACA,YAAY;;;;;;8CAMP,CAAC;YAEzC,EAAE;YACF,mEAAmE;YACnE,6BAA6B;YAC7B,2BAA2B;YAC3B,kCAAkC;YAClC,gCAAgC;YAEhC,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,0CAA0C,YAAY,gBAAgB,SAAS,EAAE,CAClF,CAAC;gBAEF,OAAO,CAAC,EAAc,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,MAAM,kBAAkB,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;;gBAC7D,IAAI,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC;oBACvB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;oBAC9C,CAAC,CAAC,OAAO,GAAG,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC7C,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oBACnD,CAAC,CAAC,UAAU,SAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/D,CAAC,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAC/B,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,CAAC,UAAU,EAAE;wBAChB,CAAC,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAC3D,CAAC,CAAC,MAAM,CACT,CAAC;wBACF,CAAC,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;qBAClE;iBACF;gBAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,sBAAsB,EACtB,EAAE,EACF,kBAAkB,EAClB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEa,oCAAoC,CAAC,MAAc;;YAC/D,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEhE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAClD,CAAC;YAEF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAClD,CAAC;YAEF,KACE,IAAI,mBAAmB,GAAG,CAAC,EAC3B,mBAAmB,GAAG,eAAe,CAAC,MAAM,EAC5C,mBAAmB,EAAE,EACrB;gBACA,6CAA6C;gBAE7C,4FAA4F;gBAE5F,MAAM,QAAQ,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;gBAEtD,QAAQ,CAAC,QAAQ;oBACf,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBACrE,QAAQ,CAAC,OAAO;oBACd,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;gBAEjE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACzD,QAAQ,CAAC,UAAU,CACpB,CAAC;gBACF,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;gBAEnC,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,mCAAmC,CAClE,MAAM,EACN,QAAQ,CAAC,UAAU,CACpB,CAAC;gBAEF,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;gBAE9C,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAClE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;gBAEF,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CACzC,CAAC;gBAEF,+HAA+H;gBAE/H,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;aAC5C;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IAED,0BAA0B,CAAC,EAAU;QACnC,OAAO,IAAI,OAAO,CAAe,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC7D,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAkCA,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAoCM,EAAE;;OAE1B,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBAErD,OAAO,CAAC,EAAkB,CAAC,CAAC;gBAC5B,uCAAuC;YACzC,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACrD,IAAI,IAAI,GAAiB,EAAE,CAAC;gBAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEzB,IAAI,QAAQ,GAAG,IAAI,uDAAU,EAAE,CAAC;oBAChC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;oBACpC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;oBACrB,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBACtC,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAChD,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE;wBACxB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC;qBACpC;oBACD,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;oBAC1B,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBACtC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBACtC,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;oBAC1C,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACrC,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAC/C,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBAChC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;oBACnB,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;oBAC1B,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBACvC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;oBACzB,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBACvC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;oBACnB,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC5B,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAChD,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC9C,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;oBAC5C,QAAQ,CAAC,UAAU;wBACjB,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;oBACzD,QAAQ,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBAChD,QAAQ,CAAC,sBAAsB,GAAG,EAAE,CAAC,sBAAsB,CAAC;oBAC5D,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACvC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oBAC5C,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;wBACtB,IAAI,GAAG,EAAE;4BACP,UAAU;4BACV,IAAI,GAAG,GAAG,CAAC,EAAE;gCACX,kBAAkB;gCAClB,IAAI,GAAG,IAAI,GAAG,EAAE;oCACd,QAAQ,CAAC,IAAI,GAAG,kBAAkB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,2BAA2B;oCAC1F,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;oCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;iCACpB;qCAAM;oCACL,QAAQ,CAAC,IAAI,GAAG,kBAAkB,QAAQ,CAAC,gBAAgB,QAAQ,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,4BAA4B;oCACvH,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;oCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;iCACpB;6BACF;iCAAM;gCACL,QAAQ,CAAC,IAAI,GAAG,mBAAmB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,eAAe;gCAC/E,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;6BACpB;yBACF;6BAAM,IAAI,GAAG,GAAG,CAAC,EAAE;4BAClB,UAAU;4BACV,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;gCACxB,QAAQ,CAAC,IAAI,GAAG,kBAAkB,QAAQ,CAAC,WAAW,EAAE,CAAC;gCACzD,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;6BAClB;iCAAM,IAAI,GAAG,IAAI,CAAC,EAAE;gCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,IAAI,GAAG,cAAc,QAAQ,CAAC,WAAW,EAAE,CAAC;6BACtD;iCAAM,IAAI,GAAG,GAAG,CAAC,EAAE;gCAClB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gCACnB,QAAQ,CAAC,IAAI,GAAG,gBAAgB,QAAQ,CAAC,WAAW,EAAE,CAAC;6BACxD;yBACF;qBACF;yBAAM;wBACL,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;wBACjB,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;qBAClB;oBAED,sBAAsB;oBACtB,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC9C,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBAC9C,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBACxC,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;oBACpD,QAAQ,CAAC,mCAAmC;wBAC1C,EAAE,CAAC,mCAAmC,CAAC;oBAEzC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;wBACxC,QAAQ,CAAC,aAAa;4BACpB,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC;qBACjD;yBAAM;wBACL,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;qBACxC;oBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACrB;gBACD,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC,EAAU;QACrC,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvE,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IACE,sFAAc,CAAC,cAAc,EAAE;gBAC/B,sFAAc,CAAC,cAAc,EAAE,IAAI,GAAG,EACtC;gBACA,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,UAAU,GAAG;8FACyE,WAAW;;uFAElB,WAAW;;yCAEzD,CAAC;aACnC;iBAAM;gBACL,UAAU,GAAG,+BAA+B,CAAC;aAC9C;YACD,MAAM,QAAQ,GACZ;;;;;2BAKmB;gBACnB,UAAU;gBACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmCmB,EAAE;;;;;;;;;;;;;;;;;gCAiBG,EAAE;;;;;OAK3B,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,kEAAkE;gBAElE,OAAO,CAAC,EAA4B,CAAC,CAAC;YACxC,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;;gBACrD,IAAI,iBAAiB,GAA2B,EAAE,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAE3B,IAAI,EAAE,CAAC,UAAU,IAAI,OAAO,EAAE;qBAC7B;oBAED,MAAM,aAAa,GAAG,IAAI,iEAAoB,EAAE,CAAC;oBACjD,aAAa,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;oBACzC,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACrC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;oBACjC,aAAa,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;oBACzC,aAAa,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAC7B,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;oBACvC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;oBACjC,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBAC7C,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBAC7C,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;oBACvC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;oBACvC,aAAa,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBACrD,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBAC7C,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;oBAC7B,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE;wBACxB,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC;qBACrC;oBACD,aAAa,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBAC3C,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACrC,aAAa,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;oBACrD,aAAa,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;oBACzC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;oBACnC,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;oBAC7C,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;oBACxB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;oBACzB,aAAa,CAAC,QAAQ,SACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClD,aAAa,CAAC,cAAc,GAAG,EAAE,CAAC,cAAc,CAAC;oBACjD,aAAa,CAAC,UAAU;wBACtB,aAAa,CAAC,SAAS,IAAI,MAAM;4BACjC,aAAa,CAAC,cAAc,IAAI,MAAM,CAAC;oBACzC,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;oBACrC,CAAC,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;wBAC5C,CAAC,aAAa,CAAC,kBAAkB;4BAC/B,aAAa,CAAC,SAAS,IAAI,MAAM;gCACjC,CAAC,aAAa,CAAC,cAAc,IAAI,OAAO;oCACtC,aAAa,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC;oBAC9C,aAAa,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBACnD,aAAa,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;oBACnD,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;oBACjC,IAAI,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,IAAI,EAAE,EAAE;wBAC1D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;qBACtD;oBAED,IACE,aAAa,CAAC,gBAAgB;wBAC9B,aAAa,CAAC,gBAAgB,IAAI,EAAE,EACpC;wBACA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;qBAC9D;oBAED,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACvC;gBAED,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,qBAAqB,CAAC,UAA0B,EAAE,MAAc;;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAI,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAExC,6EAA6E;gBAE7E,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACnD,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAC1B,MAAM,CACP,CAAC;gBAEF,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,MAAM,CACjD,CAAC;gBACF,IAAI,QAAQ,EAAE;oBACZ,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAC/B;qBAAM;oBACL,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC/B,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;iBACjC;gBAED,6EAA6E;gBAC7E,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAE7C,oFAAoF;gBAEpF,kHAAkH;gBAElH,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC;gBAEtC,IAAI,eAAe,IAAI,eAAe,IAAI,SAAS,EAAE;oBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC/C,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4BACjC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;4BAChC,MAAM;yBACP;qBACF;iBACF;aACF;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC;KAAA;IAED,qCAAqC;QACnC,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACjE,IAAI,iBAAiB,GAAG;;;;;;;;;;;;;;;;;sDAiBwB,CAAC;YAEjD,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBAE/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpC,OAAO,CAAC,EAAsB,CAAC,CAAC;YAClC,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,GAAqB,EAAE,CAAC;gBAEhC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;oBAC3B,IAAI,uBAAuB,GAAG,EAAE,CAAC,uBAAuB;wBACtD,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,MAAM;wBACpD,CAAC,CAAC,KAAK,CAAC;oBAEV,IAAI,GAAG,GAAmB;wBACxB,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;wBACrC,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,WAAW,EAAE,EAAE;wBACf,WAAW,EAAE,EAAE;wBACf,uBAAuB,EAAE,uBAAuB;wBAChD,UAAU,EAAE,EAAE,CAAC,UAAU;wBACzB,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,aAAa,EAAE,EAAE,CAAC,aAAa;wBAC/B,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,KAAK;wBACf,mBAAmB,EAAE,EAAE;qBACxB,CAAC;oBAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAChB;gBAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,iBAAiB,EACjB,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC,CAC9B,SAAiB;QAEjB,OAAO,IAAI,OAAO,CAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACpE,MAAM,QAAQ,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAC9C,IAAI,IAAI,GAAiC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEjE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,KAAK,GAAG,+DAA+D,SAAS;WAC3E,CAAC;YAEN,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,SAAc;QACtC,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAY,EAAE,EAAE;YAC1D,IAAI,KAAK,GAAG;;;;0BAIQ,SAAS,GAAG,CAAC;YAEjC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBACvC,IAAI,IAAI,GAA2B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE3D,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,YAAY,GAAG,cAAa,CAAC,CAAC;YACpC,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,2BAA2B,CAAC,EAAU;QACpC,OAAO,IAAI,OAAO,CAAM,CAAC,OAAY,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG;;;yBAGE,EAAE;;;;;;;yBAOF,EAAE,GAAG,CAAC;YAEzB,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,uDAAuD,EACvD,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACrD,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClB;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACG,yBAAyB,CAAC,EAAU;;YACxC,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAEjE,IAAI,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjE,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;gBACtD,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;gBAEpC,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAC5D,eAAe,EACf,EAAE,CACH,CAAC;gBAEF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;oBACnC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;oBACrC,OAAO,eAAe,CAAC;iBACxB;aACF;YAED,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAED;;OAEG;IACH,sBAAsB,CAAC,QAAgB;QACrC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,sEAAsE,QAAQ,GAAG,CAAC;YAEhG,MAAM,KAAK,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC3C,uFAAuF;gBAEvF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACpD,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBACtB;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAgB;QACtC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,yDAAyD,QAAQ,GAAG,CAAC;YAEnF,MAAM,KAAK,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC3C,uFAAuF;gBAEvF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBACpD,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACvB;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,QAAQ,GAAG;;;sHAGiG,CAAC;YAEjH,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAC3C,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpC;gBAED,OAAO,CAAC,aAAa,CAAC,CAAC;YACzB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAChD,OAAO,CAAC,GAAG,CACT,kDAAkD,EAClD,MAAM,CAAC,OAAO,CACf,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,QAAQ,EACR,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,IAAS;QAC9B,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACzD,IAAI,KAAK,GAAG;;;;;;4CAM0B,IAAI,CAAC,MAAM,GAAG,CAAC;YAErD,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACxB;gBAED,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG;gBACnB,MAAM,CAAC,EAAE,CAAC,CAAC;YACb,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC/D,IAAI,KAAK,GAAG;oFACkE,CAAC;YAE/E,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBACvC,MAAM,iBAAiB,GAAmB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,UAAU,EAAU,EAAE,MAAW;gBACpD,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACpB,OAAO,IAAI,OAAO,CAChB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC5B,IAAI,sBAAsB,GAAG,sDAAsD,CAAC;YAEpF,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBAEpD,OAAO,CAAC,EAAiC,CAAC,CAAC;YAC7C,CAAC,CAAC;YAEF,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC1D,IAAI,IAAI,GAAgC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,sBAAsB,EACtB,EAAE,EACF,sBAAsB,EACtB,aAAa,CACd,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,+CAA+C,CAAC,gBAAwB;QACtE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvD,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAC3B,iBAAiB,GAAG;;6DAEmC,gBAAgB,GAAG,CAAC;YAE3E,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;iBAC9C;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,iBAAiB,EACjB,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACG,mBAAmB;;YACvB,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAEpD,IAAI,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnE,gBAAgB,CAAC,OAAO,CAAC,CAAO,OAAO,EAAE,EAAE,CAAC;oBAC1C,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC9D,OAAO,CAAC,yBAAyB,GAAG,QAAQ,CAAC;gBAC/C,CAAC,EAAC,CAAC;gBACH,OAAO,gBAAgB,CAAC;aACzB;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvE,IAAI,eAAe,GAAG;oEACwC,CAAC;YAC/D,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBAErD,OAAO,CAAC,EAA4B,CAAC,CAAC;YACxC,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACnD,IAAI,IAAI,GAA2B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,eAAe,EACf,EAAE,EACF,eAAe,EACf,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,UAAkB,EAAE;QAC9B,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvE,IAAI,kBAAkB,GAAG;;;;;;6FAM8D,OAAO;0DAC1C,CAAC;YACrD,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACrD,gFAAoB,CAAC;gBACrB,OAAO,CAAC,EAA4B,CAAC,CAAC;YACxC,CAAC,CAAC;YAEF,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACtD,IAAI,IAAI,GAA2B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,kBAAkB,EAClB,EAAE,EACF,kBAAkB,EAClB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sBAAsB,CAAC,iBAAyB,EAAE;QAChD,OAAO,IAAI,OAAO,CAAwB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACtE,IAAI,sBAAsB,GAAG,4DAA4D,cAAc,GAAG,CAAC;YAC3G,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,EAA2B,CAAC,CAAC;YACvC,CAAC,CAAC;YAEF,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACtD,IAAI,IAAI,GAA0B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,sBAAsB,EACtB,EAAE,EACF,kBAAkB,EAClB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,wDAAwD,sFAAc,CAAC,WAAW,EAAE,GAAG,CAAC;YAEtG,SAAS,QAAQ,CAAC,EAAU,EAAE,IAAS;gBACrC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvB;qBAAM;oBACL,OAAO,CAAC,EAAuB,CAAC,CAAC;iBAClC;YACH,CAAC;YAED,SAAS,aAAa,CAAC,EAAU,EAAE,IAAS;gBAC1C,OAAO,CAAC,EAAuB,CAAC,CAAC;YACnC,CAAC;YACD,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,8BAA8B,CAClC,UAAkB,EAClB,MAAc,EACd,UAAkB,EAClB,KAAa;;YAEb,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,kEAAkE,UAAU,GAAG,CAAC;aACzF;iBAAM;gBACL,KAAK,GAAG,kEAAkE,UAAU,mBAAmB,MAAM,GAAG,CAAC;aAClH;YAED,IAAI,UAAU,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CACrD,KAAK,CACN,CAAC,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO;aACR;YAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEzD,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,iDAAiD;YACnD,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,mDAAmD,EACnD,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC,CAAC;YAEF,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,SAAS;oBACP,0DAA0D;wBAC1D,UAAU;wBACV,wBAAwB;wBACxB,UAAU;wBACV,GAAG,CAAC;aACP;iBAAM;gBACL,SAAS;oBACP,0DAA0D;wBAC1D,UAAU;wBACV,wBAAwB;wBACxB,UAAU;wBACV,kBAAkB;wBAClB,MAAM;wBACN,GAAG,CAAC;aACP;YACD,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC;KAAA;;8EAz4IU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;ACpCkB;AAEK;;;AAOpC,MAAM,+BAA+B;IAE1C,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAI,CAAC;IAElD,kBAAkB;QAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,IAAI,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,WAAW;SACzB,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB;QACd,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,IAAI,WAAW,GAAG,cAAc,CAAC;QACjC,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,WAAW;SACzB,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAEK,cAAc,CAAC,SAAiB,EAAC,QAA0B;;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,IAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,iDAAI,CAAC,OAAO,EAAE,CAAC;YAC1F,QAAQ,CAAC,sBAAsB,GAAG,MAAM,CAAC;YACzC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YACzC,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC;YACxB,QAAQ,CAAC,UAAU,GAAG,uDAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEzF,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1D,MAAM,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBAC7E,IAAI,QAAQ,EAAE;wBACZ,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC7D,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;4BACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACnD,IAAI,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gCACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCAC1D,IAAI,SAAS,CAAC,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,IAAI,SAAS,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;wCAC/G,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,IAAI,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wCAC3G,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;4CAC7G,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;4CAC3B,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;yCACjD;6CACI;4CACH,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;yCAClD;qCACF;iCACF;6BACF;yBACF;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;;8GAvDU,+BAA+B;kHAA/B,+BAA+B,WAA/B,+BAA+B,mBAH9B,MAAM;;;;;;;;;;;;;ACNpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAIpB;AAEc;AACI;AAC6C;AACjB;AAC6B;AACQ;AACjD;AACH;;;;;;;;;;;ICHxF,0EAA2C;IACzC,wEAIC;IADC,6TAA8B;IAC/B,4DAAI;IACP,4DAAM;;;;IAMF,qEAME;;;;IAHA,gSAAoH;IADpH,0IAAkD;;;IAHtD,0EAAkE;IAChE,iHAME;IACJ,4DAAM;;;IAND,0DAAkC;IAAlC,sGAAkC;;;IAoBzC,0EAAwC;IACtC,qEAAI;IAAA,uDAAe;IAAA,4DAAK;IAC1B,4DAAM;;;IADA,0DAAe;IAAf,mFAAe;;;;IAGrB,0EAKC;IACC,qEAAI;IAAA,uDAAqI;IAAA,4DAAK;IAChJ,4DAAM;;;IAJJ,4JAAkC;IAG9B,0DAAqI;IAArI,kPAAqI;;;;IAGzI,4EAWE;IAFA,mVAAsB;IATxB,4DAWE;;;IALA,6FAAsB;IAGtB,oFAAsB;;;;IAItB,2EAKC;IADC,0UAAoC;IAEpC,qEAGE;IACJ,4DAAO;;;;IAEP,0EAKC;IACC,uDACF;IAAA,4DAAM;;;IAJJ,gHAAoD;IAFpD,6JAAiC;IAKjC,0DACF;IADE,iIACF;;;;IAEA,2EAKC;IADC,0UAAoC;IAEpC,qEAGE;IACJ,4DAAO;;;IAOX,6EAIC;IACC,uDACF;;IAAA,4DAAS;;;IAHP,4JAAkC;IAElC,0DACF;IADE,iKACF;;;;;;AD3FK,MAAM,cAAc;IAqDzB,YACmB,cAA8B,EAC9B,YAAsB,EACtB,MAAc,EACvB,QAAyB,EAChB,WAAyB;QAJzB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAU;QACtB,WAAM,GAAN,MAAM,CAAQ;QACvB,aAAQ,GAAR,QAAQ,CAAiB;QAChB,gBAAW,GAAX,WAAW,CAAc;QAjDpC,oBAAe,GAAmB,EAAE,CAAC;QAEpC,SAAI,GAAW,EAAY,CAAC;QAE5B,cAAS,GAAW,CAAC,CAAC;QAEtB,aAAQ,GAAW,CAAC,CAAC;QACrB,kBAAa,GAAY,KAAK,CAAC;QAE/B,WAAM,GAAiB,EAAkB,CAAC;QAE1C,mBAAc,GAAW,CAAC,CAAC;QAE1B,iBAAY,GAAG,IAAI,0DAAY,EAAgB,CAAC;QAE1D,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,wEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,wEAAW,CAAC,kBAAkB,CAAC;QAEnC,iBAAY,GAAW,EAAE,CAAC;QAE1B,UAAK,GAAW,EAAE,CAAC;QAEnB,cAAS,GAAY,KAAK,CAAC;QAE3B,cAAS,GAAW,EAAE,CAAC;QAEvB,aAAQ,GAAW,CAAC,CAAC;QAErB,UAAK,GAAW,EAAE,CAAC;QAEnB,gBAAW,GAAY,IAAI,CAAC;QAC5B,iBAAY,GAAS,sFAAc,CAAC,oBAAoB,EAAE,IAAE,MAAM;QAClE,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAkB,EAAE,CAAC;QAC/B,gBAAW,GAAW,EAAE,CAAC;QACzB,oBAAe,GAAY,KAAK,CAAC;QACjC,qBAAgB,GAAY,EAAE,CAAC;QAE/B,+BAA0B,GAAG,sFAAc,CAAC,6BAA6B,EAAE,CAAC;QAE5E,kBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAW,GAAW,EAAE,CAAC;QACzB,gBAAW,GAAW,EAAE,CAAC;QAQvB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAhED,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IA2DD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,sFAAc,CAAC,eAAe,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,sFAAc,CAAC,mBAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe;YAClB,sFAAc,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QAE9D,IACE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO;YAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IACE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzD,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EACxD;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IAEO,eAAe,CAAC,MAAoB,EAAE,SAAiB;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,MAAM,CAAC;SACf;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpE,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE;YAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE;YAC3B,iEAAiE;YACjE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YAEjB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;YAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE;YAC5D,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACxC,uIAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAC5D,CAAC,MAAW,EAAE,EAAE;YACd,IAAI,MAAM,IAAI,OAAO,EAAE;gBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;wBAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjD,IACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;gCAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB;oCAC1C,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACtC;gCACA,MAAM,cAAc,GAAG,MAAM,CAC3B,sFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;gCACF,IAAI,cAAc,GAAG,CAAC;oCACpB,sFAAc,CAAC,sBAAsB,CACnC,MAAM,CACJ,cAAc;wCACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtD,CAAC,QAAQ,EAAE,CACb,CAAC;6BACL;4BACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;yBACzC;qBACF;oBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBAC9B;qBAAM;oBACL,IACE,IAAI,CAAC,uBAAuB;wBAC5B,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;wBACA,MAAM,cAAc,GAAG,MAAM,CAC3B,sFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;wBACF,IAAI,cAAc,GAAG,CAAC;4BACpB,sFAAc,CAAC,sBAAsB,CACnC,MAAM,CACJ,cAAc;gCACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtD,CAAC,QAAQ,EAAE,CACb,CAAC;qBACL;oBACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACrC;aACF;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,sFAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IACE,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACrE;gBACA,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;oBAC/C,IAAI,IAAI,IAAI,QAAQ,EAAE;wBACpB,sFAAc,CAAC,sBAAsB,CACnC,MAAM,CACJ,cAAc;4BACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtD,CAAC,QAAQ,EAAE,CACb,CAAC;qBACH;yBAAM,IAAI,IAAI,IAAI,iBAAiB,EAAE;wBACpC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;qBACzB;yBAAM;wBACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;qBACzB;oBAED,OAAO;gBACT,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,OAAO;aACR;SACF;aAAM;YACL,kBAAkB;YAClB,IACE,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACrE;gBACA,sFAAc,CAAC,sBAAsB,CACnC,MAAM,CACJ,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrE,CAAC,QAAQ,EAAE,CACb,CAAC;aACH;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;SACR;IACH,CAAC;IAEO,iBAAiB,CAAC,IAAY;QACpC,IACE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,EAClD;YACA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,8BAA8B;gBAC9B,uEAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAkB,EAAE,EAAE;oBAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnB,IAAI,sFAAc,CAAC,8BAA8B,EAAE,IAAI,MAAM,EAAE;4BAC7D,0GAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;yBAC9D;6BAAM;4BACL,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBAC9B;qBACF;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;qBACzB;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACrB;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,GAAG,GAAW,MAAM,CACtB,sFAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,CACnD,CAAC;YACF,IAAI,GAAG,GAAG,CAAC,EAAE;gBACX,MAAM,OAAO,GAAW,MAAM,CAAC,sFAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBACxE,IAAI,QAAQ,GACV,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAChE,IAAI,OAAO,KAAK,GAAG,IAAI,QAAQ,GAAG,GAAG,EAAE;oBACrC,2JAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACzD,OAAO,CAAC,iBAAiB,CAAC,CAAC;iBAC5B;qBAAM;oBACL,IAAI,KAAK,GAAG,mJAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACnE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;wBAC9B,IAAI,IAAI,KAAK,MAAM,EAAE;4BACnB,OAAO,CAAC,QAAQ,CAAC,CAAC;yBACnB;6BAAM;4BACL,OAAO,CAAC,SAAS,CAAC,CAAC;yBACpB;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,MAAM,kBAAkB,GACtB,sFAAc,CAAC,4BAA4B,EAAE,IAAI,IAAI;YACrD,sFAAc,CAAC,4BAA4B,EAAE,IAAI,EAAE;YACjD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,CAAC,sFAAc,CAAC,4BAA4B,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,kBAAkB,IAAI,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACtB,MAAM,QAAQ,GAAW,MAAM,CAC7B,sFAAc,CAAC,4BAA4B,EAAE,CAC9C,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,mBAAmB,GAAG,uEAAe,CAAC,uBAAuB,CAC/D,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,IAAI,CACL,CAAC;QAEF,IAAI,mBAAmB,GAAG,QAAQ,EAAE;YAClC,2JAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1D;aAAM;YACL,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpE,IACE,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACrE;gBACA,sFAAc,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;SACF;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ;YACZ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ;gBACf,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC,IAAI,CAAC,gBAAgB,IAAG,EAAE,EAAC,CAAC,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,8CAA8C;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CACpB,CAAC,MAAM,CAAC;QACT,MAAM,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;QAE/C,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,MAAM,cAAc,GAAG,sHAAuB,CAAC,IAAI,CACjD,IAAI,CAAC,YAAY,EACjB,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACzC,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE/C,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACzB;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrC;iBAAM;gBACL,MAAM,IAAI,GAAG,MAAgB,CAAC;gBAE9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEhE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IACE,IAAI,CAAC,uBAAuB;wBAC5B,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;wBACA,MAAM,cAAc,GAAG,MAAM,CAC3B,sFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;wBACF,sFAAc,CAAC,sBAAsB,CACnC,MAAM,CACJ,cAAc;4BACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtD,CAAC,QAAQ,EAAE,CACb,CAAC;qBACH;oBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACrC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,uEAAe,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAClE;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;IACH,CAAC;IAED,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,wCAAwC;QACxC,sFAAsF;QAEtF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE;YAChE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO;SACR;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YAC/C,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,YAAY,CAAC,CAAM;QACjB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;YACzE,IAAI,mBAAmB,GAAG,uEAAe,CAAC,uBAAuB,CAC/D,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EACrB,KAAK,CACN,CAAC;YACF,sFAAc,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvE;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB,CAAC,CAAM;QACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,sFAAc,CAAC,4BAA4B,EAAE,CAAC;QAC/D,IAAI,KAAK,IAAI,GAAG,EAAE;YAChB,OAAO;SACR;QACD,IACE,QAAQ,KAAK,IAAI;YACjB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACzE;YACA,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;IACH,CAAC;IAED,kBAAkB,CAAC,CAAM;QACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IACE,IAAI,CAAC,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC1E;YACA,IAAI,mBAAmB,GAAG,uEAAe,CAAC,uBAAuB,CAC/D,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,EACb,KAAK,CACN,CAAC;YACF,sFAAc,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvE;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAE7B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uEAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,0CAA0C;IAClC,WAAW,CAAC,IAAkB,EAAE,IAAY;QAClD,uGAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAC9D,CAAC,IAAY,EAAE,EAAE;YACf,IAAI,IAAI,IAAI,UAAU,EAAE;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACzB;YACD,QAAQ;YACR,eAAe;YACf,wCAAwC;QAC1C,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,IAAI,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;YACzE,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC/C,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrB;IACH,CAAC;;4EA/jBU,cAAc;8FAAd,cAAc;QCvB3B,yEAUC;QADC,mIAAS,iBAAa,IAAC;QAEvB,0GAMM;QACN,yEAAsB;QACpB,yEAAkB;QAAA,uDAAe;QAAA,4DAAM;QACzC,4DAAM;QACN,0EAA2D;QACzD,0GAQM;QACR,4DAAO;QAEP,yEAA2C;QACzC,oEAOE;QACJ,4DAAM;QAEN,0GAEM;QAEN,4GAOM;QACN,2EAA4B;QAC1B,iHAWE;QACF,2EAA4B;QAC1B,+GAUO;QAEP,6GAOM;QAEN,+GAUO;QACT,4DAAM;QACR,4DAAM;QAKN,mHAMS;QACX,4DAAM;;QA9GJ,+IAA2E;QAD3E,+HAAmE;QAHnE,2IAEE;QAQkB,0DAAqB;QAArB,qFAAqB;QAQrB,0DAAe;QAAf,8EAAe;QAGV,0DAAkB;QAAlB,wFAAkB;QAcvC,0DAA8D;QAA9D,mMAA8D;QAG9D,0JAAkC;QAKf,0DAAe;QAAf,+EAAe;QAKnC,0DAAkB;QAAlB,kFAAkB;QAkBhB,0DAAuC;QAAvC,2GAAuC;QAMrC,0DAAuC;QAAvC,2GAAuC;QAavC,0DAAiC;QAAjC,iGAAiC;QAQjC,0DAAuC;QAAvC,2GAAuC;QAe3C,0DAAoC;QAApC,wGAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GoB;AACqB;AAExB;AAEa;AACb;AACf;AAQyD;AAI/C;;;;;;;;;AAK9C,MAAM,eAAe;IAO1B,YAAoB,IAAgB,EAAE,cAA8B,EAAU,MAAkB,EACvF,YAAsB,EACrB,QAAyB,EACzB,WAAwB,EACxB,QAAyB;QAJf,SAAI,GAAJ,IAAI,CAAY;QAA0C,WAAM,GAAN,MAAM,CAAY;QACvF,iBAAY,GAAZ,YAAY,CAAU;QACrB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QAVnC,YAAO,GAAW,qEAAW,CAAC,MAAM,CAAC;QACrC,+BAA0B,GAAW,yBAAyB,CAAC;QAC/D,YAAO,GAAY,IAAI,CAAC;QACxB,kBAAa,GAAyB,EAAyB,CAAC;QAS9D,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAEF,gBAAgB,CAAC,aAAmC;QAClD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEK,gBAAgB;;YACpB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,aAAa,CAAC;iBAC9E;gBACH,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;QACH,CAAC;KAAA;IAED,sBAAsB,CACpB,UAAkB,EAClB,UAAkB;QAGlB,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,SAAS,EAAC,KAAK,CAAC;aACpB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;aACvC,GAAG,CAAC,WAAW,EAAE,sEAAc,CAAC,YAAY,EAAE,CAAC;aAC/C,GAAG,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,uDAAe,CAAC,kBAAkB,EAAE;YAC1C,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,UAAU;SACvB,CAAC;QAEF,OAAO,IAAI,+CAAU,EAAU,CAAC;IAClC,CAAC;IAED;;;;KAIC;IACC,YAAY,CAAC,KAAwB;QACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,YAAY,EACZ,iCAAiC,EACjC,OAAO,EACP,sBAAsB,KAAK,EAAE,EAC7B,IAAI,CACL,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,uDAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEO,gBAAgB,CAAC,aAAiC,EAAE,MAAc,EAAE,QAAiB;QAC3F,IAAI,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;QAC5B,IAAI,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACjE,KAAK,GAAI,QAAQ,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;QACjC,IAAG,YAAY,IAAI,OAAO,EAAC;YACzB,QAAQ,GAAG,YAAY,CAAC;SACzB;aAAI;YACH,QAAQ,GAAG,OAAO,CAAC;SACpB;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,kBAAkB,CAAC,aAAiC,EAAE,MAAc,EAAE,QAAiB,EAAE,UAAmB,CAAC;QAClH,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,eAAe,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC;QAC1C,IAAG,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,MAAM,EAAC;YAC/E,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,IAAG,QAAQ,IAAI,aAAa,CAAC,cAAc,EAAC;gBAC1C,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAC1B,CAAC;gBAEF,IAAG,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,EAAC;oBAC7E,YAAY,GAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAC/C;qBAAI;oBACH,YAAY,GAAG,OAAO,CAAC;iBACxB;gBAED,IAAG,YAAY,GAAG,CAAC,EAAC;oBAClB,IAAG,QAAQ,IAAI,YAAY,IAAI,YAAY,GAAC,CAAC,GAAG,YAAY,EAAC;wBAC3D,eAAe,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAC,aAAa,CAAC,cAAc,EAAC,aAAa,CAAC,QAAQ,EAAC,IAAI,CAAC,CAAC;qBAChG;yBAAK,IAAG,YAAY,IAAI,QAAQ,EAAC;wBAChC,eAAe,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAC,CAAC,EAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAC,UAAU,EAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;qBAClK;yBAAI;wBACH,eAAe,GAAG,CAAC,CAAC;qBACrB;iBACF;qBAAI;oBACH,eAAe,GAAG,CAAC,CAAC;iBACrB;aACF;iBAAI;gBACH,eAAe,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACxF;SACF;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,kBAAkB,CAAC,QAAiB,EAAC,cAAuB,EAAE,QAAiB,EAAC,iBAA2B,KAAK;QACtH,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,+GAAqB,CAAE,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/E;iBAAI;gBACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;aAC7B;YAED,IAAG,cAAc,EAAC;gBAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,QAAQ,EACR,yCAAyC,GAAC,QAAQ,GAAC,mBAAmB,CACvE,CAAC;aACH;iBAAI;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,QAAQ,EACR,qCAAqC,GAAC,uDAAe,CAAC,UAAU,CAC9D,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,WAAW,GAAC,QAAQ,GAAC,kBAAkB,GAAC,QAAQ,CACzF,CAAC;aACH;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEM,gBAAgB,CAAC,aAAiC,EAAC,IAAU,EAAE,UAAmB,CAAC;QACxF,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjF,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,QAAiB,EAAE,MAAe,EAAE,MAAe;QAC7E,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IACtC,CAAC;IAEM,uBAAuB,CAAC,aAAiC,EAAC,IAAU,EAAE,YAAsB;QACjG,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,gBAAgB,GAAG,EAAuB,CAAE;QAChD,IAAG,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAC;YAEnE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,SAAS,GAAG,uDAAe,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE1D,IAAG,YAAY,EAAC;gBACd,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1D,IAAG,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAC;oBACzC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACrG;qBAAI;oBACH,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC;iBAC/F;aACF;iBAAI;gBACH,IAAG,OAAO,GAAG,CAAC,EAAC;oBACb,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;oBAChC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC;iBAC/F;qBACI,IAAG,OAAO,IAAI,CAAC,EAAC;oBACnB,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;oBAChC,IAAG,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAC;wBACzC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBACrG;yBAAI;wBACH,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC;qBAC/F;iBACF;aACF;SACF;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAGM,uBAAuB,CAAC,aAAiC,EAAE,MAAc,EAAE,QAAiB,EAAE,WAAqB,KAAK;QAC7H,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,gBAAgB,GAAG,EAAuB,CAAE;QAChD,IAAG,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAC;YAC5F,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAC1B,CAAC;YACF,IAAG,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAC;gBAC5G,IAAG,QAAQ,IAAI,aAAa,CAAC,cAAc,EAAC;oBAC1C,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAChE,IAAG,QAAQ,IAAI,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAC;wBAC1E,eAAe,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAC,aAAa,CAAC,cAAc,EAAC,aAAa,CAAC,QAAQ,EAAC,IAAI,CAAC,CAAC;qBAChG;yBAAK,IAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAC;wBAChD,eAAe,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAC,UAAU,EAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;qBACjL;yBAAI;wBACH,eAAe,GAAG,CAAC,CAAC;qBACrB;oBACD,gBAAgB,GAAG;wBACjB,MAAM,EAAG,MAAM;wBACf,cAAc,EAAE,CAAC;wBACjB,eAAe,EAAE,CAAC;wBAClB,yBAAyB,EAAE,CAAC;wBAC5B,KAAK,EAAE,eAAe;wBACtB,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAC,EAAE;qBACZ,CAAC;iBACL;qBAAI;oBACH,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACvF,gBAAgB,GAAG;wBACjB,MAAM,EAAG,MAAM;wBACf,cAAc,EAAE,CAAC;wBACjB,eAAe,EAAE,CAAC;wBAClB,yBAAyB,EAAE,CAAC;wBAC5B,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAC,EAAE;qBACZ,CAAC;iBACH;aACF;iBAAI;gBACH,gBAAgB,GAAG;oBACjB,MAAM,EAAG,MAAM;oBACf,cAAc,EAAE,CAAC;oBACjB,eAAe,EAAE,CAAC;oBAClB,yBAAyB,EAAE,CAAC;oBAC5B,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAC,EAAE;iBACZ,CAAC;aACH;SACF;aAAI;YACD,gBAAgB,GAAG;gBACjB,MAAM,EAAG,MAAM;gBACf,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;gBAClB,yBAAyB,EAAE,CAAC;gBAC5B,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAC,EAAE;aACZ,CAAC;SACL;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAGY,6BAA6B,CAAC,QAAiB;;YAC1D,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClD,IAAI,gBAAgB,GAAG,EAAuB,CAAE;YAChD,IAAG,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC;gBAC7D,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC;aACrG;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KAAA;IAEM,oBAAoB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAEtE,IAAI,KAAK,GAAG;;;;;;;;;;+BAUa,WAAW;6BACb,WAAW;4BACZ,sEAAc,CAAC,WAAW,EAAE;8BAC1B,sEAAc,CAAC,YAAY,EAAE,yCAAyC,CAAC;YAE/F,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC5C,IAAI,IAAI,GAAwB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEzD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,OAAO,CAAC,EAAyB,CAAC,CAAC;YACrC,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;;8EAzSU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;ACnBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKwB;AACiD;;;;;;;;;;;ICA/D,0EAAkD;IAChD,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC7B,4DAAM;;;IADD,0DAAoB;IAApB,wFAAoB;;;IAF3B,sEAAwC;IACtC,6HAEM;IACR,4DAAM;;;IAHE,0DAA4B;IAA5B,+FAA4B;;;ADSrC,MAAM,yBAAyB;IAmCpC,YACS,YAAsB,EACrB,WAAwB,EACxB,eAAgC,EACvB,cAA8B,EACvC,QAAyB;QAJ1B,iBAAY,GAAZ,YAAY,CAAU;QACrB,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QACvC,aAAQ,GAAR,QAAQ,CAAiB;QAzBnC,4BAAuB,GAAkB,EAAE,CAAC;QAE5C,qBAAgB,GAAW,EAAE,CAAC;QAE9B,qBAAgB,GAAW,EAAE,CAAC;QAE9B,mBAAc,GAAW,EAAE,CAAC;QAE5B,qBAAgB,GAAW,EAAE,CAAC;QAE9B,kBAAa,GAAkB,EAAE,CAAC;QAElC,sBAAiB,GAAkB,EAAE,CAAC;QAItC,cAAS,GAAG,KAAK,CAAC;QAElB,YAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAQrC,CAAC;IAvCJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;QACD,IAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;YACpC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7C;IACH,CAAC;IAmCD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,4CAA4C;IAC5C,aAAa;QACX,IAAI,aAAa,GAAgB,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAgB,CAAC;QACtF,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAE,0BAA0B,CAAE,CAAC;QACnF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,GAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;IACzE,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAChE,sBAAsB;YACtB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI;QACF,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACrE,sBAAsB;YACtB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAGD,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,KAAU;QACxB,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;kGAtHU,yBAAyB;yGAAzB,yBAAyB;QCnBtC,yEAAyC;QACvC,yEAAoB;QAClB,wEAAwB;QAAA,uDAAoB;QAAA,4DAAK;QACnD,4DAAM;QACN,0EAAoE;QAAvC,qJAAY,kBAAc,IAAC;QACtD,yEAA2C;QACzC,yEAAsC;QACpC,wEAAO;QAAA,uDAAoB;QAAA,4DAAQ;QACnC,2EAA+T;QAAlN,8MAAqC;QAAlJ,4DAA+T;QAC/T,uHAIM;QACR,4DAAM;QACR,4DAAM;QAEN,0EAAoB;QAClB,6EACmE;QACjE,wDACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAO;QACT,4DAAM;;QAtBsB,0DAAoB;QAApB,qFAAoB;QAExC,0DAAsB;QAAtB,mFAAsB;QAGf,0DAAoB;QAApB,qFAAoB;QACa,0DAAoE;QAApE,4LAAoE;QACtG,0DAAgC;QAAhC,oGAAgC;QASgB,0DAAwC;QAAxC,gGAAwC;QAE9F,0DACF;QADE,8FACF;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpByD;AAEJ;AAOhB;AAGe;;;;;;;AAKnD,MAAM,YAAY;IAGvB,YAA6B,IAAgB,EACnC,cAAiC,EACjC,WAAwB,EACxB,eAAgC,EAChC,QAAkB;QAJC,SAAI,GAAJ,IAAI,CAAY;QACnC,mBAAc,GAAd,cAAc,CAAmB;QACjC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,aAAQ,GAAR,QAAQ,CAAU;QANpB,eAAU,GAAG,wEAAW,CAAC,MAAM,CAAC;IAMP,CAAC;IAGlC,SAAS,CAAC,oBAA2B;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC5B,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC;aACrB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;aACvC,GAAG,CAAC,WAAW,EAAE,sEAAc,CAAC,YAAY,EAAE,CAAC;aAC/C,GAAG,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC;aAC7C,GAAG,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QAGjD,eAAe;QACf,+BAA+B;QAC/B,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAGD,mBAAmB,CAAC,aAA4B;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC5B,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC;aACrB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;aACvC,GAAG,CAAC,WAAW,EAAE,sEAAc,CAAC,YAAY,EAAE,CAAC;aAC/C,GAAG,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC;aAC7C,GAAG,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAGD,oBAAoB,CAAC,SAAuB,EAAE,+BAAuC;QACnF,OAAO,IAAI,OAAO,CAAgB,CAAO,OAAO,EAAE,EAAE,CAAC;;YACnD,IAAI,kCAAkC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,CAAC;YAEhI,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;YAC9D,IAAI,UAAU,GAAG,EAAE;YACnB,IAAI,aAAa,CAAC,cAAc,IAAI,MAAM,IAAI,sEAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE;gBACvF,UAAU,GAAG,sEAAc,CAAC,kBAAkB,EAAE,GAAG,GAAG,GAAG,CAAC,+BAA+B,GAAG,CAAC,CAAC;aAC/F;iBAAM;gBACL,UAAU,GAAG,sEAAc,CAAC,iBAAiB,EAAE,GAAG,GAAG,GAAG,CAAC,+BAA+B,GAAG,CAAC,CAAC;aAC9F;YAED,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,+CAA+C,CAAC,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;YAC5J,IAAI,mBAAmB,GAAG;gBACxB,EAAE,EAAE,sEAAc,CAAC,gBAAgB,EAAE,GAAG,GAAG,GAAG,CAAC,+BAA+B,GAAG,CAAC,CAAC;gBACnF,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,QAAQ;aACM;YAExB,eAAe;YACf,IAAI,KAAK,GAAY,EAAE,CAAC;YAExB,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,kCAAkC,CAAC,6BAA6B,CAC9F,CAAC;YAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,MAAM,SAAG,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;gBAEvC,IAAI,SAAS,GAAgB,EAAE;gBAC/B,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpD,0FAA0F;gBAC1F,2EAA2E;gBAC3E,sFAAsF;gBACtF,kEAAkE;gBAClE,0EAA0E;gBAC1E,gFAAgF;gBAChF,qCAAqC;gBACrC,2BAA2B;gBAC3B,4CAA4C;gBAC5C,mCAAmC;gBACnC,qDAAqD;gBACrD,yDAAyD;gBACzD,sDAAsD;gBACtD,yCAAyC;gBACzC,0BAA0B;gBAC1B,UAAU;gBAEV,QAAQ;gBACR,MAAM;gBACN,IAAI;gBAEJ,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,MAAO;oBACX,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;oBACtC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,QAAE,IAAI,CAAC,cAAc,mCAAI,IAAI,CAAC,cAAc;oBAChD,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;oBAClH,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBAClC,SAAS,EAAE,SAAS;iBAErB,CAAC;aACH;YACD,aAAa;YAEb,IAAI,QAAQ,GAAG;gBACb,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW;gBACzD,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO;gBACtD,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ;gBACvD,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU;aAClD;YAEb,IAAI,UAAU,GAAG;gBACf,QAAQ,EAAE,kCAAkC,CAAC,QAAQ;gBACrD,eAAe,EAAE,kCAAkC,CAAC,QAAQ;gBAC5D,QAAQ,EAAE,kCAAkC,CAAC,aAAa;gBAC1D,GAAG,EAAE,kCAAkC,CAAC,QAAQ;gBAChD,GAAG,EAAE,kCAAkC,CAAC,SAAS;gBACjD,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,kCAAkC,CAAC,aAAa;aAC1C;YAEf,IAAI,gBAAgB,GAAuB,EAAE;YAC7C,IAAI,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3D,IAAI,aAAa,GAAG,EAAE;YACtB,IAAI,aAAa,IAAI,GAAG,EAAE;gBACxB,aAAa,GAAG,MAAM,CAAC;aACxB;iBAAM,IAAI,aAAa,IAAI,GAAG,EAAE;gBAC/B,aAAa,GAAG,MAAM,CAAC;aACxB;iBAAM;gBACL,aAAa,GAAG,OAAO,CAAC;aACzB;YAED,IAAI,eAAe,GAAG;gBACpB,KAAK,EAAE,kCAAkC,CAAC,aAAa;gBACvD,gBAAgB,EAAE,WAAW;gBAC7B,aAAa,EAAE,aAAa;aACT;YACrB,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAGvC,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IAAI,aAAa,CAAC,WAAW,IAAI,GAAG,EAAE;gBACpC,gBAAgB,GAAG,SAAS;aAC7B;iBAAM,IAAI,aAAa,CAAC,WAAW,IAAI,GAAG,EAAE;gBAC3C,gBAAgB,GAAG,QAAQ;aAC5B;iBAAM;gBACL,gBAAgB,GAAG,QAAQ;aAC5B;YAED,IAAI,eAAe,GAAG;gBACpB,UAAU,EAAE,uDAAe,CAAC,UAAU,EAAE;gBACxC,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,gBAAgB;gBACjC,cAAc,EAAE,MAAM;gBACtB,aAAa,EAAE,IAAI;aACD;YACpB,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAElC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAC9C,cAAc,CAAC,WAAW,EAAE,EAC5B,cAAc,CAAC,UAAU,EAAE,EAC3B,cAAc,CAAC,WAAW,EAAE,EAC5B,cAAc,CAAC,aAAa,EAAE,EAC9B,cAAc,CAAC,aAAa,EAAE,CAC/B,CAAC;YAEF,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,uBAAuB,CAAC;YAEnE,IAAI,aAAa,GAAG;gBAClB,mBAAmB,EAAE,mBAAmB;gBACxC,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,uDAAe,CAAC,UAAU,EAAE;gBACvC,YAAY,EAAE,sEAAc,CAAC,kBAAkB,EAAE;gBACjD,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;gBACnD,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,IAAI;gBAClB,gBAAgB,EAAE,gBAAgB;gBAClC,eAAe,EAAE,eAAe;aAChB;YAGlB,OAAO,CAAC,aAAa,CAAC,CAAC;QACzB,CAAC,EAAC,CAAC;IACL,CAAC;IAID,oBAAoB,CAAC,qBAAkC,EAAE,QAAsB;QAE7E,SAAS,gBAAgB,CAAC,UAAgC,EAAE,cAA0B,EAAE,YAAuB;;YAC7G,IAAI,iBAAiB,GAAgB,EAAE;YACvC,IAAI,UAAU,CAAC,UAAU,EAAE;gBACzB,iBAAiB,CAAC,IAAI,CAAC;oBACrB,EAAE,EAAE,UAAU,CAAC,eAAe;oBAC9B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;oBACvC,OAAO,QAAE,cAAc,CAAC,aAAa,0CAAE,QAAQ,EAAE;oBACjD,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,cAAc,CAAC,QAAQ;iBACtB,CAAC;aAChB;iBAAM,IACL,UAAU,CAAC,kBAAkB,EAC7B;gBACA,iBAAiB,CAAC,IAAI,CAAC;oBACrB,EAAE,EAAE,UAAU,CAAC,eAAe;oBAC9B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;oBACvC,OAAO,QAAE,cAAc,CAAC,aAAa,0CAAE,QAAQ,EAAE;oBACjD,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,cAAc,CAAC,QAAQ;iBACtB,CAAC;aAChB;YAGD,qDAAqD;YACrD,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAGD,SAAS,cAAc,CAAC,QAAoB,EAAE,qBAAkC,EAAE,YAAuB;;YAEvG,IAAI,QAAQ,CAAC,UAAU,EAAE;gBAEvB,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3D,MAAM,kBAAkB,GACtB,uDAAe,CAAC,iCAAiC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;oBAEhF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClD,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,GAAG,CAAC,YAAY,EAAE;4BACpB,IAAI,UAAU,GAAG,GAA2B,CAAC;4BAE7C,IAAI,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;4BAG9E,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;6BAEhD;iCAAM;gCACL,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC;gCAC9C,oCAAoC;6BACrC;4BAED,iCAAiC;4BACjC,wDAAwD;4BACxD,0DAA0D;4BAC1D,MAAM;4BAEN,gDAAgD;4BAChD,YAAY;4BACZ,gDAAgD;4BAChD,IAAI;4BACJ,qBAAqB;yBACtB;6BAAM,IAAI,GAAG,CAAC,UAAU,EAAE;4BACzB,IAAI,GAAG,GAAG,GAAiB,CAAC;4BAG5B,IAAI,iBAAiB,GAAG;gCACtB,EAAE,EAAE,GAAG,CAAC,aAAa;gCACrB,IAAI,EAAE,GAAG,CAAC,QAAQ;gCAClB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE;gCAC3B,OAAO,QAAE,QAAQ,CAAC,aAAa,0CAAE,QAAQ,EAAE;gCAC3C,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE;gCACjC,SAAS,EAAE,QAAQ,CAAC,QAAQ;gCAC5B,SAAS,EAAE,EAAE;6BACD;4BAEd,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC;gCAC9C,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;6BAC/D;iCAAM;gCACL,YAAY,GAAG,iBAAiB;gCAChC,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;6BAC1D;4BAGD,4DAA4D;yBAC7D;qBACF;oBAED,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;iBAE3C;aACF;YAKD,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,8CAA8C;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,YAAY,GAAc,EAAe,CAAC;YAC9C,IAAI,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,YAAY,CAAC;YAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACjC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;aACjC;SAEF;IACH,CAAC;;wEAlTU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;;;;;;;;;;;;;;;;ACXb,MAAM,gBAAgB;IAE3B,SAAS,CAAM,OAAS,EAAE,OAAqC,EAAE,GAAG,IAAU;QAC5E,OAAO,OAAO,CAAC,OAAO,EAAC,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;;gFAJU,gBAAgB;kHAAhB,gBAAgB;;;;;;;;;;;;;ACF7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsE;;;;AAK/D,MAAM,2BAA2B;IAEtC,YAAoB,YAAqB,EAC7B,kBAAuC;QAD/B,iBAAY,GAAZ,YAAY,CAAS;QAC7B,uBAAkB,GAAlB,kBAAkB,CAAqB;IAC7C,CAAC;IAMA,uBAAuB,CAAC,aAAsB,KAAK;QACxD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;SACnD;QAED,IAAI,CAAC,sBAAsB,GAAG,kFAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EACjB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;IAC3E,CAAC;IAEM,wBAAwB;QAC7B,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;IACH,CAAC;;sGA5BU,2BAA2B;8GAA3B,2BAA2B,WAA3B,2BAA2B,mBAF1B,MAAM;;;;;;;;;;;;;ACJpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AAEW;;;;;;ICEhD,sEAAuC;IACrC,oFACkI;IADlH,gYAAuC;IAEvD,4DAAiB;IACnB,4DAAM;;;;;;IAHoD,0DAAqB;IAArB,iFAAqB;;;IAHnF,wEAAqE;IACnE,yEAA6D;IAC3D,sJAIM;IACR,4DAAM;IACR,qEAAe;;;IAPR,0DAAkC;IAAlC,qGAAkC;IAC/B,0DAA+B;IAA/B,gGAA+B;;;;IAN7C,wEAAoE;IAElE,yEAAiE;IAA5D,kVAAgC;IAEnC,yJAQe;IAEjB,4DAAM;IAER,qEAAe;;;IAZ0B,0DAAmB;IAAnB,2FAAmB;;ADOrD,MAAM,4BAA4B;IALzC;QAOE,mCAAmC;QACnC,4CAA4C;QAE5C,iFAAiF;QACxE,oBAAe,GAAmB,EAAoB,CAAC;QAEvD,aAAQ,GAAU,CAAC,CAAC;QACpB,mBAAc,GAAW,CAAC,CAAC;QAE1B,mBAAc,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAE3D,sBAAiB,GAAwE,IAAI,0DAAY,EAAE,CAAC;QAE7G,eAAU,GAAY,KAAK,CAAC;QACrC,YAAO,GAAY,IAAI,CAAC;KA4GzB;IA1GC,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7C,CAAC;IAED,eAAe;QACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,GAAgD;QAC/D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAE3D,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;SACrB;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,uCAAuC;IACvC,oBAAoB;QAClB,sBAAsB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAE3C,MAAM,iBAAiB,GACrB,gEAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAEjD,4DAA4D;gBAC5D,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,GAAG,CAAC,EAAE;oBAC7C,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;iBACpB;gBAED,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE;oBACvB,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC;iBACxB;gBAED,IAAI,UAAU,CAAC,UAAU,EAAE;oBACzB,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,IACE,iBAAiB,IAAI,UAAU,CAAC,GAAG;4BACnC,iBAAiB,IAAI,UAAU,CAAC,GAAG,EACnC;4BACA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;yBAC3B;6BAAM;4BACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;4BACrB,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;yBAC5B;qBACF;iBACF;qBAAM;oBACL,IACE,iBAAiB,IAAI,UAAU,CAAC,GAAG;wBACnC,iBAAiB,IAAI,UAAU,CAAC,GAAG,EACnC;wBACA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC1B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;qBAC9B;yBAAM;wBACL,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;wBAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;iBACF;aAEF;YAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/F;IACH,CAAC;IAED,6EAA6E;IAC7E,gBAAgB;QACd,IAAI,CAAC,GAAW,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAE7C,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAElC,KAAK,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,CAAC,GAAG,KAAK,CAAC;gBACV,MAAM;aACP;SACF;QAED,uFAAuF;QACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAE9E,IAAI,OAAO,EAAE;YACX,gHAAgH;YAChH,OAAO,CAAC,cAAc,CAAC;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAAE,OAAO;YAC1D,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;YACvC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO;oBAAE,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;YAClD,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC;;wGA1HU,4BAA4B;4GAA5B,4BAA4B;QCXzC,0IAgBe;;QAhBA,uHAAmD;;;;;;;;;;;;;;ACIlE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AAKE;AACL;AAEmB;AAI7B;;;;;;;;;;;;;;;;;;;;;;;;;;ICdtD,2EAKG;IAHD,0TAAiB;IAGhB,iEAAO;IAAA,4DACT;;;IACD,wEAA2D;IAAA,uDAAa;IAAA,4DAAI;;;IAAjB,0DAAa;IAAb,+EAAa;;;IAO1E,0EAAsE;IACpE,qEAKE;IACJ,4DAAM;;;IALF,0DAA0B;IAA1B,8JAA0B;;;IAU1B,2EACG;IAAA,qEAAyB;IAC1B,2EAAqB;IAAA,uDAAU;IAAA,4DAAO;IACtC,qEACD;IAAA,4DAAO;;;IAFe,0DAAU;IAAV,+EAAU;;;IAGjC,uEAA8B;IAAA,uDAAoB;IAAA,4DAAO;;;IAA3B,0DAAoB;IAApB,uFAAoB;;;IAPpD,0EAAwG;IACtG,uEAAM;IAAA,uDAAgB;IAAA,4DAAO;IAC7B,sIAIQ;IACR,qIAAyD;IAC3D,4DAAM;;;IAPE,0DAAgB;IAAhB,kFAAgB;IACf,0DAAqB;IAArB,wFAAqB;IAKrB,0DAAqB;IAArB,wFAAqB;;;IAQxB,0EAGC;IACC,kEAA+D;IACjE,4DAAM;;;IADmB,0DAAmC;IAAnC,yKAAmC;;;;IAL9D,0EAAgE;IAC9D,0IAKM;IAEN,4EAAyB;IAAA,uDAAqB;IAAA,4DAAQ;IACtD,gFAgBE;IAHA,qXAAiC;IAbnC,4DAgBE;IAcJ,4DAAM;;;IApCD,0DAA8C;IAA9C,kHAA8C;IAKxB,0DAAqB;IAArB,wFAAqB;IAM5C,0DAAgC;IAAhC,wGAAgC;IAKhC,yFAAiB;IAPjB,qFAAoB;;;IA6BxB,0EAAsE;IACpE,wEAAiB;IACf,uDACF;IAAA,4DAAI;IACN,4DAAM;;;IAFF,0DACF;IADE,mHACF;;;IAMA,0EAGC;IACC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,sGACF;;;IAiBA,0EAGC;IACC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,qGACF;;;IAkBA,0EAGC;IACC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,kGACF;;;IAmBA,0EAGC;IACC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,uGACF;;;;;IAjIN,0EAGC;IACC,0EAAc;IACZ,oIAuCM;IAEN,mIAIM;IACN,0EAGC;IACC,oIAKM;IACN,4EAAuB;IAAA,uDAAmB;IAAA,4DAAQ;IAClD,4EASE;IADA,mXAAqC;IARvC,4DASE;IACJ,4DAAM;IACN,0EAGC;IACC,sIAKM;IACN,6EAAkB;IAAA,wDAAkB;IAAA,4DAAQ;IAC5C,6EAUE;IAFA,mXAAoC;IARtC,4DAUE;IACJ,4DAAM;IACN,2EAGC;IACC,sIAKM;IACN,6EAAkB;IAAA,wDAAe;IAAA,4DAAQ;IACzC,6EAUE;IAFA,gXAAiC;IARnC,4DAUE;IACJ,4DAAM;IAEN,2EAGC;IACC,sIAKM;IACN,6EAAkB;IAAA,wDAAkB;IAAA,4DAAQ;IAC5C,2EAAyB;IACvB,6EAWE;IAHA,mXAAoC;IARtC,4DAWE;IACF,4EAGC;IACC,8EAGC;IACC,4EAGC;IADC,6UAA0B;IAC3B,4DAAO;IACV,4DAAS;IACX,4DAAO;IACT,4DAAM;IACN,2EAAkB;IAChB,yEAMG;IADD,gVAAgC;IAC/B,wDAAwB;IAAA,4DAC1B;IACH,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAtKI,0DAAqB;IAArB,wFAAqB;IAyCA,0DAAyC;IAAzC,4GAAyC;IAMlE,0DAA0D;IAA1D,qHAA0D;IAKvD,0DAAkD;IAAlD,qHAAkD;IAI9B,0DAAmB;IAAnB,qFAAmB;IAGxC,0DAAoB;IAApB,oFAAoB;IAUtB,0DAAyD;IAAzD,oHAAyD;IAKtD,0DAAiD;IAAjD,oHAAiD;IAIlC,0DAAkB;IAAlB,oFAAkB;IAGlC,0DAAoB;IAApB,oFAAoB;IAWtB,0DAAsD;IAAtD,iHAAsD;IAKnD,0DAA8C;IAA9C,iHAA8C;IAI/B,0DAAe;IAAf,iFAAe;IAG/B,0DAAoB;IAApB,oFAAoB;IAYtB,0DAAyD;IAAzD,oHAAyD;IAKtD,0DAAiD;IAAjD,oHAAiD;IAIlC,0DAAkB;IAAlB,oFAAkB;IAIhC,0DAAoB;IAApB,oFAAoB;IAmBhB,0DAAwD;IAAxD,wHAAwD;IAQ5D,0DAEE;IAFF,wMAEE;IAGD,0DAAwB;IAAxB,0FAAwB;;;IAOjC,0EAAqE;IACnE,oEAAG;IACD,uDACF;IAAA,4DAAI;IACN,4DAAM;;;IAFF,0DACF;IADE,kHACF;;;;IAEF,6EAWC;IAFC,2VAAoC;IAGpC,uDACF;;IAAA,4DAAS;;;IADP,0DACF;IADE,+JACF;;;IACA,kEAIK;;;IADH,oKAA8B;;;;IAUhC,6EAMC;IAFC,kUAAe,EAAE,UAAG,wBAAwB,IAAC;IAG7C,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,uGACF;;;IAhOJ,sEAAkD;IAEhD,8HAQM;IACN,gIA2KM;IACN,0EAAoB;IAClB,6HAIM;IACN,oIAaS;IACT,0HAIK;IASL,oIAQS;IACX,4DAAM;IACR,4DAAM;;;IAhO8B,0DAAoE;IAApE,gJAAoE;IAWnG,0DAA+B;IAA/B,kGAA+B;IA2KL,0DAAwC;IAAxC,2GAAwC;IAMhE,0DAOT;IAPS,iSAOT;IAQS,0DAAwB;IAAxB,2FAAwB;IAYxB,0DAAoC;IAApC,kGAAoC;;;IAwCnC,0EAAyD;IACvD,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,uGACF;;;IACA,0EAAqD;IACnD,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,mGACF;;;;IAsBI,6EAMC;IAJC,oWAAqC;IAKrC,mEAA2B;IAC7B,4DAAS;;;;IA9DnB,0EAGC;IACC,0EAAc;IACZ,0EAGC;IACC,4EAAkB;IAAA,uDAAc;IAAA,4DAAQ;IACxC,4EAUE;IADA,yWAA0B;IAT5B,4DAUE;IACJ,4DAAM;IAEN,0EAAwC;IACtC,0EAA4C;IAC1C,uDACF;IAAA,4DAAM;IACN,qIAEM;IACN,uIAEM;IACN,2EAA6B;IAC3B,6EAAyB;IAAA,wDAAqB;IAAA,4DAAQ;IACtD,iFAiBE;IAHA,gVAA0B;IAd5B,4DAiBE;IACF,2EAAgC;IAC9B,6IAQS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IA7DA,0DAA+C;IAA/C,2GAA+C;IAG7B,0DAAc;IAAd,iFAAc;IAI9B,0DAAoB;IAApB,qFAAoB;IAYpB,0DACF;IADE,kGACF;IACuB,0DAAgC;IAAhC,oGAAgC;IAGhC,0DAA4B;IAA5B,gGAA4B;IAIxB,0DAAqB;IAArB,wFAAqB;IAM5C,0DAAgC;IAAhC,wGAAgC;IAKhC,yFAAiB;IAPjB,qFAAoB;IAqBjB,0DAAyC;IAAzC,qHAAyC;;;;IAUpD,6EAKC;IAHC,uVAAyB;IAIzB,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,qGACF;;;;IARF,0EAAsD;IACpD,2IAOS;IAGT,6EAKC;IAFC,gUAAe,EAAE,UAAG,wBAAwB,IAAC;IAG7C,8EACF;IAAA,4DAAS;IACX,4DAAM;;;IAdD,0DAAyB;IAAzB,6FAAyB;;;IA3EhC,sEAA8B;IAE5B,iIAmEM;IACN,+HAmBM;IACR,4DAAM;;;IAtFD,0DAA+B;IAA/B,kGAA+B;IAkEb,0DAA+B;IAA/B,kGAA+B;;;IA0BhD,0EAAkE;IAChE,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,iHACF;;;IAgBA,0EAAkE;IAChE,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,iHACF;;;IA8BA,0EAAiE;IAC/D,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,gHACF;;;;IACA,6EAKC;IAFC,mWAAoC;IAGpC,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,8FACF;;;;IAXF,0EAAsD;IACpD,sIAEM;IACN,4IAOS;IACT,6EAKC;IAFC,iUAAe,EAAE,UAAG,wBAAwB,IAAC;IAG/C,uDACA;IAAA,4DAAS;IACX,4DAAM;;;IAnBoB,0DAAuC;IAAvC,2GAAuC;IAI5D,0DAAiE;IAAjE,6IAAiE;IAapE,0DACA;IADA,uGACA;;;;IAzEN,sEAA8B;IAE5B,wEAAuD;IAAA,uDAAmB;IAAA,4DAAI;IAC9E,0EAAsD;IACpD,0EAAqD;IACnD,+HAEM;IACN,4EAAkB;IAAA,uDAAgB;IAAA,4DAAQ;IAC1C,0EAAyB;IACvB,gFASE;IADA,8WAAsC;IARxC,4DASE;IACJ,4DAAM;IACR,4DAAM;IACN,2EAAqD;IACnD,iIAEM;IACN,6EAAkB;IAAA,wDAAgB;IAAA,4DAAQ;IAC1C,2EAAyB;IACvB,6EASE;IADA,+WAAsC;IARxC,4DASE;IACF,4EAGC;IACC,8EAGC;IACC,4EAGC;IADC,uUAA0B;IAC3B,4DAAO;IACV,4DAAS;IACX,4DAAO;IACT,4DAAM;IACR,4DAAM;IACN,iIAoBM;IACR,4DAAM;IACR,4DAAM;;;IA1EmD,0DAAmB;IAAnB,uFAAmB;IAEnE,0DAAyB;IAAzB,6EAAyB;IACJ,0DAAwC;IAAxC,2GAAwC;IAG9C,0DAAgB;IAAhB,oFAAgB;IAK9B,0DAAoB;IAApB,oFAAoB;IASrB,0DAAyB;IAAzB,6EAAyB;IACJ,0DAAwC;IAAxC,2GAAwC;IAG9C,0DAAgB;IAAhB,oFAAgB;IAI9B,0DAAoB;IAApB,oFAAoB;IAiBhB,0DAAwD;IAAxD,wHAAwD;IAO7C,0DAA+B;IAA/B,kGAA+B;;ADhXnD,MAAM,2BAA2B;IA2ItC,YACmB,cAA8B,EACxC,YAAsB,EACrB,cAA8B,EAC9B,WAAwB,EACxB,MAAc,EACd,MAAkB,EAClB,oBAA0C,EAC1C,eAAgC,EAChC,IAAiB,EACjB,QAAyB,EACzB,oBAA8C,EAC9C,MAAqB;QAXZ,mBAAc,GAAd,cAAc,CAAgB;QACxC,iBAAY,GAAZ,YAAY,CAAU;QACrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAY;QAClB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,WAAM,GAAN,MAAM,CAAe;QA7IvB,oBAAe,GAAmB,EAAE,CAAC;QAe7C,oBAAe,GAAY,IAAI,CAAC;QAEhC,4BAA4B;QAC5B,OAAE,GAAW,EAAE,CAAC;QAChB,iBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAY,KAAK,CAAC;QAC5B,wBAAmB,GAAY,KAAK,CAAC;QACrC,+BAA0B,GAAY,KAAK,CAAC;QAC5C,qBAAgB,GAAY,KAAK,CAAC;QAClC,2BAAsB,GAAY,KAAK,CAAC;QAExC,YAAO,GAAY,KAAK,CAAC;QAEzB,qBAAgB,GAAY,KAAK,CAAC;QAClC,cAAS,GAAoB,EAAE,CAAC;QAChC,0BAAqB,GAAY,KAAK,CAAC;QACvC,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,KAAK,CAAC;QACnC,yBAAoB,GAAY,KAAK,CAAC;QACtC,+BAA0B,GAAY,KAAK,CAAC;QAC5C,oCAA+B,GAAY,KAAK,CAAC;QACjD,uBAAkB,GAAY,KAAK,CAAC;QAEpC,oBAAe,GAAY,KAAK,CAAC;QACjC,SAAI,GAAW,cAAc,CAAC;QAE9B,YAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAExC,sBAAiB,GAAG;YAClB,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,KAAK;YACvB,sBAAsB,EAAE,KAAK;YAC7B,0BAA0B,EAAE,KAAK;YACjC,yBAAyB,EAAE,KAAK;YAChC,sBAAsB,EAAE,KAAK;YAC7B,yBAAyB,EAAE,KAAK;SACjC,CAAC;QAEF,uBAAkB,GAAG;YACnB,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,KAAK;YACvB,sBAAsB,EAAE,KAAK;YAC7B,sBAAsB,EAAE,KAAK;YAC7B,yBAAyB,EAAE,KAAK;SACjC,CAAC;QAEF,4BAAuB,GAAW,EAAE,CAAC;QACrC,2BAAsB,GAAW,EAAE,CAAC;QACpC,wBAAmB,GAAW,EAAE,CAAC;QACjC,2BAAsB,GAAW,EAAE,CAAC;QACpC,wBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAmB,GAAW,EAAE,CAAC;QAEjC,oBAAe,GAAG;YAChB,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,EAAE;YACjB,kBAAkB,EAAE,KAAK;YACzB,aAAa,EAAE,EAAE;YACjB,kBAAkB,EAAE,KAAK;YACzB,YAAY,EAAE,EAAE;YAChB,iBAAiB,EAAE,KAAK;SACzB,CAAC;QAEF,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAE1B,cAAS,GAAY,KAAK,CAAC;QAC3B,iBAAY,GAAY,KAAK,CAAC;QAC9B,YAAO,GAAW,sFAAc,CAAC,aAAa,EAAE,CAAC;QACjD,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAW,CAAC,CAAC;QACxB,cAAS,GAAG,EAAE,CAAC;QACf,mBAAc,GAAG,oDAAoD,CAAC;QACtE,gBAAW,GAAG,EAAE,CAAC;QAEjB,sBAAiB,GAAG,EAAE,CAAC;QACvB,sBAAiB,GAAG,EAAE,CAAC;QAEvB,6BAAwB,GAAG,KAAK,CAAC;QACjC,cAAS,GAAW,EAAE,CAAC;QACvB,gBAAW,GAAW,EAAE,CAAC;QAEzB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,4BAAuB,GAAW,EAAE,CAAC;QAErC,UAAK,GAAW,EAAE,CAAC;QACnB,oBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAc,GAAW,EAAE,CAAC;QAC5B,cAAS,GAAW,EAAE,CAAC;QACvB,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAW,EAAE,CAAC;QACtB,mBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAiB,GAAW,EAAE,CAAC;QAC/B,WAAM,GAAW,EAAE,CAAC;QACpB,eAAU,GAAW,EAAE,CAAC;QACxB,mBAAc,GAAW,EAAE,CAAC;QAC5B,uBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,iBAAY,GAAW,EAAE,CAAC;QAC1B,uBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAmB,GAAW,EAAE,CAAC;QACjC,oBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAAW,EAAE,CAAC;QAkOzB,+BAA0B,GAAW,EAAE,CAAC;QAqExC,yBAAoB,GAAY,KAAK,CAAC;QAymBtC,WAAM,GAAY,IAAI,CAAC;QAh4BrB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IA7JD,WAAW;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAwJD,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;aACvB,cAAc,CAAC,uBAAuB,CAAC;aACvC,iBAAiB,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ;aAC7B,cAAc,CAAC,sBAAsB,CAAC;aACtC,iBAAiB,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7C,8BAA8B,CAC/B,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACnD,qBAAqB,CACtB,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAChD,gCAAgC,CACjC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACzE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACrD,8BAA8B,CAC/B,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACnD,uBAAuB,CACxB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACpD,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACnD,wBAAwB,CACzB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ;aACrC,cAAc,CAAC,mBAAmB,CAAC;aACnC,iBAAiB,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACjD,iCAAiC,CAClC,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACrD,uBAAuB,CACxB,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ;aACzC,cAAc,CAAC,0BAA0B,CAAC;aAC1C,iBAAiB,EAAE,CAAC;IACzB,CAAC;IACD;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAEnD,IAAI,CAAC,eAAe,GAAG,sFAAc,CAAC,wBAAwB,EAAE,IAAI,OAAO,CAAC;QAC5E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe;YAC1C,CAAC,CAAC,IAAI,CAAC,uBAAuB;YAC9B,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;YAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,sCAAsC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;aAClC;SACF;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;YACjE,IAAI,CAAC,cAAc,GAAG,sCAAsC,CAAC;YAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe;gBACrC,CAAC,CAAC,IAAI,CAAC,iBAAiB;gBACxB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAC5B;QACD,IAAI,CAAC,eAAe,GAAG,sFAAc,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,CAAC;IAC5E,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE;YACvD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IACD,4CAA4C;IACrC,aAAa;QAClB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;YAClD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,wBAAwB,GAAgB,IAAI,CAAC,4BAA4B,CAAC,aAA4B,CAAC;gBAC3G,wBAAwB,CAAC,KAAK,EAAE,CAAC;aAClC;SACF;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;YAChC,IAAI,uBAAuB,GAAgB,IAAI,CAAC,2BAA2B,CAAC,aAA4B,CAAC;YACzG,uBAAuB,CAAC,KAAK,EAAE,CAAC;SACjC;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;YAChC,IAAI,oBAAoB,GAAgB,IAAI,CAAC,wBAAwB,CAAC,aAA4B,CAAC;YACnG,oBAAoB,CAAC,KAAK,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,WAAW,GAAG,cAAc,CAAC;QACjC,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,WAAW;SACzB,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,WAAW;SACzB,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD;;OAEG;IACH,qBAAqB;QACnB,IAAI,CAAC,+BAA+B,EAAE;IACxC,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAClE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,sBAAsB;YACxC,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IACD;;OAEG;IACH,+BAA+B;QAC7B,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO;YACtD,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EACxD;YACA,wFAAwF;YACxF,mCAAmC;YACnC,uCAAuC;YACvC,wCAAwC;YACxC,oDAAoD;YACpD,sCAAsC;YACtC,KAAK;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IACH,CAAC;IACD,IAAI;QACF,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACjE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,sBAAsB;YACxC,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,QAAQ,CAAC,iBAAiB,CAAC,cAAc,GAAG,QAAQ,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,gDAAgD;QAChD,+BAA+B;QAC/B,IAAI;QACJ,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO;YACtD,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EACxD;YACA,wFAAwF;YACxF,mCAAmC;YACnC,uCAAuC;YACvC,wCAAwC;YACxC,oDAAoD;YACpD,sCAAsC;YACtC,KAAK;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE;gBACnB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACxB;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,MAAM,GAAG,GAAG,CAAC;aACd;iBAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1B,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/C;iBAAM;gBACL,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACvE;SACF;aAAM;SACN;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE;gBACnB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACxB;YACD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,MAAM,GAAG,GAAG,CAAC;aACd;iBAAM;gBACL,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/C;SACF;aAAM;SACN;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,SAAS,CAAC,GAAW;QACnB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACzB;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACzB;IACH,CAAC;IACD,uBAAuB,CAAC,GAAW;QACjC,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAClC,IAAI,GAAG,IAAI,SAAS,EAAE;gBACpB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,GAAG,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,0BAA0B;oBAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aACvB;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IACD,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAgB,EAAE,EAAE;gBAC1C,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,KAAK,CAAC,MAAW,UAAU;QACzB,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO;YACtD,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EACxD;YACA,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO;SACR;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;YAC1D,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;YACnE,IACE,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,oBAAoB,EACzB;gBACA,aAAa;gBACb,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBAAM;gBACL,IACE,CAAC,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,sBAAsB,CAC5B;oBACD,IAAI,CAAC,EAAE,IAAI,EAAE,EACb;oBACA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC;oBAE7C,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,iBAAiB,EACtB,wBAAwB,CACzB,CAAC;oBACF,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,OAAO;iBACR;qBAAM;oBACL,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,GAAG,KAAK,CAAC;iBACvD;gBACD,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBACnC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;oBACjB,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;iBACf;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc;qBAChB,yBAAyB,CACxB,GAAG,EACH,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,EAAE,IAAI,EAAE,CACb;qBACD,IAAI,CACH,CAAC,GAAQ,EAAE,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAChB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;oBACpB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;oBACxB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;wBACxD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;qBAClC;oBACD,IAAI,MAAM,CAAC,MAAM,EAAE;wBACjB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,4CAA4C,EAC5C,eAAe,EACf,2DAA2D,IAAI,CAAC,mBAChE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAC7B,IAAI,CACL,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;qBAClC;gBACH,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;oBAClB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,gCAAgC,EAChC,eAAe,EACf,2DAA2D,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,EAC/F,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;oBACpD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACvJ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;wBACvC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;4BACxE,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC;yBAC9C;6BAAM;4BAEL,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC;4BAC/C,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;gCACrB,IAAI,CAAC,YAAY,EAAE,CAAC;gCAChB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gCAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,yBAAyB,CAC1B,CAAC;gCACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAC5B;iCAAM,IACL,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC;gCACpC,IAAI,CAAC,sBAAsB,CAAC,MAAM,IAAI,CAAC,EACvC;gCACJ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAClC,qBAAqB,CACtB,CAAC;gCACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAC5B;iCAAM;gCACT,IAAI,CAAC,mBAAmB,EAAE,CAAC;gCACvB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,sBAAsB,CACvB,CAAC;gCACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAC5B;4BACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;4BACb,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,qBAAqB,CACtB,CAAC;4BACF,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAK,CAAC;yBAC7C;qBACF;yBAAM,IACL,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;wBAC7G,gDAAgD,EAC9C;wBACF,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,sBAAsB,CACvB,CAAC;wBACF,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC5C,IAAI,CAAC,mBAAmB,EAAE,CAAC;qBAC5B;yBAAM;wBACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,uBAAuB,CACxB,CAAC;wBACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC3B,qBAAqB;qBACtB;gBACH,CAAC,CACF;qBACA,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACpC,CAAC,CAAC,CAAC;aACN;SACF;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;YACtE,IAAI,CAAC,qCAAqC,EAAE,CAAC;SAC9C;IACH,CAAC;IACD,mBAAmB;QACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAC3C,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,EAAE;SACzC;IACH,CAAC;IACD,sBAAsB;QACpB,IAAI,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAC3C,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,EAAE;SACzC;IACH,CAAC;IACD,qCAAqC;QACnC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACnE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAE1D,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACnE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc;aAChB,yBAAyB,CACxB,EAAE,EACF,IAAI,CAAC,eAAe,CAAC,QAAQ,EAC7B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAC7B;aACD,IAAI,CACH,CAAC,GAAiC,EAAE,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACpB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;gBAChE,UAAU;gBACV,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1C;iBAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;gBACnE,4CAA4C;gBAC5C,yDAAyD;aAC1D;iBAAM,IACL,IAAI;gBACJ,IAAI,CAAC,MAAM,IAAI,OAAO;gBACtB,IAAI,CAAC,UAAU,IAAI,KAAK,EACxB;gBACA,qCAAqC;gBACrC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;gBAC3D,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,2DAA2D;aAC5D;iBAAM,IACL,IAAI;gBACJ,IAAI,CAAC,MAAM,IAAI,OAAO;gBACtB,IAAI,CAAC,UAAU,IAAI,KAAK,EACxB;gBACA,4CAA4C;gBAC5C,yDAAyD;aAC1D;iBAAM;gBACL,eAAe;aAChB;YACD,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,4CAA4C,EAC5C,eAAe,EACf,2DAA2D,IAAI,CAAC,aAChE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAC7B,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC9D,6BAA6B,CAC9B,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAClE,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,gCAAgC,EAChC,eAAe,EACf,2DAA2D,IAAI,CAAC,aAChE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC5B,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC,CACF,CAAC;IACN,CAAC;IACD,wBAAwB,CAAC,IAAqC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IACD,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,kBAAkB;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC7B,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO;gBACtD,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EACxD;gBACA,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC;aAChC;YACD,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;gBACjB,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;aACf;YAED,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,uEAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACrD,gEAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBACzC,OAAO;aACR;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc;iBAChB,yBAAyB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAE;iBACtD,IAAI,CACH,CAAC,GAAQ,EAAE,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAEhB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACpB,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;oBAC5D,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;wBACtD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,yBAAyB,CAC1B,CAAC;wBACF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;qBAChC;iBACF;qBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;oBACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;oBAC9C,IAAI;wBACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;qBACjC;oBAAC,OAAO,CAAC,EAAE;qBACX;4BAAS;wBACR,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;4BACxD,IAAI;gCACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;6BACjC;4BAAC,OAAO,CAAC,EAAE,GAAG;4BACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;4BAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;4BACtB,gDAAgD;4BAChD,2CAA2C;4BAC3C,yCAAyC;4BACzC,OAAO;4BACP,0BAA0B;4BAC1B,8CAA8C;4BAC9C,iDAAiD;4BACjD,MAAM;4BACN,+DAA+D;4BAC/D,IAAI;4BACJ,2BAA2B;4BAC3B,YAAY;4BACZ,6CAA6C;4BAC7C,iBAAiB;4BACjB,2BAA2B;4BAC3B,kDAAkD;4BAClD,2HAA2H;4BAC3H,qDAAqD;4BACrD,QAAQ;4BACR,sBAAsB;4BACtB,qBAAqB;4BACrB,gCAAgC;4BAChC,QAAQ;yBACT;6BAAM,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;4BAC7D,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,IAAI,CAAC;4BAChD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;4BAC9D,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC7C,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;gCACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;gCACb,IAAI,CAAC,YAAY,EAAE,CAAC;gCACpB,IAAI,CAAC,wBAAwB,EAAE,CAAC;gCAChC,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAC5B;4BACD,wBAAwB;yBACzB;6BAAM;4BACL,wBAAwB;yBACzB;qBACF;iBACF;qBAAM,IACL,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EACzD;oBACA,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;wBAC5B,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,IAAqC,CAC3C,CAAC;wBACF,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;wBAC7C,IAAI,EAAE,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;wBACxC,IAAI,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtC,IACE,UAAU,IAAI,IAAI;4BAClB,IAAI,CAAC,WAAW,CAAC,qBAAqB;4BACtC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,EAC5C;4BACA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC;yBAC3D;wBACD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,IAAI,CAAC,IAAI;6BACN,2BAA2B,CAAC,UAAU,CAAC;6BACvC,SAAS,EAAE;6BACX,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;4BAClB,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC/C,IACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gCAC5C,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,gBAAgB;qCACrD,MAAM,EACT;gCACA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;6BAC7C;4BACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACjB,CAAC,CAAC;6BACD,OAAO,CAAC,GAAG,EAAE;4BACZ,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,CAAC,CAAC,CAAC;qBACN;yBAAM;wBACL,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBAChC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;qBACxC;iBACF;gBACD,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,4CAA4C,EAC5C,eAAe,EACf,2DAA2D,IAAI,CAAC,aAChE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAC7B,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAClC;YACH,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAElB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAClC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,gCAAgC,EAChC,eAAe,EACf,2DAA2D,IAAI,CAAC,aAChE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC5B,IAAI,CACL,CAAC;gBACF,sBAAsB;gBACtB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACzC,CAAC,CACF;iBACA,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC,CAAC,CAAC;SACN;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,gBAAgB,CAAC,IAAS;QACxB,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;YAC7D,IAAI,CAAC,kBAAkB,CAAC,IAAqC,CAAC,CAAC;SAChE;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;YACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;YACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;YACtE,IAAI,CAAC,oBAAoB,CAAC,IAAuC,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACvB;IACH,CAAC;IACO,oBAAoB,CAAC,IAAqC;;QAChE,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,SAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,mCAAI,EAAE,CAAC;QAC3E,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACO,eAAe,CAAC,IAAS;QAC/B,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE;SACvD;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa;SAElE;QACD,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3E,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChD,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1E,sFAAc,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtE,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3E,sFAAc,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtE,sFAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,iBAAiB,CAAC,IAAS;QACjC,IAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC;QACnD,sFAAc,CAAC,aAAa,CAC1B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,YAAY,CACpD,CAAC;QACF,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAC7C,CAAC;QACF,sFAAc,CAAC,eAAe,CAC5B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;QAEF,sFAAc,CAAC,oBAAoB,CACjC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;QACF,sFAAc,CAAC,eAAe,CAC5B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;QAEF,sFAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,kBAAkB,CAAC,IAAmC;QAC5D,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAC9C,sFAAc,CAAC,aAAa,CAC1B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,UAAU,CAClD,CAAC;QACF,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAC7C,CAAC;QACF,sFAAc,CAAC,eAAe,CAC5B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;QAEF,sFAAc,CAAC,oBAAoB,CACjC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;QACF,sFAAc,CAAC,eAAe,CAC5B,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;QACF,sFAAc,CAAC,qBAAqB,CAClC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAC7C,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,IAAI,YAAY,GACd,wJAAwJ,CAAC;QAC3J,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,QAAa,EAAE,GAAW;QAC1C,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,GAAG,EAAE;YACd,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc;aAChB,qBAAqB,CACpB,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,sBAAsB,CAC3B;aACD,SAAS,CACR,CAAC,IAAS,EAAE,EAAE;YACZ,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE;gBAC5D,IAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,WAAW,CAAC,IAAI;oBACnB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC;gBACnD,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9C,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAC7C,CAAC;gBACF,sFAAc,CAAC,oBAAoB,CACjC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;gBACF,sFAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,qBAAqB;gBACrB,+CAA+C;gBAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACvC,uBAAuB,CACxB,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,EAAE,CAAC;gBACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7C,qBAAqB,CACtB,CAAC;gBACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,cAAc;oBACjB,oDAAoD,CAAC;gBACvD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;iBAAM;gBACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;QACH,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;YACb,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,gCAAgC,EAChC,eAAe,EACf,2DAA2D,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE,EAC/F,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,IACE,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK;gBAC/B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EACnD;gBACA,gEAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC1C;iBAAM,IACL,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK;gBAC/B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAC1B,gDAAgD,CACjD,EACD;gBACA,gEAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC1C;iBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,6BAA6B,CAC9B,CAAC;gBACF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;QACH,CAAC,CACF,CACJ,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YACnC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACnD,CAAC;IACD,oBAAoB;QAClB,uEAAe,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACtD,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;QAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;YACxC,IAAI,CAAC,cAAc;iBAChB,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC;iBAC9C,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBAClB,IAAI,IAAI,EAAE;oBACR,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,0BAA0B,CAC3B,CAAC;oBACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;qBAAM;iBACN;YACH,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,gCAAgC,CACjC,CAAC;YACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YAC7D,OAAO;SACR;IACH,CAAC;IACD,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;YAC3B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QACD,IACE,CAAC,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU;YACxC,CAAC,CAAC,IAAI,CAAC,YAAY;YACnB,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAC5B,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU;YACxC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAChC,EACD;YACA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;YAChD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACR;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc;aAChB,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAE;aAC7D,SAAS,CACR,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,IAAI;oBACnB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC;gBACnD,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9C,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAC7C,CAAC;gBACF,sFAAc,CAAC,oBAAoB,CACjC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CACjD,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,qBAAqB;gBACrB,+CAA+C;gBAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;qBACvB,cAAc,CAAC,uBAAuB,CAAC;qBACvC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7C,qBAAqB,CACtB,CAAC;gBACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACrC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC,EAAE,IAAI,CAAC,CAAC;aACV;iBAAM;gBACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,gCAAgC,EAChC,eAAe,EACf,2DAA2D,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,EACzF,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACrC,CAAC,EACD,GAAG,EAAE;YACH,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CACF,CACJ,CAAC;IACJ,CAAC;IACD,iDAAiD;IACjD,yBAAyB;IAEzB,UAAU,CAAC,KAAU,EAAE,KAAU,EAAE,QAAa;QAC9C,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,QAAQ,GAAG,0BAA0B,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACzB,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACtC,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED,qBAAqB,CAAC,IAAS;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;YACxD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACtB,gDAAgD;YAChD,2CAA2C;YAC3C,yCAAyC;YACzC,OAAO;YACP,0BAA0B;YAC1B,8CAA8C;YAC9C,iDAAiD;YACjD,MAAM;YACN,+DAA+D;YAC/D,IAAI;YACJ,2BAA2B;YAC3B,YAAY;YACZ,6CAA6C;YAC7C,iBAAiB;YACjB,2BAA2B;YAC3B,mDAAmD;YACnD,2HAA2H;YAC3H,qDAAqD;YACrD,QAAQ;YACR,qDAAqD;YACrD,sBAAsB;YACtB,qBAAqB;YACrB,gCAAgC;YAChC,QAAQ;SACT;aAAM;YACL,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;SACxC;IACH,CAAC;IACD,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;YAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,eAAe,EAAE;gBAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oBACrB,+CAA+C;oBAC/C,kDAAkD;oBAClD,4CAA4C;oBAC5C,IAAI;oBAEJ,yDAAyD;oBACzD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7B,2CAA2C;iBAC5C;aACF;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnD;IACH,CAAC;;sGA/vCU,2BAA2B;2GAA3B,2BAA2B;kEAY3B,kGAAuB;;;;;;;;;;;QCzCpC,yEAAyC;QACvC,yEAAoB;QAClB,yHAMC;QACD,mHAA4E;QAC5E,kEAA8D;QAC9D,uEAA2D;QACzD,uDACF;QAAA,4DAAI;QACJ,kEAAyD;QAC3D,4DAAM;QACN,uHAOM;QACN,uHAkOM;QAEN,yHA0FM;QACN,2HA4EM;QACR,4DAAM;QACN,6EAA2C;QAC3C,qFAA2D;;QAnapD,0DAA+B;QAA/B,+FAA+B;QAMM,0DAAiB;QAAjB,iFAAiB;QACvB,0DAAuB;QAAvB,yJAAuB;QAEvD,0DACF;QADE,yFACF;QACuB,0DAA6B;QAA7B,+JAA6B;QAE3B,0DAAyC;QAAzC,yGAAyC;QAQ9D,0DAA0C;QAA1C,8GAA0C;QAoO1C,0DAAsB;QAAtB,sFAAsB;QA2FtB,0DAAsB;QAAtB,sFAAsB;QA8EjB,0DAAe;QAAf,wEAAe;QACP,0DAAe;QAAf,wEAAe;;;;;;;;;;;;;;ACrapC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AAGuB;AAE2B;;;;;;;;;ICWzF,sEAAyB;IACzB,sFAOyB;IACzB,4DAAM;;;IAPJ,0DAAe;IAAf,+EAAe;;;IAgBjB,yEAAmD;IACnD,uDACA;IAAA,4DAAK;;;IADL,0DACA;IADA,kGACA;;;IAEE,uEAAiC;IAC/B,qEAGE;IACJ,4DAAO;;;IACP,uEAAiC;IAC/B,qEAGE;IACJ,4DAAO;;ADtCR,MAAM,sBAAsB;IA8BjC,YACU,YAAsB,EACtB,QAAyB;QADzB,iBAAY,GAAZ,YAAY,CAAU;QACtB,aAAQ,GAAR,QAAQ,CAAiB;QAnB3B,oBAAe,GAAmB,EAAE,CAAC;QAC7C,UAAK,GAAS,CAAC;QACf,aAAQ,GAAS,CAAC;QAClB,QAAG,GAAS,CAAC;QACb,aAAQ,GAAS,CAAC;QAClB,WAAM,GAAS,CAAC;QAChB,aAAQ,GAAS,CAAC;QAElB,gBAAW,GAAW,KAAK;QAE3B,gBAAW,GAAW,EAAE,CAAC;QACzB,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAW,EAAE,CAAC;QAGtB,iBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAe,GAAW,EAAE,CAAC;IAI1B,CAAC;IA/BJ,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAwBD,QAAQ;QACN,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACnF,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC;IAC9E,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB,EAAE,WAAmB,EAAE,QAAa,CAAC,EAAC,WAAgB,CAAC,EAAC,MAAW,CAAC,EAAC,WAAgB,CAAC,EAAC,WAAgB,CAAC,EAAC,SAAc,CAAC,EAAC,cAAoB,KAAK;QACzL,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc;QAChE,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,WAAW;QAC1D,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,WAAW;QAC1D,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAC,KAAK;QAC5C,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAC,QAAQ;QAClD,cAAc,CAAC,iBAAiB,CAAC,GAAG,GAAC,GAAG;QACxC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAC,QAAQ;QAClD,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAC,QAAQ;QAClD,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAC,MAAM;QAC9C,OAAO,cAAc;IACvB,CAAC;IAED,QAAQ;QACN;;WAEG;QACH,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;YAC3B,YAAY;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;SACrE;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;YAClC,iBAAiB;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACzF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,YAAY,CAAC,YAAY;aAC3B,IAAI,CAAC,mEAAY,CAAC,GAAG,CAAC,EAAE,2EAAoB,EAAE,CAAC;aAC/C,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACpE,yBAAyB;QAC3B,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;;4FAlGU,sBAAsB;sGAAtB,sBAAsB;kEACtB,uGAAwB;;;;;QCbrC,0EAAS;QACP,yEAAkC;QAChC,yEAA2B;QACzB,4EAMC;QADC,8IAAS,UAAM,QAAQ,CAAC,IAAC;QAEzB,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QACzC,4DAAS;QAGT,0EAA4D;QAAA,uDAE1D;QAAA,4DAAO;QACT,kHASM;QACN,sEAME;QAEF,kHAEK;QACL,0EAAgD;QAC9C,sHAKO;QACP,sHAKO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAU;;QAxCE,0DAAqD;QAArD,kHAAqD;QAAC,0DAE1D;QAF0D,6EAE1D;QACI,0DAAiB;QAAjB,iFAAiB;QAerB,0DAA4B;QAA5B,yFAA4B;QAGzB,0DAAwB;QAAxB,wFAAwB;QAIpB,0DAAwB;QAAxB,wFAAwB;QAMxB,0DAAwB;QAAxB,wFAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCmC;AACkB;;;;;;;;ICQlF,qEAAmD;IACjD,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,2FACF;;;IACA,qEAAmD;IACjD,0EAAc;IACZ,qEAAoE;IACtE,4DAAM;IACR,4DAAK;;;IAFI,0DAA4D;IAA5D,uMAA4D;;;IAKjE,qEAA+C;IAC7C,yEAA0B;IACxB,uDACF;IAAA,4DAAK;IACL,qEAAI;IACF,qEAAyE;IAC3E,4DAAK;IACP,4DAAK;;;IALD,0DACF;IADE,iGACF;IAEO,0DAAiE;IAAjE,6MAAiE;;;IAP9E,yEAAkF;IAChF,4EAA4B;IAC1B,+HAOK;IACP,4DAAQ;IACV,4DAAK;;;IAT2B,0DAAiB;IAAjB,sFAAiB;;;IAdnD,qEAA8C;IAC5C,qEAAI;IACF,uDACF;IAAA,4DAAK;IACL,2HAEK;IACL,2HAIK;IACL,2HAWK;IACP,4DAAK;;;IAtBD,0DACF;IADE,0HACF;IACK,0DAA4C;IAA5C,2GAA4C;IAG5C,0DAA4C;IAA5C,2GAA4C;IAKb,0DAA4C;IAA5C,2GAA4C;;;IAiBtF,wEAA8E;IAAA,uDAAoF;;IAAA,4DAAI;;;IAAxF,0DAAoF;IAApF,6QAAoF;;;IAClK,wEAA8E;IAAA,uDAAuB;IAAA,4DAAI;;;IAA3B,0DAAuB;IAAvB,oGAAuB;;AD3BlG,MAAM,0BAA0B;IAWrC,YACU,QAAyB,EACzB,MAAoB,EACpB,gBAAkC,EACzB,YAAsB;QAH/B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAc;QACpB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACzB,iBAAY,GAAZ,YAAY,CAAU;QAbzC,uBAAkB,GAAgB,EAAE,CAAC;QACrC,qBAAgB,GAA4B,IAAI,CAAC;QACjD,yBAAoB,GAAY,EAAE,CAAC;QACnC,oBAAe,GAAY,EAAE,CAAC;QAC9B,gBAAW,GAAY,EAAE,CAAC;QAC1B,kBAAa,GAAY,EAAE,CAAC;QAC5B,mBAAc,GAAY,EAAE,CAAC;IAQ1B,CAAC;IAEJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAED,QAAQ;QACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAC9E,CAAC;IAED,QAAQ;;QACN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QACtE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAE,CAAC,CAAM,EAAE,EAAE;YACtC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;YACnD,OAAO,CAAC;QACV,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,GAAG,+EAAc,CAAC,aAAa,EAAE;QAClD,IAAG,aAAa,EAAE;YAChB,IAAI,CAAC,gBAAgB,GAAI,aAAa,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,WAAI,CAAC,gBAAgB,0CAAE,OAAO,KAAI,IAAI,CAAC,kBAAkB,CAAC;YACpF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAE,CAAC,CAAM,EAAE,EAAE;gBACtC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnD,OAAO,CAAC;YACV,CAAC,CAAC;SACH;QACD,IAAI,CAAC,gBAAgB,EAAE;IACzB,CAAC;IAEK,gBAAgB;;YACpB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAE,CAAC,CAAM,EAAE,EAAE;gBACtC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnD,OAAO,CAAC;YACV,CAAC,CAAC;YACF,IAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAC;gBACvC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;gBAC/D,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBACzD,oGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aAC3D;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;KAAA;;oGApEU,0BAA0B;0GAA1B,0BAA0B;QCfvC,yEAA2D;QAEzD,sEAAK;QACH,2EAAkD;QAChD,wEAAO;QACL,qEAAI;QACF,wEAAiB;QAAA,uDAAe;QAAA,4DAAK;QACrC,wEAAoB;QAAA,uDAAkB;QAAA,4DAAK;QAC3C,wEAAmB;QAAA,wDAAiB;QAAA,4DAAK;QAC3C,4DAAK;QACP,4DAAQ;QACR,yEAAO;QACL,sHAwBK;QACP,4DAAQ;QACV,4DAAQ;QACV,4DAAM;QACN,uEAAK;QACH,oHAAsK;QACtK,oHAAyG;QAC3G,4DAAM;QACN,0EAA+B;QAC7B,yEAAkF;QAA9B,+IAAS,sBAAkB,IAAC;QAC9E,mEAAgD;QAChD,wDAA8B;QAAA,4DAAK;QACvC,4DAAM;QACR,4DAAM;;QA3CqB,0DAAe;QAAf,gFAAe;QACZ,0DAAkB;QAAlB,mFAAkB;QACnB,0DAAiB;QAAjB,kFAAiB;QAIf,0DAAqB;QAArB,2FAAqB;QA6BZ,0DAAuC;QAAvC,4IAAuC;QACvC,0DAAwC;QAAxC,+IAAwC;QAK1E,0DAA8B;QAA9B,yGAA8B;;;;;;;;;;;;;;;;;;;;;;AC/C2B;AAIU;AAGd;;;;ICJvD,yEAIC;IACC,0EAA4C;IAE1C,uDAAqB;IAAA,4DACtB;IACH,4DAAM;;;IAFF,0DAAqB;IAArB,kIAAqB;;;IAMrB,qFAUuB;;;;;IARrB,mHAAmD;;ADHtD,MAAM,kBAAkB;IAgC7B,YAAoB,EAAmB;QAAnB,OAAE,GAAF,EAAE,CAAiB;QAtB/B,oBAAe,GAAmB,EAAE,CAAC;QAEpC,kBAAa,GAAG,KAAK,CAAC;QAMrB,wBAAmB,GAAW,EAAE,CAAC;QAIjC,4BAAuB,GAAkC,IAAI,0DAAY,EAAmB,CAAC;QAIvG,kBAAa,GAAkB,EAAE,CAAC;QAElC,kBAAa,GAAkB,EAAE,CAAC;QAKhC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAhCD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IA4BD,QAAQ;QACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC;IAED,eAAe;IACf,sCAAsC;IACtC,IAAI;IAEJ,mBAAmB;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;aACnE,SAAS,CAAC,CAAC,SAA4B,EAAE,EAAE;YAC1C,IAAI,CAAC,gBAAgB,GAAG,SAAsC,CAAC;QACjE,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,SAA0B,EAAE,KAAa;QAC5D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YACpD,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,CAAC,GAAS,EAAE,CAAC;YACX,MAAM,gEAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,EAAC,EAAE,CAAC;QACL,+BAA+B;IACjC,CAAC;IAED,SAAS,KAAK,CAAC;;oFArEJ,kBAAkB;kGAAlB,kBAAkB;QCd/B,yEAA6B;QAC3B,yEAAc;QACZ,8GASM;QAEN,yEAA8B;QAC5B,yEAAoF;QAClF,gJAUuB;QACzB,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QA1BC,0DAAgE;QAAhE,wMAAgE;QAW5D,0DAAsC;QAAtC,mGAAsC;QAItB,0DAA+B;QAA/B,mGAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ICZpD,wEAAsF;IAAA,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IAAA,4DAAK;;;IAAjC,0DAAwB;IAAxB,4FAAwB;;;IACjH,wEAA2D;IAAA,uDAAmB;IAAA,4DAAK;;;IAAxB,0DAAmB;IAAnB,uFAAmB;;;IAC9E,wEAA8C;IAAA,uDAAuB;IAAA,4DAAK;;;IAA5B,0DAAuB;IAAvB,2FAAuB;;;IACrE,wEAAiD;IAAA,uDAAyB;IAAA,4DAAK;;;IAA9B,0DAAyB;IAAzB,6FAAyB;;ACCzE,MAAM,uBAAuB;IA6BlC,YAA6B,YAAsB,EAAS,QAAwB;QAAvD,iBAAY,GAAZ,YAAY,CAAU;QAAS,aAAQ,GAAR,QAAQ,CAAgB;QAhBpF,cAAS,GAAY,KAAK,CAAC;QAE3B,kBAAa,GAAY,KAAK,CAAC;QAE/B,qBAAgB,GAAY,KAAK;QAEjC,eAAU,GAAG,EAAE;QAEf,yBAAoB,GAAW,EAAE;QAEjC,oBAAe,GAAW,EAAE;QAE5B,wBAAmB,GAAW,EAAE;QAChC,0BAAqB,GAAW,EAAE;IAGqD,CAAC;IA3BxF,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IA0BD,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QAC7E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kFAAkF,CAAC;QACvI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mEAAmE,CAAC;QAC5H,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gCAAgC,CAAC;IAC7F,CAAC;IAED;;;;MAIE;IACK,MAAM,CAAC,IAAI,CAAC,YAAsB,EAAE,YAAqB,KAAK,EAAE,gBAAyB,KAAK,EAAE,mBAA4B,KAAK;QACtI,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC9D,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QACvD,cAAc,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/D,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACrE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,YAAqB,KAAK,EAAC,gBAAyB,KAAK,EAAC,mBAA4B,KAAK;QAC9F,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACrE,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QACvD,cAAc,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC;QAC/D,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;SAE/D;aAAM;YACL,mEAAmE;YACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uCAAuC,CAAC,CAAC;SACzF;IAEH,CAAC;IACD,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;;8FA9FU,uBAAuB;uGAAvB,uBAAuB;QDXpC,yEAAgD;QAC9C,yEAAwB;QACtB,wEAGmB;QAAA,uDAAc;QAAA,4DAAK;QACtC,yEAAqB;QACnB,iHAA0H;QAC1H,iHAAmF;QACnF,iHAA0E;QAC1E,iHAA+E;QAE/E,oEAA0L;QAC5L,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAViB,0DAAc;QAAd,+EAAc;QAE1B,0DAAgC;QAAhC,sGAAgC;QAChC,0DAAgC;QAAhC,sGAAgC;QAChC,0DAAmB;QAAnB,mFAAmB;QACnB,0DAAsB;QAAtB,sFAAsB;;;;;;;;;;;;;;AEPjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyF;;;;;;;;;ICiDnF,0EAAwC;IACtC,0EAA4B;IAC1B,qEAA+B;IACjC,4DAAM;IACN,0EAAuD;IACrD,mEAA8D;IAChE,4DAAM;IACR,4DAAM;;;IALG,0DAAwB;IAAxB,4JAAwB;IAGA,0DAA4B;IAA5B,0JAA4B;;AD5C5D,MAAM,sBAAsB;IAiCjC,YACU,MAAc,EACd,YAAsB,EACtB,QAAyB;QAFzB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAU;QACtB,aAAQ,GAAR,QAAQ,CAAiB;QAnCnC,cAAS,GAAW,EAAE,CAAC;QAiBvB,gBAAW,GAAG,EAAE,CAAC;QAEjB,mBAAc,GAAG,EAAE,CAAC;QAEpB,mBAAc,GAAG,EAAE,CAAC;QAEpB,iBAAY,GAAG,EAAE,CAAC;QAElB,aAAQ,GAAG,CAAC,CAAC;QAGb,WAAM,GAAW,EAAE,CAAC;QACpB,aAAQ,GAAW,EAAE,CAAC;QACtB,eAAU,GAAW,EAAE,CAAC;QACxB,0BAAqB,GAAW,EAAE,CAAC;IAKhC,CAAC;IAlCJ,WAAW;QACT,mBAAmB;QACnB,IAAI,aAAa,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,EAAE;YACvC,aAAa,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IA2BD,YAAY;QACV,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;SACjC;QAED,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;YACnE,IAAI,IAAI,IAAI,UAAU,EAAE;gBACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,qBAAqB;YACxB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACvD,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,GAAG,WAAW,IAAI,CAAC,QAAQ,WAAW,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,CAAC,QAAQ,aACzC,IAAI,CAAC,MACP,YAAY,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,QAAQ,CAAC,cAAc,CAClE,qBAAqB,CACtB,GAAG,CAAC;QACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,GAAG,iCAAiC,CAAC;IACxD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAChD,kBAAkB,CACnB,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,CACnC,kBAAkB,CACnB,WAAW,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;aACnB;iBAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;;4FAvGU,sBAAsB;sGAAtB,sBAAsB;kEActB,oGAAqB;;;;;QC3BlC,yEAAgC;QAC9B,yEAAiB;QACf,yEAA+B;QAC7B,yEAAuB;QACrB,yEAAkE;QAChE,4EACG;QAAA,uDAAY;QAAA,4DACd;QACH,4DAAM;QACN,yEAA8B;QAC5B,oEAAkE;QACpE,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,uDAEA;;QAAA,0EAA+B;QAC7B,0EAAuB;QACrB,0EAAkE;QAChE,6EAAiC;QAAA,wDAAc;QAAA,4DAAS;QAC1D,4DAAM;QACN,0EAA8B;QAC5B,qEAGE;QACJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,0EAA8B;QAC5B,0EAAuB;QACrB,0EAA8B;QAC5B,oEAA2D;QAC7D,4DAAM;QAEN,2EAAiC;QAC/B,8EAOC;QADC,+IAAS,kBAAc,IAAC;QAExB,4EAAqD;QACnD,0EACF;QAAA,4DAAO;QACT,4DAAS;QACX,4DAAM;QACR,4DAAM;QACN,qHAOM;QACR,4DAAM;QAEN,0EAA+B;QAC7B,0EAAuB;QACrB,2EAA4C;QAC1C,8EAGG;QADD,+IAAS,yBAAqB,IAAC;QAC9B,wDAAa;QAAA,4DACf;QACH,4DAAM;QACN,0EAA8B;QAC5B,2EAIE;QADA,4IAAS,yBAAqB,IAAC;QAHjC,4DAIE;QACJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,oFAAuD;;QA5E1C,0DAAY;QAAZ,6EAAY;QASrB,0DAEA;QAFA,wJAEA;QAGuC,0DAAc;QAAd,+EAAc;QAclB,0DAAyB;QAAzB,oJAAyB;QAkBtC,0DAAkB;QAAlB,kFAAkB;QAgB/B,0DAAa;QAAb,8EAAa;QAcP,0DAAe;QAAf,wEAAe;;;;;;;;;;;;;;;;;;;;AC5E3B,MAAM,iBAAiB;IAK5B,YAAoB,EAAc,EAAS,eAAgC;QAAvD,OAAE,GAAF,EAAE,CAAY;QAAS,oBAAe,GAAf,eAAe,CAAiB;QAJ3E,kDAAkD;QAClD,0DAA0D;QACjD,WAAM,GAAW,OAAO;QACxB,iBAAY,GAAW,IAAI;IAEpC,CAAC;IAC2B,YAAY;IACxC,CAAC;IACqB,UAAU;QAC9B,+CAA+C;IACjD,CAAC;IACyC,OAAO,CAAC,EAAO;QACvD,+BAA+B;QAC/B,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;;kFAfU,iBAAiB;iGAAjB,iBAAiB;mJAAjB,kBAAc,2EAAd,gBAAY,mFAAZ,0BACX;;;;;;;;;;;;;;ACLF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AAGc;;;;;;AAQpD,MAAM,gBAAgB;IAgB3B,YACU,YAAsB,EACtB,cAA8B,EAC9B,QAAwB;QAFxB,iBAAY,GAAZ,YAAY,CAAU;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAgB;QAjBlC,aAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtC,CAAC,CAAC,wEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,wEAAW,CAAC,kBAAkB,CAAC;QAEnC,YAAO,GAAW,EAAE,CAAC;QAErB,eAAU,GAAW,EAAE,CAAC;QAExB,SAAI,GAAiB,IAAI,KAAK,EAAc,CAAC;QAI7C,WAAM,GAAW,IAAI,0DAAM,EAAE,CAAC;IAM1B,CAAC;IAEL,QAAQ,KAAW,CAAC;IAEpB,UAAU,CAAC,IAAkB;QAC3B,uBAAuB;QACvB,kCAAkC;QAClC,gCAAgC;QAEhC,8CAA8C;QAC9C,2BAA2B;QAC3B,oCAAoC;QACpC,6CAA6C;QAC7C,kCAAkC;QAClC,6DAA6D;QAC7D,8CAA8C;QAC9C,WAAW;QACX,iDAAiD;QACjD,uCAAuC;QACvC,iCAAiC;QACjC,iCAAiC;QACjC,wCAAwC;QACxC,oCAAoC;QACpC,QAAQ;QACR,MAAM;QACN,8CAA8C;QAC9C,IAAI;QAEJ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,GAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SACzC;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB,EAAE,IAAkB,EAAE,MAAc;QAC3E,SAAS,OAAO,CAAC,IAAgB;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnC,OAAO,CAAC,WAAW,IAAI,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtH,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC1C,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;SAC/B;QAED,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACvD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7C,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;QACjD,cAAc,CAAC,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QACzD,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAEjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,IAAkB,EAAE,MAAc;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5D,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAClD,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtD,cAAc,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACxD,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9D,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,OAAO,CAAC,IAAiB;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,OAAO,CAAC,WAAW,IAAI,WAAW,IAAG,EAAE,CAAC,CAAC,CAAC,CAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,YAAY,IAAG,EAAE,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACtH,CAAC;;gFAjHU,gBAAgB;gGAAhB,gBAAgB;QCb7B,yEAAoC;QAClC,yEAAuC;QACrC,wEAAwB;QAAA,mEAAQ;QAAA,4DAAK;QACrC,yEAAqB;QACnB,sEAAK;QACH,qEAAI;QAAA,uDAAyB;QAAA,4DAAK;QACpC,4DAAM;QAEN,wEAAwB;QACtB,uDAEF;QAAA,4DAAK;QAEL,qEAAgH;QAChH,0EAA0B;QACxB,0EAAuD;QACrD,6EAQC;QADD,yIAAS,cAAU,IAAC;QAEnB,sEACD;QAAA,4DAAS;QACT,iEAAM;QACN,6EAOC;QADC,yIAAS,gBAAY,IAAC;QAEtB,0EACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QArCM,0DAAyB;QAAzB,mGAAyB;QAI7B,0DAEF;QAFE,qLAEF;QAEK,0DAAsC;QAAtC,2KAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ4B;AAEnB;AAKV;AACL;AAE8B;AAKxC;AAIuC;;;;;;;;;AAWjE,MAAM,WAAW;IAqFtB,YACmB,cAA8B,EAC9B,GAAe,EACf,eAAgC,EAChC,QAAyB,EACzB,EAAmB,EAC5B,WAA+B,EAC/B,QAAyB,EACzB,IAAiB;QAPR,mBAAc,GAAd,cAAc,CAAgB;QAC9B,QAAG,GAAH,GAAG,CAAY;QACf,oBAAe,GAAf,eAAe,CAAiB;QAChC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,OAAE,GAAF,EAAE,CAAiB;QAC5B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,SAAI,GAAJ,IAAI,CAAa;QA3F3B,cAAS,GAAW,EAAE,CAAC;QAEvB,aAAQ,GAAW,GAAG,CAAC;QAEvB,QAAG,GAAW,GAAG,CAAC;QAElB,UAAK,GAAW,GAAG,CAAC;QAEpB,gBAAW,GAAW,GAAG,CAAC;QAE1B,6FAA6F;QAC7F,aAAQ,GAAW,GAAG,CAAC;QAEvB,QAAG,GAAW,GAAG,CAAC;QAElB,cAAS,GAAW,GAAG,CAAC;QAExB,oBAAe,GAAW,GAAG,CAAC;QAE9B,aAAQ,GAAW,GAAG,CAAC;QAEvB,UAAK,GAAqB,EAAsB,CAAC;QAEjD,gBAAW,GAAY,KAAK,CAAC;QAC7B,WAAM,GAAW,CAAC,CAAC,CAAC,iBAAiB;QACrC,uBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEjD,qBAAgB,GAAW,GAAG,CAAC;QAE/B,oBAAe,GAAW,GAAG,CAAC;QAE9B,qBAAgB,GAAY,KAAK,CAAC;QAIlC,UAAK,GAAU,EAAE,CAAC;QAIX,iBAAY,GAAG,IAAI,oDAAe,CAAS,CAAC,CAAC,CAAC;QAE9C,cAAS,GAAG,IAAI,oDAAe,CAAS,CAAC,CAAC,CAAC;QAE3C,iBAAY,GAAG,IAAI,oDAAe,CAAS,CAAC,CAAC,CAAC;QAE9C,eAAU,GAAG,IAAI,oDAAe,CAAS,CAAC,CAAC,CAAC;QAE5C,iBAAY,GAAG,IAAI,oDAAe,CAAS,CAAC,CAAC,CAAC;QAE9C,YAAO,GAAG,IAAI,oDAAe,CAAS,CAAC,CAAC,CAAC;QAEzC,sBAAiB,GAAG,IAAI,4CAAO,EAAW,CAAC;QAE3C,iBAAY,GAAG,IAAI,oDAAe,CAAS,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,kBAAa,GAAG,IAAI,oDAAe,CAAO,EAAU,CAAC,CAAC;QAEtD,iBAAY,GAAG,IAAI,oDAAe,CAAgC,EAAE,CAAC,CAAC;QAEtE,iBAAY,GAAG,IAAI,4CAAO,EAAW,CAAC;QAEtC,6BAAwB,GAAG,IAAI,4CAAO,EAAW,CAAC;QAEzD,kBAAa,GAAG,EAAW,CAAC;QAE5B,0BAAqB,GAAY,KAAK,CAAC;QAEhC,mBAAc,GAAG,IAAI,4CAAO,EAAW,CAAC;QAExC,qCAAgC,GAAa,EAAE,CAAC;QAEhD,mBAAc,GAAmC,EAAE,CAAC;QAE3D,sBAAiB,GAAqB,EAAsB,CAAC;QAE7D,0BAAqB,GAAqB,EAAsB,CAAC;QAE1D,iCAA4B,GAAG,IAAI,4CAAO,EAAW,CAAC;IAezD,CAAC;IAEL,gBAAgB,CAAC,IAAU;QACzB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;YAED,IAAI,YAAY,GAAG,GAAS,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAc,MAAM,IAAI,CAAC,kBAAkB,CACtD,EAAE,EACF,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,EACX,sFAAc,CAAC,cAAc,EAAE,CAChC,CAAC;gBACF,IAAI,aAAa,GAAG,GAAG,CAAC;gBACxB,IAAI,UAAU,GAAG,GAAG,CAAC;gBAErB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;wBAC/C,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;qBACpC;iBACF;gBAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;gBACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAErC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,IAAI,CAAC,IAAI,GAAG,wDAAI,CAAC,OAAO,EAAE,CAAC;iBAC5B;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC;YAEF,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,sBAAsB,CAAC,WAAoB;QACzC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,kBAAkB,CAChB,SAAiB,EACjB,UAAkB,EAClB,MAAc,EACd,WAA0B;QAE1B,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,IAAI,QAAQ,GAAG,sFAAc,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,SAAS,GAAG,sFAAc,CAAC,YAAY,EAAE,CAAC;YAC9C,IAAI,OAAkB,CAAC;YACvB,IAAI,QAAQ,GAAG;;;;;;;;;;;;;;;sGAeiF,SAAS;8BACjF,QAAQ,yBAAyB,MAAM;0DACX,WAAW;;;wGAGmC,SAAS;gCACjF,QAAQ,yBAAyB,MAAM,6BAA6B,WAAW;;;0GAGL,SAAS;kCACjF,QAAQ,6BAA6B,UAAU;qCAC5C,WAAW;;4GAE4D,SAAS;oCACjF,QAAQ,6BAA6B,UAAU,6BAA6B,WAAW;;;;kCAIzF,SAAS,wBAAwB,QAAQ,yBAAyB,SAAS;iEAC5C,WAAW;;;8GAGkC,SAAS;uCAChF,QAAQ,yBAAyB,SAAS,6BAA6B,WAAW;;;4CAG7E,SAAS,wBAAwB,QAAQ;4FACO,WAAW;;;8CAGzD,SAAS,wBAAwB,QAAQ,8DAA8D,WAAW;kDAC9G,CAAC;YAE7C,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAC3C,IAAI,IAAI,GAAc,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAChD,OAAO,CAAC,GAAG,CACT,gDAAgD,EAChD,MAAM,CAAC,OAAO,CACf,CAAC;gBAEF,MAAM,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CACjC,QAAQ,EACR,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,QAAQ,CAAC,IAAS,EAAE,IAAc;;YACtC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;gBACvE,IAAI,IAAI,GAAG,IAAI,CAAC;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxD,IAAI,IAAI,EAAE;wBACR,IAAI,CAAC,GAAG,MAAM,uEAAe,CAAC,MAAM,CAClC,IAAI,CAAC,mBAAmB,EACxB,CAAC,EAAO,EAAE,EAAE;4BACV,OAAO,OAAO,CAAC,OAAO,CACpB,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI;gCAC3C,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CACrD,CAAC;wBACJ,CAAC,CACF,CAAC;wBACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BAClB,IAAI,GAAG,KAAK,CAAC;4BACb,OAAO,IAAI,CAAC;yBACb;6BAAM;4BACL,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE;gCAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACzD,CAAC,IAAa,EAAE,EAAE;oCAChB,IAAI,IAAI,IAAI,KAAK,EAAE;wCACjB,IAAI,GAAG,IAAI,CAAC;qCACb;gCACH,CAAC,CACF,CAAC;6BACH;yBACF;qBACF;;wBAAM,OAAO,IAAI,CAAC,CAAC,qCAAqC;iBAC1D;gBACD,OAAO,IAAI,CAAC;aACb;;gBAAM,OAAO,KAAK,CAAC,CAAC,qCAAqC;QAC5D,CAAC;KAAA;IAED,YAAY,CACV,IAAa,EACb,IAAU,EACV,gBAAyB,IAAI,EAC7B,aAAqB,CAAC;QAEtB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,mBAAmB,GAAW,MAAM,CACxC,sFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;YACF,MAAM,QAAQ,GAAG,sFAAc,CAAC,4BAA4B,EAAE,CAAC;YAC/D,IACE,IAAI,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACrE;gBACA,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,IAAI,GAAW,IAAI;wBACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;4BACvB,MAAM,CACJ,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CACxD,CAAC,QAAQ,CACX;wBACD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1B,IAAI,IAAI,GAAG,mBAAmB,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;wBAClD,IAAI,aAAa,EAAE;4BACjB,sFAAc,CAAC,sBAAsB,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,wDAAwD;yBAC5H;wBACD,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;iBACF;aACF;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAU;QACtB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,QAAQ,GAAW,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,EAAQ,EAAE,EAAE;gBAC1B,IACE,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;oBACrD,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS;wBACrB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI;wBACpB,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,EAC3B;oBACA,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;iBACjC;YACH,CAAC,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,uEAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACxD,IACE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAChC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,EACjC;wBACA,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACW,eAAe,CAAC,IAAU;;YACtC,MAAM,OAAO,GAAc,MAAM,IAAI,CAAC,kBAAkB,CACtD,EAAE,EACF,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,EACX,sFAAc,CAAC,cAAc,EAAE,CAChC,CAAC;YAEF,IAAI,aAAa,GAAG,GAAG,CAAC;YACxB,IAAI,UAAU,GAAG,GAAG,CAAC;YAErB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAC/C,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;iBACpC;aACF;YAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAErC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,GAAG,wDAAI,CAAC,OAAO,EAAE,CAAC;aAC5B;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,cAAc,CAClB,IAAU,EACV,QAAiB,KAAK,EACtB,uBAAgC,IAAI;;;YAGpC,yDAAyD;YACzD,4BAA4B;YAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC;YAClE,0DAA0D;YAE1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBACnE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC1C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBAC5D,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE;4BACtC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;4BAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;yBAC1B;qBACF;iBACF;aACF;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,IAAI,oBAAoB,EAAE;gBACxB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAElE,IAAI,CAAC,eAAe;oBAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aAClE;YAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,gBAAgB,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE;gBAC5C,IAAI,IAAI,GACN,MAAM,CACJ,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAC1D,CAAC,QAAQ,CACX,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE5B,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;wBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1D,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gCACvD,IACE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI;oCAClD,IAAI,GAAG,CAAC,EACR;oCACA,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAC1D,CAAC,QAAQ,EAAE,CAAC;oCACb,IACE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY;wCAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,EAC1C;wCACA,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;qCAC9C;yCAAM,IACL,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wCAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAClD;wCACA,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;qCAC/C;iCACF;gCACD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAClD,MAAM;6BACP;yBACF;wBACD,MAAM;qBACP;iBACF;gBAED,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAC1D,GAAG,IAAI,CAAC;gBACT,IAAI,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;oBACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;iBAC5B;gBACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;aACrC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBAC3B,UAAI,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE;gBACzD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CACd,IAAI,CAAC,SAAS,CAAC,SAAS,CACtB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAC5C,CACA,CACF,CACF,CAAC;gBAEF,aAAa,CAAC,QAAQ,GAAG,CACvB,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CACnC,CAAC,QAAQ,EAAE,CAAC;gBAEb,0EAA0E;gBAC1E,wEAAwE;gBAExE,oEAAoE;gBAEpE,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CACtE,GAAG,aAAa,CAAC;gBAClB,IAAI,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;oBACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;iBAC5B;gBACD,aAAa,CAAC,UAAU;oBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAElE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;YAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,SAAS,GAAS,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;gBACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;aAC5B;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;;KACrC;IAED,yBAAyB,CAAC,IAAU;QAClC,IAAI,EACF,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACN,qBAAqB,EACrB,KAAK,KAEH,IAAI,EADH,IAAI,wDACL,IAAI,EATJ,uGASH,CAAO,CAAC;QACT,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC1B,EAAE,EACF;YACE,SAAS;YACT,UAAU;YACV,UAAU;YACV,cAAc;YACd,MAAM;YACN,qBAAqB;YACrB,KAAK;SACN,CACF,CAAC;QACF,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACxC,IAAI,EACF,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACN,qBAAqB,EACrB,KAAK,KAEH,QAAQ,EADP,IAAI,wDACL,QAAQ,EATR,uGASH,CAAW,CAAC;YACb,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC1B,EAAE,EACF;gBACE,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,cAAc;gBACd,MAAM;gBACN,qBAAqB;gBACrB,KAAK;aACN,CACF,CAAC;YACF,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACxD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC9C;SACF;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,IAAI,QAAQ,GAAS,IAAI,0DAAI,EAAE,CAAC;QAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC1D,IACE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY;gBACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM;gBACtC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,qBAAqB;gBAC5C,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,cAAc,EAC/D;gBACA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM;aACP;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;;YACrC,OAAO,EAAY,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,SAAS,GAAG,EAAY,CAAC;QAE9B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAEnC,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,IAAU;QACvB,MAAM,SAAS,GAAG,EAAY,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACpD,qCAAqC;gBACrC,6CAA6C;gBAC7C,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;oBAC9B,IACE,CAAC,CACC,QAAQ,CAAC,cAAc;wBACvB,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAChD,EACD;wBACA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC1B;iBACF;qBAAM;oBACL,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,uBAAuB,KAAK,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;wBACtH,gEAAgE;wBAChE,yCAAyC;wBACzC,qCAAqC;wBACrC,KAAK;wBACL,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC;qBACnD;iBACF;aACF;iBAAM;gBACL,mFAAmF;gBACnF,kEAAkE;gBAClE,2CAA2C;gBAC3C,uCAAuC;gBACvC,OAAO;gBACP,IAAI;gBACJ,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,CAAC;aACnD;SACF;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI;SAC5B;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,0CAA0C;IAC5C,CAAC;IAED,kCAAkC,CAAC,IAAU;QAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YACnE,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACrC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,KAAK,CAAC,UAAU,EAAE;wBACpB,IACE,KAAK,CAAC,uBAAuB;4BAC7B,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;4BACA,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC5D;qBACF;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,sFAAc,CAAC,sBAAsB,CACnC,CACE,MAAM,CAAC,sFAAc,CAAC,sBAAsB,EAAE,CAAC;oBAC/C,CAAC,IAAI,CAAC,QAAQ;wBACZ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW;wBACrC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CACrB,CAAC,QAAQ,EAAE,CACb,CAAC;aACH;SACF;aAAM;YACL,IACE,IAAI,CAAC,uBAAuB,IAAI,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpE;gBACA,sFAAc,CAAC,sBAAsB,CACnC,CACE,MAAM,CAAC,MAAM,CAAC,sFAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CACtB,CAAC,QAAQ,EAAE,CACb,CAAC;aACH;SACF;IACH,CAAC;IAED,OAAO;QACL,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IAC9E,CAAC;IAEO,cAAc;QACpB,IAAI,QAAQ,GAAW,CAAC,CAAC;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IACE,CAAC,CACC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO;gBACtC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,WAAW,CAAC;gBAChD,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO;oBACtC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAClC,EACD;gBACA,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC1D;SACF;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe;YAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,QAAQ;YACtD,CAAC,CAAC,GAAG,CAAC;IACV,CAAC;IAEa,gBAAgB;;YAC5B;;eAEG;YACH,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE1C,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,IAAI,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBAChE,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CACzC,IAAI,CAAC,gCAAgC,EACrC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EACzB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CACzE,CAAC;gBAEF,IAAI,IAAI,CAAC,gCAAgC,CAAC,MAAM,IAAI,CAAC,EAAE;oBACrD,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;iBAC/B;aACF;iBAAM;gBACL,mEAAmE;gBACnE,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBAExC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;qBAC7B;iBACF;gBAED,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;aAC/B;YAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,gEAAgE;YAChE,qCAAqC;YAErC,MAAM,YAAY,GAAG,0EAAkB,CAAC,UAAU,CAChD,IAAI,CAAC,YAAY,EAAE,EACnB,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAAC,KAAK,CACxB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YAChD,IAAI,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YAErC,MAAM,WAAW,GAAW,IAAI,CAAC,cAAc,EAAE,CAAC;YAElD,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC;YACvF,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;YAEpB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAExC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAEnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAE/B,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;KAAA;IAEa,kBAAkB;;YAC9B,MAAM,QAAQ,GACZ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACtD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;gBACrB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAEhC,IAAI,QAAQ,GAAW,CAAC,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC1D;YACD,MAAM,WAAW,GAAW,IAAI,CAAC,QAAQ,CAAC,eAAe;gBACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,QAAQ;gBACtD,CAAC,CAAC,GAAG,CAAC;YACR,MAAM,KAAK,GACT,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;gBACrB,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YACnE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;gBACpE,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;iBACtB;aACF;YACD,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;KAAA;IAED;;;OAGG;IACK,wBAAwB;QAC9B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBAChE,IAAI,CAAC,2BAA2B,CAC9B,IAAI,CAAC,gCAAgC,EACrC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EACzB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CACzE,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACK,YAAY;;YAChB,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,gEAAW,CAAC,MAAM,EAAE;gBACtD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAChC;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,gEAAW,CAAC,QAAQ,EAAE;gBAC/D,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAClC;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,gEAAW,CAAC,GAAG,EAAE;gBAC1D,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAChC;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,gEAAW,CAAC,QAAQ,EAAE;gBAC/D,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAChC;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,gEAAW,CAAC,UAAU,EAAE;gBACjE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAChC;iBAAM;gBACL,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAChC;QACH,CAAC;KAAA;IAED,iBAAiB;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;aACP;SACF;IACH,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,eAAwB,IAAI,EAAE,oBAA6B,IAAI;QAC/E,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,IAAI,uBAAuB,GACzB,sFAAc,CAAC,uBAAuB,EAAE,IAAI,YAAY,CAAC;QAC3D,IAAI,CAAC,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;YACnD,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;SACvC;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzD,IAAI,SAAS,GAAG,uEAAe,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAE9D,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEvE,IAAI,uBAAuB,EAAE;oBAC3B,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;oBACrC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;oBACrD,IAAI,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;oBAEvC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,SAAS,GAAG,YAAY,CAAC;iBAC1B;gBAED,IAAI,iBAAiB,EAAE;oBACrB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC;iBACnF;qBAAM;oBACL,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;iBAC5B;aACF;SACF;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,yBAAyB,CAAC,IAAU;QAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,SAAS,GAAG,uEAAe,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QAE9D,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAErC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;QAErD,IAAI,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;QAEvC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,WAAW;QACT,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE;gBAC7B,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC;aAChE;iBAAM;gBACL,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;aACvC;SACF;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,IAAU,EAAE,YAAqB;QAC5C,IAAI,QAAQ,GAAG,uEAAe,CAAC,YAAY,CAAC,IAAY,CAAC,CAAC,CAAC,YAAY;QAEvE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,YAAY,EAAE;YACvE,IAAI,IAAI,CAAC,gBAAgB,IAAI,GAAG,EAAE;gBAChC,QAAQ;oBACN,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;aACxE;iBAAM;gBACL,aAAa;gBACb,mEAAmE;aACpE;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QAED,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAE3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,SAAiB,CAAC,EAAE,WAAmB,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,aAAqB,CAAC;QAC1B,IAAI,MAAM,GAAG,QAAQ,EAAE;YACrB,MAAM,GAAG,QAAQ,CAAC;SACnB;QACD,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;SACnC;aAAM;YACL,aAAa,GAAG,CAAC,CAAC;SACnB;QACD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,kDAAkD;QAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,MAAM,SAAS,GACb,uEAAe,CAAC,YAAY,CAAC,IAAI,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACrB,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;YAEtB,MAAM,uBAAuB,GAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;YAEtD,8HAA8H;YAC9H,MAAM,cAAc,GAClB,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,uBAAuB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACvG,MAAM,qBAAqB,GACzB,SAAS,GAAG,uBAAuB,GAAG,cAAc,CAAC;YACvD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,MAAM,OAAO,GACX,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC;4BAC9D,GAAG,CAAC;wBAEN,YAAY,IAAI,uEAAe,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACvD,QAAQ,IAAI,OAAO,CAAC;wBAEpB,+DAA+D;wBAC/D,MAAM,QAAQ,GAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAC3C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;wBAEF,IAAI,QAAQ,EAAE;4BACZ,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC;yBAC/B;6BAAM;4BACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gCACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;gCAC/B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC9B,SAAS,EAAE,OAAO;gCAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;6BAC7C,CAAC,CAAC;yBACJ;qBACF;iBACF;aACF;YAED,IAAI,CAAC,SAAS,GAAG,uEAAe,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SAC9D;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAY,CACV,UAAkB,EAClB,QAAiB,EACjB,OAAgB,EAChB,oBAA8B,EAAE;QAEhC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;SAC5B;QACD,IAAI,UAAU,IAAI,CAAC,EAAE;YACnB,sFAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACvC;QAED,IAAI,CAAC,gCAAgC,GAAG,iBAAiB,CAAC;IAC5D,CAAC;IAED,yBAAyB,CACvB,MAAc,EACd,oBAA8B,EAAE;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IACE,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM;YAC5D,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAC5B;YACA,IAAI,cAAc,GAAG,IAAI,CAAC,2BAA2B,CACnD,iBAAiB,EACjB,KAAK,EACL,MAAM,CACP,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;SACnC;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,0BAA0B,CACxB,UAAkB,EAClB,oBAA8B,EAAE;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IACE,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM;YAC5D,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAC5B;YACA,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAC/C,iBAAiB,EACjB,IAAI,EACJ,UAAU,CACX,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;SAC3C;aAAM;YACL,cAAc,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;YAErE,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;SACnD;QAED,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IAEO,2BAA2B,CACjC,iBAA2B,EAC3B,YAAqB,EACrB,KAAa;QAEb,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEhC,IAAI,aAAa,GAAG,EAAW,CAAC;QAEhC,IAAI,iBAAiB,GAAU,EAAE,CAAC;QAElC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACvB,iBAAiB,CAAC,IAAI,CAAC;gBACrB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;gBACxC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;aACnD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG;YACd,GAAG,IAAI,GAAG,CACR,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC,CAClE,CAAC,MAAM,EAAE;SACX,CAAC;QAEF,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAC/C,CAAC;QACF,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAE9B,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,qBAAqB;gBACnB,uEAAe,CAAC,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;YAEtE,IAAI,YAAY,EAAE;gBAChB,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;aACzE;iBAAM;gBACL,IAAI,KAAK,IAAI,qBAAqB,EAAE;oBAClC,cAAc,GAAG,KAAK,CAAC;iBACxB;qBAAM;oBACL,cAAc,GAAG,CAAC,CAAC;iBACpB;aACF;SACF;QAED,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YAC9C,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,YAAY,EAAE;oBAChB,mBAAmB,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;iBACrD;qBAAM;oBACL,mBAAmB,GAAG,KAAK,CAAC;iBAC7B;aACF;SACF;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,WAAW,GAAG,uEAAe,CAAC,+BAA+B,CAC/D,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CACzE,CAAC;YAEF,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;gBAC7D,IAAI,YAAY,EAAE;oBAChB,YAAY,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;iBAC7D;qBAAM;oBACL,IAAI,KAAK,IAAI,qBAAqB,EAAE;wBAClC,IAAI,cAAc,GAAG,CAAC,WAAW,GAAG,qBAAqB,CAAC,GAAG,GAAG,CAAC;wBAEjE,YAAY,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;qBAChE;iBACF;aACF;iBAAM,IAAI,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,mBAAmB,GAAG,CAAC,EAAE;gBACnE,IAAI,cAAc,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;gBACzD,YAAY,GAAG,CAAC,mBAAmB,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;aAC7D;YAED,IAAI,WAAW,GAAG,uEAAe,CAAC,eAAe,CAC/C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CACzE,CAAC;YAEF,IAAI,WAAW,GAAG;gBAChB,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;gBAC/C,QAAQ,EAAE,uEAAe,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChE,QAAQ,EAAE,uEAAe,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/D,QAAQ,EAAE,uEAAe,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC,CAAC;YAEjC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACjC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,gCAAgC,GAAG,iBAAiB,CAAC;QAE1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,IAAI,CAAC,gBAAgB,IAAI,GAAG,EAAE;oBAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC;iBACnE;qBAAM;iBACN;aACF;YAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAElC,IAAI,CAAC,KAAK;gBACR,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;aAAM;YACL,IACE,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI;gBAC9B,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,EACnC;gBACA,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK;oBAClE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;oBAC5C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aACrB;SACF;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,GAAW;QACrB,IAAI,SAAc,CAAC;QAEnB,MAAM,SAAS,GAAG,CAAO,IAAU,EAAE,EAAE,CAAC;YACtC,IACE,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;gBAC/B,IAAI,CAAC,QAAQ,IAAI,SAAS;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAC/C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC9B;gBACA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC;aACxC;iBAAM,IACL,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;gBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAC/C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC9B;gBACA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC;aACxC;QACH,CAAC,EAAC;QACF,MAAM,UAAU,GAAG,CAAO,KAAU,EAAE,EAAE,CAAC;YACvC,SAAS,GAAG,KAAK,CAAC;YAClB,uEAAe,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAExC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,EAAC;QACF,OAAO,IAAI,OAAO,CAAS,CAAO,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,eAAe;iBACvB,sBAAsB,EAAE;iBACxB,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;gBACpB,uEAAe,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,EAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,IAAU;QACrC,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,IAAI,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAErE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAEhC,IAAI,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAErD,IAAI,GAAG,EAAE;oBACP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;iBAC9C;aACF;SACF;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAEO,qBAAqB,CAAC,IAAU,EAAE,KAAW;QACnD,IACE,IAAI,CAAC,qBAAqB,IAAI,IAAI;YAClC,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,CAAC;YAChE,IAAI,CAAC,YAAY,EACjB;YACA,OAAO,KAAK,CAAC;SACd;QAED,IACE,IAAI,CAAC,gBAAgB;YACrB,KAAK,CAAC,gBAAgB;YACtB,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,EAC/C;YACA,OAAO,KAAK,CAAC;SACd;QAED,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,qBAAqB,EAAE;YACrD,OAAO,KAAK,CAAC;SACd;QAED,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YAC/C,OAAO,KAAK,CAAC;SACd;QAED,IACE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EACtE;YACA,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,gDAAgD;YAEhD,aAAa;YAEb,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,IACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,EACrC;oBACA,OAAO,KAAK,CAAC;iBACd;aACF;YAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAEnD,OAAO,GAAG,CAAC;iBACZ;gBAED,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEO,eAAe,CAAC,SAAgB;QACtC,IAAI,QAAQ,GAAG,EAAW,CAAC;QAE3B,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,MAAM,YAAY,GAAG;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,gBAAgB,EAAE,EAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,WAAW,EAAE,EAAE;iBAChB,CAAC;gBAEF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnD,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CACvC,CAAC;oBAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;wBACpC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC3D,CAAC,CAAC,CAAC;iBACJ;gBAED,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,sBAAsB,CAAC,CAAM,EAAE,CAAM;QAC3C,IAAI,WAAW,GAAG,EAAW,CAAC;QAC9B,IAAI,gBAAgB,GAAG,EAAW,CAAC;QAEnC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAChC,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,gBAAgB,EAAE,EAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,EAAE;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CACvC,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACpC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;aACJ;YAED,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YAChC,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,gBAAgB,EAAE,EAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,EAAE;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CACvC,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACpC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;aACJ;YAED,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE5D,wCAAwC;QACxC,6BAA6B;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;YACnC,OAAO,KAAK,CAAC;SACd;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;YAErC,4CAA4C;YAC5C,6BAA6B;YAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE;gBAC/B,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,WAAW,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE;YACjD,OAAO,KAAK,CAAC;SACd;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAChD,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7D,KAAK,GAAG,IAAI,CAAC;SACd;aAAM;YACL,IAAI,WAAW,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE;gBAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;wBAChE,KAAK,GAAG,KAAK,CAAC;qBACf;yBAAM,IACL,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;wBACpD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAC/C;wBACA,KAAK,GAAG,KAAK,CAAC;qBACf;yBAAM,IACL,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBAChD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAC3C;wBACA,KAAK,GAAG,KAAK,CAAC;qBACf;yBAAM;wBACL,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;4BAC5D,KAAK,GAAG,KAAK,CAAC;yBACf;qBACF;iBACF;aACF;iBAAM;gBACL,KAAK,GAAG,KAAK,CAAC;gBACd,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QAED,kCAAkC;QAClC,4BAA4B;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IACnC,iBAAiB,CAAC,CAAM,EAAE,CAAM;QACtC,IAAI,WAAW,GAAG,EAAS,CAAC;QAC5B,IAAI,gBAAgB,GAAG,EAAS,CAAC;QAEjC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC7B,MAAM,QAAQ,GAAG;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,YAAY;oBAC1B,WAAW,EAAE,IAAI,CAAC,SAAS;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC;gBAEF,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC7B,MAAM,QAAQ,GAAG;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,YAAY;oBAC1B,WAAW,EAAE,IAAI,CAAC,SAAS;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC;gBAEF,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE5D,wCAAwC;QACxC,6BAA6B;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;YACnC,OAAO,KAAK,CAAC;SACd;QAED,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,EAAE,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAE3B,4CAA4C;YAC5C,6BAA6B;YAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE;gBAC/B,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEjC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;gBACzC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;oBAC7C,IACE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;wBACvC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAC7B;wBACA,KAAK,GAAG,IAAI,CAAC;qBACd;yBAAM;wBACL,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;4BACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC1D,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gCAErD,IACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oCAC/C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,EAC1C;oCACA,KAAK,GAAG,KAAK,CAAC;iCACf;qCAAM;oCACL,IACE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,EACxD;wCACA,KAAK,GAAG,KAAK,CAAC;qCACf;iCACF;6BACF;yBACF;6BAAM;4BACL,KAAK,GAAG,KAAK,CAAC;4BACd,OAAO,KAAK,CAAC;yBACd;qBACF;iBACF;qBAAM;oBACL,KAAK,GAAG,KAAK,CAAC;oBACd,OAAO,KAAK,CAAC;iBACd;aACF;iBAAM;gBACL,KAAK,GAAG,KAAK,CAAC;gBACd,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;QACjB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;IAED;;MAEE;IACI,iBAAiB,CAAC,IAAmB;;YACzC,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,GAAE;gBACrB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;YAED,0BAA0B;YAC1B,sBAAsB;YACtB,SAAS;YACT,uCAAuC;YACvC,IAAI;YAEJ,kCAAkC;YAClC,qDAAqD;YACrD,MAAM;YAEN,oBAAoB;QACtB,CAAC;KAAA;IACD;;;;IAIA;IACA,YAAY,CAAC,IAAS;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9C;IACH,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,KAAa;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SAChD;IACH,CAAC;;sEA/nDU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;ACzBpB;AAAA;AAAO,MAAM,cAAc;IAEzB,gCAAgC;IAChC,gDAAgD;IAChD,IAAI;IACJ,MAAM,CAAC,SAAS,CAAC,MAAW;QAC1B,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,SAAS;QACd,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,IAAI,EAAE;YACzC,OAAO,EAAE,CAAC;SACX;QACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,CAAC,wBAAwB,CAAC,qBAA0B;QACxD,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,wBAAwB;QAC7B,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC;QAC3E,IAAI,qBAAqB,IAAI,SAAS,IAAI,qBAAqB,IAAI,IAAI,EAAE;YACvE,OAAO,EAAE,CAAC;SACX;QACD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,UAAU,CAAC,OAAY;QAC5B,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,UAAU;QACf,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,IAAI,EAAE;YAC3C,OAAO,EAAE,CAAC;SACX;QACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;YACjD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAE5D,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,IAAI,EAAE;YACvD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,uBAA4B;QAC5D,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,CAAC,0BAA0B;QAC/B,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,CACpD,yBAAyB,CAC1B,CAAC;QACF,IAAI,uBAAuB,IAAI,SAAS,IAAI,uBAAuB,IAAI,IAAI,EAAE;YAC3E,OAAO,EAAE,CAAC;SACX;QACD,OAAO,uBAAuB,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,kBAAkB;QACvB,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3D,OAAO,EAAE,CAAC;SACX;QACD,OAAO,eAAe,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,CAAC,wBAAwB,CAAC,qBAA0B;QACxD,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,wBAAwB;QAC7B,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC5E,IAAI,qBAAqB,IAAI,SAAS,IAAI,qBAAqB,IAAI,IAAI,EAAE;YACvE,OAAO,EAAE,CAAC;SACX;QACD,OAAO,qBAAqB,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,mBAAmB,CAAC,gBAAqB;QAC9C,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,CAAC,mBAAmB;QACxB,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,gBAAgB,IAAI,SAAS,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC7D,OAAO,EAAE,CAAC;SACX;QACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,sBAAsB;QAC3B,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACxE,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI,EAAE;YACnE,OAAO,EAAE,CAAC;SACX;QACD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,WAAgB;QACpC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,IAAI,IAAI,EAAE;YACnD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,oBAAoB,CAAC,iBAAsB;QAChD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,iBAAiB,IAAI,SAAS,IAAI,iBAAiB,IAAI,IAAI,EAAE;YAC/D,OAAO,EAAE,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,UAAU,CAAC,OAAY;QAC5B,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,UAAU;QACf,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,IAAI,EAAE;YAC3C,OAAO,EAAE,CAAC;SACX;QACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;YACjD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,IAAI,EAAE;YACvD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,kCAAkC,CACvC,+BAAoC;QAEpC,YAAY,CAAC,OAAO,CAClB,iCAAiC,EACjC,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kCAAkC;QACvC,MAAM,+BAA+B,GAAG,YAAY,CAAC,OAAO,CAC1D,iCAAiC,CAClC,CAAC;QAEF,IACE,+BAA+B,IAAI,SAAS;YAC5C,+BAA+B,IAAI,IAAI;YAEvC,OAAO,GAAG,CAAC;QAEb,OAAO,+BAA+B,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,8BAA8B,CAAC,WAAmB;QACvD,YAAY,CAAC,OAAO,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,8BAA8B;QACnC,MAAM,2BAA2B,GAAG,YAAY,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACxF,IAAI,2BAA2B,IAAI,SAAS,IAAI,2BAA2B,IAAI,IAAI,EAAE;YACnF,OAAO,EAAE,CAAC;SACX;QAED,OAAO,2BAA2B,CAAC,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,4BAA4B,CAAC,yBAAiC;QACnE,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,yBAAyB,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,4BAA4B;QACjC,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACpF,IAAI,yBAAyB,IAAI,SAAS,IAAI,yBAAyB,IAAI,IAAI,EAAE;YAC/E,OAAO,EAAE,CAAC;SACX;QAED,OAAO,yBAAyB,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,0BAA0B;IAC1B,kBAAkB;IAClB,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC;IACtD,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,gBAAgB;QACrB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;QAC3D,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,IAAI,EAAE;YACvD,OAAO,EAAE;SACV;QACD,OAAO,aAAa;IACtB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;IAClE,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,sBAAsB;QAC3B,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACvE,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI,EAAE;YACnE,OAAO,EAAE;SACV;QACD,OAAO,mBAAmB;IAC5B,CAAC;IAED,qBAAqB;IACrB,MAAM,CAAC,oBAAoB,CAAC,WAAgB;QAC1C,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,iBAAiB,IAAI,SAAS,IAAI,iBAAiB,IAAI,IAAI,EAAE;YAC/D,OAAO,EAAE,CAAC;SACX;QACD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,WAAgB;QACpC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,IAAI,IAAI,EAAE;YACnD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;YACjD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAa;QAC/B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,IAAI,EAAE;YAC7C,OAAO,EAAE,CAAC;SACX;QACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC5D,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,IAAI,EAAE;YACvD,OAAO,EAAE,CAAC;SACX;QACD,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAY;QAClC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,IAAI,EAAE;YAC3C,OAAO,EAAE,CAAC;SACX;QACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC3B,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACxE,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI,EAAE;YACnE,OAAO,EAAE,CAAC;SACX;QACD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,mBAAmB;IACnB,MAAM,CAAC,qBAAqB,CAAC,kBAAuB;QAClD,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACtE,IAAI,kBAAkB,IAAI,SAAS,IAAI,kBAAkB,IAAI,IAAI,EAAE;YACjE,OAAO,EAAE,CAAC;SACX;QACD,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,qBAAqB;QAE1B,IAAI,cAAc,CAAC,qBAAqB,EAAE;YACxC,cAAc,CAAC,qBAAqB,EAAE,IAAI,IAAI;YAC9C,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,EAAE;YAC9C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa;IACb,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3D,OAAO,EAAE,CAAC;SACX;QACD,OAAO,eAAe,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAGD,yBAAyB;IACzB,MAAM,CAAC,eAAe,CAAC,KAAU;QAC/B,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAU;QACjC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAAU;QAC7B,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAU;QAC5B,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,KAAU;QACpC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,KAAU;QACpC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAU;QAChC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAU;QACnC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,KAAU;QAC9B,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,GAAQ;QACrC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,KAAU;QAC1C,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,oCAAoC,CAAC,KAAU;QACpD,cAAc,CAAC,OAAO,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,eAAe,EACf,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,gBAAgB,EAChB,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,mBAAmB,EACnB,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,gBAAgB,EAChB,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kCAAkC;QACvC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,6BAA6B,EAC7B,IAAI,CAAC,0BAA0B,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,0CAA0C;QAC/C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,qCAAqC,EACrC,IAAI,CAAC,gBAAgB,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,8CAA8C;QACnD,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,yCAAyC,EACzC,IAAI,CAAC,mBAAmB,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,8BAA8B;QACnC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,yBAAyB,EACzB,IAAI,CAAC,gBAAgB,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mCAAmC;QACxC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,8BAA8B,EAC9B,IAAI,CAAC,oBAAoB,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,8BAA8B;QACnC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,yBAAyB,EACzB,IAAI,CAAC,gBAAgB,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mCAAmC;QACxC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,8BAA8B,EAC9B,IAAI,CAAC,oBAAoB,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,iBAAiB,EACjB,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,mBAAmB,EACnB,IAAI,CAAC,iBAAiB,EAAE,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,cAAc,EACd,IAAI,CAAC,YAAY,EAAE,CACpB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,cAAc;;QACnB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,uBAAuB;;QAC5B,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE/C,aAAO,GAAG,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,eAAe;;QACpB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEvD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEtD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEtD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEtD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEzD,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,0BAA0B;;QAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAEhE,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,oCAAoC;;QACzC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAE1E,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnD,aAAO,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAChC,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,iBAAsB;QAChD,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,gBAAqB;QAC9C,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,cAAmB;QAC1C,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,cAAmB;QAC1C,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAa;QAC9B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAc;QAChC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAExD,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE7D,aAAO,UAAU,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAExD,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE7D,aAAO,UAAU,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEtE,IAAI,iBAAiB,IAAI,SAAS,IAAI,iBAAiB,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE3E,aAAO,iBAAiB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEpE,IAAI,gBAAgB,IAAI,SAAS,IAAI,gBAAgB,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEzE,aAAO,gBAAgB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,gBAAqB;QAC9C,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEpE,IAAI,gBAAgB,IAAI,SAAS,IAAI,gBAAgB,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAE3E,OAAO,OAAC,gBAAgB,CAAC,QAAQ,EAAE,mCAAI,GAAG,CAAC,GAAG,GAAG,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,sBAAsB;;QAC3B,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE1E,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI;YACjE,OAAO,EAAE,CAAC;QAEZ,aAAO,mBAAmB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,oBAAyB;QACtD,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,uBAAuB;;QAC5B,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5E,IAAI,oBAAoB,IAAI,SAAS,IAAI,oBAAoB,IAAI,IAAI;YACnE,OAAO,OAAO,CAAC;QAEjB,aAAO,oBAAoB,CAAC,QAAQ,EAAE,mCAAI,OAAO,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,kBAAkB;;QACvB,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAElE,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC;QAE5E,aAAO,eAAe,CAAC,QAAQ,EAAE,mCAAI,OAAO,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,oBAAyB;QACtD,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,uBAAuB;;QAC5B,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5E,IAAI,oBAAoB,IAAI,SAAS,IAAI,oBAAoB,IAAI,IAAI;YACnE,OAAO,OAAO,CAAC;QAEjB,aAAO,oBAAoB,CAAC,QAAQ,EAAE,mCAAI,OAAO,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,sBAAsB;;QAC3B,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE1E,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI;YACjE,OAAO,OAAO,CAAC;QAEjB,aAAO,mBAAmB,CAAC,QAAQ,EAAE,mCAAI,OAAO,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEhE,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAErE,aAAO,cAAc,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEhE,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAErE,aAAO,cAAc,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,kBAAkB;;QACvB,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAElE,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEvE,aAAO,eAAe,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAE9D,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnE,aAAO,aAAa,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,WAAW;;QAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEzD,aAAO,QAAQ,CAAC,QAAQ,EAAE,mCAAI,GAAG,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE3D,aAAO,SAAS,CAAC,QAAQ,EAAE,mCAAI,GAAG,CAAC;IACrC,CAAC;IAED,mCAAmC;IAEnC,oCAAoC;IAEpC,MAAM,CAAC,mBAAmB,CAAC,gBAAqB;QAC9C,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEpE,IAAI,gBAAgB,IAAI,SAAS,IAAI,gBAAgB,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEzE,aAAO,gBAAgB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,gBAAqB;QAC9C,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAElE,IAAI,gBAAgB,IAAI,SAAS,IAAI,gBAAgB,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEzE,aAAO,gBAAgB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,0BAA+B;QAClE,cAAc,CAAC,OAAO,CACpB,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,6BAA6B;;QAClC,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,CACvD,4BAA4B,CAC7B,CAAC;QAEF,IACE,0BAA0B,IAAI,SAAS;YACvC,0BAA0B,IAAI,IAAI;YAElC,OAAO,EAAE,CAAC;QAEZ,aAAO,0BAA0B,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,sBAAsB;;QAC3B,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE1E,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI;YACjE,OAAO,EAAE,CAAC;QAEZ,aAAO,mBAAmB,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,kBAAkB;;QACvB,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAElE,IAAI,eAAe,IAAI,SAAS,IAAI,eAAe,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEvE,aAAO,eAAe,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAE9D,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEnE,aAAO,aAAa,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,cAAmB;QAC1C,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEhE,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAErE,aAAO,cAAc,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,wBAAwB;;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,iCAAiC;IACjC,6DAA6D;IAE7D,sDAAsD;IAEtD,kCAAkC;IAClC,IAAI;IAEJ,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;YAC9C,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;SAC7C;aAAM;YACL,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAS;QAC5B,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAS;QAC7B,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAS;QAE3B,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc;;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAChC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAS;QACrC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,sBAAsB;;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,wBAAwB;;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB;;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yCAAyC,CAAC,IAAS;QACxD,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,yCAAyC;;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,IAAS;QAC5C,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,6BAA6B;;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAS;QACpC,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,qBAAqB;;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,+BAA+B,CAAC,IAAS;QAC9C,cAAc,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,+BAA+B;;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,IAAS;QAC7C,cAAc,CAAC,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,8BAA8B;;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAEnE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gCAAgC,CAAC,IAAS;QAC/C,cAAc,CAAC,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,gCAAgC;;QACrC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAErE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAS;QACzC,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,0BAA0B;;QAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE/D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,IAAS;QAC7C,cAAc,CAAC,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,8BAA8B;;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAEnE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,IAAS;QAC3C,cAAc,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,4BAA4B;;QACjC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAEjE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAS;QACrC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,sBAAsB;;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB;;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,+BAA+B,CAAC,IAAS;QAC9C,cAAc,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,+BAA+B;;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,+BAA+B,CAAC,IAAS;QAC9C,cAAc,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,+BAA+B;;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,+BAA+B,CAAC,IAAS;QAC9C,cAAc,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,+BAA+B;;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,+BAA+B,CAAC,IAAS;QAC9C,cAAc,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,+BAA+B;;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAChC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAChC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEpD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAS;QAC1B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,WAAW;;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,IAAS;QACjC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,kBAAkB;;QACvB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,kBAAkB,CAAC,IAAS;QACjC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,kBAAkB;;QACvB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAS;QAC1B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,WAAW;;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAS;QAC5B,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAS;QAC5B,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAS;QAC3B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAS;QAC7B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,cAAc;;QACnB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAChC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAS;QAC3B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAS;QAC3B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAS;QAC5B,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,aAAa;;QAClB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAS;QACtB,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAO;;QACZ,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAS;QAC7B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,cAAc;;QACnB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iCAAiC,CAAC,IAAS;QAChD,YAAY,CAAC,OAAO,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,iCAAiC;QACtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,wCAAwC;IAExC,qCAAqC;IACrC,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,IAAI,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAC,EAAE;YACpC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;SACpE;IACH,CAAC;IAED,MAAM,CAAC,sBAAsB;;QAC3B,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE1E,IAAI,mBAAmB,IAAI,SAAS,IAAI,mBAAmB,IAAI,IAAI;YACjE,OAAO,GAAG,CAAC;QAEb,aAAO,mBAAmB,CAAC,QAAQ,EAAE,mCAAI,GAAG,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,EAAE;YAC7C,cAAc,CAAC,OAAO,CACpB,qBAAqB,EACrB,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CACvD,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAa;QAClC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,yBAA8B;QAChE,IAAI,yBAAyB,EAAE;YAC7B,IAAI,yBAAyB,IAAI,GAAG,EAAE;gBACpC,yBAAyB,GAAG,KAAK,CAAC;aACnC;SACF;QAED,cAAc,CAAC,OAAO,CACpB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,4BAA4B;QACjC,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,CACtD,2BAA2B,CAC5B,CAAC;QAEF,IACE,yBAAyB,IAAI,SAAS;YACtC,yBAAyB,IAAI,IAAI;YAEjC,OAAO,IAAI,CAAC;QAEd,OAAO,yBAAyB,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC3D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,yBAAyB;QAC9B,cAAc,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,mBAAwB;QAC1C,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEnD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,WAAgB;QACpC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEnD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,WAAgB;QACvC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,cAAmB;QAC1C,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,cAAmB;QAC1C,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEpD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,uBAA4B;QAC5D,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,0BAA0B;QAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,QAAa;QAC9B,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,iBAAsB;QAChD,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,mBAAmB;QACxB,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,mBAAmB;QACxB,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,aAAkB;QACnC,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAW;QAC1B,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,SAAS;QACd,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAAW;QACnC,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAuB;QAClD,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,yBAAyB;QAC9B,cAAc,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,8BAA8B,CAAC,2BAAgC;QACpE,cAAc,CAAC,OAAO,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,8BAA8B;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAEnE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,iBAAsB;QAChD,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,YAAiB;QACtC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEpD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,mBAAmB;QACxB,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAuB;QAClD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAc;QAChC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,WAAgB;QACpC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,QAAa;QACtC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,iBAAsB;QAChD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,iBAAsB;QAC5C,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,iBAAsB;QACvC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAuB;QAClD,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,wBAAwB;QAC7B,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QACxC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,WAAgB;QACpC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAuB;QAClD,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAuB;QAClD,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,+BAA+B,CAAC,4BAAiC;QACtE,cAAc,CAAC,OAAO,CACpB,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,+BAA+B;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAc;QAChC,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAY;QAC5B,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,UAAU;QACf,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAC1D,OAAO,OAAO,CAAC;QAEjB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,mBAAwB;QACpD,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,wBAA6B;QAC9D,YAAY,CAAC,OAAO,CAClB,0BAA0B,EAC1B,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QAE5E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,yCAAyC,CAC9C,sCAA2C;QAE3C,cAAc,CAAC,OAAO,CACpB,wCAAwC,EACxC,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD;;;OAGG;IACH,MAAM,CAAC,yCAAyC;QAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CACjC,wCAAwC,CACzC,CAAC;QAEF,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,4CAA4C;QACjD,IAAI,IAAI,CAAC,yCAAyC,EAAE,IAAI,EAAE,EAAE;YAC1D,cAAc,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;SACrE;IACH,CAAC;IACD,MAAM,CAAC,wBAAwB,CAAC,qBAA0B;QACxD,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IACD;;;OAGG;IACH,MAAM,CAAC,wBAAwB;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,2BAA2B;QAChC,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;YACzC,YAAY,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;SAClD;IACH,CAAC;IACD,MAAM,CAAC,wBAAwB,CAAC,qBAA0B;QACxD,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,iBAAsB;QAChD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,OAAY;QACzC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAoB;QAC5C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAErD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAU;QACxB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,wBAAwB;;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAEpD,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAS;QACzB,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,UAAU;;QACf,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,WAAW;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAS;QACzC,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,0BAA0B;;QAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE/D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,IAAS;QAC5C,cAAc,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,6BAA6B;;QAClC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAElE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,IAAS;QAC7C,cAAc,CAAC,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,8BAA8B;;QACnC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAEnE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,IAAS;QAC3C,cAAc,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,4BAA4B;;QACjC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAEjE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,IAAS;QAC5C,cAAc,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,6BAA6B;;QAClC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAElE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,wBAAwB;;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAChC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAS;QAC9B,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,eAAe;;QACpB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEpD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAS;QAC7B,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,cAAc;;QACnB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB;;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAID,MAAM,CAAC,uBAAuB;QAC5B,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAS;QAC3B,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAS;QAC9B,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,eAAe;;QACpB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEpD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEvD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAS;QACpC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,qBAAqB;;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAS;QAChC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,iBAAiB;;QACtB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEpD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAS;QAC1C,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,2BAA2B;;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAS;QACzC,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,0BAA0B;QAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAE1E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,mBAAmB;;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,gBAAgB;;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,IACE,cAAc,CAAC,mBAAmB,EAAE,IAAI,EAAE;YAC1C,cAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE;YACxC,cAAc,CAAC,2BAA2B,EAAE,IAAI,EAAE,EAClD;YACA,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAID,MAAM,CAAC,yBAAyB,CAAC,IAAS;QACxC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,yBAAyB;;QAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB;;QACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,aAAO,IAAI,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,IAAS;QACnC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC;QAEtD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAS;QACrC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAEjD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAEhE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAS;QAC1C,cAAc,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAS;QAC1C,cAAc,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAEhE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAC1D,OAAO,OAAO,CAAC;QAEjB,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAS;QACzC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,0BAA0B;QAC/B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,IAAS;QACjC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qBAAqB;IACrB,MAAM,CAAC,WAAW,CAAC,IAAS;QAC1B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6BAA6B;IAC7B,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,sBAAsB,CAAC,IAAS;QACrC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,6BAA6B,CAAC,IAAS;QAC5C,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,6BAA6B;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,2BAA2B,CAAC,IAAS;QAC1C,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,IAAS;QAC5C,YAAY,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,6BAA6B;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEhE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,kCAAkC,CAAC,IAAS;QACjD,YAAY,CAAC,OAAO,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,kCAAkC;QACvC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAErE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,2BAA2B,CAAC,IAAS;QAC1C,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAE9D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,oCAAoC,CAAC,IAAS;QACnD,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,oCAAoC;QACzC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAEvE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAS;QACzC,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,0BAA0B;QAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE7D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,IAAS;QAC3C,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,4BAA4B;QACjC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAE/D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAS;QAC1B,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,4BAA4B,CAAC,IAAS;QAC3C,YAAY,CAAC,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,4BAA4B;QACjC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAE/D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAS;QACpC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,cAAc;IACd,MAAM,CAAC,iCAAiC,CAAC,IAAS;QAChD,YAAY,CAAC,OAAO,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,iCAAiC;QACtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAS;QACpC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAS;QACpC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAExD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uCAAuC;IACvC,uCAAuC;IACvC,MAAM,CAAC,wBAAwB,CAAC,IAAS;QACvC,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,wBAAwB;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAE3D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;IAChB,oBAAoB;IACpB,YAAY;IACZ,MAAM,CAAC,qCAAqC,CAAC,IAAS;QACpD,YAAY,CAAC,OAAO,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,qCAAqC;QAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAExE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAAS;QACpC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACxD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAS;QAC7B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,iCAAiC,CAAC,IAAS;QAChD,YAAY,CAAC,OAAO,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,iCAAiC;QACtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAEpE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,uCAAuC,CAAC,oCAAyC;QACtF,cAAc,CAAC,OAAO,CAAC,sCAAsC,EAAE,oCAAoC,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,CAAC,uCAAuC;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QAE5E,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,IAAS;QACtC,IAAI,IAAI,IAAI,GAAG,EAAE;YACf,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;SACtD;aAAM;YACL,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;SACvD;IACH,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAE3E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,IAAS;QAClC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,sBAAsB,CAAC,IAAS;QACrC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,sBAAsB;QAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEzD,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,aAAa;IACb,MAAM,CAAC,mCAAmC,CAAC,IAAS;QAClD,YAAY,CAAC,OAAO,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,mCAAmC;QACxC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAEtE,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAExE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,cAAc;;QACnB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE1D,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAE/D,aAAO,WAAW,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,WAAgB;QACpC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC;QAC3D,OAAO,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,YAAY;;QACjB,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QAClE,aAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,SAAc;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,WAAW,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5F,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,+BAA+B,CAAC,IAAkC;QACvE,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,+BAA+B;;QACpC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEnD,aAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,mCAAI,IAAI,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,kCAAkC;QACvC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAGD,MAAM,CAAC,mBAAmB,CAAC,MAAW;QACpC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEtD,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAEpD,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC;IACpC,CAAC;CAEF;;;;;;;;;;;;;ACpvGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACa;;;;;;;;;;;;;;AAiB9D,MAAM,wBAAwB;IAcnC,YACmB,eAAgC,EAChC,IAAY,EACZ,MAAc,EACd,cAA8B,EAC9B,MAAkB,EAClB,mBAAwC,EACxC,aAA4B,EACrC,YAAsB,EACb,YAA0B,EACnC,QAAyB,EACzB,WAAwB,EACxB,MAAoB,EACpB,WAA8B;QAZrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAY;QAClB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QACrC,iBAAY,GAAZ,YAAY,CAAU;QACb,iBAAY,GAAZ,YAAY,CAAc;QACnC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAc;QACpB,gBAAW,GAAX,WAAW,CAAmB;QAxBxC,aAAQ,GAAW,EAAE,CAAC;QACtB,kBAAa,GAAW,CAAC,CAAC;QAE1B,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QAEvB,mBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAc,GAAQ,EAAE;QACxB,eAAU,GAAY,KAAK,CAAC;QAsC5B,qBAAgB,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAE1B,IAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE;oBACnC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;iBAChC;gBAED,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;qBAC9B,SAAS,EAAE;qBACX,IAAI,CACH,CAAC,GAAQ,EAAE,EAAE;oBACX,IAAI,GAAG,GAAG,IAAI,iEAAW,CACvB,OAAO,EACP,wBAAwB,EACxB,KAAK,EACL,yBAAyB,EACzB,KAAK,CACN,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;oBACb,IAAI,GAAG,GAAG,IAAI,iEAAW,CACvB,OAAO,EACP,6BAA6B,EAC7B,KAAK,EACL,gCAAgC,KAAK,EAAE,EACvC,KAAK,CACN,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC,CACF,CAAC;gBAEF,IAAI,GAAG,GAAG,IAAI,iEAAW,CACvB,OAAO,EACP,eAAe,EACf,KAAK,EACL,wBAAwB,EACxB,KAAK,CACN,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClE,CAAC,EAAE,CAAC,CAAC,CAAC;aACP;iBAAM;gBACL,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,CAAC,IAAI,IAAI,EAAE;oBACb,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;oBACrB,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,IAAI,IAAI,EAAE;4BACb,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;yBAC/C;oBACH,CAAC,EAAE,IAAI,CAAC,CAAC;iBACV;gBACD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC;IArFC,CAAC;IAEJ,QAAQ;QACN,wEAAwE;QACxE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAE/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,wGAAwG;QACxG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,sCAAsC,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAExE,CAAC;IAiED,aAAa,CAAC,EAAO,EAAE,MAAW;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,iEAAW,CACzB,kBAAkB,EAClB,MAAM,CAAC,OAAO,EACd,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,CACN,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,sBAAsB;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,iCAAiC;QACjC,MAAM,SAAS,GAAG,yCAAyC,CAAC;QAC5D,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,CAAC,IAAI,CAAC,QAAQ,CAAC,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,cAAc;QACd,IAAI,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;SACtB;QAED,uBAAuB;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,KAAU;QAChB,uCAAuC;QACvC,MAAM,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,KAAK,GAAqB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE;YAC3B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;;gGAhLU,wBAAwB;wGAAxB,wBAAwB;QCvBrC,0EAA2C;QACvC,yEAAiD;QAC7C,yEAAiB;QACb,yEAAmC;QAE/B,yEAAsC;QAClC,yEAAgC;QAC5B,oEAEiD;QACrD,4DAAM;QACN,yEAAiB;QACb,qEAAI;QAAC,uDAAkB;QAAA,4DAAK;QAC5B,yEAAqB;QACjB,sEAAI;QAAA,uEAEe;QAAA,wDAAa;QAAA,4DAAK;QACrC,sEAAI;QAAA,wEAEe;QAAA,4DAAK;QACxB,sEAAI;QAAA,wEAEe;QAAA,4DAAK;QACxB,sEAAI;QAAA,wEAEe;QAAA,4DAAK;QAC5B,4DAAK;QACL,2EAAoB;QAChB,2EAAqB;QACjB,0EAAiB;QACb,0EAAQ;QAAA,4EAAgC;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EAC/B;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EACzB;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QACvD,4DAAM;QACN,0EAAiB;QACb,0EAAQ;QAAA,4EAAgC;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EAC/B;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EACzB;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QACvD,4DAAM;QACN,0EAAiB;QACb,0EAAQ;QAAA,4EAAgC;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EAC/B;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EACzB;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAAA,4DAAS;QACvD,4DAAM;QACN,0EAAiB;QACb,0EAAkD;QAAA,4EACC;QADK,+IAAS,cAAU,IAAC;QACzB,4DAAO;QAAA,4DAAS;QAAA,0EAAQ;QAAA,4EACzC;QAA1B,qJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAO;QAC1C,4DAAS;QACT,0EAAkD;QAAA,4EAEC;QAD3C,+IAAS,kBAAc,IAAC;QACmB,4DAAO;QAAA,4DAAS;QACvE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAcN,2EAAmB;QAAA,wDAAkB;QAAA,4DAAM;QAE/C,4DAAO;;QA/DsB,0DAAkB;QAAlB,6FAAkB;QAIA,0DAAa;QAAb,8EAAa;QA6BhB,2DAAyC;QAAzC,mGAAyC;QAIzC,0DAAyC;QAAzC,mGAAyC;QAwB9D,0DAAkB;QAAlB,mFAAkB;;;;;;;;;;;;;;ACvEzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkG;;;;;AAElG,qGAAqG;AAO9F,MAAM,0BAA0B;IAmBrC,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QAf7C,UAAK,GAAG,2BAA2B,CAAC;QAEpC,4CAA4C;QAC5C,gBAAW,GAAG,+EAAqB,CAAC,GAAG,CAAC;QAExC,uCAAuC;QACvC,oBAAe,GAAG,wFAA8B,CAAC,IAAI,CAAC;QAEtD,4CAA4C;QAC5C,UAAK,GAAG,EAAE,CAAC;QACX,2BAAsB,GAAW,EAAE,CAAC;QACpC,oBAAe,GAAW,EAAE,CAAC;QAC7B,gBAAW,GAAS,EAAE,CAAC;IAG0B,CAAC;IAElD,QAAQ;QACN,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,IAAI,CAAC,GAAW,EAAC,YAAqB;QAClD,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5G,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,GAAG,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;;oGAzCU,0BAA0B;0GAA1B,0BAA0B;QCXvC,yEAAqB;QACjB,qEAAI;QAAA,uDAA0B;QAAA,4DAAK;QACnC,oEAAG;QAAA,uDAAoB;QAAA,4DAAI;QAC3B,yEAAqB;QACjB,2EAEa;QACjB,4DAAM;QACN,4EAA6C;QAApB,kJAAS,aAAS,IAAC;QAAC,uDAA2B;;QAAA,4DAAS;QACrF,4DAAM;;QARE,0DAA0B;QAA1B,2FAA0B;QAC3B,0DAAoB;QAApB,8FAAoB;QAEP,0DAA2B;QAA3B,wFAA2B;QAIE,0DAA2B;QAA3B,iJAA2B;;;;;;;;;;;;;;AC2C5E;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,UAAU;IAUrB,YAAY,IAAU;;QANtB,kBAAa,GAAqB,EAAE,CAAC;QAGrC,4BAA4B;QAC5B,iBAAY,GAAS,EAAE,CAAC;QAGtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;QAEzC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;aAClD;iBACI;gBACH,IAAI,CAAC,cAAc,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,CAAC,QAAQ,GAAG;YACd,UAAU,EAAE,WAAI,CAAC,UAAU,0CAAE,QAAQ,OAAM,EAAE;YAC7C,uBAAuB,EAAE,WAAI,CAAC,cAAc,0CAAE,QAAQ,OAAM,EAAE;SAC/D,CAAC;QAEF,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9B,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE;gBAC/B,IAAI,GAAG,CAAC,UAAU,EAAE;oBAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,cAAc,CAAC,GAAyB,CAAC,CAC9C,CAAC;iBACH;aACF;SACF;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC;CACF;AAEM,MAAM,cAAc;IAIzB,YAAY,GAAuB;QACjC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC;QAC9C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,CAAC;CACF;AAED,0BAA0B;AAEnB,MAAM,eAAe;IAU1B,YAAY,IAAU;QAPtB,iBAAY,GAAmB,EAAE,CAAC;QAClC,qBAAgB,GAAmB,EAAE,CAAC;QAGtC,4BAA4B;QAC5B,iBAAY,GAAS,EAAE,CAAC;QAGtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;QAEzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;YAEpD,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE;gBAC7B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;aAClD;iBACI;gBACH,IAAI,CAAC,cAAc,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE;IAEH,CAAC;CACF;AAED,MAAM,YAAY;IAKhB,YAAY,UAAsB;QAHlC,kBAAa,GAAqB,EAAE,CAAC;QAInC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,KAAK,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;gBACzC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC9B,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE;wBAC/B,IAAI,GAAG,CAAC,UAAU,EAAE;4BAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,cAAc,CAAC,GAAyB,CAAC,CAC9C,CAAC;yBACH;qBACF;iBACF;aACF;SACF;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,YAAY;IAKhB,YAAY,UAAsB;QAHlC,kBAAa,GAAqB,EAAE,CAAC;QAInC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,KAAK,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;gBACzC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC9B,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE;wBAC/B,IAAI,GAAG,CAAC,UAAU,EAAE;4BAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,IAAI,cAAc,CAAC,GAAyB,CAAC,CAC9C,CAAC;yBACH;qBACF;iBACF;aACF;SACF;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF;AAEM,MAAM,WAAW;IAAxB;QACE,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAa,GAAsB,EAAE,CAAC;QACtC,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAoB,EAAoB,CAAC;QACjD,iBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAe,GAAY,KAAK,CAAC;QACjC,iBAAY,GAAiB,EAAE,CAAC;QAChC,cAAS,GAAW,EAAE,CAAC;QACvB,kBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAc,GAAW,EAAE,CAAC;QAC5B,uBAAkB,GAAW,EAAE,CAAC;QAChC,eAAU,GAAW,EAAE,CAAC;QACxB,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAW,EAAE,CAAC;QAEvB,4BAA4B;QAC5B,cAAS,GAAkB,IAAI,CAAC;QAChC,iBAAY,GAAiB,IAAI,CAAC;QAClC,kBAAa,GAAiB,IAAI,CAAC;QACnC,UAAK,GAAiB,IAAI,CAAC;QAC3B,YAAO,GAAiB,IAAI,CAAC;QAC7B,cAAS,GAAiB,IAAI,CAAC;IACjC,CAAC;CAAA;;;;;;;;;;;;;AClOD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;AACa;;;AAQ9C,MAAM,eAAe;IAI1B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAFtC,eAAU,GAAW,EAAE,CAAC;IAEkB,CAAC;IAE3C,mBAAmB,CAAC,MAAc;QAChC,OAAO,iDAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,kBAAkB;QAChB,OAAO,iDAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,oBAAoB,CAClB,YAAoB,EACpB,SAAiB;QAEjB,OAAO,iDAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,kBAAkB,CAAC,EAAU;QAC3B,OAAO,iDAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,0BAA0B,CAAC,MAAc;QACvC,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC3D,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;sBAgBP,MAAM;;;;;;KAMvB,CAAC;YACA,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;gBAE/E,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;;gBACrD,IAAI,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC5D;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,cAAc,EACd,EAAE,EACF,QAAQ,EACR,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B,CAAC,UAAkB;QAC/C,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC3D,MAAM,WAAW,GAAG;;;;;;;;;;;;;;oCAcU,UAAU;;;;;;;KAOzC,CAAC;YACA,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;gBAEnF,OAAO,CAAC,EAAE,CAAC,CAAC;YAEd,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;;gBACrD,IAAI,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC5D;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B,CAAC,YAAoB,EAAE,SAAiB;QACjE,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC3D,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;+CAeqB,SAAS;mDACL,YAAY;;;;;;;;;;;OAWxD,CAAC;YACF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;gBAEhF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;;gBACrD,IAAI,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC5D;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B,CAAC,EAAU;QACvC,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC3D,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;2BAsBC,EAAE;;;;;OAKtB,CAAC;YACF,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;gBAEnF,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;;gBACrD,IAAI,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,SAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC5D;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;;8EAvNU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN4C;AAEjB;AACwB;AACyB;AAEtC;;;;;;;;;;;;;;;ICMhD,wEAAoC;IAClC,sGAKqE;IAFpC,mZAAqD;IAGtF,4DAAkC;IACpC,qEAAe;;;IANoB,0DAAuB;IAAvB,uFAAuB;;;;IAO1D,wEAAoC;IAClC,6FAK4D;IAJpC,gYAAgD;IAKxE,4DAAyB;IAC3B,qEAAe;;;IAPW,0DAA2B;IAA3B,2FAA2B;;;;IAiBjD,6EAI8B;IAAtB,kUAAqB;IAC3B,uDACF;IAAA,4DAAS;;;IALD,mGAAuC;IAI7C,0DACF;IADE,6FACF;;;;IAEE,6EAEsC;IAA9B,+UAA6B;IACnC,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,6FACF;;AD/BT,MAAM,uBAAuB;IAmDlC,YACmB,YAAsB,EACtB,cAA8B,EAC9B,aAA4B,EAC5B,EAAmB,EAC5B,WAAwB,EACxB,MAAkB,EACT,KAAqB,EAC9B,QAAyB;QAPhB,iBAAY,GAAZ,YAAY,CAAU;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,OAAE,GAAF,EAAE,CAAiB;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAY;QACT,UAAK,GAAL,KAAK,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAiB;QApDnC,oBAAe,GAAmB,EAAE,CAAC;QAIrC,cAAS,GAAiB,EAAkB,CAAC;QAE7C,mBAAc,GAAe,IAAI,uDAAU,EAAE,CAAC;QAE9C,kBAAa,GAAW,EAAE,CAAC;QAI3B,kBAAa,GAAY,IAAI,CAAC;QAE9B,aAAQ,GAAW,CAAC,CAAC;QAErB,aAAQ,GAAW,EAAE,CAAC;QAEtB,WAAM,GAAW,EAAE,CAAC;QAEpB,oBAAe,GAAW,EAAE,CAAC;QAK7B,2BAA2B;QAC3B,uBAAkB,GAAiB,EAAE,CAAC;QActC,iBAAY,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAClD,CAAC,CAAC,qEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,qEAAW,CAAC,kBAAkB,CAAC;QAcnC,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,EAAE;QAJrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IA7DD,WAAW;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACvC;IACH,CAAC;IA8BQ,oBAAoB,CAAC,MAG7B;QACC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;IACzC,CAAC;IAEQ,iBAAiB,CAAC,OAAgB;QACzC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAClC,CAAC;IAqBD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACtE,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,+EAAc,CAAC,gBAAgB,EAAE,CAAC;QAEvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAC5B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CACL,CAAC;gBACF,uCAAuC;gBACvC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC/C,IAAI,CAAC,EAAE,CAAC,kBAAkB,CACxB,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,KAAK,EACL,IAAI,EACJ,KAAK,CACN,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEa,oBAAoB;;YAChC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAEjC,IAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAC;wBAClC,QAAQ,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,QAAQ,CAAC,UAAU,CACpB,CAAC;qBACH;iBACF;gBAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACrC;iBAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gBACpE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEjC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC7D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;wBAC7D,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC;wBACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC;KAAA;IAEa,iBAAiB,CAAC,UAAkB;;YAChD,IAAI,wBAAwB,GAAG,EAA2C,CAAC;YAE3E,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,mCAAmC,CACrE,IAAI,CAAC,MAAM,EACX,UAAU,CACX,CAAC;YAEF,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAExE,wBAAwB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YAClD,wBAAwB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAE7C,wBAAwB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAC1E,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;YAEF,OAAO,wBAAwB,CAAC;QAClC,CAAC;KAAA;IAEM,MAAM,CAAE,IAAI,CACjB,YAAsB,EACtB,QAAsB,EACtB,aAAqB,EACrB,cAA0B,EAC1B,WAAmB,CAAC,EACpB,WAAmB,EAAE,EACrB,kBAA0B,EAAE;QAE5B,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC9D,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,+BAA+B;YAC5C,gBAAgB,EAAE,+BAA+B;YACjD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,SAAS,GAAG,QAAQ,CAAC;QACtD,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,eAAe,GAAG,+EAAc,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACpI,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CACF,QAAsB,EACtB,aAAqB,EACrB,cAA0B,EAC1B,WAAmB,CAAC,EACpB,WAAmB,EAAE;QAErB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACpE,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,+BAA+B;YAC5C,gBAAgB,EAAE,+BAA+B;YACjD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3E,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,QAAsB;QACnC,4FAA4F;QAC5F,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAE5B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;wBAC5B,gBAAgB,GAAG,KAAK,CAAC;wBACzB,MAAM;qBACP;iBACF;aACF;YAED,IAAI,gBAAgB,EAAE;gBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,IAAI,mBAAmB,GAAG,uEAAe,CAAC,0BAA0B,CAClE,QAAQ,CAAC,CAAC,CAAC,CACZ,CAAC;oBAEF,IAAI,mBAAmB,GAAG,CAAC,EAAE;wBAC3B,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;qBAC/B;iBACF;aACF;SACF;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YACnC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9C,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC5B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;oBAEvB,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC/C,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gCACjC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;6BACxB;iCAAM;gCACL,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAyB,CAAC;gCAEvD,GAAG,CAAC,UAAU;oCACZ,GAAG,CAAC,SAAS,IAAI,MAAM,IAAI,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC;6BAC3D;yBACF;qBACF;iBACF;aACF;SACF;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,IAAI,CAAC,EAAE;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;SACzC;IACH,CAAC;;8FAlRU,uBAAuB;uGAAvB,uBAAuB;kEA6BvB,2GAA0B;;;;;QCnDvC,yEAA4B;QAC1B,yEAAgD;QAC9C,yEAAqB;QACnB,yEAAqB;QACnB,yEAAwB;QACtB,qEAAkC;QAAA,uDAAc;QAAA,4DAAK;QACrD,oEAAG;QAAA,uDAAmB;QAAA,4DAAI;QAC5B,4DAAM;QACN,yEAAoC;QAClC,0EAA8C;QAC5C,0EAAQ;QAAA,yEAAqB;QAAA,wDAA8E;QAAA,4DAAK;QAAA,4DAAS;QAC3H,4DAAM;QACR,4DAAM;QACN,0EAAoB;QAClB,uIAQe;QACf,uIAQe;QAEjB,4DAAM;QACN,2EAAyC;QACvC,2EAAiB;QACf,sEAAyB;QACzB,2EAAmB;QACjB,8EAA2I;QAAxB,gJAAS,iBAAa,IAAC;QAAC,wDAAc;QAAA,4DAAS;QACpK,4DAAM;QACN,2EAAmB;QACjB,4HAMS;QACT,kNAMc;QAChB,4DAAM;QACR,4DAAM;QACR,4DAAM;QAER,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;;QAzDQ,0DAA6B;QAA7B,qFAA6B;QAAC,0DAAc;QAAd,6EAAc;QAC7C,0DAAmB;QAAnB,oFAAmB;QAIS,0DAA8E;QAA9E,qJAA8E;QAI9F,0DAAmB;QAAnB,mFAAmB;QASnB,0DAAmB;QAAnB,mFAAmB;QAe6G,0DAAc;QAAd,+EAAc;QAGhJ,0DAAwB;QAAxB,sFAAwB;;;;;;;;;;;;;;;;;;;;;;ACxCM;AAOV;AACe;;AAKnD,MAAM,kBAAkB;IAC7B,gBAAgB,CAAC;IAEV,sBAAsB,CAC3B,EAAO,EACP,KAAa,EACb,cAAsB;QAEtB,IAAI,qBAAqB,GAAW,CAAC,CAAC;QACtC,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,gBAAgB,GAAW,sEAAc,CAAC,gBAAgB,EAAE,CAAC;QACjE,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAW,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,OAAO,GAAW,EAAE,CAAC;QAEzB,IAAI,SAAS,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE9G,IAAI,gBAAgB,KAAK,IAAI,EAAE;YAC7B,IAAI,WAAW,GAAG,EAAiC,CAAC;YAEpD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,IAAI,SAAS,EAAE;gBAC3D,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;aAC/B;iBACI;gBACH,OAAO,GAAG,EAAE,CAAC;aACd;YAED,MAAM,GAAG,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC;YAE7C,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;YACjC,QAAQ,GAAG,MAAM,CAAC;YAClB,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC;YACpC,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC;YAClC,QAAQ,GAAG,OAAO,CAAC;YACnB,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC;YAC9B,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;YAC/B,IAAI,UAAU,GAAG;gBACf,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,WAAW,CAAC,MAAM;gBACrB,EAAE,EAAE,WAAW,CAAC,WAAW;gBAC3B,CAAC,EAAE,WAAW,CAAC,kBAAkB;gBACjC,EAAE,EAAE,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;aACzD,CAAC;YAE7B,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC;YACjC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;YAC/B,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAC9B,sEAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC5C;aAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE;YACpC,aAAa;YAEb,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAEzD,qBAAqB,GAAG,EAAE;gBACxB,CAAC,CAAC,MAAM,CACN,WAAW;qBACR,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBACrC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE,CACvC;gBACD,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,GAAG,EAAE;gBACT,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAChC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YAEP,QAAQ,GAAG,EAAE;gBACX,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;qBACnC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,QAAQ,GAAG,EAAE;gBACX,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAClC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;YAEb,QAAQ,GAAG,EAAE;gBACX,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBACrC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YAEP,QAAQ,GAAG,EAAE;gBACX,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBACtC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,GAAG,EAAE;gBACV,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAClC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,GAAG,GAAG,CAAC;YAEd,QAAQ,GAAG,EAAE;gBACX,CAAC,CAAC,WAAW;qBACV,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBACpC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;YAC9B,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,OAAO,CAAC;SACpB;aAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE;YACpC,IAAI,WAAW,GAAG,EAA4B,CAAC;YAE/C,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,IAAI,SAAS,EAAE;gBACrE,MAAM,GAAG,WAAW,CAAC,YAAY,GAAG,GAAG,GAAG,SAAS,CAAC;gBACpD,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC;aACpC;iBACI;gBACH,MAAM,GAAG,EAAE,CAAC;gBACZ,OAAO,GAAG,EAAE,CAAC;aACd;YAED,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YAChC,QAAQ,GAAG,MAAM,CAAC;YAClB,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC;YACxC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,OAAO,CAAC;YACnB,QAAQ,GAAG,SAAS,CAAC;YACrB,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;YAC/B,IAAI,UAAU,GAAG;gBACf,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,EAAE,EAAE,WAAW,CAAC,kBAAkB;gBAClC,CAAC,EAAE,QAAQ;gBACX,EAAE,EAAE,OAAO;aACe,CAAC;YAE7B,sEAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC5C;QAED,sEAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,KAAK,GAAiC;YACxC,kBAAkB,EAAE,EAAE;YACtB,qBAAqB,EAAE,qBAAqB;YAC5C,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,MAAM,CAAC,sEAAc,CAAC,YAAY,EAAE,CAAC;YAChD,QAAQ,EAAE,MAAM,CAAC,sEAAc,CAAC,WAAW,EAAE,CAAC;YAC9C,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE,uDAAe,CAAC,aAAa,EAAE;YACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;YAC1C,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,GAAG,GAAG,OAAO,GAAG,GAAG;YAC/B,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,qJAAqJ;YACrJ,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEY,6BAA6B;;YACxC,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sEAAc,CAAC,cAAc,EAAE,CAAC,CAAC;YAE1E,IAAI,mBAAmB,GACrB,sEAAc,CAAC,eAAe,EAAE,IAAI,EAAE;gBACpC,CAAC,CAAC,sEAAc,CAAC,gBAAgB,EAAE;gBACnC,CAAC,CAAC,sEAAc,CAAC,eAAe,EAAE,CAAC;YAEvC,IAAI,WAAW,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBACvC,IAAI,YAAY,GAAG,uDAAe,CAAC,iBAAiB,CAClD,sEAAc,CAAC,kBAAkB,EAAE,EACnC,mBAAmB,CACpB,CAAC;gBACF,IAAI,YAAY,IAAI,EAAE,EAAE;oBACtB,OAAO,OAAO,CAAC;iBAChB;gBAED,OAAO,YAAY,CAAC;aACrB;iBAAM;gBACL,OAAO,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;aAClE;QACH,CAAC;KAAA;IAEM,WAAW,CAAC,SAAiB;QAClC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAErC,IAAI,OAAO,GAAG;;;;;;6BAMS,SAAS;WAC3B,CAAC;YAEN,IAAI,aAAa,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBAC9C,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,QAAQ,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;gBACzC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,CAAC;gBAE5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAwB,CAAC,CAAC;iBAC3C;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;;oFA1OU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;ACFb,MAAM,yBAAyB;IAkBpC,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QAR7C,iBAAY,GAAW,EAAE,CAAC;QAE1B,gBAAW,GAAW,EAAE,CAAC;QAEzB,wBAAmB,GAAW,EAAE,CAAC;IAIe,CAAC;IAhBjD,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAcD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAChE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;;kGA7CU,yBAAyB;yGAAzB,yBAAyB;QCVtC,0EAAS;QACL,yEAAkC;QAClC,yEAA2B;QACvB,4EAAgG;QAApB,iJAAS,WAAO,IAAC;QACzF,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QAC3C,4DAAS;QACL,wEAAwB;QAAA,uDAAgB;QAAA,4DAAK;QAC7C,wEAAwB;QAAA,uDAAe;QAAA,4DAAK;QAC5C,yEAAwB;QAAA,wDAAwB;QAAA,4DAAK;QACrD,0EAAgD;QAC5C,qEAAgI;QACpI,4DAAM;QAEV,4DAAM;QACV,4DAAM;QACV,4DAAU;;QAT0B,0DAAgB;QAAhB,iFAAgB;QAChB,0DAAe;QAAf,gFAAe;QACf,0DAAwB;QAAxB,kGAAwB;;;;;;;;;;;;;;;;;;;;;;;;;ACGpB;AACqB;AACR;AAKoB;AACF;;;;AAahE,MAAM,iBAAiB;IAe5B,YACmB,IAAgB,EAChB,MAAkB;QADlB,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAY;QAhBrC,oDAAoD;QAEpD,6CAA6C;QAE7C,4BAAuB,GAAG,EAAoB,CAAC;QAQ/C,wBAAmB,GAAkB,IAAI,CAAC;QAMxC,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,kBAAkB,EAAE;IAE3B,CAAC;IACY,kBAAkB;;YAC7B,IAAI,CAAC,qBAAqB,EAAE;iBACzB,SAAS,EAAE;iBACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzD,qBAAqB;oBACrB,OAAO;iBACR;gBAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvC,4GAA4G;gBAC5G,wDAAwD;gBACxD,KAAK;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED,gFAAgF;IACzE,YAAY;QACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAEY,aAAa,CACxB,UAAkB,EAClB,IAAoB,EACpB,QAA4B,EAC5B,cAAsB;;YAGtB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC;YACnD,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAElG,oCAAoC;YACpC,sCAAsC;YACtC,IAAI;YAEJ,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wEAAW,CACzC,2BAA2B,EAC3B;wBACkB,cAAc;OAC/B,EACD,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,IAAI,CACL,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,GAAG,EAAE,cAAc,CAAC;iBACjF,SAAS,EAAE;iBACX,IAAI,CAAC,CAAC,CAAC,EAAE;gBACR,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,OAAO,CAAC;gBACrC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEL,IAAI,SAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,MAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wEAAW,CACzC,mCAAmC,EACnC;0BACkB,cAAc;SAC/B,EACD,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,IAAI,CACL,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wEAAW,CACzC,iCAAiC,EACjC;0BACkB,cAAc;SAC/B,EACD,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,IAAI,CACL,CAAC,CAAC;aACJ;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAEY,WAAW,CACtB,UAAkB,EAClB,cAAsB,EACtB,UAAkB,EAClB,OAA0B,EAC1B,QAA6B;;YAW7B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC;YAEhD,MAAM,cAAc,GAAG;gBACrB,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,cAAc;gBACzB,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE,IAAI,CAAC,mBAAmB;gBACjC,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ;aACQ,CAAC;YAE7B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wEAAW,CACzC,2CAA2C,EAC3C;wBACkB,cAAc;OAC/B,EACD,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,IAAI,CACL,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2B,GAAG,EAAE,cAAc,CAAC;iBACtF,SAAS,EAAE;iBACX,IAAI,CAAC,IAAI,CAAC,EAAE;gBACX,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEL,IAAI,cAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,MAAK,SAAS,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wEAAW,CACzC,mDAAmD,EACnD;0BACkB,cAAc;SAC/B,EACD,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC7B,IAAI,CACL,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wEAAW,CACzC,gDAAgD,EAChD;0BACkB,cAAc;SAC/B,EACD,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC7B,IAAI,CACL,CAAC,CAAC;aACJ;YACD,OAAO,aAAa;QACtB,CAAC;KAAA;IAEO,qBAAqB;QAC3B,MAAM,KAAK,GAAG,kDAAkD,sFAAc,CAAC,WAAW,EAAE,GAAG,CAAC;QAEhG,OAAO,gEAAe,CAAC,gBAAgB,CAAmB,KAAK,CAAC,CAAC;IACnE,CAAC;IAEO,yBAAyB,CAC/B,UAAkB,EAClB,IAAoB,EACpB,QAA4B,EAC5B,cAAsB;QAGtB,MAAM,cAAc,GAAG,EAA+B,CAAC;QAEvD,MAAM,SAAS,GAAQ,sFAAc,CAAC,cAAc,EAAE,CAAC;QACvD,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;QACrC,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC;QACrC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,wBAAwB;QACnF,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC;QACvC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,cAAc,CAAC,QAAQ,GAAG,QAAQ;QAElC,kCAAkC;QAClC,qDAAqD;QACrD,4GAA4G;QAE5G,6DAA6D;QAE7D,MAAM,mBAAmB,GAAG;YAC1B,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,EAAc;SACJ,CAAC;QACzB,cAAc,CAAC,OAAO,GAAG,mBAAmB,CAAC;QAE7C,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,OAAO,CAAC,SAAmB,EAAE,GAAW,EAAE,QAAsB;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,IAAI,GAAG,IAAI,2EAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAEa,eAAe;;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACrD,MAAM,YAAY,GAAkB,EAAE,CAAC;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE1B,oFAAoF;gBACpF,qCAAqC;gBACrC,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,IAAI,sFAAc,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI,sFAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE;oBAE5I,MAAM,WAAW,GAAgB;wBAC/B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACpB,KAAK,EAAE,sFAAc,CAAC,kBAAkB,EAAE;qBAC3C,CAAC;oBACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAChC;aACF;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAEO,qBAAqB,CAAC,cAAsB;;QAClD,IAAI,EAAU,CAAC;QAEf,IAAI,IAAI,CAAC,uBAAuB;YAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,GAAG,CAAC;YACvD,IAAI,CAAC,uBAAuB,CAAC,yCAAyC,CAAC,WAAW,EAAE,IAAI,MAAM,EAC9F;YACA,EAAE,GAAG,OAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,mCAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACrG;aAAM;YACL,EAAE,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,EAAE,CAAC;SAC3B;QAED,OAAO,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,EAAE,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAC9B,SAAmB;QAGnB,MAAM,cAAc,GAAG,EAAyB,CAAC;QACjD,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;YAE9B,MAAM,OAAO,GAAG,EAAuB,CAAC;YACxC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC;YACvC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC7C,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,2BAA2B,CAAC;YAE9D,0FAA0F;YAC1F,OAAO,CAAC,OAAO,GAAG,EAAwB,CAAC;YAC3C,IAAI,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAElE,KAAK,IAAI,MAAM,IAAI,YAAY,EAAE;gBAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAEjF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;YAED,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,sBAAsB,CAC5B,gBAAwB,EACxB,IAA2C;QAG3C,MAAM,UAAU,GAAG,EAAwB,CAAC;QAE5C,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEpD,KAAK,IAAI,MAAM,IAAI,YAAY,EAAE;YAC/B,qDAAqD;YACrD,8FAA8F;YAC9F,yDAAyD;YAEzD,IAAI,MAAM,CAAC,YAAY,EAAE;gBACvB,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAA8B,CAAC,CAAC;gBACvF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACzB;iBAAM;gBACL,MAAM,QAAQ,GAAG,MAAoB,CAAC;gBAEtC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;oBACrD,gEAAgE;oBAChE,cAAc;oBACd,IAAI,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;oBAC9E,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACzB;qBAAM;oBACL,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CACzC,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,WAAW,CACrB,CAAC;oBAEF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACF;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,kBAAkB,CACxB,eAAuB,EACvB,GAAyB;QAGzB,MAAM,MAAM,GAAG,EAAsB,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,CAAC,OAAO,GAAG,EAAwB,CAAC;QAC1C,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,+BAA+B,CACrC,eAAuB,EACvB,QAAoB;QAGpB,MAAM,MAAM,GAAG,EAAsB,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnF,MAAM,CAAC,OAAO,GAAG,EAAwB,CAAC;QAE1C,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAC1C,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,WAAW,CACrB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,YAAoB,EAAE,KAAa;QAEpD,IAAI,QAAQ,GAAG,IAAI,+EAAkB,EAAE,CAAC;QACxC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACxD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/C,QAAQ,CAAC,KAAK,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,YAAoB;QAC1C,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,MAAM,SAAS,GAAQ,sFAAc,CAAC,cAAc,EAAE,CAAC;QAEvD,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,OAAO,CAAC;SACxB;QACD,IACE,CAAC,IAAI,CAAC,uBAAuB;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,IAAI,CAAC,EACxD;YACA,IAAI,IAAI,SAAS,GAAG,GAAG,GAAG,YAAY,CAAC;YACvC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE;YACnD,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC;SACzD;QACD,IAAI,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,EAAE;YACtD,IAAI,IAAI,SAAS;SAClB;QAED,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,IAAI,GAAG,CAAC;SACb;QAED,IAAI,IAAI,YAAY,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IACE,IAAI,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,MAAM,EAC1E;YACA,MAAM,eAAe,GAAG,sFAAc,CAAC,kBAAkB,EAAE,CAAC;YAC5D,IAAI,eAAe,EAAE;gBACnB,IAAI,GAAG,cAAc,GAAG,sFAAc,CAAC,kBAAkB,EAAE,CAAC;aAC7D;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAY,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG;;OAEnB,CAAC;YAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,EAAoB,CAAC,CAAC;YAChC,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;gBAErD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAEtC,OAAO,CAAC,OAAO,CAAC,IAAsB,CAAC,CAAC;iBACzC;qBACI;oBACH,OAAO,CAAC,EAAoB,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;;kFAzaU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;ACtBb,MAAM,gBAAgB;IAkB3B,YAAoB,YAAsB;QAAtB,iBAAY,GAAZ,YAAY,CAAU;QAR1C,iBAAY,GAAY,KAAK,CAAC;QAE9B,cAAS,GAAW,KAAK,CAAC;QAE1B,mBAAc,GAAU,IAAI,CAAC;QAErB,YAAO,GAAO,IAAI,CAAC;IAI3B,CAAC;IAlBD,WAAW;QACT,IAAG,IAAI,CAAC,OAAO;YAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAkBD,QAAQ;QAEN,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACxB;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAC,eAAuB,KAAK,EAAE,YAAoB,KAAK,EAAC,iBAAwB,IAAI;QAE3H,YAAY,GAAG,IAAI,CAAC;QAEpB,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5C,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,kBAAkB;SACrC,CAAC,CAAC;QAEH,sBAAsB;QACtB,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;QAClD,GAAG,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5C,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAEtD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK;QACH,IAAG,IAAI,CAAC,OAAO;YAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;;gFAvDU,gBAAgB;gGAAhB,gBAAgB;QCR7B,yEAAqB;QAEnB,yEACgH;QAC9G,0EAAsB;QAAA,qEAAU;QAAA,4DAAO;QACzC,4DAAM;QAOR,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZuC;AAGc;AAMvB;AAIsB;AACI;AAIN;;;;;;;;;;;;;;;;;;AAUjD,MAAM,+BAA+B;IAgB1C,YAAoB,IAAgB,EAC1B,MAAkB,EAClB,cAA8B,EAC9B,eAAgC,EAChC,kBAAuC,EACvC,2BAAkE,EAClE,yBAAoD,EACpD,aAA4B,EAC5B,UAAuB,EACvB,kBAA2C,EAC3C,cAA+B,EAC/B,WAAwB,EACxB,KAAwB,EACxB,QAAyB,EACzB,QAAyB,EACzB,SAA2B;QAfjB,SAAI,GAAJ,IAAI,CAAY;QAC1B,WAAM,GAAN,MAAM,CAAY;QAClB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,gCAA2B,GAA3B,2BAA2B,CAAuC;QAClE,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,kBAAa,GAAb,aAAa,CAAe;QAC5B,eAAU,GAAV,UAAU,CAAa;QACvB,uBAAkB,GAAlB,kBAAkB,CAAyB;QAC3C,mBAAc,GAAd,cAAc,CAAiB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAmB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAkB;QA7BrC,YAAO,GAAY,IAAI,CAAC;QAExB,YAAO,GAAW,wEAAW,CAAC,MAAM,CAAC;QACrC,kDAAkD;QAE1C,kBAAa,GAAG,EAAW,CAAC;QAE5B,iBAAY,GAAG,EAAW,CAAC;QAE3B,eAAU,GAAwB,EAAyB,CAAC;QAC5D,4BAAuB,GAAG,EAAE;QAC5B,uBAAkB,GAAG,EAAE;QACvB,6BAAwB,GAAG,EAAE;QAqBnC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;QACxC,sBAAsB;IACxB,CAAC;IAEY,OAAO,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,QAA6B,EAAE,SAAmB,EAAE,gBAAsB;;;YAEnJ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;gBACtC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7C;YACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,IAAI,SAAS,EAAE;gBACb,IAAI,gBAAgB,EAAE;oBACpB,gBAAgB,CAAC,SAAS,EAAE,CAAC;iBAC9B;gBACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aACxB;YACD,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC;YACjF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;YAErF,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB;gBACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,sEAAc,CAAC,iBAAiB,EAAE,CAAC;YAEnE,IAAI,UAAU,CAAC,OAAO,EAAE;gBACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,qDAAqD;gBAC3G,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,IAAI,CAAC,SAAS,EAAE;oBACd,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;iBACxB;aACF;YACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAE1D,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;YAEjD,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,IAAI,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,iBAAU,CAAC,IAAI,0CAAE,qBAAqB,CAAC,MAAM,IAAG,CAAC,EAAE;gBACrD,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;aACjH;YAED,IAAI,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrF,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC;YACxD,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEzD,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,aAAa,CAAC,OAAO,EAAE;gBACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/E,IAAI,cAAc,CAAC,OAAO,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE5C,IAAI,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrF,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,gBAAgB,EAAE;gBACpB,IAAI,uBAAuB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACjG,IAAI,uBAAuB,CAAC,OAAO,EAAE;oBACnC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO,KAAK,CAAC;iBACd;gBAED,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;aACtD;YAED,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3E,IAAI,YAAY,CAAC,OAAO,EAAE;gBACxB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACrF,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,oBAAoB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3F,IAAI,oBAAoB,CAAC,OAAO,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAElD,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnF,IAAI,gBAAgB,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;aACd;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAEzD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAExB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAE/B,0DAA0D;YAE1D,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CACnD,IAAI,CAAC,aAAa,CACnB,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAEhC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAEvB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEpD,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;YAEhD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAEhC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAEvC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE7C,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAEvC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;YAE/C,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEzD,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAErG,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,KAAK,CAAC;aACd;YAGD,sEAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAE5C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACrC,OAAO,IAAI,CAAC;;KACb;IAEO,aAAa,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QACxE,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YAEjF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;iBACnC,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,sEAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAE5C,sEAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBAE9C,sEAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAE/C,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEa,mBAAmB,CAAC,GAAQ;;YACxC,IACE,GAAG,CAAC,qBAAqB,IAAI,IAAI;gBACjC,GAAG,CAAC,qBAAqB,CAAC,MAAM,EAChC;gBACA,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;aAChE;iBAAM;gBACL,gDAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;gBAC9D,OAAO;aACR;YAED,8BAA8B;YAE9B,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE5F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEvD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,IAAI,GAAG,CAAC,aAAa,EAAE;oBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAC/C,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ;wBACxC,CAAC,CAAC,QAAQ,IAAI,sEAAc,CAAC,WAAW,EAAE;wBAC1C,CAAC,CAAC,QAAQ,IAAI,GAAG,CACpB,CAAC;iBACH;gBAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,sEAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;qBACxC;oBACD,sEAAc,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;oBAErC,sEAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAC5D,8CAA8C;oBAE9C,sEAAc,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC9C,sEAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC5C,sEAAc,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC9C,sEAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAE5C,sEAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAEtD,kDAAkD;oBAClD,sEAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpD,sEAAc,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1C,sEAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC5C,sEAAc,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;oBACtD,sEAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;iBACvF;aACF;QAIH,CAAC;KAAA;IAEO,2BAA2B,CAAC,IAAS;QAC3C,IAAI,IAAI,CAAC,sCAAsC,IAAI,IAAI,EAAE;YACvD,sEAAc,CAAC,yCAAyC,CACtD,IAAI,CAAC,sCAAsC,CAC5C,CAAC;SACH;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,sEAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACzD;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,sEAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACjE;QAED,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,sEAAc,CAAC,6BAA6B,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC/E;QAED,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,sEAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC3E;QAGD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,sEAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC/D;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,sEAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACzE;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,sEAAc,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjD,sEAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,iCAAiC,EAAE;YAC1C,sEAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,iCAAiC,CACvC,CAAC;SACH;QACD,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE;YACpC,sEAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,EAAE;gBACtC,sEAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAChE,sEAAc,CAAC,2BAA2B,CACxC,IAAI,CAAC,wBAAwB,CAC9B,CAAC;gBACF,IAAI,IAAI,CAAC,mBAAmB,IAAI,MAAM,EAAE;oBACtC,sEAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBAChE,sEAAc,CAAC,2BAA2B,CACxC,IAAI,CAAC,wBAAwB,CAC9B,CAAC;iBACH;aACF;SACF;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,sEAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChE,sEAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC3D;IACH,CAAC;IAEO,mBAAmB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC9E,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;iBAC5C,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEa,WAAW,CAAC,GAAQ;;YAChC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE5F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;KAAA;IAEO,eAAe,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC1E,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;iBACxC,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC3E,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC;iBACzC,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC9E,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;iBAC5C,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QACpF,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC;iBAClD,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QACzE,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;iBACvC,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QACjF,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;iBAC/C,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC7E,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC;iBAC3C,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAgB;QAC9E,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YAE9D,sEAAc,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YAExD,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;YAEzF,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,wEAAW,CAAC,OAAO;gBAC/B,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC/C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC;iBAC5C,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,IAAI,CAAC;iBACb,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,IAAI;iBACX;gBAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAE7C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;qBACI;oBACH,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,EAAE,KAAK,CAAC,EAAE;gBAET,IAAI,GAAG,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,KAAK;iBACZ;gBAED,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEa,0BAA0B,CACtC,YAAmB,EACnB,QAAgB,EAChB,QAAgB,EAChB,SAAmB;;YAEnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,YAAY,EAAE;gBAChB,IAAI,sEAAc,CAAC,aAAa,EAAE,EAAE;oBAClC,MAAM,GAAG,GAAG,iBAAiB,QAAQ,EAAE,CAAC;oBACxC,IAAI;wBACF,MAAM,GAAG,GAAG,IAAI,wDAAW,CACzB,cAAc,EACd,GAAG,EACH,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC5B,KAAK,CACN,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;qBAClC;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;4BAC9B,MAAM,GAAG,GAAG,IAAI,wDAAW,CACzB,4BAA4B,EAC5B,GAAG,EACH,4BAA4B,EAC5B,mDAAmD,CAAC,CAAC,OAAO,EAAE,EAC9D,KAAK,CACN,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;yBAClC;6BAAM;4BACL,MAAM,GAAG,GAAG,IAAI,wDAAW,CACzB,4BAA4B,EAC5B,GAAG,EACH,4BAA4B,EAC5B,2DAA2D,CAAC,CAAC,OAAO,EAAE,EACtE,KAAK,CACN,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;yBAClC;qBACF;oBACD,IAAI,SAAS,GAAG,sEAAc,CAAC,0BAA0B,EAAE,CAAC;oBAC5D,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE;wBAC5B,IAAI,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;wBAChE,sEAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;wBACtC,sEAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;qBACxD;oBACD,sEAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBAE5C,0CAA0C;oBAC1C,OAAO,IAAI,CAAC;iBACb;qBAAM;oBACL,yBAAyB;oBACzB,IAAI,uBAAuB,GAAG,KAAK;oBAEnC,IAAI,uBAAuB,IAAI,KAAK,EAAE;wBACpC,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBAE1D,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,sEAAc,CAAC,aAAa,EAAE,CAAC,CAAC;wBAElG,OAAO,WAAW,CAAC;wBACnB,aAAa;qBACd;yBAAM,IAAI,uBAAuB,IAAI,IAAI,EAAE;wBAC1C,OAAO,KAAK;qBACb;yBAAM;wBACL,OAAO,IAAI,CAAC;qBACb;iBACF;aACF;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;IAEO,gBAAgB,CACtB,QAAgB,EAChB,IAAY,EACZ,UAAe;QAEf,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,UAAU,IAAI,EAAE,EAAE;gBACpB,UAAU,GAAG,eAAe,CAAC;aAC9B;YACD,IAAI,CAAC,UAAU;iBACZ,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC;iBAC7E,SAAS,EAAE;iBACX,IAAI,CACH,CAAC,IAAI,EAAE,EAAE;gBAEP,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBACrD,gDAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/B,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;iBACR;gBAED,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;oBACvD,gDAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/B,sEAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBACtC,sEAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;oBACvD,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;iBACR;gBACD,IAAI,KAAK,GAA2B;oBAClC,aAAa,EAAE,IAAI;iBACpB,CAAC;gBAEF,KAAK,GAAG,IAAI,CAAC;gBAEb,sEAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACrD,gDAAQ,CAAC,IAAI,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC;gBAE5D,sEAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACtC,sEAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,GAAG,GAAG,IAAI,wDAAW,CACvB,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,CAAC,OAAO,EACb,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEjC,gDAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAEjC,sEAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACtC,sEAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;gBAEvD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,GAAQ,EAAE,QAAa;QAClD,IAAI;YACF,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE;gBACtB,GAAG,CAAC,KAAK,EAAE,CAAC;aACb;SACF;QAAC,OAAO,CAAC,EAAE,GAAG;QAEf,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,wDAAW,CACb,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,IAAI,CACL,CACF,CAAC;QAEF,gDAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,+BAA+B,CAAC,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;;8GA3gCU,+BAA+B;kHAA/B,+BAA+B,WAA/B,+BAA+B,mBAF9B,MAAM;;;;;;;;;;;;;ACzBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;AACa;;;AAO9C,MAAM,oBAAoB;IAC/B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE1C,aAAa,CAAC,IAAY;QACxB,OAAO,iDAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACvD,IAAI,UAAU,GAAG;;;;;mCAKY,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;OAC1E,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAEnD,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;gBAE/E,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC5C,iDAAiD;gBAEjD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,UAAU,EACV,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,iDAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,IAAI,OAAO,CAAa,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC3D,IAAI,WAAW,GAAG;gNACwL,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,+CAA+C,CAAC;YAExS,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;gBAE/E,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC5C,IAAI,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEhD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,WAAW,EACX,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;wFAvEU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;ACNpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;;;;;;;AAWlE,MAAM,sBAAsB;IAejC,YACU,YAAsB,EACb,MAAc,EACvB,QAAyB;QAFzB,iBAAY,GAAZ,YAAY,CAAU;QACb,WAAM,GAAN,MAAM,CAAQ;QACvB,aAAQ,GAAR,QAAQ,CAAiB;QAdnC,kBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAiB,GAAW,EAAE,CAAC;QAE/B,WAAM,GAAW,EAAE,CAAC;QACpB,iBAAY,GAAW,EAAE,CAAC;QAC1B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAkB,GAAW,EAAE,CAAC;IAK7B,CAAC;IACJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;QAC9E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC;QAC3E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0DAA0D,CAAC;IACpH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI;QACF,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IACD,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;;4FAlEU,sBAAsB;sGAAtB,sBAAsB;QCZnC,yEAAyB;QACrB,yEAA6C;QAC3C,wEAAwB;QAAA,uDAAqB;QAAA,4DAAK;QAClD,yEAAqB;QACnB,wEAAwB;QAAA,uDAAoB;QAAA,gEAAK;QAC/C,uDAAiB;QAAA,4DAAK;QACxB,yEAAqB;QACnB,0EAAsB;QACpB,qEAAqE;QAAA,iEAAM;QAC3E,sEAAI;QAAA,wDAAiB;QAAA,4DAAK;QAC5B,4DAAM;QACN,0EAAsB;QACpB,wDAAoB;;QAAA,4DAAM;QAC5B,0EAAsB;QACpB,qEAAuE;QAAA,iEAAM;QAC7E,sEAAI;QAAA,wDAAmB;QAAA,4DAAK;QAC9B,4DAAM;QACR,4DAAM;QACN,0EAAwB;QACtB,2EAAgC;QAC9B,sEAA+C;QACjD,4DAAM;QACN,2EAA8B;QAAA,wDAAsB;QAAA,4DAAM;QAC5D,4DAAM;QACN,2EAA0B;QACxB,2EAAuD;QACrD,8EAC4E;QADI,+IAAS,WAAO,IAAC;QACrB,wDAAgB;QAAA,4DAAS;QACvG,4DAAM;QACR,4DAAM;QAER,4DAAM;QACR,4DAAM;QACR,4DAAM;;QA/BsB,0DAAqB;QAArB,sFAAqB;QAEnB,0DAAoB;QAApB,qFAAoB;QAC1C,0DAAiB;QAAjB,4FAAiB;QAIX,0DAAiB;QAAjB,kFAAiB;QAGrB,0DAAoB;QAApB,wJAAoB;QAGhB,0DAAmB;QAAnB,oFAAmB;QAOK,0DAAsB;QAAtB,uFAAsB;QAKlD,0DAAwC;QAAxC,gGAAwC;QAAoC,0DAAgB;QAAhB,iFAAgB;;;;;;;;;;;;;;ACbxG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;AAC5B;;;;;;;;;;;;;;;AAmBtC,MAAM,iBAAiB;IAE5B,YACmB,cAA8B,EAC9B,GAAe,EACf,cAA8B,EAC9B,WAAwB,EACjC,WAAwB,EACxB,UAAsB,EACtB,eAAgC,EAChC,MAAqB,EACrB,QAAyB,EACzB,KAA2B,EAClB,UAAiC,EACjC,iBAAoC,EACpC,eAAgC;QAZhC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,QAAG,GAAH,GAAG,CAAY;QACf,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACjC,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAe;QACrB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,UAAK,GAAL,KAAK,CAAsB;QAClB,eAAU,GAAV,UAAU,CAAuB;QACjC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,oBAAe,GAAf,eAAe,CAAiB;QAInD,yBAAoB,GAAY,KAAK,CAAC;QAEtC,kBAAa,GAAW,CAAC,CAAC;IALtB,CAAC;IAOL,UAAU;QACR,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACzD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzD,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBACvB,OAAO;aACR;YACD,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAChB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,IAAI,EAAE;gBAC/C,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,IAAI,IAAI,CAClD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,sFAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEvC,sFAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE1C,sFAAc,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC9C,sFAAc,CAAC,mBAAmB,EAAE;QACpC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,EAAiB,CAAC;QAC3C,IAAI,sFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;eACtC,sFAAc,CAAC,mBAAmB,EAAE,IAAI,EAAE;eAC1C,sFAAc,CAAC,iBAAiB,EAAE,IAAI,EAAE;eACxC,sFAAc,CAAC,2BAA2B,EAAE,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;SAChD;QACD,sFAAc,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAC/B,CAAC;IAED,mBAAmB;QACjB,MAAM,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,WAAW,GAAG,UAAU,EAAE;YAC5B,sFAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACvC,sCAAsC;IACxC,CAAC;IAEO,mBAAmB;QAEzB,sFAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAE3C,sFAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAErC,sFAAc,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEnC,sFAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAEpC,sFAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAEtC,sFAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEhC,sFAAc,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAElD,sFAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE3C,sFAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAExC,sFAAc,CAAC,mBAAmB,EAAE,CAAC;QAErC,sFAAc,CAAC,wBAAwB,EAAE,CAAC;QAE1C,sFAAc,CAAC,yBAAyB,EAAE,CAAC;QAE3C,sFAAc,CAAC,uBAAuB,EAAE,CAAC;QAEzC,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QAElC,sFAAc,CAAC,iBAAiB,EAAE,CAAC;QAEnC,sFAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAEO,4BAA4B;QAClC,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,OAAO,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,GAAG,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,GAAG,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,oBAAoB,GAAG,GAAG,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,uBAAuB,GAAG,GAAG,CAAC;IACpD,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAsB,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,gCAAgC,GAAG,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,sFAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,KAAK;QACxC,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,EAAE;QACvC,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE;QAC9C,IAAI,CAAC,cAAc,CAAC,2BAA2B,GAAG,EAAE;QACpD,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,EAAsB,CAAC;QAC9D,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,EAAqC,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,EAAmB,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAE3B,IAAI;YACF,sFAAc,CAAC,yBAAyB,EAAE;YAC1C,sFAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,sFAAc,CAAC,wBAAwB,EAAE,CAAC;YAC1C,sFAAc,CAAC,yBAAyB,EAAE,CAAC;YAC3C,sFAAc,CAAC,uBAAuB,EAAE,CAAC;YACzC,sFAAc,CAAC,mBAAmB,EAAE,CAAC;SACtC;QAAC,OAAO,EAAE,EAAE,GAAG;IAClB,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAS,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,OAAO,CAAC;QAC1C,sFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;IACxB,CAAC;IAEO,+BAA+B;QACrC,IAAI,CAAC,UAAU,CAAC,yBAAyB,GAAG,EAAiC,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,2BAA2B,GAAG,EAAc,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,EAA4B,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,EAAc,CAAC;IACpD,CAAC;IAEO,6BAA6B;QACnC,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,EAAyB,CAAC;IACjE,CAAC;;kFA9MU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;AC9BsC;AAGqC;;;;;;;;ICMzF,sEAAyB;IACvB,sFAQyB;IAC3B,4DAAM;;;IARJ,0DAAe;IAAf,+EAAe;;;;IAef,oEAE0E;;IADrE,oMAAuD;;;;IAE5D,oEAM0E;;;IALrE,6TAID;;;;IAKN,yEAA4E;IAC1E,6EAAiF;IAA1B,+TAAyB;IAC9E,2EAAyB;IAAA,uDAAc;IAAA,4DAAO;IAChD,4DAAS;IACX,4DAAM;;;IAFuB,0DAAc;IAAd,kFAAc;;AD7B1C,MAAM,sBAAsB;IA0CjC,YACU,YAAsB,EACtB,aAAkC,EAClC,QAAyB;QAFzB,iBAAY,GAAZ,YAAY,CAAU;QACtB,kBAAa,GAAb,aAAa,CAAqB;QAClC,aAAQ,GAAR,QAAQ,CAAiB;QArCnC,UAAK,GAAW,CAAC,CAAC;QAClB,aAAQ,GAAW,CAAC,CAAC;QACrB,QAAG,GAAW,CAAC,CAAC;QAChB,aAAQ,GAAW,CAAC,CAAC;QACrB,WAAM,GAAW,CAAC,CAAC;QACnB,aAAQ,GAAW,CAAC,CAAC;QACrB,QAAG,GAAW,CAAC,CAAC;QAQhB,aAAQ,GAAY,KAAK,CAAC;QAE1B,aAAQ,GAAY,KAAK,CAAC;QAE1B,aAAQ,GAAY,IAAI,CAAC;QAEzB,oBAAe,GAAW,EAAE,CAAC;QAE7B,iBAAY,GAAW,EAAE,CAAC;QAE1B,eAAU,GAAW,EAAE,CAAC;QAExB,eAAU,GAAW,EAAE,CAAC;QAExB,mBAAc,GAAW,EAAE,CAAC;QAE5B,2BAAsB,GAAW,EAAE;QAEnC,gBAAW,GAAY,KAAK;QAgG5B,wBAAwB;QAChB,kBAAa,GAAG,KAAK,CAAC;IA3F1B,CAAC;IA5CL,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IA0CD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,YAAsB,EACtB,QAAyB,EACzB,UAAmB,EACnB,WAAoB,KAAK,EACzB,QAAgB,CAAC,EACjB,WAAmB,CAAC,EACpB,MAAc,CAAC,EACf,MAAc,CAAC,EACf,WAAmB,CAAC,EACpB,WAAmB,CAAC,EACpB,SAAiB,CAAC,EAClB,cAAuB,KAAK,EAC5B,QAAkB,EAClB,kBAA0B,EAAE;QAE5B,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/C,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAC3C,cAAc,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAC3C,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;QACjD,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,WAAW;QAC1D,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,eAAe,GAAG,eAAe,CAAC;QAEnE,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QAEzD,IAAI,QAAQ,EAAE;YACZ,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;SACtD;QAED,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,sBAAsB,GAAG,IAAI;QAC9D,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAEhD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,UAAmB,EAAE,WAAoB,KAAK,EAAE,QAAkB;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACnE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9D,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC3D;QACD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IACvD,CAAC;IAEK,YAAY;;YAChB,MAAM,uEAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;KAAA;IAED,KAAK;QACH,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACvD,CAAC;IAIa,cAAc;;YAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,MAAM,uEAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;KAAA;IAED,aAAa;QAEX,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;;4FAzJU,sBAAsB;sGAAtB,sBAAsB;kEACtB,uGAAwB;;;;;QCfrC,0EAAS;QACP,yEAA4C;QAC1C,yEAA2B;QAKzB,wEAAwB;QAAA,uDAA0C;QAAA,4DAAK;QACvE,wEAAwB;QACtB,uDACF;QAAA,4DAAK;QACL,kHAUM;QACN,wEAAwB;QACtB,uDACF;QAAA,4DAAK;QACL,0EAAgD;QAG9C,oHAE0E;QAC1E,oHAM0E;QAE5E,4DAAM;QAEN,oHAIM;QAER,4DAAM;QACR,4DAAM;QACR,4DAAU;;QA1CoB,0DAA0C;QAA1C,iHAA0C;QAEhE,0DACF;QADE,mIACF;QACM,0DAAiB;QAAjB,iFAAiB;QAYrB,0DACF;QADE,sGACF;QAIQ,0DAAgB;QAAhB,gFAAgB;QAGhB,0DAAiB;QAAjB,iFAAiB;QAUqB,0DAA4B;QAA5B,gGAA4B;;;;;;;;;;;;;;ACtChF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACe;AAEpB;;;;;;;;;AAS5C,MAAM,yBAAyB;IAgBpC,YACS,YAAsB,EACtB,IAAY,EACZ,MAAc,EACb,MAAkB,EAClB,aAA4B,EAC5B,QAAyB;QAL1B,iBAAY,GAAZ,YAAY,CAAU;QACtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACb,WAAM,GAAN,MAAM,CAAY;QAClB,kBAAa,GAAb,aAAa,CAAe;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;QApBnC,aAAQ,GAAW,EAAE,CAAC;QACtB,kBAAa,GAAW,CAAC,CAAC;QAE1B,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QAEvB,mBAAc,GAAW,EAAE,CAAC;QAC5B,cAAS,GAAW,EAAE,CAAC;QACvB,aAAQ,GAAW,EAAE,CAAC;QACtB,oBAAe,GAAW,EAAE,CAAC;QAE7B,cAAS,GAAY,KAAK,CAAC;QA6D3B,qBAAgB,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,kCAAkC;gBAElC,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,cAAc,EAAE;oBACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;iBACtC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,kBAAkB,EAAE;oBACjD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpD,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,eAAe,EACf,yBAAyB,EACzB,mCAAmC,EACnC,0BAA0B,EAC1B,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAClC;gBACD,uCAAuC;qBAClC;oBACH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC7D;aACF;iBAAM;gBACL,gEAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAC1C,UAAU,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC;IAvFC,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAChF,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC1D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE/C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI;QACF,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC/D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAc;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACvB;IACH,CAAC;IAsCD,aAAa,CAAC,EAAO,EAAE,MAAW;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,sCAAsC;QACtC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,OAAO,EACP,sBAAsB,EACtB,KAAK,EACL,MAAM,EACN,KAAK,CACN,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,aAAa;QACX,IAAI,SAAS,GAAG,yCAAyC,CAAC;QAE1D,qCAAqC;QACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,OAAO,EACP,eAAe,EACf,KAAK,EACL,wBAAwB,EACxB,KAAK,CACN,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAEjC,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,CAAC,IAAI,CAAC,QAAQ,CAAC,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAU;QAChB,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,IAAI,IAAI,WAAW,EAAE;gBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC;aAChD;iBAAM,IAAI,IAAI,IAAI,WAAW,EAAE;gBAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC;aAChD;iBAAM,IAAI,IAAI,IAAI,WAAW,EAAE;gBAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC;aAChD;iBAAM,IAAI,IAAI,IAAI,WAAW,EAAE;gBAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC;aAChD;iBAAM;aACN;YAED,IAAG,IAAI,CAAC,cAAc,EAAE,EAAE;gBACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;;kGA7KU,yBAAyB;yGAAzB,yBAAyB;QCdtC,yEAAuB;QACrB,yEAA0B;QACxB,wEAAoC;QAAA,uDAAkB;QAAA,4DAAK;QAC3D,4EAA2C;QAArB,iJAAS,UAAM,GAAG,CAAC,IAAC;QACxC,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QACzC,4DAAS;QACX,4DAAM;QACN,wEAAqB;QACnB,qEAAI;QAAA,2EAC6F;QADtF,gMAAuB;QAA9B,4DAC6F;QAAA,4DAAK;QACtG,sEAAI;QAAA,4EAC6F;QADtF,iMAAuB;QAA9B,4DAC6F;QAAA,4DAAK;QACtG,sEAAI;QAAA,4EAC6F;QADtF,iMAAuB;QAA9B,4DAC6F;QAAA,4DAAK;QACtG,sEAAI;QAAA,4EAC6F;QADtF,iMAAuB;QAA9B,4DAC6F;QAAA,4DAAK;QACxG,4DAAK;QACL,2EAAoB;QAClB,2EAAqB;QACnB,2EAAiB;QACf,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAAA,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAAA,8EAC5D;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QACxC,4DAAM;QACN,2EAAiB;QACf,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAAA,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAAA,8EAC5D;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QACxC,4DAAM;QACN,2EAAiB;QACf,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAAA,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAAA,8EAC5D;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QACxC,4DAAM;QACN,2EAAiB;QACf,8EAAiG;QAAzF,kJAAS,UAAM,OAAO,CAAC,IAAC;QAC5B,wDAAyB;;QAAA,4DAAS;QACtC,8EAAkC;QAA1B,wJAAS,mBAAe,IAAC;QAAC,6DAAC;QAAA,4DAAS;QAC5C,8EACqE;QAAnE,kJAAS,mBAAe,IAAC;QACvB,wDACJ;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAxCkC,0DAAkB;QAAlB,mFAAkB;QAM3C,0DAAuB;QAAvB,kFAAuB;QAEvB,0DAAuB;QAAvB,kFAAuB;QAEvB,0DAAuB;QAAvB,kFAAuB;QAEvB,0DAAuB;QAAvB,kFAAuB;QAkBG,2DAAwC;QAAxC,kGAAwC;QACrE,0DAAyB;QAAzB,0JAAyB;QAGD,0DAAwC;QAAxC,kGAAwC;QAChE,0DACJ;QADI,2JACJ;;;;;;;;;;;;;;;;;;;;;;ACrCqC;AAGW;;;;;;;ICJtD,yEAEwD;IACtD,kFAQe;IARD,2VAAqC;IASnD,4DAAe;IACjB,4DAAM;;;;;IAbD,iGAA8B;IAInB,0DAAmB;IAAnB,+EAAmB;;ADO9B,MAAM,0BAA0B;IALvC;QAOE,mCAAmC;QACnC,4CAA4C;QAE5C,iFAAiF;QACxE,kBAAa,GAA6B,EAAkB,CAAC;QAE7D,aAAQ,GAAW,CAAC,CAAC;QAErB,aAAQ,GAAW,EAAE,CAAC;QAErB,mBAAc,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAE3D,oBAAe,GAAoE,IAAI,0DAAY,EAAE,CAAC;QAEhH,YAAO,GAAY,IAAI,CAAC;QAEf,oBAAe,GAAW,EAAE,CAAC;KAkHvC;IAhHC,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEa,cAAc;;YAC1B,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClC,CAAC;KAAA;IAED,eAAe;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,GAA4C;QACzD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;SACpB;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,uCAAuC;IACjC,kBAAkB;;YACtB,sBAAsB;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBAEvC,IAAI,kBAAkB,GAAG,CAAC;oBAC1B;;uBAEG;oBACH,QAAQ,CAAC,mCAAmC,IAAI,OAAO;wBACrD,CAAC,CAAC,kBAAkB,GAAG,gEAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC;wBAC3E,CAAC,CAAC,kBAAkB,GAAG,gEAAe,CAAC,8BAA8B,CAAC,QAAQ,CAAC;oBAEjF,IAAI,QAAQ,CAAC,UAAU,EAAE;wBACvB,wCAAwC;wBAExC,IAAI,kBAAkB,GAAG,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC;4BAC7I,CAAC,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;4BAC5H,CAAC,CAAC,IAAI,CAAC;wBACT,IAAI,SAAS,GAAG,IAAI,CAAC;wBACrB,IAAI,QAAQ,CAAC,mCAAmC,IAAI,OAAO,EAAE;4BAC3D,SAAS,GAAG,kBAAkB,IAAI,QAAQ,CAAC,GAAG;gCAC5C,kBAAkB,IAAI,QAAQ,CAAC,GAAG,CAAC;yBACtC;6BAAM;4BACL,SAAS,GAAG,CAAC,kBAAkB,IAAI,QAAQ,CAAC,GAAG;gCAC7C,kBAAkB,IAAI,QAAQ,CAAC,GAAG,CAAC;mCAChC,kBAAkB,CAAC;yBACzB;wBACD,IAAI,SAAS,EAAE;4BACb,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;4BACxB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;yBAC5B;6BAAM;4BACL,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;4BACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;yBACtB;wBACD,GAAG;qBACJ;yBAAM;wBACL,IAAI,kBAAkB,GAAG,CAAC,EAAE;4BAC1B,IAAI,kBAAkB,IAAI,QAAQ,CAAC,GAAG,IAAI,kBAAkB,IAAI,QAAQ,CAAC,GAAG,EAAE;gCAC5E,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;gCACxB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;6BAC5B;iCAAM;gCACL,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;gCACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;6BACtB;yBACF;6BACI,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE;4BAC1B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;4BACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;yBACtB;qBACF;oBACD;;uBAEG;oBACH,IAAI,kBAAkB,IAAI,CAAC,EAAE;wBAC3B,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;qBAC7B;iBACF;gBACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aACzF;QACH,CAAC;KAAA;IAED,2EAA2E;IAC3E,cAAc;QACZ,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,KAAK,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,EAAE;gBACnD,CAAC,GAAG,KAAK,CAAC;gBACV,MAAM;aACP;SACF;QACD,uFAAuF;QACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,OAAO,EAAE;YACX,gHAAgH;YAChH,OAAO,CAAC,cAAc,CAAC;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAAE,OAAO;YAC1D,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;YACvC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO;oBAAE,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;YAClD,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC;;oGAnIU,0BAA0B;0GAA1B,0BAA0B;QCZvC,yEAA+D;QAA1D,+IAAS,wBAAoB,IAAC;QACjC,sHAaM;QACR,4DAAM;;QAZsB,0DAAiB;QAAjB,sFAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKtB;AAGuB;AACS;AAC8C;AAC4C;AAChB;AACD;AACd;AACT;AACK;AACC;AAC4B;AAClC;AAC6B;AACrB;AACvB;AACM;AACsC;AACW;AACjB;AACjB;AACH;AACS;AAGpB;AACG;AAQ/D;AAKuC;AAQ3C;AAQa;AAOH;AAE4B;AAiB5B;AAS+B;AAC4C;AAC1B;AACE;AACsB;AACF;AAEhB;AAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7F3D,yEAAiD;IAC/C,0EAAyC;IAAA,uDAAiB;IAAA,4DAAM;IAChE,0EAA+B;IAC7B,2EAAuD;IAAA,uDACnD;;;IAAA,wEAA2D;IAAxD,qUAA0B;IAA8B,4DAAI;IAAA,4DAAO;IAC5E,4DAAM;IACR,4DAAM;;;IALqC,0DAAiB;IAAjB,8FAAiB;IAE3B,0DAAyB;IAAzB,6EAAyB;IAAC,0DACnD;IADmD,qOACnD;;;IAWN,0EAAgF;IAC9E,2EAAqB;IACnB,uDACF;IAAA,4DAAO;IACT,4DAAM;;;IAFF,0DACF;IADE,uGACF;;;IAGF,0EAAgE;IAC9D,2EAAuD;IAAA,uDACE;;;;;IAAA,4DAAO;IAClE,4DAAM;;;IAFyB,0DAAyB;IAAzB,6EAAyB;IAAC,0DACE;IADF,4YACE;;;;IAf7D,0EAAgE;IAC9D,0EAAmD;IACjD,uDACA;IAAA,0EAC0E;IADrE,6UAA4B;IAAjC,4DAC0E;IAC5E,4DAAM;IAEN,oIAIM;IAEN,qIAGM;IACR,4DAAM;;;IAfF,0DACA;IADA,6IACA;IAI+C,0DAA6B;IAA7B,gGAA6B;IAM9C,0DAA8B;IAA9B,iGAA8B;;;;IAKhE,yEAAwC;IACtC,0EAA+B;IAAA,uDAAmB;IAAA,4DAAM;IACxD,0EAA+B;IAC7B,2EAA+D;IAAA,uDAE3D;;;IAAA,4DAAO;IACb,4DAAM;IACR,4DAAM;;;IAN2B,0DAAmB;IAAnB,uFAAmB;IAEnB,0DAAiC;IAAjC,6JAAiC;IAAC,0DAE3D;IAF2D,8NAE3D;;;IAGR,yEAA4C;IAC1C,0EAA+B;IAAA,wEAAuB;IAAA,uDAAa;IAAA,4DAAI;IAAA,4DAAM;IAC7E,0EAA+B;IAC7B,6EAA4D;IAAA,uDAIxD;;;;;IAAA,4DAAS;IACf,4DAAM;IACR,4DAAM;;;IARkD,0DAAa;IAAb,iFAAa;IAE/B,0DAAyB;IAAzB,6EAAyB;IAAC,0DAIxD;IAJwD,oaAIxD;;;IAIR,0EAAwD;IACtD,sEAAK;IACH,2EAA8B;IAAA,uDAAwB;IAAA,4DAAO;IAC/D,4DAAM;IACN,0EAA6B;IAC3B,6EAAgC;IAAA,uDAAgB;IAAA,4DAAS;IAC3D,4DAAM;IACR,4DAAM;;;IAL4B,0DAAwB;IAAxB,4FAAwB;IAGtB,0DAAgB;IAAhB,oFAAgB;;;IAKlD,wEAAmD;IACjD,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,mGACF;;;IArEJ,sEAE0C;IACxC,yEAAiB;IACf,0EAAyC;IAAA,uDAAgB;IAAA,4DAAM;IAC/D,0EAA+B;IAC7B,2EAAuD;IAAA,uDAEnD;;;IAAA,4DAAO;IACb,4DAAM;IACR,4DAAM;IAEN,6HAMM;IAEN,+HAiBM;IACN,gIAOM;IACN,iIASM;IAEN,+HAOM;IAEN,uEAAK;IACH,2HAEI;IACN,4DAAM;IACR,4DAAM;;;IAvED,mKAEA;IAEwC,0DAAgB;IAAhB,oFAAgB;IAE1B,0DAAyB;IAAzB,6EAAyB;IAAC,0DAEnD;IAFmD,6NAEnD;IAIF,0DAA6B;IAA7B,uGAA6B;IAQG,0DAAwB;IAAxB,2FAAwB;IAkB5C,0DAAoB;IAApB,yFAAoB;IAQpB,0DAAwB;IAAxB,2FAAwB;IAWX,0DAAuB;IAAvB,0FAAuB;IAUhD,0DAA4B;IAA5B,+FAA4B;;;;AD4C1C,MAAM,eAAe;IAEnB,YACS,KAAa,EACb,QAAgB,EAChB,GAAW;QAFX,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAQ;QAChB,QAAG,GAAH,GAAG,CAAQ;QAElB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;IACvB,CAAC;CACF;AAOM,MAAM,0BAA0B;IAwLrC,gEAAgE;IAChE,YACmB,UAAsB,EACtB,MAAc,EACd,WAAwB,EACxB,aAA4B,EAC5B,cAA8B,EAC9B,eAAgC,EAChC,WAAwB,EACxB,eAAgC,EAChC,cAA8B,EAC9B,MAAkB,EAClB,GAAe,EACf,QAAyB,EACzB,kBAAuC,EACvC,cAAiC,EACjC,YAAsB,EACtB,cAA8B,EACvC,QAAyB,EAChB,gBAAkC,EAClC,cAA8B,EAC9B,eAAgC,EAChC,UAAsB,EACtB,WAAwB,EACxB,aAA4B,EACrC,eAAgC,EAChC,UAAsB,EACb,MAAqB,EAC9B,WAA+B,EAC/B,EAAsB,EACtB,QAAyB,EACzB,YAA0B,EAC1B,cAAmC,EACnC,mBAAwC,EACxC,aAA4B,EAC5B,iBAAoC,EAC3B,MAAqB,EACrB,qBAA2C,EAC3C,kBAAwC,EACxC,cAA8B;QArC9B,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAY;QAClB,QAAG,GAAH,GAAG,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAiB;QACzB,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,mBAAc,GAAd,cAAc,CAAmB;QACjC,iBAAY,GAAZ,YAAY,CAAU;QACtB,mBAAc,GAAd,cAAc,CAAgB;QACvC,aAAQ,GAAR,QAAQ,CAAiB;QAChB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QACrC,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;QACb,WAAM,GAAN,MAAM,CAAe;QAC9B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,OAAE,GAAF,EAAE,CAAoB;QACtB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAqB;QACnC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC3B,WAAM,GAAN,MAAM,CAAe;QACrB,0BAAqB,GAArB,qBAAqB,CAAsB;QAC3C,uBAAkB,GAAlB,kBAAkB,CAAsB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QA5MzC,oBAAe,GAAmB,EAAE,CAAC;QAEnC,oBAAe,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE7C,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,eAAU,GAAG,IAAI,0DAAY,EAAU,CAAC;QAExC,sBAAiB,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAE7D,kBAAa,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAepE,cAAS,GAAW,EAAE,CAAC;QAIvB,aAAQ,GAAW,GAAG,CAAC;QAEvB,aAAQ,GAAW,GAAG,CAAC;QAKvB,QAAG,GAAW,GAAG,CAAC;QAElB,UAAK,GAAW,GAAG,CAAC;QAEpB,gBAAW,GAAW,CAAC,CAAC;QAExB,qBAAgB,GAAU,EAAE,CAAC;QAI7B,mBAAc,GAAW,CAAC,CAAC;QAE3B,kBAAa,GAAG,EAAE,CAAC;QAEnB,WAAM,GAAW,OAAO,CAAC;QAEzB,kBAAa,GAAW,EAAE,CAAC;QAE3B,gBAAW,GAAW,CAAC,CAAC;QAExB,yBAAyB;QAEzB,WAAM,GAAW,CAAC,CAAC;QAEnB,4FAA4F;QAE5F,mBAAc,GAAW,2CAA2C,CAAC;QAErE,eAAU,GAAW,IAAI,CAAC,cAAc,CAAC;QAEzC,iBAAY,GAAW,EAAE,CAAC;QAE1B,mBAAc,GAAW,EAAE,CAAC;QAE5B,eAAU,GAAW,EAAE,CAAC;QAExB,uBAAkB,GAAW,EAAE,CAAC;QAEhC,mBAAc,GAAW,EAAE,CAAC;QAE5B,uBAAkB,GAAW,EAAE,CAAC;QAEhC,eAAU,GAAY,KAAK,CAAC;QAI5B,iBAAY,GAAsB,EAAE,CAAC;QAErC,UAAK,GAAY,KAAK,CAAC;QAEvB,eAAU,GAAY,KAAK,CAAC;QAE5B,aAAQ,GAAY,KAAK,CAAC;QAE1B,sBAAiB,GAAY,KAAK,CAAC;QAEnC,qBAAgB,GAAY,KAAK,CAAC;QAE1B,eAAU,GAAa,EAAc,CAAC;QAE9C,4BAAuB,GAAY,KAAK,CAAC;QAEzC,gDAAgD;QAEhD,2BAAsB,GAAW,CAAC,CAAC;QAEnC,+BAA0B,GAAG,gFAAc,CAAC,6BAA6B,EAAE,CAAC;QAE5E,YAAO,GAA0B;YAC/B,iBAAiB,EAAE,EAAE;YACrB,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,mBAAc,GAAmB;YAC/B,SAAS,EAAE,EAAE;YACb,kBAAkB,EAAE,EAAE;YACtB,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;SACR,CAAC;QAEF,cAAS,GAAoB,EAAE,CAAC;QAEhC,oBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAqB;QACrB,6BAAwB,GAAY,KAAK,CAAC;QAC1C,oBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAoB,GAAW,GAAG,CAAC;QACnC,uBAAkB,GAAW,GAAG,CAAC;QACjC,mBAAc,GAAW,CAAC,CAAC;QAC3B,kBAAa,GAAW,EAAE,CAAC;QAE3B,2BAAsB,GAAY,KAAK,CAAC;QAExC,qBAAgB,GAAY,KAAK,CAAC;QAIlC,YAAO,GAAW,EAAE,CAAC;QACrB,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAW,EAAE,CAAC;QAC7B,YAAO,GAAW,EAAE,CAAC;QACrB,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,yBAAoB,GAAW,EAAE,CAAC;QAClC,oBAAe,GAAW,EAAE,CAAC;QAC7B,cAAS,GAAW,EAAE,CAAC;QACvB,YAAO,GAAW,EAAE,CAAC;QACrB,cAAS,GAAW,EAAE,CAAC;QACvB,yBAAoB,GAAW,EAAE,CAAC;QAClC,iBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAe,GAAW,EAAE,CAAC;QACrB,oBAAe,GAAiB,IAAI,iDAAY,EAAE,CAAC;QACnD,qBAAgB,GAAG,KAAK,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,mBAAc,GAAY,KAAK,CAAC;QAChC,4BAAuB,GAAY,IAAI,CAAC;QAExC,kEAAkE;QAClE,cAAS,GAAG,EAAE,CAAC;QACf,2BAAsB,GAAY,KAAK,CAAC;QACxC,kBAAa,GAAW,EAAE,CAAC;QA8/C3B,SAAI,GAAY,KAAK,CAAC;QAwjBtB,cAAS,GAAY,KAAK,CAAC;QA3gEzB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC;IAC/C,CAAC;IAjOD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QAED,IAAI,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC;IAC5C,CAAC;IAkND,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAClD,yCAAyC,CAC1C,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB;YACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ;aACtC,cAAc,CAAC,8BAA8B,CAAC;aAC9C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,SAAS,EAAE;YAC9C,IAAI,CAAC,WAAW;gBACd,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW;oBACzC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;SAC1C;QACD,gCAAgC;QAChC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAClD,6CAA6C;QAC7C,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB;YACnB,gFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,iDAAiD;QACjD,yBAAyB;QACzB,gCAAgC;QAEhC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;QACxE,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC;QAEtC,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO;YACjD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACvC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,UAAmB,KAAK,EAAE,cAAuB,KAAK;QACtE,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,cAAc;iBAChB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC;iBAC7D,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;gBACZ,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;oBACtD,2DAA2D;oBAC3D,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;oBAC5C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC9C,0EAA0E;oBAC1E,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC/D,oCAAoC;oBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;wBACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC3B,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,IAAI,CAAC,EAChE;wBACA,IAAI,CAAC,WAAW,EAAE;4BAChB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAC/B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,EAC3D,IAAI,CAAC,WAAW,CACjB,CAAC;4BACF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CACxD,GAAG,EAAE;gCACH,IAAI,CAAC,WAAW,CAAC,MAAM;oCACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAAC;gCAC9D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAC9B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS;qCACxC,eAAe,CACnB,CAAC;gCACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gCAChC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gCACrC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAChB,CAAC,CACF,CAAC;yBACH;6BAAM;4BACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;4BACrC,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;qBACF;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;qBACtC;iBACF;qBAAM;oBACL,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACzD,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3D,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,eAAe,EACf,+BAA+B,EAC/B,uBAAuB,EACvB,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACjD,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBACzD,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC1D,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,eAAe,EACf,+BAA+B,EAC/B,uBAAuB,EACvB,0CAA0C,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAChE,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CACF,CAAC;QACN,CAAC,EAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACK,QAAQ;QACd,IAAI,CAAC,OAAO,GAAG,gFAAc,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;YACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,gFAAc,CAAC,eAAe,EAAE,CAAC;QACrD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,gFAAc,CAAC,gBAAgB,EAAE,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,gFAAc,CAAC,oBAAoB,EAAE,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,gFAAc,CAAC,gBAAgB,EAAE,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,gFAAc,CAAC,oBAAoB,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,gFAAc,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IACE,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO;YACvC,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;YACA,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACtC;QACD,IAAI,CAAC,UAAU,GAAG,gFAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,gFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,gFAAc,CAAC,uBAAuB,EAAE,CAAC;IAC1E,CAAC;IACO,MAAM;QACZ,IAAI,CAAC,GAAG;aACL,qBAAqB,EAAE;aACvB,SAAS,EAAE;aACX,IAAI,CACH,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzD,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC5B,OAAO;aACR;YACD,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAChB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,IAAI,EAAE;gBAC/C,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,IAAI,IAAI,CAClD,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;QACH,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;IACN,CAAC;IACO,qBAAqB;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,wEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,KAAK,GAAG,wEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,GAAG,GAAG,wEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,wEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,WAAW,GAAG,wEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,GAAG,wEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACa,iBAAiB;;YAC7B,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,gFAAc,CAAC,YAAY,EAAE,IAAI,MAAM,EAAE;oBAC3C,IAAI,UAAkB,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CACrC,CAAO,IAAI,EAAE,EAAE,CAAC;wBACd,iEAAiE;wBACjE,iGAAiG;wBACjG,IAAI,IAAI,IAAI,IAAI,EAAE;4BAChB,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,OAAO;yBACR;wBACD,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM,mBAAmB,GAAG,MAAM,CAChC,gFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;wBAEF,MAAM,QAAQ,GAAG,MAAM,CACrB,gFAAc,CAAC,4BAA4B,EAAE,CAC9C,CAAC;wBAEF,IACE,mBAAmB,IAAI,QAAQ;4BAC/B,UAAU,CAAC,uBAAuB;gCAChC,0EAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACtC;4BACA,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;6BAAM;4BACL,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,UAAU,CAAC,MAAM,CAClB,CAAC;4BACJ,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;4BAEnC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;4BAE9C,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gCACnC,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,eAAe,CAAC,iCAAiC,CAC1D,UAAU,CAAC,MAAM,CAClB,CAAC;gCACJ,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;6BACnC;iCAAM;gCACL,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,eAAe,CAAC,+BAA+B,CACxD,UAAU,CAAC,MAAM,CAClB,CAAC;gCACJ,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC;6BACjC;4BAED,IAAI,YAAY,GAAG,KAAK,CAAC;4BAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE;oCAClD,YAAY,GAAG,IAAI,CAAC;iCACrB;6BACF;4BAED,IAAI,CAAC,YAAY,EAAE;gCACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gCACjD,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO;oCACtD,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;oCACA,IAAI,CAAC,cAAc;yCAChB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;yCACpD,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;wCACZ,IACE,IAAI,CAAC,UAAU,IAAI,KAAK;4CACxB,IAAI,CAAC,MAAM,IAAI,OAAO,EACtB;4CACA,2DAA2D;4CAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;4CACvB,OAAO,CAAC,IAAI,CAAC,CAAC;yCACf;6CAAM,IACL,IAAI,CAAC,UAAU,IAAI,KAAK;4CACxB,IAAI,CAAC,MAAM,IAAI,SAAS,EACxB;4CACA,oCAAoC;4CACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;gDACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;4CAC3B,IAAI,CAAC,WAAW,CAAC,MAAM;gDACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAAC;4CAC9D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAC9B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS;iDACxC,eAAe,CACnB,CAAC;4CACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;4CAChC,IAAI,CAAC,eAAe,EAAE,CAAC;4CAEvB,OAAO,CAAC,IAAI,CAAC,CAAC;yCACf;oCACH,CAAC,EACD,GAAG,EAAE;wCACH,IAAI,CAAC,eAAe,EAAE,CAAC;wCACvB,OAAO,CAAC,IAAI,CAAC,CAAC;oCAChB,CAAC,CACF,CAAC;iCACL;qCAAM,IAAI,MAAM,EAAE;oCACjB,IAAI,CAAC,eAAe,EAAE,CAAC;oCACvB,OAAO,CAAC,IAAI,CAAC,CAAC;iCACf;6BACF;iCAAM;gCACL,OAAO,CAAC,IAAI,CAAC,CAAC;6BACf;yBACF;oBACH,CAAC,GACD,CAAC,GAAG,EAAE,EAAE;wBACN,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IACD;;;;OAIG;IACK,UAAU,CAAC,UAAkB;QACnC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,kDAAkD;YAClD,gFAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,IAAI,KAAK,GAAG,yJAA+B,CAAC,IAAI,CAC9C,IAAI,CAAC,YAAY,EACjB,UAAU,EACV,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,CACtB,CAAC;YAEF,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oBACpB,eAAe,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC;qBACD,OAAO,CAAC,GAAS,EAAE,CAAC;oBACnB,IAAI,eAAe,EAAE;wBACnB,eAAe,GAAG,KAAK,CAAC;wBACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,OAAO;qBACR;oBACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,EAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;YACD,gCAAgC;YAChC,4BAA4B;YAC5B,mBAAmB;YACnB,MAAM;YACN,MAAM;QACR,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACG,iBAAiB;;YACrB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,OAAO;aACR;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,IAAI,KAAK,GAAG,6IAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjE,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,MAAM,IAAI,OAAO,EAAE;wBACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;qBAC1B;yBAAM;wBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,OAAO;qBACR;gBACH,CAAC,EACD,GAAG,EAAE;oBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,OAAO;gBACT,CAAC,CACF,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,OAAO;aACR;YAED,IAAI,gFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBAChE,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;gBAE/C,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC/C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,OAAO;iBACR;aACF;YAED,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM;gBACL,IACE,IAAI,CAAC,QAAQ,IAAI,GAAG;oBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC;oBAC5B,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EACxB;oBACA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,yBAAyB,CAAC;yBACzC,OAAO,CAAC,IAAI,EAAE,gFAAc,CAAC,iBAAiB,EAAE,GAAG,OAAO,CAAC,CAAC;oBAC/D,iEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,OAAO;iBACR;gBACD,IACE,IAAI,CAAC,KAAK,IAAI,CAAC;oBACf,gFAAc,CAAC,mBAAmB,EAAE,IAAI,OAAO;oBAC/C,gFAAc,CAAC,yCAAyC,EAAE,IAAI,OAAO;oBACrE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EACxB;oBACA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,yBAAyB,CAAC;yBACzC,OAAO,CAAC,IAAI,EAAE,gFAAc,CAAC,iBAAiB,EAAE,GAAG,OAAO,CAAC,CAAC;oBAC/D,iEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,OAAO;iBACR;gBACD,IAAI,gFAAc,CAAC,uBAAuB,EAAE,IAAI,MAAM,EAAE;oBACtD,IAAI,gBAAgB,GAAG,gFAAc,CAAC,sBAAsB,EAAE,CAAC;oBAC/D,IACE,gBAAgB;wBAChB,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAC5B,gFAAc,CAAC,kBAAkB,EAAE,IAAI,OAAO,EAC9C;wBACA,IAAI,IAAI,GAAG,+HAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,MAAW,EAAE,EAAE,CAAC;4BACtC,IAAI,MAAM,IAAI,QAAQ,EAAE;gCACtB,IAAI,IAAI,GAAG,2GAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,CAAC,MAAW,EAAE,EAAE;oCACd,IAAI,MAAM,IAAI,eAAe,EAAE;wCAC7B,gFAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;wCAC1C,IAAI,CAAC,wBAAwB,EAAE,CAAC;qCACjC;yCAAM;wCACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wCAC5B,OAAO;qCACR;gCACH,CAAC,EACD,GAAG,EAAE;oCACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oCAC5B,OAAO;gCACT,CAAC,CACF,CAAC;6BACH;iCAAM,IAAI,MAAM,IAAI,SAAS,EAAE;gCAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oCAC/B,IACE,IAAI,CAAC,uBAAuB;wCAC5B,0EAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;wCACA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;qCACvC;gCACH,CAAC,CAAC,CAAC;gCACH,wHAAwH;gCACxH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gCAClD,gFAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gCAE3C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;oCACxC,EAA6B,CAAC;gCAChC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gCAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gCACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;oCAC/B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;oCAC/B,IAAI,CAAC,wBAAwB,EAAE,CAAC;iCACjC;qCAAM;oCACL,IAAI,CAAC,cAAc,EAAE,CAAC;oCACtB,IAAI,IAAI,CAAC,gBAAgB,EAAE;wCACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;qCAClD;yCAAM;wCACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;qCACpC;iCACF;6BACF;iCAAM,IAAI,MAAM,IAAI,QAAQ,EAAE;gCAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gCAC5B,OAAO;6BACR;wBACH,CAAC,EAAC,CAAC;qBACJ;yBAAM;wBACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;qBACjC;iBACF;qBAAM;oBACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBACjC;aACF;QACH,CAAC;KAAA;IACK,iCAAiC;;YACrC,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAEzB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,CAAC;gBAEtE,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAEjE,IAAI,aAAa,GAAG,EAAW,CAAC;gBAEhC,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAEhD,IAAI,aAAa,GAAG,EAAW,CAAC;gBAEhC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC3B,aAAa,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBAEH,IAAI,SAAS,GAAG;oBACd,GAAG,IAAI,GAAG,CACR,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC,CAC9D,CAAC,MAAM,EAAE;iBACX,CAAC;gBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,IACE,CAAC,UAAU;yBACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;yBAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAC1C;wBACA,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAC3D,CAAC;wBAEF,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC1B,aAAa,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAC3D,CACF,CAAC;yBACH;qBACF;iBACF;gBAED,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;gBAEzE,6BAA6B;gBAE7B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,IAAI,GAAG,GAAG,IAAI,8IAA6B,CACzC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,QAAQ,CACd,CAAC;oBAEF,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAErC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,MAAW,EAAE,EAAE,CAAC;wBAC5C,IAAI,MAAM,IAAI,aAAa,EAAE;4BAC3B,IAAI,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;4BAEhE,IAAI,gBAAgB,GAAG,IAAI,CAAC,WAAW;iCACpC,YAAY,EAAE;iCACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAE5D,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gCACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAE7C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;oCAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oCAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;iCAChB;qCAAM;oCACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oCAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;iCAChB;4BACH,CAAC,CAAC,CAAC;4BACH,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;gCAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;6BAC7B;4BACD,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;yBACtC;oBACH,CAAC,EAAC,CAAC;iBACJ;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IACK,wBAAwB;;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,gBAAgB,EAAE;gBACpB,IAAI,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE;oBAC9B,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAChE,IAAI,CAAC,sBAAsB,EAAE;wBAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,OAAO;qBACR;oBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;wBAClB,IAAI,CAAC,sBAAsB,EAAE,CAAC;qBAC/B;yBAAM,IAAI,IAAI,CAAC,UAAU,EAAE;wBAC1B,IAAI,CAAC,2BAA2B,EAAE,CAAC;qBACpC;yBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;qBAC5B;yBAAM,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE;wBAClD,mEAAmE;wBACnE,mEAAmE;wBACnE,iCAAiC;wBACjC,YAAY;wBACZ,IAAI;wBACJ,IAAI,IAAI,CAAC,gBAAgB,EAAE;4BACzB,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,CAClB,CAAC,iBAAiB,CAAC;4BACpB,IAAI,SAAS,GAAG,qDAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;;gCAC7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;oCAC1B,SAAS,CAAC,WAAW,EAAE,CAAC;oCACxB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;oCACrC,IAAI,CAAC,yBAAyB,EAAE,CAAC;iCAClC;4BACH,CAAC,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,CAAC,yBAAyB,EAAE,CAAC;yBAClC;qBACF;;wBAAM,IAAI,CAAC,WAAW,EAAE,CAAC;iBAC3B;aACF;iBAAM;gBACL,2EAA2E;gBAC3E,IAAI,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE;oBACnC,IAAI,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE;wBAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;iBACF;aACF;QACH,CAAC;KAAA;IACO,yBAAyB;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;QACxD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,WAAW,EAAE;YACtE,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM;YACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;YACrE,4HAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SACvD;IACH,CAAC;IACa,aAAa;;YACzB,OAAO,IAAI,OAAO,CAAU,CAAO,OAAY,EAAE,EAAE,CAAC;gBAClD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3D,IAAI,CAAC,mBAAmB;oBAAE,OAAO;gBACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAE5B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAEpD,IAAI,CAAC,gBAAgB;oBAAE,OAAO;gBAE9B,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC3C,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IACK,2BAA2B,CAAC,cAAuB,KAAK;;YAC5D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;gBACtC,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,CAClB,CAAC,iBAAiB,CAAC;aACrB;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ;iBACV,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;iBAC9D,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;;gBACZ,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBAErC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;oBACzB,IAAI,CAAC,QAAQ,CAAC,KAAK;wBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;4BACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;oBAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE;wBACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;qBAChC;oBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;wBACnC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAC/B,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1D,IAAI,WAAW,EAAE;wBACf,OAAO;qBACR;yBAAM;wBACL,IAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;iBACF;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;oBAC/B,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;wBACrC,IAAI,IAAI,GAAW,EAAE,CAAC;wBACtB,IAAI,KAAK,GAAa,EAAE,CAAC;wBACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;wBAChD,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,EAC5C,CAAC,EAAE,EACH;4BACA,IAAI,IAAI,GAAU,IAAI,CAAC,MAAM,CAC3B,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CACtD,CAAC;4BACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gCACnB,IAAI;oCACF,IAAI;wCACJ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;4CACxB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;4CACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;6BACrB;iCAAM;gCACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wCAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CACjD,IACE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW;gDAChC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC3C;gDACA,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAC3C,CAAC,EAAE,EACH;oDACA,IACE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;yDAChC,eAAe;wDAChB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;wDACtC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAC9C;wDACA,IAAI,GAAG,SACL,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wDACtC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;wDACjB,IAAI,CAAC,GAAG,EAAE,CAAC;wDACX,IACE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW;4DAChC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EACtC;4DACA,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;yDACtC;6DAAM;4DACL,IACE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gEACzB,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAC/B;gEACA,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;6DAC/B;iEAAM;gEACL,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;6DACnC;yDACF;wDACD,IAAI,CAAC,GAAG,EAAE,CAAC;wDACX,IACE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;6DAChC,WAAW;4DACd,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iEAChC,WAAW,IAAI,EAAE,EACpB;4DACA,CAAC;gEACC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;qEAChC,WAAW,CAAC;yDAClB;6DAAM;4DACL,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;yDAC9C;wDACD,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;wDACzB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qDACjB;iDACF;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrB,IAAI,CAAC,GAAG,6HAA2B,CAAC,IAAI,CACtC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,KAAK,CACN,CAAC,iBAAiB,CAAC;wBACpB,CAAC,CAAC,QAAQ,EAAE,CAAC;qBACd;yBAAM;wBACL,IAAI,CAAC,GAAG,6HAA2B,CAAC,IAAI,CACtC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAChB,CAAC,iBAAiB,CAAC;wBACpB,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACb,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;4BACzC,IAAI,IAAI,IAAI,OAAO,EAAE;gCACnB,IAAI,WAAW,EAAE;oCACf,OAAO;iCACR;qCAAM;oCACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;iCAC1B;6BACF;iCAAM;6BACN;wBACH,CAAC,CAAC,CAAC;qBACJ;iBACF;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;oBAC/B,IAAI,CAAC,GAAG,6HAA2B,CAAC,IAAI,CACtC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAChB,CAAC,iBAAiB,CAAC;oBACpB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACb,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;wBACzC,IAAI,IAAI,IAAI,OAAO,EAAE;4BACnB,IAAI,WAAW,EAAE;gCACf,OAAO;6BACR;iCAAM;gCACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;6BAC1B;yBACF;6BAAM;yBACN;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;;gBACX,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IACE,GAAG,CAAC,MAAM,IAAI,KAAK;oBACnB,GAAG,CAAC,KAAK;oBACT,GAAG,CAAC,KAAK,CAAC,YAAY;oBACtB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,IAAI,GAAG,EACxC;oBACA,IAAI,CAAC,GAAG,6HAA2B,CAAC,IAAI,CACtC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EACjC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAC/B,CAAC,iBAAiB,CAAC;oBACpB,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACd;qBAAM;oBACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,0BAA0B,CAC3B,CAAC;oBACF,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;iBAChE;YACH,CAAC,CACF,CAAC;QACN,CAAC;KAAA;IACa,cAAc;;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,gFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;gBACnD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;aACvB;YACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;KAAA;IACD;;;;;;;;;OASG;IACG,OAAO,CACX,SAAmB,EACnB,YAAoB,EACpB,aAAqB,EACrB,WAAmB,EAAE;;YAErB,IAAI,IAAI,GAAW,EAAE,CAAC;YACtB,IACE,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,SAAS;gBACzC,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;gBACA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC;aACzD;iBAAM,IACL,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,YAAY;gBAC5C,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;gBACA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC;aACrD;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAEzD,IAAI,CAAC,GAAG;iBACL,gBAAgB,CACf,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,cAAc,CAAC,QAAQ,EAC5B,SAAS,EACT,IAAI,CAAC,cAAc,CAAC,WAAW,EAC/B,IAAI,CAAC,cAAc,CAAC,2BAA2B,IAAI,EAAE,EACrD,IAAI,EACJ,QAAQ,EACR,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAC/B;iBACA,IAAI,CACH,CAAC,IAAiB,EAAE,EAAE;;gBACpB,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE9B,IAAI;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,0BAA0B,EAC1B;sCACsB,SAAS;eAChC,EACC,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EACtC,KAAK,CACN,CACF,CAAC;iBACH;gBAAC,OAAO,CAAC,EAAE,GAAE;gBAEd,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE;oBAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CACxC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EACjC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EACpC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAChC,CAAC;oBAEF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,IACE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU;wBACjC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAC1C;wBACA,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAC1C,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;wBACF,IAAI,CAAC,WAAW,CAAC,QAAQ;4BACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;wBAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;qBAC5D;yBAAM;wBACL,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBAE1C,IAAI,CAAC,WAAW,CAAC,QAAQ;4BACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;wBAClD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;qBAC/D;oBAED,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;qBAAM,IACL,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM;oBACrD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,EACtD;oBACA,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAE/B,4HAAsB,CAAC,IAAI,CACzB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAC/B,CAAC;oBAEF,IACE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CACrC,6BAA6B,CAC9B,EACD;wBACA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC;wBACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;qBACnC;iBACF;qBAAM;oBACL,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,0BAA0B,CAC3B,CAAC;oBACF,4HAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC1D;YACH,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;;gBACb,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,0BAA0B,CAC3B,CAAC;gBACF,4HAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAEzD,IAAI;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,uBAAuB,EACvB;sCACsB,SAAS;eAChC,EACC,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,KAAK,CACN,CACF,CAAC;iBACH;gBAAC,OAAO,CAAC,EAAE,GAAE;YAChB,CAAC,CACF;iBACA,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChB,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,aAAsB,EAAE,EAAE;;oBAC7D,IAAI,aAAa,EAAE;wBACjB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;qBACtC;yBAAM;wBACL,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;wBACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,0BAA0B,CAC3B,CAAC;wBACF,4HAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;qBAC1D;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IACD,uBAAuB;QACrB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;gBACpC,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,EAAE,EAAE;gBAC1D,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,YAAY,EAAE;gBACtE,IAAI,CAAC,cAAc;qBAChB,wBAAwB,EAAE;qBAC1B,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oBAClB,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;wBACxD,IAAI,CAAC,cAAc,CAAC,2BAA2B,GAAG,EAAE,CAAC;wBACrD,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;wBAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACtD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;qBACtC;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,SAAS,EAAE;gBACnE,IAAI,CAAC,cAAc;qBAChB,qBAAqB,EAAE;qBACvB,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oBAClB,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;wBACxD,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;wBAC/C,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;wBAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACtD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;qBACtC;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;;;OAMG;IACW,sBAAsB;;YAClC,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,CAClB,CAAC,iBAAiB,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,YAAY,GAChB,gFAAc,CAAC,eAAe,EAAE,IAAI,EAAE;gBACpC,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,gFAAc,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAExE,MAAM,aAAa,GACjB,gFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;gBACrC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,gFAAc,CAAC,gBAAgB,EAAE,CAAC;YAExC,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,SAAS;gBACxD,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;gBACA,IACE,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,EAAE;oBAC/C,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,EAAE,EAC/C;oBACA,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAC7C,CAAC,IAAS,EAAE,EAAE;wBACZ,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;4BACzC,IACE,IAAI,CAAC,IAAI,CAAC,cAAc;gCACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EACnC;gCACA,IAAI,CAAC,cAAc,CAAC,qBAAqB;oCACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gCAEvC,IAAI,CAAC,OAAO,CACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,IAAI,CAAC,EAAE,CACb,CAAC;6BACH;iCAAM;gCACL,2CAA2C;6BAC5C;yBACF;6BAAM,IACL,IAAI,CAAC,UAAU,IAAI,KAAK;4BACxB,IAAI,CAAC,IAAI;4BACT,IAAI,CAAC,IAAI,CAAC,OAAO;gCACf,mDAAmD,EACrD;4BACA,IAAI,CAAC,OAAO,CACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,IAAI,CAAC,EAAE,CACb,CAAC;yBACH;oBACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;wBACX,mBAAmB;oBACrB,CAAC,CACF,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBACtD;aACF;iBAAM,IACL,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,YAAY;gBAC3D,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;gBACA,IACE,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,EAAE;oBAC/C,IAAI,CAAC,cAAc,CAAC,2BAA2B,IAAI,EAAE,EACrD;oBACA,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAChD,CAAC,IAAS,EAAE,EAAE;wBACZ,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;4BACzC,IACE,IAAI,CAAC,IAAI,CAAC,cAAc;gCACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EACnC;gCACA,IAAI,CAAC,cAAc,CAAC,2BAA2B;oCAC7C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gCACvC,IAAI,CAAC,OAAO,CACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,IAAI,CAAC,EAAE,CACb,CAAC;6BACH;yBACF;6BAAM,IACL,IAAI,CAAC,UAAU,IAAI,KAAK;4BACxB,IAAI,CAAC,IAAI;4BACT,IAAI,CAAC,IAAI,CAAC,OAAO;gCACf,mDAAmD,EACrD;4BACA,IAAI,CAAC,OAAO,CACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,IAAI,CAAC,EAAE,CACb,CAAC;yBACH;6BAAM;yBACN;oBACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;wBACX,mBAAmB;oBACrB,CAAC,CACF,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;iBACtD;aACF;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;aACtD;QACH,CAAC;KAAA;IACD;;;OAGG;IACK,aAAa;QACnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;gBAClC,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,GAAG,GAAG,8GAAkB,CAAC,IAAI,CAC/B,IAAI,CAAC,YAAY,EACjB,wEAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAC5D,IAAI,CAAC,WAAW,CACjB,CAAC;gBAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEjC,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,CAAC,IAAY,EAAE,EAAE;oBACf,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,IAAI,IAAI,IAAI,UAAU,EAAE;wBACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;wBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,IAAI,CAAC,UAAU,EAAE;4BACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;4BACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;4BACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;yBAC5B;wBAED,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;gBACH,CAAC,EACD,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,CAAC,eAAe,EAAE,CAAC;oBAEvB,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,iBAAiB,EACjB,+BAA+B,EAC/B,OAAO,EACP,kCAAkC,MAAM,EAAE,EAC1C,IAAI,CACL,CACF,CAAC;oBACF,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACO,mBAAmB;QACzB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,EAAc,CAAC;YAEvC,IAAI,CAAC,eAAe;iBACjB,+BAA+B,CAC9B,SAAS;iBACN,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;iBAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACvB,CAAC,CACF;iBACA,IAAI,CAAC,CAAO,cAAwB,EAAE,EAAE,CAAC;gBACxC,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/C,IAAI,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,cAAc,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5D,CAAC;oBACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;iBACjD;gBACD,IAAI,oBAAoB,GACtB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpC,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAI,CAAC,gBAAgB;yBACnB,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;yBACzB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CACxB,CAAC;iBACH;gBAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;gBAEpD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,EAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iCAAiC;IACnB,gBAAgB,CAC5B,UAAiB,EACjB,iBAAwB;;YAExB,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,EAAE,CAAC;gBAC7C,MAAM,kBAAkB,GACtB,wEAAe,CAAC,iCAAiC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACtE,IAAI,kBAAkB,EAAE;oBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClD,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAQ,CAAC;wBAC1C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE;4BACjD,iBAAiB,CAAC,IAAI,CACpB,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CACpD,IAAI,CAAC,YAAY,EACjB,CAAC,CACF,CACF,CAAC;yBACH;wBAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;yBAClE;qBACF;iBACF;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IACD,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;OAGG;IACW,WAAW,CAAC,YAAkB;;YAC1C,IACE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,iFAAW,CAAC,UAAU;gBACtD,IAAI,CAAC,WAAW,CAAC,MAAM;gBACvB,gFAAc,CAAC,sBAAsB,EAAE,IAAI,EAAE,EAC7C;gBACA,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;gBACvE,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;gBACxE,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChE,OAAO;aACR;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,mBAAmB,GAAG,YAAY;gBACtC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,wEAAe,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,QAAQ,mBAAmB,EAAE;gBAC3B,KAAK,MAAM;oBACT,yCAAyC;oBACzC,sCAAsC;oBACtC,gCAAgC;oBAChC,OAAO;gBACT,KAAK,WAAW;oBACd,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,OAAO;gBACT,KAAK,UAAU;oBACb,iCAAiC;oBACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;wBACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;wBACzB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;qBACjC;oBACD,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;wBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;wBACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;qBAC5B;oBACD,OAAO;gBACT,KAAK,QAAQ;oBACX,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;oBACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAClD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;wBACnC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC1B;oBACD,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjC,IAAI,IAAI,EAAE;4BACR,IAAI,IAAI,CAAC,KAAK;gCAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC;iCACzC,IAAI,IAAI,CAAC,UAAU,EAAE;gCACxB,IAAI,CAAC,2BAA2B,EAAE,CAAC;6BACpC;iCAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gCACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;6BAC5B;;gCAAM,IAAI,CAAC,WAAW,EAAE,CAAC;yBAC3B;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO;gBAET;oBACE,gFAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBACnE,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;YACD,IAAI,mBAAmB,CAAC,aAAa,IAAI,yEAAY,CAAC,OAAO,EAAE;gBAC7D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;aAChD;YACD,IAAI,CAAC,6BAA6B,CAAC,mBAAmB,CAAC;iBACpD,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;gBACZ,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,IAAI,CACtC,CAAO,QAAiB,EAAE,EAAE,CAAC;wBAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBACzB,IAAI,QAAQ,EAAE;4BACZ,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;gCAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI;gCAC/C,mBAAmB,CAAC,aAAa,IAAI,yEAAY,CAAC,OAAO,EACzD;gCACA,MAAM,IAAI,CAAC,cAAc;qCACtB,oBAAoB,EAAE;qCACtB,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oCAClB,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;wCAC5B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;4CAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wCAClB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI;4CACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;qCACxB;gCACH,CAAC,CAAC,CAAC;6BACN;4BACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;yBACzB;6BAAM;4BACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC1B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;yBACjC;oBACH,CAAC,EACF,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBACd,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;wBACzB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;wBAChC,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO,EAAE;4BAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAC;yBAC1B;qBACF;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;wBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;4BACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;yBACjC;qBACF;oBACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBAClB,OAAO;iBACR;YACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CACF;iBACA,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAGD,6BAA6B,CAC3B,sBAA2B,EAAE,aAAa,EAAE,yEAAY,CAAC,OAAO,EAAE;QAElE,OAAO,IAAI,OAAO,CAAM,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO,EAAE;gBAC3C,IAAI,mBAAmB,CAAC,aAAa,IAAI,yEAAY,CAAC,OAAO,EAAE;oBAC7D,uCAAuC;oBACvC,IACE,IAAI,CAAC,WAAW,CAAC,cAAc;wBAC/B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,EACjD;wBACA,6BAA6B;wBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,CAAC,EACD,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;4BAC3B,gFAAc,CAAC,oBAAoB,EAAE,IAAI,MAAM,CAClD,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAC1C,CAAC,IAAI,EAAE,EAAE;4BACP,IAAI,IAAI,IAAI,CAAC,EAAE;gCACb,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;gCACpD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;gCACvD,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;oCACpC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAC7C;oCACA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;wCAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;iCACxC;gCACD,IAAI,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,yEAAY,CAAC,OAAO,EAAE,CAAC,CAAC;6BAC3D;iCAAM,IAAI,IAAI,IAAI,CAAC,EAAE;gCACpB,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;oCACpC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAC7C;oCACA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;wCAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;iCACxC;gCACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;oCACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oCAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iCACjC;gCACD,IAAI,CAAC,WAAW,EAAE,CAAC;6BACpB;iCAAM,IAAI,IAAI,IAAI,CAAC,EAAE;gCACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gCACjB,OAAO,CAAC,KAAK,CAAC,CAAC;6BAChB;iCAAM,IAAI,IAAI,IAAI,CAAC,EAAE;gCACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gCACd,4DAA4D;6BAC7D;wBACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC,CACF,CAAC;wBACF,0CAA0C;wBAC1C,IAAI,WAAW,GAAG,cAAc,CAAC;wBACjC,IAAI,OAAO,GAAG;4BACZ,WAAW,EAAE,WAAW;yBACzB,CAAC;wBACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;wBACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;4BAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,eAAe,EAAE;gCAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oCACrB,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;wCACpC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAC7C;wCACA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;4CAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;qCACxC;oCACD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;oCACzD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oCAC3B,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,KAAK,EACL,KAAK,CACN,CAAC,iBAAiB,CAAC;iCACrB;6BACF;wBACH,CAAC,CAAC;wBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACnC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAClD,2BAA2B;qBAC5B;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE;wBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM,IACL,IAAI,CAAC,WAAW,CAAC,cAAc;wBAC/B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;wBAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAC/C;wBACA,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;wBAC1C,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EACjB,IAAI,EACJ,KAAK,EACL,KAAK,CACN,CAAC,iBAAiB,CAAC;wBACpB,MAAM,IAAI,CAAC,cAAc;6BACtB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;6BACpD,IAAI,CACH,CAAO,IAAS,EAAE,EAAE,CAAC;;4BACnB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;4BACrC,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gCACxD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;oCACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gCAC3B,IAAI,CAAC,WAAW,CAAC,MAAM;oCACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAAC;gCAC9D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAC9B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS;qCACxC,eAAe,CACnB,CAAC;gCACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oCACxC,IAAI,IAAI,CAAC,UAAU,EAAE;wCACnB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4CAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;wCAChB,CAAC,CAAC,CAAC;qCACJ;yCAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;wCACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4CACvC,OAAO,CAAC,IAAI,CAAC,CAAC;wCAChB,CAAC,CAAC,CAAC;qCACJ;yCAAM;wCACL,OAAO,CAAC,IAAI,CAAC,CAAC;qCACf;gCACH,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCACL,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gCACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,4BAA4B,CAC7B,CAAC;gCACF,IAAI,CAAC,GAAG,qGAAqB,CAAC,IAAI,CAChC,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,QAAQ,CACT,CAAC;gCACF,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,CAAC,IAAS,EAAE,EAAE;oCACZ,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;oCAC9C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC;oCACjD,OAAO,CAAC,KAAK,CAAC,CAAC;gCACjB,CAAC,EACD,GAAG,EAAE;oCACH,OAAO,CAAC,KAAK,CAAC,CAAC;gCACjB,CAAC,CACF,CAAC;6BACH;wBACH,CAAC,GACD,CAAC,GAAQ,EAAE,EAAE;;4BACX,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;4BACrC,oBAAoB;4BACpB,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC,CACF;6BACA,OAAO,CAAC,GAAG,EAAE;;4BACZ,IAAI;gCACF,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;6BACtC;4BAAC,OAAO,CAAM,EAAE,GAAE;wBACrB,CAAC,CAAC,CAAC;qBACN;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;iBACF;aACF;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IACK,yBAAyB;;YAC7B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAEvD,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,CAC1D,SAAS,EACT,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CACvB,CAAC;YAEF,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;YACxC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc;iBAC1C,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC9B,IAAI,CAAC,mEAAY,CAAC,GAAG,CAAC,CAAC;iBACvB,SAAS,CAAC,CAAC,IAAiB,EAAE,EAAE;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IACE,IAAI;oBACJ,IAAI,CAAC,IAAI;oBACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,WAAW,EAC7C;oBACA,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,+BAA+B,EAC/B,gCAAgC,SAAS;iBACtC,EACH,sBAAsB,EACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,IAAI,CACL,CACF,CAAC;iBACH;qBAAM;oBACL,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI;wBACF,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBACjC;oBAAC,OAAO,CAAC,EAAE;wBACV,QAAQ,GAAG,eAAe,CAAC;qBAC5B;oBACD,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,qCAAqC,EACrC,gCAAgC,SAAS,EAAE,EAC3C,oBAAoB,EACpB,QAAQ,EACR,IAAI,CACL,CACF,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IACK,qBAAqB;;;YACzB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;YACrC,gFAAc,CAAC,gBAAgB,CAAC,yEAAY,CAAC,QAAQ,CAAC,CAAC;YACvD,gFAAc,CAAC,mBAAmB,EAAE,CAAC;YACrC,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO,EAAE;gBAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oBAClE,MAAM,GAAG,GAAG,IAAI,yEAAW,CACzB,MAAM,EACN,GAAG,EACH,sBAAsB,EACtB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EACzB,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;wBAC5B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBAC/D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;qBAC/D;yBAAM;qBACN;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;;KACzB;IAEK,mBAAmB,CAAC,cAAuB,KAAK;;;YACpD,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAEvD,IAAI;gBACF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;oBACtC,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,CAClB,CAAC,iBAAiB,CAAC;iBACrB;gBAED,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAClD,SAAS,EACT,IAAI,CAAC,KAAK,EACV,GAAG,EACH,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CACxB,CAAC;gBAEF,IAAI,CAAC,MAAM;qBACR,cAAc,CAAC,eAAe,CAAC;qBAC/B,IAAI,CAAC,8DAAO,CAAC,KAAK,CAAC,CAAC;qBACpB,SAAS,EAAE;qBACX,IAAI,CACH,CAAC,IAAoB,EAAE,EAAE;;oBACvB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;oBACrC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;wBAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;wBAC/C,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,kCAAkC,EAClC;kCACgB,SAAS;iBAC1B,EACC,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,IAAI,CACL,CACF,CAAC;wBACF,IAAI,WAAW,EAAE;4BACf,OAAO;yBACR;6BAAM;4BACL,IAAI,CAAC,WAAW,EAAE,CAAC;yBACpB;qBACF;yBAAM;wBACL,IAAI,QAAQ,GAAG,EAAE,CAAC;wBAElB,IAAI;4BACF,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBACjC;wBAAC,OAAO,CAAC,EAAE;4BACV,QAAQ,GAAG,eAAe,CAAC;yBAC5B;wBAED,4HAAsB,CAAC,IAAI,CACzB,IAAI,CAAC,YAAY,QACjB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,mCAAI,EAAE,CAC3B,CAAC;wBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,wCAAwC,EACxC;oCACkB,SAAS;iBAC5B,EACC,oBAAoB,EACpB,QAAQ,EACR,IAAI,CACL,CACF,CAAC;qBACH;gBACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;;oBACR,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;oBACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,wBAAwB,CACzB,CAAC;oBACF,4HAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACzD,IAAI,SAAS,GAAG,EAAE,CAAC;oBAEnB,IAAI;wBACF,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBACnC;oBAAC,OAAO,CAAC,EAAE;wBACV,SAAS,GAAG,eAAe,CAAC;qBAC7B;oBAED,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,wCAAwC,EACxC;gCACgB,SAAS;eAC1B,EACC,oBAAoB,EACpB,SAAS,EACT,IAAI,CACL,CACF,CAAC;gBACJ,CAAC,CACF;qBACA,OAAO,CAAC,GAAG,EAAE;;oBACZ,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACvC,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,KAAK,EAAE;gBACd,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;gBACtE,4HAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAEzD,IAAI,SAAS,GAAG,EAAE,CAAC;gBAEnB,IAAI;oBACF,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACnC;gBAAC,OAAO,CAAC,EAAE;oBACV,SAAS,GAAG,eAAe,CAAC;iBAC7B;gBAED,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,wCAAwC,EACxC,wDAAwD,SAAS,GAAG,EACpE,oBAAoB,EACpB,SAAS,EACT,IAAI,CACL,CACF,CAAC;aACH;;KACF;IAEO,uBAAuB;QAC7B,OAAO,CACL,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,gBAAgB;YACvC,gFAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAC7C,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACK,SAAS,CAAC,IAAS;QACzB,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,IAAI,KAAK,GAAG,6IAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjE,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,MAAM,IAAI,OAAO,EAAE;wBACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;qBAC1B;yBAAM;wBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,OAAO;qBACR;gBACH,CAAC,EACD,GAAG,EAAE;oBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,OAAO;gBACT,CAAC,CACF,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,OAAO;aACR;YACD,kDAAkD;YAClD,IACE,IAAI,CAAC,uBAAuB,EAAE;gBAC9B,CAAC,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBACjD,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC;gBACnC,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACzD,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACvD,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpD,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAClD;gBACA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW;qBACb,eAAe,EAAE;qBACjB,IAAI,CAAC,8DAAO,CAAC,KAAK,CAAC,CAAC;qBACpB,SAAS,EAAE;qBACX,IAAI,CACH,CAAC,GAAG,EAAE,EAAE;oBACN,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CACtC,CAAC,QAAQ,EAAE,EAAE;wBACX,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC,CACF,CAAC;gBACJ,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;oBAC/D,iEAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACzB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CACF,CAAC;aACL;iBAAM;gBACL,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CACtC,CAAC,QAAQ,EAAE,EAAE;oBACX,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CACF,CAAC;aACH;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,IAAS;QACxC,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;gBAElC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBAChD,uCAAuC;oBACrC,IAAI,QAAQ,EAAE;wBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;4BACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;yBACjC;wBACD,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC7D,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;gBACpE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAC/B,CAAC,QAAa,EAAE,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE;gBACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAC3B,CAAC,QAAa,EAAE,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE;gBAClE,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAC5B,CAAC,QAAa,EAAE,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CACF,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,OAAO,EAAE;gBACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAC1B,CAAC,QAAa,EAAE,EAAE;oBAChB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,QAAQ,EAAE;wBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;gBACH,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;gBAC/D,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBAC5C,IAAI,QAAQ,EAAE;wBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACzC,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,MAAM,EAAE,CAAC;qBACV;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBAC9C,IAAI,QAAQ,EAAE;wBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACzC,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,MAAM,EAAE,CAAC;qBACV;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,CAAC;aACf;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAGD,gBAAgB;QACd,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;;YAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;gBACtC,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,CAClB,CAAC,iBAAiB,CAAC;aACrB;YACD,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,IAAI,SAAS;gBACvD,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK;oBACtC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,EACvE;gBACA,IAAI,WAAW,GAAG,KAAK,CAAC;gBACxB,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK;oBACvC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EACpE;oBACA,WAAW,GAAG,IAAI,CAAC;iBACpB;gBACD,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACpD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;iBAC9C;qBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;iBACtC;aACF;YACD,IAAI,CAAC,EAAE;gBACL,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;oBACnB,gFAAc,CAAC,gBAAgB,CAAC,yEAAY,CAAC,OAAO,CAAC,CAAC;oBACtD,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;qBAAM;oBACL,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,IAAI,CAC7C,CAAC,IAAS,EAAE,EAAE;;wBACZ,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;wBACrC,IAAI,CAAC,IAAI,EAAE;4BACT,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,EAAmB,CAAC;4BACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gCACrC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAChB,CAAC,CAAC,CAAC;yBACJ;6BAAM,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;4BAC/D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;4BAC/D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC9D,gFAAc,CAAC,gBAAgB,CAAC,yEAAY,CAAC,OAAO,CAAC,CAAC;4BACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;6BAAM;4BACL,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;gCACtD,mHAAmH;gCACnH,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oCACrC,OAAO,CAAC,IAAI,CAAC,CAAC;gCAChB,CAAC,CAAC,CAAC;6BACJ;iCAAM;gCACL,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oCACrC,OAAO,CAAC,IAAI,CAAC,CAAC;gCAChB,CAAC,CAAC,CAAC;6BACJ;yBACF;oBACH,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;iBACH;aACF;iBAAM;gBACL,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,CAAC,EACD,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;gBAC3B,gFAAc,CAAC,oBAAoB,EAAE,IAAI,MAAM,CAClD,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAC1C,CAAO,IAAI,EAAE,EAAE,CAAC;gBACd,IAAI,IAAI,IAAI,CAAC,EAAE;oBACb,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;oBACpD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;oBACvD,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;wBACpC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAC7C;wBACA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;4BAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;qBACxC;oBACD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC;oBACjD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,yEAAY,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC3D;qBAAM,IAAI,IAAI,IAAI,CAAC,EAAE;oBACpB,IACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;wBACpC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAC7C;wBACA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU;4BAC1C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;qBACxC;oBACD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,CAAC;oBACjD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;wBACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,EAAmB,CAAC;wBACxD,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;qBACjC;yBAAM;wBACL,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;qBAChC;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;wBACxB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;qBAClC;yBAAM;wBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;iBACF;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,GACD,GAAG,EAAE;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACK,gBAAgB,CAAC,KAAa;QACpC,OAAO,IAAI,OAAO,CAAM,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE;gBACT,IACE,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;oBAC5B,gFAAc,CAAC,oBAAoB,EAAE,IAAI,OAAO,EAChD;oBACA,IAAI,GAAG,GAAG,+GAAqB,CAAC,IAAI,CAClC,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACxB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAClB,CAAC;oBACF,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;oBAC7B,GAAG,CAAC,MAAM;yBACP,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;wBAClB,IAAI,IAAI,IAAI,UAAU,EAAE;4BACtB,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC1C,6BAA6B,CAC9B,CAAC;4BACF,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,2BAA2B,CAC5B,CAAC;4BACF,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;4BAChE,OAAO,CAAC,MAAM,CAAC,CAAC;yBACjB;6BAAM;4BACL,gFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BACpD,IAAI,CAAC,eAAe,EAAE,CAAC;4BACvB,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;oBACH,CAAC,CAAC;yBACD,OAAO,CAAC,GAAG,EAAE;wBACZ,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAChC,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACL,gFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBAEpE,IACE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa;wBAChC,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAC9B,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,iFAAc,CAAC,OAAO,EACtD;wBACA,gFAAc,CAAC,qBAAqB,CAClC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAClD,CAAC;qBACH;yBAAM;wBACL,gFAAc,CAAC,qBAAqB,CAClC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CACxC,CAAC;qBACH;oBAED,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;aACF;iBAAM;gBACL,OAAO,CAAC,WAAW,CAAC,CAAC;aACtB;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IACD;;OAEG;IACW,gBAAgB;;YAC5B,+CAA+C;YAE/C,4CAA4C;YAC5C,gEAAgE;YAChE,gFAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,sCAAsC;YACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/C,+CAA+C;YAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE5D,8BAA8B;YAC9B,IAAI,gFAAc,CAAC,4BAA4B,EAAE,EAAE;gBACjD,+DAA+D;aAChE;YAED,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;KAAA;IACO,YAAY;QAClB,OAAO,IAAI,OAAO,CAAe,CAAO,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC/B,QAAQ;wBACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC;4BACtD,IAAI,CAAC,WAAW,CAAC,QAAQ;4BACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;iBAC3B;qBAAM;oBACL,QAAQ,GAAG,MAAM,CACf,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,CAC3D,CAAC;iBACH;aACF;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;YACxC,MAAM,eAAe,GAAG,gFAAc,CAAC,kBAAkB,EAAE,CAAC;YAC5D,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC;YAE5D,aAAa;YACb,uDAAuD;YACvD,uCAAuC;YACvC,uCAAuC;YACvC,yCAAyC;YACzC,+EAA+E;YAC/E,qDAAqD;YACrD,yDAAyD;YAEzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CACtD,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,eAAe,EACf,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,IAAI,CAAC,WAAW,EAChB,iBAAiB,CAClB,CAAC;YACF,IACE,gFAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE;gBAC5C,SAAS,CAAC,WAAW,CAAC,MAAM;gBAC5B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc;gBACvC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAClD;gBACA,IAAI,CAAC,WAAW,CAAC,cAAc;oBAC7B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC3C;YAED,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpC,IAAI,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/D,MAAM,IAAI,CAAC,cAAc;qBACtB,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;qBACtC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;oBAClB,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACL,OAAO,CAAC,SAAS,CAAC,CAAC;aACpB;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IACD;;OAEG;IACK,eAAe;QACrB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,gFAAc,CAAC,gBAAgB,EAAE,KAAK,GAAG,EAAE;oBAC7C,IAAI,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE,IAAI,IAAI,EAAE;wBAC/C,IAAI,mBAAmB,GACrB,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAS,CAAC;wBAE7C,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAC9D,GAAG,EAAE;4BACH,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC,CACF,CAAC;qBACH;oBAED,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC;iBACpC;qBAAM,IAAI,gFAAc,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;oBACrD,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CACrB,WAAmB,EACnB,eAAuB,EACvB,SAAiB;QAEjB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,MAAM,CACvC,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACW,aAAa,CAAC,IAAS;;;YACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;YAE/D,IACE,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,GAAG,CAAC,aAAa;gBACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAC3B;gBACA,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;aACtD;YAED,gFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1D,IAAI,QAAQ,IAAI,CAAC,EAAE;gBACjB,OAAO,IAAI,CAAC;aACb;YAED,mBAAmB;YACnB,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;gBACrC,gEAAgE;gBAChE,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,KAAK,EAAE;oBACrD,MAAM,IAAI,CAAC,4BAA4B,CACrC,KAAK,EACL,yDAAyD,CAC1D,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CAAC,eAAe,EAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CACrB,CAAC;oBACF,OAAO,KAAK,CAAC;iBACd;qBAAM;oBACL,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACzB,yBAAyB;oBACzB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACnD,2BAA2B;oBAC3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBACzB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;qBACnC;oBAED,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,OACtD,IAAI,CAAC,eAAe,0CAAE,QAAQ,EAC9B,IAAI,CAAC,WAAW,QAChB,IAAI,CAAC,eAAe,0CAAE,GAAG,CAC1B,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC;oBAElC,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,IAAI,IAAI,EAAE;wBACvD,OAAO,IAAI,CAAC;qBACb;oBAED,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;wBACvC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAClD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,EAC7C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAC5C,CAAC;wBACF,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC;wBAClC,IAAI,CAAC,4BAA4B,CAC/B,KAAK,EACL,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAC/C,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;4BACnB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;4BAC/B,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CAAC,eAAe,EAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CACrB,CAAC;4BACF,OAAO,KAAK,CAAC;wBACf,CAAC,CAAC,CAAC;qBACJ;oBAED,MAAM,IAAI,CAAC,4BAA4B,CACrC,KAAK,EACL,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAC/C,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC/B,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,CAAC,eAAe,EAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CACrB,CAAC;oBACF,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC;iBACd;aACF;iBAAM;gBACL,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;aACd;;KACF;IAED;;;;OAIG;IACK,SAAS;QACf,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,+CAA+C,EAAE;gBACrD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,MAAM,EAAE,KAAK;oBACb,iBAAiB,EAAE,mBAAmB;oBACtC,UAAU,EAAE,YAAY;oBACxB,6BAA6B,EAAE,GAAG;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,OAAO;iBAClB,CAAC;aACH,CAAC;iBACC,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAClB,CAAC,IAAI,EAAE,EAAE;wBACP,IAAI,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC;wBAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,OAAO,CAAC,CAAC,CAAC,CAAC;oBACb,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF;iBACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACK,UAAU;QAChB,6CAA6C;QAC7C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,2CAA2C,EAAE;gBACjD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS;iBAC1C;aACF,CAAC;iBACC,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAClB,CAAC,IAAI,EAAE,EAAE;wBACP,IAAI,CAAC,sBAAsB;4BACzB,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,YAAY;gCACjD,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,KAAK,CAAC;wBACZ,OAAO,CAAC,CAAC,CAAC,CAAC;oBACb,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF;iBACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,mCAAmC;gBACnC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACK,WAAW,CAAC,QAAgB;QAClC,0CAA0C;QAC1C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,4DAA4D,EAAE;gBAClE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS;oBACzC,cAAc,EAAE,kBAAkB;oBAClC,MAAM,EAAE,KAAK;oBACb,iBAAiB,EAAE,mBAAmB;oBACtC,UAAU,EAAE,YAAY;oBACxB,6BAA6B,EAAE,GAAG;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;iBACzB,CAAC;aACH,CAAC;iBACC,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;iBACZ;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF;iBACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACK,mBAAmB,CAAC,SAAiB;QAC3C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,+DAA+D;YAC/D,KAAK,CAAC,6DAA6D,EAAE;gBACnE,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,GAAG,SAAS;iBACrC;aACF,CAAC;iBACC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAClB,CAAC,IAAI,EAAE,EAAE;wBACP,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;4BAC9B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;yBACZ;wBACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;4BAC5B,oCAAoC;yBACrC;oBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,CACF,CAAC;iBACH;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,mBAAmB;QACjB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChE,IAAI,IAAI,IAAI,CAAC,EAAE;wBACb,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACK,aAAa;QACnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C;;;eAGG;YACH,IAAI,CAAC,GAAY,KAAK,CAAC;YACvB,IAAI,CAAC,EAAE;gBACL,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,kDAAkD;gBAC7E,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,CAAC,IAAI,EAAE,EAAE;oBACP,IAAI,IAAI,IAAI,CAAC,EAAE;wBACb,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,EAAE;4BACP,IAAI,IAAI,IAAI,CAAC,EAAE;gCACb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE;oCACP,IAAI,IAAI,IAAI,CAAC,EAAE;wCACb,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;4CACvC,IAAI,IAAI,EAAE;gDACR,IAAI,CAAC,eAAe,EAAE,CAAC;gDACvB,gFAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gDACrC,OAAO,CAAC,IAAI,CAAC,CAAC;6CACf;wCACH,CAAC,CAAC,CAAC;qCACJ;yCAAM;wCACL,uCAAuC;qCACxC;gCACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;oCACN,mCAAmC;gCACrC,CAAC,CACF,CAAC;6BACH;iCAAM;gCACL,sCAAsC;6BACvC;wBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;4BACN,mCAAmC;wBACrC,CAAC,CACF,CAAC;qBACH;yBAAM;wBACL,qCAAqC;qBACtC;gBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;oBACN,mCAAmC;gBACrC,CAAC,CACF,CAAC;aACH;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,qBAAqB;QAC3B,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;OAGG;IACK,iBAAiB;QACvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IACO,QAAQ,CAAC,SAAiB;QAChC,IAAI,KAAK,GAAG,gFAAc,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,IAAI,GAAG,gFAAc,CAAC,eAAe,EAAE,CAAC;QAE5C,gDAAgD;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,4BAA4B;YAC5B,IAAI,KAAK,IAAI,IAAI,IAAI,MAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,IAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,WAAW;qBACb,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;qBACxC,SAAS,EAAE;qBACX,IAAI,CACH,CAAC,GAAQ,EAAE,EAAE,GAAE,CAAC,EAChB,CAAC,QAAa,EAAE,EAAE;oBAChB,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC,CACF,CAAC;aACL;SACF;IACH,CAAC;IACD,UAAU;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO;SACR;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B;;WAEG;QACH,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;YAClD,IAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC3E;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,qBAAqB,GAAG,EAAsB,CAAC;SACjE;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9C,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;SACnE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,EAAsB,CAAC;SAC7D;QAED,yCAAyC;QACzC,wBAAwB;QAExB,+BAA+B;QAC/B,sDAAsD;QACtD,WAAW;QACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI;IACN,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,IAAa;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,eAAwB,IAAI;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QACrC,gFAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,YAAY,EAAE;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACzD,CAAC;YAEF,IAAI,MAAM,IAAI,SAAS,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,KAAK,CAAC;QAE5C,iBAAiB;QACjB,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAsB,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,EAAE,CAAC;QAExC,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,KAAK,CAAC;QAC5C,yDAAyD;QACzD,iCAAiC;QAEjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAsB,CAAC;QAElD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAEtB,gFAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAsB,CAAC;QAChD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;IAChB;;;OAGG;IACK,kBAAkB;QACxB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;YAC9D,IACE,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;gBAC5D,gFAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,EACzC;gBACA,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,GAAG,GAAG,+HAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1D,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC7B,GAAG,CAAC,MAAM;qBACP,IAAI,CACH,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,MAAM,IAAI,UAAU,EAAE;wBACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;yBAAM;wBACL,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;gBACH,CAAC,EACD,CAAC,IAAS,EAAE,EAAE;oBACZ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC9B,CAAC,CACF;qBACA,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC9C,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACzB,OAAO,IAAI,OAAO,CAAU,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACrD,sCAAsC;YACtC,iBAAiB;YACjB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAChD,IACE,IAAI,CAAC,oBAAoB,IAAI,OAAO;gBACpC,IAAI,CAAC,qBAAqB,IAAI,OAAO;gBACrC,IAAI,CAAC,qBAAqB,IAAI,OAAO,EACrC;gBACA,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,CAAC,GAAG,+HAAwB,CAAC,IAAI,CACnC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,oBAAoB,IAAI,MAAM,EACnC,IAAI,CAAC,qBAAqB,IAAI,MAAM,EACpC,IAAI,CAAC,qBAAqB,IAAI,MAAM,CACrC,CAAC;gBACF,CAAC,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;gBACtC,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBAClC,CAAC,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,CAAC,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;gBAE1C,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,CAAC,IAAS,EAAE,EAAE;oBACZ,IAAI,IAAI,IAAI,UAAU,EAAE;wBACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,OAAO,CAAC,KAAK,CAAC,CAAC;qBAChB;yBAAM;wBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;gBACH,CAAC,EACD,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC9C,CAAC,CACF,CAAC;aACH;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAEO,4BAA4B,CAAC,UAAmB,EAAE,KAAa;QACrE,2BAA2B;QAC3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;SACpC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,GAAG,GAAG,uHAAqB,CAAC,IAAI,CAClC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,IAAI,CACL,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8BAA8B,CAAC,SAAuB;;QAC5D,IACE,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO;YACvC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAC5C;YACA,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gBAClC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;YACpD,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,EAAE;gBACrD,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS;oBAC/C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;aACxC;SACF;QAED,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc;YACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;gBAC9D,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,+FAA4B;oBACvE,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC,CAAC;QAER,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;QAE3D,IACE,IAAI,CAAC,QAAQ,CAAC,eAAe;YAC7B,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,SAAS,EAC1C;YACA,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBACjD,QAAQ,EACN,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU;wBACxC,IAAI;wBACJ,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU;oBAC1C,CAAC,OAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,0CAAE,OAAO;gBAC5C,QAAQ,EACN,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU;oBAC1C,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,gFAAc,CAAC,WAAW,EAAE;gBACtC,IAAI,EACF,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI;oBACpC,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,MAAM,CACZ,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACtC,CAAC,CAAC,GAAG,CACR;gBACD,SAAS,EAAE,gFAAc,CAAC,YAAY,EAAE;gBACxC,SAAS,EAAE,MAAM,CACf,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAC5C;gBACD,UAAU,EAAE,MAAM,CAAC,gFAAc,CAAC,aAAa,EAAE,CAAC;gBAClD,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;gBAC5C,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI;gBAC7C,QAAQ,EAAE,EAAE;gBACZ,UAAU,EACR,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU;gBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;gBAC7C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;gBACtD,OAAO,EACL,IAAI,CAAC,QAAQ,CAAC,eAAe,YAAY,0FAAuB;oBAC9D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO;oBACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ;aAC7C,CAAC,CAAC;SACJ;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEa,6BAA6B;;YACzC,OAAO,IAAI,OAAO,CAAM,CAAC,GAAG,EAAE,EAAE;gBAC9B,IAAI,YAAY,GAAG,IAAI,CAAC;gBACxB,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,QAAQ,GAAG,IAAI,CAAC;gBAEpB,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;oBACnC,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;wBACjC,IAAI,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,UAAU,EAAE;4BAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,EAAE;gCACtD,YAAY,GAAG,KAAK,CAAC;6BACtB;iCAAM;gCACL,QAAQ,GAAG,KAAK,CAAC;gCACjB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE;oCACP,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,EAAE;wCACrC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wCAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACzD,CAAC;wCAEF,IAAI,MAAM,IAAI,SAAS,EAAE;4CACvB,kBAAkB;gDAChB,IAAI,CAAC,WAAW,CAAC,qBAAqB;qDACnC,kBAAkB;oDACrB,YAAY;oDACZ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;yCACzB;6CAAM;4CACL,kBAAkB;gDAChB,IAAI,CAAC,WAAW,CAAC,qBAAqB;qDACnC,kBAAkB,GAAG,YAAY,CAAC;yCACxC;qCACF;oCAED,GAAG,CAAC;wCACF,YAAY,EAAE,YAAY;wCAC1B,YAAY,EAAE,YAAY;wCAC1B,kBAAkB,EAAE,kBAAkB;wCACtC,UAAU,EAAE,UAAU;qCACvB,CAAC,CAAC;gCACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oCACR,GAAG,CAAC;wCACF,YAAY,EAAE,YAAY;wCAC1B,YAAY,EAAE,YAAY;wCAC1B,kBAAkB,EAAE,kBAAkB;wCACtC,UAAU,EAAE,UAAU;qCACvB,CAAC,CAAC;gCACL,CAAC,CACF,CAAC;6BACH;yBACF;6BAAM;4BACL,YAAY,GAAG,KAAK,CAAC;yBACtB;qBACF;oBAED,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC;iBACrE;qBAAM;oBACL,YAAY,GAAG,KAAK,CAAC;iBACtB;gBAED,IAAI,QAAQ,EAAE;oBACZ,GAAG,CAAC;wBACF,YAAY,EAAE,YAAY;wBAC1B,YAAY,EAAE,YAAY;wBAC1B,kBAAkB,EAAE,kBAAkB;wBACtC,UAAU,EAAE,UAAU;qBACvB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,eAAe,CAAC,SAAuB;;YACnD,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,eAAe,EACf;8BACsB,SAAS;OAChC,EACC,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,KAAK,CACN,CACF,CAAC;YAEF,SAAS,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC5D,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC;YAExE,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3D,wFAAwF;YACxF,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,gFAAc,CAAC,qBAAqB,EAAE,CAAC;YAE5E,IAAI,CAAC,WAAW;iBACb,eAAe,EAAE;iBACjB,IAAI,CAAC,8DAAO,CAAC,IAAI,CAAC,CAAC;iBACnB,SAAS,EAAE;iBACX,IAAI,CACH,CAAC,IAAI,EAAE,EAAE,GAAE,CAAC,EACZ,CAAO,KAAK,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;gBACrE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC,EACF,CAAC;YAEJ,MAAM,IAAI,CAAC,WAAW;iBACnB,gBAAgB,CAAC,SAAS,CAAC;iBAC3B,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,QAAQ,CAAC,EAAE,EAAE;oBACf,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC5B,IAAI,OAAO,GAAG,IAAkB,CAAC;wBAEjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAE7B,kDAAkD;wBAClD,yBAAyB;wBACzB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;4BAC/B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc;gCACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAC9B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc;gCACpC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;yBAC/B;wBAED,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC7D,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;wBACpC,IAAI;4BACF,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,4DAA4D,EAC5D,4CAA4C;gCAC1C,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,EACzC,cAAc,EACd,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAC3C,KAAK,CACN,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;yBAClC;wBAAC,OAAO,CAAM,EAAE;4BACf,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gCAC9B,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,wDAAwD,EACxD,2CAA2C;oCACzC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,EACzC,oBAAoB,EACpB,6DAA6D,CAAC,CAAC,OAAO,EAAE,EACxE,KAAK,CACN,CAAC;gCACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BAClC;iCAAM;gCACL,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,wDAAwD,EACxD,2CAA2C;oCACzC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,EACzC,oBAAoB,EACpB,qEAAqE,CAAC,EAAE,EACxE,KAAK,CACN,CAAC;gCACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BAClC;yBACF;oBACH,CAAC,CAAC,CAAC;oBAEH,CAAC,GAAS,EAAE,CAAC;;wBACX,IAAI;4BACF,gFAAc,CAAC,gBAAgB,EAAE,CAAC;4BAClC,gFAAc,CAAC,wBAAwB,EAAE,CAAC;4BAC1C,gFAAc,CAAC,uBAAuB,EAAE,CAAC;4BACzC,gFAAc,CAAC,yBAAyB,EAAE,CAAC;4BAC3C,gFAAc,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;4BAE5C,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;4BAErC,IAAI,IAAI,GAAG,oJAA8B,CAAC,IAAI,CAC5C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,gBAAgB,CACtB,CAAC;4BAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACzB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,IAAI,GAAG;4BACpC,MAAM,wEAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAElC,IAAI,UAAU,GACZ,gFAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE;gCACvC,CAAC,CAAC,MAAM,CAAC,gFAAc,CAAC,kBAAkB,EAAE,CAAC;gCAC7C,CAAC,CAAC,gFAAc,CAAC,iBAAiB,EAAE,CAAC;4BAEzC,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;4BAErC,kHAAsB,CAAC,IAAI,CACzB,IAAI,CAAC,YAAY,EACjB,UAAU,EACV,UAAU,EACV,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CACpC,CAAC;yBACH;wBAAC,OAAO,EAAE,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;4BAC5D,mBAAmB;yBACpB;oBACH,CAAC,EAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;iBAC/D;qBAAM;oBACL,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAEnD,MAAM,GAAG,GAAG,IAAI,yEAAW,CACzB,oBAAoB,EACpB,oDAAoD;wBAClD,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,EACzC,cAAc,EACd,QAAQ,EACR,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBAEjC,gFAAc,CAAC,gBAAgB,EAAE,CAAC;oBAClC,gFAAc,CAAC,wBAAwB,EAAE,CAAC;oBAC1C,gFAAc,CAAC,uBAAuB,EAAE,CAAC;oBACzC,gFAAc,CAAC,yBAAyB,EAAE,CAAC;iBAC5C;gBAED,yGAAyG;gBACzG,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,GAAG,CAAC,aAAa;oBACtB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAC3B;oBACA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAC3C;gBAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAEnD,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,eAAe,EACf;oCACsB,SAAS;aAChC,EACC,oBAAoB,EACpB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,KAAK,CACN,CACF,CAAC;gBAEF,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,GAAG,CAAC,aAAa;oBACtB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAC3B;oBACA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAC3C;gBAED,gFAAc,CAAC,gBAAgB,EAAE,CAAC;gBAClC,gFAAc,CAAC,wBAAwB,EAAE,CAAC;gBAC1C,gFAAc,CAAC,uBAAuB,EAAE,CAAC;gBACzC,gFAAc,CAAC,yBAAyB,EAAE,CAAC;YAC7C,CAAC,CACF;iBACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IACa,iBAAiB,CAAC,SAAuB;;YACrD,gEAAgE;YAChE,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;gBACpC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBACtE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa;oBACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;gBACrC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa;oBACpC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,+CAA+C;gBACpF,gFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAEtE,sEAAsE;gBACtE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG;oBACjD,qBAAqB,EAAE,CAAC;oBACxB,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa;oBACjD,OAAO,EAAE,CAAC;oBACV,cAAc,EAAE,gFAAc,CAAC,iBAAiB,EAAE;iBACnD,CAAC;aACH;YAED,2DAA2D;YAC3D,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;gBACpE,+DAA+D;gBAE/D,IAAI,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,UAAU,EAAE;oBAC9C,IACE,IAAI,CAAC,cAAc,CAAC,gBAAgB;wBACpC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,EAClD;wBACA,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe;4BACtC,IAAI,CAAC,cAAc,CAAC,gBAAiB,CAAC,MAAM,CAAC;wBAE/C,sBAAsB;wBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACzD,CAAC;wBAEF,IAAI,MAAM,IAAI,SAAS,EAAE;4BACvB,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;4BAC3D,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe;gCACtC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;4BAC5B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;yBAC5C;wBACD,iEAAiE;qBAClE;iBACF;aACF;YAED,+BAA+B;YAC/B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;KAAA;IAEa,YAAY,CAAC,SAAuB;;YAChD,8DAA8D;YAC9D,uBAAuB;YACvB,SAAS;YACT,uBAAuB;YAEvB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,gFAAc,CAAC,eAAe,EAAE,CAAC;YACtD,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACxE,MAAM,aAAa,GACjB,gFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;gBACrC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,gFAAc,CAAC,gBAAgB,EAAE,CAAC;YAExC,gEAAgE;YAChE,qBAAqB;YACrB,0CAA0C;YAC1C,aAAa;YAEb,IAAI,IAAI,GAAW,EAAE,CAAC;YAEtB,IACE,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,SAAS;gBACzC,IAAI,CAAC,WAAW,CAAC,cAAc;gBAC/B,IAAI,CAAC,WAAW,CAAC,qBAAqB;gBACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,EACjE;gBACA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC;aACzD;iBAAM,IACL,IAAI,CAAC,WAAW,IAAI,wEAAW,CAAC,YAAY;gBAC5C,IAAI,CAAC,WAAW,CAAC,cAAc;gBAC/B,IAAI,CAAC,WAAW,CAAC,iBAAiB;gBAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAC7D;gBACA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC;aACrD;YAED,IAAI,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAC9C,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EACtC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EACnC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EACnC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EACjC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,EACtC,IAAI,CACL,CAAC;YACF,gBAAgB,CAAC,IAAI,CACnB,CAAC,IAAiB,EAAE,EAAE;;gBACpB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAEzB,IAAI;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,uBAAuB,EACvB;sCACwB,cAAc,EAAE,EACxC,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EACjC,KAAK,CACN,CACF,CAAC;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,yEAAW,CACb,uBAAuB,EACvB;sCACwB,cAAc,EAAE,EACxC,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,EAC3C,KAAK,CACN,CACF,CAAC;iBACH;gBAED,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBAErC,yBAAyB;gBACzB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;oBAC/B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;iBACvE;gBAED,IACE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;oBACnC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE;oBACxC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,EACzC;oBACA,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;oBACrC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,6CAA6C,CAC9C,CAAC;oBACF,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7C,qCAAqC,CACtC,CAAC;oBACF,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;oBAC1D,IAAI,IAAI,GAAG,4HAAsB,CAAC,IAAI,CACpC,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,YAAY,EACZ,MAAM,EACN,IAAI,CACL,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACpB,kCAAkC;oBACpC,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,kCAAkC;iBACnC;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;;gBACR,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;gBACrC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACpC,6CAA6C,CAC9C,CAAC;gBACF,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC7C,qCAAqC,CACtC,CAAC;gBACF,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;gBAC1D,IAAI,IAAI,GAAG,4HAAsB,CAAC,IAAI,CACpC,IAAI,CAAC,YAAY,EACjB,GAAG,EACH,YAAY,EACZ,MAAM,EACN,IAAI,CACL,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACpB,kCAAkC;gBACpC,CAAC,CAAC,CAAC;gBAEH,kCAAkC;YACpC,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IAED;;;OAGG;IACK,kBAAkB;QACxB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,KAAK,GAAG,sHAAqB,CAAC,IAAI,CACpC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,gBAAgB,CACtB,CAAC;YACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,MAAW,EAAE,EAAE,CAAC;gBACvC,IAAI,MAAM,IAAI,aAAa,EAAE;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACxC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAE7C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;4BAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;yBAChB;6BAAM;4BACL,OAAO,CAAC,KAAK,CAAC,CAAC;yBAChB;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;iBACtC;YACH,CAAC,EAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gBAAgB;QACd,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,OAAO;SACR;QAED,IAAI,GAAG,GAAG,kHAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,CAAC,IAAY,EAAE,EAAE;YACf,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI;oBACF,MAAM,GAAG,GAAG,IAAI,yEAAW,CACzB,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,EAC/C,KAAK,CACN,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAClC;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;wBAC9B,MAAM,GAAG,GAAG,IAAI,yEAAW,CACzB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,sEAAsE,CAAC,CAAC,OAAO,EAAE,EACjF,KAAK,CACN,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;qBAClC;yBAAM;wBACL,MAAM,GAAG,GAAG,IAAI,yEAAW,CACzB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,8EAA8E,CAAC,EAAE,EACjF,KAAK,CACN,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;qBAClC;iBACF;gBAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,EAAmB,CAAC;gBACxD,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,IAAI,gFAAc,CAAC,sBAAsB,EAAE,IAAI,MAAM,EAAE;oBACrD,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC;iBAC3C;gBAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;aAC5C;QACH,CAAC,EACD,CAAC,MAAW,EAAE,EAAE;YACd,4BAA4B;QAC9B,CAAC,CACF,CAAC;IACJ,CAAC;IACO,iBAAiB;QACvB,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,gFAAc,CAAC,+BAA+B,EAAE,IAAI,MAAM,EAAE;gBAC9D,IAAI,KAAK,GAAG,8JAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEtE,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,CAAC,GAAQ,EAAE,EAAE;oBACX,IAAI,CAAC,gBAAgB,GAAG,GAAG,IAAI,KAAK,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,EACD,CAAC,MAAW,EAAE,EAAE;oBACd,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CACF,CAAC;aACH;YACD,8DAA8D;iBACzD;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,gBAAgB;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wGAAgB,EAAE;YACnD,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,aAAa,GAAG,GAAG,CAAC;IAC5C,CAAC;IACD;;;OAGG;IACK,kBAAkB;QACxB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;gBAChC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,eAAe,EAAE;oBAC9C,IAAI,CAAC,gBAAgB;yBAClB,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;yBACzD,SAAS,EAAE;yBACX,IAAI,CACH,CAAC,GAAG,EAAE,EAAE;wBACN,iCAAiC;wBACjC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;wBACxC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;4BACtC,mCAAmC;4BACnC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;gCAC3D,IAAI,KAAK,GAAG,oJAA8B,CAAC,IAAI,CAC7C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,iBAAiB,EACjC,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAC;gCAEF,IAAI,CAAC,EAAE,CAAC,0BAA0B;oCAChC,KAAK,CAAC,iBAAmD,CAAC;gCAE5D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oCAChC,IAAI,MAAM,KAAK,UAAU,EAAE;wCACzB,IAAI,CAAC,gBAAgB;6CAClB,aAAa,CACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,eAAe,EACpB,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CACrB;6CACA,SAAS,EAAE;6CACX,IAAI,CACH,CAAO,IAAI,EAAE,EAAE,CAAC;4CACd,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gDACvC,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gDAChD,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gDAExC,mIAAyB,CAAC,IAAI,CAC5B,IAAI,CAAC,YAAY,CAClB,CAAC;gDACF,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gDAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;6CACf;iDAAM;gDACL,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gDACxC,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,8BAA8B,EAC9B,iBAAiB,EACjB,gCAAgC,IAAI,CAAC,KAAK,CACxC,IAAI,CACL,EAAE,EACH,IAAI,CACL,CAAC;gDACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gDAEjC,6HAAuB,CAAC,IAAI,CAC1B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CACzB,CAAC;gDAEF,MAAM,CAAC,MAAM,CAAC,CAAC;6CAChB;wCACH,CAAC,GACD,CAAC,GAAG,EAAE,EAAE;4CACN,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;4CACxC,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,8BAA8B,EAC9B,iBAAiB,EACjB,gCAAgC,GAAG,EAAE,EACrC,IAAI,CACL,CAAC;4CACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;4CACjC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,8BAA8B,CAC/B,CAAC;4CACF,uHAAqB,CAAC,IAAI,CACxB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,KAAK,EACL,KAAK,CACN,CAAC;wCACJ,CAAC,CACF,CAAC;qCACL;gCACH,CAAC,CAAC,CAAC;gCAEH,6BAA6B;6BAC9B;iCAAM,IAAI,KAAK,KAAK,SAAS,EAAE;gCAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BACnC;iCAAM;gCACL,8IAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;6BACtD;yBACF;oBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;wBACxC,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,sCAAsC,EACtC,iBAAiB,EACjB,gCAAgC,GAAG,EAAE,EACrC,IAAI,CACL,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBACjC,uDAAuD;wBACvD,MAAM,CAAC,MAAM,CAAC,CAAC;oBACjB,CAAC,CACF,CAAC;iBACL;YACH,CAAC,CAAC;YAEF,uDAAuD;YACvD,IAAI,CAAC,gBAAgB;iBAClB,uBAAuB,EAAE;iBACzB,SAAS,EAAE;iBACX,IAAI,CACH,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,4BAA4B;oBAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,gBAAgB;yBAClB,kBAAkB,CAAC,gFAAc,CAAC,WAAW,EAAE,CAAC;yBAChD,SAAS,EAAE;yBACX,IAAI,CACH,CAAC,MAAM,EAAE,EAAE;wBACT,IAAI,MAAM,KAAK,EAAE,EAAE;4BACjB,uDAAuD;4BAEvD,IAAI,CAAC,EAAE,CAAC,sBAAsB;gCAC5B,0HAAsB,CAAC,IAAI,CACzB,IAAI,CAAC,YAAY,EACjB,GAAG,EACH,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;oCAC3B,gFAAc,CAAC,oBAAoB,EAAE,IAAI,MAAM,CAClD,CAAC;4BAEJ,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CACxC,CAAC,KAAU,EAAE,EAAE;gCACb,IAAI,KAAK,KAAK,QAAQ,EAAE;oCACtB,IAAI,WAAW,GAAG,aAAa,CAAC;oCAChC,IAAI,OAAO,GAAG;wCACZ,WAAW,EAAE,WAAW;qCACzB,CAAC;oCACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oCACtC,MAAM,CAAC,KAAK,CAAC,CAAC;iCACf;4BACH,CAAC,CACF,CAAC;4BAEF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;4BAC9B,IAAI,WAAW,GAAG,cAAc,CAAC;4BACjC,IAAI,OAAO,GAAG;gCACZ,WAAW,EAAE,WAAW;6BACzB,CAAC;4BACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;yBACvC;6BAAM;4BACL,sDAAsD;4BACtD,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,oDAAoD,EACpD,iBAAiB,EACjB,0DAA0D,EAC1D,IAAI,CACL,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;4BACjC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;4BACxC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,uBAAuB,CACxB,CAAC;4BACF,6HAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;yBACxD;oBACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;wBACN,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,6DAA6D,EAC7D,iBAAiB,EACjB,gCAAgC,GAAG,EAAE,EACrC,IAAI,CACL,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBACjC,OAAO,CAAC,GAAG,CACT,8CAA8C,EAC9C,GAAG,CACJ,CAAC;wBACF,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;wBACxC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACf,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,uBAAuB,CACxB,CAAC;wBACF,6HAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBACzD,CAAC,CACF,CAAC;iBACL;qBAAM;oBACL,sDAAsD;oBACtD,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,8DAA8D,EAC9D,iBAAiB,EACjB,iEAAiE,EACjE,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;oBACxC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACf,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;oBAClE,6HAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;iBACxD;YACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,iBAAiB,EACjB,8DAA8D,EAC9D,iBAAiB,EACjB,kDAAkD,EAClD,IAAI,CACL,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACxC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACf,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;gBAClE,6HAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;QACH,gCAAgC;IAClC,CAAC;IACO,eAAe;QACrB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,uDAAuD;YACvD,IAAI,CAAC,EAAE,CAAC,sBAAsB,GAAG,2HAA2B,CAAC,IAAI,CAC/D,IAAI,CAAC,YAAY,EACjB,GAAG,CACJ,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAExD,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM;iBAClC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBACnB,IAAI,KAAK,KAAK,QAAQ,EAAE;oBACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACzC,gFAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC/B,gFAAc,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;qBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE;oBAC/C,OAAO,CACL,IAAI,CAAC,oBAAoB,CACvB,KAAK,CAAC,IAAI,EACV,yEAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC/B,CACF,CAAC;iBACH;YACH,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBACzD,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,gCAAgC;IAClC,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,uDAAuD;YACvD,IAAI,CAAC,EAAE,CAAC,sBAAsB,GAAG,0HAAsB,CAAC,IAAI,CAC1D,IAAI,CAAC,YAAY,EACjB,GAAG,CACJ,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBACxD,IAAI,KAAK,KAAK,QAAQ,EAAE;oBACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,gFAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC/B,gFAAc,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;qBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE;oBAC/C,OAAO,CACL,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,yEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CACpE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,gCAAgC;IAClC,CAAC;IACD,oBAAoB,CAClB,QAAgB,EAChB,WAAmB;QAEnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;YAExC,IAAI,KAAK,GAAG,oJAA8B,CAAC,IAAI,CAC7C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,KAAK,EACV,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,0BAA0B;gBAChC,KAAK,CAAC,iBAAmD,CAAC;YAE5D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBAC/B,IAAI,KAAK,KAAK,UAAU,EAAE;oBACxB,yBAAyB;oBACzB,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;wBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC,CAAC,CAAC;iBACJ;qBAAM,IAAI,KAAK,IAAI,QAAQ,EAAE;oBAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACzC,gFAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC/B,gFAAc,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC;YAElD,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,SAAS,CACtD,CAAC,IAAS,EAAE,EAAE;;gBACZ;;mBAEG;gBACH,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,GAAG,EAAE;oBAClC,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,WAAW,GAAG;oBAElD,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,OAAO,CAAC,IAAI,EAAE;oBAElD,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBAC/B,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;qBAClD;oBACD,IACE,IAAI,CAAC,IAAI,CAAC,iBAAiB;wBAC3B,IAAI,CAAC,IAAI,CAAC,YAAY;wBACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;4BACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAChC;wBACA,6CAA6C;wBAC7C,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,KAAK,CAAC,EAAE,EAAE;wBAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;wBACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,uBAAuB,CACxB,CAAC;wBACF,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;qBAChE;yBAAM,IACL,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE;wBAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,EACnC;wBACA,kBAAkB;wBAClB,gFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACnD,gFAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/C,gFAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC/C,gFAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;qBAC9C;yBAAM,IACL,IAAI,CAAC,IAAI,CAAC,YAAY;wBACtB,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAC3C;wBACA,iBAAiB;wBACjB,gFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACnD,gFAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/C,gFAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAChD;yBAAM,IACL,IAAI,CAAC,IAAI,CAAC,iBAAiB;wBAC3B,IAAI,CAAC,IAAI,CAAC,YAAY;wBACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;wBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;wBACnC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1C;wBACA,IAAI,cAAc,GAChB,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;wBACzD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;6BACzB,cAAc,CAAC,2BAA2B,CAAC;6BAC3C,OAAO,CACN,IAAI,EACJ,gFAAc,CAAC,iBAAiB,EAAE;4BAChC,GAAG;4BACH,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5B,CAAC;wBAEJ,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,KAAK,CAAC,EAAE,EAAE;wBAE9C,qGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;qBAChE;iBACF;qBAAM;oBACL,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,WAAW,GAAG;oBAElD,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,KAAK,CAAC,EAAE,EAAE;oBAE9C,IAAI,CAAC,EAAE,CAAC,6BAA6B;wBACnC,+JAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAElE,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAC/C,CAAC,KAAU,EAAE,EAAE;wBACb,IAAI,KAAK,KAAK,UAAU,EAAE;4BACxB,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;4BAC/C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;4BACzC,IAAI,CAAC,eAAe,EAAE,CAAC;4BACvB,yBAAyB;yBAC1B;oBACH,CAAC,CACF,CAAC;iBACH;YACH,CAAC,EACD,CAAC,QAAa,EAAE,EAAE;;gBAChB,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,WAAW,GAAG;gBAElD,UAAI,CAAC,EAAE,CAAC,0BAA0B,0CAAE,KAAK,CAAC,EAAE,EAAE;gBAE9C,IAAI,CAAC,EAAE,CAAC,6BAA6B;oBACnC,+JAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAElE,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;oBAC/D,IAAI,KAAK,KAAK,UAAU,EAAE;wBACxB,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;wBAC/C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,gFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBACzC,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,yBAAyB;qBAC1B;gBACH,CAAC,CAAC,CAAC;gBACH,gFAAgF;gBAEhF,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,8BAA8B,EAC9B,4CAA4C,EAC5C,OAAO,EACP,iCAAiC,QAAQ,EAAE,EAC3C,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,OAAO,QAAQ,CAAC;SACjB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;oGA9uIU,0BAA0B;0GAA1B,0BAA0B;kEAqC1B,uGAAqB;kEAErB,6HAA2B;kEAG3B,4EAAgB;;;;;;;QC5K3B,4EAA4B;QAC5B,yEAAiB;QACf,yEAAyC;QACvC,wHAuEM;QACR,4DAAM;QACN,yEAAmC;QACjC,yEAA8C;QAC5C,yEAAyC;QACvC,4EAMI;QANc,kJAAS,gBAAY,IAAC;QAOtC,uDACF;;QAAA,4DAAS;QACT,6EAGK;QAHG,mJAAS,sBAAkB,IAAC;QAIlC,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACN,0EAAoD;QAClD,8EAeC;QANwC,mKAAiB,uBAAmB,IAAC;QAM5E,wDACF;;QAAA,4DAAS;QASX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAS;QACT,2EAA2B;QAEzB,qFAAyD;QAEzD,8EAA2C;QAE3C,6FAAyE;QAE3E,4DAAM;;QAjIO,0DAAiC;QAAjC,iGAAiC;QAiFlC,0DACF;QADE,gKACF;QACgF,0DAG5E;QAH4E,uLAG5E;QACF,0DACF;QADE,kKACF;QAGuC,0DASpC;QAToC,0VASpC;QAA4E,6EAAoB;QAMjG,0DACF;QADE,iNACF;QAgBY,0DAAe;QAAf,wEAAe;QAEtB,0DAAe;QAAf,wEAAe;QAEA,0DAAe;QAAf,wEAAe;;;;;;;;;;;;;;;;;;;;AC5HtC,MAAM,mBAAmB;IAK9B,YAAoB,YAAsB;QAAtB,iBAAY,GAAZ,YAAY,CAAU;QAH1C,UAAK,GAAW,EAAE,CAAC;IAG2B,CAAC;IAE/C,QAAQ;IACR,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACrD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;;sFArBU,mBAAmB;mGAAnB,mBAAmB;QCRhC,yEAAkB;QAChB,uEAA0C;QAAvC,sIAAS,WAAO,IAAC;QAAsB,4DAAI;QAC9C,oEAAgC;QAClC,4DAAM;;QADC,0DAAiB;QAAjB,kJAAiB;;;;;;;;;;;;;;ACFxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;;;;;;AAWtE,MAAM,qBAAqB;IAehC,YAAoB,YAAsB,EAAU,QAAwB;QAAxD,iBAAY,GAAZ,YAAY,CAAU;QAAU,aAAQ,GAAR,QAAQ,CAAgB;QAX5E,8BAA8B;QAC9B,iBAAY,GAAa,EAAE,CAAC;QAC5B,iBAAY,GAAa,EAAE,CAAC;QAE5B,cAAS,GAAQ,EAAE;QACnB,cAAS,GAAQ,EAAE;QACnB,iBAAY,GAAQ,EAAE;QACtB,wBAAmB,GAAQ,EAAE;IAImD,CAAC;IACjF,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;QACpD,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,IAAE,CAAC,EAAC,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAC,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QACnI,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAE;IACrJ,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,YAAsB,EAAE,YAAsB;QACjD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACvD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE;QACf,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,SAAS,CAAC,CAAS;QACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;;0FApDU,qBAAqB;qGAArB,qBAAqB;kEAarB,sFAAmB;;;;;QCxBhC,yEAAkB;QAChB,uEAAkB;QAAA,uDAAa;QAAA,4DAAI;QACnC,uEAAmB;QAAA,uDAAuB;QAAA,4DAAI;QAI9C,yEAAqB;QACnB,4EAA0B;QAAlB,6IAAS,WAAO,IAAC;QAAC,uDAAuB;;QAAA,4DAAS;QAAA,4EAA6B;QAArB,6IAAS,cAAU,IAAC;QAAC,wDAA0B;;QAAA,4DAAS;QAC5H,4DAAM;QACR,4DAAM;QAEN,0EAA4B;QAC1B,8EAAmC;QACrC,4DAAM;;QAZc,0DAAa;QAAb,8EAAa;QACZ,0DAAuB;QAAvB,wFAAuB;QAKd,0DAAuB;QAAvB,+IAAuB;QAAsC,0DAA0B;QAA1B,mJAA0B;;;;;;;;;;;;;;ACJrH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;;;;AAQlE,MAAM,mBAAmB;IAO9B,YAAoB,YAAsB,EAAS,QAAwB;QAAvD,iBAAY,GAAZ,YAAY,CAAU;QAAS,aAAQ,GAAR,QAAQ,CAAgB;QAN3E,4BAAuB,GAAkB,EAAE,CAAC;QAC5C,aAAQ,GAAW,EAAE,CAAC;QAGtB,aAAQ,GAAQ,EAAE;QAClB,cAAS,GAAQ,EAAE;IAC2D,CAAC;IAC/E,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;IACtD,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,sFAAc,CAAC,oBAAoB,EAAE;IACtE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB,EAAC,QAAwB,EAAE,SAAiB;QACnF,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,SAAS,KAAK,CAAC,EAAE;YACnB,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,sCAAsC,CAAC;SAC3E;aAAM;YACL,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;SAC5D;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAEjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,IAAI,SAAS,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sCAAsC,CAAC;SACrF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;SACtE;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;;sFAxDU,mBAAmB;mGAAnB,mBAAmB;QCXhC,yEAAyC;QAAlB,wIAAS,WAAO,IAAC;QACtC,yEAA2C;QACzC,yEAAqB;QACnB,qEAAI;QAAA,uDAAY;QAAA,4DAAK;QACrB,wEAAwB;QACtB,uDACF;QAAA,4DAAK;QACL,4EAAkJ;QAAA,uDAAa;QAAA,4DAAS;QAC1K,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAPI,0DAAY;QAAZ,6EAAY;QAEd,0DACF;QADE,wFACF;QACkJ,0DAAa;QAAb,8EAAa;;;;;;;;;;;;;;ACPrK;AAAA;AAAA,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,6CAAQ;IACR,uDAAa;IACb,yDAAc;IACd,mDAAW;IACX,6DAAgB;AAClB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAA;AAA6C;;;AAKtC,MAAM,eAAe;IAW1B,YAAY,WAAwB;QAPpC,cAAS,GAAgB,EAAE,CAAC;QAI5B,kBAAa,GAAY,KAAK,CAAC;QAC/B,gBAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,cAAS,GAAW,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAEtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;oBACpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;aAEJ;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,gBAAgB;QACd,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;gBAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;oBACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;iBACpB;gBAED,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAEjF,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAErH,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE5F,IAAI,CAAC,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBAE/D,IAAG,gBAAgB,IAAI,gBAAgB,IAAI,SAAS,IAAI,gBAAgB,CAAC,MAAM,GAAE,CAAC,EAAC;oBACjF,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAG,CAAC,EAAE,EAAC;wBAC/C,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC3C,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC7C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;4BAChF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;4BAC3B,MAAM;yBACP;6BAAM;4BACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;yBAC3B;qBACF;iBACF;qBAAK;oBACJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC3B;aACF;iBAAK;gBACJ,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;YACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;;8EAxEU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKb,MAAM,kBAAkB;IAC7B,YACU,OAA4B,EAC5B,KAAwB,EACxB,MAAc,EACd,SAA2B;QAH3B,YAAO,GAAP,OAAO,CAAqB;QAC5B,UAAK,GAAL,KAAK,CAAmB;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAkB;IACjC,CAAC;IAEL,WAAW,CAAC,OAAe;QACzB,OAAO,IAAI,OAAO,CAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,OAAO,IAAI,CAAC,EAAE;gBAChB,GAAG,CAAC,KAAK,CAAC,CAAC;gBACX,OAAO;aACR;YACD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAO,MAAe,EAAE,EAAE,CAAC;oBAClD,IAAI,MAAM,EAAE;wBACV,GAAG,CAAC,IAAI,CAAC,CAAC;qBACX;yBAAM;wBACL,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;wBACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;4BACtC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACZ,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,EAAC,CAAC;YACL,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CACtB,CAAO,MAAe,EAAE,EAAE,CAAC;gBACzB,IAAI,MAAM,EAAE;oBACV,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC7C,IAAI,KAAK,EAAE;wBACT,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACvB;iBACF;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;iBACzB;YACH,CAAC,EACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;oFAhDU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;ACVyB;AAEc;AAID;AACI;;;;AAMvD,MAAM,UAAU;IAQrB,YAA6B,IAAgB,EAAmB,cAA8B;QAAjE,SAAI,GAAJ,IAAI,CAAY;QAAmB,mBAAc,GAAd,cAAc,CAAgB;QANtF,YAAO,GAAW,wEAAW,CAAC,MAAM,CAAC;QAErC,cAAS,GAAW,UAAU,CAAC;QAC/B,iBAAY,GAAU,sBAAsB,CAAC;QACrD,mBAAc,GAAU,EAAE,CAAC;QAGzB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IACD,IAAI;QACF,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,yJAAyJ;gBACzJ,IAAI;oBACF,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;oBACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAa,EAAE,EAAE;wBACrC,IAAI,CAAC,IAAI,EAAE;4BACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC7B;oBACH,CAAC,CAAC,CAAC;iBACJ;gBAAC,OAAO,CAAM,EAAE,GAAG;aACrB;QACH,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,QAAa;QACnB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,OAAO,GAAG,EAAoB,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,kBAAkB;aACV,CAAC,CAAC;YACnB,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;iBAChE,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;iBACrC,SAAS,CAAC,MAAM,CAAC;iBACjB,SAAS,CAAC,OAAO,CAAC;iBAClB,OAAO,CAAC,QAAQ,CAAC;iBACjB,IAAI,EAAE;iBACN,SAAS,EAAE;iBACX,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;gBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;;OAKG;IACH,eAAe,CAAC,IAAiB,EAAE,UAAmB,KAAK;QACzD,IAAI;YACF,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,MAAM,IAAI,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;gBACrE,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;aAC1C;YAED,MAAM,OAAO,GAAG,EAAoB,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAkB,CAAC,CAAC;YAEjF,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,wEAAW,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG;gBAC3C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;gBACxD,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,UAAU;gBACrD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,UAAU,EAAE,eAAe;gBAC3B,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE;gBACnC,GAAG,EAAE,sEAAc,CAAC,aAAa,EAAE;gBACnC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aAChD,CAAC;YACF,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;qBAChE,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;qBACrC,SAAS,CAAC,MAAM,CAAC;qBACjB,SAAS,CAAC,OAAO,CAAC;qBAClB,OAAO,CAAC,IAAI,CAAC;qBACb,IAAI,EAAE;qBACN,SAAS,EAAE;qBACX,IAAI,CAAC,GAAG,EAAE;oBACT,yCAAyC;gBAC3C,CAAC,CAAC,CAAC;aACN;SACF;QACD,OAAO,CAAC,EAAE,GAAG;IACf,CAAC;IAEO,eAAe;QACrB,MAAM,KAAK,GAAG,SAAS,GAAG,sEAAc,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QAC9D,MAAM,UAAU,GAAG,eAAe,GAAG,wEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAChE,MAAM,UAAU,GAAG,eAAe,GAAG,sEAAc,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;QAC3E,MAAM,WAAW,GAAG,uBAAuB,GAAG,sEAAc,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG,sEAAc,CAAC,cAAc,EAAE,GAAG,GAAG,GAAG,sEAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;QAClK,MAAM,EAAE,GAAG,MAAM,GAAG,sEAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;QACzD,MAAM,QAAQ,GAAG,YAAY,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC;QAClD,MAAM,aAAa,GAAG,oBAAoB,GAAG,sEAAc,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,sEAAc,CAAC,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;QAC7H,MAAM,IAAI,GAAG,QAAQ,CAAC;QAEtB,MAAM,YAAY,GAAG,KAAK;YACxB,UAAU;YACV,UAAU;YACV,WAAW;YACX,EAAE;YACF,QAAQ;YACR,aAAa;YACb,IAAI,CAAC;QAEP,OAAO,YAAY,CAAC;IACtB,CAAC;IAGY,kBAAkB,CAAC,QAAiB;;YAC/C,IAAI,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACpE,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,sEAAc,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7D,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3D,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,sEAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3D,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,GAAG,GAAG;gBACN;oBACA,aAAa,EAAE,sEAAc,CAAC,gBAAgB,EAAE;oBAChD,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE,WAAW;iBACtB;aACJ,CAAC;YAEF,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,cAAc,GAAG;gBACjB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,GAAG;gBACT,QAAQ,EAAE,QAAQ;aACrB,CAAC;YAEF,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,EACvD,cAAqB,CACxB,CAAC;QACJ,CAAC;KAAA;;oEA3JU,UAAU;6FAAV,UAAU,WAAV,UAAU,mBAFT,MAAM;AAiKpB;;GAEG;AACI,MAAM,WAAW;IAatB,YACE,KAAa,EACb,WAAmB,EACnB,GAAW,EACX,UAAe,EACf,WAAoB,EACpB,aAAsB,KAAK;QAlB7B,UAAK,GAAW,EAAE,CAAC;QACnB,gBAAW,GAAW,EAAE,CAAC;QACzB,QAAG,GAAW,EAAE,CAAC;QACjB,eAAU,GAAW,EAAE,CAAC;QACxB,gBAAW,GAAY,IAAI,CAAC;QAC5B,aAAQ,GAAW,EAAE,CAAC;QACtB,cAAS,GAAW,EAAE,CAAC;QACvB,gBAAW,GAAW,EAAE,CAAC;QACzB,6BAAwB,GAAW,CAAC;QACpC,kBAAa,GAAW,EAAE,CAAC;QAC3B,eAAU,GAAY,KAAK,CAAC;QAU1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,qCAAqC;QACrC,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,sEAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,kEAAU,CAAC,WAAW,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,wBAAwB,GAAG,WAAW,CAAC;IAC9C,CAAC;CACF;;;;;;;;;;;;;ACjND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACU;AAEe;AAGkC;AAC5B;;;;;;AAMxE,MAAM,yBAAyB;IAIlC,YACmB,YAAsB,EAC/B,WAAuB,EACvB,OAAsB,EACb,WAAwB;QAHxB,iBAAY,GAAZ,YAAY,CAAU;QAC/B,gBAAW,GAAX,WAAW,CAAY;QACvB,YAAO,GAAP,OAAO,CAAe;QACb,gBAAW,GAAX,WAAW,CAAa;QAP3C,mBAAc,GAAG,IAAI,oDAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,2BAAsB,GAAG,IAAI,oDAAe,CAAC,KAAK,CAAC,CAAC;QACpD,gBAAW,GAAQ,CAAC;QAOhB,IAAI,CAAC,WAAW,GAAC,OAAO,CAAC,WAAW;IACxC,CAAC;IAID;;;;;;MAME;IACJ,WAAW,CAAC,WAAkB;QAC5B,IAAI,CAAC,WAAW,GAAC,WAAW;QAC5B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACrC,sFAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACxC,IAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAC;gBACjC,IAAG,IAAI,CAAC,WAAW,IAAE,uEAAW,CAAC,SAAS,IAAE,IAAI,CAAC,WAAW,IAAE,uEAAW,CAAC,YAAY,IAAE,IAAI,CAAC,WAAW,IAAE,uEAAW,CAAC,OAAO,EAAC;oBAC5H,IAAI,GAAG,GAAC,sHAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAC,KAAK,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC1F,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,CAAC,IAAI,EAAE,EAAE;wBACP,IAAI,IAAI,IAAI,SAAS,EAAE;4BACrB,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;4BAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;oCAClC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oCAC1C,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;wCAC7C,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE;4CACP,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,EAAE,CAAC;4CACxC,IAAI,CAAC,OAAO,CAAC,2BAA2B,GAAG,EAAE,CAAC;4CAC9C,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,EAAE,CAAC;4CACxC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4CAC/C,OAAO,CAAC,CAAC,CAAC,CAAC;wCACb,CAAC,EACD,GAAG,EAAE;4CACH,OAAO,CAAC,CAAC,CAAC,CAAC;wCACb,CAAC,CAAC;qCACL;yCAAM;wCACL,6BAA6B;wCAC7B,4EAA4E;wCAC5E,sCAAsC;wCACtC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAC1C,CAAC,IAAI,EAAE,EAAE;4CACP,IAAI,CAAC,OAAO,CAAC,2BAA2B,GAAG,EAAE,CAAC;4CAC9C,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,EAAE,CAAC;4CACxC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4CAC/C,OAAO,CAAC,CAAC,CAAC,CAAC;wCACb,CAAC,EACD,GAAG,EAAE;4CACH,OAAO,CAAC,CAAC,CAAC,CAAC;wCACb,CAAC,CACF,CAAC;qCACH;iCACF;6BACF;4BACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC5B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;4BAChC,OAAO,CAAC,CAAC,CAAC,CAAC;yBACZ;6BAAM;4BACL,OAAO,CAAC,CAAC,CAAC,CAAC;yBACZ;oBACH,CAAC,EACD,GAAG,EAAE;wBACH,OAAO,CAAC,CAAC,CAAC,CAAC;oBACb,CAAC,CACA;iBACJ;qBAAM;oBACL,OAAO,CAAC,CAAC,CAAC,CAAC;iBACZ;aACF;iBAAM;gBACL,IAAI,GAAG,GAAG,2FAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,EAAE;gBAC7C,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,CAAC,IAAI,EAAE,EAAE;oBACP,OAAO,CAAC,CAAC,CAAC,CAAC;gBACb,CAAC,EACD,GAAG,EAAE;oBACH,OAAO,CAAC,CAAC,CAAC,CAAC;gBACb,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;kGA9FU,yBAAyB;4GAAzB,yBAAyB,WAAzB,yBAAyB,mBAFtB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRsD;AAIL;AAKL;AACK;AACqE;AAC9C;AAQhD;AAEsC;AAC1B;;;;;;;;;;;;;;;;;;;IC2BlD,2EAAgC;IAC9B,2EAA+B;IAAA,wDAAkB;IAAA,6DAAM;IACvD,2EAA0C;IACxC,wDACF;;;IAAA,6DAAM;IACR,6DAAM;;;IAJ2B,2DAAkB;IAAlB,uFAAkB;IAE/C,2DACF;IADE,uOACF;;;;IAEF,2EAAsC;IACpC,2EAA+B;IAAA,wDAAkB;IAAA,6DAAM;IACvD,2EAGC;IACC,wDACF;;;IAAA,6DAAM;IACR,6DAAM;;;IAP2B,2DAAkB;IAAlB,qFAAkB;IAG/C,2DAAqC;IAArC,mKAAqC;IAErC,2DACF;IADE,0OACF;;;IAEF,2EAAoC;IAClC,2EAA+B;IAAA,wDAAgB;IAAA,6DAAM;IACrD,2EAGC;IACC,wDACF;;;IAAA,6DAAM;IACR,6DAAM;;;IAP2B,2DAAgB;IAAhB,mFAAgB;IAG7C,2DAAqC;IAArC,mKAAqC;IAErC,2DACF;IADE,wOACF;;;IAoBF,2EAAiC;IAC/B,2EAA+B;IAAA,wDAAY;IAAA,6DAAM;IACjD,2EAAmD;IACjD,wDACF;;;IAAA,6DAAM;IACR,6DAAM;;;IAJ2B,2DAAY;IAAZ,0FAAY;IAEzC,2DACF;IADE,oOACF;;;;;IAtEJ,uEAKC;IACC,2EAAiB;IACf,2EAA+B;IAAA,wDAAmB;IAAA,6DAAM;IACxD,2EAAmD;IACjD,wDAaF;;;;IAAA,6DAAM;IACR,6DAAM;IACN,0HAKM;IACN,6HAQM;IACN,6HAQM;IACN,4EAAiB;IACf,4EAA+B;IAC7B,yDACF;IAAA,6DAAM;IACN,4EAAmD;IACjD,yDAWF;;;;IAAA,6DAAM;IACR,6DAAM;IACN,4HAKM;IACN,4EAAuB;IACrB,4EAA+B;IAAA,yDAAe;IAAA,6DAAM;IACpD,4EAGC;IACC,yDAWF;;;;IAAA,6DAAM;IACR,6DAAM;IACR,6DAAM;;;IA1FJ,oLAEgB;IAIiB,2DAAmB;IAAnB,+FAAmB;IAEhD,2DAaF;IAbE,ogBAaF;IAEgB,2DAAY;IAAZ,gFAAY;IAMZ,2DAAkB;IAAlB,sFAAkB;IASlB,2DAAgB;IAAhB,oFAAgB;IAW9B,2DACF;IADE,+IACF;IAEE,2DAWF;IAXE,sdAWF;IAEgB,2DAAa;IAAb,iFAAa;IAOE,2DAAe;IAAf,kFAAe;IAG5C,2DAAiC;IAAjC,gKAAiC;IAEjC,2DAWF;IAXE,0dAWF;;;IA8DI,wEAKG;IAAA,6DAAC;IAAA,6DACH;;;IAEH,0EAIC;IACC,wDACF;;;IAAA,6DAAK;;;IAJH,+JAAiC;IAGjC,2DACF;IADE,0OACF;;;IAEE,0EAA2D;IACzD,wDAWF;;;;IAAA,6DAAK;;;IAZoB,iKAAiC;IACxD,2DAWF;IAXE,0dAWF;;;;IA9CN,2EAKC;IADC,yWAA+B;IAE/B,2EAA+B;IAC7B,sEAME;IACJ,6DAAM;IACN,2EAA+B;IAC7B,sEAAI;IACF,wDACA;IAAA,4HAMC;IACH,6DAAK;IACL,wHAMK;IACL,wNAcc;IAChB,6DAAM;IACR,6DAAM;;;;;IAzCA,2DAIC;IAJD,wPAIC;IAKD,2DACA;IADA,uGACA;IACG,2DAIjB;IAJiB,4IAIjB;IAMe,2DAAiC;IAAjC,+FAAiC;;;;IAuB1C,2EAKC;IADC,2TAAmB;IAEnB,8EAA4B;IAApB,8TAAmB;IAAC,wDAA6B;;IAAA,6DAAS;IACpE,6DAAM;;;IADwB,2DAA6B;IAA7B,sJAA6B;;AD1L1D,MAAM,qBAAqB;IAqHhC,YACmB,YAAsB,EAAE,gBAAgB;IACxC,kBAAuC,EACvC,cAA8B,EAC9B,WAAwB,EACxB,GAAe,EACf,MAAkB,EAC3B,eAAgC,EAChC,QAAyB,EACzB,MAAqB,EACrB,WAA+B,EAC/B,OAAuB,EACvB,QAAyB;QAXhB,iBAAY,GAAZ,YAAY,CAAU;QACtB,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,QAAG,GAAH,GAAG,CAAY;QACf,WAAM,GAAN,MAAM,CAAY;QAC3B,oBAAe,GAAf,eAAe,CAAiB;QAChC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,YAAO,GAAP,OAAO,CAAgB;QACvB,aAAQ,GAAR,QAAQ,CAAiB;QArH3B,oBAAe,GAAmB,EAAE,CAAC;QAIpC,QAAG,GAAW,CAAC,CAAC;QAIhB,QAAG,GAAW,CAAC,CAAC;QAChB,WAAM,GAAW,CAAC,CAAC;QAC5B,wEAAwE;QACxE,aAAQ,GAAW,CAAC,CAAC;QAErB,cAAS,GAAW,GAAG,CAAC;QACxB,qBAAgB,GAAY,KAAK,CAAC;QAClC,WAAM,GAAW,CAAC,CAAC;QAEnB,kBAAa,GAAW,EAAE,CAAC;QAE3B,iBAAiB;QACjB,mBAAc,GAAW,EAAE,CAAC;QAE5B,2BAA2B;QAC3B,uBAAkB,GAAW,GAAG,CAAC;QAEjC,oCAAoC;QACpC,4BAAuB,GAAW,EAAE,CAAC;QAErC,2BAAsB,GAAW,EAAE,CAAC;QAEpC,kCAAkC;QAElC,iBAAY,GAAsB,EAAE,CAAC;QAIrC,UAAK,GAAY,KAAK,CAAC;QAEvB,qBAAgB,GAAuB,IAAI,CAAC;QAE5C,eAAU,GAAkB,EAAE,CAAC;QAE/B,eAAU,GAAW,EAAE,CAAC;QAIxB,mBAAc,GAAW,EAAE,CAAC;QAE5B,uBAAkB,GAAW,EAAE,CAAC;QAEhC,sBAAiB,GAAG,KAAK,CAAC;QAE1B,yBAAoB,GAAG,EAAE,CAAC;QAE1B,eAAU,GAAY,KAAK,CAAC;QAE5B,aAAQ,GAAY,KAAK,CAAC;QAE1B,oBAAe,GAAY,KAAK,CAAC;QAEjC,sBAAiB,GAAyB,IAAI,CAAC;QAE/C,kBAAa,GAAW,CAAC,CAAC;QAE1B,YAAO,GAAW,EAAE,CAAC;QAErB,iBAAY,GAAW,EAAE,CAAC;QAE1B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,0BAAqB,GAAW,EAAE,CAAC;QAEnC,iBAAY,GAAW,EAAE,CAAC;QAE1B,iBAAY,GAAW,EAAE,CAAC;QAE1B,kBAAa,GAAW,EAAE,CAAC;QAE3B,YAAO,GAAW,EAAE,CAAC;QAErB,cAAS,GAAW,EAAE,CAAC;QAEvB,YAAO,GAAW,EAAE,CAAC;QAErB,mBAAc,GAAW,EAAE,CAAC;QAE5B,iBAAY,GAAW,EAAE;QAEzB,iBAAY,GAAW,EAAE,CAAC;QAE1B,eAAU,GAAW,EAAE,CAAC;QAExB,cAAS,GAAW,EAAE,CAAC;QAEvB,gBAAW,GAAW,EAAE,CAAC;QAEzB,sBAAiB,GAAW,EAAE,CAAC;QAE/B,eAAU,GAAW,EAAE,CAAC;QAExB,mBAAc,GAAW,EAAE,CAAC;QAE5B,eAAU,GAAW,EAAE,CAAC;QAExB,kBAAa,GAAY,KAAK,CAAC;IAe5B,CAAC;IAjIJ,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IA6HD,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,IAAI,CAAC,CAAC,aAAa,IAAI,wEAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;oBACtD,CAAC,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;iBAC/C;gBAED,IAAG,CAAC,CAAC,aAAa,IAAI,wEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,gFAAc,CAAC,OAAO,EAAE;oBAC5G,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;iBAC1E;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAErC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAElD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,gFAAW,CAAC,QAAQ,CAAC;QAE7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAE5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAEjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAErC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAEnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAEzD,IAAI,CAAC,aAAa,GAAG,+EAAc,CAAC,gBAAgB,EAAE,CAAC;QAEvD,IAAI,CAAC,uBAAuB,GAAG,+EAAc,CAAC,0BAA0B,EAAE,CAAC;QAE3E,IAAI,CAAC,sBAAsB,GAAG,+EAAc,CAAC,yBAAyB,EAAE,CAAC;QAEzE,IAAI,CAAC,OAAO,GAAG,+EAAc,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAEzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QAE/C,IAAI,CAAC,UAAU,GAAG,+EAAc,CAAC,aAAa,EAAE,CAAC;QAEjD,IAAI,CAAC,cAAc,GAAG,+EAAc,CAAC,gBAAgB,EAAE,CAAC;QAExD,IAAI,CAAC,kBAAkB,GAAG,+EAAc,CAAC,oBAAoB,EAAE,CAAC;QAEhE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC1C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACnD,mDAAmD,CACpD,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ;aAC9B,cAAc,CAAC,kBAAkB,CAAC;aAClC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACnD,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,YAAsB,EACtB,KAAa,EACb,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,YAAiB;QAEjB,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC9D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,YAAY;SAC/B,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,gEAAe,CAAC,UAAU,CACpE,MAAM,CAAC,QAAQ,CAAC,EAChB,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEb,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,gEAAe,CAAC,UAAU,CACpE,MAAM,CAAC,QAAQ,CAAC,EAChB,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,gEAAe,CAAC,UAAU,CAClE,MAAM,CAAC,MAAM,CAAC,EACd,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,cAAc,CAAC,iBAAiB,CAAC,GAAG,GAAG,gEAAe,CAAC,UAAU,CAC/D,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEb,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,gEAAe,CAAC,UAAU,CACjE,MAAM,CAAC,KAAK,CAAC,EACb,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEb,cAAc,CAAC,iBAAiB,CAAC,SAAS,GAAG,gEAAe,CAAC,UAAU,CACrE,MAAM,CAAC,KAAK,CAAC,EACb,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,cAAc,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;QAE7D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC;YACpC,IAAG,IAAI,CAAC,MAAM,EAAC;gBACb,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;aAC1B;YACD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7C;IACH,CAAC;IAGD,sHAAsH;IACtH,IAAI;QACF,IAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,MAAM,GAAC,IAAI;YAChC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAC,GAAG;YAClC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;gBAC1D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC;SACH;IACH,CAAC;IACD,kGAAkG;IAClG,sBAAsB,CAAC,GAAU;QAC/B,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAC,GAAG;QACpD,IAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAC;YACtI,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD;aAAI;YACH,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;SACtD;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,GAAG,gEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,gEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,aAAa,IAAI,gFAAW,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,KAAK,GAAG,gEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,GAAG,GAAG,gEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,aAAa,IAAI,gFAAW,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,gEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aACrD;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;gBAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;aAC5D;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;gBAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;aAC5D;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,sBAAsB;;QACpB,IAAI,IAAI,CAAC,aAAa,IAAI,gFAAW,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,MAAM,eAAG,IAAI,CAAC,GAAG,CAAC,aAAa,0CAAE,UAAU,0CAAE,SAAS,CAAC;SAC7D;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,KAAU;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IACE,IAAI,CAAC,OAAO,CAAC,SAAS;YACtB,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,gFAAW,CAAC,UAAU;YACtD,KAAK,CAAC,aAAa,IAAI,wEAAY,CAAC,OAAO;YAC3C,+EAAc,CAAC,mBAAmB,EAAE,IAAI,EAAE,EAC1C;YACA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACvC;aAAM;YACL,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACvE,IAAI,+EAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;gBACnD,+EAAc,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC9C;YACD,IAAI,KAAK,CAAC,aAAa,IAAI,GAAG,EAAE;gBAC9B,IAAI,CAAC,cAAc,CAAC,mBAAmB,CACrC,IAAI,CAAC,uBAAuB,IAAI,IAAI;oBAClC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,GAAG,EAC5C,IAAI,CAAC,sBAAsB,IAAI,MAAM,EACrC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACpC,IAAI,CAAC,kBAAkB,CACxB,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;aAC3C;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAClC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,+EAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,6BAA6B;QAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,iBAAiB,CACvB,CAAC;QACF,IACE,IAAI,CAAC,uBAAuB,IAAI,IAAI;YACpC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,GAAG,EAC1C;YACA,IAAI,IAAI,CAAC,sBAAsB,IAAI,MAAM,EAAE;gBACzC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAClE,CAAC;gBACF,IAAI,CAAC,SAAS,GAAG,MAAM,CACrB,gEAAe,CAAC,UAAU,CACxB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAC/C,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;qBAChC,cAAc,CAAC,sBAAsB,CAAC;qBACtC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAChD;iBAAM;gBACL,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,GAAG,MAAM,CACrB,gEAAe,CAAC,UAAU,CACxB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAC/C,CAAC,CACF,CAAC,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;qBAChC,cAAc,CAAC,+BAA+B,CAAC;qBAC/C,OAAO,CACN,IAAI,EACJ,+EAAc,CAAC,iBAAiB,EAAE;oBAChC,GAAG;oBACH,IAAI,CAAC,uBAAuB,CAC/B,CAAC;aACL;SACF;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,MAAM,CACrB,gEAAe,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACxD,CAAC;SACH;IACH,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtD,4BAA4B,CAC7B,CAAC;SACH;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,iBAAiB,GAAG,uJAAoC,CAAC,IAAI,CAChE,IAAI,CAAC,YAAY,EACjB,IAAI,CACL,CAAC,iBAAiB,CAAC;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI;YAC1C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ;gBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ;gBACtC,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAEzD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CACtE,CAAC,IAAiB,EAAE,EAAE;;YACpB,IAAI;gBACF,MAAM,eAAe,GAAG,IAAI,wEAAW,CACrC,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,KAAK,CACN,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;aAC9C;YAAC,OAAO,CAAC,EAAE,GAAE;YAEd,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE;gBACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBAC/B,6DAA6D;gBAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM,IACL,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;gBAC5D,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,EAC7D;gBACA,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;gBAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,qCAAqC;gBACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtD,wBAAwB,CACzB,CAAC;aACH;iBAAM;gBACL,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;gBAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,0EAA0E;gBAC1E,IAAI,CAAC,oBAAoB;oBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;aACrD;QACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;;YACX,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;YAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;YACnE,yDAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CACF,CAAC;IACJ,CAAC;IAEK,iBAAiB,CAAC,0BAAmC,KAAK;;YAC9D,IAAI,CAAC,iBAAiB,GAAG,uJAAoC,CAAC,IAAI,CAChE,IAAI,CAAC,YAAY,EACjB,KAAK,CACN,CAAC,iBAAiB,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI;gBAC1C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ;oBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ;oBACtC,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAEzD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,IAAI,CACtE,CAAC,IAAiB,EAAE,EAAE;;gBACpB,IAAI;oBACF,MAAM,eAAe,GAAG,IAAI,wEAAW,CACrC,0BAA0B,EAC1B,yBAAyB,EACzB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,KAAK,CACN,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;iBAC9C;gBAAC,OAAO,CAAC,EAAE,GAAE;gBAEd,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE;oBAC5D,6DAA6D;oBAC7D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAE9B,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;iBAChD;qBAAM,IACL,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM;oBACrD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,EACtD;oBACA,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;oBAChC,yDAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBACrD;qBAAM;oBACL,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;oBAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;oBAC9D,yDAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;YACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;;gBACX,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;gBAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;gBACnE,yDAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IAEa,gBAAgB,CAAC,0BAAmC,KAAK;;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAElD,MAAM,YAAY,GAChB,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,IAAI;gBACxC,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,EAAE;gBACpC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAEvC,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACxE,MAAM,aAAa,GACjB,IAAI,CAAC,cAAc,CAAC,aAAa,IAAI,IAAI;gBACzC,IAAI,CAAC,cAAc,CAAC,aAAa,IAAI,EAAE;gBACrC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAExC,IAAI,CAAC,GAAG;iBACL,gBAAgB,CACf,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,cAAc,CAAC,QAAQ,EAC5B,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EACtC,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAC/C;iBACA,IAAI,CAAC,CAAC,IAAiB,EAAE,EAAE;;gBAC1B,kCAAkC;gBAClC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC/C,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI;oBACF,MAAM,eAAe,GAAG,IAAI,wEAAW,CACrC,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,KAAK,CACN,CAAC;oBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;iBAC9C;gBAAC,OAAO,CAAC,EAAE,GAAE;gBAEd,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE;oBAC5D,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;oBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;oBAE3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC3D,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClD,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;wBACrB,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBACzC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACjD,IACE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS;4BAC3C,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACtD;4BACA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI;gCACzB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;yBAC9D;wBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;qBAC3C;yBAAM;wBACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;qBAC5B;oBACD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK;wBACzC,gEAAe,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC/D,IAAI,CAAC,SAAS,GAAG,gEAAe,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnE,IAAI,CAAC,6BAA6B,EAAE,CAAC;oBAErC,IAAI,uBAAuB,EAAE;wBAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;qBACrB;iBACF;qBAAM,IACL,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM;oBACrD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,EACtD;oBACA,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;oBAChC,yGAAsB,CAAC,IAAI,CACzB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAC/B,CAAC;iBACH;qBAAM;oBACL,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;oBAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;oBAC9D,yGAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;;gBACX,UAAI,CAAC,iBAAiB,0CAAE,KAAK,GAAG;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED,mBAAmB;QACjB,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,QAAQ,CACN,KAAc,EACd,aAAiC,EACjC,SAAiB,EACjB,WAAoB,KAAK,EACzB,sBAA4C,IAAI;QAEhD,IAAI,KAAK,EAAE;YACT,IACE,aAAa,IAAI,IAAI;gBACrB,aAAa,CAAC,IAAI,IAAI,SAAS;gBAC/B,aAAa,CAAC,IAAI,EAClB;gBACA,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;aACjC;iBAAM;gBACL,OAAO,GAAG,CAAC;aACZ;SACF;aAAM,IAAI,QAAQ,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAClD,OAAO,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;SACnD;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,WAAW,CACT,KAAU,EACV,aAAkB,EAClB,YAAiB,EACjB,WAAgB,KAAK,EACrB,mBAAyC,EACzC,eAAoB,EACpB,MAAW;QAEX,IAAI,KAAK,EAAE;YACT,IACE,aAAa,IAAI,IAAI;gBACrB,aAAa,CAAC,IAAI,IAAI,SAAS;gBAC/B,aAAa,CAAC,IAAI,EAClB;gBACA,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;aACpC;iBAAM;gBACL,OAAO,GAAG,CAAC;aACZ;SACF;aAAM,IAAI,QAAQ,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAClD,IAAI,eAAe,EAAE;gBACnB,OAAO,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;aAC5D;YACD,IAAI,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;gBACvD,OAAO,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;aAC/D;YAED,OAAO,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;SACnD;aAAM;YACL,OAAO,YAAY,CAAC;SACrB;IACH,CAAC;IAED,MAAM,CACJ,KAAc,EACd,aAAiC,EACjC,OAAe,EACf,WAAoB,KAAK,EACzB,sBAA4C,IAAI;QAEhD,IAAI,KAAK,EAAE;YACT,IACE,aAAa,IAAI,IAAI;gBACrB,aAAa,CAAC,IAAI,IAAI,SAAS;gBAC/B,aAAa,CAAC,IAAI,EAClB;gBACA,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;aAC/B;iBAAM;gBACL,OAAO,GAAG,CAAC;aACZ;SACF;aAAM,IAAI,QAAQ,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAClD,OAAO,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;SACpD;aAAM;YACL,OAAO,OAAO,CAAC;SAChB;IACH,CAAC;;0FAxvBU,qBAAqB;sGAArB,qBAAqB;QCnClC,2EAAS;QACP,0EAAwC;QACtC,0EAA2B;QAUzB,yEAAwB;QAAA,wDAAkB;QAAA,6DAAK;QAC/C,yEAA0D;QACxD,wDAWF;;;;QAAA,6DAAK;QACL,0EAAwB;QAAA,yDAAgB;QAAA,6DAAK;QAC7C,0EAAoE;QAClE,yDACF;QAAA,6DAAK;QACL,sHA2FM;QAyCN,2EAAgC;QAC9B,qHAiDM;QACR,6DAAM;QACN,uEAAI;QAAA,yDAAoB;QAAA,6DAAK;QAC7B,oHAOM;QACN,yEAA0D;QAArB,0IAAS,cAAU,IAAC;QACvD,yDACF;QAAA,6DAAI;QACN,6DAAM;QACR,6DAAM;QACR,6DAAU;;QAxNoB,2DAAkB;QAAlB,kFAAkB;QAClB,2DAAiC;QAAjC,6JAAiC;QACvD,2DAWF;QAXE,qcAWF;QACwB,2DAAgB;QAAhB,kFAAgB;QAEtC,2DACF;QADE,kGACF;QAKG,2DAAqC;QAArC,8GAAqC;QAkInB,2DAAe;QAAf,sFAAe;QAkDhC,2DAAoB;QAApB,oFAAoB;QAGrB,2DAA6B;QAA7B,8FAA6B;QAO9B,2DACF;QADE,sHACF;;;;;;;;;;;;;;;;;;;;;;;AChOoD;AAGb;AACF;;;AAMpC,MAAM,eAAe;IAM1B,YACU,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAN5B,eAAU,GAAW,EAAE,CAAC;QAExB,gBAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,cAAS,GAAW,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;IAMxC,CAAC;IAED,gCAAgC,CAAC,MAAc,EAAE,KAAa;QAC5D,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACzC,IAAI,kBAAkB,GAAG;;;;+DAIgC,IAAI,CAAC,SAAS;+CAC9B,IAAI,CAAC,WAAW,uBAAuB,IAAI,CAAC,WAAW;;;uDAG/C,MAAM;WAClD,CAAC;YACN,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,gEAAgE,EAAE,KAAK,CAAC,CAAC;gBAErF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAEzD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,CAAC;YACF,uEAAe,CAAC,mBAAmB,CACjC,kBAAkB,EAClB,EAAE,EACF,qBAAqB,EACrB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;;OAKG;IACH,2BAA2B,CAAC,MAAc,EAAE,KAAa;QACvD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,EAAE;YAE3C,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;aACpB;YAED,+DAA+D;YAC/D,IAAI,CAAC,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YAEpD,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAE5B,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,kBAAkB,GAAG;gGACmE,MAAM,GAAG,CAAC;aACnG;iBAAM,IAAI,KAAK,IAAI,CAAC,EAAE;gBACrB,kBAAkB,GAAG;8FACiE,MAAM,GAAG,CAAC;aACjG;iBAAM;gBACL,kBAAkB,GAAG;;;;6DAIgC,IAAI,CAAC,SAAS;6CAC9B,IAAI,CAAC,WAAW,uBAAuB,IAAI,CAAC,WAAW;;;;;kGAKF,IAAI,CAAC,SAAS;6CACnE,IAAI,CAAC,WAAW;2CAClB,IAAI,CAAC,WAAW;kEACO,MAAM,GAAG,CAAC;aACrE;YAED,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACzD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CACjC,kBAAkB,EAClB,EAAE,EACF,qBAAqB,EACrB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B,CAAC,GAAa,EAAE,KAAa;QAC1D,OAAO,IAAI,OAAO,CAAW,CAAC,OAAY,EAAE,EAAE;YAC5C,IAAI,CAAC,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5D,IAAI,CAAC,SAAS,GAAG,uDAAe,CAAC,YAAY,EAAE,CAAC;YAEhD,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAE5B,IAAI,KAAK,GAAG,uDAAe,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;YAEhE,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,kBAAkB,GAAG;mGACsE,KAAK,GAAG,CAAC;aACrG;iBAAM,IAAI,KAAK,IAAI,CAAC,EAAE;gBACrB,kBAAkB,GAAG;iGACoE,KAAK,GAAG,CAAC;aACnG;iBAAM;gBACL,kBAAkB,GAAG;;;;6DAIgC,IAAI,CAAC,SAAS;6CAC9B,IAAI,CAAC,WAAW,uBAAuB,IAAI,CAAC,WAAW;;wDAE5C,KAAK;OACtD,CAAC;aACD;YAED,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;gBAEhF,OAAO,CAAC,EAAc,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,MAAM,qBAAqB,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACzD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAa,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,uEAAe,CAAC,mBAAmB,CACjC,kBAAkB,EAClB,EAAE,EACF,qBAAqB,EACrB,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,oBAAoB,CAAC,WAA2B;;YAEpD,IAAI,cAAc,GAAG,uDAAe,CAAC,8BAA8B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEvF,IAAI,aAAa,GAAa,EAAE,CAAC;YACjC,IAAI,iBAAiB,GAAiB,EAAE,CAAC;YACzC,IAAI,kBAAkB,GAA2B,EAAE,CAAC;YAEpD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAE7B,aAAa,GAAG,cAAc,CAAC,CAAC,CAAa,CAAC;gBAC9C,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAiB,CAAC;gBACtD,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAA2B,CAAC;aAClE;YAED,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAElD,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAEhF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACb;YAED,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAElF,IAAI,oBAAoB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAExF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEvF,IAAI,sBAAsB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YAE5F,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEK,iBAAiB,CAAC,SAAmB;;;YACzC,IAAI,gBAAgB,GAAa,EAAE,CAAC;YAEpC,IAAI,eAAe,GAAG,KAAK,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBACxB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjE,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;wBAC3E,IAAI,WAAW,EAAE;4BACf,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;yBACrC;qBACF;iBACF;qBACI;oBACH,eAAe,GAAG,KAAK,CAAC;oBACxB,IAAI,gBAAS,CAAC,CAAC,CAAC,0CAAE,QAAQ,KAAI,OAAO,WAAI,SAAS,CAAC,CAAC,CAAC,0CAAE,OAAO,GAAE;wBAC9D,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,eAAe,GAAG,IAAI,CAAC;qBACxB;yBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;wBACtE,IAAI,aAAa,GAAG,uDAAe,CAAC,kCAAkC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBAE/F,IAAI,aAAa,CAAC,CAAC,CAAC,IAAK,aAAa,CAAC,CAAC,CAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;4BACrE,IAAI,YAAY,GAAG,aAAa,CAAC,CAAC,CAAiB,CAAC;4BAEpD,IAAI,mBAAmB,GAAG,CAAC,MAAM,IAAI,CAAC,+BAA+B,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;4BAE7I,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gCACzD,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gCACpC,eAAe,GAAG,IAAI,CAAC;6BACxB;yBACF;wBAED,IAAI,CAAC,eAAe,EAAE;4BACpB,IAAI,aAAa,CAAC,CAAC,CAAC,IAAK,aAAa,CAAC,CAAC,CAA4B,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC/E,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,CAA2B,CAAC;gCAEhE,IAAI,qBAAqB,GAAG,CAAC,MAAM,IAAI,CAAC,+BAA+B,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gCAErJ,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oCAE7D,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;wCACjE,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wCACpC,MAAM;qCACP;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;YAED,OAAO,gBAAgB,CAAC;;KACzB;;8EA5PU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNuC;AAEc;AAKxC;AAC0G;AACd;AACpB;AAC6B;AACtD;AACd;AAIK;;;;;;;;;;;;;;;;;;;;ICdnE,0EAA+I;IAAA,wDAA+B;;IAAA,6DAAK;;;IAAtE,+JAAiC;IAAC,2DAA+B;IAA/B,qJAA+B;;;ADqB3K,MAAM,+BAA+B;IAuD1C,YACmB,YAAsB,EACtB,WAAwB,EACxB,cAA8B,EACvC,QAAyB,EAChB,WAAwB,EACjC,MAAkB;QALT,iBAAY,GAAZ,YAAY,CAAU;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QACvC,aAAQ,GAAR,QAAQ,CAAiB;QAChB,gBAAW,GAAX,WAAW,CAAa;QACjC,WAAM,GAAN,MAAM,CAAY;QArD5B,qBAAgB,GAAkB,mBAAmB,CAAC;QAEtD,kBAAa,GAAW,EAAE,CAAC;QAE3B,sBAAiB,GAAW,EAAE,CAAC;QAE/B,kBAAa,GAAW,EAAE,CAAC;QAE3B,sBAAiB,GAAW,EAAE,CAAC;QAE/B,eAAU,GAAkB,EAAE,CAAC;QAI/B,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,wEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,wEAAW,CAAC,kBAAkB,CAAC;QAEnC,SAAI,GAAS,EAAU,CAAC;QAaxB,qBAAgB,GAAW,IAAI,CAAC;QAQhC,gBAAW,GAAW,EAAE,CAAC;QACzB,oBAAe,GAAY,KAAK,CAAC;QACjC,+BAA0B,GAAG,sFAAc,CAAC,6BAA6B,EAAE,CAAC;QAC5E,mBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,2BAAsB,GAAW,EAAE,CAAC;QACpC,qBAAgB,GAAY,EAAE,CAAC;IAS5B,CAAC;IA7DJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IA2DD,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACxD,sBAAsB,CACvB,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAClD,wBAAwB,CACzB,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,gDAAgD,CAAC,CAAC;QAC9G,IAAG,kBAAkB,IAAI,kBAAkB,KAAK,EAAE,EAAE;YAClD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,gBAAgB;gBACrB,sFAAc,CAAC,mBAAmB,EAAE,IAAI,EAAE;oBACxC,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,sFAAc,CAAC,mBAAmB,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;QAEjD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAC5B,sFAAc,CAAC,4BAA4B,EAAE,CAC9C,CAAC;QAEF,IAAI,CAAC,eAAe;YAClB,sFAAc,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QAE9D,IAAI,CAAC,WAAW,GAAG,sFAAc,CAAC,mBAAmB,EAAE,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,YAAsB,EACtB,IAAU,EACV,cAAuB,EACvB,gBAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAC7D,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,UAAU,CAAC;YACxC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;YACtD,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAE1D,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;YAChC,OAAO,GAAG,CAAC;SACZ;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAU,EAAE,cAAuB,EAAE,gBAAyB;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAClE,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;YACzB,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,UAAU,CAAC;YACxC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;YACtD,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAC1D,IAAI,SAAS,GAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC;YACnE,GAAG,CAAC,iBAAiB,CAAC,gBAAgB;gBACpC,IAAI,CAAC,gBAAgB,IAAI,EAAE;oBACzB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5B,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,OAAO,GAAG,CAAC;SACZ;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,IAAU;QAChC,mJAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAChE,CAAO,IAAS,EAAE,EAAE,CAAC;YACnB,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBAClD,IAAI,uEAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;qBAC1B;yBAAM;wBACL,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC5C,sEAAsE;wBACtE,0EAA0E;wBAC1E,qGAAqG;wBACrG,IAAI,CAAC,OAAO,EAAE,CAAC;qBAChB;iBACF;aACF;QACH,CAAC,EACF,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,IAAU;QAC9B,MAAM,WAAW,GAAG,uEAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,IAAI,WAAW,IAAI,iBAAiB,EAAE;YACpC,QAAQ,GAAG,CAAC,CAAC;SACd;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,IAAS,EAAE,EAAE,CAAC;YAEjE,IAAI,IAAI,IAAI,QAAQ,EAAE;gBACpB,MAAM,UAAU,GAAG,IAAY,CAAC;gBAEhC,IAAI,GAAG,GAAG,IAAI,yEAAW,CACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,wCAAwC,EACxC,uCAAuC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EACnE,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAClD,sEAAsE;gBACtE,0EAA0E;gBAC1E,2GAA2G;gBAC3G,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,uEAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAkB,EAAE,EAAE;YACvE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnB,IAAI,sFAAc,CAAC,8BAA8B,EAAE,IAAI,MAAM,EAAE;oBAC7D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClC;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnC;aACF;iBAAM;gBACL,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,SAAS;;YAEb,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,uEAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEpE,IAAI,uEAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChD,IACE,IAAI,CAAC,IAAI,CAAC,uBAAuB;oBACjC,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;oBACA,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACjC;yBAAM;wBACL,IAAI,KAAK,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;wBAC3D,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC5B;iBACF;qBAAM;oBACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC/B;aACF;iBAAM;gBACL,IACE,IAAI,CAAC,IAAI,CAAC,uBAAuB;oBACjC,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;oBACA,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACjC;yBAAM;wBACL,IAAI,KAAK,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;wBAC3D,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC5B;iBACF;qBAAM;oBACL,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;aACF;QACH,CAAC;KAAA;IAED,OAAO;QACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,0CAA0C;IAClC,WAAW,CAAC,IAAkB,EAAE,IAAY;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;YAC5D,IAAI,IAAI,IAAI,UAAU,EAAE;gBACtB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;YACD,QAAQ;YACR,eAAe;YACf,wCAAwC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;;8GAvRU,+BAA+B;gHAA/B,+BAA+B;mEA4B/B,sHAAuB;mEAEvB,mJAA8B;mEAG9B,wJAA+B;mEAG/B,0IAA2B;mEAO3B,wFAAmB;mEAEnB,6EAAgB;;;;;;;;;;QCzE7B,0EAAuB;QACrB,0EAA0B;QACxB,oEAAyC;QACzC,yEAAwB;QAAA,wDAAsB;QAAA,6DAAK;QACnD,qEAC8E;QAC9E,yEAAwB;QAAA,wDAAe;QAAA,6DAAK;QAC5C,0HAAmL;;QACnL,2EAAuD;QACrD,8EACsE;QAAlC,yJAAS,iBAAa,IAAC;QACzD,yDACF;;QAAA,6DAAS;QACT,sEAA4B;QAC5B,8EACoC;QADa,yJAAS,aAAS,IAAC;QAElE,yDACF;;QAAA,6DAAS;QACT,4EAAmB;QAAA,yDAA0B;QAAA,6DAAM;QACrD,6DAAM;QACR,6DAAM;QACR,6DAAM;QAEN,4EAA2B;QACzB,oFAA6C;QAC7C,2FAA2D;QAC3D,iGAAqF;QACrF,4FAA2E;QAC3E,oFAAqD;QACrD,gFAA6C;QAC/C,6DAAM;;QA3BsB,2DAAsB;QAAtB,sFAAsB;QACzC,2DAAwK;QAAxK,oUAAwK;QACpK,2LAAmE;QACpD,2DAAe;QAAf,+EAAe;QAClC,2DAAuE;QAAvE,2LAAuE;QAEpB,2DAAuC;QAAvC,iGAAuC;QAE3F,2DACF;QADE,mKACF;QAEqE,2DAAuC;QAAvC,iGAAuC;QAE1G,2DACF;QADE,qKACF;QACmB,2DAA0B;QAA1B,4FAA0B;QAU/B,2DAAe;QAAf,yEAAe;QACnB,2DAAe;QAAf,yEAAe;;;;;;;;;;;;;;;;;;;;;;ACnBxB,MAAM,2BAA2B;IAiBtC,YACU,YAAsB,EACtB,QAAyB;QADzB,iBAAY,GAAZ,YAAY,CAAU;QACtB,aAAQ,GAAR,QAAQ,CAAiB;QAPnC,iBAAY,GAAW,EAAE,CAAC;QAE1B,kBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAc,GAAQ,EAAE;QACxB,wBAAmB,GAAQ,EAAE;IAI1B,CAAC;IAlBJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAgBD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACpF,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAClE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACxE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC7E,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;;sGA5DU,2BAA2B;2GAA3B,2BAA2B;QCVxC,yEAAyB;QACrB,yEAAoB;QAChB,uDACJ;QAAA,4DAAM;QACN,yEAAqB;QACjB,uDACJ;QAAA,4DAAM;QAEN,yEAAkB;QACd,4EAAyC;QAAlB,mJAAS,WAAO,IAAC;QAAC,uDAAgB;QAAA,4DAAS;QAClE,4EAA0G;QAArB,mJAAS,cAAU,IAAC;QAAC,uDAAiB;QAAA,4DAAS;QACxI,4DAAM;QACV,4DAAM;;QAVE,0DACJ;QADI,8FACJ;QAEI,0DACJ;QADI,mGACJ;QAG6C,0DAAgB;QAAhB,iFAAgB;QACiD,0DAAiB;QAAjB,kFAAiB;;;;;;;;;;;;;;;;;;;;;;ACA5H,MAAM,2BAA2B;IAKtC,YAAoB,YAAsB,EAAS,QAAwB;QAAvD,iBAAY,GAAZ,YAAY,CAAU;QAAS,aAAQ,GAAR,QAAQ,CAAgB;QAH3E,qBAAgB,GAAW,EAAE,CAAC;QAC9B,uBAAkB,GAAQ,EAAE;IAEkD,CAAC;IAE/E,QAAQ;QACN,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;IACJ,CAAC;IACD,QAAQ;QACR,IAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACvE,CAAC;IACD,IAAI;QACF,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC5D,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,sBAAsB;QACtB,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;;sGA5BU,2BAA2B;2GAA3B,2BAA2B;QCVxC,yEAAqB;QACnB,yEAAyB;QACvB,qEAAI;QAAA,uDAAsB;QAAA,4DAAK;QACjC,4DAAM;QACN,yEAAoD;QAClD,oEAAyF;QAC3F,4DAAM;QACR,4DAAM;;QALE,0DAAsB;QAAtB,uFAAsB;;;;;;;;;;;;;;ACF9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMuB;AAEkD;;;;;;;;;;AAUlE,MAAM,6BAA6B;IAsCxC,YACU,QAAyB,EAChB,YAAsB,EAC/B,eAAgC,EACvB,cAA8B;QAHvC,aAAQ,GAAR,QAAQ,CAAiB;QAChB,iBAAY,GAAZ,YAAY,CAAU;QAC/B,oBAAe,GAAf,eAAe,CAAiB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAnCjD,mBAAc,GAAW,EAAE,CAAC;QAE5B,uBAAkB,GAAW,EAAE,CAAC;QAEhC,qBAAgB,GAAW,EAAE,CAAC;QAE9B,oBAAe,GAAW,EAAE,CAAC;QAE7B,0BAAqB,GAAW,EAAE,CAAC;QAEnC,eAAU,GAAW,EAAE,CAAC;QAExB,sBAAiB,GAAW,EAAE,CAAC;QAI/B,YAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAExC,kBAAa,GAAkB,EAAE,CAAC;QAElC,sBAAiB,GAAkB,EAAE,CAAC;QAEtC,kBAAa,GAAkB,EAAE,CAAC;QAClC,sBAAiB,GAAkB,EAAE,CAAC;QAEtC,mBAAc,GAAQ,CAAC;QAIb,eAAU,GAAG,IAAI,0DAAY,EAAW,CAAC;IAOhD,CAAC;IA1CJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAwCD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,MAAM,GAAC,KAAK;QACjC,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,cAAc,GAAC,GAAG;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAE,qBAAqB,CAAE,CAAC;QAChF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAE,mDAAmD,CAAE,CAAC;QAChH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAE,mDAAmD,CAAE,CAAC;QACrH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAC,cAAsB;QAC7D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAC3D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACtD,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,cAAc,CAAC;QAEzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC,cAAsB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAChE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACtD,GAAG,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,cAAc,CAAC;QACzD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAG,IAAI,CAAC,MAAM,EAAC;YACb,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;SAC1B;QACD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7C,CAAC;IAGD,sHAAsH;IACtH,IAAI;QACF,IAAI,CAAC,eAAe,CAAC,MAAM,GAAC,IAAI;QAChC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAC,GAAG;QAClC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,IAAE,CAAC,EAAC,UAAS,EAAC,UAAS,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE;QACrC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YAC9D,uCAAuC;QACzC,CAAC,CAAC;IACJ,CAAC;IACD,uHAAuH;IACvH,0BAA0B,CAAC,GAAU;QACnC,IAAI,YAAY,GAAG,CAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,WAAW,CAAC;QAC5D,IAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;YAC7B,IAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,IAAE,SAAS,EAAC;gBACtD,IAAG,GAAG,IAAI,QAAQ,EAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;iBACjG;qBAAK,IAAG,GAAG,IAAI,SAAS,EAAC;oBACxB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,IAAI,GAAG;iBACjD;qBACG;oBACJ,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,IAAE,GAAG;iBAC7C;aACF;iBAAI;gBACH,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,EAAE,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,IAAE,GAAG;aAC/C;SACF;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAG,IAAI,CAAC,cAAc,EAAC;YACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAClD;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;SAClB;IACH,CAAC;;0GAlJU,6BAA6B;6GAA7B,6BAA6B;QClB1C,yEAAyB;QACvB,yEAA6C;QAC3C,wEAAwB;QAAA,uDAAwB;QAAA,4DAAK;QAErD,yEAAqB;QACnB,wEAAwB;QAAA,uDAAsB;QAAA,4DAAK;QAEnD,0EAAuC;QAAjC,yJAAY,uBAAmB,IAAC;QACpC,yEAAkB;QAChB,yEAAwB;QACtB,4EAAiC;QAAA,wDAAqB;QAAA,4DAAQ;QAC9D,+EAWC;QAHC,6MAA4B;QAG7B,4DAAW;QACd,4DAAM;QACR,4DAAM;QACN,0EAA0B;QACxB,2EAAuD;QACrD,8EAOC;QACC,wDAAmC;;QAAA,4DAAS;QAC9C,iEAAM;QACN,8EAMC;QAHC,sJAAS,iBAAa,IAAC;QAIvB,wDACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAjDsB,0DAAwB;QAAxB,uFAAwB;QAGtB,0DAAsB;QAAtB,qFAAsB;QAKP,0DAAqB;QAArB,oFAAqB;QAMpD,0DAAoB;QAApB,iFAAoB;QAgBpB,0DAAwC;QAAxC,gGAAwC;QAGxC,0DAAmC;QAAnC,uKAAmC;QAMnC,0DAAwC;QAAxC,gGAAwC;QAGxC,0DACF;QADE,0FACF;;;;;;;;;;;;;;;;;;AC1CL,MAAM,eAAe;IAC1B,SAAS,CAAC,KAAa,EAAE,YAAoB,EAAE,cAAsB;QAEnE,IAAG,CAAC,KAAK,IAAI,CAAE,YAAY,IAAI,CAAE,cAAc,EAC/C;YACE,OAAO,KAAK,CAAC;SACd;QAEJ,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC;;8EATU,eAAe;4GAAf,eAAe;;;;;;;;;;;;;;;;;;;;;;ACDW;AAEmB;;;AAE1D,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mDAAQ;IACR,yDAAW;IACX,yDAAW;IACX,uDAAU;AACZ,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AA8CM,MAAM,eAAe;IAU1B,YAAoB,IAAgB;;QAAhB,SAAI,GAAJ,IAAI,CAAY;QATpC,WAAM,GAAG,sEAAc,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sEAAc,CAAC,SAAS,EAAE,CAAC;QAC9E,mBAAc,GAAW,CAAC,CAAC;QACnB,SAAI,GAAG,mBAAmB,CAAC;QAE3B,oBAAe,GAAwB,IAAI,GAAG,EAAkB,CAAC;QAEzE,uBAAkB,GAAG,IAAI,oDAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,oBAAe,SAAW,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,mCAAI,IAAI,CAAC;QAC1E,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAC;QAEjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IACK,UAAU,CAAC,iBAAsB;;YACrC,IAAI,iBAAiB,CAAC,aAAa,IAAI,iBAAiB,CAAC,cAAc,EAAE;gBACvE,sEAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACjE,sEAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;aACpE;YAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE;gBACvC,yBAAyB;gBACzB,OAAO;aACR;YAED,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,IAAI,GAA+B,IAAI,GAAG,EAAE,CAAC;YAEjD,YAAY;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtB,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjC,YAAY;oBACZ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvB;gBACD,IAAI,OAAO,CAAC,SAAS,EAAE;oBACrB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;iBACrC;gBACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAoB,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;KAAA;IACD,kBAAkB,CAAC,CAAS;;QAC1B,IACE,WAAI,CAAC,UAAU,0CAAE,IAAI,KAAI,CAAC;YAC1B,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,EACjD;YACA,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAED,YAAY;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,OAAY;;QACvB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACxC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,KAAK,OAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,mCAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,eAAe;QACb,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,YAAY,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAAE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,CAAC;IAED,cAAc;;QACZ,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,OAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,mCAAI,EAAE,CAAC,CAAC;QACjE,IAAI,IAAI,GAA+B,IAAI,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEjD,GAAG,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;YAC3B,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,YAAY;gBACZ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;QAEH,YAAY;QACZ,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,YAAY;gBACZ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACvB;YACD,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;aACrC;YACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAoB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,MAAM,IAAI,IAAI;gBACjB,CAAC,CAAC,cAAc,CAAC,OAAO;gBACxB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI;oBACrB,CAAC,CAAC,cAAc,CAAC,OAAO;oBACxB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI;wBACrB,CAAC,CAAC,cAAc,CAAC,MAAM;wBACvB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,GAAQ;QAChB,OAAO,IAAI,OAAO,CAAM,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,sEAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBACpD,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B;QACjC,OAAO,IAAI,OAAO,CAAM,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;YACjD,IAAI,CAAC,IAAI;iBACN,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;iBACtC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,IAAS;;QACtB,IACE,WAAI,CAAC,eAAe,0CAAE,IAAI,KAAI,CAAC;YAC/B,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,EACjD;YACA,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAED,OAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAY,IAAI,EAAE,CAAC;IAC1D,CAAC;;8EAzJU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/C4C;AAIgC;AACvD;AAE8B;AAEf;AAMmF;AAKpD;;;;;;;;;;;;;;;;;;;;ICT3E,wEAAoC;IAClC,sGAUwD;IANvB,maAAqD;IAOtF,4DAAkC;IAEpC,qEAAe;;;IAZoB,0DAAuB;IAAvB,uFAAuB;;;;IAexD,wEAA4C;IAE1C,8FAGuE;IAH9C,gcAA+D;IAIxF,4DAA0B;IAE5B,qEAAe;;;IALY,0DAAiB;IAAjB,kFAAiB;;;;IAO5C,wEAA2C;IAEzC,6FAEqE;IAD7C,kaAAgD;IAExE,4DAAyB;IAE3B,qEAAe;;;IALW,0DAA2B;IAA3B,4FAA2B;;;IAbvD,wEAAoC;IAClC,oKAQe;IAEf,oKAOe;IACjB,qEAAe;;;IAlBE,0DAA2B;IAA3B,8FAA2B;IAU3B,0DAA0B;IAA1B,6FAA0B;;;;IAmBvC,6EAI8B;IAAtB,kVAAqB;IAC3B,uDACF;IAAA,4DAAS;;;IALD,mGAAuC;IAI7C,0DACF;IADE,6FACF;;;;IAEE,6EAEsC;IAA9B,+VAA6B;IACnC,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,6FACF;;;;;IA7ElB,wEAA2B;IAEzB,yEAA4B;IAC1B,yEAAgD;IAC9C,yEAAqB;IACnB,yEAAqB;IAEnB,yEAAwB;IACtB,yEAA4B;IAC1B,oEAA+U;IACjV,4DAAM;IACN,yEAA4C;IAC1C,wEAA2B;IAAA,wDAA2B;;IAAA,4DAAK;IAC3D,sEAAI;IAAC,wDAAgB;IAAA,4DAAK;IAC5B,4DAAM;IACR,4DAAM;IAEN,2EAAoB;IAElB,sJAce;IAEf,sJAmBe;IAGjB,4DAAM;IAEN,2EAAyC;IACvC,2EAAiB;IACf,2EAAmB;IACjB,8EAAkJ;IAA/B,oUAAoB,QAAQ,KAAE;IAAC,wDAAc;IAAA,4DAAS;IAC3K,4DAAM;IACN,2EAAmB;IACjB,2IAMS;IACT,iOAMc;IAChB,4DAAM;IACR,4DAAM;IACR,4DAAM;IAER,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IAGR,qEAAe;;;;IAhFI,0DAAoK;IAApK,4UAAoK;IAG9I,0DAA2B;IAA3B,uJAA2B;IACjD,0DAAgB;IAAhB,4FAAgB;IAMR,0DAAmB;IAAnB,sFAAmB;IAgBnB,0DAAmB;IAAnB,sFAAmB;IA2BoH,0DAAc;IAAd,kFAAc;IAGvJ,0DAAe;IAAf,gFAAe;;AD7BjC,MAAM,uBAAuB;IAsGlC,YACmB,YAAsB,EACtB,cAA8B,EAC9B,WAAwB,EACxB,aAA4B,EAC5B,EAAmB,EAC5B,MAAkB,EACT,GAAsB,EACtB,WAAwB,EACjC,QAAyB,EACzB,MAAoB,EACpB,QAAwB,EACxB,WAA8B,EACrB,WAAyB;QAZzB,iBAAY,GAAZ,YAAY,CAAU;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,OAAE,GAAF,EAAE,CAAiB;QAC5B,WAAM,GAAN,MAAM,CAAY;QACT,QAAG,GAAH,GAAG,CAAmB;QACtB,gBAAW,GAAX,WAAW,CAAa;QACjC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAc;QACpB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,gBAAW,GAAX,WAAW,CAAmB;QACrB,gBAAW,GAAX,WAAW,CAAc;QA5G5C,oBAAe,GAAkB,EAAE,CAAC;QAIpC,WAAM,GAAW,GAAG,CAAC;QAErB,eAAU,GAAW,GAAG,CAAC;QAEzB,YAAO,GAAY,KAAK,CAAC;QAEzB,SAAI,GAAkB,IAAI,CAAC;QAE3B,aAAQ,GAAW,CAAC,CAAC;QAErB,aAAQ,GAAW,EAAE,CAAC;QActB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,2BAA2B;QAE3B,kBAAa,GAAW,EAAE,CAAC;QAC3B,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,EAAE,CAAC;QAoCxB,cAAS,GAAiB,EAAkB,CAAC;QAE7C,eAAU,GAAgB,EAAiB,CAAC;QAE5C,uBAAkB,GAAiB,EAAE,CAAC;QAEtC,wBAAmB,GAAsB,EAAE,CAAC;QAY5C,kBAAa,GAAW,EAAE,CAAC;QAE3B,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,qEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,qEAAW,CAAC,kBAAkB,CAAC;QAEnC,qBAAgB,GAAY,EAAE,CAAC;QAkB/B,oBAAe,GAAY,KAAK,CAAC;QAEjC,gBAAW,GAAW,EAAE,CAAC;IAJtB,CAAC;IAnHJ,WAAW;QACT,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACvC;IACH,CAAC;IAoCD,oBAAoB,CAAC,MAGpB;QACC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,iCAAiC;IACjC,qBAAqB,CAAC,MAAyB;QAC7C,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QAElC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1D,IACE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC7B,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB;4BACjD,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,EACjC;wBACA,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC5B,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;qBACjD;yBAAM;wBACL,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;qBAClD;iBACF;aACF;SACF;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAUD,iBAAiB,CAAC,OAAgB;QAChC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kBAAkB,CAAC,OAAgB;QACjC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IA8BD,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,aAAa,GAAG,+EAAc,CAAC,gBAAgB,EAAE,CAAC;QAEvD,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,GAAG,+EAAc,CAAC,mBAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe;YAClB,+EAAc,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAClD,IAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;gBAChC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CACxB,IAAI,CAAC,IAAc,EACnB,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,MAAM,EACR,IAAI,EACJ,KAAK,EACL,IAAI,CACL,CAAC;aACH;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;gBAChC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CACxB,IAAI,CAAC,IAAc,EACnB,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,MAAM,EACR,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAC;gBACF,IAAI,IAAI,CAAC,oBAAoB;oBAAE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;aAC/E;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACvD,IAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;gBAChC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CACxB,IAAI,CAAC,IAAc,EACnB,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,MAAM,EACR,KAAK,EACL,IAAI,EACJ,IAAI,CACL,CAAC;gBACF,IAAI,IAAI,CAAC,oBAAoB;oBAAE,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;aAC/E;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,yEAAyE;IACjE,eAAe,CAAC,YAAoB;QAC1C,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAW,CAAC;QAEhE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAEhC,MAAM,KAAK,GAAG,CAAC,EAAO,EAAE,WAAoB,KAAK,EAAE,EAAE;gBACnD,IAAI,EAAE,CAAC,UAAU,EAAE;oBACjB,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE;wBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC9C,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;yBACtD;qBACF;iBACF;qBAAM;oBACL,IAAI,QAAQ,IAAI,EAAE,CAAC,cAAc,IAAI,OAAO,EAAE;wBAC5C,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;wBACtB,IAAI,EAAE,CAAC,SAAS,EAAE;4BAChB,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC9B;qBACF;iBACF;YACH,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;aACrE;SACF;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;gBAE7B,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;oBAE9D,IAAI,IAAI,CAAC,oBAAoB,EAAE;wBAC7B,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,IAAI,CAAC;wBACjD,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,UAAU,CAAC;wBAClD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;qBACtC;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,mCAAmC;QAEnC,kDAAkD;QAElD,IAAI,CAAC,EAAE;aACJ,0BAA0B,CAAC,MAAM,CAAC;aAClC,IAAI,CAAC,CAAO,WAAyB,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAEzB,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAC/D,WAAW,CACZ,CAAC;YACF,IAAG,IAAI,CAAC,WAAW,CAAC,WAAW,IAAE,gFAAW,CAAC,QAAQ,EAAC;gBACpD,IAAI,YAAY,GAAM,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC;gBAC9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;aACtF;YACD,sCAAsC;YAEtC,0DAA0D;YAE1D,sEAAsE;YAEtE,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;aAClE;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAE1B,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;aACtC;QACH,CAAC,EAAC,CAAC;IACP,CAAC;IAEO,YAAY;;QAClB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IACE,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,EAC3D;YACA,OAAO,GAAG,IAAI,CAAC;SAChB;aAAM;YACL,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;oBACtC,IACE,IAAI,CAAC,IAAI;wBACT,IAAI,CAAC,IAAI,CAAC,SAAS;wBACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAC9B;wBACA,OAAO,GAAG,KAAK,CAAC;qBACjB;yBAAM;wBACL,OAAO,GAAG,IAAI,CAAC;qBAChB;iBACF;qBAAM;oBACL,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;iBACjC;aACF;YAED,IACE,OAAO,WACP,IAAI,CAAC,IAAI,0CAAE,UAAU;gBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC/B,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC1B;gBACA,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAClC;SACF;QAED,sDAAsD;QACtD,qBAAqB;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,WAAW;IACb,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAC,IAAY,EAAE,WAAmB,CAAC,EAAE,gBAAyB,KAAK;QACzG,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC9D,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,2BAA2B;YACxC,gBAAgB,EAAE,WAAW;YAC7B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IACE,CAAC,IAAI,CAAC,OAAO;YACb,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG;YAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAC7B;YACA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAED,cAAc,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7C,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC;QAClD,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtD,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;QACpD,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,aAAa,CAAC;QACnE,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,WAAmB,CAAC,EAAE,gBAAyB,KAAK;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACrE,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,2BAA2B;YACxC,gBAAgB,EAAE,WAAW;YAC7B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAEtB,IACE,CAAC,IAAI,CAAC,OAAO;YACb,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG;YAC9B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAC7B;YACA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,GAAG,GAAG,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,aAAa,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3E,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,IAAS;QAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,cAAc;;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAW,CAAC;QAEjE,QAAQ,CAAC,IAAI,GAAG,iDAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;QACzB,QAAQ,CAAC,QAAQ,SAAG,IAAI,CAAC,IAAK,CAAC,QAAQ,mCAAI,GAAG,CAAC;QAC/C,QAAQ,CAAC,OAAO,GAAG,CAAC,CAClB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG;YAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,OAAO,CACrD,CAAC;QACF,QAAQ,CAAC,sBAAsB;YAC7B,QAAQ,CAAC,sBAAsB,IAAI,EAAE;gBACnC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtC,gDAAgD;QAChD,QAAQ,CAAC,UAAU;YACjB,gEAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;IACtE,CAAC;;8FAvaU,uBAAuB;uGAAvB,uBAAuB;kEAuBvB,2GAA0B;kEAG1B,sJAAiC;;;;;;QC9D9C,uIAyFe;;QAzFA,0EAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;ICUb,wEAAsC;IAClC,uDACA;IAAA,uEAAM;IAAA,uDAAmC;;IAAA,4DAAO;IACpD,4DAAK;;;IAFD,0DACA;IADA,0GACA;IAAM,0DAAmC;IAAnC,yJAAmC;;;IAG7C,yEAAuF;IACnF,yEAAkG;IAC9F,2EAAsB;IAAA,uDAAe;IAAA,4DAAO;IAChD,4DAAM;IACV,4DAAM;;;IAFwB,0DAAe;IAAf,mFAAe;;;IAI7C,0EAAkE;IAC9D,wEAA2C;IAAA,uDAAiB;IAAA,4DAAI;IAChE,wEAAwC;IAAA,uDAAyB;;IAAA,4DAAI;IACzE,4DAAM;;;IAFyC,0DAAiB;IAAjB,qFAAiB;IACpB,0DAAyB;IAAzB,8IAAyB;;;;IAMrE,0EAAmE;IAC/D,6EAEqG;IAA5B,0TAAe,UAAU,KAAE;IAChG,uDACJ;;IAAA,4DAAS;IACT,gEAAM;IACN,6EAEsE;IAA1B,0TAAe,QAAQ,KAAE;IACjE,uDACJ;;IAAA,4DAAS;IACb,4DAAM;;;IARE,0DACJ;IADI,0KACJ;IAKI,0DACJ;IADI,8JACJ;;AC9BT,MAAM,8BAA8B;IAqCzC,YACU,YAAsB,EACtB,QAAyB;QADzB,iBAAY,GAAZ,YAAY,CAAU;QACtB,aAAQ,GAAR,QAAQ,CAAiB;QA3BnC,WAAM,GAAW,CAAC,CAAC;QAEnB,UAAK,GAAW,EAAE,CAAC;QAEnB,aAAQ,GAAW,EAAE,CAAC;QAGtB,qBAAgB,GAAW,GAAG,CAAC;QAC/B,4BAAuB,GAAW,EAAE,CAAC;QAG5B,QAAG,GAAW,CAAC,CAAC;QAIzB,iBAAY,GAAW,EAAE,CAAC;QAE1B,qBAAgB,GAAW,EAAE,CAAC;QAE9B,gBAAW,GAAW,EAAE,CAAC;QAEzB,eAAU,GAAW,EAAE,CAAC;QACxB,kBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAsB,GAAW,EAAE,CAAC;IAKhC,CAAC;IAtCL,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAqCD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAC/D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;QAC7E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;IACtF,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB,EAAE,KAAa,EAAE,KAAa,EAAE,QAAgB,EAAE,MAAc;QACvG,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CACpC,8BAA8B,EAC9B;YACE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CACF,CAAC;QAEF,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/C,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACrD,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;QACjD,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAE/C,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACzC,8BAA8B,EAC9B;YACE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CACF,CAAC;QAEF,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACpD,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;IACjD,CAAC;IAED,YAAY;QACV,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gDAAgD,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7D,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,wCAAwC,CAAC,CAAC;QACvF,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,IAAS;QACf,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC;QACzD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YAChE,IAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3G;QACD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;;4GA7HU,8BAA8B;8GAA9B,8BAA8B;QDV3C,0EAAS;QACL,yEAAkC;QAC9B,yEAA2B;QAIvB,wEAAwB;QAAA,uDAA0B;;QAAA,4DAAK;QAGvD,wEAAwB;QAAA,uDAAS;QAAA,4DAAK;QACtC,wHAGK;QACL,wEAAwB;QAAA,wDAAY;QAAA,4DAAK;QACzC,4HAIM;QAEN,4HAGM;QAKN,4HAYM;QAGV,4DAAM;QACV,4DAAM;QAEV,4DAAU;;QAzC0B,0DAA0B;QAA1B,kJAA0B;QAG1B,0DAAS;QAAT,0EAAS;QAC5B,0DAAe;QAAf,iFAAe;QAII,0DAAY;QAAZ,6EAAY;QAC9B,0DAAe;QAAf,iFAAe;QAMf,0DAAe;QAAf,iFAAe;QAQf,0DAAe;QAAf,iFAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;IE1BzB,yEAAsD;IACpD,oEAAG;IAAC,uDAAuD;;IAAA,4DAAI;IAC7D,oEAAG;IAAC,uDAAqD;;;IAAA,4DAAI;IAChE,4DAAM;;;IAFD,0DAAuD;IAAvD,4LAAuD;IACrD,0DAAqD;IAArD,wOAAqD;;ACQ9D,MAAM,gBAAgB;IAE3B,YAAoB,WAAwB,EAAS,QAAwB;QAAzD,gBAAW,GAAX,WAAW,CAAa;QAAS,aAAQ,GAAR,QAAQ,CAAgB;QAG7E,kBAAa,GAAQ,EAAE;QACvB,WAAM,GAAQ,EAAE;QAChB,cAAS,GAAG,CAAC;gBACX,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAC,CAAC;aACT,CAAC,CAAC;IAV8E,CAAC;IAWlF,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAClD,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,aAAa,EAAC;YACrB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5B;IACH,CAAC;;gFAjCU,gBAAgB;gGAAhB,gBAAgB;QDb7B,yEAA0B;QACtB,uEAAqB;QAAA,uDAA2B;;QAAA,4DAAI;QACpD,yEAAgC;QAC5B,6GAGO;QACN,4EAAmD;QAA3C,wIAAS,WAAO,IAAC;QACrB,uDACJ;;QAAA,4DAAS;QACd,4DAAM;QACV,4DAAM;;QAVmB,0DAA2B;QAA3B,mJAA2B;QAErB,0DAAY;QAAZ,kFAAY;QAK9B,0DACJ;QADI,uJACJ;;;;;;;;;;;;;;AETT;AAAA;AAAA;AAA4B;AAOrB,MAAM,eAAe;IAa1B;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,UAAoB,EACpB,SAAqB,EACrB,SAAqB,EACrB,aAAyB;QAEzB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAO;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,EAAE,CAAC,UAAU,CACX,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAC3C,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,CAAC,CAAC,EACZ,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CACxB,SAAiB,EACjB,SAAmB,EACnB,QAAkB,EAClB,YAAsB;QAEtB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAO;YACnC,EAAE,CAAC,UAAU,CACX,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,EACvC,SAAS,EACT,QAAQ,EACR,YAAY,CACb,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,wBAAwB,CAC7B,SAAiB,EACjB,SAAmB;QAGnB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC1D,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAO;gBACnC,EAAE,CAAC,UAAU,CACX,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,EACvC,SAAS,EACT,CAAC,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,EAAC,EAAE,EAAE,OAAO,EAAC,CAAC,CAAC,EACtD,CAAC,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;oBAC5B,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC7D,MAAM,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;gBAC9B,CAAC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,qDAAqD;QACrD,KAAK;QACL,IAAI,YAAY,GAAG,UAAU,EAAU,EAAE,MAAW;YAClD,sBAAsB;QACxB,CAAC,CAAC;QACF,IAAI,CAAC,mBAAmB,CACtB,iFAAiF,EACjF,EAAE,EACF,UAAU,cAAmB,EAAE,YAAiB;YAC9C,IAAI,KAAU,EACZ,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,6CAA6C;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;gBACrC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC,+CAA+C;gBAC/C,cAAc,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;aACvD;QACH,CAAC,EACD,YAAY,CACb,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAI,KAAU;QACnC,OAAO,iDAAI,CACT,IAAI,OAAO,CAAM,CAAC,OAAY,EAAE,EAAE;YAChC,SAAS,aAAa,CAAC,SAAc,EAAE,KAAU;gBAC/C,2DAA2D;gBAC3D,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAM,OAAO,CAAC,IAAI,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;AAtHD;;;;GAIG;AACI,kBAAE,GAAS,MAAO,CAAC,YAAY,CACpC,cAAc,EACd,KAAK,EACL,cAAc,EACd,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAC7B,CAAC;;;;;;;;;;;;;;;;;;;;;;ACbsD;;;;;AAKnD,MAAM,YAAY;IAQvB,YACE,iBAAoC,EAC5B,MAAkB,EAClB,cAA8B;QAD9B,WAAM,GAAN,MAAM,CAAY;QAClB,mBAAc,GAAd,cAAc,CAAgB;QAVxC,gBAAW,GAAW,gCAAgC,CAAC;QACvD,cAAS,GAAc,EAAE,CAAC;QAC1B,YAAO,GAAgB,EAAE,CAAC;QAC1B,cAAS,GAAY,IAAI,CAAC;QAC1B,eAAU,GAA8B,EAAE,CAAC;QAC3C,aAAQ,GAAW,CAAC,CAAC;QAOnB,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,OAAO,CAAc,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC5D,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,SAAS;;YACb,+BAA+B;YAC/B,qCAAqC;YACnC,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,+CAA+C;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC;YACxB,WAAW;YACX,2BAA2B;YAC3B,IAAI;QACN,CAAC;KAAA;IAED,cAAc;QACZ,OAAO,IAAI,OAAO,CAAY,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC1D,OAAO;YACP,IAAI,OAAO,GAAG;;;;;;;;;;;;;KAaf,CAAC;YAEA,UAAU;YACV,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,MAAW,EAAE,EAAE;;gBAC5C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,oCAAoC;gBACpC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;oBAC5B,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;wBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;qBACvB;yBAAM;wBACL,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;4BACjC,OAAO,CAAC,SAAS;gCACf,oCAAoC;gCACpC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;yBAC7C;wBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;qBACtB;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC;oBAC5B,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEd,mBAAmB;gBACnB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;oBACzD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC/C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;qBACxB;iBACF;gBAED,qBAAqB;gBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3B,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,IACE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE;oBACnC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE;oBACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI;oBAC3C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS,EAChD;oBACA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;iBACvD;gBAED,IAAI,CAAC,QAAQ,SAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,aAAa,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC,CAAC;YAEF,OAAO;YACP,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,kBAAkB;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEvB,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBAE/D,MAAM,EAAE,CAAC;YACX,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CACjC,OAAO,EACP,EAAE,EACF,SAAS,EACT,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;wEA1HU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHuB;AAMd;AAE0D;AAGd;AAKd;AACiC;AACE;;;;;;;;;;;;;;;ICFlF,0EAA0G;IACtG,qEAK0F;IAC1F,0EAAqB;IACjB,6EAAyE;IAAjC,ibAAgC;IAAE,mEAA2C;IAAA,4DAAS;IAC9H,sEAAK;IAAA,uDAAiC;IAAA,4DAAM;IAC5C,6EAA8D;IAAjC,ibAAgC;IAAC,mEAA0C;IAAA,4DAAS;IAErH,4DAAM;IACN,0EAAkB;IACd,sEAAI;IAAA,wDAAa;IAAA,4DAAK;IACtB,0EAAwB;IAAA,wDAAwB;IAAA,4DAAK;IACzD,4DAAM;IAEN,8EAC6F;IADhE,seAA6B,KAAK,KAAG;IAE9D,wDACJ;IAAA,4DAAS;IACT,2EAAyB;IAAA,yEAAsE;IAA3B,yaAA0B;IAAC,4DAAI;IAAA,4DAAM;IAC7G,4DAAM;;;;IAtBG,0DAIgD;IAJhD,2UAIgD;IAI5C,0DAAiC;IAAjC,0GAAiC;IAKlC,0DAAa;IAAb,6EAAa;IACO,0DAAwB;IAAxB,wFAAwB;IAIhD,0DAAwF;IAAxF,oNAAwF;IACxF,0DACJ;IADI,2FACJ;;;IAtBR,sEAAuD;IACnD,mIAuBM;IACV,4DAAM;;;IAxBiF,0DAAqB;IAArB,oFAAqB;;;IAFhH,sEAA4B;IACxB,4HAyBM;IACV,4DAAM;;;IA1BoB,0DAAqB;IAArB,4FAAqB;;;;IAgC/C,6EACsC;IAAlC,4TAAgB,eAAe,KAAE;IAAC,uDACgD;IAAA,4DAAS;;;IADzD,0DACgD;IADhD,yNACgD;;;AD9B1F,kEAAkE;AAO3D,MAAM,yBAAyB;IAoCpC,YACmB,mBAAwC,EACxC,MAAc,EACd,KAAqB,EACrB,YAAsB,EACtB,cAA8B,EAC9B,EAAmB,EACnB,WAAwB,EACxB,oBAA0C,EACnD,QAAyB,EAChB,WAAwB;QATxB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAU;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,OAAE,GAAF,EAAE,CAAiB;QACnB,gBAAW,GAAX,WAAW,CAAa;QACxB,yBAAoB,GAApB,oBAAoB,CAAsB;QACnD,aAAQ,GAAR,QAAQ,CAAiB;QAChB,gBAAW,GAAX,WAAW,CAAa;QAzC3C,mBAAc,GAAU,EAAE,CAAC;QAC3B,SAAI,GAAW,IAAI,0DAAM,EAAE,CAAC;QAC5B,kBAAa,GAAW,CAAC,CAAC;QAC1B,gBAAW,GAAmB,EAAE,CAAC;QAEjC,kBAAa,GAAU,EAAE,CAAC;QAC1B,qBAAgB,GAAa,EAAE,CAAC;QACvB,uBAAkB,GAAW,CAAC,CAAC;QAExC,oBAAe,GAAmB,EAAE,CAAC;QACrC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,wEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,wEAAW,CAAC,kBAAkB,CAAC;QAEnC,kBAAa,GAAW,EAAE,CAAC;QAC3B,aAAQ,GAAW,EAAE,CAAC;QACtB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,sBAAiB,GAAW,EAAE;QAC9B,sBAAiB,GAAW,EAAE;QAC9B,kBAAa,GAAW,EAAE;QAC1B,eAAU,GAAW,EAAE;QACvB,iBAAY,GAAW,EAAE;QACzB,qBAAgB,GAAY,KAAK,CAAC;QAClC,mBAAc,GAAmB,EAAoB,CAAC;QAGtD,iBAAY,GAAW,CAAC,CAAC;QAEzB,oBAAe,GAAG,EAAc,CAAC;QACjC,oBAAe,GAAW,CAAC,CAAC;QAgV5B,aAAQ,GAAY,KAAK;QAnUvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH;IACH,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEtE,CAAC;IAED,IAAI,CACF,iBAAyB,EACzB,IAAY,EACZ,cAAqB,EACrB,aAAoB,EACpB,qBAA0B,EAC1B,kBAA0B,EAC1B,gBAAyB,EACzB,cAAmB;QAEnB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC1D,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,gBAAgB;YAC7B,gBAAgB,EAAE,WAAW;YAC7B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACtD,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;QAClC,GAAG,CAAC,iBAAiB,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACxD,GAAG,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACpD,GAAG,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC;QACpD,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACpE,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC9D,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC1D,GAAG,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACtD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACxB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBACrC,IAAI,SAAS,CAAC,UAAU,EAAE;wBACxB,IACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,SAAS,CAAC,kBAAkB,CAC5D,IAAI,SAAS,EACd;4BACA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBACvC;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACnD;IACH,CAAC;IAED,MAAM,CAAC,MAAc,EAAE;QACrB,IAAI,GAAG,IAAI,eAAe,EAAE;YAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,GAAG,GAAG;gBACR,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAED,gBAAgB,CAAC,YAAoB;QACnC,IACE,IAAI,CAAC,aAAa;YAClB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EACjD;YACA,eAAe;YACf,yDAAyD;YACzD,4CAA4C;YAC5C,oCAAoC;YACpC,sBAAsB;YACtB,MAAM;YACN,IAAI;YACJ,IAAI,QAAQ,GAAG,YAAY,CAAC,uBAAuB,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAW,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,YAAsB,CAAC,CAAC;YAC1C,IAAI,CAAC,wBAAwB,CAAC,OAAiB,EAAE,QAAQ,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,gBAAgB,CAAC,YAAoB;QACnC,eAAe;QACf,yDAAyD;QACzD,4CAA4C;QAC5C,mCAAmC;QACnC,sBAAsB;QACtB,MAAM;QACN,IAAI;QACJ,IAAI,QAAQ,GAAG,YAAY,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAW,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,YAAsB,CAAC,CAAC;QAC1C,IAAI,CAAC,wBAAwB,CAAC,OAAiB,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAC9B;IACH,CAAC;IAEO,eAAe,CAAC,UAAwB;QAC9C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,aAAa,EAAE,CAAC;aACjB;SACF;QACD,OAAO,aAAa,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,2BAA2B;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;wBACvB,iGAAiG;wBACjG,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;iBACF;aACF;SACF;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,wBAAwB,CAC9B,IAAY,EACZ,QAAgB,EAChB,OAAgB;QAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACjC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACtC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC7C,SAAS;qBACV;yBAAM;wBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC3B,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gCACnC,KAAK,EAAE,CAAC;gCACR,IAAI,KAAK,IAAI,QAAQ,EAAE;oCACrB,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;oCAC5B,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;oCACzB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oCACrC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;oCAC3B,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;oCACvD,SAAS,CAAC,uBAAuB,GAAG,QAAQ,CAAC;oCAC7C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;oCAEzC,wCAAwC;oCACxC,6CAA6C;oCAC7C,IAAI,KAAK,IAAI,QAAQ,EAAE;wCACrB,6CAA6C;wCAC7C,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;qCAC3C;oCACD,MAAM;iCACP;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,OAAgB;QACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GAAW,IAAI,CAAC,uBAAuB,CAAC;QACpD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3B,IACE,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;4BAC/B,SAAS,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB;4BACvD,SAAS,CAAC,UAAU,EACpB;4BACA,KAAK,EAAE,CAAC;4BACR,IAAI,KAAK,IAAI,QAAQ,EAAE;gCACrB,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;gCAC7B,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;gCACzB,SAAS,CAAC,uBAAuB,GAAG,CAAC,CAAC;gCACtC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAW,CAAC;gCACzD,cAAc;gCACd,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oCACrD,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iCACpD;gCAED,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gCACxC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gCACzC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gCAE3C,SAAS;6BACV;yBACF;qBACF;iBACF;aACF;SACF;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,0BAA0B,CAAC,SAAgD;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACvB,IAAI,QAAQ,GAAG,QAAsB,CAAC;gBACtC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC5B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACvD;iBAAM;gBACL,IAAI,UAAU,GAAG,QAAgC,CAAC;gBAClD,UAAU,CAAC,UAAU;oBACnB,UAAU,CAAC,SAAS,IAAI,MAAM,IAAI,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC;aACzE;SACF;IACH,CAAC;IACD,mBAAmB,CAAC,SAAiB,EAAE,IAAa;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;gBACtC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;aAClC;SACF;IACH,CAAC;IACD,UAAU,CAAC,SAAiB;QAC1B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,gBAAgB;IAChB,iCAAiC;IACjC,IAAI;IAEJ,UAAU,CAAC,IAAY,EAAE,GAAW,EAAE,OAAgB;QACpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,oGAAuB,CAC3C,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACzC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CACL,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC/C,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAqB,EAAE,EAAE;YACnD,IAAI,MAAM,EAAE;gBACV,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnD,MAAM,OAAO,GAAG,MAAgB,CAAC;oBACjC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,uBAA8B,CAAC;wBAC5D,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;oBACpC,yDAAyD;oBACzD,mCAAmC;oBAEnC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAW,CAAC;oBAC3D,MAAM,CAAC,uBAAuB,GAAG,WAAW,CAAC;oBAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC1B,IAAI,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC;oBACtD,2DAA2D;oBAC3D,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;iBAC9D;aACF;iBAAM;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAIK,SAAS;;;YACb,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI;YACpB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;gBAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBACI;gBACH,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,gBAAgB,QACrB,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CACtC,CAAC;gBAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;gBAEhC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;oBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;qBAAM;oBACL,MAAM,mBAAmB,GAAG,MAAM,CAChC,sFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,CAAC,sFAAc,CAAC,4BAA4B,EAAE,CAAC,CAAC;oBACvE,IACE,mBAAmB,IAAI,QAAQ;wBAC/B,CAAC,uEAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAC9C;wBACA,IAAI,CAAC,cAAc,EAAE,CAAC;qBACvB;yBAAM;wBACL,IAAI,cAAc,GAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAC3D,IACE,MAAM,CAAC,cAAc,CAAC,GAAG,mBAAmB,KAAK,QAAQ;4BACzD,IAAI,CAAC,IAAI,CAAC,uBAAuB;gCACjC,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE;4BACpC,CAAC,uEAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAC9C;4BACA,IAAI,CAAC,cAAc,EAAE,CAAC;yBACvB;6BAAM;4BACL,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAC,EAAE,SAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAC,EAAE,CAAC,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;4BACtJ,IAAG,CAAC,UAAU,EAAE;gCACd,IAAI,CAAC,eAAe,EAAE,CAAC;6BACxB;iCAAM;gCACL,IAAI,CAAC,cAAc,EAAE,CAAC;6BACvB;yBACF;qBACF;iBACF;aACF;;KAWF;IAEO,eAAe;QACrB,MAAM,WAAW,GAAG,uEAAe,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,QAAQ,GAAW,CAAC,CAAC;QAEzB,IAAI,WAAW,IAAI,iBAAiB,EAAE;YACpC,QAAQ,GAAG,CAAC,CAAC;SACd;QAED,IAAI,IAAI,GAAG,sGAAqB,CAAC,IAAI,CACnC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,eAAe,EACpB,QAAQ,EACR,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEjE,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;gBAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;gBAEjC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE;oBAC3C,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC/B,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;oBACzC,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;oBACzC,UAAU,CAAC,eAAe,GAAG,uEAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACnE,UAAU,CAAC,UAAU,GAAG,uEAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAEjE,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBACzB,IACE,IAAI,CAAC,cAAc;4BACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAC9C;4BACA,UAAU,CAAC,gBAAgB;gCACzB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;4BACvC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BACzD,UAAU,CAAC,uBAAuB;gCAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;yBACjC;qBACF;oBAED,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC9B;gBAED,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,cAAc,CAAC,cAAwB,EAAE;;YAC7C,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW;iBAC7B,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;iBAChE,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC/C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjD;iBACF;gBACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,QAAQ,GAAG,KAAK;YACvB,CAAC,CAAC;QACN,CAAC;KAAA;IACO,eAAe,CAAC,qBAA2B;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAW,CAAC;QACjE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,wDAAI,CAAC,OAAO,EAAE,CAAC;QACjE,QAAQ,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC;QACrD,QAAQ,CAAC,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC;QAC5D,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3C,QAAQ,CAAC,QAAQ,GAAG,qBAAqB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QACrE,QAAQ,CAAC,sBAAsB;YAC7B,QAAQ,CAAC,sBAAsB,IAAI,EAAE;gBACnC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtC,QAAQ,CAAC,SAAS,GAAG,qBAAqB,CAAC,aAAa,CAAC;QACzD,QAAQ,CAAC,cAAc,GAAG,qBAAqB,CAAC,cAAc,CAAC;QAC/D,QAAQ,CAAC,UAAU;YACjB,uEAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,4BAA4B;QAClC,IAAI,IAAI,CAAC,+BAA+B,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CACtC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EACjC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EACrC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CACrC,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,sFAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE;gBACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC3C;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;oBAC9B,WAAW,EAAE;wBACX,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;wBAC9B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;wBACpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC;iBACF,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAEO,+BAA+B;QACrC,MAAM,oBAAoB,GAAG,sFAAc,CAAC,sBAAsB,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,sFAAc,CAAC,YAAY,EAAE,CAAC;QAEhD,IACE,oBAAoB;YACpB,oBAAoB,KAAK,MAAM;YAC/B,SAAS;YACT,SAAS,KAAK,MAAM;YAEpB,OAAO,IAAI,CAAC;QAEd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;QACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,mBAAmB,CAAC,EACzD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;wBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;4BAC5C,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;iBACF;aACF;SACF;QAED,IAAI,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAChD,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC,kBAAkB,EACvE,CAAC,EAAE,EACH;YACA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,8CAA8C;gBACrD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;SACJ;IACH,CAAC;IACD,eAAe;QACb,OAAO,sFAAc,CAAC,eAAe,EAAE,CAAC;IAC1C,CAAC;IACD,cAAc;QACZ,OAAO,sFAAc,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;;kGA7lBU,yBAAyB;yGAAzB,yBAAyB;QC/BtC,6EAAgC;QAC5B,yEAAoF;QAChF,qEAAI;QAAA,uDAAa;QAAA,4DAAK;QACtB,uEAAuD;QAAlC,4IAAS,WAAO,eAAe,CAAC,IAAC;QAElD,8DAA2E;QAA3E,yEAA2E;QACvE,qEACuB;QACvB,qEAEiE;QACrE,4DAAM;QAGV,4DAAI;QACR,4DAAM;QACV,4DAAU;QACV,+DAA6B;QAA7B,6EAA6B;QAEzB,qHA2BM;QAIV,4DAAU;QACV,8EAA+B;QAC3B,6HAE+F;QAC/F,8EAEgF;QAAtB,kJAAS,eAAW,IAAC;QAAC,wDAAiB;QAAA,4DAAS;QAC9G,4DAAU;QAGV,2EAA0G;QACtG,2EAAiE;QAC7D,2EAA2B;QAEvB,yEAA8E;QAC1E,sEAA8F;QAAA,4DAAI;QACtG,2EAAwB;QAEpB,2EAAsB;QAClB,wDAAgB;QAAA,iEAAM;QAAA,wDAC1B;QAAA,4DAAM;QAEV,4DAAM;QACN,2EAA0B;QACtB,8EAAgD;QAAA,wDAAiB;QAAA,4DAAS;QAC9E,4DAAM;QAEV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QA9EM,0DAAa;QAAb,8EAAa;QAIoD,0DAAqC;QAArC,iKAAqC;QAI9F,0DAAqC;QAArC,iKAAqC;QAS/C,0DAAoB;QAApB,oFAAoB;QAiCjB,0DAAiE;QAAjE,+IAAiE;QAGzC,0DAAwE;QAAxE,mJAAwE;QAEzB,0DAAiB;QAAjB,kFAAiB;QAajF,0DAAgB;QAAhB,2FAAgB;QAAM,0DAC1B;QAD0B,2FAC1B;QAIgD,0DAAiB;QAAjB,kFAAiB;;;;;;;;;;;;;;AC3EjF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,gBAAgB;IAA7B;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,kCAA4B,GAAW,EAAE,CAAC;QAC1C,8BAAwB,GAAW,EAAE,CAAC;QACtC,yBAAmB,GAAW,EAAE,CAAC;QACjC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAgB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,aAAc,SAAQ,gBAAgB;IAAnD;;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,gBAAiB,SAAQ,gBAAgB;IAAtD;;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,sBAAgB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,sBAAuB,SAAQ,gBAAgB;IAA5D;;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,gBAAiB,SAAQ,gBAAgB;IAAtD;;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,sBAAgB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,eAAS,GAAW,EAAE,CAAC;QACvB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,iBAAkB,SAAQ,gBAAgB;IAAvD;;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,YAAM,GAAW,EAAE,CAAC;QACpB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,yBAAmB,GAAW,EAAE,CAAC;QACjC,kBAAY,GAAW,EAAE,CAAC;QAC1B,yBAAmB,GAAW,EAAE,CAAC;QACjC,qBAAe,GAAW,EAAE,CAAC;QAC7B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,eAAS,GAAW,EAAE,CAAC;QACvB,cAAQ,GAAW,EAAE,CAAC;QACtB,0BAAoB,GAAW,EAAE,CAAC;QAClC,yBAAmB,GAAW,EAAE,CAAC;QACjC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAmB,GAAW,EAAE,CAAC;QACjC,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,8BAAwB,GAAW,EAAE,CAAC;QACtC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,yBAAmB,GAAW,EAAE,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,gBAAiB,SAAQ,gBAAgB;IAAtD;;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,+BAAyB,GAAW,EAAE,CAAC;QACvC,2BAAqB,GAAW,EAAE,CAAC;QACnC,+BAAyB,GAAW,EAAE,CAAC;QACvC,yCAAmC,GAAW,EAAE,CAAC;QACjD,+BAAyB,GAAW,EAAE,CAAC;QACvC,sCAAgC,GAAW,EAAE,CAAC;QAC9C,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;IACxB,CAAC;CAAA;AAEM,MAAM,iBAAkB,SAAQ,gBAAgB;IAAvD;;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,iBAAW,GAAW,EAAE,CAAC;QACzB,yBAAmB,GAAW,EAAE,CAAC;QACjC,YAAM,GAAW,EAAE,CAAC;QACpB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,qCAAsC,SAAQ,gBAAgB;IAA3E;;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAkB,GAAW,EAAE,CAAC;QAChC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,eAAgB,SAAQ,gBAAgB;IAArD;;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,yBAAmB,GAAW,EAAE,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,WAAY,SAAQ,gBAAgB;IAAjD;;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,eAAS,GAAW,EAAE,CAAC;QACvB,WAAK,GAAW,EAAE,CAAC;QACnB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,qCAA+B,GAAW,EAAE,CAAC;QAC7C,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,SAAS;IAAtB;QACE,yBAAmB,GAAW,EAAE,CAAC;QACjC,eAAS,GAAW,EAAE,CAAC;QACvB,mBAAa,GAAW,EAAE,CAAC;QAC3B,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,uBAAiB,GAAW,EAAE,CAAC;QAC/B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,cAAQ,GAAW,EAAE,CAAC;QACtB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,YAAM,GAAW,EAAE,CAAC;QACpB,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,WAAK,GAAW,EAAE,CAAC;QACnB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,wBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAkB,GAAW,EAAE,CAAC;QAChC,sCAAgC,GAAW,EAAE,CAAC;QAC9C,sBAAgB,GAAW,EAAE,CAAC;QAC9B,yBAAmB,GAAW,EAAE,CAAC;QACjC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,4BAAsB,GAAW,EAAE,CAAC;QACpC,0BAAoB,GAAW,EAAE,CAAC;QAClC,iBAAW,GAAW,EAAE,CAAC;QACzB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,yBAAmB,GAAW,EAAE,CAAC;QACjC,wBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAkB,GAAW,EAAE,CAAC;QAChC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,iCAA2B,GAAW,EAAE,CAAC;QACzC,iCAA2B,GAAW,EAAE,CAAC;QACzC,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,aAAO,GAAW,EAAE,CAAC;QACrB,qBAAe,GAAW,EAAE,CAAC;QAC7B,eAAS,GAAW,EAAE,CAAC;QACvB,4BAAsB,GAAW,EAAE,CAAC;QACpC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAa,GAAW,EAAE,CAAC;QAC3B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sCAAgC,GAAW,EAAE,CAAC;QAC9C,+BAAyB,GAAW,EAAE,CAAC;QACvC,+BAAyB,GAAW,EAAE,CAAC;QACvC,qBAAe,GAAW,EAAE,CAAC;QAC7B,mCAA6B,GAAW,EAAE,CAAC;QAC3C,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,yBAAmB,GAAW,EAAE,CAAC;QACjC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,2BAAqB,GAAW,EAAE,CAAC;QACnC,6BAAuB,GAAW,EAAE,CAAC;QACrC,gCAA0B,GAAW,EAAE,CAAC;IAC1C,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;QAChC,yBAAmB,GAAW,EAAE,CAAC;QACjC,eAAS,GAAW,EAAE,CAAC;QACvB,yBAAmB,GAAW,EAAE,CAAC;QACjC,cAAQ,GAAW,EAAE,CAAC;QACtB,eAAS,GAAW,EAAE,CAAC;QACvB,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;QAChC,eAAS,GAAW,EAAE,CAAC;QACvB,eAAS,GAAW,EAAE,CAAC;QACvB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,CAAC,CAAC;QACvB,sBAAgB,GAAW,CAAC,CAAC;QAC7B,iBAAW,GAAW,CAAC,CAAC;QACxB,iBAAW,GAAW,CAAC,CAAC;QACxB,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,CAAC,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,yBAAmB,GAAW,EAAE,CAAC;QACjC,oBAAc,GAAW,EAAE,CAAC;QAC5B,eAAS,GAAW,EAAE,CAAC;QACvB,yBAAmB,GAAW,EAAE,CAAC;QACjC,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,0BAAoB,GAAW,EAAE,CAAC;IACpC,CAAC;CAAA;AAEM,MAAM,qBAAsB,SAAQ,gBAAgB;IAA3D;;QACE,6BAAuB,GAAW,EAAE,CAAC;QACrC,gCAA0B,GAAW,EAAE,CAAC;QACxC,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,gBAAiB,SAAQ,gBAAgB;IAAtD;;QACE,gCAA0B,GAAW,EAAE,CAAC;QACxC,eAAS,GAAW,EAAE,CAAC;QACvB,yBAAmB,GAAW,EAAE,CAAC;QACjC,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,wBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,qBAAe,GAAW,EAAE,CAAC;QAC7B,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,2BAAqB,GAAW,EAAE,CAAC;QACnC,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,4BAAsB,GAAW,EAAE,CAAC;QACpC,8BAAwB,GAAW,EAAE,CAAC;QACtC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAY,GAAW,EAAE,CAAC;QAC1B,8BAAwB,GAAW,EAAE,CAAC;QACtC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAiB,GAAY,IAAI,CAAC;IACpC,CAAC;CAAA;AAEM,MAAM,sBAAsB;IAAnC;QACE,kBAAY,GAAW,CAAC,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,aAAO,GAAG,CAAC,IAAI,oCAAoC,EAAE,CAAC,CAAC;IACzD,CAAC;CAAA;AAEM,MAAM,+BAA+B;IAA5C;QACE,cAAQ,GAAW,CAAC,CAAC;QACrB,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAW,GAAW,CAAC,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,oCAAoC;IAAjD;QACE,kBAAY,GAAW,CAAC,CAAC;QACzB,cAAQ,GAAW,CAAC,CAAC;QACrB,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAW,GAAW,CAAC,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,yBAAmB,GAAW,EAAE,CAAC;QACjC,kBAAY,GAAW,EAAE,CAAC;QAC1B,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,kBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,SAAU,SAAQ,gBAAgB;IAA/C;;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,eAAS,GAAW,EAAE,CAAC;QACvB,kBAAY,GAAW,EAAE,CAAC;QAC1B,aAAO,GAAW,EAAE,CAAC;QACrB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,yBAAmB,GAAW,EAAE,CAAC;QACjC,wBAAkB,GAAW,EAAE,CAAC;QAChC,qBAAe,GAAW,EAAE,CAAC;QAC7B,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,0BAA0B;IAAvC;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,iBAAkB,SAAQ,gBAAgB;IAAvD;;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,+BAA+B;IAA5C;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,aAAc,SAAQ,gBAAgB;IAAnD;;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,iCAA2B,GAAW,EAAE,CAAC;IAC3C,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,WAAY,SAAQ,gBAAgB;IAAjD;;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAa,GAAW,EAAE,CAAC;QAC3B,uBAAiB,GAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,UAAW,SAAQ,gBAAgB;IAAhD;;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,wBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAY,GAAW,EAAE,CAAC;QAC1B,aAAO,GAAW,EAAE,CAAC;QACrB,eAAS,GAAW,EAAE,CAAC;QACvB,4BAAsB,GAAW,EAAE,CAAC;QACpC,6BAAuB,GAAW,EAAE,CAAC;QACrC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,wBAAkB,GAAW,EAAE,CAAC;QAChC,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;QAC5B,eAAS,GAAW,EAAE,CAAC;QACvB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,4BAAsB,GAAW,EAAE,CAAC;QACpC,2BAAqB,GAAW,EAAE,CAAC;QACnC,uBAAiB,GAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,YAAY;IAAzB;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;QACtB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,IAAK,SAAQ,gBAAgB;IAA1C;;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,WAAK,GAAW,EAAE,CAAC;QACnB,wBAAkB,GAAW,EAAE,CAAC;QAChC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,kBAAY,GAAW,EAAE,CAAC;QAC1B,wBAAkB,GAAW,EAAE,CAAC;QAChC,4BAAsB,GAAW,EAAE,CAAC;QACpC,4BAAsB,GAAW,EAAE,CAAC;QACpC,aAAO,GAAW,EAAE,CAAC;QACrB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,cAAQ,GAAW,EAAE,CAAC;QACtB,cAAQ,GAAW,EAAE,CAAC;QACtB,aAAO,GAAW,EAAE,CAAC;QACrB,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;QAC1B,yBAAmB,GAAW,EAAE,CAAC;QACjC,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,4BAAsB,GAAW,EAAE,CAAC;QACpC,+BAAyB,GAAW,EAAE,CAAC;QACvC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,4BAAsB,GAAW,EAAE,CAAC;QACpC,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,0BAAoB,GAAW,EAAE,CAAC;QAClC,eAAS,GAAW,EAAE,CAAC;QACvB,mBAAa,GAAW,EAAE,CAAC;QAC3B,aAAO,GAAW,EAAE,CAAC;QACrB,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,eAAS,GAAW,EAAE,CAAC;QACvB,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;QAC5B,mCAA6B,GAAW,EAAE,CAAC;QAC3C,uCAAiC,GAAW,EAAE,CAAC;QAC/C,2BAAqB,GAAW,EAAE,CAAC;QACnC,yBAAmB,GAAW,EAAE,CAAC;QACjC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,yBAAmB,GAAW,EAAE,CAAC;QACjC,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,cAAQ,GAAW,EAAE,CAAC;QACtB,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,SAAS;IAAtB;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,cAAQ,GAAW,EAAE,CAAC;QACtB,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,uBAAiB,GAAW,EAAE,CAAC;QAC/B,YAAM,GAAW,EAAE,CAAC;QACpB,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,cAAQ,GAAW,EAAE,CAAC;QACtB,eAAS,GAAW,EAAE,CAAC;QACvB,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;IACzB,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,6BAAuB,GAAW,EAAE,CAAC;QACrC,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,gCAA0B,GAAW,EAAE,CAAC;QACxC,mBAAa,GAAW,EAAE,CAAC;QAC3B,WAAK,GAAW,EAAE,CAAC;IACrB,CAAC;CAAA;AAEM,MAAM,6BAA6B;IAA1C;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,0BAAoB,GAAW,EAAE,CAAC;QAClC,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,8BAAwB,GAAW,EAAE,CAAC;QACtC,qBAAe,GAAW,EAAE,CAAC;QAC7B,6BAAuB,GAAW,EAAE,CAAC;QACrC,4BAAsB,GAAW,EAAE,CAAC;QACpC,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,gBAAiB,SAAQ,gBAAgB;IAAtD;;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;IAClC,CAAC;CAAA;AAEM,MAAM,oBAAqB,SAAQ,gBAAgB;IAA1D;;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,eAAS,GAAW,EAAE,CAAC;QACvB,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAY,GAAW,EAAE,CAAC;QAC1B,4BAAsB,GAAW,EAAE,CAAC;QACpC,8BAAwB,GAAW,EAAE,CAAC;QACtC,2BAAqB,GAAW,EAAE,CAAC;QACnC,uBAAiB,GAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,aAAc,SAAQ,gBAAgB;IAAnD;;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAW,EAAE,CAAC;QACpB,wBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gCAA0B,GAAW,EAAE,CAAC;QACxC,aAAO,GAAW,EAAE,CAAC;IACvB,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,SAAS;IAAtB;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gCAA0B,GAAW,EAAE,CAAC;QACxC,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,2BAAqB,GAAW,EAAE,CAAC;QACnC,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAuB,GAAW,EAAE,CAAC;QACrC,4BAAsB,GAAW,EAAE,CAAC;QACpC,mBAAa,GAAW,EAAE,CAAC;QAC3B,+BAAyB,GAAW,EAAE,CAAC;QACvC,wBAAkB,GAAW,EAAE,CAAC;QAChC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,gBAAU,GAAW,EAAE,CAAC;QACxB,mCAA6B,GAAW,EAAE,CAAC;QAC3C,kBAAY,GAAW,EAAE,CAAC;QAC1B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,mBAAa,GAAW,EAAE,CAAC;QAC3B,gCAA0B,GAAW,EAAE,CAAC;QACxC,8BAAwB,GAAW,EAAE,CAAC;QACtC,4BAAsB,GAAW,EAAE,CAAC;QACpC,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;QACpB,0BAAoB,GAAW,EAAE,CAAC;QAClC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAa,GAAW,EAAE,CAAC;QAC3B,aAAO,GAAW,EAAE,CAAC;QACrB,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,0BAA0B;IAAvC;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,wBAAwB;IAArC;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,YAAM,GAAW,EAAE,CAAC;QACpB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,qBAAe,GAAW,EAAE,CAAC;QAC7B,0BAAoB,GAAW,EAAE,CAAC;QAClC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,6BAAuB,GAAW,EAAE,CAAC;QACrC,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,4BAAsB,GAAW,EAAE,CAAC;QACpC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,iCAA2B,GAAW,EAAE,CAAC;QACzC,8BAAwB,GAAW,EAAE,CAAC;QACtC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,6BAAuB,GAAW,EAAE,CAAC;QACrC,wBAAkB,GAAW,EAAE,CAAC;QAChC,4BAAsB,GAAW,EAAE,CAAC;QACpC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,qBAAe,GAAW,EAAE,CAAC;QAC7B,8BAAwB,GAAW,EAAE,CAAC;QACtC,0BAAoB,GAAW,EAAE,CAAC;QAClC,4BAAsB,GAAW,EAAE,CAAC;IACtC,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,kBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,kBAAY,GAAW,EAAE,CAAC;QAC1B,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,YAAa,SAAQ,gBAAgB;IAAlD;;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,cAAQ,GAAW,EAAE,CAAC;QACtB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,WAAK,GAAW,EAAE,CAAC;QACnB,WAAK,GAAW,EAAE,CAAC;QACnB,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,aAAO,GAAW,EAAE,CAAC;QACrB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,4BAAsB,GAAW,EAAE,CAAC;QACpC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,yBAAmB,GAAW,EAAE,CAAC;QACjC,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,4BAAsB,GAAW,EAAE,CAAC;QACpC,oBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAmB,GAAW,EAAE,CAAC;QACjC,qBAAe,GAAW,EAAE,CAAC;QAC7B,4BAAsB,GAAW,EAAE,CAAC;QACpC,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,4BAAsB,GAAW,EAAE,CAAC;QACpC,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,cAAe,SAAQ,gBAAgB;IAApD;;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,2BAAqB,GAAW,EAAE,CAAC;QACnC,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,wBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;QAC3B,0BAAoB,GAAW,EAAE,CAAC;QAClC,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,0BAAoB,GAAW,EAAE,CAAC;QAClC,oBAAc,GAAW,EAAE,CAAC;QAC5B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;QAC5B,2BAAqB,GAAW,EAAE,CAAC;QACnC,aAAO,GAAW,EAAE,CAAC;QACrB,iCAA2B,GAAW,EAAE,CAAC;QACzC,qBAAe,GAAW,EAAE,CAAC;QAC7B,wBAAkB,GAAW,EAAE,CAAC;QAChC,+BAAyB,GAAW,EAAE,CAAC;QACvC,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,+BAAyB,GAAW,EAAE,CAAC;QACvC,0BAAoB,GAAW,EAAE,CAAC;QAClC,gCAA0B,GAAW,EAAE,CAAC;QACxC,0BAAoB,GAAW,EAAE,CAAC;QAClC,8BAAwB,GAAW,EAAE,CAAC;QACtC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,0BAAoB,GAAW,EAAE,CAAC;QAClC,2CAAqC,GAAW,EAAE,CAAC;IACrD,CAAC;CAAA;AAEM,MAAM,+BAA+B;IAA5C;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,0BAAoB,GAAW,EAAE,CAAC;QAClC,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;QACtB,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,0BAAoB,GAAW,EAAE,CAAC;QAClC,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,2BAA2B;IAAxC;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;QAChC,yBAAmB,GAAW,EAAE,CAAC;QACjC,wBAAkB,GAAW,EAAE,CAAC;QAChC,yBAAmB,GAAW,EAAE,CAAC;QACjC,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,iBAAkB,SAAQ,gBAAgB;IAAvD;;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,YAAM,GAAW,EAAE,CAAC;QACpB,4BAAsB,GAAW,EAAE,CAAC;QACpC,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,yBAAmB,GAAW,EAAE,CAAC;QACjC,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,wBAAkB,GAAW,EAAE,CAAC;IAClC,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,YAAM,GAAW,EAAE,CAAC;QACpB,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,kCAAkC;IAA/C;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,2BAAqB,GAAW,EAAE,CAAC;QACnC,0BAAoB,GAAW,EAAE,CAAC;IACpC,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,2BAAqB,GAAW,EAAE,CAAC;QACnC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,kBAAY,GAAW,EAAE,CAAC;QAC1B,cAAQ,GAAW,EAAE,CAAC;QACtB,WAAK,GAAW,EAAE,CAAC;QACnB,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,wBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,2BAAqB,GAAW,EAAE,CAAC;QACnC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,oBAAc,GAAW,EAAE,CAAC;QAC5B,yBAAmB,GAAW,EAAE,CAAC;QACjC,8BAAwB,GAAW,EAAE,CAAC;QACtC,iCAA2B,GAAW,EAAE,CAAC;QACzC,2BAAqB,GAAW,EAAE,CAAC;IACrC,CAAC;CAAA;AAEM,MAAM,oBAAqB,SAAQ,gBAAgB;IAA1D;;QACE,8BAAwB,GAAW,EAAE,CAAC;QACtC,wBAAkB,GAAW,EAAE,CAAC;QAChC,iBAAW,GAAW,EAAE,CAAC;QACzB,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,iBAAW,GAAW,EAAE,CAAC;QACzB,0BAAoB,GAAW,EAAE,CAAC;QAClC,yBAAmB,GAAW,EAAE,CAAC;QACjC,0BAAoB,GAAW,EAAE,CAAC;QAClC,mBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAe,GAAW,EAAE,CAAC;QAC7B,gCAA0B,GAAW,EAAE,CAAC;QACxC,yBAAmB,GAAW,EAAE,CAAC;QACjC,wBAAkB,GAAW,EAAE,CAAC;QAChC,8BAAwB,GAAW,EAAE,CAAC;QACtC,oBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAe,GAAW,EAAE,CAAC;QAC7B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,0BAAoB,GAAW,EAAE,CAAC;QAClC,oBAAc,GAAW,EAAE,CAAC;QAC5B,eAAS,GAAW,EAAE,CAAC;QACvB,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,6BAAuB,GAAW,EAAE,CAAC;QACrC,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,cAAQ,GAAW,EAAE,CAAC;QACtB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,oBAAc,GAAW,EAAE,CAAC;QAC5B,0BAAoB,GAAW,EAAE,CAAC;QAClC,qBAAe,GAAW,EAAE,CAAC;QAC7B,wBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,2BAAqB,GAAW,EAAE,CAAC;QACnC,2BAAqB,GAAW,EAAE,CAAC;QACnC,6BAAuB,GAAW,EAAE,CAAC;QACrC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,4BAAsB,GAAW,EAAE,CAAC;QACpC,6BAAuB,GAAW,EAAE,CAAC;QACrC,4BAAsB,GAAW,EAAE,CAAC;QACpC,6BAAuB,GAAW,EAAE,CAAC;QACrC,8BAAwB,GAAW,EAAE,CAAC;QACtC,+BAAyB,GAAW,EAAE,CAAC;QACvC,8BAAwB,GAAW,EAAE,CAAC;QACtC,+BAAyB,GAAW,EAAE,CAAC;QACvC,0BAAoB,GAAW,EAAE,CAAC;QAClC,4BAAsB,GAAW,EAAE,CAAC;QACpC,wBAAkB,GAAW,EAAE,CAAC;QAChC,2BAAqB,GAAW,EAAE,CAAC;QACnC,6BAAuB,GAAW,EAAE,CAAC;QACrC,yBAAmB,GAAW,EAAE,CAAC;QACjC,4BAAsB,GAAW,EAAE,CAAC;QACpC,wBAAkB,GAAW,EAAE,CAAC;QAChC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,0BAAoB,GAAW,EAAE,CAAC;QAClC,0CAAoC,GAAW,EAAE,CAAC;QAClD,+BAAyB,GAAW,EAAE,CAAC;QACvC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,+BAAyB,GAAW,EAAE,CAAC;QACvC,iCAA2B,GAAW,EAAE,CAAC;QACzC,4BAAsB,GAAW,EAAE,CAAC;QACpC,yBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,yBAAmB,GAAW,EAAE,CAAC;QACjC,4BAAsB,GAAW,EAAE,CAAC;QACpC,6BAAuB,GAAW,EAAE,CAAC;QACrC,gCAA0B,GAAW,EAAE,CAAC;QACxC,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,cAAQ,GAAW,EAAE,CAAC;QACtB,cAAQ,GAAW,EAAE,CAAC;QACtB,cAAQ,GAAW,EAAE,CAAC;QACtB,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;QAC1B,gCAA0B,GAAW,EAAE,CAAC;QACxC,4BAAsB,GAAW,EAAE,CAAC;QACpC,+BAAyB,GAAW,EAAE,CAAC;QACvC,yBAAmB,GAAW,EAAE,CAAC;QACjC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,8BAAwB,GAAW,EAAE,CAAC;QACtC,iCAA2B,GAAW,EAAE,CAAC;QACzC,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,4BAAsB,GAAW,EAAE,CAAC;QACpC,2BAAqB,GAAW,EAAE,CAAC;QACnC,iCAA2B,GAAW,EAAE,CAAC;QACzC,2BAAqB,GAAW,EAAE,CAAC;QACnC,yBAAmB,GAAW,EAAE,CAAC;QACjC,2BAAqB,GAAW,EAAE,CAAC;QACnC,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,0BAAoB,GAAW,EAAE,CAAC;QAClC,0BAAoB,GAAW,EAAE,CAAC;QAClC,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,8BAAwB,GAAW,EAAE,CAAC;QACtC,+BAAyB,GAAW,EAAE,CAAC;QACvC,cAAQ,GAAW,EAAE,CAAC;QACtB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,kCAA4B,GAAW,EAAE,CAAC;QAC1C,uBAAiB,GAAW,EAAE,CAAC;QAC/B,iBAAW,GAAW,EAAE,CAAC;QACzB,6BAAuB,GAAW,EAAE,CAAC;QACrC,4BAAsB,GAAW,EAAE,CAAC;QACpC,mBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAmB,GAAW,EAAE,CAAC;QACjC,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,8BAAwB,GAAW,EAAE,CAAC;QACtC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,4BAAsB,GAAW,EAAE,CAAC;QACpC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;QAC5B,6BAAuB,GAAW,EAAE,CAAC;QACrC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,6BAAuB,GAAW,EAAE,CAAC;QACrC,gCAA0B,GAAW,EAAE,CAAC;QACxC,6BAAuB,GAAW,EAAE,CAAC;QACrC,gCAA0B,GAAW,EAAE,CAAC;QACxC,gCAA0B,GAAW,EAAE,CAAC;QACxC,gCAA0B,GAAW,EAAE,CAAC;QACxC,0BAAoB,GAAW,EAAE,CAAC;QAClC,wBAAkB,GAAW,EAAE,CAAC;QAChC,gCAA0B,GAAW,EAAE,CAAC;QACxC,6BAAuB,GAAW,EAAE,CAAC;QACrC,iCAA2B,GAAW,EAAE,CAAC;QACzC,+BAAyB,GAAW,EAAE,CAAC;QACvC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,yBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAuB,GAAW,EAAE,CAAC;QACrC,6BAAuB,GAAW,EAAE,CAAC;QACrC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,yBAAmB,GAAW,EAAE,CAAC;QACjC,2BAAqB,GAAW,EAAE,CAAC;QACnC,wBAAkB,GAAW,EAAE,CAAC;QAChC,iCAA2B,GAAW,EAAE,CAAC;QACzC,6BAAuB,GAAW,EAAE,CAAC;QACrC,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,8BAAwB,GAAW,EAAE,CAAC;QACtC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,6BAAuB,GAAW,EAAE,CAAC;QACrC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,0BAAoB,GAAW,EAAE,CAAC;QAClC,2BAAqB,GAAW,EAAE,CAAC;QACnC,gCAA0B,GAAW,EAAE,CAAC;QACxC,4BAAsB,GAAW,EAAE,CAAC;QACpC,oCAA8B,GAAW,EAAE,CAAC;QAC5C,kCAA4B,GAAW,EAAE,CAAC;QAC1C,wBAAkB,GAAW,EAAE,CAAC;QAChC,6BAAuB,GAAW,EAAE,CAAC;QACrC,+BAAyB,GAAW,EAAE,CAAC;QACvC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,qCAA+B,GAAW,EAAE,CAAC;QAC7C,mCAA6B,GAAW,EAAE,CAAC;QAC3C,8BAAwB,GAAW,EAAE,CAAC;QACtC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,kCAA4B,GAAW,EAAE,CAAC;QAC1C,kCAA4B,GAAW,EAAE,CAAC;QAC1C,kCAA4B,GAAW,EAAE,CAAC;QAC1C,oCAA8B,GAAW,EAAE,CAAC;QAC5C,oCAA8B,GAAW,EAAE,CAAC;QAC5C,oCAA8B,GAAW,EAAE,CAAC;QAC5C,oCAA8B,GAAW,EAAE,CAAC;QAC5C,0BAAoB,GAAW,EAAE,CAAC;QAClC,yBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAuB,GAAW,EAAE,CAAC;QACrC,8BAAwB,GAAW,EAAE,CAAC;QACtC,qCAA+B,GAAW,EAAE,CAAC;QAC7C,sCAAgC,GAAW,EAAE,CAAC;QAC9C,qCAA+B,GAAW,EAAE,CAAC;QAC7C,sCAAgC,GAAW,EAAE,CAAC;QAC9C,yCAAmC,GAAW,EAAE,CAAC;QACjD,0CAAoC,GAAW,EAAE,CAAC;QAClD,kCAA4B,GAAW,EAAE,CAAC;QAC1C,mCAA6B,GAAW,EAAE,CAAC;QAC3C,qCAA+B,GAAW,EAAE,CAAC;QAC7C,sCAAgC,GAAW,EAAE,CAAC;QAC9C,+BAAyB,GAAW,EAAE,CAAC;QACvC,gCAA0B,GAAW,EAAE,CAAC;QACxC,iCAA2B,GAAW,EAAE,CAAC;QACzC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,yBAAmB,GAAW,EAAE,CAAC;QACjC,0BAAoB,GAAW,EAAE,CAAC;QAClC,oBAAc,GAAW,EAAE,CAAC;QAC5B,8BAAwB,GAAW,EAAE,CAAC;QACtC,8BAAwB,GAAW,EAAE,CAAC;QACtC,yBAAmB,GAAW,EAAE,CAAC;QACjC,eAAS,GAAW,EAAE,CAAC;QACvB,gCAA0B,GAAW,EAAE,CAAC;QACxC,6BAAuB,GAAW,EAAE,CAAC;QACrC,2BAAqB,GAAW,EAAE,CAAC;QACnC,8BAAwB,GAAW,EAAE,CAAC;QACtC,8BAAwB,GAAW,EAAE,CAAC;QACtC,4BAAsB,GAAW,EAAE,CAAC;QACpC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,yBAAmB,GAAW,EAAE,CAAC;QACjC,qBAAe,GAAW,EAAE,CAAC;QAC7B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,+BAAyB,GAAW,EAAE,CAAC;QACvC,iCAA2B,GAAW,EAAE,CAAC;QACzC,yCAAmC,GAAW,EAAE,CAAC;QACjD,8CAAwC,GAAW,EAAE,CAAC;QACtD,wBAAkB,GAAW,EAAE,CAAC;QAChC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,0BAAoB,GAAW,EAAE,CAAC;QAClC,yBAAmB,GAAW,EAAE,CAAC;QACjC,0BAAoB,GAAW,EAAE,CAAC;QAClC,oCAA8B,GAAW,EAAE,CAAC;QAC5C,wBAAkB,GAAW,EAAE,CAAC;QAChC,+BAAyB,GAAW,EAAE,CAAC;QACvC,4BAAsB,GAAW,EAAE,CAAC;QACpC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,oCAA8B,GAAW,EAAE,CAAC;QAC5C,+BAAyB,GAAW,EAAE,CAAC;QACvC,gCAA0B,GAAW,EAAE,CAAC;QACxC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,iCAA2B,GAAW,EAAE,CAAC;QACzC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,gCAA0B,GAAW,EAAE,CAAC;QACxC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,+BAAyB,GAAW,EAAE,CAAC;QACvC,wBAAkB,GAAW,EAAE,CAAC;QAChC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gCAA0B,GAAW,EAAE,CAAC;QACxC,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,mBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAmB,GAAW,EAAE,CAAC;QACjC,4BAAsB,GAAW,EAAE,CAAC;QACpC,gCAA0B,GAAW,EAAE,CAAC;QACxC,2BAAqB,GAAW,EAAE,CAAC;QACnC,6BAAuB,GAAW,EAAE,CAAC;QACrC,wBAAkB,GAAW,EAAE,CAAC;QAChC,qBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAW,GAAW,EAAE,CAAC;QACzB,wBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,mBAAa,GAAW,EAAE,CAAC;QAC3B,wBAAkB,GAAW,EAAE,CAAC;QAChC,yBAAmB,GAAW,EAAE,CAAC;QACjC,8BAAwB,GAAW,EAAE,CAAC;QACtC,wBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAmB,GAAW,EAAE,CAAC;QACjC,2BAAqB,GAAW,EAAE,CAAC;QACnC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,8BAAwB,GAAW,EAAE,CAAC;QACtC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,8BAAwB,GAAW,EAAE,CAAC;QACtC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,8BAAwB,GAAW,EAAE,CAAC;QACtC,2BAAqB,GAAW,EAAE,CAAC;QACnC,4BAAsB,GAAW,EAAE,CAAC;QACpC,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;QAC5B,yBAAmB,GAAW,EAAE,CAAC;QACjC,kBAAY,GAAW,EAAE,CAAC;QAC1B,mCAA6B,GAAW,EAAE,CAAC;QAC3C,iCAA2B,GAAW,EAAE,CAAC;QACzC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,kCAA4B,GAAW,EAAE,CAAC;QAC1C,kCAA4B,GAAW,EAAE,CAAC;QAC1C,oCAA8B,GAAW,EAAE,CAAC;QAC5C,mCAA6B,GAAW,EAAE,CAAC;QAC3C,4BAAsB,GAAW,EAAE,CAAC;QACpC,6BAAuB,GAAW,EAAE,CAAC;QACrC,kCAA4B,GAAW,EAAE,CAAC;QAC1C,qCAA+B,GAAW,EAAE,CAAC;IAC/C,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,yBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAuB,GAAW,EAAE,CAAC;QACrC,+BAAyB,GAAW,EAAE,CAAC;QACvC,+BAAyB,GAAW,EAAE,CAAC;QACvC,yBAAmB,GAAW,EAAE,CAAC;QACjC,sCAAgC,GAAW,EAAE,CAAC;QAC9C,4CAAsC,GAAW,EAAE,CAAC;QACpD,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,8BAAwB,GAAW,EAAE,CAAC;QACtC,8CAAwC,GAAW,EAAE,CAAC;QACtD,mCAA6B,GAAW,EAAE,CAAC;IAC7C,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;IACzB,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,2BAAqB,GAAW,EAAE,CAAC;QACnC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,iCAAiC;IAA9C;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,uBAAiB,GAAW,EAAE,CAAC;QAC/B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,eAAS,GAAW,EAAE,CAAC;QACvB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,6BAA6B;IAA1C;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,SAAS;IAAtB;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;QAC5B,0BAAoB,GAAW,EAAE,CAAC;QAClC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,wBAAwB;IAArC;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,YAAM,GAAW,EAAE,CAAC;QACpB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,yBAAmB,GAAW,EAAE,CAAC;QACjC,wBAAkB,GAAW,EAAE,CAAC;QAChC,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,0BAA0B;IAAvC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,0BAA0B;IAAvC;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,yBAAmB,GAAW,EAAE,CAAC;QACjC,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,yBAAmB,GAAW,EAAE,CAAC;QACjC,wBAAkB,GAAW,EAAE,CAAC;QAChC,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,wBAAwB;IAArC;QACE,iCAA2B,GAAW,EAAE,CAAC;QACzC,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,gCAAgC;IAA7C;QACE,8CAAwC,GAAW,EAAE,CAAC;QACtD,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,kBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mCAAmC;IAAhD;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,2BAAqB,GAAW,EAAE,CAAC;QACnC,oBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,2BAAqB,GAAW,EAAE,CAAC;IACrC,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,YAAM,GAAW,EAAE,CAAC;QACpB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,0BAAoB,GAAW,EAAE,CAAC;QAClC,yBAAmB,GAAW,EAAE,CAAC;QACjC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,2BAAqB,GAAW,EAAE,CAAC;IACrC,CAAC;CAAA;AAEM,MAAM,YAAY;IAAzB;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,8BAAwB,GAAW,EAAE,CAAC;QACtC,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,2BAA2B;IAAxC;QACE,WAAK,GAAW,EAAE,CAAC;QACnB,wBAAkB,GAAW,EAAE,CAAC;QAChC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,WAAK,GAAW,EAAE,CAAC;QACnB,WAAK,GAAW,EAAE,CAAC;QACnB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,0BAAoB,GAAW,EAAE,CAAC;QAClC,yBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAuB,GAAW,OAAO,CAAC;QAC1C,6BAAuB,GAAW,OAAO,CAAC;QAC1C,iDAA2C,GAAW,OAAO,CAAC;QAC9D,kBAAY,GAAW,EAAE,CAAC;IAE5B,CAAC;CAAA;AAEM,MAAM,YAAY;IAAzB;QACE,UAAI,GAAW,EAAE,CAAC;QAClB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,6BAAuB,GAAW,EAAE,CAAC;QACrC,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,mBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAgB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAW,GAAW,EAAE,CAAC;QACzB,wBAAkB,GAAW,EAAE,CAAC;IAClC,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,wBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,sBAAsB;IAAnC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAa,GAAW,EAAE,CAAC;QAC3B,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,eAAS,GAAW,EAAE,CAAC;QACvB,iBAAW,GAAW,EAAE,CAAC;QACzB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,4BAAsB,GAAW,EAAE,CAAC;QACpC,6BAAuB,GAAW,EAAE,CAAC;QACrC,6BAAuB,GAAW,EAAE,CAAC;QACrC,sBAAgB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;AAEM,MAAM,iBAAiB;IAA9B;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,6BAAuB,GAAW,EAAE,CAAC;QACrC,mBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,6BAA6B;IAA1C;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,cAAQ,GAAW,EAAE,CAAC;QACtB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,wBAAwB;IAArC;QACE,2BAAqB,GAAW,EAAE,CAAC;QACnC,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,6BAAuB,GAAW,EAAE,CAAC;QACrC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,sBAAgB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,qBAAe,GAAW,EAAE,CAAC;QAC7B,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;QACxB,2BAAqB,GAAW,EAAE,CAAC;QACnC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,cAAQ,GAAW,EAAE,CAAC;IACxB,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,0BAAoB,GAAW,EAAE,CAAC;QAClC,8BAAwB,GAAW,EAAE,CAAC;QACtC,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,8BAAwB,GAAW,EAAE,CAAC;QACtC,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,wBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,8BAA8B;IAA3C;QACE,wCAAkC,GAAW,EAAE,CAAC;QAChD,6BAAuB,GAAW,EAAE,CAAC;QACrC,8BAAwB,GAAW,EAAE,CAAC;QACtC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,8BAAwB,GAAW,EAAE,CAAC;QACtC,+BAAyB,GAAW,EAAE,CAAC;QACvC,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAmB,GAAW,EAAE,CAAC;QACjC,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;QAChC,0BAAoB,GAAW,EAAE,CAAC;QAClC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,8BAAwB,GAAW,EAAE,CAAC;QACtC,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;QAChC,qBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAmB,GAAW,EAAE,CAAC;QACjC,+BAAyB,GAAW,EAAE,CAAC;QACvC,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,4BAAsB,GAAW,EAAE,CAAC;IACtC,CAAC;CAAA;AAEM,MAAM,qCAAqC;IAAlD;QACE,iDAA2C,GAAW,EAAE,CAAC;QACzD,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,aAAO,GAAW,EAAE,CAAC;QACrB,aAAO,GAAW,EAAE,CAAC;QACrB,mBAAa,GAAW,EAAE,CAAC;QAC3B,cAAQ,GAAW,EAAE,CAAC;QACtB,aAAO,GAAW,EAAE,CAAC;IACvB,CAAC;CAAA;AAEM,MAAM,wBAAwB;IAArC;QACE,oCAA8B,GAAW,EAAE,CAAC;QAC5C,sBAAgB,GAAW,EAAE,CAAC;QAC9B,qBAAe,GAAW,EAAE,CAAC;QAC7B,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,kCAA4B,GAAW,EAAE,CAAC;QAC1C,qBAAe,GAAW,EAAE,CAAC;QAC7B,cAAQ,GAAW,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,YAAY;IAAzB;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,+BAAyB,GAAW,EAAE,CAAC;QACvC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAe,GAAW,EAAE,CAAC;QAC7B,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,8BAAwB,GAAW,EAAE,CAAC;QACtC,yBAAmB,GAAW,EAAE,CAAC;QACjC,6BAAuB,GAAW,EAAE,CAAC;QACrC,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,6BAAuB,GAAW,EAAE,CAAC;QACrC,wBAAkB,GAAW,EAAE,CAAC;QAChC,8BAAwB,GAAW,EAAE,CAAC;QACtC,+BAAyB,GAAW,EAAE,CAAC;QACvC,yBAAmB,GAAW,EAAE,CAAC;QACjC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,6BAAuB,GAAW,EAAE,CAAC;QACrC,0BAAoB,GAAW,EAAE,CAAC;QAClC,6BAAuB,GAAW,EAAE,CAAC;QACrC,yBAAmB,GAAW,EAAE,CAAC;QACjC,+BAAyB,GAAW,EAAE,CAAC;IACzC,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,wBAAwB;IAArC;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,4BAAsB,GAAW,EAAE,CAAC;QACpC,+BAAyB,GAAW,EAAE,CAAC;QACvC,8BAAwB,GAAW,EAAE,CAAC;QACtC,+BAAyB,GAAW,EAAE,CAAC;QACvC,6BAAuB,GAAW,EAAE,CAAC;QACrC,+BAAyB,GAAW,EAAE,CAAC;QACvC,8BAAwB,GAAW,EAAE,CAAC;QACtC,2BAAqB,GAAW,EAAE,CAAC;QACnC,8BAAwB,GAAW,EAAE,CAAC;QACtC,2BAAqB,GAAW,EAAE,CAAC;QACnC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,mBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAe,GAAW,EAAE,CAAC;QAC7B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,qBAAe,GAAW,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,sBAAsB;IAAnC;QACE,0BAAoB,GAAW,EAAE,CAAC;QAClC,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,8BAA8B;IAA3C;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,2BAAqB,GAAW,EAAE,CAAC;QACnC,0BAAoB,GAAW,EAAE,CAAC;QAClC,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,gCAAgC;IAA7C;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,8BAAwB,GAAW,EAAE,CAAC;QACtC,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,qBAAe,GAAY,KAAK,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,yBAAmB,GAAW,EAAE,CAAC;QACjC,4BAAsB,GAAW,EAAE,CAAC;QACpC,2BAAqB,GAAW,EAAE,CAAC;QACnC,2BAAqB,GAAW,EAAE,CAAC;QACnC,4BAAsB,GAAW,EAAE,CAAC;QACpC,4BAAsB,GAAW,EAAE,CAAC;QACpC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,yCAAmC,GAAW,EAAE,CAAC;QACjD,+CAAyC,GAAW,EAAE,CAAC;QACvD,0BAAoB,GAAW,EAAE,CAAC;QAClC,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,4BAAsB,GAAW,EAAE,CAAC;QACpC,uBAAiB,GAAW,EAAE,CAAC;QAC/B,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,mCAA6B,GAAW,EAAE,CAAC;QAC3C,qCAA+B,GAAW,EAAE,CAAC;QAC7C,wCAAkC,GAAW,EAAE,CAAC;QAChD,0CAAoC,GAAW,EAAE,CAAC;IACpD,CAAC;CAAA;AAEM,MAAM,uBAAuB;IAApC;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,sBAAgB,GAAW,EAAE,CAAC;QAC9B,4BAAsB,GAAW,EAAE,CAAC;QACpC,UAAI,GAAU,EAAE,CAAC;QACjB,4BAAsB,GAAW,EAAE,CAAC;QACpC,mBAAa,GAAW,EAAE;QAC1B,gBAAU,GAAS,EAAE,CAAC;QACtB,gBAAU,GAAW,EAAE,CAAC;QACxB,mCAA6B,GAAQ,EAAE,CAAC;QACxC,wCAAkC,GAAQ,EAAE,CAAC;QAC7C,yBAAmB,GAAU,EAAE,CAAC;QAChC,mBAAa,GAAW,EAAE,CAAC;IAE7B,CAAC;CAAA;AAEM,MAAM,kBAAkB;IAA/B;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,cAAQ,GAAW,EAAE,CAAC;QACtB,0BAAoB,GAAW,EAAE,CAAC;QAClC,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;QAChC,8BAAwB,GAAW,EAAE,CAAC;QACtC,wBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAa,GAAW,EAAE,CAAC;QAC3B,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,cAAQ,GAAW,EAAE,CAAC;QACtB,oBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAe,GAAW,EAAE,CAAC;QAC7B,kBAAY,GAAW,EAAE,CAAC;QAC1B,6BAAuB,GAAW,EAAE,CAAC;QACrC,+BAAyB,GAAW,EAAE,CAAC;QACvC,4BAAsB,GAAW,EAAE,CAAC;QACpC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,sBAAsB;IAAnC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,cAAQ,GAAW,EAAE,CAAC;QACtB,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;QAChC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,oBAAc,GAAW,EAAE,CAAC;QAC5B,0BAAoB,GAAW,EAAE,CAAC;QAClC,mBAAa,GAAW,EAAE,CAAC;QAC3B,oCAA8B,GAAW,EAAE,CAAC;IAC9C,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,wBAAkB,GAAW,EAAE,CAAC;QAChC,sBAAgB,GAAW,EAAE,CAAC;QAC9B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAa,GAAW,EAAE,CAAC;QAC3B,kBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAkB,EAAE,CAAC;QAChC,aAAO,GAAW,EAAE,CAAC;QACrB,yBAAmB,GAAW,EAAE,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,uBAAiB,GAAW,EAAE,CAAC;QAC/B,yBAAmB,GAAW,EAAE,CAAC;QACjC,gCAA0B,GAAW,EAAE,CAAC;QACxC,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,2BAA2B;IAAxC;QACE,8BAAwB,GAAW,EAAE,CAAC;QACtC,qBAAe,GAAW,EAAE,CAAC;QAC7B,wBAAkB,GAAW,EAAE,CAAC;QAChC,+BAAyB,GAAW,EAAE,CAAC;QACvC,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,gCAAgC;IAA7C;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,wBAAkB,GAAW,EAAE,CAAC;QAChC,qBAAe,GAAW,EAAE,CAAC;QAC7B,YAAM,GAAW,EAAE,CAAC;QACpB,oBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,SAAS;IAAtB;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;IAClC,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAe,GAAW,EAAE,CAAC;QAC7B,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,aAAO,GAAW,EAAE,CAAC;QACrB,oBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,yBAAmB,GAAW,EAAE,CAAC;QACjC,0BAAoB,GAAW,EAAE,CAAC;QAClC,4BAAsB,GAAW,EAAE,CAAC;IACtC,CAAC;CAAA;AAEM,MAAM,2BAA2B;IAAxC;QACE,0BAAoB,GAAW,EAAE,CAAC;QAClC,qBAAe,GAAW,EAAE,CAAC;QAC7B,gBAAU,GAAW,EAAE,CAAC;QACxB,mBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,cAAQ,GAAW,EAAE,CAAC;QACtB,eAAS,GAAW,EAAE,CAAC;QACvB,uBAAiB,GAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,mCAAmC;IAAhD;QACE,qBAAe,GAAW,EAAE,CAAC;QAC7B,2BAAqB,GAAW,EAAE,CAAC;QACnC,qBAAe,GAAW,EAAE,CAAC;QAC7B,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,mBAAmB,CAAC;QAC7C,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,mBAAa,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QACE,kBAAY,GAAW,EAAE,CAAC;QAC1B,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QACE,8BAAwB,GAAW,EAAE,CAAC;QACtC,0BAAoB,GAAW,EAAE,CAAC;QAClC,2BAAqB,GAAW,EAAE,CAAC;QACnC,6BAAuB,GAAW,EAAE,CAAC;QACrC,8BAAwB,GAAW,EAAE,CAAC;QACtC,mCAA6B,GAAW,EAAE,CAAC;QAC3C,+BAAyB,GAAW,EAAE,CAAC;QACvC,gCAA0B,GAAW,EAAE,CAAC;QACxC,+BAAyB,GAAW,EAAE,CAAC;QACvC,gCAA0B,GAAW,EAAE,CAAC;QACxC,qBAAe,GAAW,EAAE,CAAC;QAC7B,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;IAClC,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;QACxB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,yBAAmB,GAAW,EAAE,CAAC;QACjC,iBAAW,GAAW,EAAE,CAAC;QACzB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,4BAA4B;IAAzC;QACE,+BAAyB,GAAW,EAAE,CAAC;QACvC,wBAAkB,GAAW,EAAE,CAAC;QAChC,aAAO,GAAW,EAAE,CAAC;QACrB,iBAAW,GAAW,EAAE,CAAC;QACzB,eAAS,GAAW,EAAE,CAAC;QACvB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,gCAAgC;IAA7C;QACE,aAAO,GAAW,EAAE,CAAC;QACrB,wBAAkB,GAAW,EAAE,CAAC;QAChC,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,sBAAgB,GAAW,EAAE,CAAC;QAC9B,wBAAkB,GAAW,EAAE,CAAC;QAChC,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,4BAAsB,GAAW,EAAE,CAAC;QACpC,YAAM,GAAW,EAAE,CAAC;IACtB,CAAC;CAAA;AAGM,MAAM,cAAc;IAA3B;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,YAAM,GAAW,EAAE,CAAC;QACpB,aAAO,GAAW,EAAE,CAAC;QACrB,eAAS,GAAW,EAAE,CAAC;QACvB,sBAAgB,GAAW,EAAE,CAAC;QAC9B,aAAO,GAAW,EAAE,CAAC;QACrB,uBAAiB,GAAW,EAAE,CAAC;QAC/B,wBAAkB,GAAW,EAAE,CAAC;QAChC,YAAM,GAAW,EAAE,CAAC;QACpB,gBAAU,GAAW,EAAE,CAAC;QACxB,gBAAU,GAAW,EAAE,CAAC;QACxB,iBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,gCAAgC;IAA7C;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,mBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,+BAA+B;IAA5C;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,kBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,2BAA2B;IAAxC;QACE,YAAM,GAAW,EAAE,CAAC;QACpB,cAAQ,GAAW,EAAE,CAAC;QACtB,iBAAW,GAAW,EAAE,CAAC;QACzB,gBAAU,GAAW,EAAE,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,0CAA0C;IAAvD;QACE,oBAAc,GAAW,EAAE,CAAC;QAC5B,wBAAkB,GAAW,EAAE,CAAC;QAChC,4BAAsB,GAAW,EAAE,CAAC;IACtC,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,iBAAW,GAAW,EAAE,CAAC;QACzB,oBAAc,GAAW,EAAE,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACE,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,0BAAqB,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACvD,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,wBAAmB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,wBAAmB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,iBAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACnC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,kBAAa,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,qBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC1C,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,0BAAqB,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAC/C,uCAAkC,GAAG;YACnC,IAAI,qCAAqC,EAAE;SAC5C,CAAC;QACF,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,iBAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACnC,eAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,iBAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACnC,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,2BAAsB,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,mBAAc,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC/C,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,2BAAsB,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,eAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,gCAA2B,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QACjE,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,qCAAgC,GAAG,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;QAC3E,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,iBAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACnC,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,gBAAW,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;QACjC,+BAA0B,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC/D,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,uBAAkB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAChD,UAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrB,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,eAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,2BAAsB,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,mBAAc,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC1C,qBAAgB,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACvC,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,kCAA6B,GAAG,CAAC,IAAI,6BAA6B,EAAE,CAAC,CAAC;QACtE,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,eAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,yBAAoB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACpD,+BAA0B,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAChE,wBAAmB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,8BAAyB,GAAG,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC7D,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,+BAA0B,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC/D,2BAAsB,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,uBAAkB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAChD,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,iBAAY,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACnC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,qCAAgC,GAAG,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;QAC3E,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,iCAA4B,GAAG,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;QACnE,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,qCAAgC,GAAG,CAAC,IAAI,kCAAkC,EAAE,CAAC,CAAC;QAC9E,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,wBAAmB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,qCAAgC,GAAG,CAAC,IAAI,iCAAiC,EAAE,CAAC,CAAC;QAC7E,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,iCAA4B,GAAG,CAAC,IAAI,6BAA6B,EAAE,CAAC,CAAC;QACrE,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,eAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,8BAAyB,GAAG,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC7D,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,6BAAwB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC3D,gCAA2B,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QACjE,gCAA2B,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QACjE,mCAA8B,GAAG,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAClE,sCAAiC,GAAG,CAAC,IAAI,gCAAgC,EAAE,CAAC,CAAC;QAC7E,yCAAoC,GAAG;YACrC,IAAI,mCAAmC,EAAE;SAC1C,CAAC;QACF,8BAAyB,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC9D,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,mBAAc,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACxC,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,eAAU,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACtC,uBAAkB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/C,kBAAa,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACrC,iCAA4B,GAAG,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;QACnE,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,iBAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACpC,sBAAiB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC7C,oBAAe,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACzC,4BAAuB,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACzD,sBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC5C,wBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAChD,0BAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpD,mCAA8B,GAAG,CAAC,IAAI,6BAA6B,EAAE,CAAC,CAAC;QACvE,mBAAc,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACvC,mBAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAChD,yBAAoB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACpD,yBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAClD,4BAAuB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC1D,+BAA0B,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC7D,kCAA6B,GAAG,IAAI,8BAA8B,EAAE,CAAC;QACrE,gBAAW,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAClC,0CAAqC,GAAG;YACtC,IAAI,qCAAqC,EAAE;SAC5C,CAAC;QACF,6BAAwB,GAAG,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;QAC5D,4BAAuB,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAC1D,iBAAY,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QACpC,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,gBAAW,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAClC,wBAAmB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACjD,6BAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC1D,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,4BAAuB,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACzD,oCAA+B,GAAG,CAAC,IAAI,8BAA8B,EAAE,CAAC,CAAC;QACzE,sCAAiC,GAAG,IAAI,gCAAgC,EAAE,CAAC;QAC3E,0BAAqB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACjD,yBAAoB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACnD,4BAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACxD,sBAAiB,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAC/C,6BAAwB,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC7D,2BAAsB,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACxD,+BAA0B,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC/D,uBAAkB,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACzC,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,iCAA4B,GAAG,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;QACnE,sCAAiC,GAAG,CAAC,IAAI,gCAAgC,EAAE,CAAC,CAAC;QAC7E,eAAU,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/B,qBAAgB,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC3C,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,0BAAqB,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;QACrD,iCAA4B,GAAG,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;QACnE,yBAAoB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACnD,wCAAmC,GAAG;YACpC,IAAI,mCAAmC,EAAE;SAC1C,CAAC;QACF,qBAAgB,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC5C,oBAAe,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAC1C,0BAAqB,GAAG,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACtD,iCAA4B,GAAG,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;QACpE,qCAAgC,GAAG,CAAC,IAAI,gCAAgC,EAAE,CAAC,CAAC;QAC5E,wBAAmB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAClD,wBAAmB,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAElD,mBAAc,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACxC,qCAAgC,GAAG,CAAC,IAAI,gCAAgC,EAAE,CAAC,CAAC;QAC5E,oCAA+B,GAAG,CAAC,IAAI,+BAA+B,EAAE,CAAC,CAAC;QAC1E,gCAA2B,GAAG,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;QAClE,+CAA0C,GAAG,CAAC,IAAI,0CAA0C,EAAE,CAAC,CAAC;QAChG,mBAAc,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAExC,kDAAkD;QAClD,yCAAyC;QACzC,mEAAmE;QACnE,2EAA2E;QAC3E,6EAA6E;IAC/E,CAAC;CAAA;;;;;;;;;;;;;AC93FD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;;;;;;;;;;;IC0BjE,qEAAwC;IAAA,uDAAY;IAAA,4DAAK;;;IAAjB,0DAAY;IAAZ,gFAAY;;;IAEpD,qEAAwC;IAAA,uDAAa;IAAA,4DAAK;;;IAAlB,0DAAa;IAAb,iFAAa;;;IAMrD,qEAAwC;IAAA,uDAAyD;;;IAAA,4DAAK;;;IAA9D,0DAAyD;IAAzD,iOAAyD;;;IAEjG,qEAAwC;IACtC,uDAKF;;;IAAA,4DAAK;;;;IALH,0DAKF;IALE,uRAKF;;;IAVF,qEAA4C;IAC1C,qEAAI;IAAA,uDAAuB;IAAA,4DAAK;IAChC,oIAAsG;IACtG,qEAAI;IAAA,uDAAuB;IAAA,4DAAK;IAChC,oIAMK;IACP,4DAAK;;;;IAVC,0DAAuB;IAAvB,qFAAuB;IACtB,0DAAiC;IAAjC,oGAAiC;IAClC,0DAAuB;IAAvB,qFAAuB;IACtB,0DAAiC;IAAjC,oGAAiC;;AD3BvC,MAAM,oCAAoC;IAuB/C,YACE,oBAA0C,EAClC,QAAkB,EAClB,YAA4B,EAC5B,QAAyB;QAFzB,aAAQ,GAAR,QAAQ,CAAU;QAClB,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;QAlB3B,oBAAe,GAAmB,EAAE,CAAC;QAG7C,mBAAc,GAAe,EAAE,CAAC;QAChC,OAAE,GAAS,IAAI,IAAI,EAAE,CAAC;QACtB,+BAA0B,GAAG,sFAAc,CAAC,6BAA6B,EAAE,CAAC;QAE9E,iBAAY,GAAQ,EAAE;QACtB,wBAAmB,GAAQ,EAAE;QAC7B,aAAQ,GAAQ,EAAE;QAClB,iBAAY,GAAQ,EAAE;QACtB,cAAS,GAAQ,EAAE;QACnB,cAAS,GAAQ,EAAE;QASf,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH;IACH,CAAC;IAnCD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IA8BD,QAAQ;QACN,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QAC1E,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;IAC1D,CAAC;IACD,QAAQ;QAEN,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QAChE,6EAA6E;QAE7E,0BAA0B;QAC1B,KAAK;QACL,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,eAAe;aACjB,aAAa,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;aAC/B,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,sCAAsC;QACxC,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IACD,YAAY,CAAC,GAAW,EAAE,EAAU;QAClC,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,KAAU;QACxB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAE7D,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,eAAe;aACjB,aAAa,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;aAC/B,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;IACD,aAAa;QACX,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;YAC/B,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC,CAAC;IACL,CAAC;;wHAtFU,oCAAoC;oHAApC,oCAAoC;QCbjD,yEAA4C;QAC1C,qEAAI;QAAA,uEAAM;QAAA,uDAAuB;QAAA,4DAAO;QAAA,4DAAK;QAC7C,qEAAI;QACF,2EAQE;QAFA,iLAAiB,2BAAuB,IAAC;QAN3C,4DAQE;QACF,sFAA4E;QAC5E,kFAAqD;QACvD,4DAAK;QACP,4DAAM;QAEN,gEAAM;QAAA,iEAAM;QACZ,0EAAiB;QACf,4EAOC;QACC,yEAAO;QACL,sEAAI;QACF,sEAAI;QAAA,wDAAgB;QAAA,4DAAK;QACzB,gIAAyD;QACzD,sEAAI;QAAA,wDAAgB;QAAA,4DAAK;QACzB,gIAA0D;QAC5D,4DAAK;QACP,4DAAQ;QACR,yEAAO;QACL,gIAWK;QACP,4DAAQ;QACV,4DAAQ;QACV,4DAAM;QACN,6EAAkC;QAA1B,6JAAS,mBAAe,IAAC;QAAC,wDAAa;QAAA,4DAAS;QACxD,iEAAM;QACN,iEAAM;;;QApDM,0DAAuB;QAAvB,wFAAuB;QAM7B,0DAA4B;QAA5B,8EAA4B;QAKG,0DAAkB;QAAlB,oEAAkB;QAiB3C,2DAAgB;QAAhB,iFAAgB;QACf,0DAAiC;QAAjC,iGAAiC;QAClC,0DAAgB;QAAhB,iFAAgB;QACf,0DAAiC;QAAjC,iGAAiC;QAIf,0DAAiB;QAAjB,uFAAiB;QAed,0DAAa;QAAb,8EAAa;;;;;;;;;;;;;;AClD/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;AAGa;;;AAM9C,MAAM,mBAAmB;IAK9B,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAJtC,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAY,KAAK,CAAC;QAC7B,aAAQ,GAAsB,EAAE,CAAC;IAEQ,CAAC;IAE1C,eAAe;QACb,OAAO,iDAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAClE,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBAClD,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAClE,MAAM,qBAAqB,GAAG;;;;;OAK7B,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;gBAExE,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAChD,IAAI,IAAI,GAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;iBACtE;qBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;oBAC3B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;iBACtE;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,qBAAqB,EACrB,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAClE,MAAM,qBAAqB,GAAG;;;;;OAK7B,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;gBAExE,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACnD,IAAI,IAAI,GAAsB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,qBAAqB,EACrB,EAAE,EACF,eAAe,EACf,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;sFAlFU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDG;AAEgD;AAGZ;AACc;AAEf;;;;;;;;;;;ICalD,wEAAiE;IAC/D,qEAAI;IACF,yEAAwB;IAAA,uDAAmB;IAAA,4DAAK;IAChD,qEAAI;IAAA,uDAAe;IAAA,4DAAK;IACxB,yEAAwB;IACtB,4EACyF;IAA7D,gfAA6C,KAAK,EAAC,KAAK,KAAE;IADtF,4DACyF;IACzF,uEAA2C;IAC7C,4DAAK;IACP,4DAAK;IACP,qEAAe;;;IARa,0DAAmB;IAAnB,iFAAmB;IACvC,0DAAe;IAAf,6EAAe;IAEuB,0DAAyB;IAAzB,qGAAyB;IAAC,uGAA2B;IAC3F,qFAAyB;IACpB,0DAA2B;IAA3B,sGAA2B;;;;IAjB1C,wEAAiE;IAC/D,qEAAI;IACF,wEAAsB;IAAA,uDAAmB;IAAA,4DAAK;IAC9C,gEAAS;IACT,yEAAwB;IACtB,4EACsF;IAA7C,sYAA0C;IADnF,4DACsF;IACtF,uEAAoD;IACtD,4DAAK;IACP,4DAAK;IACL,oJAUe;IACjB,qEAAe;;;IAnBW,0DAAmB;IAAnB,iFAAmB;IAGC,0DAAmC;IAAnC,+GAAmC;IACzE,gGAAsC;IACjC,0DAAoC;IAApC,gHAAoC;IAGhB,0DAAmB;IAAnB,sFAAmB;;ADCnD,MAAM,sBAAsB;IAiBjC,YACU,MAAkB,EAClB,EAAmB,EACnB,WAAwB,EACxB,QAAyB,EACzB,MAAoB;QAJpB,WAAM,GAAN,MAAM,CAAY;QAClB,OAAE,GAAF,EAAE,CAAiB;QACnB,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAc;QAnB9B,kBAAa,GAAmB,EAAE,CAAC;QACnC,kBAAa,GAAmB,EAAE,CAAC;QACnC,eAAU,GAAe,EAAE,CAAC;QAC5B,cAAS,GAAG,KAAK,CAAC;QAClB,oBAAe,GAAY,KAAK,CAAC;QAEjC,eAAU,GAAW,EAAE,CAAC;QACxB,kBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAW,EAAE,CAAC;QACtB,wBAAmB,GAAW,EAAE,CAAC;QACjC,cAAS,GAAW,EAAE,CAAC;QACb,eAAU,GAAG,IAAI,0DAAY,EAAW,CAAC;IAQhD,CAAC;IACJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,+BAA+B,CAAC;QAC7E,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAC9E,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;IAC1D,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS;YACZ,sFAAc,CAAC,sBAAsB,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACpE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,eAAe;QACb,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,mDAAmD;oBACnD,IAAI,QAAQ,GAAa;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBACzB,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrC,KAAK,EAAE,EAAE;wBACT,YAAY,EAAE,EAAE;wBAChB,oBAAoB,EAAE,EAAE;wBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC9C,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc;wBAC7C,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;wBAC5D,YAAY,EAAE,EAAE;wBAChB,YAAY,EAAE,EAAE;wBAChB,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,EAAE;wBACd,QAAQ,EAAE,EAAE;wBACZ,0BAA0B,EAAE,EAAE;wBAC9B,qBAAqB,EAAE,EAAE;qBAC1B,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAChC;gBAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,8DAA8D,EAC9D,MAAM,CAAC,OAAO,CACf,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,uEAAe,CAAC,UAAU,EAAE,CAAC,CAAC;YACnE,IAAI,SAAS,GAAG;;wDAEkC,KAAK;oCACzB,uEAAe,CAAC,cAAc,EAAE;kCAClC,uEAAe,CAAC,cAAc,EAAE;;;SAGzD,CAAC;YAEJ,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,EAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,QAAkB;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2HAA2H;IAC3H,WAAW,CAAC,aAA6B,EAAE,UAAsB;QAC/D,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,oBAAoB;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,IACE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAChC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EACnC;oBACA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,CAAC,EAAE,CAAC;iBACL;aACF;SACF;IACH,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,MAAM,KAAK,MAAM,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO;QACL,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAClD,wBAAwB;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,yIAAyI;oBACzI,IAAI,IAAI,GAAiB;wBACvB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;wBACrC,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;wBAC7B,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc;wBAC7C,mDAAmD;wBACnD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC9C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;qBAC9B,CAAC;oBACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,iDAAiD,EACjD,MAAM,CAAC,OAAO,CACf,CAAC;gBAEF,MAAM,EAAE,CAAC;YACX,CAAC,CAAC;YAEF,kFAAkF;YAClF,IAAI,aAAa,GAAG;;;;;;;;2BAQC,CAAC;YAEtB,gEAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,qBAAqB,CAAC,MAAc;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,sBAAsB,CAAC,MAAc,EAAE,QAAiB;QAC9D,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAEzB,IAAI,CAAC,WAAW;iBACb,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;iBAClC,SAAS,EAAE;iBACX,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;gBACZ;;mBAEG;gBACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,iCAAiC;YACnC,CAAC,EACD,CAAC,QAAa,EAAE,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,0BAA0B,EAC1B,2CAA2C,EAC3C,OAAO,EACP,kCAAkC,MAAM,IAAI,QAAQ,EAAE,EACtD,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IAC7C,UAAU,CACd,IAAkB,EAClB,QAAkB,EAClB,KAAU,EACV,kBAA2B,EAC3B,QAAiB;;;;YAEjB;;eAEG;YACH,IAAI,KAAK,CAAC,aAAa,EAAE;gBACvB,QAAQ,SAAG,KAAK,CAAC,aAAa,CAAC,OAAO,mCAAI,KAAK,CAAC;aACjD;YAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEzD,iCAAiC;YACjC,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE,GAAE,CAAC,CAAC;YAEnD,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,iDAAiD,EACjD,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC,CAAC;YAEF,qDAAqD;YACrD,IAAI,kBAAkB,EAAE;gBACtB,sDAAsD;gBACtD,SAAS;oBACP,+BAA+B;wBAC/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC5C,oBAAoB;wBACpB,IAAI,CAAC,MAAM;wBACX,GAAG,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAG7B,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC3C;qBAAM;oBACL,yCAAyC;oBACzC,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;oBAC5B,SAAS;wBACP,+BAA+B;4BAC/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;4BAC/C,oBAAoB;4BACpB,IAAI,CAAC,MAAM;4BACX,GAAG,CAAC;iBACP;aACF;YAED,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;;KACH;IAED,mCAAmC;IAC7B,aAAa,CACjB,QAAkB,EAClB,KAAU,EACV,IAA0B;;YAE1B,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE,GAAE,CAAC,CAAC;YAEnD,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;YACvD,IAAI,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;YAE3C,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9C,MAAM,IAAI,CAAC,UAAU,CACnB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,QAAQ,CACT,CAAC;iBACH;aACF;iBAAM;gBACL,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aAC/D;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAC3C,CAAC;YACF,IAAI,eAAe,EAAE;gBACnB,eAAe,CAAC,eAAe,GAAG,QAAQ,CAAC;aAC5C;YAED,IAAI,SAAS,GAAG,iDAAiD,IAAI,CAAC,qBAAqB,CACzF,MAAM,CAAC,QAAQ,CAAC,CACjB,yBAAyB,QAAQ,CAAC,UAAU,GAAG,CAAC;YACjD,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC;KAAA;IAED,wBAAwB;IACxB,SAAS,CAAC,SAAkB;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,sFAAc,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE,GAAE,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;YAC9C,OAAO,CAAC,GAAG,CACT,+DAA+D,EAC/D,OAAO,CAAC,OAAO,CAChB,CAAC;QACJ,CAAC,CAAC;QAEF,yBAAyB;QACzB,IAAI,SAAS,GACX,+BAA+B;YAC/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,GAAG,CAAC;QACN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACF,SAAS;YACP,gDAAgD;gBAChD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7C,GAAG,CAAC;QACN,gEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACF,oBAAoB;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,4DAA4D;YAC5D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC;YAE/C,4BAA4B;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;aAClD;SACF;IACH,CAAC;;4FAvYU,sBAAsB;sGAAtB,sBAAsB;QC7BnC,yEAAiD;QAC/C,yEAAyB;QACvB,yEAA4B;QAAA,uDAAc;QAAA,4DAAM;QAChD,yEAAuC;QACrC,2EACoC;QAD7B,6LAAuB,uFAClB,4BAAoB,IADF;QAA9B,4DACoC;QACpC,2EAAuB;QAAA,uDAAiB;QAAA,4DAAQ;QAClD,4DAAM;QACR,4DAAM;QACN,2EAAoC;QAClC,wEAAO;QACL,sEAAI;QACF,yEAAoC;QAAA,wDAAgB;QAAA,4DAAK;QACzD,yEAAoC;QAAA,wDAAY;QAAA,4DAAK;QACrD,yEAAoC;QAAA,wDAAuB;QAAA,4DAAK;QAClE,4DAAK;QACP,4DAAQ;QACR,yEAAO;QACL,sIAqBe;QACjB,4DAAQ;QACV,4DAAQ;QACV,4DAAM;QAKN,iEAAM;QACN,iEAAM;;QA9C0B,0DAAc;QAAd,+EAAc;QAEjC,0DAAuB;QAAvB,kFAAuB;QAEP,0DAAiB;QAAjB,kFAAiB;QAMF,0DAAgB;QAAhB,iFAAgB;QAChB,0DAAY;QAAZ,6EAAY;QACZ,0DAAuB;QAAvB,wFAAuB;QAI1B,0DAAe;QAAf,mFAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZJ;AAGsB;AAE4C;;;;;;;;;;;ICO5G,uEAAgB;IAAA,uDAAc;IAAA,4DAAO;;;IAArB,0DAAc;IAAd,4EAAc;;;IAE9B,uEAAiB;IAAA,uDAAkB;IAAA,4DAAO;;;IAAzB,0DAAkB;IAAlB,kFAAkB;;;IAHrC,wEAAqC;IACnC,sKAAqC;IAErC,sKAA0C;IAE5C,qEAAe;;;IAJN,0DAAO;IAAP,sEAAO;IAEP,0DAAQ;IAAR,uEAAQ;;;IAJnB,wEAA0G;IACxG,uKAKe;IAEjB,qEAAe;;;IAPE,0DAAoB;IAApB,mFAAoB;;;;IAHzC,yEAAkH;IAChH,0EAA2F;IAAxC,2VAAuC;IACxF,yJAQe;;IAEjB,4DAAM;IACR,4DAAM;;;IAX4B,0DAA2D;IAA3D,0LAA2D;;;;IAsB7F,yEAAiE;IAC/D,0EAAuF;IAApC,wVAAmC;IACpF,uEAAM;IAAA,uDAA0F;IAAA,4DAAO;IACzG,4DAAM;IACR,4DAAM;;;IAFI,0DAA0F;IAA1F,0KAA0F;;;;IApCpG,sEAAiE;IACjE,yEAA0B;IACxB,yEAA4B;IAAA,uDAAoC;IAAA,4DAAM;IACtE,yEAAsC;IACpC,yEAAwB;IACtB,2EAA4H;IAApF,gXAAsC;IAA9E,4DAA4H;IAC9H,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,gIAaM;IAEN,yEAA0B;IACxB,yEAA4B;IAAA,wDAA6B;IAAA,4DAAM;IAC/D,0EAAsC;IACpC,0EAAwB;IACtB,4EAAsH;IAA9E,uXAA4C;IAApF,4DAAsH;IACxH,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,kIAIM;IAEN,0EAA2C;IACzC,0EAAwC;IACtC,2EAA8B;IAC5B,8EAAgC;IAAxB,wUAAuB;IAC7B,oEAA0B;IAAA,wDAC5B;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,4DAAM;;;IA/CwB,0DAAoC;IAApC,wGAAoC;IAGpB,0DAAsC;IAAtC,oGAAsC;IAKzD,0DAAqF;IAArF,sKAAqF;IAgBlF,0DAA6B;IAA7B,iGAA6B;IAGb,0DAA4C;IAA5C,0GAA4C;IAK/D,0DAAoC;IAApC,uGAAoC;IAU7B,0DAC5B;IAD4B,0FAC5B;;;IAKN,sEAAkE;IAChE,qEAAI;IAAA,uDAA2B;IAAA,4DAAK;IACtC,4DAAM;;;IADA,0DAA2B;IAA3B,+FAA2B;;ADrC5B,MAAM,8BAA8B;IA8BzC,YAA6B,EAAmB,EAC7B,kBAAuC,EACvC,WAAwB,EACxB,YAAqB,EAC9B,QAAwB;QAJL,OAAE,GAAF,EAAE,CAAiB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAS;QAC9B,aAAQ,GAAR,QAAQ,CAAgB;QAxB1B,oBAAe,GAAmB,EAAE,CAAC;QAE7C,6BAAwB,GAAY,KAAK,CAAC;QAE1C,mCAA8B,GAAY,KAAK,CAAC;QAEhD,uBAAkB,GAAqB,EAAsB,CAAC;QAE9D,4BAAuB,GAAQ,EAAE;QAEjC,4BAAuB,GAAQ,EAAE;QAEjC,qCAAgC,GAAQ,EAAE;QAC1C,8BAAyB,GAAQ,EAAE;QACnC,oCAA+B,GAAQ,EAAE;QACzC,aAAQ,GAAQ,EAAE;QAClB,0BAAqB,GAA0B,IAAI,CAAC;QAEpD,8BAAyB,GAAqB,EAAsB,CAAC;IAOjE,CAAC;IAjCL,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IA4BD,QAAQ;QACN,IAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACjF,IAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACjF,IAAI,CAAC,gCAAgC,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC;QACvG,IAAI,CAAC,yBAAyB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sCAAsC,CAAC;QACnG,IAAI,CAAC,+BAA+B,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,+BAA+B,CAAC;QAClG,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;IACpD,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,wBAAwB,GAAG,+EAAc,CAAC,iCAAiC,EAAE,CAAC;QACnF,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,EAAE,GAAG,CAAC;QACT,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,EAAE,CAAC,qCAAqC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAE/B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,OAAyB;QACxD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAErE,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAC7C,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,uBAAuB,CAAC;YAC3C,IAAI,EAAE,CAAC,uBAAuB,EAAE;gBAC9B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAChC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;aAC5C;SACF;IACH,CAAC;IAEO,gCAAgC,CAAC,YAAqB,KAAK;QAEjE,IAAI,UAAU,GAAG,IAAI,CAAC;QAEtB,IAAI,SAAS,EAAE;YACb,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;SACzE;aACI;YACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAClE;QAED,2HAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YACpG,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,4BAA4B,CAAC,OAAY,EAAE,YAAqB,KAAK;QAC3E,IAAI,OAAO,IAAI,UAAU,EAAE;YACzB,MAAM,OAAO,GAAG,OAA2B,CAAC;YAE5C,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;aACxC;iBACI;gBACH,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;aACnC;SACF;IACH,CAAC;IAED,kBAAkB,CAAC,kBAAoC;QACrD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SACrD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,0BAA0B,CAAC,CAAM;QAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEjC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IAED,cAAc,CAAC,CAAM;QACnB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEjC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;SAE7C;IACH,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEK,WAAW;;;YAEf,IAAI,iBAAiB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAE7D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,8BAAqC,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;aACtI;YAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;YAElF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,8BAAqC,EAAE,iBAAiB,CAAC,CAAC;YAEnG,+EAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAEhF,IAAI,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAEvE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,8BAA8B,cAAE,IAAI,CAAC,qBAAqB,0CAAE,gBAAgB,mCAAI,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;aAC5K;YACD,IAAI,KAAK,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC;YACzE,yDAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;;KAC5B;IAEO,6BAA6B;QAEnC,IAAI,QAAQ,GAAG,+EAAc,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,SAAS,GAAG,+EAAc,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAG,+EAAc,CAAC,gBAAgB,EAAE,CAAC;QAGtD,IAAI,iBAAiB,GAAkC,EAAE,CAAC;QAE1D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;YACjE,KAAK,EAAE,CAAC;YACR,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,SAAS,GAAG,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;aACjF;YAED,IAAI,EAAE,GAAgC;gBACpC,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,SAAS;gBACpB,sBAAsB,EAAE,EAAE,GAAG,KAAK;gBAClC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,uBAAuB,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC7C,aAAa,EAAE,aAAa;aAC7B;YAED,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;;4GA/MU,8BAA8B;8GAA9B,8BAA8B;QClB3C,yEAA4D;QAE1D,qEAAI;QAAA,uDAA2B;QAAA,4DAAK;QAEpC,2HAiDM;QACN,0HAEM;QACR,4DAAM;;QAvDA,0DAA2B;QAA3B,4FAA2B;QAEzB,0DAAyD;QAAzD,6HAAyD;QAkDzD,0DAA0D;QAA1D,8HAA0D;;;;;;;;;;;;;;;;;;;;;;;;ACpDb;AAKV;AACe;;;;AAKnD,MAAM,aAAa;IACxB,YAAoB,MAAkB,EAAU,WAAwB;QAApD,WAAM,GAAN,MAAM,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEtE,aAAa;;YACjB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3C,IAAI,MAAM,IAAI,SAAS,EAAE;gBACvB,IAAI,sEAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;oBAChE,OAAO,IAAI,CAAC,4CAA4C,CACtD,MAAM,CAAC,QAAQ,CAChB,CAAC;iBACH;qBAAM;oBACL,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACzD;aACF;;gBAAM,OAAO,SAAS,CAAC;QAC1B,CAAC;KAAA;IAEK,gBAAgB;;YACpB,IAAI,aAAkB,CAAC;YACvB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,OAAO,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;gBAC/B,IAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAG,GAAG,EAAC;oBAC3B,aAAa,GAAC,OAAO,CAAC,CAAC,CAAC;iBACzB;aACF;YACD,gCAAgC;YAChC,iDAAiD;YACjD,WAAW;YACX,yBAAyB;YACzB,uEAAuE;YACvE,UAAU;YACV,gCAAgC;YAChC,mCAAmC;YACnC,gCAAgC;YAChC,QAAQ;YACR,MAAM;YACN,MAAM;YACN,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAED,4CAA4C;IAC5C,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAY,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG;;;;;qDAK4B,CAAC;YAEhD,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,GAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,UAAU,EACV,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,kDAAkD;QAClD,OAAO,IAAI,OAAO,CAAQ,CAAC,OAAY,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,kHAAkH,CAAC;YAEtI,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,IAAI,GAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,UAAU,EACV,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,YAAY;;YAChB,wEAAwE;YACxE,IAAI,SAAS,GAAyB,IAAI,GAAG,EAAmB,CAAC;YACjE,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,gFAAgF;YACjI,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,KAAK;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,MAAM,IAAI,MAAM,IAAI,SAAS,EAAE;oBACjC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACtC;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;IAED,0BAA0B,CAAC,GAAQ;QACjC,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,KAAK,GAAG,CAAC,CAAC;SACX;QACD,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEtE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAY,EAAE,EAAE;YACxC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GA0CiF,KAAK;wDACxD,WAAW;sDACb,WAAW;;+HAE8D,KAAK;sDAC9E,WAAW;oDACb,WAAW;;;;0CAIrB,GAAG;gDACG,GAAG;;;iDAGF,WAAW;+CACb,WAAW;;uBAEnC,CAAC;YAElB,oCAAoC;YACpC,SAAS;YACT,yCAAyC;YACzC,kCAAkC;YAClC,GAAG;YAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;YAEvC,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,sDAAsD,EACtD,KAAK,CACN,CAAC;YACJ,CAAC,CAAC;YACF;;;eAGG;YACH,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAClD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;oBAChD,IAAI,IAAS,CAAC;oBACd,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;wBACpC,IAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,EAAE,GAAC,OAAO,CAAC,IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACxD,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;4BACpB,MAAK;yBACN;qBACF;oBACD,IAAG,CAAC,IAAI,EAAC;wBACP,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;qBACrB;oBACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;wBACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACtB;yBAAM;wBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;qBACrB;oBACD,MAAM,IAAI,GAAS,IAAI,CAAC;oBACxB,IAAI,CAAC,OAAO,GAAG,uDAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;oBACrC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,WAAW,EACX,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C,CAAC,QAAgB;QAC3D,OAAO,IAAI,OAAO,CAAO,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACrD,IAAI,WAAW,GAAG,uDAAe,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,KAAK,GAAG,CAAC,CAAC;aACX;YAED,IAAI,WAAW,GAAG,uDAAe,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAEtE,IAAI,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GA0DmF,CAAC;YAEzG,IAAI,sEAAc,CAAC,iCAAiC,EAAE,EAAE;gBACtD,cAAc,IAAI,6BAA6B,sEAAc,CAAC,gBAAgB,EAAE,GAAG,CAAC;aACrF;YAED,cAAc,IAAI;;;;;+CAKuB,WAAW;4CACd,WAAW;;;;;mHAK4D,KAAK;kDACtE,WAAW;gDACb,WAAW;;mGAEwC,KAAK;oDACpD,WAAW;kDACb,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;sCA0BvB,QAAQ;OACvC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,OAAO,CAAC,GAAG,CACT,0EAA0E,EAC1E,KAAK,CAAC,OAAO,CACd,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;;gBAChD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,EAAE;wBAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;qBACnC;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;qBAClC;oBAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,GAAG,MAAM,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,uDAAe,CAAC,aAAa,CACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAChB,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,SACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,0CAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;oBAE/B,MAAM,IAAI,GAAS,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,cAAc,EACd,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;0EAzYU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;ACVpB;AAAA;AAAA;AAAA;AAAgD;;AAKzC,MAAM,eAAe;IAuC1B;QArCQ,0BAAqB,GAAG,IAAI,4CAAO,EAAW,CAAC;QACvD,oBAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;QAEpD,kBAAa,GAAG,IAAI,oDAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,WAAM,GAAY,KAAK;QACvB,cAAS,GAAW,CAAC;QACrB,oBAAe,GAAG,IAAI,4CAAO,EAAU;QACvC,uBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACvD,cAAS,GAAG,IAAI,4CAAO,EAAU;QACjC,aAAQ,GAAG,IAAI,4CAAO,EAAQ;QAC9B,kBAAa,GAAG,IAAI,4CAAO,EAAU;QACrC,yBAAoB,GAAG,IAAI,4CAAO,EAAW;QAC7C,kBAAa,GAAG,KAAK,CAAC;IAyBN,CAAC;IAtBjB,IAAI,cAAc,CAAC,MAAe;QAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,MAAW,EAAE,MAAW,EAAE,WAAgB,SAAS;QAC5E,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAChF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,GAAW;QACd,qBAAqB;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,GAAG;QACH,IAAI,CAAC,aAAa,GAAG,IAAI;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;IAC1B,CAAC;;8EAtCU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;ACHiC;AACuB;AAGlB;;;;;;;AAWnD,MAAM,oBAAoB;IAC/B,YACmB,WAA+B,EACxC,WAAwB,EACxB,eAAgC,EAChC,MAAqB,EACrB,OAAuB;QAJd,gBAAW,GAAX,WAAW,CAAoB;QACxC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IAIG,kBAAkB;QACxB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;YACnC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG;YACzB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW;YACzC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;YACnC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;SAChC,CAAC;IACJ,CAAC;IAEY,SAAS,CACpB,aAAqB,EACrB,uBAA+B,EAC/B,WAAmB;;YAEnB,QAAQ,aAAa,EAAE;gBACrB,KAAK,iEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC/B,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,iEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC/B,MAAM;gBACR,KAAK,iEAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACpC,MAAM;gBACR,KAAK,iEAAY,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACtC,MAAM;gBACR,KAAK,iEAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBACnC,MAAM;gBACR,KAAK,iEAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAClC,MAAM;gBACR,KAAK,iEAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACjC,MAAM;gBACR,KAAK,iEAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC/B,MAAM;gBACR;oBACE,OAAO,KAAK,CAAC;aAChB;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEa,aAAa,CAAC,MAAc,EAAE,uBAA+B;;YACzE,QAAQ,uBAAuB,EAAE;gBAC/B,KAAK,GAAG;oBACN,MAAM;gBACR,KAAK,IAAI;oBACP,MAAM;gBACR,KAAK,yEAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE;oBAC7C,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,yEAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBAC3C,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,yEAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC9C,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBAC/C,MAAM;aACT;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEY,QAAQ,CAAC,MAAc,EAAE,aAAqB,EAAE,uBAA+B,EAAE,cAAsB;;YAGlH,QAAQ,uBAAuB,EAAE;gBAC/B,KAAK,GAAG;oBACN,MAAM;gBACR,KAAK,IAAI;oBAEP,MAAM;gBACR,KAAK,yEAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE;oBAE7C,MAAM;gBACR,KAAK,yEAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBAC3C,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;gBAC3E,KAAK,yEAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC9C,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;aAC/E;YAED,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,EAAE;aACI,CAAC;QACjB,CAAC;KAAA;IAEY,wBAAwB,CAAC,WAAoB,KAAK;;YAC7D,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEtD,QAAQ,WAAW,EAAE;gBACnB,KAAK,yEAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE;oBAE7C,MAAM;gBACR,KAAK,IAAI;oBAEP,MAAM;gBACR,KAAK,yEAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE;oBAE7C,MAAM;gBACR,KAAK,yEAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE;oBAC3C,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACvD,MAAM;gBACR,KAAK,yEAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAE9C,MAAM;aACT;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEa,kBAAkB,CAAC,MAAc,EAAE,aAAqB,EAAE,cAAsB;;YAC5F,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YAClF,IAAI,GAAG,GAAG;gBACR,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;aACT,CAAC;YAEF,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEa,oBAAoB,CAAC,MAAc;;YAC/C,IAAI,cAAc,GAAG,sEAAc,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhD,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC1C,MAAM,EACN,cAAc,EACd,eAAe,CAChB,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEa,iBAAiB,CAAC,MAAc;;YAC5C,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aACxD;YACD,OAAO,CAAC,EAAE;gBACR,OAAO,KAAK,CAAC;aACd;QACH,CAAC;KAAA;IAEa,eAAe,CAAC,MAAc,EAAE,aAAqB,EAAE,cAAsB;;YACzF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAE5C,IAAI;gBACF,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;gBAChG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAE1B,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,EAAE;iBACT;aACF;QACH,CAAC;KAAA;IAEa,gBAAgB,CAAC,MAAc;;YAC3C,IAAI,cAAc,GAAG,sEAAc,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CACpC,MAAM,EACN,cAAc,EACd,eAAe,CAChB,CAAC;YAEF,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEa,sBAAsB;;YAElC,MAAM,qBAAqB,GAAG;;;;;;OAM3B,CAAC;YAEJ,IAAI,cAAc,GAAG,MAAM,gEAAe,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;YACtG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,mBAA6B,CAAC;aACxD;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;;wFA3MU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;ACRpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;;;;;;;;ICKvC,yEAAyD;IACrD,qEAgB4B;IAC5B,yEAAsB;IAAA,uDAAe;IAAA,4DAAK;IAC1C,2EAAuB;IAAA,uDAAe;IAAA,4DAAO;IACjD,4DAAM;;;;IAnBI,0DAcS;IAdT,6fAcS;IAGO,0DAAe;IAAf,6EAAe;IACd,0DAAe;IAAf,mFAAe;;ADjBvD,MAAM,qBAAqB;IAehC,YAA6B,YAAsB,EACzC,cAA8B,EAC9B,QAAwB,EACf,WAAwB;QAHd,iBAAY,GAAZ,YAAY,CAAU;QACzC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAgB;QACf,gBAAW,GAAX,WAAW,CAAa;QAf3C,qBAAgB,GAAU,EAAE;QAC5B,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,wEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,wEAAW,CAAC,kBAAkB,CAAC;QAEjC,aAAQ,GAAQ,EAAE;QAClB,aAAQ,GAAQ,EAAE;QAClB,oBAAe,GAAQ,EAAE;QACzB,yBAAoB,GAAQ,EAAE;QAC9B,uBAAkB,GAAQ,EAAE;QAC9B,qBAAgB,GAAY,EAAE,CAAC;QAC7B,gBAAW,GAAQ,EAAE;IAKtB,CAAC;IACD,WAAW;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACF,CAAC;IACD,QAAQ;QACP,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QACtE,IAAI,CAAC,oBAAoB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,8DAA8D,CAAC;QACtH,IAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAC1E,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAC,gBAAsB;QAC7D,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC5D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACrE,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,gBAAsB;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAClE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC1E,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3E,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;;0FAhEU,qBAAqB;qGAArB,qBAAqB;QCblC,yEAAuB;QACnB,yEAA0B;QACtB,wEAAwB;QAAA,uDAAY;QAAA,4DAAK;QACzC,wEAAwB;QAAA,uDAAmB;QAAA,4DAAK;QAChD,yEAA4B;QACxB,uDACH;QAAA,4DAAM;QACP,sEAAK;QACD,qEAAI;QAAA,wDAAY;QAAA,4DAAK;QACrB,0EAA6B;QACzB,0EAA6B;QACzB,mHAoBM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,0EAAsC;QAClC,6EAAyE;QAA3B,8IAAS,oBAAgB,IAAC;QAAC,wDAAsB;QAAA,4DAAS;QAC5G,4DAAM;QAEV,4DAAM;QACV,4DAAM;;QAtC0B,0DAAY;QAAZ,6EAAY;QACZ,0DAAmB;QAAnB,oFAAmB;QAEvC,0DACH;QADG,oGACH;QAEO,0DAAY;QAAZ,6EAAY;QAG4B,0DAAmB;QAAnB,yFAAmB;QAyBU,0DAAsB;QAAtB,uFAAsB;;;;;;;;;;;;;;ACpC3G;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkF;AAGvB;AACA;AAEmF;;;AAKvI,MAAM,UAAU;IAIrB,YACmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAJ3B,eAAU,GAAW,wEAAW,CAAC,MAAM,CAAC;QACxC,cAAS,GAAG,EAAE,CAAC;QACf,aAAQ,GAAG,EAAE,CAAC;IAItB,CAAC;IACD,cAAc,CAAC,GAAQ;QACrB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,GAAG,YAAY,sEAAiB,EAAE;gBACpC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;oBACrB,MAAM,CAAC,EAAE,IAAI,EAAE,oDAAY,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;iBACvD;qBAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,KAAK,EAAE;oBAC7C,OAAO,CAAC,EAAE,IAAI,EAAE,oDAAY,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;iBACnD;qBAAM;oBACL,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC/B;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CACH,EAAY,EACZ,MAAa,EACb,MAAgB,CAAC,CAAM,EAAE,EAAE;QACzB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,EACD,UAAiB,EAAE,EACnB,WAAmB,CAAC,EACpB,QAAgB,CAAC,EACjB,WAAkB,EAAE;QAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAU,QAAQ,CAAC;YAC7B,IAAI,IAAI,GAAQ,OAAO,CAAC;YACxB,EAAE,CAAC,GAAG,MAAM,CAAC;iBACV,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBAClB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;gBACpB,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CACtB,CAAC,IAAS,EAAE,EAAE;oBACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,QAAQ,KAAK,CAAC,EAAE;wBAClB,MAAM,CAAC,MAAM,CAAC,CAAC;wBACf,OAAO;qBACR;oBACD,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,KAAK,CACR,EAAE,EACF,MAAM,EACN,GAAG,EACH,IAAI,EACJ,QAAQ,GAAG,CAAC,EACZ,KAAK,GAAG,CAAC,EACT,MAAM,CACP,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;4BACZ,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC,EACD,CAAC,KAAU,EAAE,EAAE;4BACb,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChB,CAAC,CACF,CAAC;oBACJ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;gBACnB,CAAC,EACD,CAAC,IAAS,EAAE,EAAE;oBACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,wCAAwC;oBACxC,sCAAsC;oBACtC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACf,OAAO;gBACT,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACA,uBAAuB,CAAC,QAAgB,EAAE,QAAgB;QACzD,IAAI,mCAAmC,GAAG,CAAC,CAAM,EAAE,EAAE;YACnD,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,CAAC,IAAiB,EAAE,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,IAAiB,EAAE,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnE,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,CAAC,QAAQ,EAAC,QAAQ,CAAC,EACnB,mCAAmC,CAClC,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;IACD;;;;;OAKG;IACK,0BAA0B,CAAC,QAAgB,EAAE,QAAgB;QACnE,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,+BAA+B,EACjD,IAAI,EACJ,EAAE,OAAO,EAAE,CACZ,CAAC,SAAS,EAAE,CAAC;IAChB,CAAC;IACD,yBAAyB,CAAC,KAAa,EAAE,KAAc,KAAK;QAC1D,IAAI,qCAAqC,GAAG,CAAC,CAAM,EAAE,EAAE;YACrD,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,CAAC,IAAiB,EAAE,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,IAAiB,EAAE,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,CAAC,KAAK,EAAC,EAAE,CAAC,EACV,qCAAqC,CACpC,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;IACO,4BAA4B,CAAC,KAAa,EAAE,EAAW;QAC7D,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC;aACrB,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC9B,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACvC,IAAI,IAAI,GAAG;YACT,QAAQ,EAAE;gBACR,kBAAkB,EAAE,KAAK;gBACzB,QAAQ,EAAE,CAAC,EAAE;aACd;SACF,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,0BAA0B,EAC5C,IAAI,EACJ,EAAE,OAAO,EAAE,CACZ,CAAC,SAAS,EAAE;IACf,CAAC;IACD,4BAA4B,CAAC,KAAa;QACxC,IAAI,wCAAwC,GAAG,CAAC,CAAM,EAAE,EAAE;YACxD,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,CAAC,IAAiB,EAAE,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,IAAiB,EAAE,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/C,CAAC,KAAK,CAAC,EACP,wCAAwC,CACvC,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACN,CAAC,CAAC;IAGJ,CAAC;IACO,+BAA+B,CAAC,KAAa;QACnD,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAE/C,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,KAAK,GAAG;YACV,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,sBAAsB,EACxC,KAAK,EACL,EAAE,OAAO,EAAE,CACZ,CAAC,SAAS,EAAE;IACf,CAAC;IACD,gBAAgB,CAAC,EAAS;QACxB,IAAI,4BAA4B,GAAG,CAAC,CAAM,EAAE,EAAE;YAC5C,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,CAAC,IAAiB,EAAE,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,IAAiB,EAAE,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,CAAC,EAAE,CAAC,EACJ,4BAA4B,CAC3B,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACN,CAAC,CAAC;IAEJ,CAAC;IACO,mBAAmB,CAAC,EAAU;QACpC,IAAI,MAAM,GAAG;YACX,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC9B,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAM,IAAI,CAAC,UAAU,GAAG,0BAA0B,EAAE,MAAM,EAAE;YAC/D,OAAO;SACR,CAAC;aACD,SAAS,EAAE,CAAC;IACjB,CAAC;IACD,iBAAiB,CAAC,KAAa;QAC7B,IAAI,6BAA6B,GAAG,CAAC,CAAM,EAAE,EAAE;YAC7C,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,CAAC,IAAiB,EAAE,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,IAAiB,EAAE,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EACpC,CAAC,KAAK,CAAC,EACP,6BAA6B,CAC5B,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;IACO,oBAAoB,CAAC,KAAa;QACxC,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAE/C,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAE9B,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;aACnB,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,KAAK,GAAG;YACV,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,yBAAyB,EAC3C,KAAK,EACL,EAAE,OAAO,EAAE,CACZ,CAAC,SAAS,EAAE;IACf,CAAC;IAED,yBAAyB,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAa;QACtE,IAAI,qCAAqC,GAAG,CAAC,CAAM,EAAE,EAAE;YACrD,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,CAAC,IAAiB,EAAE,EAAE;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,IAAiB,EAAE,EAAE;oBACpB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,CAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,CAAC,EACtB,qCAAqC,CACpC,CAAC,IAAI,CACJ,CAAC,IAAS,EAAE,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACN,CAAC,CAAC;IACJ,CAAC;IACO,4BAA4B,CAAC,KAAa,EAAE,QAAgB,EAAE,KAAa;QACjF,IAAI,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,sEAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;aACnB,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG;YACV,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAClC,KAAK,EACL,EAAE,OAAO,EAAE,CACZ,CAAC,SAAS,EAAE;IACf,CAAC;;oEA7WU,UAAU;6FAAV,UAAU,WAAV,UAAU,mBAFT,MAAM;;;;;;;;;;;;;ACTpB;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AACzD,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AACF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACZnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;AAGd;AACA;;;;;;AAYpD,MAAM,2BAA2B;IA8CtC,YAAoB,MAAkB,EAAU,QAAyB,EAAmB,MAAqB,EAAmB,cAAmC;QAAnJ,WAAM,GAAN,MAAM,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAiB;QAAmB,WAAM,GAAN,MAAM,CAAe;QAAmB,mBAAc,GAAd,cAAc,CAAqB;QA7CvK,OAAE,GAAkB,EAAE,CAAC;QACvB,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,EAAE,CAAC;QACxB,SAAI,GAAW,EAAE,CAAC;QAClB,UAAK,GAAkB,EAAE,CAAC;QAC1B,UAAK,GAAkB,EAAE,CAAC;QAC1B,SAAI,GAAkB,EAAE,CAAC;QACzB,YAAO,GAAW,wEAAW,CAAC,OAAO,CAAC;QACtC,gBAAW,GAAW,EAAE,CAAC;QACzB,UAAK,GAAW,EAAE,CAAC;QACnB,eAAU,GAAW,wEAAW,CAAC,OAAO,CAAC;QACzC,YAAO,GAAW,EAAE,CAAC;QACrB,wBAAmB,GAAG,EAAE,CAAC;QAEzB,aAAQ,GAAa;YACnB,EAAE,EAAE,EAAE;YACN,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,eAAU,GAAW,EAAE;QACvB,gBAAW,GAAW,EAAE;QACxB,mBAAc,GAAW,EAAE;QAC3B,kBAAa,GAAW,EAAE;QAC1B,cAAS,GAAW,EAAE;QACtB,cAAS,GAAW,EAAE;QACtB,oBAAe,GAAW,EAAE;QAC5B,gBAAW,GAAW,EAAE;QACxB,mBAAc,GAAW,EAAE;QAC3B,gBAAW,GAAW,EAAE;QACxB,cAAS,GAAW,EAAE;QACtB,mBAAc,GAAW,EAAE;QAC3B,uBAAkB,GAAW,EAAE;QAC/B,oBAAe,GAAW,EAAE;QAC5B,qBAAgB,GAAW,EAAE;QAC7B,gBAAW,GAAW,EAAE;QACxB,wBAAmB,GAAW,EAAE;QAChC,kBAAa,GAAW,EAAE;QAC1B,kBAAa,GAAG,EAAE;QAClB,gBAAW,GAAG,EAAE;QAChB,eAAU,GAAQ,sFAAc,CAAC,aAAa,EAAE;QAoFhD,aAAQ,GAAW,sDAAsD,CAAC;IAlFiG,CAAC;IAC5K,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;QACrE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,wEAAW,CAAC,WAAW,CAAC;QAE/C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;QACrD,IAAI,UAAU,EAAE;YACd,IAAI,YAAY,GAAmB,EAAoB,CAAC;YACxD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACrC,IAAG,YAAY,EAAC;gBACd,IAAI,CAAC,aAAa,GAAG,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBACzD,IAAI,CAAC,WAAW,GAAG,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;aACpD;SACF;IAEH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;YACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,sFAAc,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,sFAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,sFAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACtI,IAAI,CAAC,EAAE,GAAG,sFAAc,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,sFAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,sFAAc,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrI,IAAI,CAAC,KAAK,GAAG,sFAAc,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,sFAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,sFAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1I,IAAI,CAAC,IAAI,GAAG,sFAAc,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,sFAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,sFAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/H,CAAC;IAED,OAAO;QACL,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,eAAe,GAAG,6BAA6B,CAAC;YAEpD,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,MAAM,EAAE,CAAC;YACX,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACpD,+CAA+C;gBAC/C,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,OAAO;oBACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAE1D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CAAC;YACF,gEAAe,CAAC,mBAAmB,CACjC,eAAe,EACf,EAAE,EACF,cAAc,EACd,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,eAAe;QACb,IAAG,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACpD;IACH,CAAC;;sGArIU,2BAA2B;2GAA3B,2BAA2B;QCjBxC,qEAAI;QAAA,uDAAuB;QAAA,4DAAK;QAChC,yEAA8D;QAC1D,yEAA0B;QACtB,yEAA4B;QAAA,uDAAc;QAAA,4DAAM;QAChD,yEAAwD;QAAA,uDAAuB;QAAA,4DAAM;QACzF,4DAAM;QACN,yEAAyB;QACrB,yEAA6B;QAAA,wDAAe;QAAA,4DAAM;QAClD,0EAAoD;QAAA,wDAAoB;QAAA,4DAAM;QAClF,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAkB;QAAA,4DAAM;QACpD,0EAAqD;QAAA,wDAAc;QAAA,4DAAM;QAC7E,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAiB;QAAA,4DAAM;QACnD,0EAAsD;QAAA,wDAAM;QAAA,4DAAM;QACtE,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAa;QAAA,4DAAM;QAC/C,0EAAuD;QAAA,wDAAS;QAAA,4DAAM;QAC1E,4DAAM;QACN,0EAAyB;QACrB,0EAA6B;QAAA,wDAAa;QAAA,4DAAM;QAChD,0EAAkD;QAAA,wDAAS;QAAA,4DAAM;QACrE,4DAAM;QACN,0EAAyB;QACrB,0EAA6B;QAAA,wDAAmB;QAAA,4DAAM;QACtD,0EAAyD;QAAA,wDAAQ;QAAA,4DAAM;QAC3E,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAe;QAAA,4DAAM;QACjD,2EAAsD;QAAA,wDAAW;QAAA,4DAAM;QAC3E,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAkB;QAAA,4DAAM;QACpD,2EAAyD;QAAA,wDAAuB;QAAA,4DAAM;QAC1F,4DAAM;QACN,0EAAyB;QACrB,0EAA6B;QAAA,wDAAe;QAAA,4DAAM;QAClD,2EAAwD;QAAA,wDAAwB;QAAA,4DAAM;QAC1F,4DAAM;QACN,0EAAyB;QACrB,0EAA6B;QAAA,wDAAa;QAAA,4DAAM;QAChD,2EAA0D;QAAA,4EAAsB;QAAA,wDAAkB;QAAA,4DAAO;QAAA,4DAAM;QACnH,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAkB;QAAA,4DAAM;QACpD,2EAAkD;QAAA,wDAAc;QAAA,4DAAM;QAC1E,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAsB;QAAA,4DAAM;QACxD,2EAAkD;QAAA,wDAAmB;QAAA,4DAAM;QAC/E,4DAAM;QACN,0EAAyB;QACrB,0EAA4B;QAAA,wDAAiB;QAAA,4DAAM;QACnD,2EAAkD;QAAA,wDAAiC;QAAA,4DAAM;QAC7F,4DAAM;QAIV,4DAAM;QAIN,2EAAqC;QACjC,8EAA8H;QAA7B,oJAAS,qBAAiB,IAAC;QACxH,oEAA+C;QAAA,wDACnD;QAAA,4DAAS;QAIX,4DAAM;;QAxEJ,0DAAuB;QAAvB,wFAAuB;QAGS,0DAAc;QAAd,+EAAc;QACc,0DAAuB;QAAvB,wFAAuB;QAGlD,0DAAe;QAAf,gFAAe;QACQ,0DAAoB;QAApB,qFAAoB;QAG5C,0DAAkB;QAAlB,mFAAkB;QACO,0DAAc;QAAd,+EAAc;QAGvC,0DAAiB;QAAjB,kFAAiB;QACS,0DAAM;QAAN,uEAAM;QAGhC,0DAAa;QAAb,8EAAa;QACc,0DAAS;QAAT,0EAAS;QAGnC,0DAAa;QAAb,8EAAa;QACQ,0DAAS;QAAT,0EAAS;QAG9B,0DAAmB;QAAnB,oFAAmB;QACS,0DAAQ;QAAR,yEAAQ;QAGrC,0DAAe;QAAf,gFAAe;QACW,0DAAW;QAAX,4EAAW;QAGrC,0DAAkB;QAAlB,mFAAkB;QACW,0DAAuB;QAAvB,wFAAuB;QAGnD,0DAAe;QAAf,gFAAe;QACY,0DAAwB;QAAxB,yFAAwB;QAGnD,0DAAa;QAAb,8EAAa;QACsC,0DAAkB;QAAlB,mFAAkB;QAGtE,0DAAkB;QAAlB,mFAAkB;QACI,0DAAc;QAAd,+EAAc;QAGpC,0DAAsB;QAAtB,uFAAsB;QACA,0DAAmB;QAAnB,oFAAmB;QAGzC,0DAAiB;QAAjB,kFAAiB;QACK,0DAAiC;QAAjC,iHAAiC;QAWpC,0DACnD;QADmD,kGACnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DmB;AAUM;AAC8B;AAEc;AACF;AACb;AAC6E;AACvI,kEAAkE;AACvB;AAEyD;AACA;AACR;;;;;;;;;;;;;;;;;IClBpF,yEAAmF;IACjF,4EAC8C;IAA5C,qaAA2C;IAC3C,0EAAyB;IAGvB,qEAC8E;;IAC9E,uEAAM;IACJ,uDACF;IAAA,4DAAO;IACT,4DAAM;IACN,0EAAiB;IAAA,uDAAuD;IAAA,4DAAM;IAChF,4DAAQ;IACV,4DAAM;;;;;IAbG,0DAAa;IAAb,2FAAa;IAAe,0FAAY;IAAC,iLAAqD;IAK5F,0DAAuF;IAAvF,6RAAuF;IAG1F,0DACF;IADE,wFACF;IAEe,0DAAuD;IAAvD,yHAAuD;;;IAlBhF,wEAAuE;IACrE,yEAA0B;IACxB,0EAAoB;IAAA,uDAAc;IAAA,4DAAO;IACzC,0EAAwB;IAAA,uDAA8B;IAAA,4DAAO;IAC/D,4DAAM;IACN,yEAA4B;IAC1B,oIAcM;IACR,4DAAM;IACR,qEAAe;;;IApBS,0DAAc;IAAd,kFAAc;IACV,0DAA8B;IAA9B,kGAA8B;IAGV,0DAAyB;IAAzB,gGAAyB;;AD0BtE,MAAM,wBAAwB;IACnC,YACmB,mBAAwC,EACxC,MAAc,EACd,KAAqB,EACrB,EAAmB,EACnB,cAA8B,EACvC,MAAkB,EACT,YAAsB,EACtB,WAAwB,EACxB,WAAwB;QARxB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,OAAE,GAAF,EAAE,CAAiB;QACnB,mBAAc,GAAd,cAAc,CAAgB;QACvC,WAAM,GAAN,MAAM,CAAY;QACT,iBAAY,GAAZ,YAAY,CAAU;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QAmBlC,cAAS,GAAiB,EAAE,CAAC;QAE7B,uBAAkB,GAAW,CAAC,CAAC;QAE/B,gBAAW,GAAmB,EAAoB,CAAC;QAEnD,YAAO,GAAY,KAAK,CAAC;QAEzB,iBAAY,GAAW,IAAI,0DAAM,EAAE,CAAC;QAEpC,qBAAgB,GAAW,CAAC,CAAC;QAE7B,uBAAkB,GAAW,CAAC,CAAC;QAE/B,cAAS,GAAW,IAAI,0DAAM,EAAE,CAAC;QAE1C,iCAAiC;QACvB,oBAAe,GAAY,KAAK,CAAC;QAEjC,uBAAkB,GAC1B,IAAI,0DAAY,EAAW,CAAC;QAEpB,0BAAqB,GAC7B,IAAI,0DAAY,EAAqB,CAAC;QAE9B,mBAAc,GAAG,IAAI,0DAAY,EAAW,CAAC;QAE7C,yBAAoB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAElD,yBAAoB,GAAG,IAAI,0DAAY,EAAS,CAAC;QAEjD,oBAAe,GAIpB,IAAI,0DAAY,EAAE,CAAC;QAEd,mBAAc,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAE1D,iCAA4B,GACpC,IAAI,0DAAY,EAAE,CAAC;QAEX,4BAAuB,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAE9E,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,wEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,wEAAW,CAAC,kBAAkB,CAAC;QAInC,mBAAc,GAAiB,EAAkB,CAAC;QAMlD,YAAO,GAAY,KAAK,CAAC;QAEzB,aAAQ,GAAW,EAAE,CAAC;QAEtB,kBAAa,GAAW,CAAC,CAAC;QAE1B,4BAAuB,GAAG,CAAC,CAAC;QAE5B,sBAAiB,GAAwB,IAAI,CAAC;QAE9C,yBAAoB,GAAG,KAAK,CAAC;QAE7B,wBAAmB,GAAG,KAAK,CAAC;QAE5B,uBAAkB,GAAG,KAAK,CAAC;QAI3B,sBAAiB,GAAY,KAAK,CAAC;QAEnC,0BAAqB,GAAG,CAAC,CAAC;QAE1B,eAAU,GAAgB,EAAiB,CAAC;QAE5C,eAAU,GAAmB,EAAoB,CAAC;QAMlD,sBAAiB,GAAoB,EAAqB,CAAC;QAE3D,oBAAe,GAAG,IAAI,CAAC;QAEvB,0BAAqB,GAAW,CAAC,CAAC;QAUlC,wBAAwB;QACxB,SAAI,GAAW,EAAE,CAAC;QAElB,sBAAiB,GAAG,KAAK,CAAC;QAI1B,gBAAW,GAAG,KAAK,CAAC;QAEpB,aAAQ,GAAa,EAAc,CAAC;QAEpC,aAAQ,GAAW,CAAC,CAAC;QAIrB,eAAU,GAAkB,EAAE,CAAC;QAI/B,kBAAa,GAAW,CAAC,CAAC;QAE1B,mBAAc,GAAU,EAAE,CAAC;QAE3B,kBAAa,GAAU,EAAE,CAAC;QAI1B,qBAAgB,GAAY,EAAE,CAAC;QAC/B,eAAU,GAAQ,EAAE;QAEV,0BAAqB,GAAG,IAAI,0DAAY,EAAS,CAAC;QAnJ1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,KAAK,EAAc,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IA2ID,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,GAAC,sFAAc,CAAC,uBAAuB,EAAE,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACpE,qBAAqB;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,WAAW,KAAI,CAAC;IAEhB,aAAa,CAAC,gBAAyB,KAAK;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,EAAE;gBAC9B,IAAI,aAAa,EAAE;oBACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBAEvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;iBACzB;gBAED,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBACjC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACzD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC/C,IAAI,SAAS,CAAC,UAAU,EAAE;gCACxB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAW,CAAC;gCAC9D,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gCAExC,kGAAkG;gCAClG,IAAI,CAAC,aAAa,EAAE,CAAC;6BACtB;yBACF;qBACF;iBACF;gBACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACpD;iBAAM;gBACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;wBACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,8CAA8C;4BACrD,QAAQ,EAAE,KAAK;yBAChB,CAAC,CAAC;qBACJ;iBACF;aACF;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,wDAAwD;YACxD,sDAAsD;YACtD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACtD;aAAM;YACL,gBAAgB;SACjB;IACH,CAAC;IACD,YAAY,CAAC,QAA4B,EAAE,YAAoB,EAAE,gBAAwB;QACvF,IAAI,QAAQ,IAAI,QAAQ,IAAI,EAAE,EAAC;YAC7B,OAAO,YAAY,GAAG,QAAQ,CAAC;SAChC;aAAM,IAAG,gBAAgB,IAAI,EAAE,EAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,GAAC,gBAAgB,CAAC;SAC3C;aAAM;YACL,OAAO,4BAA4B,CAAC;SACrC;IACH,CAAC;IACD,wBAAwB;QACtB,IACE,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;YACzB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAChC;YACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,EAAY;iBACnB,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IACK,iBAAiB,CAAC,EAAU;;YAChC,MAAM,IAAI,CAAC,EAAE;iBACV,0BAA0B,CAAC,EAAE,CAAC;iBAC9B,IAAI,CAAC,CAAO,QAAa,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC/B,IAAI,CAAC,SAAS;oBACZ,IAAI,CAAC,UAAU;wBACf,IAAI,CAAC,cAAc;4BACjB,MAAM,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnE,CAAC,EAAC;iBACD,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEK,eAAe;;YACnB,MAAM,IAAI,CAAC,EAAE;iBACV,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;iBACnC,IAAI,CAAC,CAAO,QAAa,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,CAAC,EAAC,CAAC;QACP,CAAC;KAAA;IAEK,cAAc;4GAAI,CAAC;KAAA;IAEzB,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE;YAC5C,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;SACpE,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrC,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,yBAAyB;YACzB,IAAI,CAAC,cAAc,OAAC,IAAI,CAAC,UAAU,0CAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SACnE;IACH,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,GAAa;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,GAAa;QAC5B,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3D,IAAI;gBACF,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,GAAG,CAAC,UAAU,EAAE,EAC3C,4EAA4E,GAAG,EAAE,EACjF,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAClC;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC9B,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,GAAG,CAAC,UAAU,EAAE,EAC3C,0BAA0B,CAAC,CAAC,OAAO,EAAE,EACrC,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAClC;qBAAM;oBACL,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,8BAA8B,EAC9B,gCAAgC,EAChC,2BAA2B,GAAG,CAAC,UAAU,EAAE,EAC3C,kCAAkC,CAAC,EAAE,EACrC,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAClC;aACF;SACF;QACD,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,4BAA4B;IAC9B,CAAC;IAED,iBAAiB,CAAC,KAAU,EAAE,IAAY,EAAE,GAAW;QACrD,gBAAgB;QAEhB,IACE,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EACjD;YACA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBACrE,4GAAuB,CAAC,IAAI,CAC1B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,CACnB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACzB,IAAI,GAAG,IAAI,QAAQ,EAAE;wBACnB,+BAA+B;wBAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC7B,OAAO;iBACR;aACF;iBAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;gBACvD,4GAAuB,CAAC,IAAI,CAC1B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,CACnB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACzB,IAAI,GAAG,IAAI,QAAQ,EAAE;wBACnB,+BAA+B;wBAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,EAAE;oBAChB,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC7B,OAAO;iBACR;aACF;SACF;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAW,CAAC;QACzD,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE;YACtD,6BAA6B;YAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAS,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;oBACtC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CACjC,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EACjD,IAAI,CAAC,aAAa,CACnB,CAAC;oBACF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;wBAC1D,IAAI,GAAG,CAAC,MAAM,EAAE;4BACd,IAAI,CAAC,IAAI,GAAG,wDAAI,CAAC,OAAO,EAAE,CAAC;4BAC3B,IAAI,CAAC,kBAAkB,GAAG,wDAAI,CAAC,OAAO,EAAE,CAAC;4BACzC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;yBACxD;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,eAAe;oBACf,IAAI,CAAC,uBAAuB;wBAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;oBACxD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CACjC,IAAI,EACJ,IAAI,CAAC,YAAY,EACjB,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EACjD,IAAI,CAAC,aAAa,CACnB,CAAC;oBACF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;wBAC1D,IAAI,GAAG,IAAI,QAAQ,EAAE;4BACnB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;yBAC9B;6BAAM,IAAI,GAAG,CAAC,MAAM,EAAE;4BACrB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BAC7B,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;yBACxD;oBACH,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;IACH,CAAC;IAEO,eAAe,CAAC,UAAwB;QAC9C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,aAAa,EAAE,CAAC;aACjB;SACF;QACD,OAAO,aAAa,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;wBACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;4BAC5C,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;iBACF;aACF;SACF;QAED,IAAI,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAChD,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,GAAG,eAAe,EACvE,CAAC,EAAE,EACH;YACA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,8CAA8C;gBACrD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,0DAA0D;IAC5D,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,OAAe;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GACV,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAC5D,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE;4BAC3D,KAAK,EAAE,CAAC;4BACR,IAAI,KAAK,IAAI,QAAQ,EAAE;gCACrB,6DAA6D;gCAC7D,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;gCAC7B,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;gCACzB,SAAS,CAAC,uBAAuB,GAAG,CAAC,CAAC;gCACtC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gCACzC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gCAC3C,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;gCACjC,6CAA6C;gCAC7C,MAAM;6BACP;yBACF;qBACF;iBACF;aACF;SACF;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,wBAAwB,CAC9B,IAAY,EACZ,QAAgB,EAChB,OAAe;QAEf,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7C,SAAS;iBACV;qBAAM;oBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3B,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;4BACnC,KAAK,EAAE,CAAC;4BACR,IAAI,KAAK,IAAI,QAAQ,EAAE;gCACrB,6DAA6D;gCAC7D,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;gCAC5B,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;gCACzB,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gCACrC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gCAC3B,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;gCACvD,SAAS,CAAC,uBAAuB,GAAG,QAAQ,CAAC;gCAC7C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gCAEzC,6CAA6C;gCAC7C,IAAI,KAAK,IAAI,QAAQ,EAAE;oCACrB,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;oCACxC,iEAAiE;oCACjE,kDAAkD;oCAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iCACtC;gCACD,MAAM;6BACP;yBACF;qBACF;iBACF;aACF;SACF;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,kCAAkC;IAClC,2BAA2B;IAC3B,IAAI;IAEJ,cAAc,CAAC,IAAY,EAAE,GAAW,EAAE,OAAgB;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,qGAAuB,CAC3C,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACzC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAqB,EAAE,EAAE;YACnD,IAAI,MAAM,EAAE;gBACV,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnD,MAAM,OAAO,GAAG,MAAgB,CAAC;oBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,uBAA8B,CAAC;wBAC5D,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;oBAEpC,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;iBACvD;aACF;iBAAM;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,uBAAuB;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEK,cAAc,CAAC,WAAoB,KAAK;;YAC5C,sBAAsB;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAE9B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAEvC,MAAM,iBAAiB,GACrB,uEAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAEjD,4DAA4D;oBAC5D,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,GAAG,CAAC,EAAE;wBAC7C,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;qBACpB;oBAED,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE;wBACvB,UAAU,CAAC,GAAG,GAAG,KAAK,CAAC;qBACxB;oBAED,IAAI,UAAU,CAAC,UAAU,EAAE;wBACzB,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC/B,IACE,iBAAiB,IAAI,UAAU,CAAC,GAAG;gCACnC,iBAAiB,IAAI,UAAU,CAAC,GAAG,EACnC;gCACA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;6BAC3B;iCAAM;gCACL,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gCAC/B,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;6BAC5B;yBACF;qBACF;yBAAM;wBACL,IACE,iBAAiB,IAAI,UAAU,CAAC,GAAG;4BACnC,iBAAiB,IAAI,UAAU,CAAC,GAAG,EACnC;4BACA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC1B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;yBAC9B;6BAAM;4BACL,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;4BAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;yBAChC;qBACF;oBAED,2BAA2B;oBAC3B,IAAI,QAAQ,EAAE;wBACZ,IAAI,UAAU,CAAC,OAAO,EAAE;4BACtB,IAAI,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE;gCACrC,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oCAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC;iCACrD;qCAAM;oCACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iCACjD;6BACF;yBACF;6BAAM;4BACL,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;4BACrB,MAAM;yBACP;qBACF;iBACF;aACF;QACH,CAAC;KAAA;IACD,mBAAmB,CAAC,SAAiB,EAAE,IAAa;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;gBACtC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExB,IACE,OAAO,CAAC,QAAQ;oBAChB,OAAO,CAAC,IAAI,CAAC,SAAS;oBACtB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACjC;oBACA,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAC/D,OAAO,CAAC,IAAI,CAAC,MAAM,CACpB,CAAC;iBACH;qBAAM;oBACL,wEAAwE;iBACzE;gBACD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACzB,iCAAiC;gBACjC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;aAClC;SACF;QACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,wBAAwB,CAAC,MAAc;QACrC,IAAI,UAAU,GAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAC1C,CAAC;YACF,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAW,CAAC;QAEjE,QAAQ,CAAC,IAAI,GAAG,wDAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;QACzB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC;QACxC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAClB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG;YAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,OAAO,CACrD,CAAC;QACF,QAAQ,CAAC,sBAAsB;YAC7B,QAAQ,CAAC,sBAAsB,IAAI,EAAE;gBACnC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtC,QAAQ,CAAC,UAAU;YACjB,uEAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;QACd,OAAO,sFAAc,CAAC,uBAAuB,EAAE,CAAC;IAClD,CAAC;;gGAntBU,wBAAwB;wGAAxB,wBAAwB;kEAuBxB,+IAAkC;kEAGlC,gHAAyB;;;;;;QC7DtC,6EAAqD;QAEnD,yEAAwC;QACtC,sIAsBe;QACjB,4DAAM;QACR,4DAAU;QAGV,yEAA2B;QACzB,8FAEmC;QACrC,4DAAM;QAEN,yEAA2B;QACzB,kFAEuB;QACzB,4DAAM;;QArCa,0DAAsD;QAAtD,8HAAsD;;;;;;;;;;;;;;ACQzE;AAAA;AAAA,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,8BAAe;IACf,oCAAqB;IACrB,8CAA+B;IAC/B,gCAAiB;IACjB,gDAAiC;IACjC,0CAA2B;IAC3B,kDAAmC;IACnC,0CAA2B;IAC3B,4CAA6B;IAC7B,0CAA2B;IAC3B,8CAA+B;IAC/B,oDAAqC;IACrC,gDAAiC;IACjC,8CAA+B;IAC/B,8CAA+B;IAC/B,gDAAiC;IACjC,oDAAqC;AACvC,CAAC,EAlBW,WAAW,KAAX,WAAW,QAkBtB;;;;;;;;;;;;;ACxBD;AAAA;AAAA;AAAA;AAAuC;;AAMhC,MAAM,WAAW;IAHxB;QAIE,gBAAW,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QAElD,mBAAc,GAAG,KAAK,CAAC;QACvB,SAAI,GAAW,EAAE,CAAC;QAElB,sBAAiB,GAAG,EAAuB,CAAC;QAE5C,0BAAqB,GAAG,EAAmC,CAAC;QAC5D,0BAAqB,GAAG,EAA2B,CAAC;QACpD,oBAAe,GAAG,EAAqB,CAAC;QACxC,sBAAiB,GAAG,EAAuB;KAW5C;IAVC,OAAO;QACL,IAAI,CAAC,iBAAiB,GAAG,EAAuB,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,EAAmC,CAAC;QACjE,IAAI,CAAC,qBAAqB,GAAG,EAA2B,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,EAAqB,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,EAAuB,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;;sEArBU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVyC;AACR;AAMrD,sDAAsD;AACX;AACe;AACI;AAEN;;;;;;AAQjD,MAAM,cAAc;IAYzB,YAAoB,MAAkB,EAC5B,IAAgB,EACxB,UAA0B,EAClB,WAA+B;QAHrB,WAAM,GAAN,MAAM,CAAY;QAC5B,SAAI,GAAJ,IAAI,CAAY;QAEhB,gBAAW,GAAX,WAAW,CAAoB;QAbjC,YAAO,GAAY,KAAK,CAAC;QAEjC,qBAAgB,GAAY,KAAK,CAAC;QAElC,YAAO,GAA0B,EAA2B,CAAC;QAE7D,0BAAqB,GAAgB,EAAiB,CAAC;QAEvD,uBAAkB,GAAgB,EAAiB,CAAC;QAQlD,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,uBAAuB;QAEvB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAEY,2BAA2B;;YAEtC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEjD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;QACH,CAAC;KAAA;IAEO,wBAAwB;QAC9B,IAAI,KAAK,GAAG,qCAAqC,CAAC;QAElD,OAAO,gEAAe,CAAC,gBAAgB,CAA0B,KAAK,CAAC,CAAC,SAAS,EAA2B,CAAC;IAC/G,CAAC;IAEM,SAAS,CAAC,MAAkB,EAAE,gBAAyB,KAAK;QAEjE,MAAM,GAAG,GAAG,qEAAW,CAAC,MAAM,GAAG,UAAU,CAAC;QAC5C,IAAI,OAAO,GAAG,EAAoB,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,GAAmB,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAkB,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,sEAAc,CAAC,YAAY,EAAE,EAAkB,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,sEAAc,CAAC,WAAW,EAAE,EAAkB,CAAC,CAAC;QAEvF,oCAAoC;QACpC,2BAA2B;QAC3B,qDAAqD;QACrD,mDAAmD;QACnD,mDAAmD;QAEnD,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,wDAAW,CACzC,OAAO,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,gBAAgB,EAChE,OAAO,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;wBAC9B,MAAM,CAAC,WAAW;OACnC,EACD,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EACtB,IAAI,CACL,CAAC,CAAC;QAEH,qDAAqD;QACrD,OAAO,4DAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;aACtD,MAAM,CAAC,GAAG,CAAC;aACX,SAAS,CAAC,MAAM,CAAC;aACjB,SAAS,CAAC,OAAO,CAAC;aAClB,OAAO,CAAC,MAAM,CAAC;aACf,IAAI,EAAE,CAAC;IACZ,CAAC;IAEY,YAAY,CAAC,cAAsB,EAC9C,UAAkB,EAClB,SAAiB,EACjB,GAAQ,EACR,QAAa,EACb,KAAU;;YAEV,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE/C,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,IAAI,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAErE,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAElD,OAAO;gBACL,kBAAkB,EAAE,SAAS;gBAC7B,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,QAAQ;gBAClB,gBAAgB,EAAE,EAAE;gBACpB,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE,aAAa;gBACzB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,cAAc;gBAC3B,sBAAsB,EAAE,IAAI;gBAC5B,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,IAAI;gBACX,cAAc,EAAE,IAAI;gBACpB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,EAAE;gBACd,cAAc,EAAE,EAAE;gBAClB,EAAE,EAAE,IAAI;aACT;QACH,CAAC;KAAA;IAEa,gBAAgB;;YAE5B,IAAI,KAAK,GAAG,sEAAc,CAAC,gBAAgB,EAAE,CAAC;YAE9C,IAAI,KAAK,GAAG,sEAAc,CAAC,gBAAgB,EAAE,CAAC;YAE9C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,CAAC;YAElE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,GAAG;gBACd,EAAE,EAAE,EAAE;gBACN,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,cAAc,EAAE,EAAE;aACnB;QACH,CAAC;KAAA;IAEO,oBAAoB;QAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEtC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,KAAK;SACK,CAAC;IACzB,CAAC;IAEO,YAAY;QAClB,+FAA+F;QAC/F,MAAM,WAAW,GAAQ,sEAAc,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sEAAc,CAAC,cAAc,EAAE,CAAC;QAEvG,QAAQ,WAAW,EAAE;YACnB,KAAK,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC1B,KAAK,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC1B,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC;YAC5B,KAAK,GAAG,CAAC,CAAC,OAAO,UAAU,CAAC;YAC5B,KAAK,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;YAC9B;gBACE,OAAO,OAAO,CAAC;SAClB;IACH,CAAC;IAEO,eAAe,CAAC,UAAkB,EAAE,cAAsB;QAEhE,IAAI,MAAM,GAAG,sEAAc,CAAC,kBAAkB,EAAE,CAAC;QAEjD,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAE1H,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,OAAO;YACL;gBACE,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,aAAa,CAAC,OAAO;gBAChC,WAAW,EAAE,aAAa,CAAC,OAAO;gBAClC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC1C,KAAK,EAAE,aAAa,CAAC,MAAM;gBAC3B,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,aAAa,EAAE,EAAE;gBACjB,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,IAAI;aAClB;SACF;IAEH,CAAC;IACO,cAAc;QACpB,MAAM,aAAa,GAAQ,sEAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sEAAc,CAAC,gBAAgB,EAAE,CAAC;QAC7G,QAAQ,aAAa,EAAE;YACrB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;YACxB,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC;YAC/B;gBACE,OAAO,OAAO,CAAC;SAClB;IACH,CAAC;IAEO,aAAa,CAAC,KAAa;QAEjC,IAAI,SAAS,GAAsB,EAAuB,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAErC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5D;iBACI;gBACH,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,IAAU;QAElC,IAAI,SAAS,GAAsB,EAAuB,CAAC;QAE3D,uDAAuD;QAEvD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAEzF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAExD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;4BAC1C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACjI;qBACF;iBACF;aACF;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,WAAW,CAAC,IAAU,EAAE,aAAqB,EAAE;;QAErD,IAAI,SAAS,GAAsB,EAAuB,CAAC;QAE3D,IAAI,QAAQ,GAAG,uDAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,UAAU,GAAG,QAAQ,GAAG,CAAC,MAAM,OAAC,IAAI,CAAC,QAAQ,mCAAI,GAAG,CAAC,CAAC,CAAC;QAE3D,IAAI,aAAa,GAAG;YAClB,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,cAAc,EAAE,UAAU;YAC1B,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,KAAK,EAAE,IAAI,CAAC,cAAc;YAC1B,YAAY,EAAE,UAAU;YACxB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,MAAM,OAAC,IAAI,CAAC,SAAS,mCAAI,GAAG,CAAC;aACrC;YACD,QAAQ,EAAE;gBACR,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7B;YACD,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,KAAK;YAC1B,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,KAAK;SACF,CAAC;QAErB,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/E;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,SAAoC,EAAE,UAAkB;QAE9E,IAAI,SAAS,GAAsB,EAAuB,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU;gBAAE,SAAS;YAEvC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gBAChB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;oBAC3B,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAa,CAAC;oBAExC,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC3D,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;qBACtF;iBACF;qBACI;oBACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAe,EAAE,UAAU,CAAC,CAAC,CAAC;iBACrF;aACF;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAAC,GAAe,EAAE,UAAkB;;QAEhE,IAAI,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,UAAU,GAAG,QAAQ,GAAG,CAAC,MAAM,OAAC,GAAG,CAAC,QAAQ,mCAAI,GAAG,CAAC,CAAC,CAAC;QAE1D,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,cAAc,EAAE,UAAU;YAC1B,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,uDAAe,CAAC,aAAa,EAAE;YACvC,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,UAAU;YACxB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE;gBACT,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,MAAM,OAAC,GAAG,CAAC,eAAe,mCAAI,GAAG,CAAC;aAC1C;YACD,QAAQ,EAAE;gBACR,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,KAAK,EAAE,MAAM,OAAC,GAAG,CAAC,QAAQ,mCAAI,GAAG,CAAC;aACnC;YACD,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,KAAK;YAC1B,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,KAAK;SACF,CAAC;IACvB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,EAA2B,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,EAAiB,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,EAAiB,CAAC;IAC9C,CAAC;;4EAlXU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBwD;AAIlB;AAEc;AAGC;AACpB;AAEM;AAQtB;AACW;AACoD;;;;;;;;;;;;;;;;;;;AAgB7F,MAAM,mBAAmB;IAsC9B,YACU,MAAkB,EAClB,YAAsB,EACtB,MAAc,EACd,eAAgC,EAChC,cAA8B,EAC9B,YAA0B,EAC1B,aAA4B,EAC5B,GAAe,EACf,MAAqB,EACrB,WAA+B,EAC/B,aAA4B,EAC5B,UAA0B,EAC1B,QAAyB,EACzB,QAAkB,EAClB,oBAA6C,EAC7C,iBAAyC,EACzC,iBAAoC;QAhBpC,WAAM,GAAN,MAAM,CAAY;QAClB,iBAAY,GAAZ,YAAY,CAAU;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,QAAG,GAAH,GAAG,CAAY;QACf,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,kBAAa,GAAb,aAAa,CAAe;QAC5B,eAAU,GAAV,UAAU,CAAgB;QAC1B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,aAAQ,GAAR,QAAQ,CAAU;QAClB,yBAAoB,GAApB,oBAAoB,CAAyB;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAwB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAtDvC,qBAAgB,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QACnD,aAAQ,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QAC/C,sBAAiB,GAAG,IAAI,4CAAO,EAAW,CAAC;QAC3C,sBAAiB,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QAE/D,iBAAY,GAAY,KAAK,CAAC;QAE9B,sBAAiB,GAAW,CAAC,CAAC;QAE9B,4BAAuB,GAAW,CAAC,CAAC;QAEpC,iBAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,uBAAkB,GAAG,CAAC,CAAC;QAEvB,4BAAuB,GAAG,CAAC,CAAC;QAE5B,cAAS,GAAG,CAAC,CAAC;QAEd,uBAAkB,GAAG,KAAK,CAAC;QAE3B,cAAS,GAAY,KAAK,CAAC;QAE3B,sBAAiB,GAAG,KAAK,CAAC;QAE1B,2BAA2B;QAE3B,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,iBAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,iBAAY,GAAa,EAAE,CAAC;QAs6CpB,qBAAgB,GAAG,CAAC,EAAU,EAAE,IAAS,EAAQ,EAAE;YACzD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,sFAAc,CAAC,6BAA6B,CAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAC3C,CAAC;gBACF,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBACF,sFAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACnE,sFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC/D,sFAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjE,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACvE,sFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC/D,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACvE,sFAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAClD,CAAC;gBAEF,mBAAmB;gBACnB,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,kBAAkB;gBAClB,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAErE,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,yBAAyB,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,sFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACnE,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACzD,sFAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC3D,IACE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAChC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;oBACrB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,EACxC;oBACA,sFAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iBACxD;gBACD,sFAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjE,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBACF,sFAAc,CAAC,yBAAyB,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,sFAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACtC,CAAC;gBACF,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBACF,sFAAc,CAAC,yCAAyC,CACtD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CACvD,CAAC;gBACF,sFAAc,CAAC,6BAA6B,CAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAC3C,CAAC;gBACF,sFAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzE,sFAAc,CAAC,+BAA+B,CAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAC7C,CAAC;gBACF,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACrE,sFAAc,CAAC,4BAA4B,CACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAC1C,CAAC;gBACF,sFAAc,CAAC,yBAAyB,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,sFAAc,CAAC,8BAA8B,CAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAC5C,CAAC;gBACF,sFAAc,CAAC,gCAAgC,CAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAC9C,CAAC;gBACF,sFAAc,CAAC,0BAA0B,CACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CACxC,CAAC;gBACF,sFAAc,CAAC,yBAAyB,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,sFAAc,CAAC,8BAA8B,CAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAC5C,CAAC;gBACF,sFAAc,CAAC,yBAAyB,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,sFAAc,CAAC,yBAAyB,CACtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CACvC,CAAC;gBACF,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACvE,sFAAc,CAAC,4BAA4B,CACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAC1C,CAAC;gBACF,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBACF,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CACrC,CAAC;gBACF,sFAAc,CAAC,+BAA+B,CAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAC7C,CAAC;gBACF,sFAAc,CAAC,+BAA+B,CAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAC7C,CAAC;gBACF,sFAAc,CAAC,+BAA+B,CAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAC7C,CAAC;gBACF,sFAAc,CAAC,+BAA+B,CAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAC7C,CAAC;gBACF,sFAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC3D,sFAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBACxE,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACvE,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CACrC,CAAC;gBACF,sFAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACtC,CAAC;gBACF,sFAAc,CAAC,0BAA0B,CACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CACxC,CAAC;gBACF,sFAAc,CAAC,6BAA6B,CAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAC3C,CAAC;gBACF,sFAAc,CAAC,8BAA8B,CAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAC5C,CAAC;gBACF,sFAAc,CAAC,4BAA4B,CACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAC1C,CAAC;gBACF,sFAAc,CAAC,6BAA6B,CAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAC3C,CAAC;gBAEF,sFAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAE7D,sFAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACtC,CAAC;gBAEF,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAErE,sFAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAEjE,IAAI,CAAC,eAAe,CAAC,WAAW,CAC9B,sFAAc,CAAC,iBAAiB,EAAE,KAAK,MAAM,CAC9C,CAAC;gBAEF,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CACrC,CAAC;gBAEF,sFAAc,CAAC,2BAA2B,CACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CACzC,CAAC;gBAEF,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CACzC,CAAC;gBAEF,sFAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAEvD,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAEvE,sFAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACtC,CAAC;gBAEF,sFAAc,CAAC,kCAAkC,CAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAC/C,CAAC;gBAEF,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CACrC,CAAC;gBAEF,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAErE,mBAAmB;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE;oBAC/C,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;oBACF,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,MAAM,EAAE;wBACjD,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;wBACF,sFAAc,CAAC,2BAA2B,CACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CACzC,CAAC;qBACH;iBACF;gBAED,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CACrC,CAAC;gBACF,uCAAuC;gBAEvC,sFAAc,CAAC,6BAA6B,CAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CACzC,CAAC;gBAEF,sFAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAErE,sFAAc,CAAC,kCAAkC,CAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAChD,CAAC;gBAEF,sFAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAEnE,sFAAc,CAAC,yCAAyC,CACtD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CACvD,CAAC;gBAEF,sFAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAEnE,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBAEF,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBAEF,sFAAc,CAAC,2BAA2B,CACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CACzC,CAAC;gBAEF,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAEvE,sFAAc,CAAC,2BAA2B,CACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CACzC,CAAC;gBAEF,sFAAc,CAAC,oCAAoC,CACjD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAClD,CAAC;gBAEF,sFAAc,CAAC,4BAA4B,CACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAC1C,CAAC;gBAEF,sFAAc,CAAC,iCAAiC,CAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAC/C,CAAC;gBACF,sFAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzE,sFAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzE,sFAAc,CAAC,wBAAwB,CACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACtC,CAAC;gBACF,sFAAc,CAAC,qCAAqC,CAClD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CACnD,CAAC;gBACF,sFAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACzE,sFAAc,CAAC,sBAAsB,CACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CACpC,CAAC;gBAEF,sFAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAErD,sFAAc,CAAC,iCAAiC,CAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAChD,CAAC;gBAEF,sFAAc,CAAC,uCAAuC,CACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sCAAsC,CAAC,CACrD,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAE/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC;QAuBM,8BAAyB,GAAG,CAAC,EAAU,EAAE,IAAS,EAAQ,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO;YAEhD,IAAI,cAAc,GAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhD,uBAAuB;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM,CAC7C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,sFAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CACvE,CAAC;YAEF,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACzD,+BAA+B;gBAE/B,sFAAc,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE5D,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;oBACvE,sFAAc,CAAC,aAAa,CAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CACjD,CAAC;iBACH;aACF;YAED,qBAAqB;YACrB,2CAA2C;YAC3C,YAAY,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;YAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,kBAAkB,EAAE;oBAChD,sFAAc,CAAC,4BAA4B,CACzC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5B,CAAC;iBACH;aACF;YAED,gEAAgE;YAChE,sFAAc,CAAC,WAAW,CACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,IAAI,OAAO,CACrD,CAAC;YACF,sFAAc,CAAC,uBAAuB,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CACxC,CAAC;YACF,sFAAc,CAAC,4BAA4B,CACzC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAI,OAAO,CAChD,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAE1C,IAAI,QAAQ,KAAK,sFAAc,CAAC,WAAW,EAAE,EAAE;oBAC7C,sFAAc,CAAC,qBAAqB,CAClC,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,OAAO,CAChD,CAAC;oBACF,sFAAc,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;iBACpE;aACF;YAED,6BAA6B;YAC7B,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;gBACnC,sFAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;aAClE;YACD,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE;gBACzC,sFAAc,CAAC,sBAAsB,CACnC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CACtC,CAAC;aACH;QACH,CAAC,CAAC;IAjwDC,CAAC;IAEE,eAAe,CAAC,IAAW;;YAC/B,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEhC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC;YAE3C,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEpC,IAAI,UAAU,GAAG,EAAW,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,KAAK,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE3B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAK,IAAI,CAAC,KAAK,CAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;oBACrE,SAAS;iBACV;gBAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,SAAgB,CAAC;gBAErB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBAChC,SAAS,GAAG,CAAC,YAAY,CAAC,CAAC;iBAC5B;qBAAM;oBACL,SAAS,GAAG,YAAqB,CAAC;iBACnC;gBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEzC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC9C,IAAI,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAE5D,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACrC;YAED,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;YAC3D,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,UAAU,GAAG,UAAU,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,wEAAW,CAAC,kBAAkB,CAClD,CAAC;YAEF,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAE3B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAED,oBAAoB;QAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,kBAAkB,CAAC,IAAS;QAClC,IACE,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,mBAAmB,CAAC,qBAAqB;YAC9C,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,IAAI,EAAE,EACpD;YACA,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;gBACvE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAChE,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CACnC,CAAC;aACH;YACD,OAAO,IAAI,CAAC;SACb;;YAAM,OAAO,IAAI,CAAC;IACrB,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,OAAY,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,+CAA+C,EAC/C,OAAO,CAAC,OAAO,CAChB,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,IAAI,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;YAE3C,uEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,YAAY,EACZ,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,MAAM,aAAa,GAAG,gCAAgC,CAAC;QACvD,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;QAC9D,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;QACpE,MAAM,oBAAoB,GAAG;wBACT,sFAAc,CAAC,WAAW,EAAE;;sBAE9B,sFAAc,CAAC,WAAW,EAAE,GAAG,CAAC;QAElD,UAAU,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,oBAA2B,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,qBAA4B,CAAC,CAAC;QAC9C,UAAU,CAAC,IAAI,CAAC,oBAA2B,CAAC,CAAC;QAE7C,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAE1B,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,aAAoB,EACzB,IAAI,CAAC,kBAAyB,EAC9B,IAAI,CAAC,gBAAuB,EAC5B,IAAI,CAAC,yBAAgC,CACtC,CAAC;QAEF,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAoB,CAAC,CAAC;QAE/C,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,cAAqB,CACtB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACxD,MAAM,YAAY,GAAG,IAAI,wEAAc,EAAE,CAAC;YAC1C,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAChC,IAAI,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;YAE7D,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,EAAE,CAAC;YAEzB,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,uBAAuB,EAAE,CAAC;gBAC1B,IAAI,kBAAkB,IAAI,uBAAuB,EAAE;oBACjD,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;gBAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;gBAEtE,iBAAiB;YACnB,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,GAAG,EAAE;gBACrB,uBAAuB,EAAE,CAAC;gBAC1B,IAAI,kBAAkB,IAAI,uBAAuB,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;gBACD,gBAAgB;YAClB,CAAC,CAAC;YAEF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACjD,MAAM,SAAS,GAAG,CAAC,CAAC;gBACpB,IAAI,MAAM,GAAG,8BAA8B,SAAS,IAAI,CAAC;gBAEzD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEtB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC;qBACnB;iBACF;qBAAM;oBACL,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBACtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC;qBACnB;iBACF;gBAED,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBAChD,MAAM,IAAI,GAAG,CAAC;gBAEd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;gBACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;aACrC;YAED,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,sBAAsB,CAC3B,SAAiB,EACjB,QAAa,EACb,OAAa;QAEb,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACxD,IAAI,CAAC,sCAAsC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE1E,0DAA0D;YAC1D,IAAK,SAAiB,IAAI,iBAAiB,EAAE;gBAC3C,CAAC,UAAU,CAAC,CAAC;gBAEb,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;oBAC1C,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC;iBAC/B;gBAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;oBAChD,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC;iBACrC;gBAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;oBAC/C,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC;iBACpC;gBAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;oBAC/C,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC;iBACpC;gBAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;oBAC5C,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC;iBACjC;gBACD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;oBAC5C,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC;iBACjC;gBAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE;oBAClD,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC;iBACvC;gBAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qCAAqC,CAAC,EAAE;oBACnE,QAAQ,CAAC,mCAAmC,GAAG,OAAO,CAAC;iBACxD;aACF;YAED,IAAK,SAAiB,IAAI,iBAAiB,EAAE;gBAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;oBAC3B,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;wBAC1C,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;qBAC9B;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,MAAM,GAAG,8BAA8B,SAAS,IAAI,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YAChD,MAAM,IAAI,GAAG,CAAC;YAEd,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBAC9C,OAAO,CAAC,GAAG,CACT,+DAA+D;oBAC7D,SAAS,EACX,KAAK,CACN,CAAC;gBAEF,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,GAAG,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,SAAiB,EAAE,SAAgB;QACzD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACxD,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAChC,IAAI,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC;YAC1C,mCAAmC;YACnC,6CAA6C;YAE7C,CAAC,GAAS,EAAE,CAAC;gBACX,IAAI,UAAU,GAAG,EAAW,CAAC;gBAC7B,IAAI,SAAS,GAAG,EAAW,CAAC;gBAC5B,IAAI,SAAS,GAAG,EAAW,CAAC;gBAC5B,IAAI,aAAa,GAAG,EAAW,CAAC;gBAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,IAAI,GAAa,EAAE,CAAC;oBACxB,IAAI,SAAS,GAAG,eAAe,SAAS,IAAI,CAAC;oBAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACvB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;qBACzB;oBAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;oBACtD,SAAS,IAAI,YAAY,CAAC;oBAE1B,MAAM,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAE5C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;oBACtD,SAAS,IAAI,GAAG,CAAC;oBAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAE3B,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;wBAC9C,uBAAuB,EAAE,CAAC;wBAE1B,IAAI,kBAAkB,IAAI,uBAAuB,EAAE;4BACjD,OAAO,CAAC,KAAK,CAAC,CAAC;yBAChB;wBAED,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC;wBAEvC,8FAA8F;wBAC9F,iBAAiB;oBACnB,CAAC,CAAC;oBAEF,MAAM,SAAS,GAAG,GAAG,EAAE;wBACrB,uBAAuB,EAAE,CAAC;wBAE1B,IAAI,kBAAkB,IAAI,uBAAuB,EAAE;4BACjD,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;wBACD,gBAAgB;oBAClB,CAAC,CAAC;oBAEF,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;oBAClC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;oBACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;oBAEpC,+CAA+C;iBAChD;gBAED,uEAAe,CAAC,oBAAoB,CAClC,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,CACd,CAAC;gBAEF,4GAA4G;gBAC5G,gBAAgB;YAClB,CAAC,EAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACpC,IAAI,SAAS,GAAG,8DAA8D,CAAC;YAC/E,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAC9C,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,OAAO,uEAAe,CAAC,mBAAmB,CACxC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACpC,IAAI,SAAS,GAAG;wBACE,CAAC;YACnB,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,SAAS,GAAG,6CAA6C,CAAC;aAC3D;YACD,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAC9C,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,OAAO,uEAAe,CAAC,mBAAmB,CACxC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACpC,IAAI,SAAS,GAAG,kCAAkC,CAAC;YAEnD,MAAM,aAAa,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBACnD,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAO,EAAE,MAAW,EAAQ,EAAE;gBAC9C,IAAI,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,OAAO,uEAAe,CAAC,mBAAmB,CACxC,SAAS,EACT,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACW,eAAe,CAAC,SAAc,EAAE,SAAc;;YAC1D,IAAI,SAAS,IAAI,iBAAiB,EAAE;gBAClC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAwB,EAAE,EAAE;oBAC7C,IAAI,QAAQ,CAAC,SAAS,EAAE;wBACtB,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAC3D,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,SAAS,EACT,qBAAqB,CACtB,CAAC;wBACF,QAAQ,CAAC,SAAS,GAAG,iBAAkB,CAAC;qBACzC;yBAAM;wBACL,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;qBACzB;oBACD,IAAI,QAAQ,CAAC,OAAO,EAAE;wBACpB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvD,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC3C,OAAO,EACP,qBAAqB,CACtB,CAAC;wBACF,QAAQ,CAAC,OAAO,GAAG,eAAgB,CAAC;qBACrC;yBAAM;wBACL,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;qBACvB;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,SAAS,IAAI,6BAA6B,EAAE;gBACrD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;oBAC3B,IAAI,CAAC,CAAC,SAAS,EAAE;wBACf,IAAI,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACpD,IAAI,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,SAAS,EACT,qBAAqB,CACtB,CAAC;wBACF,CAAC,CAAC,SAAS,GAAG,iBAAkB,CAAC;qBAClC;yBAAM;wBACL,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;qBAClB;oBACD,IAAI,CAAC,CAAC,OAAO,EAAE;wBACb,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAChD,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC3C,OAAO,EACP,qBAAqB,CACtB,CAAC;wBACF,CAAC,CAAC,OAAO,GAAG,eAAgB,CAAC;qBAC9B;yBAAM;wBACL,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;qBAChB;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;KAAA;IAEO,0BAA0B,CAAC,KAAU,EAAE,SAAgB;QAC7D,IAAI,UAAU,GAAG,EAAW,CAAC;QAC7B,QAAQ,KAAK,EAAE;YACb,KAAK,uBAAuB;gBAC1B,IAAI,eAAe,GAAG,SAAgB,CAAC;gBAEvC,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,IAAI,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;oBAC9D,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzC,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe;wBAClC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,EACxC;wBACA,IAAI,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;wBACzD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;qBACjD;oBACD,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB;wBACzC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,IAAI,EAAE,EAC/C;wBACA,IAAI,sBAAsB,GACxB,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;wBAC5C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;qBACxD;oBACD,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY;wBAC/B,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,EACrC;wBACA,IAAI,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;wBAEnD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;qBAC9C;oBACD,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC5B,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,EAClC;wBACA,IAAI,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAE7C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;qBAC3C;oBACD,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,yBAAyB;wBAC5C,eAAe,CAAC,CAAC,CAAC,CAAC,yBAAyB,IAAI,EAAE,EAClD;wBACA,IAAI,yBAAyB,GAC3B,eAAe,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;wBAE/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;qBAC3D;oBACD,IACE,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB;wBACnC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,EACzC;wBACA,IAAI,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;wBAE3D,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;qBAClD;oBACD,IAAI,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACjE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBAEpD,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,iCAAiC,EAAE;wBACxD,sFAAc,CAAC,wBAAwB,CACrC,eAAe,CAAC,CAAC,CAAC,CAAC,iCAAiC,CACrD,CAAC;qBACH;oBACD,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE;wBAC1C,sFAAc,CAAC,sBAAsB,CACnC,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CACvC,CAAC;qBACH;oBACD,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,0BAA0B,EAAE;wBACjD,sFAAc,CAAC,6BAA6B,CAC1C,eAAe,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAC9C,CAAC;qBACH;oBACD,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE;wBAC/C,sFAAc,CAAC,2BAA2B,CACxC,eAAe,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAC5C,CAAC;qBACH;oBACD,IAAI,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBAC7D,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;iBACnD;gBAED,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3C,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE;wBACnE,OAAO,CAAC,CAAC,SAAS,CAAC;qBACpB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACnD,yDAAyD;gBAEzD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,UAAU,GAAG,SAAgB,CAAC;gBAElC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACtD;gBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,sBAAsB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC/C,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;wBAC3C,CAAC,CAAC,UAAU,IAAI,EAAE,EAClB;wBACA,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC;wBAC1C,OAAO,CAAC,CAAC,UAAU,CAAC;qBACrB;gBACH,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAEvD,6DAA6D;gBAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,0BAA0B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;wBAC/C,CAAC,CAAC,cAAc,IAAI,EAAE,EACtB;wBACA,OAAO,CAAC,CAAC,cAAc,CAAC;qBACzB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAE3D,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACrE,sFAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC/D,sFAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;gBACjE,iEAAiE;gBAEjE,MAAM;YACR,KAAK,oBAAoB;gBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3C,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC1C,CAAC,CAAC,SAAS,IAAI,EAAE;wBACjB,CAAC,CAAC,iBAAiB,IAAI,GAAG,EAC1B;wBACA,OAAO,CAAC,CAAC,SAAS,CAAC;qBACpB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACnD,yDAAyD;gBACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5C,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC1C,CAAC,CAAC,SAAS,IAAI,EAAE;wBACjB,CAAC,CAAC,iBAAiB,IAAI,GAAG,EAC1B;wBACA,OAAO,CAAC,CAAC,SAAS,CAAC;qBACpB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACpD,0DAA0D;gBAE1D,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,IAAI,GAAG,SAAgB,CAAC;gBAE5B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzD,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;iBACxB;qBAAM;oBACL,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAChB,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,IAAI,EAAE;wBAC/C,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,QAAQ,IAAI,IAAI,CAClD,CAAC;oBACF,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;wBAClB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;qBAC3B;iBACF;gBACD,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,GAAG,GAAG,SAAgB,CAAC;gBAE3B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,GAAG,CAAC;iBACvC;gBACD,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzC,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACjE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;wBACtC,OAAO,CAAC,CAAC,QAAQ,CAAC;qBACnB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAClD,uDAAuD;gBAEvD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7C,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACjE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;wBACtC,OAAO,CAAC,CAAC,QAAQ,CAAC;qBACnB;oBAED,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC1D,2DAA2D;gBAC3D,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC3C,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC5C,CAAC,CAAC,WAAW,IAAI,EAAE,EACnB;wBACA,OAAO,CAAC,CAAC,WAAW,CAAC;qBACtB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAEtD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAEnD,yDAAyD;gBACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,wBAAwB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;wBAC7C,CAAC,CAAC,YAAY,IAAI,EAAE,EACpB;wBACA,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC;wBAC9C,OAAO,CAAC,CAAC,YAAY,CAAC;qBACvB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,wBAAwB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAElE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBAEzD,+DAA+D;gBAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,gCAAgC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC;wBACrD,CAAC,CAAC,oBAAoB,IAAI,EAAE,EAC5B;wBACA,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,GAAG,WAAW,CAAC;wBAC9D,OAAO,CAAC,CAAC,oBAAoB,CAAC;qBAC/B;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,gCAAgC,GAAG;oBACjC,GAAG,IAAI,GAAG,CAAC,gCAAgC,CAAC;iBAC7C,CAAC;gBAEF,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBAEjE,uEAAuE;gBACvE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,2BAA2B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;wBAChD,CAAC,CAAC,eAAe,IAAI,EAAE,EACvB;wBACA,OAAO,CAAC,CAAC,eAAe,CAAC;qBAC1B;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAExE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAC5D,kEAAkE;gBAElE,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,yBAAyB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClD,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACjE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;wBACtC,OAAO,CAAC,CAAC,QAAQ,CAAC;qBACnB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAEpE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBAE1D,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,0BAA0B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;wBAChD,CAAC,CAAC,eAAe,IAAI,EAAE,EACvB;wBACA,OAAO,CAAC,CAAC,eAAe,CAAC;qBAC1B;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAEtE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAC3D,iEAAiE;gBAEjE,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,uBAAuB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAChD,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE;wBACjE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;wBACtC,OAAO,CAAC,CAAC,QAAQ,CAAC;qBACnB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,uBAAuB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAEhE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAExD,8DAA8D;gBAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,4BAA4B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC;wBACjD,CAAC,CAAC,gBAAgB,IAAI,EAAE,EACxB;wBACA,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,GAAG,WAAW,CAAC;wBACtD,OAAO,CAAC,CAAC,gBAAgB,CAAC;qBAC3B;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,4BAA4B,GAAG;oBAC7B,GAAG,IAAI,GAAG,CAAC,4BAA4B,CAAC;iBACzC,CAAC;gBAEF,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAE7D,MAAM;YACR,KAAK,uBAAuB;gBAC1B,IAAI,yBAAyB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClD,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE;wBACzD,OAAO,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC;qBAChD;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBAE1D,IAAI,gCAAgC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC5C,CAAC,CAAC,WAAW,IAAI,EAAE,EACnB;wBACA,OAAO,CAAC,CAAC,WAAW,CAAC;qBACtB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBACjE,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7C,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACzC,CAAC,CAAC,QAAQ,IAAI,EAAE;wBAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,yBAAyB,EAC9C;wBACA,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;wBACtC,OAAO,CAAC,CAAC,QAAQ,CAAC;qBACnB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAE1D,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAErD,2DAA2D;gBAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,yBAAyB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;wBAC9C,CAAC,CAAC,aAAa,IAAI,EAAE;wBACrB,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,yBAAyB,EACnD;wBACA,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC;wBAChD,OAAO,CAAC,CAAC,aAAa,CAAC;qBACxB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAEpE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBAC1D,gEAAgE;gBAEhE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEzB,IAAI,2BAA2B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpD,IACE,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;wBAChD,CAAC,CAAC,eAAe,IAAI,EAAE;wBACvB,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,yBAAyB,EACrD;wBACA,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,GAAG,WAAW,CAAC;wBACpD,OAAO,CAAC,CAAC,eAAe,CAAC;qBAC1B;oBAED,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAExE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAC5D,kEAAkE;gBAElE,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,0BAA0B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnD,IAAI,uDAAe,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;wBAC3D,OAAO,CAAC,CAAC,KAAK,CAAC;qBAChB;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,UAAU,GAAG,SAAoC,CAAC;gBACtD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;wBAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAC7B,MAAM;qBACP;oBACD,IACE,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE;wBACvC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE;wBACnC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAC5B;wBACA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,wEAAW,CACb,8BAA8B,EAC9B,8DAA8D,EAC9D,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC7B,IAAI,CACL,CACF,CAAC;wBACF,MAAM;qBACP;oBACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;iBAChC;gBACD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,gBAAgB,GAAG,SAAsC,CAAC;gBAE9D,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC7B,OAAO;iBACR;gBAED,IACE,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE;oBAC3C,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;oBACrC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAClC;oBACA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;oBAEpC,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,wEAAW,CACb,qBAAqB,EACrB,wDAAwD,EACxD,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAChC,IAAI,CACL,CACF,CAAC;oBACF,OAAO;iBACR;gBACD,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,2BAA2B,EAAE;oBACnD,sFAAc,CAAC,sBAAsB,CACnC,gBAAgB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAChD,CAAC;iBACH;gBACD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,gCAAgC,EAAE;oBACxD,sFAAc,CAAC,mBAAmB,CAChC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gCAAgC,CACrD,CAAC;iBACH;gBAED,MAAM;YACR,KAAK,oBAAoB;gBACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;iBAC5C;gBACD,MAAM;YACR,KAAK,uBAAuB;gBAC1B,IAAI,OAAO,GAAG,SAAoC,CAAC;gBAEnD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBACf,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBACzC,MAAM;qBACP;oBAED,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;iBACtC;gBAED,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAgB,CAAU,CAAC;oBACnE,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/D,IAAI,iBAAiB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;wBAClD,sFAAc,CAAC,sBAAsB,CACnC,iBAAiB,CAAC,mBAAmB,CACtC,CAAC;wBAEF,sFAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;wBAE3D,sFAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;wBAEjE,sFAAc,CAAC,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBAE3D,sFAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;wBAE3D,sFAAc,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;qBACpE;iBACF;gBACD,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,SAAS,EAAE;oBACb,IAAI,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAgB,CAAU,CAAC;oBAErE,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnE,IAAI,mBAAmB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;wBAEtD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wBAE/B,sFAAc,CAAC,wBAAwB,CACrC,mBAAmB,CAAC,qBAAqB,CAC1C,CAAC;wBAEF,sFAAc,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAEhE,sFAAc,CAAC,sBAAsB,CACnC,mBAAmB,CAAC,2BAA2B,CAChD,CAAC;wBACF,sFAAc,CAAC,wBAAwB,CACrC,mBAAmB,CAAC,6BAA6B,CAClD,CAAC;wBACF,sFAAc,CAAC,mBAAmB,CAChC,mBAAmB,CAAC,gCAAgC,CACrD,CAAC;qBACH;iBACF;gBAED,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAgB,CAAU,CAAC;oBAC9D,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrD,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;wBAC5C,sFAAc,CAAC,qBAAqB,CAClC,gBAAgB,CAAC,kBAAkB,CACpC,CAAC;qBACH;iBACF;gBACD,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAgB,CAAU,CAAC;oBACxD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;wBACzC,IAAI,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBACvC,sFAAc,CAAC,kBAAkB,CAC/B,iBAAiB,CAAC,eAAe,CAClC,CAAC;qBACH;iBACF;gBACD,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,SAAgB,CAAU,CAAC;oBAC1D,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7C,IAAI,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;wBAC3C,sFAAc,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;qBACjE;iBACF;gBACD,MAAM;YACR;gBACE,MAAM;SACT;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEO,kBAAkB,CAAC,IAAW;QACpC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YACxD,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;YAEtC,CAAC,GAAS,EAAE,CAAC;gBACX,IAAI;oBACF,IAAI,UAAU,GAAG,EAAW,CAAC;oBAC7B,IAAI,SAAS,GAAG,EAAW,CAAC;oBAC5B,IAAI,SAAS,GAAG,EAAW,CAAC;oBAC5B,IAAI,aAAa,GAAG,EAAW,CAAC;oBAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpC,MAAM,KAAK,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;wBAE3B,MAAM,SAAS,GAAQ,wBAAwB,KAAK,EAAE,CAAC;wBAEvD,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;4BAC9C,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAE/B,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,EAAE;gCAC3D,OAAO,CAAC,KAAK,CAAC,CAAC;6BAChB;4BAED,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,KAAK,CACN,CAAC;wBACJ,CAAC,CAAC;wBAEF,MAAM,SAAS,GAAG,GAAG,EAAE;4BACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAE/B,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,EAAE;gCAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;6BACf;wBACH,CAAC,CAAC;wBAEF,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;wBAClC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;wBACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;wBACpC,qEAAqE;qBACtE;oBAED,uEAAe,CAAC,oBAAoB,CAClC,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,CACd,CAAC;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,EAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sCAAsC,CAC5C,SAAiB,EACjB,QAAa,EACb,OAAa;QAEb,IAAK,SAAiB,IAAI,uBAAuB,EAAE;YACjD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE;gBACpD,QAAQ,CAAC,oBAAoB,GAAG,EAAE,CAAC;aACpC;SACF;IACH,CAAC;IAEK,uBAAuB,CAAC,OAAY;;YACxC,OAAO,IAAI,OAAO,CAAM,CAAO,GAAa,EAAE,GAAa,EAAE,EAAE,CAAC;gBAC9D,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;oBACjC,KAAK,IAAI,GAAG,IAAI,OAAmB,EAAE;wBACnC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;4BAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE;gCACvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;6BAC5B;yBACF;6BAAM,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;4BACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE;gCACtD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;6BAC5B;yBACF;6BAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC5B,SAAS;yBACV;6BAAM;4BACL,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gCAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;6BAC5B;yBACF;qBACF;oBAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,kGAAkG;oBAClG,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,iBAAiB,EAAE;wBAC1D,IAAI,KAAK,GAAG,CAAC,CAAC;wBACd,0CAA0C;wBAC1C,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE;4BAC5C,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;4BAEtD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACxC,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACxC,CAAC;4BAEF,6CAA6C;4BAC7C,IAAI,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAY,CAAC,CAAC;4BAE9D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;4BAEpC,KAAK,EAAE,CAAC;yBACT;wBACD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBAC/B;iBACF;gBAED,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;YAClD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;SACnC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;YACrD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;SACnC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE;YACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;SACnC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE;YAC1B,sFAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAC7C;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,+GAAqB,CACpD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CACpD,WAAW,EACX,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;IACpE,CAAC;IAEa,aAAa;;YACzB,OAAO,IAAI,OAAO,CAAM,CAAO,GAAa,EAAE,GAAa,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBAErB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEvB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,kBAAkB,EAClB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,4BAA4B,EACrD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,4BAA4B,EACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EACtC,IAAI,CACL,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,MAA4B,EAAE,EAAE,CAAC;oBACvE,IAAI,MAAM,IAAI,OAAO,EAAE;wBACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBAEvB,MAAM,IAAI,CAAC,uBAAuB,CAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CACvC,CAAC;wBAEF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;qBAC3B;yBAAM,IAAI,MAAM,IAAI,UAAU,EAAE;wBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;wBAC1B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;qBACxB;oBACD,GAAG,CAAC,IAAI,CAAC,CAAC;gBACZ,CAAC,EAAC,CAAC;YACL,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IAEa,gBAAgB;;YAC5B,OAAO,IAAI,OAAO,CAAM,CAAO,GAAa,EAAE,GAAa,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;oBAC/D,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;gBAED,GAAG,CAAC,IAAI,CAAC,CAAC;YACZ,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IAEO,YAAY,CAAC,gBAAiC;QACpD,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,gBAAgB,CAAC,QAAQ,EAAE;gBAC7B,gDAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;aAC9C;SACF;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SACnD;IACH,CAAC;IAED,yFAAyF;IACjF,aAAa,CAAC,KAAa;QACjC,OAAO,IAAI,OAAO,CAAM,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAY;gBACvB,WAAW,EAAE,2DAAW,CAAC,aAAa;gBACtC,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,wEAAW,CAAC,kBAAkB;aACxC,CAAC;YACF,wDAAwD;YACxD,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAEtC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAEjE,SAAS,UAAU,CAAC,KAAU;gBAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,2DAAW,CAAC,cAAc,EAAE;oBACxD,uEAAuE;oBACvE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACjB;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,EAAU,EAAE,IAAS;QACzC,sFAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC7D,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7D,sFAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjE,sFAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,sFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACrE,sFAAc,CAAC,oBAAoB,CACjC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CACxC,CAAC;QACF,sFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACrE,sFAAc,CAAC,oBAAoB,CACjC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CACxC,CAAC;QACF,sFAAc,CAAC,gBAAgB,CAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAC/C,CAAC;QACF,sFAAc,CAAC,mBAAmB,CAChC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAClD,CAAC;QACF,sFAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3D,sFAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAClE,sFAAc,CAAC,0BAA0B,CACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CACxC,CAAC;QACF,sFAAc,CAAC,oCAAoC,CACjD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAClD,CAAC;QAEF,sFAAc,CAAC,qBAAqB,EAAE,CAAC;QACvC,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QACtC,sFAAc,CAAC,wBAAwB,EAAE,CAAC;QAC1C,sFAAc,CAAC,qBAAqB,EAAE,CAAC;QACvC,sFAAc,CAAC,kCAAkC,EAAE,CAAC;QACpD,sFAAc,CAAC,0CAA0C,EAAE,CAAC;QAC5D,sFAAc,CAAC,8CAA8C,EAAE,CAAC;QAChE,sFAAc,CAAC,8BAA8B,EAAE,CAAC;QAChD,sFAAc,CAAC,mCAAmC,EAAE,CAAC;QACrD,sFAAc,CAAC,8BAA8B,EAAE,CAAC;QAChD,sFAAc,CAAC,mCAAmC,EAAE,CAAC;QACrD,sFAAc,CAAC,uBAAuB,EAAE,CAAC;QACzC,sFAAc,CAAC,wBAAwB,EAAE,CAAC;QAC1C,sFAAc,CAAC,mBAAmB,EAAE,CAAC;IACvC,CAAC;IAEO,kBAAkB,CAAC,EAAU,EAAE,IAAS;QAC9C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,sFAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACtD,sFAAc,CAAC,iBAAiB,CAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAClE,CAAC;YACF,sFAAc,CAAC,iBAAiB,CAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC1B,IAAI;gBACJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;gBAC7B,GAAG;gBACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAC9B,CAAC;YACF,sFAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,sFAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtD,sFAAc,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClD,sFAAc,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpD,sFAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClD,sFAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;SACrE;IACH,CAAC;IA+RO,eAAe;QACrB,sFAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAChD,sFAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3C,sFAAc,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAChD,sFAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,gBAAgB,GAAG,sFAAc,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1E,IAAI,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBAC/B,sFAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;aAChD;iBAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBACtC,sFAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;aAC3C;iBAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBACtC,sFAAc,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;aAChD;iBAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBACtC,sFAAc,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAqEO,aAAa,CAAC,EAAO,EAAE,MAAW;QACxC,OAAO,CAAC,GAAG,CACT,yDAAyD,EACzD,MAAM,CACP,CAAC;IACJ,CAAC;;sFAh0DU,mBAAmB;uGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;;;AC1BX,MAAM,yBAAyB;IAQtC,YAAoB,YAAsB,EAAU,QAAwB;QAAxD,iBAAY,GAAZ,YAAY,CAAU;QAAU,aAAQ,GAAR,QAAQ,CAAgB;QAI5E,qBAAgB,GAAW,EAAE,CAAC;QAC9B,cAAS,GAAW,EAAE,CAAC;QACvB,SAAI,GAAW,EAAE,CAAC;IAJlB,CAAC;IARD,WAAW;QACT,IAAG,IAAI,CAAC,WAAW,EAAC;YAClB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;SAC/B;IACH,CAAC;IAUD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;IACJ,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC;IAC3E,CAAC;IAED,IAAI;QACF,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACrE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB;QACtC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAChE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEM,sBAAsB,CAAC,OAAc;QAC1C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAClC,CAAC;IAEM,YAAY,CAAC,OAAc;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC3B,CAAC;;kGAzDY,yBAAyB;yGAAzB,yBAAyB;QCVxC,yEAAsB;QACpB,yEAAyB;QACvB,oEAAwI;QAC1I,4DAAM;QACN,wEAAyB;QACvB,uDACF;QAAA,4DAAK;QACL,uEAAiB;QACf,uDACF;QAAA,4DAAI;QACJ,uEAAgB;QACd,uDACF;QAAA,4DAAI;QACN,4DAAM;;QARF,0DACF;QADE,gGACF;QAEE,0DACF;QADE,yFACF;QAEE,0DACF;QADE,oFACF;;;;;;;;;;;;;;;;;;;;;;;;;;ACX2C;AAG4B;AAEF;;;;;;;AAShE,MAAM,oBAAoB;IAuB/B,YACU,WAAwB,EACxB,eAAgC,EAChC,MAAkB,EAClB,IAAiB,EACjB,eAAuC;QAJvC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAY;QAClB,SAAI,GAAJ,IAAI,CAAa;QACjB,oBAAe,GAAf,eAAe,CAAwB;QArB1C,aAAQ,GAAa,EAAE,CAAC;QAExB,eAAU,GAAY,IAAI,CAAC;QAE3B,oBAAe,GAAW,CAAC,CAAC;QAE5B,eAAU,GAAU,EAAE,CAAC;QAEvB,cAAS,GAAY,KAAK,CAAC;QAElC,eAAU,GAAe,EAAE,CAAC;QAE5B,cAAS,GAAW,CAAC,CAAC;QA2HtB,sBAAiB,GAAG,CAAO,gBAAqB,EAAE,EAAE,CAAC;YACnD,IAAI,OAAO,GAAa,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,IACE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG;wBAClC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAC1D;wBACA,wBAAwB;wBACxB,IAAI,IAAI,GAAQ,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBAC/B;qBACF;yBAAM;wBACL,IAAI,IAAI,GAAQ,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChE,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BACxB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;4BAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBAC/B;qBACF;iBACF;aACF;QACH,CAAC,EAAC;QAEF,mBAAc,GAAG,CAAO,YAAiB,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAM,CAAC;YACX,MAAM,IAAI,CAAC,eAAe;iBACvB,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC;iBAC3C,IAAI,CAAC,CAAO,QAAa,EAAE,EAAE,CAAC;gBAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAClC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;oBACjD,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBACzB,OAAO;qBACR;oBACD,MAAM,IAAI,CAAC,wBAAwB,CACjC,YAAY,EACZ,IAAI,CAAC,uBAAuB,CAC7B,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;wBACnB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BACxB,CAAC,GAAG,IAAI,CAAC;yBACV;6BAAM;4BACL,OAAO;yBACR;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,EAAC,CAAC;YACL,OAAO,CAAC,CAAC;QACX,CAAC,EAAC;QAEF,oBAAe,GAAG,CAAO,YAAiB,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAM,CAAC;YACX,MAAM,IAAI,CAAC,eAAe;iBACvB,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC;iBAC3C,IAAI,CAAC,CAAO,QAAa,EAAE,EAAE,CAAC;gBAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAClC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBAEvB,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;oBACjD,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;wBACzB,OAAO;qBACR;oBAED,MAAM,IAAI,CAAC,wBAAwB,CACjC,YAAY,EACZ,IAAI,CAAC,uBAAuB,CAC7B,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;wBACnB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;4BACxB,CAAC,GAAG,IAAI,CAAC;yBACV;6BAAM;4BACL,OAAO;yBACR;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,EAAC,CAAC;YACL,OAAO,CAAC,CAAC;QACX,CAAC,EAAC;QAoBF,6BAAwB,GAAG,CACzB,uBAA4B,EAC5B,uBAA4B,EAC5B,EAAE,CAAC;;YACH,IAAI,OAAO,GAAU,EAAE,CAAC;YACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,UAAU,GAAG,EAAY,CAAC;YAC9B,IAAI,OAAY,CAAC;YAEjB,IAAI,QAAQ,GAAG,EAAY,CAAC;YAE5B,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CACvE,uBAAuB,CAAC,UAAU,EAClC,KAAK,EACL,EAAE,EACF,IAAI,EACJ,uBAAuB,CAAC,MAAM,EAC9B,CAAC,CACF,CAAC;YAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;aAC5B;YACD,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrD,OAAO,EAAE,QAAQ,EAAE,CAAC;aACrB;YAED,UAAU,GAAG,QAAQ,CAAC;YACtB,IAAI,UAAU,CAAC,OAAO,EAAE;gBACtB,OAAO;aACR;YACD,IAAI,CAAC,UAAU;gBAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YAEvC,UAAU,GAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,IACE,UAAU;gBACV,UAAU,CAAC,oBAAoB;gBAC/B,UAAU,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EACvD;gBACA,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;aAClE;iBAAM,IAAI,UAAU,EAAE;gBACrB,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC;aAC3B;YAED,IACE,UAAU,CAAC,aAAa;gBACxB,UAAU,CAAC,aAAa,KAAK,CAAC;gBAC9B,UAAU,CAAC,OAAO,IAAI,KAAK;gBAC3B,UAAU,CAAC,cAAc,KAAK,CAAC,EAC/B;gBACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C;YAED,IAAI,UAAU,CAAC,OAAO,IAAI,KAAK,EAAE;gBAC/B,IAAI,UAAU,CAAC,cAAc,GAAG,CAAC,EAAE;oBACjC,UAAU,CAAC,UAAU;wBACnB,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,UAAU,CAAC,MAAM,CAClB,CAAC;oBAEJ,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EACpD,CAAC,EAAE,EACH;wBACA,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;6BACzC,qBAAqB;4BACxB,uBAAuB,CAAC,qBAAqB,EAC7C;4BACA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;4BAC/D,OAAO,CAAC,IAAI,CACV,QAAQ;gCACN,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU;gCACvD,IAAI,CACP,CAAC;yBACH;6BAAM;4BACL,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;yBACjE;qBACF;iBACF;gBAED,IACE,UAAU,CAAC,aAAa;oBACxB,UAAU,CAAC,aAAa,GAAG,CAAC;oBAC5B,uBAAuB,CAAC,MAAM,EAC9B;oBACA,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,0BAA0B,CACnD,UAAU,CAAC,MAAM,CAClB,CAAC;oBAEJ,UAAU,CAAC,SAAS;wBAClB,MAAM,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;oBAExE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACvD,IACE,uBAAuB,CAAC,CAAC,CAAC,CAAC,WAAW;4BACtC,uBAAuB,CAAC,WAAW,EACnC;4BACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpD,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAC9C,CAAC,EAAE,EACH;oCACA,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;wCACvD,IACE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;4CACjD,uBAAuB,CAAC,CAAC,CAAC,CAAC,YAAY;4CACzC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU;gDAChC,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAAU,EACvC;4CACA,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;4CAE1C,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gDACrD,IAAI,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;qDAC3C,WAAW,CAAC,CAAC,CAAe,CAAC;gDAEhC,IACE,uBAAuB,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,MAAM,EACvD;oDACA,OAAO,CAAC,IAAI,CACV,KAAK;wDACH,uBAAuB,CAAC,CAAC,CAAC,CAAC,cAAc;wDACzC,IAAI,CACP,CAAC;oDAEF,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC;iDACrC;qDAAM;oDACL,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU;wDAC/C,IAAI,CAAC;oDACP,OAAO,CAAC,IAAI,CACV,uBAAuB,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CACjD,CAAC;iDACH;6CACF;iDAAM;gDACL,IAAI,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;qDAC7C,WAAW,CAAC,CAAC,CAAyB,CAAC;gDAE1C,IACE,uBAAuB,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,MAAM,EACvD;oDACA,OAAO,CAAC,IAAI,CACV,KAAK;wDACH,uBAAuB,CAAC,CAAC,CAAC,CAAC,cAAc;wDACzC,IAAI,CACP,CAAC;oDAEF,kBAAkB,CAAC,UAAU,GAAG,KAAK,CAAC;oDACtC,kBAAkB,CAAC,kBAAkB,GAAG,MAAM,CAAC;oDAC/C,kBAAkB,CAAC,kBAAkB,GAAG,IAAI,CAAC;iDAC9C;qDAAM;oDACL,kBAAkB,CAAC,UAAU,GAAG,IAAI,CAAC;oDACrC,kBAAkB,CAAC,kBAAkB,GAAG,OAAO,CAAC;oDAChD,kBAAkB,CAAC,kBAAkB,GAAG,KAAK,CAAC;oDAC9C,OAAO,CAAC,IAAI,CACV,uBAAuB,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CACjD,CAAC;iDACH;6CACF;yCACF;qCACF;yCAAM;wCACL,IAAI,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAC7C,CAAC,CACY,CAAC;wCAEhB,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;4CACjC,KAAK,CAAC,QAAQ;gDACZ,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC;oDAC1C,KAAK,CAAC,QAAQ,CAAC;4CACjB,KAAK,CAAC,OAAO;gDACX,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;4CAE3D,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,KAAK,CAAC,UAAU,CACjB,CAAC;4CACJ,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;4CAEhC,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAC5D,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,CACjB,CAAC;4CAEJ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;4CAE3C,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CACxC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACjB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;yCACH;wCAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CACjD,IAAI,IAAI,GAAQ,MAAM,IAAI,CAAC,cAAc,CACvC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EACpB,uBAAuB,CAAC,CAAC,CAAC,EAC1B,OAAO,EACP,KAAK,CACN,CAAC;4CACF,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;gDACpB,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;6CAC3C;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBAED,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C;iBAAM;gBACL,UAAU,CAAC,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC;gBAE7D,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC/D,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,wBAAwB,CACjD,UAAU,CAAC,MAAM,CAClB,CAAC;oBAEJ,UAAU,CAAC,UAAU;wBACnB,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC9C,eAAe,EACf,UAAU,CAAC,MAAM,CAClB,CAAC;iBACL;gBACD,IACE,uBAAuB,CAAC,SAAS;oBACjC,uBAAuB,CAAC,SAAS,CAAC,MAAM,EACxC;oBACA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC9D,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,EAAE;oCAC/D,SAAS;iCACV;gCACD,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;oCACtC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM;oCAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI;oCACxD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,EAC/C;oCACA,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;oCAC3D,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,0BAA0B,CACnD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CACzC,CAAC;oCACJ,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;wCACzC,MAAM,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAClD,eAAe,CAChB,CAAC;oCACJ,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;wCACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oCACpD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;oCACpD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oCACjC,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAC9D;wCACA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;qCAChD;oCACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC;oCACxD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;wCAC3C,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oCACnD,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE;wCACvD,IACE,iBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,IAAI,GAAG,MAAM;4CACrD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,EAC1D;4CACA,OAAO,CAAC,IAAI,CACV,iBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,WAAW;gDACjD,KAAK,CACR,CAAC;4CACF,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;yCAC3D;6CAAM,IACL,iBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,IAAI,GAAG,MAAM;4CACrD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,EAC1D;4CACA,OAAO,CAAC,IAAI,CACV,iBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,WAAW;gDACjD,KAAK,CACR,CAAC;4CACF,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;yCAC3D;6CAAM,IACL,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,EAC1D;4CACA,OAAO,CAAC,IAAI,CACV,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5B,CAAC,CACF,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,KAAK,CACvC,CAAC;4CACF,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;yCAC3D;qCACF;oCAED,IACE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,EAC3D;wCACA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;4CAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CACzC,CAAC;wCACJ,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC;4CACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iDAC5C,gBAAgB,CAAC,MAAM,EAC1B,CAAC,EAAE,EACH;4CACA,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iDAC5C,gBAAgB,CAAC,CAAC,CAAC,CAAC,qBAAqB;gDAC5C,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAC1D;gDACA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5B,CAAC,CACF,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gDACtD,OAAO,CAAC,IAAI,CACV,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;qDAC5C,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CACzC,CAAC;6CACH;yCACF;qCACF;oCACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCACvD,IACE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW;4CAChD,uBAAuB,CAAC,CAAC,CAAC,CAAC,WAAW,EACtC;4CACA,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;gDAC7C,uBAAuB,CAAC,CAAC,CAAC,CAAC,WAAW,EACtC;gDACA,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oDAC3C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACtD;oDACA,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC;wDACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAClD,CAAC,EAAE,EACH;wDACA,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC;4DACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;iEAC3C,WAAW,CAAC,MAAM,EACrB,CAAC,EAAE,EACH;4DACA,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;iEAC3C,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAC9B;gEACA,IACE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;qEAC3C,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY;oEAC5B,uBAAuB,CAAC,CAAC,CAAC,CAAC,YAAY;oEACzC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;yEAC3C,UAAU;wEACX,uBAAuB,CAAC,CAAC,CAAC,CAAC,UAAU,EACvC;oEACA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC,CACF,CAAC,UAAU,GAAG,IAAI,CAAC;oEAEpB,IAAI,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;yEAC5C,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CACzB,CAAC,CACsB,CAAC;oEAE1B,IACE,uBAAuB,CAAC,CAAC,CAAC;yEACvB,kBAAkB,IAAI,MAAM,EAC/B;wEACA,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC;wEACpC,OAAO,CAAC,IAAI,CACV,KAAK;4EACH,uBAAuB,CAAC,CAAC,CAAC;iFACvB,cAAc;4EACjB,IAAI,CACP,CAAC;wEACF,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;qEAC5B;yEAAM;wEACL,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC;wEACrC,OAAO,CAAC,IAAI,CACV,uBAAuB,CAAC,CAAC,CAAC,CAAC,cAAc;4EACvC,IAAI,CACP,CAAC;wEACF,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;qEAC3B;oEACD,MAAM;iEACP;6DACF;iEAAM;gEACL,IAAI,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;qEAC9C,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAClC,CAAC,CACY,CAAC;gEAEhB,IAAI,kBAAkB,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;oEAC9C,kBAAkB,CAAC,QAAQ;wEACzB,CAAC,kBAAkB,CAAC,YAAY,IAAI,OAAO;4EACzC,OAAO,CAAC;4EACV,kBAAkB,CAAC,QAAQ,CAAC;oEAC9B,kBAAkB,CAAC,OAAO;wEACxB,CAAC,kBAAkB,CAAC,YAAY,IAAI,OAAO;4EACzC,IAAI,CAAC;4EACP,kBAAkB,CAAC,OAAO,CAAC;oEAE7B,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,kBAAkB,CAAC,UAAU,CAC9B,CAAC;oEACJ,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;oEAE7C,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAC5D,kBAAkB,CAAC,MAAM,EACzB,kBAAkB,CAAC,UAAU,CAC9B,CAAC;oEAEJ,kBAAkB,CAAC,WAAW,CAAC,IAAI,CACjC,GAAG,eAAe,CACnB,CAAC;oEAEF,kBAAkB,CAAC,WAAW;wEAC5B,kBAAkB,CAAC,WAAW,CAAC,IAAI,CACjC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACjB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;4EACtB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;4EACpB,CAAC,CAAC,CAAC;4EACH,CAAC,CAAC,CAAC,CAAC,CACT,CAAC;iEACL;gEAED,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,kBAAkB,CAAC,WAAW,CAAC,MAAM,EACzC,CAAC,EAAE,EACH;oEACA,IAAI,IAAI,GAAQ,MAAM,IAAI,CAAC,cAAc,CACvC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EACjC,uBAAuB,CAAC,CAAC,CAAC,EAC1B,OAAO,EACP,kBAAkB,CACnB,CAAC;oEACF,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;wEACpB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CACzC,CAAC,CACF,CAAC,UAAU,GAAG,IAAI,CAAC;qEACrB;iEACF;6DACF;yDACF;qDACF;iDACF;gDACD,MAAM;6CACP;yCACF;qCACF;oCACD,MAAM;iCACP;6BACF;yBACF;qBACF;iBACF;gBACD,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC5C;QACH,CAAC,EAAC;IA1qBC,CAAC;IACJ,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,CAAS,EAAE,CAAS;QACtB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAW,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO;aACR;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAElE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO;gBACxC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW;oBAC/C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CACpD,CAAC;YACF,IAAI,EAAE,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IACE,IAAI,CAAC,UAAU,IAAI,IAAI;gBACvB,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAC/B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EACrC;gBACA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;aACzD;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;gBACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;gBAC5D,IAAI,CAAC,uBAAuB;oBAC1B,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC;gBAC7C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACxB;gBACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;oBAClD,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE,CAAC;oBAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC3C;oBACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC,EAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW;qBACb,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC;qBAC5C,SAAS,EAAE;qBACX,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;oBACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBAC9C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;oBAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;wBACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACxB;gBACH,CAAC,EACD,CAAC,QAAa,EAAE,EAAE;oBAChB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,gBAAgB,EAChB,gDAAgD,EAChD,OAAO,EACP,sCAAsC,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE,EACnE,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC,CACF;qBACA,OAAO,CAAC,GAAS,EAAE,CAAC;oBACnB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;wBAClD,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;oBACvC,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAS,EAAE,CAAC;wBAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBAC3C;wBACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzB,CAAC,EAAC,CAAC;gBACL,CAAC,EAAC,CAAC;aACN;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAU;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,EAAE;gBACzB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBACpC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC;oBAC3B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtB,OAAO,GAAG,EAAE,CAAC;iBACd;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtB;aACF;iBAAM;gBACL,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACvB;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAkFD,eAAe,CAAC,gBAAqB;QACnC,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG;YACX,GAAG,IAAI,GAAG,CACR,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACnC,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE;oBACtB,OAAO,GAAG,CAAC;iBACZ;gBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBAC9B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1B,OAAO,GAAG,CAAC;iBACZ;YACH,CAAC,CAAC,CACH;SACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IA2dK,cAAc,CAClB,UAAe,EACf,YAAiB,EACjB,OAAiB,EACjB,gBAAqB;;YAErB,IAAI,UAAU,CAAC,YAAY,EAAE;gBAC3B,IACE,UAAU,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY;oBACpD,UAAU,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,EAChD;oBACA,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC;oBACnC,IAAI,YAAY,CAAC,kBAAkB,IAAI,MAAM,EAAE;wBAC7C,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;wBAC9B,UAAU,CAAC,kBAAkB,GAAG,MAAM,CAAC;wBACvC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBACrC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;wBACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;qBACxC;yBAAM;wBACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC7B,UAAU,CAAC,kBAAkB,GAAG,OAAO,CAAC;wBACxC,UAAU,CAAC,kBAAkB,GAAG,KAAK,CAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;wBACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;qBACxC;iBACF;qBAAM;oBACL,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;iBACzC;aACF;iBAAM;gBACL,IAAI,YAAY,GAAG,UAAwB,CAAC;gBAE5C,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;oBACxC,YAAY,CAAC,QAAQ;wBACnB,CAAC,YAAY,CAAC,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC;4BACjD,YAAY,CAAC,QAAQ,CAAC;oBACxB,YAAY,CAAC,OAAO;wBAClB,CAAC,YAAY,CAAC,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC;4BAC9C,YAAY,CAAC,OAAO,CAAC;oBAEvB,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,YAAY,CAAC,UAAU,CACxB,CAAC;oBACJ,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;oBAEvC,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAC5D,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,UAAU,CACxB,CAAC;oBAEJ,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;oBAElD,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CACtD,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACjB,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3D,CAAC;iBACH;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxD,IAAI,KAAK,GAAQ,MAAM,IAAI,CAAC,cAAc,CACxC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAC3B,YAAY,EACZ,OAAO,EACP,YAAY,CACb,CAAC;oBACF,IAAI,KAAK,CAAC,GAAG,EAAE;wBACb,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC;wBACnC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC/B,OAAO,KAAK,CAAC;qBACd;yBAAM;wBACL,OAAO,KAAK,CAAC;qBACd;iBACF;aACF;QACH,CAAC;KAAA;IAED,kBAAkB,CAAC,IAAS;QAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC3D;IACH,CAAC;IAED,kBAAkB,CAAC,IAAS;QAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC3D;IACH,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,UAAe,EAAE,SAAc;QAC5D,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;;wFA/yBU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;;;;;;;;;;;;;ACVpB;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,qDAAe;IACf,qDAAe;IACf,+CAAY;AACd,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAiHM,MAAM,MAAM;IAAnB;QACE,2BAAsB,GAAW,MAAM,CAAC;QAExC,mBAAc,GAAW,CAAC,CAAC;QAC3B,YAAO,GAAY,EAAE,CAAC;QACtB,gBAAW,GAAY,EAAE,CAAC;QAC1B,WAAM,GAAW,EAAE,CAAC;QACpB,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAe,GAAY,EAAE,CAAC;QAC9B,wBAAmB,GAAW,CAAC,CAAC;QAChC,kBAAa,GAAY,EAAE,CAAC;QAC5B,mBAAc,GAAW,CAAC,CAAC;QAC3B,gCAA2B,GAAW,CAAC,CAAC;QACxC,eAAU,GAAW,CAAC,CAAC;QACvB,gBAAW,GAAW,CAAC,CAAC;QACxB,mBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAY,GAAY,EAAE,CAAC;QAE3B,kBAAa,GAAQ,EAAE,CAAC;QACxB,oBAAe,GAAW,EAAE,CAAC;QAC7B,cAAS,GAAW,EAAE,CAAC;QACvB,SAAI,GAAW,EAAE,CAAC;QAClB,eAAU,GAAa,EAAE,CAAC;QAC1B,aAAQ,GAAuB,EAAE,CAAC;QAClC,gBAAW,GAAa,KAAK,CAAC;QAC9B,qBAAgB,GAAa,KAAK,CAAC;QACnC,iBAAY,GAAY,EAAE,CAAC;QAC3B,kBAAa,GAAW,EAAE,CAAC;QAC3B,YAAO,GAAY,KAAK,CAAC;QACzB,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAsB,OAAO,CAAC;QACvC,gCAA2B,GAAW,MAAM,CAAC;QAC7C,0BAAqB,GAAY,KAAK,CAAC;QAEvC,eAAU,GAAY,KAAK,CAAC;QAC5B,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,EAAE,CAAC;QAC5B,oBAAe,GAAY,EAAE,CAAC;QAC9B,+BAA+B;QAC/B,iBAAY,GAAY,KAAK,CAAC;QAC9B,4BAAuB,GAAW,EAAE,CAAC;QACrC,WAAM,GAAW,EAAE,CAAC;QACpB,cAAS,GAA8B,EAAE,CAAC;QAC1C,aAAQ,GAAW,EAAE,CAAC;QACtB,aAAQ,GAAc,EAAc,CAAC;QAErC,kBAAa,GAAW,CAAC,CAAC;QAC1B,SAAI,GAAW,EAAE,CAAC;QAClB,aAAQ,GAAwB,SAAS,CAAC;QAC1C,aAAQ,GAAa,KAAK;QAC1B,yBAAoB,GAAW,IAAI,CAAC;QACpC,yBAAoB,GAAW,CAAC,CAAC;QACjC,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAW,GAAG,CAAC;QACvB,cAAS,GAAY,EAAE,CAAC;QACxB,wBAAmB,GAAY,EAAE,CAAC;QAElC,QAAG,GAAW,EAAE;QAChB,mBAAc,GAAW,EAAE,CAAC;QAG5B,eAAU,GAAW,CAAC,CAAC;QACvB,WAAM,GAAW,CAAC,CAAC;QACnB,kBAAa,GAAW,CAAC,CAAC;QAE1B,eAAU,GAAY,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,mBAAc,GAAW,EAAE,CAAC;QAC5B,iBAAY,GAAW,GAAG,CAAC;QAC3B,oBAAe,GAAW,CAAC,CAAC;QAE5B,cAAS,GAAiB,EAAkB,CAAC;QAC7C,eAAU,GAAgB,EAAiB,CAAC;QAC5C,eAAU,GAAmB,EAAoB,CAAC;QAClD,cAAS,GAAc,EAAe,CAAC;QACvC,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QAEzB,4CAA4C;QAC5C,oBAAe,GAAuB,EAAuB,CAAC;QAC9D,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAW,EAAE,CAAC;QAO7B,oBAAoB;QACpB,kBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAe,GAAW,EAAE,CAAC;QAC7B,yBAAoB,GAAW,EAAE,CAAC;QAClC,oBAAe,GAAG,EAAE,CAAC;QACrB,mBAAc,GAAG,EAAE,CAAC;QACpB,qBAAgB,GAAG,GAAG,CAAC;QACvB,WAAM,GAAW,OAAO,CAAC;QACzB,qBAAgB,GAAW,OAAO,CAAC;QACnC,iBAAY,GAAW,OAAO,CAAC;QAE/B,mBAAmB;QACnB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,4BAAuB,GAAW,CAAC,CAAC;QACpC,aAAQ,GAAsB,MAAM,CAAC;QACrC,uBAAkB,GAAY,EAAE,CAAC;QACjC,oBAAe,GAAW,OAAO,CAAC;QAClC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAE5B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,uBAAkB,GAAW,EAAE,CAAC;QAChC,4BAAuB,GAAW,EAAE,CAAC;QACrC,qBAAgB,GAAY,KAAK,CAAC;QAClC,mBAAc,GAAY,KAAK,CAAC;QAEhC,QAAQ;QACR,WAAM,GAAW,CAAC,CAAC;QACnB,iBAAY,GAAW,EAAE,CAAC;QAC1B,wBAAmB,GAAW,OAAO,CAAC;QAItC,2BAAsB,GAAW,EAAE,CAAC;QAEpC,uBAAkB,GAAW,GAAG,CAAC;QACjC,qBAAgB,GAAW,OAAO,CAAC;QACnC,oBAAe,GAAW,EAAE,CAAC;QAC7B,aAAQ,GAAsB,MAAM,CAAC;QACrC,cAAS,GAAW,IAAI,CAAC;QACzB,0BAAqB,GAAW,IAAI,CAAC;IACvC,CAAC;CAAA;AAyCM,MAAM,UAAU;IAAvB;QACE,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAW,EAAE,CAAC;QACzB,gBAAW,GAAW,EAAE,CAAC;QACzB,oBAAe,GAAW,EAAE,CAAC;QAC7B,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAW,EAAE,CAAC;QACtB,iBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAA0C,EAGlD,CAAC;QACJ,aAAQ,GAAW,EAAE,CAAC;QACtB,iBAAY,GAAY,KAAK,CAAC;QAC9B,yBAAoB,GAAY,KAAK,CAAC;QACtC,eAAU,GAAG,IAAI,CAAC;QAClB,iBAAY,GAAW,EAAE,CAAC;QAC1B,eAAU,GAAY,KAAK,CAAC;QAC5B,WAAM,GAAW,EAAE,CAAC;QACpB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,eAAU,GAAW,EAAE,CAAC;QACxB,SAAI,GAAW,EAAE,CAAC;QAClB,aAAQ,GAAW,EAAE,CAAC,CAAC,4CAA4C;QACnE,qBAAgB,GAAW,EAAE,CAAC;QAC9B,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAW,GAAG,CAAC;QACvB,kBAAa,GAAW,EAAE,CAAC;QAC3B,wBAAmB,GACjB,EAA4B,CAAC;QAC/B,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,QAAG,GAAW,EAAE,CAAC,CAAC,wDAAwD;QAC1E,QAAG,GAAW,CAAC,CAAC;QAChB,SAAI,GAAW,EAAE,CAAC,CAAC,mEAAmE;QACtF,kBAAa,GAAY,EAAE,CAAC;QAE5B,gBAAW,GAAY,KAAK,CAAC;QAC7B,oBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAY,EAAE,CAAC;QAC9B,uCAAuC;QACvC,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAW,EAAE,CAAC;QAG9B,2BAAsB,GAAW,EAAE,CAAC;QACpC,oBAAe,GAAW,CAAC,CAAC;QAC5B,oBAAe,GAAW,CAAC,CAAC;QAC5B,iBAAY,GAAW,CAAC,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;QACzB,uBAAkB,GAAW,CAAC,CAAC;QAC/B,wCAAmC,GAAW,EAAE,CAAC;QACjD,kBAAa,GAAW,EAAE,CAAC,CAAC,mEAAmE;QAC/F,mBAAc,GAAW,CAAC,CAAC;IAC7B,CAAC;CAAA;AA8CM,MAAM,oBAAoB;IAAjC;QACS,eAAU,GAAW,EAAE,CAAC;QACxB,WAAM,GAAW,EAAE,CAAC;QACpB,aAAQ,GAAW,EAAE,CAAC;QACtB,eAAU,GAAW,EAAE,CAAC;QACxB,aAAQ,GAAW,GAAG,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,WAAM,GAAW,EAAE,CAAC;QACpB,iBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;QAC1B,cAAS,GAAW,EAAE,CAAC;QACvB,cAAS,GAAW,EAAE,CAAC;QACvB,iBAAY,GAAW,EAAE,CAAC;QAC1B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAW,EAAE,CAAC;QACtB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,eAAU,GAAW,EAAE,CAAC;QACxB,YAAO,GAAW,EAAE,CAAC;QACrB,gBAAW,GAAW,EAAE,CAAC;QACzB,qBAAgB,GAAW,CAAC,CAAC;QAC7B,aAAQ,GAAa,EAAE,CAAC;QACxB,aAAQ,GAAa,EAAE,CAAC;QACxB,uBAAkB,GAAY,KAAK,CAAC;QACpC,kBAAa,GAAY,EAAE,CAAC;QAC5B,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAY,EAAE,CAAC;QAC9B,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAW,EAAE,CAAC;QAEtB,iBAAY,GAAY,EAAE,CAAC;QAE3B,iBAAY,GAAG,IAAI,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QACnB,UAAK,GAAW,CAAC,CAAC;QAClB,WAAM,GAAW,CAAC,CAAC;QAE1B,kBAAkB;QACX,sBAAiB,GAAG,EAAE,CAAC;QACvB,uBAAkB,GAAG,EAAE,CAAC;QAExB,gBAAW,GAAY,KAAK,CAAC;QACpC,oBAAe,GAAW,EAAE,CAAC;QAC7B,mBAAc,GAAW,EAAE,CAAC;QAC5B,gBAAW,GAAW,OAAO,CAAC;QAC9B,WAAM,GAAW,EAAE,CAAC;QACpB,iCAA4B,GAAW,OAAO,CAAC;IACjD,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1bsE;AAEG;AAMlD;AAKmB;AACA;AACF;;;;;;;;;;;;;;;ICVjC,qEAIO;;;IASP,qEAIO;;;IAsBL,0EAAqD;IACnD,0EAAwC;IACtC,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC7B,4DAAM;IACR,4DAAM;;;IAHC,0DAAkC;IAAlC,mKAAkC;IAClC,0DAAoB;IAApB,wFAAoB;;;IA6BzB,0EAAqD;IACnD,0EAA8B;IAC5B,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC7B,4DAAM;IACR,4DAAM;;;IAHC,0DAAwB;IAAxB,sHAAwB;IACxB,0DAAoB;IAApB,wFAAoB;;;;;IA1B7B,0EAAsC;IACpC,4EAAkB;IAAA,uDAAmB;IAAA,4DAAQ;IAC7C,4EAqBE;IAjBA,yUAA0B;IAJ5B,4DAqBE;IACF,gIAIM;IACR,4DAAM;;;IA5Bc,0DAAmB;IAAnB,uFAAmB;IAiBnC,0DAA2C;IAA3C,kHAA2C;IAd3C,oFAAoB;IAoBF,0DAA+B;IAA/B,uIAA+B;;;IA8BnD,0EAAsD;IACpD,0EAA+B;IAC7B,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAC9B,4DAAM;IACR,4DAAM;;;IAHC,0DAAyB;IAAzB,wHAAyB;IACzB,0DAAqB;IAArB,yFAAqB;;;IAqB9B,0EAAsD;IACpD,0EAAyC;IACvC,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAC9B,4DAAM;IACN,0EAAwC;IACtC,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC7B,4DAAM;IACR,4DAAM;;;IANC,0DAAmC;IAAnC,sKAAmC;IACnC,0DAAqB;IAArB,yFAAqB;IAErB,0DAAkC;IAAlC,qKAAkC;IAClC,0DAAoB;IAApB,wFAAoB;;;;;IA1InC,sEAA4B;IAC1B,0EAAqB;IAAC,uDAAuB;IAAA,4DAAO;IACpD,yEAAwB;IACtB,yEAAwD;IAAxB,4TAAuB;IACrD,yEAA8G;IAC5G,0EAA0B;IAAC,uDAAiB;IAAA,4DAAO;IACnD,0EAA0B;IACxB,uDACF;;;IAAA,4DAAO;IACT,4DAAM;IACN,0HAIO;IACT,4DAAM;IACN,0EAA8D;IAA9B,kUAA4B;IAC1D,0EAA8G;IAC5G,2EAA0B;IAAC,wDAAsB;IAAA,4DAAO;IACxD,2EAA0B;IACxB,wDACF;;;IAAA,4DAAO;IACT,4DAAM;IACN,2HAIO;IACT,4DAAM;IACR,4DAAM;IACN,2EAAkB;IAChB,4EAA0E;IAA1C,wUAA8B;IAC5D,2EAAkB;IAChB,6EAAkB;IAAA,wDAAY;IAAA,4DAAQ;IACtC,iFAcE;IAVA,kUAA0B;IAJ5B,4DAcE;IACF,2HAIM;IACR,4DAAM;IACN,2EAAsB;IACpB,4HA6BM;IACN,2EAAmB;IACjB,6EAAmB;IAAA,wDAAmB;IAAA,4DAAQ;IAC9C,6EAqBE;IAXA,kUAA0B;IAV5B,4DAqBE;IACF,2HAIM;IACR,4DAAM;IACR,4DAAM;IACN,2EAAmB;IACjB,6EAAmB;IAAA,wDAAa;IAAA,4DAAQ;IACxC,6EAaE;IAVA,kUAA0B;IAH5B,4DAaE;IACF,2HAOM;IACR,4DAAM;IACN,8EAAuC;IAAA,wDAAY;IAAA,4DAAS;IAC5D,8EAAwC;IAAnB,2TAAkB;IAAC,wDAAY;IAAA,4DAAS;IAE/D,4DAAO;IACT,4DAAM;IACV,4DAAM;;;IAlJoB,0DAAuB;IAAvB,qGAAuB;IAGkB,0DAAkD;IAAlD,kHAAkD;IAChF,0DAAiB;IAAjB,+FAAiB;IAE1C,0DACF;IADE,oPACF;IAGC,0DAAgB;IAAhB,mFAAgB;IAMwC,0DAAkD;IAAlD,kHAAkD;IAChF,0DAAsB;IAAtB,oGAAsB;IAE/C,0DACF;IADE,yPACF;IAGC,0DAAiB;IAAjB,oFAAiB;IAOhB,0DAAyB;IAAzB,yFAAyB;IAET,0DAAY;IAAZ,gFAAY;IAU5B,0DAA2C;IAA3C,kHAA2C;IAN3C,oFAAoB;IAYF,0DAA+B;IAA/B,uIAA+B;IAOhC,0DAAiB;IAAjB,oFAAiB;IA+Bf,0DAAmB;IAAnB,uFAAmB;IAiBpC,0DAA4C;IAA5C,mHAA4C;IAd5C,oFAAoB;IAoBF,0DAAgC;IAAhC,yIAAgC;IAQnC,0DAAa;IAAb,iFAAa;IAS9B,0DAA4C;IAA5C,mHAA4C;IAN5C,oFAAoB;IAYF,0DAAgC;IAAhC,yIAAgC;IASf,0DAAY;IAAZ,gFAAY;IACX,0DAAY;IAAZ,gFAAY;;;IAyBlD,0EAAqD;IACnD,0EAAwC;IACtC,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAChC,4DAAM;IACR,4DAAM;;;IAHC,0DAAkC;IAAlC,sKAAkC;IAClC,0DAAuB;IAAvB,4FAAuB;;;;IAnBhC,0EAAyC;IACvC,4EAAsB;IAAA,uDAAsB;IAAA,4DAAQ;IACpD,4EAcE;IANA,wUAA0B;IAR5B,4DAcE;IACF,+HAIM;IACR,4DAAM;;;IArBkB,0DAAsB;IAAtB,2FAAsB;IAW1C,0DAAiD;IAAjD,yHAAiD;IARjD,qFAAoB;IAaF,0DAA+B;IAA/B,0IAA+B;;;;IAMrD,0EAAyC;IACvC,4EAAsB;IAAA,uDAAsB;IAAA,4DAAQ;IACpD,4EAUE;IAPA,wUAA0B;IAH5B,4DAUE;IACJ,4DAAM;;;IAZkB,0DAAsB;IAAtB,2FAAsB;IAO1C,0DAAiD;IAAjD,yHAAiD;IAJjD,qFAAoB;;;IA6BpB,wEAAkE;IAChE,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,uGACF;;;;IACA,0EAGC;IACC,wEAAiC;IAA9B,uXAA6B;IAAC,uDAAsB;IAAA,4DAAI;IAC7D,4DAAM;;;IAD6B,0DAAsB;IAAtB,qFAAsB;;;IAR3D,0EAA2C;IACzC,iIAEI;IACJ,qIAKM;IACR,4DAAM;;;IATA,0DAAmC;IAAnC,+GAAmC;IAIpB,0DAAwB;IAAxB,gGAAwB;;;IAM7C,0EAAwD;IACtD,0EAA2C;IACzC,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAChC,4DAAM;IACR,4DAAM;;;IAHC,0DAAqC;IAArC,+KAAqC;IACrC,0DAAuB;IAAvB,4FAAuB;;;;IA/BhC,0EAAyC;IACvC,4EAAqB;IAAA,uDAAe;IAAA,4DAAQ;IAC5C,4EAeE;IAPA,wUAA0B;IAR5B,4DAeE;IACF,+HAUM;IACN,+HAIM;IACR,4DAAM;;;IAjCiB,0DAAe;IAAf,oFAAe;IAGlC,0DAAoB;IAApB,qFAAoB;IAchB,0DAAkB;IAAlB,sFAAkB;IAWJ,0DAAkC;IAAlC,gJAAkC;;;IA4BlD,wEAA8D;IAC5D,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,iGACF;;;;IACA,0EAGC;IACC,wEAA+B;IAA5B,gXAA2B;IAAC,uDAAoB;IAAA,4DAAI;IACzD,4DAAM;;;IAD2B,0DAAoB;IAApB,mFAAoB;;;IARvD,0EAAyC;IACvC,4HAEI;IACJ,gIAKM;IACR,4DAAM;;;IATA,0DAA+B;IAA/B,2GAA+B;IAIhB,0DAAsB;IAAtB,8FAAsB;;;IAM3C,0EAAsD;IACpD,0EAAyC;IACvC,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAC9B,4DAAM;IACR,4DAAM;;;IAHC,0DAAmC;IAAnC,yKAAmC;IACnC,0DAAqB;IAArB,0FAAqB;;;IAyB5B,0EAAwD;IACtD,0EAA2C;IACzC,oEAAG;IAAA,uDAAmB;IAAA,4DAAI;IAC5B,4DAAM;IACR,4DAAM;;;IAHC,0DAAqC;IAArC,+KAAqC;IACrC,0DAAmB;IAAnB,wFAAmB;;;;IAtB5B,0EAAwC;IACtC,4EAAqB;IAAA,uDAAe;IAAA,4DAAQ;IAC5C,4EAiBE;IAPA,yUAA0B;IAV5B,4DAiBE;IACF,gIAIM;IACR,4DAAM;;;IAxBiB,0DAAe;IAAf,oFAAe;IAclC,0DAA8C;IAA9C,sHAA8C;IAX9C,qFAAoB;IAgBF,0DAAkC;IAAlC,gJAAkC;;;IAuBtD,0EAAyD;IACvD,0EAA4C;IAC1C,oEAAG;IAAA,uDAAwB;IAAA,4DAAI;IACjC,4DAAM;IACR,4DAAM;;;IAHC,0DAAsC;IAAtC,kLAAsC;IACtC,0DAAwB;IAAxB,6FAAwB;;;;IAnBjC,0EAA0C;IACxC,4EAAsB;IAAA,uDAAgB;IAAA,4DAAQ;IAC9C,4EAcE;IAPA,yUAA0B;IAP5B,4DAcE;IACF,gIAIM;IACR,4DAAM;;;IArBkB,0DAAgB;IAAhB,qFAAgB;IAGpC,0DAAoB;IAApB,qFAAoB;IAaF,0DAAmC;IAAnC,kJAAmC;;;IAyBvD,wEAA4D;IAC1D,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,gGACF;;;;IACA,0EAGC;IACC,wEAA8B;IAA3B,qXAA0B;IAAC,uDAAmB;IAAA,4DAAI;IACvD,4DAAM;;;IAD0B,0DAAmB;IAAnB,kFAAmB;;;IARrD,0EAAwC;IACtC,kIAEI;IACJ,sIAKM;IACR,4DAAM;;;IATA,0DAA6B;IAA7B,yGAA6B;IAId,0DAAqB;IAArB,6FAAqB;;;IAM1C,0EAAqD;IACnD,0EAAwC;IACtC,oEAAG;IAAA,uDAAoB;IAAA,4DAAI;IAC7B,4DAAM;IACR,4DAAM;;;IAHC,0DAAkC;IAAlC,sKAAkC;IAClC,0DAAoB;IAApB,yFAAoB;;;;IA9B7B,0EAAqC;IACnC,4EAAkB;IAAA,uDAAY;IAAA,4DAAQ;IACtC,4EAcE;IAPA,sUAAuB;IAPzB,4DAcE;IACF,gIAUM;IACN,gIAIM;IACR,4DAAM;;;IAhCc,0DAAY;IAAZ,iFAAY;IAW5B,0DAA2C;IAA3C,mHAA2C;IAR3C,qFAAoB;IAahB,0DAAe;IAAf,mFAAe;IAWD,0DAA+B;IAA/B,0IAA+B;;;IA0BnD,0EAAwD;IACtD,0EAA2C;IACzC,oEAAG;IAAA,uDAAuB;IAAA,4DAAI;IAChC,4DAAM;IACR,4DAAM;;;IAHC,0DAAqC;IAArC,+KAAqC;IACrC,0DAAuB;IAAvB,4FAAuB;;;;IArBhC,0EAAyC;IACvC,4EAAqB;IAAA,uDAAe;IAAA,4DAAQ;IAC5C,+EAeC;IAZC,4UAA0B;IAa5B;IAAA,4DAAW;IACX,gIAIM;IACR,4DAAM;;;IAvBiB,0DAAe;IAAf,oFAAe;IAalC,0DAA8C;IAA9C,sHAA8C;IAV9C,qFAAoB;IAeF,0DAAkC;IAAlC,gJAAkC;;;IAQtD,wEAA2D;IACzD,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,mGACF;;;IACA,wEAAiE;IAC/D,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,wGACF;;;;IAvON,sEAA2B;IACzB,0EAAqB;IAAC,uDAA2B;IAAA,4DAAO;IACxD,2EAAmE;IAAnC,gUAAuB;IACrD,yHAsBM;IACN,yHAaM;IACN,yHAkCM;IACN,0EAAsB;IACpB,0EAAmB;IACjB,4EAAmB;IAAA,wDAAa;IAAA,4DAAQ;IACxC,6EAiBE;IATA,gUAAwB;IAR1B,4DAiBE;IACF,2HAUM;IACN,2HAIM;IACR,4DAAM;IAEN,2HAyBM;IACN,2HAsBM;IACR,4DAAM;IACN,4HAiCM;IAEN,2HAwBM;IAEN,2EAAoB;IAClB,uHAEI;IACJ,uHAEI;IACJ,8EAAwC;IAAA,wDAAc;IAAA,4DAAS;IACjE,4DAAM;IACR,4DAAO;IACP,8EAA2C;IAAtB,8TAAqB;IAAC,wDAAY;IAAA,4DAAS;IAClE,4DAAM;;;IA3OkB,0DAA2B;IAA3B,yGAA2B;IAC3C,0DAAyB;IAAzB,yFAAyB;IACN,0DAAgB;IAAhB,mFAAgB;IAuBhB,0DAAgB;IAAhB,mFAAgB;IAcjB,0DAAiB;IAAjB,oFAAiB;IAqChB,0DAAa;IAAb,iFAAa;IAc9B,0DAA4C;IAA5C,mHAA4C;IAX5C,oFAAoB;IAgBhB,0DAAgB;IAAhB,mFAAgB;IAWF,0DAAgC;IAAhC,yIAAgC;IAOhC,0DAAgB;IAAhB,mFAAgB;IA0Bf,0DAAiB;IAAjB,oFAAiB;IAwBvB,0DAAgB;IAAhB,mFAAgB;IAmCb,0DAAiB;IAAjB,oFAAiB;IA2BrB,0DAAyC;IAAzC,mHAAyC;IAGzC,0DAA+C;IAA/C,yHAA+C;IAGvB,0DAAc;IAAd,kFAAc;IAGf,0DAAY;IAAZ,gFAAY;;ADhWtD,MAAM,sBAAsB;IAsHjC,YACE,YAAsB,EACd,WAAwB,EACxB,eAAgC,EAChC,MAAkB,EAClB,eAAgC,EACvB,cAA8B,EACvC,QAAwB;QALxB,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAY;QAClB,oBAAe,GAAf,eAAe,CAAiB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QACvC,aAAQ,GAAR,QAAQ,CAAgB;QA1HlC,gBAAW,GAAW,+EAAc,CAAC,sBAAsB,EAAE,CAAC;QAC9D,qBAAgB,GAAW,+EAAc,CAAC,2BAA2B,EAAE,CAAC;QACxE,SAAI,GAAW,EAAE,CAAC;QAClB,eAAU,GAAW,EAAE,CAAC;QACxB,SAAI,GAAW,EAAE,CAAC;QAClB,SAAI,GAAW,EAAE,CAAC;QAClB,UAAK,GAAW,EAAE,CAAC;QACnB,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAW,EAAE,CAAC;QACrB,UAAK,GAAW,EAAE,CAAC;QACnB,kBAAa,GAAG,KAAK,CAAC;QA2CtB,cAAS,GAAY,KAAK,CAAC;QAC3B,eAAU,GAAY,IAAI,CAAC;QAC3B,4BAAuB,GAAW,EAAE,CAAC;QACrC,kCAA6B,GAAW,EAAE,CAAC;QAC3C,6BAAwB,GAAW,EAAE,CAAC;QACtC,4BAAuB,GAAW,EAAE,CAAC;QACrC,6BAAwB,GAAW,EAAE,CAAC;QACtC,kCAA6B,GAAU,EAAE,CAAC;QAC1C,+BAA0B,GAAW,EAAE,CAAC;QACxC,4BAAuB,GAAW,EAAE,CAAC;QACrC,6BAAwB,GAAW,EAAE,CAAC;QACtC,+BAA0B,GAAW,EAAE,CAAC;QAIxC,iBAAY,GAAG,KAAK,CAAC;QACrB,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAElB,cAAS,GAAU,oDAAC,CAAC;QACrB,aAAQ,GAAU,EAAE,CAAC;QAIrB,YAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACxC,iBAAY,GAAQ,EAAE;QACtB,aAAQ,GAAQ,EAAE;QAClB,oBAAe,GAAQ,EAAE;QACzB,cAAS,GAAQ,EAAE;QACnB,aAAQ,GAAQ,EAAE;QAClB,aAAQ,GAAQ,EAAE;QAClB,gBAAW,GAAQ,EAAE;QACrB,eAAU,GAAQ,EAAE;QACpB,qBAAgB,GAAQ,EAAE;QAC1B,sBAAiB,GAAQ,EAAE;QAC3B,uBAAkB,GAAQ,EAAE;QAC5B,iBAAY,GAAQ,EAAE;QACtB,sBAAiB,GAAQ,EAAE;QAC3B,oBAAe,GAAQ,EAAE;QACzB,qBAAgB,GAAQ,EAAE;QAC1B,2BAAsB,GAAQ,EAAE;QAChC,uBAAkB,GAAQ,EAAE;QAC5B,wBAAmB,GAAQ,EAAE;QAC7B,uBAAkB,GAAQ,EAAE;QAC5B,gBAAW,GAAQ,EAAE;QACrB,wBAAmB,GAAQ,EAAE;QAC7B,wBAAmB,GAAQ,EAAE;QAC7B,cAAS,GAAQ,EAAE;QACnB,kBAAa,GAAQ,EAAE;QACvB,sBAAiB,GAAQ,EAAE;QAC3B,gBAAW,GAAQ,EAAE;QACrB,oBAAe,GAAQ,EAAE;QACzB,iBAAY,GAAQ,EAAE;QACtB,yBAAoB,GAAQ,EAAE;QAC9B,aAAQ,GAAQ,EAAE;QAClB,iBAAY,GAAQ,EAAE;QACtB,qBAAgB,GAAQ,EAAE;QAC1B,oBAAe,GAAQ,EAAE;QACzB,yBAAoB,GAAQ,EAAE;QAC9B,sBAAiB,GAAQ,EAAE;QAC3B,qBAAgB,GAAQ,EAAE;QAkV1B,YAAO,GAAM,EAAE,CAAC;QAvUd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,sDAAC,CAAC;IACvB,CAAC;IAnHD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAiFD,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAClF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAC9E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjF,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACtF,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC/E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QACtE,IAAI,CAAC,iBAAiB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QACxE,IAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC;QAChF,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QACpE,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QACtE,IAAI,CAAC,sBAAsB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC;QACrF,IAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACtE,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC;QAC5E,IAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACtE,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QAC1E,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;QACxE,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QACzD,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACzE,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAC/E,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QACtE,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sDAAsD,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,+EAAc,CAAC,iBAAiB,EAAE,GAAC,IAAI,CAAC,WAAW,CAAC;QAC3K,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,2DAA2D,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,+EAAc,CAAC,iBAAiB,EAAE,GAAC,IAAI,CAAC,gBAAgB,CAAC;QACrL,IAAI,CAAC,iBAAiB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;IACrE,CAAC;IACD,QAAQ;;QACN,IAAI,CAAC,WAAW,GAAG,sDAAC,CAAC;QAErB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YACzB,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC1B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC1B,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC1B,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC/B,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC5B,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YAC/C,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,OAAO,CAAC,iDAAiD,CAAC;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACpD,yDAAU,CAAC,QAAQ;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;YACjD,yDAAU,CAAC,QAAQ;SAEpB,CAAC,CAAC;QACH,IAAG,IAAI,CAAC,eAAe,CAAC,eAAe,YAAY,yFAAuB,EAAC;YACzE,IAAI,CAAC,UAAU,GAAC,IAAI;YACpB,UAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAC;YAC9D,UAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAC;YAChE,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK;YACrD,UAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAC;YAChE,UAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAC;YAChE,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK;YACrD,UAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAC;YAC9D,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI;YACnD,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY;YACnE,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa;YACrE,UAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAC;YAC1E,UAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAC;YAC1E,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,EAAC;SACrE;aAAM,IAAG,IAAI,CAAC,eAAe,CAAC,eAAe,YAAY,8FAA4B,EAAC;YACrF,IAAI,CAAC,UAAU,GAAC,KAAK;YACrB,UAAI,CAAC,UAAU,0CAAE,eAAe,GAAE;YAClC,UAAI,CAAC,UAAU,0CAAE,sBAAsB,GAAE;YACzC,UAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAC;YAC9D,UAAI,CAAC,IAAI,0CAAE,eAAe,GAAE;YAC5B,UAAI,CAAC,IAAI,0CAAE,sBAAsB,GAAE;YACnC,UAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,EAAC;YACpE,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU;YACzD,UAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAC;YAChE,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK;YACrD,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,EAAC;YACpE,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAC;YACtE,UAAI,CAAC,OAAO,0CAAE,eAAe,GAAE;YAC/B,UAAI,CAAC,OAAO,0CAAE,sBAAsB,GAAE;YACtC,UAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAC;YAChE,UAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAC;YAChE,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK;YACrD,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,aAAa;YACrE,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,eAAe;YACzE,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,EAAC;YACpE,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO;SAC1D;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,4CAA4C;IAC5C,aAAa;QACX,IAAI,kBAAkB,GAAgB,IAAI,CAAC,sBAAsB,CAAC,aAA4B,CAAC;QAC/F,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,YAAY;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB;QACtC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAC,eAAe;SACjC,CAAC,CAAC;QACH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACnE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAC,eAAe;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACvE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACjE,CAAC;IACJ,CAAC;IACD,aAAa;QACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACnD,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,aAAa,KAAI,CAAC;IAElB,YAAY,KAAI,CAAC;IAEX,aAAa,CAAC,IAAS;;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACjD,CAAC,CAAM,EAAE,EAAE;gBACT,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,EAAE;oBACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC;iBACzB;YACH,CAAC,EACD,CAAC,CAAM,EAAE,EAAE;gBACT,uBAAuB;gBACvB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,aAAa,EACb,0CAA0C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAC7D,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IACD,WAAW,CAAC,IAAS;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAM,EAAE,EAAE;YACT,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;aACxB;QACH,CAAC,EACD,CAAC,CAAM,EAAE,EAAE;YACT,uBAAuB;YACvB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,aAAa,EACb,0CAA0C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAC7D,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CACF,CAAC;IACJ,CAAC;IACD,UAAU,CAAC,IAAS;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,gBAAgB;QACd,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBAClD,yDAAU,CAAC,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;SAClE;IACH,CAAC;IACD,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,oDAAC,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;gBACpD,yDAAU,CAAC,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBACjD,yDAAU,CAAC,QAAQ;aAEpB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,sBAAsB,EAAE,CAAC;SAC/D;IACH,CAAC;IACD,SAAS;QACP,IAAI,CAAC,aAAa,GAAC,KAAK;IAC1B,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAGD,eAAe;QACb,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,EAAE;YACtC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,KAAK;YACtB,IAAI,CAAC,aAAa,GAAC,IAAI;SACxB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;IACH,CAAC;IACD,QAAQ;QACN,IACE,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,EAClC;YACA,IAAI,OAAO,CAAC;YACZ,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;oBAC3C,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5C,OAAO,GAAG,IAAI,yFAAuB,CACnC,IAAI,CAAC,IAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAM,CAAC,KAAK,EACjB,IAAI,CAAC,KAAM,CAAC,KAAK,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAW,CAAC,KAAK,EACtB,IAAI,CAAC,OAAQ,CAAC,KAAK,EACnB,+EAAc,CAAC,sBAAsB,EAAE,EACvC,IAAI,CAAC,UAAW,CAAC,KAAK,CACvB,CAAC;iBACH;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,EAAE;oBAC9C,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5C,OAAO,GAAG,IAAI,8FAA4B,CACxC,IAAI,CAAC,IAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAM,CAAC,KAAK,EACjB,IAAI,CAAC,KAAM,CAAC,KAAK,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,OAAQ,CAAC,KAAK,EACnB,IAAI,CAAC,QAAS,CAAC,KAAK,EACpB,+EAAc,CAAC,2BAA2B,EAAE,EAC5C,IAAI,CAAC,IAAK,CAAC,KAAK,CACjB,CAAC;iBACH;aACF;YACD,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;IACH,CAAC;;4FA1fU,sBAAsB;sGAAtB,sBAAsB;;;;;;QCjCnC,yEAAuB;QACrB,0EAAuB;QAAA,uDAA0B;;QAAA,4DAAO;QACxD,oHAmJI;QACF,oHA4OM;QACV,4DAAM;;QAlYmB,0DAA0B;QAA1B,kJAA0B;QAC3C,0DAAoB;QAApB,oFAAoB;QAoJlB,0DAAmB;QAAnB,mFAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtJ8D;AAGpB;AACc;AACd;AAEqB;AAKpC;;;;;;;;;;;;;;;ICVpD,wEAAuE;IACrE,4EAA8C;IAAC,uDAAc;IAAA,4DAAS;IACtE,4EAAwD;IAAC,uDAAyC;;IAAA,4DAAS;IAC7G,4DAAK;;;IAFK,0DAAqC;IAArC,iKAAqC;IAAE,0DAAc;IAAd,4FAAc;IACvC,0DAAiC;IAAjC,6JAAiC;IAAE,0DAAyC;IAAzC,uKAAyC;;;ADgBjG,MAAM,oBAAoB;IAuC/B,YACU,MAAc,EACd,WAAwB,EACxB,MAAkB,EAClB,eAAqC,EACrC,QAAyB,EACzB,QAAyB,EAChB,UAAiC,EAC1C,YAAsB;QAPtB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAY;QAClB,oBAAe,GAAf,eAAe,CAAsB;QACrC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,aAAQ,GAAR,QAAQ,CAAiB;QAChB,eAAU,GAAV,UAAU,CAAuB;QAC1C,iBAAY,GAAZ,YAAY,CAAU;QAxChC,oBAAe,GAAmB,EAAE,CAAC;QAIrC,aAAQ,GAAW,GAAG,CAAC;QAEd,eAAU,GAAY,IAAI,CAAC;QAE1B,YAAO,GAAG,IAAI,0DAAY,EAAW,CAAC;QAEhD,mBAAc,GAAW,EAAE,CAAC;QAE5B,mBAAc,GAAW,EAAE,CAAC;QAE5B,uBAAkB,GAAW,EAAE,CAAC;QAEhC,uBAAkB,GAAW,EAAE,CAAC;QAEhC,mBAAc,GAAW,EAAE,CAAC;QAE5B,eAAU,GAAW,EAAE,CAAC;QAExB,+BAA0B,GAAY,KAAK,CAAC;QAE5C,cAAS,GAAW,EAAE,CAAC;QAEvB,oBAAe,GAAW,EAAE,CAAC;QAE7B,oBAAe,GAAW,EAAE,CAAC;QAE7B,iBAAY,GAAW,EAAE,CAAC;IAWvB,CAAC;IA/CJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IA6CD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,+EAAc,CAAC,eAAe,EAAE,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,+EAAc,CAAC,gBAAgB,EAAE,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,+EAAc,CAAC,oBAAoB,EAAE,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,+EAAc,CAAC,oBAAoB,EAAE,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,+EAAc,CAAC,iBAAiB,EAAE,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,+EAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,0BAA0B;YAC7B,+EAAc,CAAC,6BAA6B,EAAE,CAAC;QACjD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACtB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;QACD,kCAAkC;aAC7B;YACH,+CAA+C;YAE/C,IAAI,EAAE,GAAG,gGAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAErD,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,CAAC,IAAY,EAAE,EAAE;gBACf,IAAI,IAAI,KAAK,QAAQ,EAAE;oBACrB,IAAI;wBACF,MAAM,GAAG,GAAG,IAAI,wEAAW,CACzB,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,EAC/C,KAAK,CACN,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;qBAClC;oBAAC,OAAO,CAAM,EAAE;wBACf,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;4BAC9B,MAAM,GAAG,GAAG,IAAI,wEAAW,CACzB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oEAAoE,CAAC,CAAC,OAAO,EAAE,EAC/E,KAAK,CACN,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;yBAClC;6BAAM;4BACL,MAAM,GAAG,GAAG,IAAI,wEAAW,CACzB,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,4EAA4E,CAAC,EAAE,EAC/E,KAAK,CACN,CAAC;4BACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;yBAClC;qBACF;oBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,+EAAc,CAAC,yBAAyB,EAAE,CAAC;oBAC3C,+EAAc,CAAC,wBAAwB,EAAE,CAAC;oBAC1C,+EAAc,CAAC,uBAAuB,EAAE,CAAC;oBACzC,+EAAc,CAAC,gBAAgB,EAAE,CAAC;iBACnC;YACH,CAAC,EACD,GAAG,EAAE;gBACH,4BAA4B;YAC9B,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAED,SAAS;QACP,IAAI,+EAAc,CAAC,sBAAsB,EAAE,IAAI,MAAM,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC;SAC3C;QAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,UAAU;QACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,+CAA+C;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAC;gBACX,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;gBACnD,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;aAC3B;YAED,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;gBAC5B,CAAC,GAAS,EAAE,CAAC;oBACX,MAAM,gEAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC1B,CAAC,EAAC,EAAE,CAAC;aACN;SACF;aAAM;YACL,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,EACT,kBAAkB,EAClB,KAAK,CACN,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAEjC,IACE,+EAAc,CAAC,sBAAsB,EAAE,IAAI,MAAM;gBACjD,+EAAc,CAAC,cAAc,EAAE,IAAI,GAAG,EACtC;gBACA,uGAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;oBAC1E,IAAI,IAAI,IAAI,SAAS,EAAE;wBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;qBAC3C;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;;wFA/MU,oBAAoB;oGAApB,oBAAoB;QCpBjC,yEAAiD;QAC/C,qEAAI;QACF,+GAGK;QACL,wEAA0C;QACxC,uEAQG;QAND,uIAAS,gBAAY,IAAC;QAMrB,uDAAiE;QAAA,4DACnE;QACH,4DAAK;QACL,wEAAuB;QACrB,uEAQG;QAND,uIAAS,iBAAa,IAAC;QAMtB,uDAAmB;QAAA,4DACrB;QACH,4DAAK;QAKP,4DAAK;QACP,4DAAM;;QAjCoB,0DAA+C;QAA/C,mHAA+C;QASjE,0DAGE;QAHF,sLAGE;QACD,0DAAiE;QAAjE,wIAAiE;QAQlE,0DAGE;QAHF,sLAGE;QACD,0DAAmB;QAAnB,oFAAmB;;;;;;;;;;;;;;ACvB5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AACiC;AAC7C;AACmE;AAC7B;AAEvB;AASjC;AACU;;;;;;;;;;;;;;;;;;;;;;;;;;ICkC3C,6EAQC;IALC,+UAA2B;IAM3B,uDACF;IAAA,4DAAS;;;IANP,6EAAoB;IAKpB,0DACF;IADE,4FACF;;;IAXF,0EAAgD;IAC9C,4HAUS;IACX,4DAAM;;;IAVD,0DAAgB;IAAhB,mFAAgB;;;IAe3B,0EAA2C;IACzC,qEAGE;IACJ,4DAAM;;AD9CC,MAAM,kBAAkB;IA2E7B,YACmB,cAA8B,EACvC,YAA0B,EAClC,WAAwB,EAChB,MAAc,EACd,MAAkB;IAC1B,sDAAsD;IAC9C,GAAe,EACf,YAAsB,EACtB,eAAgC,EACvB,EAAmB,EACnB,aAA4B,EAC5B,mBAAwC,EACjD,QAAyB,EAC1B,IAAgB,EACf,SAA2B;QAdlB,mBAAc,GAAd,cAAc,CAAgB;QACvC,iBAAY,GAAZ,YAAY,CAAc;QAE1B,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAY;QAElB,QAAG,GAAH,GAAG,CAAY;QACf,iBAAY,GAAZ,YAAY,CAAU;QACtB,oBAAe,GAAf,eAAe,CAAiB;QACvB,OAAE,GAAF,EAAE,CAAiB;QACnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACjD,aAAQ,GAAR,QAAQ,CAAiB;QAC1B,SAAI,GAAJ,IAAI,CAAY;QACf,cAAS,GAAT,SAAS,CAAkB;QA3E7B,oBAAe,GAAmB,EAAE,CAAC;QAW7C,oDAAoD;QACpD,kDAAkD;QAClD,0BAAqB,GAAG,CAAC,CAAC;QAM1B,iBAAY,GAAY,wEAAW,CAAC,UAAU,CAAC;QAI/C,aAAQ,GAAW,EAAE,CAAC;QAEtB,aAAQ,GAAW,EAAE,CAAC;QAEtB,YAAO,GAAY,KAAK,CAAC;QAEzB,cAAS,GAAY,KAAK,CAAC;QAE3B,gBAAW,GAAY,KAAK,CAAC;QAI7B,sBAAiB,GAAW,CAAC,CAAC;QAE9B,4BAAuB,GAAW,CAAC,CAAC;QAEpC,iBAAY,GAAa,EAAE,CAAC;QAI5B,cAAS,GAAW,EAAE,CAAC;QAEvB,aAAQ,GAAW,EAAE,CAAC;QAEtB,eAAU,GAAW,EAAE,CAAC;QAExB,YAAO,GAAG,wEAAW,CAAC,OAAO,CAAC;QAE9B,YAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAExC,UAAK,GAAY,IAAI,CAAC;QAIf,mBAAc,GAAQ,CAAC,CAAC;QA6B/B,cAAS,GAAW,EAAE,CAAC;QACvB,iBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAa,GAAW,EAAE,CAAC;QAC3B,oBAAe,GAAW,EAAE,CAAC;QAC7B,cAAS,GAAW,EAAE,CAAC;QACvB,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAW,EAAE,CAAC;QACtB,oBAAe,GAAW,EAAE,CAAC;QAC7B,2BAAsB,GAAW,EAAE,CAAC;QAkLpC,cAAS,GAAoB,EAAE,CAAC;QAlM9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAlGD,WAAW;QACT,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAkGD,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;QACjF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACzE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,CAAC,sBAAsB,GAAG,wEAAW,CAAC,WAAW,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,8BAA8B;QAC9B,qDAAqD;QAErD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,qCAAqC;QACrC,+EAAc,CAAC,WAAW,CAAC,wEAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,+EAAc,CAAC,WAAW,CACxB,+EAAc,CAAC,WAAW,EAAE,IAAI,EAAE;YAChC,CAAC,CAAC,+EAAc,CAAC,WAAW,EAAE;YAC9B,CAAC,CAAC,wEAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CACpC,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,eAAe,GAAG,+EAAc,CAAC,oBAAoB,EAAE,CAAC;QAE9D,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACnD,IAAI,IAAI,IAAI,eAAe,IAAI,MAAM,EAAE;gBACrC,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,eAAe,IAAI,MAAM,EAAE;YAC7B,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YAEjC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,iBAAiB,EACjB,4BAA4B,EAC5B,KAAK,EACL,8CAA8C,EAC9C,KAAK,CACN,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,4CAA4C;IAC5C,aAAa;QACX,IAAI,eAAe,GAAgB,QAAQ,CAAC,cAAc,CACxD,WAAW,CACG,CAAC;QACjB,eAAe,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CACzE,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CACrC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CACpC,CACF,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,IAAS;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,aAAa;QACX,8DAA8D;QAC9D,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,eAAe;SAC7B,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEtC,MAAM,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE;gBAChD,8DAA8D;gBAE9D,4DAA4D;gBAC5D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;aAC9C;QACH,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,aAAa;SAC3B,CAAC;QAEF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEtC,MAAM,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;YAChC,IACE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,gBAAgB;gBAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,aAAa,EACvC;gBACA,yCAAyC;gBAEzC,iDAAiD;gBACjD,4CAA4C;gBAC5C,gDAAgD;gBAEhD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;oBACnB,IAAI;wBACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;qBACzC;oBAAC,OAAO,CAAC,EAAE,GAAG;iBAChB;aACF;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE;gBACvD,8DAA8D;gBAE9D,4DAA4D;gBAC5D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;aAC9C;QACH,CAAC,CAAC;IACJ,CAAC;IACD;;OAEG;IACH,YAAY;QACV,IAAI,WAAW,GAAG,cAAc,CAAC;QACjC,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,WAAW;SACzB,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;IACD;;OAEG;IACH,WAAW;QACT,IAAI,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,WAAW;SACzB,CAAC;QACF,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAGD,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAgB,EAAE,EAAE;gBAC1C,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;YAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK;aACb;SACF;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;YAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,eAAe,EAAE;gBAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;oBACrB,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,OAAO,EAAE,CAAC;qBAChB;yBAAM;wBACL,gEAAQ,CAAC,IAAI,CAAC,yDAAyD,EAAE,IAAI,CAAC;qBAC/E;iBACF;aACF;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnD;IACH,CAAC;IACD,OAAO;QACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,WAAW;aACb,eAAe,EAAE;aACjB,IAAI,CAAC,8DAAO,CAAC,KAAK,CAAC,CAAC;aACpB,SAAS,EAAE;aACX,IAAI,CACH,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChE,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,IAAI,CACL,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;YAC/D,iHAAiH;YACjH,sCAAsC;YACtC,gEAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC,CACF,CAAC;IACN,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;;oFA9WU,kBAAkB;kGAAlB,kBAAkB;kEAiBlB,gHAAyB;kEAGzB,sIAA+B;kEAG/B,yGAAsB;;;;;;;QCpDnC,gFAA0B;QACxB,yEAAwB;QACtB,yEAA+D;QAC7D,0EACG;QAAA,qEACF;QAAA,4DAAO;QACR,2EAWE;QAJA,wLAAsB;QAPxB,4DAWE;QACJ,4DAAM;QACR,4DAAM;QACN,yEAAwB;QACtB,yEAA+C;QAC7C,0EACG;QAAA,sEACF;QAAA,4DAAO;QACR,4EAWE;QAHA,yLAAsB;QARxB,4DAWE;QAEF,2EAAuE;QACrE,8EAGC;QACC,4EAGC;QADC,yIAAS,oBAAgB,IAAC;QAC3B,4DAAO;QACV,4DAAS;QACX,4DAAO;QACT,4DAAM;QACR,4DAAM;QACN,uEAAK;QACH,2EAA+B;QAC7B,iHAYM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QAEP,iHAKM;QAEN,2EAAqB;QACnB,qEAAG;QAAA,wDAA4C;QAAA,4DAAI;QACnD,qEAAG;QAAA,wDAAmC;QAAA,4DAAI;QAC1C,qEAAG;QAAA,wDAAuC;QAAA,4DAAI;QAC9C,qEAAG;QAAA,wDAAkD;QAAA,4DAAI;QAC3D,4DAAM;QAEN,2EAAmB;QAAA,wDAAiB;QAAA,4DAAM;QAC1C,4FAAuE;QACvE,wFAA+D;QAC/D,gGAA+E;QAC/E,sFAA2D;;QAzEnD,0DAA4B;QAA5B,gGAA4B;QAL5B,iFAAoB;QAkBpB,0DAAgC;QAAhC,oGAAgC;QAChC,oGAAuC;QAenC,0DAAwD;QAAxD,qHAAwD;QASlC,0DAAkB;QAAlB,kFAAkB;QAiB1B,0DAAe;QAAf,+EAAe;QAQpC,0DAA4C;QAA5C,wHAA4C;QAC5C,0DAAmC;QAAnC,+GAAmC;QACnC,0DAAuC;QAAvC,mHAAuC;QACvC,0DAAkD;QAAlD,8HAAkD;QAGpC,0DAAiB;QAAjB,gFAAiB;QACT,0DAAe;QAAf,wEAAe;QACnB,0DAAe;QAAf,wEAAe;QACP,0DAAe;QAAf,wEAAe;QACzB,0DAAe;QAAf,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFsB;AA+Ba;AACO;AAGL;AAY5B;;;;;;;;AAOtC,MAAM,cAAc;IAgDzB,YACmB,MAAkB,EAClB,GAAe,EACf,QAAyB,EACzB,MAAqB,EACrB,WAA+B,EAC/B,QAAyB;QALzB,WAAM,GAAN,MAAM,CAAY;QAClB,QAAG,GAAH,GAAG,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,aAAQ,GAAR,QAAQ,CAAiB;QArDrC,eAAU,GAAW,CAAC,CAAC;QAEvB,aAAQ,GAAW,CAAC,CAAC;QAErB,aAAQ,GAAW,CAAC,CAAC;QAErB,aAAQ,GAAW,CAAC,CAAC;QAErB,WAAM,GAAW,CAAC,CAAC;QAEnB,gBAAW,GAAW,CAAC,CAAC;QAExB,eAAU,GAAY,KAAK,CAAC;QAE5B,mBAAc,GAAW,CAAC,CAAC;QAE3B,gBAAW,GAAW,CAAC,CAAC;QAExB,mBAAc,GAAW,EAAE,CAAC;QAE5B,eAAU,GAAW,EAAE,CAAC;QAExB,cAAS,GAAW,CAAC,CAAC,CAAC,uCAAuC;QAE9D,iBAAY,GAAW,CAAC,CAAC;QAEzB,iBAAY,GAAW,OAAO,CAAC;QAE/B,kBAAa,GAAW,EAAE,CAAC;QAE3B,qBAAgB,GAAW,YAAY,CAAC;QAExC,mBAAc,GAAY,KAAK,CAAC;QAEhC,qBAAgB,GAAY,KAAK,CAAC;QAElC,0BAAqB,GAAW,GAAG,CAAC;QAEpC,uBAAkB,GAAW,GAAG,CAAC;QAEjC,mBAAc,GAAG,EAAE,CAAC;QAEpB,eAAU,GAAW,GAAG,CAAC;QAEzB,4BAAuB,GAAW,GAAG,CAAC;QACtC,yBAAoB,GAAW,GAAG,CAAC;IAStC,CAAC;IAEL,gBAAgB;QACd,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAExE,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE;YAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAE/D,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,4CAA4C;IAC5C,iBAAiB;QACf,IAAI,aAAa,GAAG,IAAI,IAAI,CAC1B,kEAAU,CACR,IAAI,IAAI,CAAC,sFAAc,CAAC,0BAA0B,EAAE,CAAC,EACrD,YAAY,EACZ,OAAO,CACR,CACF,CAAC,OAAO,EAAE,CAAC;QACZ,IAAI,KAAK,GAAG,kEAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,WAAW,GAAG,aAAa,EAAE;YAC/B,sFAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACtC,sFAAc,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SAClD;QACD,MAAM,eAAe,GAAG,sFAAc,CAAC,iBAAiB,EAAE,CAAC;QAE3D,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,sFAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CACV,QAAgB,EAChB,QAAa,EACb,QAAgB,EAChB,eAAoB,EACpB,aAAqB,EACrB,MAAc,EACd,WAAmB,EAAE,0CAA0C;IAC/D,sBAAqD;QAErD,OAAO,IAAI,OAAO,CAAe,CAAO,OAAO,EAAE,EAAE,CAAC;;YAClD,MAAM,WAAW,GAAG,EAAkB,CAAC;YAEvC,MAAM,iBAAiB,GAAG,EAAsB,CAAC;YAEjD,MAAM,QAAQ,GAAG,sFAAc,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,sFAAc,CAAC,YAAY,EAAE,CAAC;YAEhD,MAAM,QAAQ,GAAG,uEAAe,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE1C,sFAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,WAAW,GAAG,uEAAe,CAAC,SAAS,EAAE,CAAC;YAEhD,MAAM,YAAY,GAAG,CAAC,CAAC;YACvB,yDAAyD;YACzD,8EAA8E;YAC9E,MAAM,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,aAAa,GACjB,sFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;gBACrC,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,MAAM,CAAC,sFAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEhD,IAAI,cAAc,GAAG,sFAAc,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,WAAW,GACb,cAAc,IAAI,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAExE,MAAM,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;YAClD,MAAM,YAAY,GAAW,IAAI,CAAC,eAAe,EAAE,CAAC;YAEpD,cAAc;YACd,QAAQ,GAAG,uEAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,WAAW,GAAG,uEAAe,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,GAAG,uEAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAE5D,QAAQ,GAAG,uEAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnD,yEAAyE;YACzE,IAAI,aAAa,GAAG,uEAAe,CAAC,UAAU,CAC5C,IAAI,CAAC,QAAQ,GAAG,aAAa,EAC7B,CAAC,CACF,CAAC;YAEF,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAElE,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,WAAW,EAAE;gBACf,WAAW,IAAI,GAAG,CAAC;aACpB;YAED,IAAI,UAAU,GAAG,uEAAe,CAAC,UAAU,CACzC,QAAQ;gBACR,WAAW;gBACX,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,aAAa;gBACb,IAAI,CAAC,kBAAkB;gBACvB,WAAW,EACX,CAAC,CACF,CAAC;YAEF,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBAClB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC3C,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChD,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/C,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAChD,UAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,0CAAE,SAAS,EAAE;oBAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC;iBACjE;gBACD,IACE,IAAI,CAAC,GAAG,CAAC,aAAa;oBACtB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU;oBACjC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ;oBAC1C,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,EAC9C;oBACA,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC;iBAC5D;aACF;YACD,IAAI,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;gBACnD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC7B,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,EAAE;wBAClE,QAAQ;4BACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC;gCACtD,aAAa;gCACb,MAAM,CAAC;qBACV;iBACF;qBAAM;oBACL,IACE,CAAC,KAAK,CACJ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CACnE,EACD;wBACA,QAAQ,GAAG,MAAM,CACf,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,0BAA0B,CAC3D,CAAC;qBACH;iBACF;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,EAAE;oBACnE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;oBACnE,aAAa,GAAG,QAAQ,CAAC;iBAC1B;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,EAAE;oBAClE,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;iBACrE;aACF;YACD,QAAQ,GAAG,uEAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,QAAQ,CAAC;YAElC,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CACtD,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,CACb,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAC5C,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAC1D,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,EAClD,UAAU,EACV,cAAc,CACf,CAAC;YAEF,IAAI,gBAAgB,GAAW,sFAAc,CAAC,gBAAgB,EAAE,CAAC;YACjE,IAAI,aAAa,GAAW,GAAG,CAAC;YAChC,IAAI,gBAAgB,IAAI,IAAI,IAAI,eAAe,EAAE;gBAC/C,IAAI,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACnC,eAAe,CACe,CAAC;gBACjC,IAAI,oBAAoB,EAAE;oBACxB,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACzC,oBAAoB,CAAC,aAAa,CACnC,CAAC;iBACH;aACF;iBAAM,IAAI,gBAAgB,IAAI,IAAI,EAAE;aACpC;iBAAM,IAAI,gBAAgB,IAAI,IAAI,EAAE;gBACnC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACrC,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAEzD,IAAI,OAAO,GAAG,EAAE;oBACd,CAAC,CAAC,WAAW;yBACV,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;yBAClC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,QAAQ,EAAE;oBACtC,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE7B,gBAAgB;gBAChB,KAAK,IAAI,OAAO,IAAI,GAAG,EAAE;oBACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;wBACtD,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;4BACtD,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACpC,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBACvD;qBACF;iBACF;aACF;YAED,MAAM,4BAA4B,GAAG,IAAI,CAAC,+BAA+B,CACvE,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,sBAAsB,CACvB,CAAC;YAEF,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,YAAY,CAAC,aAAa,GAAG,QAAQ,CAAC;YACtC,YAAY,CAAC,kBAAkB,GAAG,SAAS,CAAC;YAC5C,MAAM,iBAAiB,GAAG;gBACxB,OAAO,EAAE,CAAC;gBACV,cAAc,EAAE,SAAS;gBACzB,OAAO,EACL,sFAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE;oBACvC,CAAC,CAAC,MAAM,CAAC,sFAAc,CAAC,kBAAkB,EAAE,CAAC;oBAC7C,CAAC,CAAC,CAAC;gBACP,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,aAAa;gBAC5B,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,UAAU;gBACtB,aAAa,EACX,sFAAc,CAAC,gBAAgB,EAAE,IAAI,GAAG;oBACtC,sFAAc,CAAC,gBAAgB,EAAE,IAAI,IAAI;oBACzC,sFAAc,CAAC,gBAAgB,EAAE,IAAI,IAAI;oBACzC,sFAAc,CAAC,gBAAgB,EAAE,IAAI,IAAI;oBACzC,sFAAc,CAAC,gBAAgB,EAAE,IAAI,GAAG;oBACxC,sFAAc,CAAC,gBAAgB,EAAE,IAAI,IAAI;oBACzC,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,sFAAc,CAAC,6BAA6B,EAAE;wBAC9C,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,GAAG;gBACX,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,aAAa,GAAG,MAAM;gBACrC,eAAe,EAAE,EAAE;gBAEnB,YAAY;gBACZ,cAAc,EAAE,WAAW;gBAE3B,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,KAAK;gBACjB,cAAc,EAAE,GAAG;gBACnB,eAAe,EAAE,EAAE;gBACnB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;gBACnC,iBAAiB,EAAE,EAAE;gBACrB,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,GAAG;gBACjB,aAAa,EACX,sFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;oBACrC,CAAC,CAAC,sFAAc,CAAC,gBAAgB,EAAE;oBACnC,CAAC,CAAC,GAAG;gBACT,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;gBACpC,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,GAAG;gBAChB,YAAY,EAAE,GAAG;gBACjB,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,gBAAgB,EAAE,gBAAgB;gBAClC,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE;gBAChD,WAAW,EAAE,WAAW,GAAG,sFAAc,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE;gBACxF,YAAY,EAAE,WAAW;gBACzB,YAAY,EAAE,WAAW;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,CAAC;gBAClB,6BAA6B,EAAE,CAAC;gBAChC,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,KAAK;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,mBAAmB,EACjB,sFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;oBACrC,CAAC,CAAC,MAAM,CAAC,sFAAc,CAAC,gBAAgB,EAAE,CAAC;oBAC3C,CAAC,CAAC,CAAC;gBACP,aAAa,EAAE,sFAAc,CAAC,SAAS,EAAE;gBACzC,eAAe,EAAE,sFAAc,CAAC,kBAAkB,EAAE;gBACpD,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,WAAW,EAAE,KAAK;gBAClB,kBAAkB,EAAE,EAAE;gBACtB,iBAAiB,EAAE,GAAG;gBACtB,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,KAAK;gBACvB,qBAAqB,EAAE,GAAG;gBAC1B,kBAAkB,EAAE,GAAG;gBACvB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;gBACrD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,mBAAmB,EAAE,IAAI,CAAC,cAAc;gBACxC,sBAAsB,EAAE,IAAI,CAAC,UAAU;gBACvC,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,YAAY;gBAC1B,eAAe,EAAE,GAAG;gBACpB,sBAAsB,EAAE,GAAG;gBAC3B,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,qBAAqB,EAAE,CAAC;gBACxB,iBAAiB,EAAE,CAAC;gBACpB,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,KAAK;gBACnB,mBAAmB,EAAE,EAAE;gBACvB,SAAS,EAAE,EAAE;gBACb,oBAAoB,EAAE,GAAG;gBACzB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,iBAAiB;gBACjC,4BAA4B,EAAE,4BAA4B;gBAC1D,cAAc,EAAE,EAA0B;gBAC1C,oBAAoB,EAAE,EAA2B;gBACjD,aAAa,EAAE,EAAwB;gBACvC,oBAAoB,EAAE,EAA+B;gBACrD,eAAe,EAAE,YAAY;gBAC7B,gBAAgB,EAAE,EAA2B;gBAC7C,yBAAyB,EAAE,EAAoC;gBAC/D,wBAAwB,EAAE,EAAmC;gBAC7D,cAAc,EAAE,4BAA4B;gBAC5C,yBAAyB,EAAE,CAAC,YAAY,CAAC;gBACzC,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;aACA,CAAC;YAEpB,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC1C,WAAW,CAAC,WAAW,GAAG,iBAAiB,CAAC;YAC5C,WAAW,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAElC,OAAO,CAAC,WAAW,CAAC,CAAC;QACvB,CAAC,EAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,IAAI,YAAY,GAAG,sFAAc,CAAC,eAAe,EAAE,CAAC;QAEpD,IAAI,YAAY,IAAI,EAAE,EAAE;YACtB,YAAY;gBACV,sFAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE;oBACzC,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,sFAAc,CAAC,oBAAoB,EAAE,CAAC;SAC7C;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,iBAAiB;QACvB,IAAI,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QAEtD,IAAI,aAAa,IAAI,EAAE,EAAE;YACvB,aAAa;gBACX,sFAAc,CAAC,sBAAsB,EAAE,IAAI,EAAE;oBAC3C,CAAC,CAAC,IAAI,CAAC,gBAAgB;oBACvB,CAAC,CAAC,sFAAc,CAAC,sBAAsB,EAAE,CAAC;SAC/C;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,gBAAgB;QACtB,IAAI,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QAEtD,IAAI,aAAa,IAAI,EAAE,EAAE;YACvB,aAAa,GAAG,sFAAc,CAAC,qBAAqB,EAAE,CAAC;SACxD;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,yBAAyB,CAC/B,gBAAwB,EACxB,SAAiB,EACjB,QAAgB,EAChB,UAAkB,EAClB,YAAoB;QAEpB,MAAM,WAAW,GAAG,uEAAe,CAAC,OAAO,EAAE,CAAC;QAE9C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE1C,MAAM,iBAAiB,GAAoB;YACzC,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,UAAU;YACtB,oBAAoB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;YACjB,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,WAAW,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YAC/B,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YAC5B,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE;YACxB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,GAAG;YACzB,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,EAAE;YACb,eAAe,EAAE,EAAE;YACnB,iBAAiB,EAAE,EAAE;YACrB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;YACjB,mBAAmB,EAAE,EAAE;YACvB,oBAAoB,EAAE,EAAE;YACxB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,EAAE;YACrB,QAAQ,EAAE,sFAAc,CAAC,WAAW,EAAE;YACtC,gCAAgC,EAC9B,sFAAc,CAAC,mCAAmC,EAAE;YACtD,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,eAAe,CACrB,OAAe,EACf,aAAqB,EACrB,YAAoB;;QAEpB,MAAM,SAAS,GAAG,EAAkC,CAAC;QAErD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACtD,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;QAE/B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE;gBAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE;oBAC/B,MAAM,mBAAmB,SAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,0CAAE,MAAM,CAC5D,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI,CACzD,CAAC;oBAEF,IACE,mBAAmB,IAAI,SAAS;wBAChC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAC9B;wBACA,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAC1C,mBAAmB,EACnB,aAAa,EACb,YAAY,CACb,CAAC;wBAEF,IAAI,QAAQ,EAAE;4BACZ,KAAK,IAAI,MAAM,IAAI,QAAQ,EAAE;gCAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;6BACxB;yBACF;qBACF;iBACF;aACF;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAC5B,IAA2C,EAC3C,aAAqB,EACrB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,EAAkC,CAAC;QAEpD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE7B,IAAI,QAAQ,CAAC,YAAY,EAAE;oBACzB,MAAM,aAAa,GAAG,QAAgC,CAAC;oBAEvD,IACE,CAAC,CACC,CAAC,CAAC,aAAa,CAAC,SAAS,IAAI,MAAM;wBACjC,aAAa,CAAC,WAAW,IAAI,OAAO;wBACpC,aAAa,CAAC,UAAU,CAAC;wBACzB,CAAC,aAAa,CAAC,SAAS,IAAI,MAAM;4BAChC,aAAa,CAAC,WAAW,IAAI,MAAM;4BACnC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;wBAC/B,sFAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAChD,EACD;wBACA,IAAI,aAAa,CAAC,UAAU,IAAI,aAAa,CAAC,kBAAkB,EAAE;4BAChE,IAAI,aAAa,CAAC,cAAc,IAAI,MAAM,EAAE;gCAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAC1C,aAAa,EACb,aAAa,EACb,YAAY,CACb,CAAC;gCACF,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACpB;yBACF;qBACF;iBACF;qBAAM;oBACL,MAAM,WAAW,GAAG,QAAsB,CAAC;oBAE3C,IAAI,WAAW,CAAC,UAAU,EAAE;wBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CACzC,WAAW,CAAC,WAAW,EACvB,aAAa,EACb,YAAY,CACmB,CAAC;wBAClC,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;4BACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACpB;qBACF;iBACF;aACF;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,4DAA4D,UAAU,GAAG,CAAC;YAE5F,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,KAAU,EAAE,EAAE,GAAG,CAAC,CAAC;YAEtD,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC3C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,OAAO,EACP,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,YAAoB;QACpC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,sDAAsD,YAAY,GAAG,CAAC;YAExF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,KAAU,EAAE,EAAE;gBAC/C,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChE,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC3C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CACjC,SAAS,EACT,EAAE,EACF,OAAO,EACP,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CACjC,WAAiC,EACjC,aAAqB,EACrB,YAAoB;QAEpB,MAAM,UAAU,GACd,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,MAAM,eAAe,GAAG;YACtB,QAAQ,EAAE,uEAAe,CAAC,aAAa,EAAE;YACzC,aAAa,EAAE,aAAa;YAC5B,iBAAiB,EAAE,YAAY;YAC/B,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,MAAM;YAC1C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1C,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,cAAc,EAAE,WAAW,CAAC,WAAW;gBACrC,CAAC,CAAC,WAAW,CAAC,WAAW;gBACzB,CAAC,CAAC,WAAW,CAAC,IAAI;YACpB,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,MAAM;YAC1C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;YAClD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;YACrC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,UAAU,EAAE,sFAAc,CAAC,6BAA6B,EAAE;gBACxD,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,UAAU;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,CAAC;YACV,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,mBAAmB,EAAE,GAAG;YACxB,iBAAiB,EAAE,WAAW,CAAC,QAAQ;YACvC,UAAU,EAAE,CAAC;SACgB,CAAC;QAEhC,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,oBAAoB,CAC1B,SAAmB,EACnB,aAAqB,EACrB,SAAiB,EACjB,QAAgB;;QAEhB,MAAM,WAAW,GAAG,uEAAe,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,EAA0B,CAAC;QAEhD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAW,CAAC;YAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,YAAY,eAAG,SAAS,CAAC,KAAK,CAAC,0CAAE,YAAY,mCAAI,KAAK,CAAC;YAE7D,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBACnC,IAAI,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAEpE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CACpC,OAAO,EACP,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,KAAK,EACL,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,CACZ,CAAC;gBACF,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEhC,MAAM,kBAAkB,GACtB,YAAY,CAAC,QAAQ,IAAI,IAAI;oBAC3B,CAAC,CAAC,uEAAe,CAAC,aAAa,EAAE;oBACjC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC/C,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,SAAS,EAAE;wBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gCAC5B,IAAI,aAAa,GACf,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oCAC3D,CAAC,CAAC,IAAI;oCACN,CAAC,CAAC,KAAK,CAAC;gCAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CACjC,UAAU,CAAC,CAAC,CAAC,EACb,WAAW,EACX,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,IAAI,EACJ,aAAa,CACd,CAAC;gCACF,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;6BAC9B;yBACF;qBACF;iBACF;aACF;iBAAM;gBACL,IAAI,aAAa,GACf,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAEnE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CACpC,OAAO,EACP,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,KAAK,EACL,aAAa,CACd,CAAC;gBACF,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACjC;SACF;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,YAAY,CAClB,OAAe,EACf,WAAmB,EACnB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,EACjB,OAAgB,EAChB,OAAe,EACf,cAAuB,KAAK,EAC5B,cAAuB,IAAI;QAE3B,MAAM,YAAY,GAAG,uEAAe,CAAC,aAAa,EAAE,CAAC;QAErD,IAAI,eAAe,GAAG,GAAG,CAAC;QAC1B,IAAI,qBAAqB,GAAG,GAAG,CAAC;QAEhC,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAoB,CAAC;gBAEvE,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC;gBACnD,qBAAqB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;aAChE;SACF;QAED,IAAI,eAAe,GAAG,EAAkC,CAAC;QACzD,IAAI,WAAW,EAAE;YACf,eAAe,GAAG,IAAI,CAAC,eAAe,CACpC,OAAO,EACP,aAAa,EACb,YAAY,CACb,CAAC;SACH;QAED,MAAM,cAAc,GAClB,CAAC,OAAO,CAAC,WAAW,GAAG,uEAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC;QAEtE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CACvC,OAAO,EACP,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,eAAe,CACrB,OAAe,EACf,YAAoB,EACpB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,EACjB,WAAmB,EACnB,eAAuB,EACvB,qBAA6B,EAC7B,eAA6C,EAC7C,cAAsB,EACtB,OAAgB,EAChB,OAAe,EACf,WAAoB;;QAEpB,YAAY;QACZ,MAAM,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;QAClD,IAAI,UAAU,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC9B;QAED,IAAI,QAAQ,GAAW,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,cAAc,GAAG,uEAAe,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;QACtE,IAAI,YAAY,GACd,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,IAAI,OAAO,GAAG,MAAM,CAClB,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAChE,CAAC;QACF,0CAA0C;QAC1C,MAAM,YAAY,GAAG;YACnB,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,aAAa;YAC5B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,eAAe;YAChC,qBAAqB,EAAE,qBAAqB;YAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YACvD,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,OAAO,CAAC,aAAa;YAC7B,SAAS,EAAE,cAAc;YACzB,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAC1C,uBAAuB,EAAE,eAAe;YACxC,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE;YACjC,UAAU,EACR,OAAO,CAAC,UAAU,IAAI,SAAS,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI;gBAC3D,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC,UAAU;YACxB,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC/B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,kBAAkB,EAAE,OAAO,CAAC,WAAW;YACvC,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,gBAAgB,EAAE,OAAO,CAAC,cAAc;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,4BAA4B,EAAE,EAAE;YAChC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,6BAA6B,EAAE,OAAO,CAAC,gBAAgB;gBACrD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAClC,CAAC,CAAC,CAAC;YACL,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC;YACT,mBAAmB,EAAE,CAAC;YACtB,oBAAoB,EAAE,EAAE;YACxB,QAAQ,EAAE,CAAC;YACX,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,EAAE;YAClB,kBAAkB,EAAE,EAAE;YACtB,eAAe,EAAE,EAAE;YACnB,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,KAAK;YACtB,kBAAkB,EAAE,KAAK;YACzB,aAAa,EAAE,OAAO,CAAC,qBAAqB;YAC5C,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,4BAA4B,EAAE,KAAK;YACnC,SAAS,EAAE,KAAK;YAChB,uBAAuB,EAAE,CAAC;YAC1B,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,EAAE;YACnB,mBAAmB,EAAE,CAAC;YACtB,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,EAAE;YACrB,qBAAqB,EAAE,EAAE;YACzB,iBAAiB,EAAE,EAAE;YACrB,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,CAAC,eAAe;gBAC9B,CAAC,OAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mCAAI,CAAC,CACtC,CAAC,CAAC,CAAC;YACL,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;YAChB,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACjC,CAAC;QAExB,OAAO,YAAY,CAAC;IACtB,CAAC;IAEK,oBAAoB,CAAC,OAAmB,EAAE,OAAqB;;YACnE,4EAA4E;YAC5E,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,cAAc,CACnE,OAAO,CACR,CAAC;YAEF,0DAA0D;YAC1D,IAAI,SAAS,GAAG,sFAAc,CAAC,YAAY,EAAE,CAAC;YAC9C,SAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACzE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE9D,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,OAAO,CAAC;gBAChD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa;wBACnC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACvC;gBACD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACzE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC;gBAC5C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAClD;YAED,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACrC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;gBACpC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBACnC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE9D,IAAI,OAAO,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC;gBACjD,IAAI,CAAC,sCAAsC,CACzC,OAAO,CAAC,4BAA4B,CACrC,CAAC;YAEJ,IAAI,sFAAc,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC9C,gCAAgC;gBAChC,IAAI,mBAAmB,GAA0B,EAAE,CAAC;gBACpD,IAAI,sBAAsB,GAAQ,sFAAc,CAAC,kBAAkB,EAAE,CAAC;gBACtE,IAAI;oBACF,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBACzD,mBAAmB,CAAC,IAAI,CAAC;wBACvB,aAAa,EAAE,sFAAc,CAAC,gBAAgB,EAAE;wBAChD,UAAU,EAAE,eAAe,CAAC,QAAQ;wBACpC,WAAW,EAAE,eAAe,CAAC,aAAa;wBAC1C,WAAW,EAAE,eAAe,CAAC,YAAY;wBACzC,aAAa,EAAE,eAAe,CAAC,MAAM;wBACrC,WAAW,EAAE,eAAe,CAAC,aAAa;wBAC1C,YAAY,EAAE,eAAe,CAAC,aAAa;wBAC3C,MAAM,EAAE,eAAe,CAAC,MAAM;wBAC9B,cAAc,EAAE,eAAe,CAAC,YAAY;qBAC7C,CAAC,CAAC;oBACH,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;iBACxD;gBAAC,OAAO,KAAK,EAAE,GAAG;aACpB;iBAAM,IAAI,sFAAc,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBACrD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,sFAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,gCAAgC;gBAC9F,IAAI,mBAAmB,GAA0B,EAAE,CAAC;gBAEpD,IAAI,UAAU,GAAG,YAAY,CAAC;gBAC9B,IAAI,WAAW,GAAG,EAAE,CAAC;gBAErB,IACE,MAAM,CAAC,OAAO,CAAC,eAAe;oBAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,KAAK,WAAW,EACrD;oBACA,UAAU;wBACR,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM;4BACrC,QAAQ;4BACR,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC;oBACvC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;iBACvD;gBAED,mBAAmB,CAAC,IAAI,CAAC;oBACvB,aAAa,EAAE,sFAAc,CAAC,gBAAgB,EAAE;oBAChD,UAAU,EAAE,UAAU;oBACtB,WAAW,EAAE,WAAW;oBACxB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;oBACxC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB;oBAC/C,WAAW,EAAE,EAAE;oBACf,YAAY,EAAE,EAAE;oBAChB,MAAM,EAAE,EAAE;oBACV,cAAc,EAAE,CACd,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAClE,GAAG,CACJ,CAAC,OAAO,CAAC,CAAC,CAAC;iBACb,CAAC,CAAC;gBACH,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;aACxD;YAED,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;KAAA;IAEO,qBAAqB,CAAC,YAA8B;QAC1D,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,gDAAgD,EAChD,sDAAsD,EACtD,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,2CAA2C,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,SAAS,GAAG,4BAA4B,CAAC;YAC7C,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,MAAM,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE5C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,gBAAsC,EACtC,eAAiC;QAEjC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IACE,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ;wBAC5B,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC9C;wBACA,gBAAgB,CAAC,CAAC,CAAC,CAAC,sBAAsB;4BACxC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;qBAChE;iBACF;aACF;SACF;QAAC,OAAO,CAAC,EAAE,GAAG;QAEf,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,oDAAoD,EACpD,0DAA0D,EAC1D,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,+CAA+C,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,gCAAgC,CAAC;YACjD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,2BAA2B,CACjC,uBAAqD;QAErD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,4DAA4D,EAC5D,kEAAkE,EAClE,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,uDAAuD,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,wCAAwC,CAAC;YACzD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,cAAmC;QAClE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,oDAAoD,EACpD,0DAA0D,EAC1D,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,8CAA8C,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,+BAA+B,CAAC;YAChD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,8BAA8B,CACpC,oBAA+C;QAE/C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,yDAAyD,EACzD,+DAA+D,EAC/D,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,oDAAoD,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,qCAAqC,CAAC;YACtD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,sCAAsC,CAC5C,4BAA+D;QAE/D,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,iEAAiE,EACjE,uEAAuE,EACvE,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,4DAA4D,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1D,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,6CAA6C,CAAC;YAC9D,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,mCAAmC,CACzC,eAA+C;QAE/C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,8DAA8D,EAC9D,oEAAoE,EACpE,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,wDAAwD,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,yCAAyC,CAAC;YAC1D,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAEO,sCAAsC,CAC5C,aAA6C;QAE7C,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9C,OAAO;SACR;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,8DAA8D,EAC9D,oEAAoE,EACpE,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,2DAA2D,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,SAAS,GAAG,4CAA4C,CAAC;YAC7D,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAED,4BAA4B,CAAC,mBAA0C;QACrE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,uDAAuD,EACvD,6DAA6D,EAC7D,8BAA8B,EAC9B,KAAK,EACL,IAAI,CACL,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,SAAS,GAAG,GAAS,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,kDAAkD,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAChD,MAAM,IAAI,GAAG,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,SAAS,GAAG,mCAAmC,CAAC;YACpD,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,YAAY,CAAC;YAE1B,MAAM,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE5C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACtD,SAAS,IAAI,GAAG,CAAC;YAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,uEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;IACJ,CAAC;IAED,mBAAmB,CACjB,iBAA0B,KAAK,EAC/B,mBAA4B,KAAK,EACjC,wBAAgC,GAAG,EACnC,qBAA6B,GAAG;QAEhC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,mBAAmB,CAAC,SAAuB;QACzC,0BAA0B;QAC1B,MAAM,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CACrD,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CACzB,CAAC;QAEF,sBAAsB,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAY,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,CAAC,CAAyB,CAAC;QAEhE,MAAM,qBAAqB,GACzB,YAAY,CAAC,CAAC,CAAiC,CAAC;QAElD,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CACpD,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CACxC,CAAC;QAEF,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAE3E,MAAM,sBAAsB,GAC1B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;QAExD,sBAAsB,CAAC,CAAC,CAAC,CAAC,aAAa;YACrC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;QACnD,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;QACnD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YAEjE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpC,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;aACzD;SACF;QAED,IAAI,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAElD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAI,CAAC,mCAAmC,CAAC,eAAe,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,sCAAsC,CAAC,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAEO,mBAAmB,CAAC,WAA2B;QACrD,OAAO;YACL;gBACE,OAAO,EAAE,GAAG;gBACZ,WAAW,EAAC,WAAW,CAAC,WAAW;gBACnC,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,YAAY,EAAE,WAAW,CAAC,cAAc;gBACxC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACvC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACvC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC/C,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACrD,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC/C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,iBAAiB,EAAE,EAAE;gBACrB,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;gBAChD,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC/C,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;gBAC9C,YAAY,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACrD,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvD,6BAA6B,EAC3B,WAAW,CAAC,6BAA6B,CAAC,QAAQ,EAAE;gBACtD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACzD,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,eAAe,EAAE,WAAW,CAAC,eAAe;gBAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC/C,kBAAkB,EAAE,WAAW,CAAC,kBAAkB;gBAClD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE;gBAC/D,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBAC3D,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACzD,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE;gBACnE,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBAC7D,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACrD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACzD,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE;gBACnE,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBAC7D,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;gBAC5D,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;gBACtD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;gBACpD,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;gBAC1D,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvD,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvD,sBAAsB,EAAE,WAAW,CAAC,sBAAsB,CAAC,QAAQ,EAAE;gBACrE,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,qBAAqB,EAAE,EAAE;gBACzB,iBAAiB,EAAE,EAAE;gBACrB,mBAAmB,EAAE,EAAE;gBACvB,eAAe,EAAE,EAAE;gBACnB,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,oBAAoB,EAAE,EAAE;gBACxB,iBAAiB,EAAE,EAAE;gBACrB,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvD,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE;gBACnE,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBAC3D,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACrD,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACnD,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;gBACpD,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC/C,eAAe,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvD,aAAa,EAAE,OAAO;gBACtB,aAAa,EAAE,GAAG;gBAElB,cAAc,EAAE,WAAW,CAAC,cAAc;aAC3C;SACkB,CAAC;IACxB,CAAC;IAEO,qBAAqB,CAAC,WAA2B;;QACvD,MAAM,gBAAgB,GAAG,EAA0B,CAAC;QAEpD,MAAM,oBAAoB,GAAG,EAAkC,CAAC;QAEhE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvE,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,cAAc,GAAG,EAAwB,CAAC;YAC9C,cAAc,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACjE,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,cAAc,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACjE,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7D,cAAc,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3D,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvD,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvD,cAAc,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3D,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACnE,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7D,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvD,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,cAAc,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrE,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7D,cAAc,CAAC,mBAAmB;gBAChC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAC9C,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YAClD,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7D,cAAc,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACjE,cAAc,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;YAChE,cAAc,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3D,cAAc,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrE,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC7D,cAAc,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACvE,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACzE,cAAc,CAAC,oBAAoB;gBACjC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YAC/C,cAAc,CAAC,mBAAmB;gBAChC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAC9C,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU;gBACjD,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACpC,CAAC,CAAC,OAAO,CAAC;YACZ,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU;gBACjD,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACpC,CAAC,CAAC,GAAG,CAAC;YACR,cAAc,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc;gBACzD,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACxC,CAAC,CAAC,GAAG,CAAC;YACR,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACnE,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;YAC9D,cAAc,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc;gBACzD,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACxC,CAAC,CAAC,GAAG,CAAC;YACR,cAAc,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB;gBACjE,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBAC5C,CAAC,CAAC,GAAG,CAAC;YACR,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACvE,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;YAC9D,cAAc,CAAC,QAAQ;gBACrB,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxE,cAAc,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC3D,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,cAAc,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,cAAc,CAAC,uBAAuB;gBACpC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;YAClD,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,CAAC,aAAa,SAAG,YAAY,CAAC,aAAa,mCAAI,EAAE,CAAC;YAChE,cAAc,CAAC,QAAQ,SAAG,YAAY,CAAC,QAAQ,mCAAI,EAAE,CAAC;YACtD,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACzE,cAAc,CAAC,6BAA6B;gBAC1C,YAAY,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC;YACxD,cAAc,CAAC,iBAAiB,GAAG,EAAE,CAAC;YACtC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC1C,cAAc,CAAC,iBAAiB,GAAG,EAAE,CAAC;YACtC,cAAc,CAAC,gBAAgB,GAAG,EAAE,CAAC;YACrC,cAAc,CAAC,cAAc,GAAG,EAAE,CAAC;YACnC,cAAc,CAAC,kBAAkB,GAAG,EAAE,CAAC;YACvC,cAAc,CAAC,eAAe,GAAG,EAAE,CAAC;YACpC,cAAc,CAAC,cAAc,GAAG,EAAE,CAAC;YACnC,cAAc,CAAC,cAAc,GAAG,EAAE,CAAC;YACnC,cAAc,CAAC,cAAc,GAAG,EAAE,CAAC;YACnC,cAAc,CAAC,qBAAqB;gBAClC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YAChD,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACzE,cAAc,CAAC,qBAAqB;gBAClC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YAChD,cAAc,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa;gBACvD,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE;gBACvC,CAAC,CAAC,OAAO,CAAC;YACZ,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACzE,cAAc,CAAC,aAAa,GAAG,EAAE,CAAC;YAClC,cAAc,CAAC,4BAA4B;gBACzC,YAAY,CAAC,4BAA4B,CAAC,QAAQ,EAAE,CAAC;YACvD,cAAc,CAAC,mBAAmB;gBAChC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAC9C,cAAc,CAAC,YAAY;gBACzB,YAAY,CAAC,YAAY,IAAI,IAAI;oBAC/B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3C,cAAc,CAAC,kBAAkB;gBAC/B,YAAY,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAC7C,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY;gBACrD,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACtC,CAAC,CAAC,GAAG,CAAC;YACR,cAAc,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC/D,cAAc,CAAC,gBAAgB;gBAC7B,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC3C,cAAc,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe;gBAC3D,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACzC,CAAC,CAAC,GAAG,CAAC;YACR,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YAClD,cAAc,CAAC,gBAAgB;gBAC7B,YAAY,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC;YACxD,cAAc,CAAC,sBAAsB;gBACnC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;YAEjD,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEtC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAEhE,KACE,IAAI,aAAa,GAAG,CAAC,EACrB,aAAa,GAAG,eAAe,CAAC,MAAM,EACtC,aAAa,EAAE,EACf;gBACA,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;aAC3D;SACF;QAED,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAClD,CAAC;IAEO,oBAAoB,CAAC,SAA6B;QACxD,MAAM,oBAAoB,GAAG,EAAkC,CAAC;QAEhE,KACE,IAAI,KAAK,GAAG,CAAC,EACb,KAAK,GAAG,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAChD,KAAK,EAAE,EACP;YACA,MAAM,WAAW,GAAG,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAE7D,MAAM,QAAQ,GAAG;gBACf,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE;gBAC/D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACvC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC/C,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACzD,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,iBAAiB,EACf,WAAW,CAAC,iBAAiB,IAAI,IAAI;oBACnC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBAC9C,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACjD,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACzC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC7C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC3C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACvC,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;gBAChD,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACrC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBAC7D,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE;aACN,CAAC;YAEhC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEO,sBAAsB,CAAC,YAA6B;QAC1D,OAAO;YACL;gBACE,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,OAAO,EACL,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACtE,SAAS,EAAE,EAAE;gBACb,UAAU,EACR,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU;gBACjE,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ;gBACrE,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC1C,oBAAoB,EAAE,EAAE;gBACxB,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC5C,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC5C,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC9C,UAAU,EAAE,YAAY,CAAC,QAAQ;gBACjC,oBAAoB,EAAE,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBAClE,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACtD,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,GAAG,EAAE,YAAY,CAAC,GAAG;gBACrB,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,aAAa,EACX,YAAY,CAAC,aAAa,IAAI,IAAI;oBAChC,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAC3C,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACtC,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,UAAU,EACR,YAAY,CAAC,UAAU,IAAI,IAAI;oBAC7B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACxC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,eAAe,EAAE,YAAY,CAAC,eAAe;gBAC7C,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;gBACjD,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC5C,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,aAAa,EAAE,YAAY,CAAC,aAAa;gBACzC,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;gBACvD,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,OAAO,EACL,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACtE,SAAS,EAAE,EAAE;gBACb,UAAU,EACR,YAAY,CAAC,UAAU,IAAI,IAAI;oBAC7B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACxC,YAAY,EAAE,EAAE;gBAChB,QAAQ,EACN,YAAY,CAAC,QAAQ,IAAI,IAAI;oBAC3B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtC,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;gBACvD,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,SAAS,EACP,YAAY,CAAC,SAAS,IAAI,IAAI;oBAC5B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACvC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACxC,YAAY,EAAE,YAAY,CAAC,YAAY;gBACvC,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;gBACjD,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC5C,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,OAAO,EAAE,YAAY,CAAC,OAAO;aAC9B;SACqB,CAAC;IAC3B,CAAC;IAED,cAAc;IACN,sBAAsB;QAC5B,OAAO;YACL,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,GAAG;SACa,CAAC;IAC/B,CAAC;IAEO,wBAAwB;QAC9B,OAAO;YACL,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE;YACd,gBAAgB,EAAE,EAAE;YACpB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAC/B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,MAAM,GAAG,6EAA6E,QAAQ,IAAI,CAAC;YACvG,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,KAAU,EAAE,EAAE;gBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;iBACxC;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;YACH,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B,CAC7B,KAAe,EACf,QAAgB,EAChB,WAAmB,EACnB,aAAqB,EACrB,UAAkB,EAClB,QAAgB,EAChB,aAAqB,EACrB,aAAqB,EACrB,6BAA4D;;QAE5D,IAAI,iBAAiB,GAAU,EAAE,CAAC;QAClC,IAAI,mBAAmB,GAAmC,EAAE,CAAC;QAE7D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACvB,iBAAiB,CAAC,IAAI,CAAC;gBACrB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;aACrC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,GAAG;YACd,GAAG,IAAI,GAAG,CACR,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC,CAClE,CAAC,MAAM,EAAE;SACX,CAAC;QACF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrD,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAClD,CAAC;YAEF,IAAI,WAAW,GAAW,CAAC,CAAC;YAE5B,IAAI,kBAAkB,GAAG,6BAA6B,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAClD,CAAC;YAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACtD;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI,MAAM,GAAG,0EAAkB,CAAC,UAAU,CACxC,QAAe,EACf,CAAC,EACD,aAAa,EACb,WAAW,EACX,kBAAkB,CACnB,CAAC,QAAQ,CAAC;gBAEX,IAAI,WAAW,GAAG,uEAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAE/D,aAAa,GAAG,CAAC,CAAC;gBAClB,IAAI,QAAQ,GAAG,uEAAe,CAAC,aAAa,EAAE,CAAC;gBAC/C,IAAI,2BAA2B,GAA4B,EAAE,CAAC;gBAC9D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAChC,IAAI,SAAS,GACX,uEAAe,CAAC,YAAY,CAAC,OAAO,CAAC;wBACrC,MAAM,OAAC,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC;oBAEhC,aAAa;wBACX,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC;4BACnD,CAAC,CAAC,OAAO,CAAC,cAAc;4BACxB,CAAC,CAAC,CAAC,CAAC;oBAER,2BAA2B,CAAC,IAAI,CAAC;wBAC/B,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,GAAG;wBACd,OAAO,EAAE,GAAG;wBACZ,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;wBACtC,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,SAAS,EAAE,sFAAc,CAAC,gBAAgB,EAAE;wBAC5C,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACjE,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/B,OAAO,EAAE,GAAG;wBACZ,gBAAgB,EAAE,GAAG;wBACrB,eAAe,EAAE,GAAG;wBACpB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;qBAC/D,CAAC,CAAC;iBACJ;gBACD,IAAI,aAAa,GAAG,CAAC,EAAE;oBACrB,WAAW,IAAI,aAAa,CAAC;iBAC9B;gBAED,IAAI,UAAU,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;gBAErD,IAAI,MAAM,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC;gBAE3C,IAAI,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;gBAE7D,IAAI,cAAc,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnH,mBAAmB,CAAC,IAAI,CAAC;oBACvB,cAAc,EAAE,sFAAc,CAAC,gBAAgB,EAAE,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;oBACrE,OAAO,EAAE,GAAG;oBACZ,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpC,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC5B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;oBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,aAAa,EAAE,cAAc;oBAC7B,WAAW,EAAE,GAAG;oBAChB,YAAY,EAAE,GAAG;oBACjB,WAAW,EAAE,GAAG;oBAChB,eAAe,EAAE,GAAG;oBACpB,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC9B,aAAa,EAAE,GAAG;oBAClB,aAAa,EACX,sFAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE;wBACrC,CAAC,CAAC,MAAM,CAAC,sFAAc,CAAC,gBAAgB,EAAE,CAAC;wBAC3C,CAAC,CAAC,CAAC;oBACP,UAAU,EAAE,GAAG;oBACf,aAAa,EAAE,aAAa;oBAC5B,mBAAmB,EAAE,sFAAc,CAAC,gBAAgB,EAAE;oBACtD,aAAa,EAAE,GAAG;oBAClB,eAAe,EAAE,GAAG;oBACpB,UAAU,EAAE,GAAG;oBACf,cAAc,EAAE,GAAG;oBACnB,eAAe,EAAE,GAAG;oBACpB,kBAAkB,EAAE,GAAG;oBACvB,iBAAiB,EAAE,GAAG;oBACtB,eAAe,EAAE,sFAAc,CAAC,kBAAkB,EAAE;oBACpD,6BAA6B,EAAE,GAAG,CAAC,gBAAgB;oBACnD,SAAS,EAAE,GAAG;oBACd,WAAW,EAAE,WAAW;oBACxB,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,GAAG;oBAClB,SAAS,EAAE,sFAAc,CAAC,gBAAgB,EAAE;oBAC5C,gBAAgB,EAAE,GAAG;oBACrB,iBAAiB,EAAE,GAAG;oBACtB,aAAa,EAAE,2BAA2B;iBAC3C,CAAC,CAAC;aACJ;SACF;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;;4EA1vEU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;AClDpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;;;AAKpD,MAAM,WAAW;IAyBtB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAvBlC,SAAS;QACT,4GAA4G;QAC5G,oDAAoD;QACpD,uEAAuE;QAEvE,QAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAS,KAAK,CAAC,CAAC;QAE3C,YAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAS,cAAc,CAAC,CAAC;QAExD,mBAAc,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAU,gBAAgB,CAAC,CAAC;QAElE,2BAA2B;QAG3B,oBAAe,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAM,gBAAgB,CAAC,CAAC;QAE/D,+BAA+B;QAE/B,uCAAuC;QACvC,iBAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAU,cAAc,CAAC,CAAC;QAE9D,mBAAc,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAS,gBAAgB,CAAC,CAAC;QAG9D,IAAI,CAAC,aAAa,EAAE,CAAC;IACxB,CAAC;IAEO,aAAa;QACnB,IAAG,wEAAW,CAAC,SAAS,EAAC;YACvB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACpC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,IAAI,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,6CAA6C;IAC7C,WAAW,CAAC,WAAmB,EAAE,OAAY;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;;sEAxCU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;AA8CpB,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,uDAAO;IACP,+DAAW;IACX,yDAAQ;AACV,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;;;;;;;;;;;;;;;;;;;;ACrDoD;;;AAY9C,MAAM,kBAAkB;IAG7B,YAAqB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAFrD,cAAS,GAAkB,EAAE;IAI5B,CAAC;IAEI,YAAY;;YAChB,IAAG;gBACD,IAAI,gBAAgB,GAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE;gBACrD,IAAI,CAAC,SAAS,GAAC,gBAAgB;aAChC;YAAC,OAAM,CAAC,EAAC;gBACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACf;QAEH,CAAC;KAAA;IACD,mBAAmB;QACf,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE;YAC9D,IAAI,aAAa,GAAG;;;;;WAKjB,CAAC;YAEJ,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;gBACnD,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC5C,IAAI,IAAI,GAAkB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,gEAAe,CAAC,mBAAmB,CACjC,aAAa,EACb,EAAE,EACF,QAAQ,EACR,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;;oFAzCU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;ACXpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;AAEF;;;;;;AAUhE,MAAM,iCAAiC;IAwB5C,YAAoB,MAAkB,EAC5B,QAAyB;QADf,WAAM,GAAN,MAAM,CAAY;QAC5B,aAAQ,GAAR,QAAQ,CAAiB;QAPnC,mBAAc,GAAW,EAAE,CAAC;QAE5B,YAAO,GAAW,EAAE,CAAC;QAErB,WAAM,GAAW,EAAE,CAAC;IAIjB,CAAC;IAxBJ,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;IACH,CAAC;IAkBD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,sFAAc,CAAC,6BAA6B,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/D,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,EAAE,KAAK,CAAC,CAAC;SACX;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB;QACvC,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,iCAAiC,EAAE;YACxE,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAEjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAc;QAClB,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CACzB,IAAI,wEAAW,CACb,mBAAmB,EACnB,kCAAkC,EAClC,UAAU,EACV,kBAAkB,MAAM,gBAAgB,sFAAc,CAAC,gBAAgB,EAAE,EAAE,EAC3E,IAAI,CACL,CACF,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACnC;SACF;QAAC,OAAO,CAAC,EAAE,GAAE;QAEd,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;;kHA5EU,iCAAiC;iHAAjC,iCAAiC;QCd9C,yEAA0B;QACtB,yEAAoB;QAChB,uDACJ;QAAA,4DAAM;QACN,yEAAiB;QACb,4EAC2B;QAAvB,yJAAS,UAAM,KAAK,CAAC,IAAC;QAAC,uDAAqB;;QAAA,4DAAS;QACzD,4EAC0B;QAAtB,yJAAS,UAAM,IAAI,CAAC,IAAC;QAAC,uDAAoB;;QAAA,4DAAS;QAC3D,4DAAM;QACV,4DAAM;;QARE,0DACJ;QADI,8FACJ;QAG+B,0DAAqB;QAArB,6IAAqB;QAEtB,0DAAoB;QAApB,4IAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/B;AAEmC;AASrB;AACoE;AAClC;AACyB;AAQ/D;AAKwC;AAEmB;AACwB;AAKa;AACR;AAEV;AACrD;;;;;;;;;;;;;;;;;;;;;;;;;;IChClD,wEAGI;IACF,uDACF;;;IAAA,4DAAI;;;IADF,0DACF;IADE,4OACF;;;IAEE,wEAAqE;IACnE,uDACF;;;IAAA,4DAAI;;;;IADF,0DACF;IADE,mSACF;;;IAFA,iJAEI;;;IAFA,uGAAwC;;;IAI9C,wEAA4F;IAC1F,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,wGACF;;;;;IAvBJ,sEAA2C;IACzC,yEAKiE;IAA5D,mXAA+B,KAAK,KAAE;IACzC,qEAC8E;IAC9E,wEAAyB;IAAA,uDAAgB;IAAA,4DAAI;IAC7C,mIAKI;IACJ,mOAIc;IACd,mIAEI;IACN,4DAAM;IACR,4DAAM;;;;;IAxBC,0DAKD;IALC,uRAKD;IAGuB,0DAAgB;IAAhB,8EAAgB;IACd,0DAEV;IAFU,mIAEV;IASU,0DAA+D;IAA/D,iIAA+D;;;IA1BlG,yEAEsB;IACpB,uEAA4B;IAAA,uDAAyB;IAAA,4DAAI;IACzD,yEAA8B;IAC5B,gIAyBM;IACR,4DAAM;IACR,4DAAM;;;IA7BwB,0DAAyB;IAAzB,6FAAyB;IAE5B,0DAAkB;IAAlB,2FAAkB;;;;IA6CnC,6EAKyG;IALvF,sVAAqB;IAMrC,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,gGACF;;;;IAOF,0EAAuF;IACrF,4EAEsD;IAApD,0ZAAiD;IAFnD,4DAEsD;IACtD,4EAAoD;IAClD,wEAGI;IAHoD,qYAAsC;IAI5F,mEAA4B;IAC9B,4DAAI;IACJ,0EAAc;IACZ,yEAAwB;IAAA,uDAAkB;IAAA,4DAAK;IAC/C,yEAAwB;IACtB,uDACF;IAAA,4DAAK;IACL,0EAAqC;IACnC,wDACF;;IAAA,4DAAK;IACP,4DAAM;IACR,4DAAQ;IACV,4DAAM;;;;IAnBF,0DAAoB;IAApB,wFAAoB;IAAuB,mHAA8C;IAE7D,0DAAqB;IAArB,yFAAqB;IAE/C,0DAEC;IAFD,uIAEC;IAIuB,0DAAkB;IAAlB,iFAAkB;IAExC,0DACF;IADE,6GACF;IAEE,0DACF;IADE,yLACF;;;IA/CZ,sEAA8B;IAC5B,0EAAuE;IACrE,0EAAyC;IACvC,sEAAK;IAAA,uDAAqB;IAAA,2EAAiC;IAAC,uDAC1D;IAAA,4DAAO;IAAA,uDAAqB;IAAA,4DAAM;IAQtC,4DAAM;IACN,0EAAuC;IACrC,0EAAwB;IACtB,+IAOS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EAAgC;IAC9B,2EAA6B;IAC3B,2IAqBM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAlDK,0DAAqB;IAArB,0FAAqB;IAAkC,0DAC1D;IAD0D,+GAC1D;IAAO,0DAAqB;IAArB,0FAAqB;IAgB0B,0DAAiD;IAAjD,2HAAiD;IASrC,0DAAiB;IAAjB,2FAAiB;;;;IAkCrF,0EAAuF;IACrF,4EAEsD;IAApD,yZAAiD;IAFnD,4DAEsD;IACtD,4EAA2D;IACzD,wEAGI;IAHoD,oYAAsC;IAI5F,mEAA4B;IAC9B,4DAAI;IACJ,0EAAc;IACZ,yEAAwB;IACtB,uDACF;IAAA,4DAAK;IACL,yEAAwB;IACtB,uDACF;IAAA,4DAAK;IACP,4DAAM;IACR,4DAAQ;IACV,4DAAM;;;;IAlBF,0DAA2B;IAA3B,+FAA2B;IAAuB,0HAAqD;IAE3E,0DAA4B;IAA5B,gGAA4B;IAEtD,0DAEC;IAFD,8IAEC;IAKC,0DACF;IADE,8IACF;IAEE,0DACF;IADE,kGACF;;;IA1BZ,sEAAkD;IAOhD,0EAAgC;IAC9B,0EAA6B;IAC3B,wIAoBM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAvBoE,0DAAiB;IAAjB,2FAAiB;;;IAhE7F,0EAA+E;IAC7E,kIAqDM;IACN,iIAgCM;IACR,4DAAM;;;IAvFE,0DAAsB;IAAtB,yFAAsB;IAsDtB,0DAA0C;IAA1C,oHAA0C;;;;IAuC9C,uEAA8C;IAC5C,yEAAQ;IAAA,uDAAuB;IAAA,4DAAS;IAAA,iEAAM;IAAA,6EAA2B;IAAnB,gVAAkB;IAAE,uDAAc;IAAA,4DAAS;IAEnG,4DAAO;;;IAFG,0DAAuB;IAAvB,qGAAuB;IAA2C,0DAAc;IAAd,6FAAc;;;IAG1F,yEAGI;IAAA,uDAAgB;IAAA,4DAAS;;;IAAzB,0DAAgB;IAAhB,qFAAgB;;;IARtB,0EAAsF;IACpF,yIAGO;IACP,6IAG6B;IAC/B,4DAAM;;;IARG,0DAAqC;IAArC,iHAAqC;IAInC,0DAGL;IAHK,iLAGL;;;;IAIF,6EAMqG;IANnF,qVAAqB;IAOrC,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,gGACF;;;IATF,0EAAuG;IACrG,6IAQS;IACX,4DAAM;;;IAH8C,0DAAiD;IAAjD,2HAAiD;;;IArBzG,0EAEkC;IAChC,iIASM;IACN,0EAA0C;IACxC,iIAUM;IACR,4DAAM;IACR,4DAAM;;;IAvBE,0DAAoC;IAApC,oHAAoC;IAWY,0DAAiD;IAAjD,yHAAiD;;ADlFzG,IAAK,gBAGJ;AAHD,WAAK,gBAAgB;IACnB,kCAAc;IACd,oCAAgB;AAClB,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,QAGpB;AAED,IAAK,oBAGJ;AAHD,WAAK,oBAAoB;IACvB,wCAAgB;IAChB,kCAAU;AACZ,CAAC,EAHI,oBAAoB,KAApB,oBAAoB,QAGxB;AAED,IAAK,YAOJ;AAPD,WAAK,YAAY;IACf,2BAAW;IACX,8BAAc;IACd,8BAAc;IACd,0BAAU;IACV,0BAAU;IACV,0BAAU;AACZ,CAAC,EAPI,YAAY,KAAZ,YAAY,QAOhB;AAOM,MAAM,8BAA8B;IAgGzC,YACE,mBAAwC,EAChC,MAAc,EACL,eAAgC,EAChC,WAAwB,EACxB,cAA8B,EAC9B,cAA8B,EAC9B,WAAwB,EACxB,MAAkB,EAClB,kBAAuC,EACvC,WAAwB,EACxB,eAAgC,EACzC,QAAkB,EAClB,eAAgC,EACvB,GAAe,EACxB,QAAyB,EAChB,YAAsB,EACtB,EAAsB,EAC/B,eAAgC;;QAhBhC,WAAM,GAAN,MAAM,CAAQ;QACL,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAY;QAClB,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QACzC,aAAQ,GAAR,QAAQ,CAAU;QAClB,oBAAe,GAAf,eAAe,CAAiB;QACvB,QAAG,GAAH,GAAG,CAAY;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QAChB,iBAAY,GAAZ,YAAY,CAAU;QACtB,OAAE,GAAF,EAAE,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAiB;QAzGlC,oBAAe,GAAmB,EAAE,CAAC;QAE7C,sBAAiB,GAAY,KAAK,CAAC;QACnC,eAAU,GAAY,KAAK,CAAC;QAEnB,aAAQ,GAAW,GAAG,CAAC;QAEvB,UAAK,GAAW,GAAG,CAAC;QAEpB,YAAO,GAAY,KAAK,CAAC;QAEzB,aAAQ,GAAW,GAAG,CAAC;QAItB,sBAAiB,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAE7D,cAAS,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAEtD,oBAAe,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAE5D,qBAAgB,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAE7D,kBAAa,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAQpE,eAAU,GAAe,EAAE,CAAC;QAC5B,kBAAa,GAAW,EAAE,CAAC;QAE3B,mBAAc,GAAG,EAAW,CAAC;QAE7B,cAAS,GAAG,KAAK,CAAC;QAElB,oBAAe,GAAG,CAAC,CAAC;QAMpB,kBAAa,GAAG,EAAS,CAAC;QAE1B,iBAAY,GAAY,KAAK,CAAC;QAE9B,gBAAW,GAAW,EAAE,CAAC;QAMzB,kBAAa,GAAqB,EAAsB,CAAC;QAIzD,0BAAqB,GAAG,EAAE,CAAC;QAE3B,sBAAiB,GAAqB,EAAsB,CAAC;QAE7D,0BAAqB,GAAqB,EAAsB,CAAC;QAEjE,UAAK,GAAY,KAAK,CAAC;QAEvB,gBAAW,GAAW,CAAC,CAAC;QAExB,qBAAgB,GAAY,KAAK,CAAC;QAElC,+BAA0B,GAAG,sFAAc,CAAC,6BAA6B,EAAE,CAAC;QAE5E,0BAAqB,GAAW,EAAE,CAAC;QACnC,sBAAiB,GAAW,EAAE,CAAC;QAC/B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,uBAAkB,GAAW,EAAE,CAAC;QAChC,eAAU,GAAW,EAAE,CAAC;QACxB,mBAAc,GAAW,EAAE,CAAC;QAC5B,yBAAoB,GAAW,EAAE,CAAC;QAClC,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,aAAQ,GAAW,EAAE,CAAC;QACtB,iBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAa,GAAW,EAAE,CAAC;QAC3B,+BAA0B,GAAW,EAAE,CAAC;QAuBtC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAEnD,IAAI,CAAC,eAAe;YAClB,WAAI,CAAC,WAAW,CAAC,qBAAqB,0CAAE,kBAAkB,KAAI,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;YACjE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,kBAAkB;gBACvD,IAAI,CAAC,eAAe,CAAC;QACzB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;YAC/D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,kBAAkB;gBACvD,IAAI,CAAC,eAAe,CAAC;QACzB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;YAChE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,kBAAkB;gBACvD,IAAI,CAAC,eAAe,CAAC;QACzB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IArJD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAgJD,QAAQ;QACN,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACvD,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACpD,qBAAqB,CACtB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QACzE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAC5D,iDAAiD,CAClD,CAAC;IACJ,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,sFAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,sFAAc,CAAC,kBAAkB,EAAE,IAAI,MAAM,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,0EAA0E;QAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,uEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpD,+BAA+B;YAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;wBACxD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE;oBACzD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,8CAA8C,CAAC;yBAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;wBAChC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CACxC,CAAC;oBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBAChC;aACF;YACD,mCAAmC;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE;oBAC7D,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,8CAA8C,CAAC;yBAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;wBAChC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAC5C,CAAC;oBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBACjC;aACF;QACH,CAAC,CAAC,CACH,CAAC;QAEF,8CAA8C;QAC9C,0EAA0E;QAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,uEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpD,+BAA+B;YAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;wBACxD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE;oBACzD,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,8CAA8C,CAAC;yBAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;wBAChC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CACxC,CAAC;oBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBAChC;aACF;YACD,mCAAmC;YACnC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxD,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE;oBAC7D,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,8CAA8C,CAAC;yBAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;wBAChC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAC5C,CAAC;oBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBACjC;aACF;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YACpE,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;gBAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC,CAAC,CACH,CAAC;gBACF,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,IAAI,CACL,CAAC,iBAAiB,CAAC;gBACtB,CAAC,EAAE,CAAC,CAAC,CAAC;aACP;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;gBAClD,gCAAgC;aACjC;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;gBACrD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,EAAE,CAAC,mBAAmB,GAAG,6HAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,IAAI,CACL,CAAC,iBAAiB,CAAC;gBACtB,CAAC,EAAE,CAAC,CAAC,CAAC;aACP;YACD,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAG,CAAC,IAAI,CAAC,CAAO,IAAS,EAAE,EAAE,CAAC;;gBACjE,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;oBAC9C,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;oBAC3C,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;iBACtC;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,OAAO,EAAE;oBAClD,6BAA6B;iBAC9B;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;oBACpD,IAAI,IAAI,IAAI,IAAI,EAAE;wBAChB,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;wBACrC,oBAAoB;qBACrB;yBAAM;wBACL,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACvC,UAAI,CAAC,EAAE,CAAC,mBAAmB,0CAAE,KAAK,GAAG;qBACtC;iBACF;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;oBACvD,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;iBAC3C;YACH,CAAC,EAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAE7C,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAErD;;eAEG;YACH,IACE,IAAI,CAAC,WAAW,CAAC,iBAAiB;gBAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAC7C;gBACA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;aAC7D;YACD,IACE,IAAI,CAAC,WAAW,CAAC,qBAAqB;gBACtC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,UAAU,EACjD;gBACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;aACnE;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,gBAAgB;YACnB,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IACjE,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,IAAI,IAAI,EAAE,EAAE;gBACd,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;oBAC7D,IAAI,CAAC,eAAe,GAAG,EAAmC,CAAC;iBAC5D;qBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;oBACnE,IAAI,CAAC,eAAe,GAAG,EAA+B,CAAC;iBACxD;qBAAM,IACL,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAC3D;oBACA,IAAI,CAAC,eAAe,GAAG,EAAqC,CAAC;iBAC9D;aACF;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEa,YAAY,CAAC,OAAY,EAAE,eAAwB,KAAK;;;YACpE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;gBAC/D,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAE3B,OAAO;aACR;YAED,IAAI,QAAQ,GAAU,EAAE,CAAC;YACzB,mCAAmC;YACnC,IAAI,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACnD,kDAAkD;gBAClD,6BAA6B;gBAC7B,8EAA8E;gBAC9E,eAAe;gBACf,yBAAyB;gBACzB,cAAc;gBACd,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC;gBACjC,IAAI,OAAO,CAAC,YAAY,IAAI,kBAAkB;oBAC5C,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;qBACxC,IAAI,OAAO,CAAC,YAAY,IAAI,kBAAkB;oBACjD,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7C,IACE,CAAC,OAAO;oBACN,OAAO,CAAC,aAAa,KAAK,OAAO;oBACjC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;oBACnC,OAAO,CAAC,qBAAqB,IAAI,GAAG,EACpC;oBACA,IAAI,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,EAAE;wBACnD,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,OAAO,CAAC,cAAc,EACtB,IAAI,EACJ,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,QAAQ,EAC1C,OAAO,CAAC,iBAAiB,CAC1B,CAAC;wBACF,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACnD,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;qBACH;iBACF;qBAAM,IAAI,OAAO,EAAE;oBAClB,IAAI,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,EAAE;wBACnD,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,OAAO,CAAC,kBAAkB,EAC1B,KAAK,EACL,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAC1C,OAAO,CAAC,iBAAiB,CAC1B,CAAC;wBACF,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,CACpD,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,iBAAiB,CAC1B,CAAC;wBACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;4BAC5C,IAAI,KAAK,GAAG,uEAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;4BAChD,IAAI,OAAO,CAAC,kBAAkB,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE;gCACnD,sFAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;6BAC5C;iCAAM;gCACL,sFAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;6BAC7C;wBACH,CAAC,CAAC,CACH,CAAC;qBACH;iBACF;gBAED,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBAEpD,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;oBAC/D,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,OAAO;iBACR;gBACD,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEtC,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAEjD,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBAE7D,IAAI,CAAC,cAAc,CAAC,cAAc,SAAG,OAAO,CAAC,cAAc,0CAAE,QAAQ,EAAE,CAAC;gBAExE,IAAI,CAAC,cAAc,CAAC,UAAU,SAAG,OAAO,CAAC,UAAU,0CAAE,QAAQ,EAAE,CAAC;gBAEhE,IAAI,CAAC,cAAc,CAAC,oBAAoB;oBACtC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9C,IAAI,CAAC,cAAc,CAAC,uBAAuB;oBACzC,OAAO,CAAC,aAAa,IAAI,MAAM;wBAC7B,CAAC,CAAC,OAAO,CAAC,kBAAkB;wBAC5B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBAE7B,IAAI,YAAY,EAAE;oBAChB,IACE,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU;wBAC1C,IAAI,CAAC,eAAe;wBACpB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,eAAe;4BAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,kBAAkB,CAAC;wBAElD,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC9B;aACF;YACD,SAAS;YACT,yCAAyC;YACzC,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;;KAC/B;IAED,SAAS;QACP,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAClC,QAAQ,CAAC,MAAM;aACZ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,MAAM,IAAI,UAAU,EAAE;gBACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC;YACpC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,WAAW,CAAC,SAAiB;QACnC,wBAAwB;QAExB,mCAAmC;QACnC,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE;gBAC/D,IAAI,OAAO,CAAC,qBAAqB,IAAI,GAAG,EAAE;oBACxC,IACE,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,SAAS;wBAC9C,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EACvD;wBACA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;wBACpE,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC5B;yBAAM;wBACL,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;qBACrC;oBACD,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;iBACP;qBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE;oBAC5C,IACE,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,SAAS;wBAC9C,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EACvD;wBACA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;wBACpE,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC5B;yBAAM;wBACL,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;qBACrC;oBACD,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;iBACP;qBAAM,IAAI,OAAO,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,EAAE;oBAC1D,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACpC,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;iBACP;aACF;SACF;QAED,IAAI,CAAC,aAAa,EAAE;YAClB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;YAC/D,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;gBACnD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBACD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvE,CAAC,EAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;gBAC9C,mCAAmC;gBACnC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,yFAAyF;YACzF,kEAAkE;YAClE,yDAAyD;YACzD,gDAAgD;YAChD,yGAAyG;YACzG,oGAAoG;YACpG,oIAAoI;YACpI,sBAAsB;YAEtB,oEAAoE;YACpE,kIAAkI;YAClI,yBAAyB;YAEzB,MAAM,KAAK,GAAG;;;;;;;;;;;4BAWQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC3C,IAAI,IAAI,EAAE,EACV,qBAAqB,CACtB;yBACkB,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxC,IAAI,IAAI,EAAE,EACV,qBAAqB,CACtB;2BACoB,sFAAc,CAAC,WAAW,EAAE;6BAC1B,sFAAc,CAAC,YAAY,EAAE,iCAAiC,CAAC;YACtF,uEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,IAAsB;QACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,YAAY,CAAC,IAAI,EAAE;gBACvD,KAAK,GAAG;;+BAEe,IAAI,CAAC,UAAU,4BAA4B,IAAI,CAAC,cAAc,GAAG,CAAC;aAC1F;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE;gBAClE,KAAK,GAAG;;;;;gCAKgB,IAAI,CAAC,UAAU,4BAA4B,IAAI,CAAC,cAAc,GAAG,CAAC;aAC3F;YAED,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC5C,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACxD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC5B;gBACD,iDAAiD;gBACjD,sBAAsB;gBAEtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YACF,uEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,OAAY;QACnC,OAAO,IAAI,OAAO,CAAqB,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,CAAC;YACrB,MAAM,IAAI,GAAuB,EAAE,CAAC;YAEpC,IAAI,aAAa,GAAG,EAAW,CAAC;YAEhC,IAAI,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBAChE,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAEhD,IAAI,aAAa,GAAG,EAAW,CAAC;gBAEhC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC3B,aAAa,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBAEH,aAAa,GAAG;oBACd,GAAG,IAAI,GAAG,CACR,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC,CAC9D,CAAC,MAAM,EAAE;iBACX,CAAC;aACH;YAED,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;gBACnC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAExD,IAAI,iBAAiB,GAAG,EAAE,CAAC;gBAE3B,IAAI,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC3D;gBAED,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBAC5C,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACzC,IAAI;oBACF,IACE,QAAQ,CAAC,SAAS;wBAClB,QAAQ,CAAC,SAAS,IAAI,SAAS;wBAC/B,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAC1C;wBACA,SAAS,GAAG,IAAI,IAAI,CAClB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAChC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACvC,CACF,CAAC;qBACH;oBAED,IACE,QAAQ,CAAC,OAAO;wBAChB,QAAQ,CAAC,OAAO,IAAI,SAAS;wBAC7B,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EACxC;wBACA,OAAO,GAAG,IAAI,IAAI,CAChB,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAChC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACrC,CACF,CAAC;qBACH;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACnD;gBAED,IAAI,IAAI,GAAqB;oBAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC/C,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBACvD,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC/C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;oBACrD,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;oBACnD,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;oBAC/C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;oBACnD,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;oBACvD,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,iBAAiB,EAAE,iBAAiB;oBACpC,cAAc,EACZ,OAAO,QAAQ,CAAC,cAAc,IAAI,WAAW;wBAC3C,CAAC,CAAC,CAAC,CAAC,mCAAmC;wBACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;iBACtC,CAAC;gBAEF,IAAI,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;oBAChE,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,EAAE;wBACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACjB;yBAAM;wBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC7C,IACE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAC7B,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAClC,EACD;gCACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAChB,MAAM;6BACP;yBACF;qBACF;iBACF;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjB;aACF;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,EAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBAC5C,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,MAAM,GAAG,GAAG,IAAI,wEAAW,CACzB,2BAA2B,EAC3B,OAAO,CAAC,OAAO,EACf,gBAAgB,EAChB,iCAAiC,EACjC,KAAK,CACN,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEjC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,oEAAoE;YACpE,kIAAkI;YAClI,yBAAyB;YAEzB,MAAM,KAAK,GAAG;;;;;;;+BAOW,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC3C,IAAI,IAAI,EAAE,EACV,qBAAqB,CACtB;4BACkB,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxC,IAAI,IAAI,EAAE,EACV,qBAAqB,CACtB;8BACoB,sFAAc,CAAC,WAAW,EAAE;gCAC1B,sFAAc,CAAC,YAAY,EAAE,iCAAiC,CAAC;YAEzF,uEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,EAAsB,CAAC;IAClD,CAAC;IACD;;OAEG;IACH,wBAAwB;QACtB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,qBAAqB,GAAG,EAAsB,CAAC;IACtD,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,KAAU,EAAE,MAAe;QACxC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAEtD,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IACE,IAAI,CAAC,iBAAiB,IAAI,IAAI;YAC9B,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU;YACrD,KAAK,CAAC,qBAAqB,IAAI,GAAG,EAClC;YACA,8DAA8D;YAC9D,4BAA4B;YAC5B,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;YAEvC,iDAAiD;YACjD,kDAAkD;YAClD,0CAA0C;YAC1C,uCAAuC;YACvC,qBAAqB;YACrB,+CAA+C;YAE/C,IAAI,CAAC,iBAAiB,GAAG,EAAsB,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;SACR;QACD,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE;YAC7D,OAAO;SACR;aAAM,IACL,KAAK,CAAC,aAAa,KAAK,OAAO;YAC/B,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,mCAAmC;UACnE;YACA,IAAI,GAAG,CAAC,CAAC;YACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;YACxE,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,OAAO;SACR;aAAM,IAAI,sFAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;YACvE,IAAI,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YAChD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,IAAI,kBAAkB,GAAG,IAAI,CAAC,WAAW;qBACtC,YAAY,EAAE;qBACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACjE,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClC,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,+BAA+B,CAChC,CAAC;oBACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,OAAO;iBACR;gBACD,IAAI,KAAK,CAAC,aAAa,KAAK,OAAO,EAAE;oBACnC,IACE,KAAK,CAAC,cAAc;wBACpB,uEAAe,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EACtD;wBACA,IAAI,GAAG,CAAC,CAAC;wBACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,6BAA6B,CAC9B,CAAC;wBACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC3B,OAAO;qBACR;iBACF;aACF;SACF;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAChC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;YAC9D,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CACjC,CAAC;QACF,IACE,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU;YAC1C,IAAI,CAAC,WAAW,CAAC,cAAc,EAC/B;YACA,IACE,IAAI,CAAC,eAAe;gBACpB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,eAAe;oBAC3C,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAClD;gBACA,IACE,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ;oBAC7C,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,KAAK,EAC1C;oBACA,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC;oBAC9B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;oBAChC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;oBACxC,IAAI,CAAC,eAAe,GAAG,EAAmC,CAAC;oBAC3D,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;iBACnD;aACF;SACF;QAED,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;SACzD;QACD,IAAI,KAAK,CAAC,qBAAqB,IAAI,GAAG,EAAE;YACtC,IACE,IAAI,CAAC,iBAAiB,IAAI,IAAI;gBAC9B,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EACrD;gBACA,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,GAAG,EAAsB,CAAC;gBAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO;aACR;iBAAM;gBACL,IACE,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,IAAI;oBACzC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EACrD;oBACA,IAAI,GAAG,GAAG,6HAA6B,CAAC,IAAI,CAC1C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,EAC3D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EACtC,wEAAU,CAAC,qBAAqB,CACjC,CAAC;oBACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;wBAC3B,IAAI,GAAG,IAAI,KAAK,EAAE;4BAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACzB,IAAI,aAAa,GAAG,KAAK,CAAC;4BAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gCACzC,aAAa,GAAG,IAAI,CAAC;gCACrB,+CAA+C;gCAC/C,IAAI,CAAC,aAAa,EAAE;oCAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;oCACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;oCAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iCACrC;4BACH,CAAC,CAAC,CAAC;yBACJ;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACzC,IAAI,aAAa,GAAG,KAAK,CAAC;wBAC1B,+CAA+C;oBACjD,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;aAAM,IACL,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,IAAI;YACzC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU;YACrD,CAAC,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,IAAI;gBACxC,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,CAAC,EAChD;YACA,IAAI,GAAG,GAAG,6HAA6B,CAAC,IAAI,CAC1C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,EAC3D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EACtC,wEAAU,CAAC,qBAAqB,CACjC,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,IAAI,GAAG,IAAI,KAAK,EAAE;oBAChB,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAyB,CAAC,EAAE;wBACvD,MAAM,gBAAgB,GAAqB,KAAK,CAAC;wBACjD,IACE,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,IAAI;4BACzC,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,EAC7C;4BACA,sBAAsB;4BACtB,IAAI,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,IAAI,GAAG,EAAE;gCACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;6BAC1B;4BACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gCACtD,oBAAoB;gCACpB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;oCAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;oCAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC;oCACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;oCACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;iCACvC;gCAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oCACvC,IACE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAC3D;wCACA,kEAAkE;wCAClE,mCAAmC;wCACnC,IAAI,UAAU,GAAG,uEAAe,CAAC,YAAY,CAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAClB,CAAC;wCACF,IAAI,gBAAgB,CAAC,aAAa,IAAI,OAAO,EAAE;4CAC7C,IACE,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,EACrD;gDACA,iBAAiB,GAAG,IAAI,CAAC;gDACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU;oDAC1B,gBAAgB,CAAC,UAAU,CAAC;gDAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;gDACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc;oDAC9B,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC;wDACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gDACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;6CACrC;iDAAM;gDACL,iBAAiB,GAAG,IAAI,CAAC;gDACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU;oDAC1B,gBAAgB,CAAC,UAAU,CAAC;gDAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;gDACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc;oDAC9B,MAAM,CAAC,UAAU,CAAC;wDAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gDACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;6CACrC;yCACF;6CAAM;4CACL,iBAAiB,GAAG,IAAI,CAAC;4CACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU;gDAC1B,gBAAgB,CAAC,UAAU,CAAC;4CAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;4CACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW;gDAC3B,gBAAgB,CAAC,kBAAkB,CAAC;4CACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc;gDAC9B,CAAC,UAAU;oDACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;oDAClC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;oDAC9C,GAAG,CAAC;4CACN,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;yCACrC;wCACD,mEAAmE;qCACpE;iCACF;6BACF;yBACF;wBACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;4BAClC,oDAAoD;4BACpD,IACE,gBAAgB,CAAC,cAAc,IAAI,CAAC;gCACpC,CAAC,gBAAgB,CAAC,cAAc,IAAI,CAAC;oCACnC,gBAAgB,CAAC,cAAc,IAAI,QAAQ,CAAC,EAC9C;gCACA,2CAA2C;gCAC3C,sCAAsC;gCACtC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAChC;iCAAM;gCACL,IAAI,GAAG,CAAC,CAAC;gCACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;qCACtB,cAAc,CACb,8CAA8C,CAC/C;qCACA,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;oCAChC,gBAAgB,CAAC,cAAc,CAClC,CAAC;gCACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;6BAC5B;yBACF;6BAAM;4BACL,IAAI,iBAAiB,EAAE;gCACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gCAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gCAC1C,IAAI,CAAC,MAAM,EAAE;oCACX,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;oCAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,qBAAqB,CACtB,CAAC;oCACF,oGAAqB,CAAC,IAAI,CACxB,IAAI,CAAC,YAAY,EACjB,KAAK,EACL,QAAQ,CACT,CAAC;iCACH;6BACF;iCAAM;gCACL,8EAA8E;gCAC9E,IAAI,IAAI,IAAI,CAAC,EAAE;oCACb,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,gCAAgC,CACjC,CAAC;oCACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iCAC5B;6BACF;yBACF;wBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;qBAC/B;yBAAM;wBACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC5B,iDAAiD;qBAClD;iBACF;qBAAM;oBACL,8BAA8B;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAC1C,iDAAiD;YACjD,MAAM,gBAAgB,GAAqB,KAAK,CAAC;YACjD,IACE,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,IAAI;gBACzC,KAAK,CAAC,cAAc,IAAI,YAAY,CAAC,QAAQ,EAC7C;gBACA,+EAA+E;gBAC/E,IACE,gBAAgB,CAAC,cAAc,IAAI,CAAC;oBACpC,CAAC,gBAAgB,CAAC,cAAc,IAAI,CAAC;wBACnC,gBAAgB,CAAC,cAAc,IAAI,QAAQ,CAAC,EAC9C;oBACA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBACtD,oBAAoB;wBACpB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;4BAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;4BAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC;4BACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;4BACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;4BACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;yBACtC;wBACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvC,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE;gCAC/D,kEAAkE;gCAClE,mCAAmC;gCACnC,IAAI,UAAU,GAAG,uEAAe,CAAC,YAAY,CAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAClB,CAAC;gCACF,IAAI,gBAAgB,CAAC,aAAa,IAAI,OAAO,EAAE;oCAC7C,IAAI,UAAU,IAAI,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE;wCACzD,iBAAiB,GAAG,IAAI,CAAC;wCACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;wCAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;wCACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc;4CAC9B,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC;gDACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;wCACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;qCACrC;yCAAM;wCACL,iBAAiB,GAAG,IAAI,CAAC;wCACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;wCAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;wCACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc;4CAC9B,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;wCAC1D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;qCACrC;iCACF;qCAAM;oCACL,iBAAiB,GAAG,IAAI,CAAC;oCACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;oCAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;oCACvD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW;wCAC3B,gBAAgB,CAAC,kBAAkB,CAAC;oCACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc;wCAC9B,CAAC,UAAU;4CACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;4CAClC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;4CAC9C,GAAG,CAAC;oCACN,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;iCACrC;gCACD,mEAAmE;6BACpE;yBACF;qBACF;iBACF;qBAAM;oBACL,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,8CAA8C,CAAC;yBAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;wBAChC,gBAAgB,CAAC,cAAc,CAClC,CAAC;oBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;gBACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;oBAClC,IACE,gBAAgB,CAAC,cAAc,IAAI,CAAC;wBACpC,CAAC,gBAAgB,CAAC,cAAc,IAAI,CAAC;4BACnC,gBAAgB,CAAC,cAAc,IAAI,QAAQ,CAAC,EAC9C;wBACA,2CAA2C;wBAC3C,sCAAsC;wBACtC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAChC;yBAAM;wBACL,IAAI,GAAG,CAAC,CAAC;wBACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;6BACtB,cAAc,CAAC,8CAA8C,CAAC;6BAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE;4BAChC,gBAAgB,CAAC,cAAc,CAClC,CAAC;wBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC5B;iBACF;qBAAM;oBACL,IAAI,iBAAiB,EAAE;wBACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;wBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wBAC1C,IAAI,CAAC,MAAM,EAAE;4BACX,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;4BAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACzC,qBAAqB,CACtB,CAAC;4BACF,oGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;yBAChE;qBACF;yBAAM;wBACL,IAAI,IAAI,IAAI,CAAC,EAAE;4BACb,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,gCAAgC,CACjC,CAAC;4BACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;yBAC5B;qBACF;iBACF;aACF;SACF;aAAM;YACL,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBAClC,IACE,KAAK,CAAC,cAAc,IAAI,CAAC;oBACzB,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,QAAQ,CAAC,EAC/D;oBACA,2CAA2C;oBAC3C,sCAAsC;oBACtC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAI,GAAG,CAAC,CAAC;oBACT,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;yBACtB,cAAc,CAAC,8CAA8C,CAAC;yBAC9D,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,cAAc,CAC1D,CAAC;oBACJ,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;aACF;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,GAAG,GAAG,6HAA6B,CAAC,IAAI,CAC1C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,8BAA8B,CAAC,EAC5D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EACtC,wEAAU,CAAC,kBAAkB,CAC9B,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3B,IAAI,GAAG,IAAI,KAAK,EAAE;gBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,wBAAwB;QAExB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACpC;IACH,CAAC;IAED,mBAAmB,CAAC,gBAAkC;QACpD,wDAAwD;QACxD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,oBAAoB;YACpB,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE;oBAC/D,OAAO,IAAI,CAAC;oBACZ,mDAAmD;oBACnD,kFAAkF;oBAClF,mBAAmB;oBACnB,MAAM;oBACN,IAAI;oBACJ,SAAS;oBACT,iBAAiB;oBACjB,IAAI;iBACL;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB,CAAC,QAA0B;QAC3C,OAAO,CAAC,CACN,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,IAAI;YACpD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,QAAQ,CACzD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACG,SAAS,CACb,gBAAkC,EAClC,MAAe;;;YAEf,iCAAiC;YACjC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;YACD,IAAI,iBAAiB,GAAY,KAAK,CAAC;YACvC,IAAI,uBAA4B,EAC9B,mBAAwB,EACxB,WAAW,GAAG,CAAC,EACf,wBAA6B,EAC7B,oBAAyB,EACzB,eAAe,GAAG,CAAC,EACnB,WAAgB,EAChB,eAAoB,EACpB,aAAa,GAAG,CAAC,EACjB,mBAAwB,EACxB,uBAA4B,CAAC;YAE/B,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACvD,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YAChE,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;gBACrC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9B,OAAO,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;iBACpC;qBAAM;oBACL,OAAO,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACrC;aACF;YACD,IAAI,qBAAqB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtD,KAAK,EACL,uBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,QAAQ,OAAM,EAAE,EAC9C,OAAO,CACR,CAAC;YACF,IAAI,aAAa,GAAG,gBAAgB,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,IAAI,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAChD,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;gBAC/B,IAAI,KAAK,CAAC,UAAW,GAAG,KAAK,CAAC,UAAW,EAAE;oBACzC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;gBACD,IAAI,KAAK,CAAC,UAAW,GAAG,KAAK,CAAC,UAAW,EAAE;oBACzC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CACF,CAAC;YACF,wBAAwB,GAAG,CAAC,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjD,wBAAwB,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACnE;YACD,oEAAoE;YACpE,oBAAoB,GAAG,MAAM,IAAI,CAAC,cAAc,CAC9C,uBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,QAAQ,OAAM,EAAE,EAC9C,OAAO,CACR,CAAC;YACF,4DAA4D;YAE5D,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC9C,IAAI,EACJ,uBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,QAAQ,OAAM,EAAE,EAC9C,OAAO,CACR,CAAC;YACF,IAAI,kBAAkB,GAAG,iBAAiB,CAAC;YAC3C,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC1C,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACzD,CAAC;YACF,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC9D,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAW,CAAC;gBACjD,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;YAED,IAAI,cAAc,GAAG,GAAG,GAAG,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC;YAC3D,IAAI,oBAAoB,GAAG,wBAAwB,GAAG,eAAe,CAAC;YACtE,IAAI,gBAAgB,GAAG,oBAAoB,GAAG,WAAW,CAAC;YAE1D,oBAAoB;gBAClB,IAAI,CAAC,GAAG,CACN,cAAc,EACd,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CACjD,GAAG,WAAW,CAAC;YAElB,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAClC,wBAAwB,GAAG,eAAe,CAC3C,CAAC;YACF,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,WAAW,CAAC,CAAC;YACrE,IAAI,uBAAuB,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,EAAE;gBAC1D,aAAa,GAAG,IAAI,CAAC,KAAK,CACxB,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CACvD,CAAC;aACH;YAED,uBAAuB,GAAG,aAAa,GAAG,eAAe,CAAC;YAC1D,mBAAmB,GAAG,aAAa,GAAG,WAAW,CAAC;YAClD,IACE,wBAAwB,IAAI,uBAAuB;gBACnD,oBAAoB,IAAI,mBAAmB,EAC3C;gBACA,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;oBAChD,IACE,gBAAgB,CAAC,aAAa,IAAI,GAAG;wBACrC,eAAe,GAAG,uBAAuB,EACzC;wBACA,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBACtE,gBAAgB,CAAC,aAAa,GAAG,GAAG,CAAC;wBACrC,gBAAgB,CAAC,cAAc,GAAG,eAAe,GAAG,EAAE,CAAC;wBACvD,gBAAgB,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;wBAC1D,gBAAgB,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;wBAClE,gBAAgB,CAAC,gBAAgB,GAAG,OAAO,CAAC;wBAC5C,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC;wBACpC,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;wBACtD,IACE,uBAAuB,GAAG,eAAe,GAAG,CAAC;4BAC7C,CAAC,MAAM,IAAI,CAAC,YAAY,CACtB,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,EACtC,gBAAgB,CAAC,MAAM,CACxB,CAAC,EACF;4BACA,gBAAgB,CAAC,gBAAgB;gCAC/B,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;4BAC3D,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;yBAClC;6BAAM;4BACL,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;4BACjC,gBAAgB,CAAC,gBAAgB,GAAG,GAAG,CAAC;yBACzC;wBACD,iBAAiB,GAAG,IAAI,CAAC;wBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1C,IACE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gCAClB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,EAC3C;gCACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;gCACjC,MAAM;6BACP;yBACF;qBACF;iBACF;gBACD,IAAI,oBAAoB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACrD,IAAI,EACJ,uBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,0CAAE,QAAQ,OAAM,EAAE,EAC9C,OAAO,CACR,CAAC;gBACF,IAAI,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAC9C,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;oBAC/B,IAAI,KAAK,CAAC,UAAW,GAAG,KAAK,CAAC,UAAW,EAAE;wBACzC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC/B;oBACD,IAAI,KAAK,CAAC,UAAW,GAAG,KAAK,CAAC,UAAW,EAAE;wBACzC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC/B;oBACD,OAAO,CAAC,CAAC;gBACX,CAAC,CACF,CAAC;gBACF,IAAI,gBAAgB,GAAG,mBAAmB,CAAC;gBAC3C,IAAI,oBAAoB,GACtB,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC;gBAC9D,IAAI,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;gBACtE,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE;oBAC3C,IAAI,eAAe,GAAG,MAAM,CAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;oBACF,IAAI,gBAAgB,GAClB,uEAAe,CAAC,YAAY,CAAC,YAAY,CAAC;wBAC1C,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAChC,8DAA8D;oBAC9D,iCAAiC;oBACjC,IAAI,eAAe,IAAI,CAAC,EAAE;wBACxB,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;qBACjD;yBAAM;wBACL,gBAAgB;4BACd,CAAC,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gCAClD,eAAe,CAAC;qBACnB;oBACD,IAAI,eAAe,IAAI,gBAAgB,IAAI,eAAe,GAAG,CAAC,EAAE;wBAC9D,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;wBAC7B,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,CAAC;wBACtD,YAAY,CAAC,aAAa,GAAG,GAAG,CAAC;wBACjC,YAAY,CAAC,cAAc,GAAG,WAAW,GAAG,EAAE,CAAC;wBAC/C,YAAY,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;wBACtD,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;wBAC1D,YAAY,CAAC,gBAAgB,GAAG,MAAM,CAAC;wBACvC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC/B,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;wBAClD,IAAI,gBAAgB,CAAC,gBAAgB,IAAI,GAAG,EAAE;4BAC5C,YAAY,CAAC,cAAc,GAAG,gBAAgB,CAAC;yBAChD;6BAAM,IACL,gBAAgB,CAAC,gBAAgB,IAAI,GAAG;4BACxC,gBAAgB,CAAC,oBAAoB,IAAI,GAAG,EAC5C;4BACA,IAAI,mBAAmB,GACrB,CAAC,gBAAgB;gCACf,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;gCAClD,GAAG,CAAC;4BACN,YAAY,CAAC,cAAc,GAAG,mBAAmB,CAAC;4BAClD,YAAY,CAAC,WAAW,GAAG,MAAM,CAC/B,gBAAgB,CAAC,sBAAsB,CACxC,CAAC;4BACF,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC;yBACpC;6BAAM,IACL,gBAAgB,CAAC,gBAAgB,IAAI,GAAG;4BACxC,gBAAgB,CAAC,oBAAoB,IAAI,GAAG,EAC5C;4BACA,IAAI,iBAAiB,GAAG,eAAe,GAAG,oBAAoB,CAAC;4BAC/D,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;gCACzC,YAAY,CAAC,cAAc,GAAG,iBAAiB,CAAC;6BACjD;iCAAM;gCACL,YAAY,CAAC,cAAc,GAAG,gBAAgB,CAAC;6BAChD;4BACD,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC;yBACrC;wBACD,iBAAiB,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;wBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE;gCACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;gCAC7B,MAAM;6BACP;yBACF;qBACF;yBAAM,IAAI,YAAY,CAAC,aAAa,IAAI,GAAG,IAAI,gBAAgB,GAAG,CAAC,EAAE;wBACpE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;wBAC7B,IAAI,eAAe,GAAG,gBAAgB,GAAG,eAAe,CAAC;wBACzD,IAAI,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,CAAC;wBAC7D,YAAY,CAAC,aAAa,GAAG,GAAG,CAAC;wBACjC,YAAY,CAAC,cAAc,GAAG,WAAW,GAAG,EAAE,CAAC;wBAC/C,YAAY,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;wBACtD,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;wBAC1D,YAAY,CAAC,gBAAgB,GAAG,MAAM,CAAC;wBACvC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC/B,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC;wBAClD,IAAI,gBAAgB,CAAC,gBAAgB,IAAI,GAAG,EAAE;4BAC5C,YAAY,CAAC,cAAc,GAAG,mBAAmB,CAAC;yBACnD;6BAAM,IACL,gBAAgB,CAAC,gBAAgB,IAAI,GAAG;4BACxC,gBAAgB,CAAC,oBAAoB,IAAI,GAAG,EAC5C;4BACA,IAAI,mBAAmB,GACrB,CAAC,mBAAmB;gCAClB,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;gCAClD,GAAG,CAAC;4BACN,YAAY,CAAC,cAAc,GAAG,mBAAmB,CAAC;4BAClD,YAAY,CAAC,WAAW,GAAG,MAAM,CAC/B,gBAAgB,CAAC,sBAAsB,CACxC,CAAC;4BACF,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC;yBACpC;6BAAM,IACL,gBAAgB,CAAC,gBAAgB,IAAI,GAAG;4BACxC,gBAAgB,CAAC,oBAAoB,IAAI,GAAG,EAC5C;4BACA,IAAI,iBAAiB,GAAG,CAAC,CAAC;4BAC1B,IAAI,oBAAoB,GAAG,eAAe,EAAE;gCAC1C,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,CAAC;6BACxD;iCAAM;gCACL,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;6BAC7D;4BACD,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;gCACzC,YAAY,CAAC,cAAc,GAAG,iBAAiB,CAAC;6BACjD;iCAAM;gCACL,YAAY,CAAC,cAAc;oCACzB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;wCACzD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;6BACjC;4BACD,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC;yBACrC;wBACD,iBAAiB,GAAG,IAAI,CAAC;wBAEzB,2CAA2C;wBAC3C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;wBAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE;gCACjE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;gCAC7B,MAAM;6BACP;yBACF;wBACD,gBAAgB,GAAG,CAAC,CAAC;qBACtB;iBACF;aACF;YACD,IAAI,iBAAiB,IAAI,CAAC,MAAM,EAAE;gBAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;gBACnE,oGAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aAChE;iBAAM,IAAI,CAAC,iBAAiB,EAAE;gBAC7B,IAAI,CAAC,iBAAiB,GAAG,EAAsB,CAAC;gBAChD,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACzC,qDAAqD;aACtD;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,iBAAiB,CAAC;;KAC1B;IAED;;;;;;OAMG;IACH,iBAAiB,CACf,MAAe,EACf,UAAkB,EAClB,OAAe;QAEf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;gBACnD,IAAI,QAAQ,GAAa,EAAE,CAAC;gBAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;oBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BAC7C,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;4BACvD,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;4BAC1C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACxB,MAAM;yBACP;qBACF;iBACF;gBACD,yBAAyB;gBACzB,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,EAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,KAAK;gBACH,yGAAyG;oBACzG,2HAA2H;oBAC3H,8BAA8B;oBAC9B,WAAW;oBACX,wBAAwB;oBACxB,UAAU;oBACV,uBAAuB;oBACvB,OAAO;oBACP,IAAI,CAAC;YACP,qCAAqC;YAErC,uEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,UAAkB,EAAE,OAAe;QAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;gBACnD,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;oBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;4BAC7C,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BACtC,MAAM;yBACP;qBACF;iBACF;gBACD,0CAA0C;gBAE1C,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,EAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC;YAEF,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,KAAK;gBACH,yGAAyG;oBACzG,2HAA2H;oBAC3H,qDAAqD;oBACrD,UAAU;oBACV,uBAAuB;oBACvB,OAAO;oBACP,IAAI,CAAC;YACP,8CAA8C;YAE9C,uEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,UAAkB,EAAE,MAAc;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,CAAO,EAAU,EAAE,OAAY,EAAE,EAAE,CAAC;gBACnD,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;iBAC1C;YACH,CAAC,EAAC;YAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,OAAY,EAAE,EAAE;gBACjD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,KAAK;gBACH,yHAAyH;oBACzH,6DAA6D;oBAC7D,MAAM;oBACN,sBAAsB;oBACtB,UAAU;oBACV,GAAG,CAAC;YACN,8CAA8C;YAE9C,uEAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAS,EAAE,GAAQ;QAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,wBAAwB;IAEhB,gCAAgC;QACtC,MAAM,GAAG,GAAQ,QAAQ,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5D,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;YAC9C,IAAI,CAAC,eAAe,GAAG,EAAmC,CAAC;SAC5D;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,EAA+B,CAAC;SACxD;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;YACvD,IAAI,CAAC,eAAe,GAAG,EAAqC,CAAC;SAC9D;IACH,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,CAAQ,EAAE,OAAY;QAC5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;YACvC,OAAO;SACR;QACD,IAAI,UAAU,CAAC;QACf,IACE,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS;YACzC,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAC5C;YACA,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CACxC,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;YACrD,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,CAC1B,CAAC;SACH;QACD,MAAM,MAAM,GAAG,UAAU,CAAC;QAC1B,IAAI,mCAAmC,CAAC;QACxC,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;YAC9C,mCAAmC,GAAG,EAAmC,CAAC;SAC3E;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;YACpD,mCAAmC,GAAG,EAA+B,CAAC;SACvE;aAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;YACvD,mCAAmC;gBACjC,EAAqC,CAAC;SACzC;QACD,IAAI,+BAA+B,GACjC,mCAAmC,CAAC;QACtC,IAAI;YACF,IACE,IAAI,CAAC,eAAe,IAAI,SAAS;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAC1C;gBACA,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;oBAC9C,+BAA+B,GAAG,IAAI,CAAC,KAAK,CAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CACJ,CAAC;iBACpC;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;oBACpD,+BAA+B,GAAG,IAAI,CAAC,KAAK,CAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CACR,CAAC;iBAChC;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;oBACvD,+BAA+B,GAAG,IAAI,CAAC,KAAK,CAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CACF,CAAC;iBACtC;aACF;SACF;QAAC,OAAO,CAAC,EAAE,GAAE;QAEd,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE;YACzD,IAAI,MAAM,IAAI,SAAS,EAAE;gBACvB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,UAAU,GAAG,CAAC,EAAE;oBAClB,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBAChE;aACF;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO;SACR;aAAM;YACL,IACE,IAAI,CAAC,eAAe,IAAI,SAAS;gBACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAC5C;gBACA,IAAI,CAAC,gCAAgC,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,GAAG,+BAA+B,CAAC;gBACvD,IAAI,YAAY,CAAC;gBACjB,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;oBAC9C,YAAY,GAAG,QAAQ,CAAC,cAAc,CACpC,IAAI,CAAC,eAAe,CAAC,EAAE,CACJ,CAAC;iBACvB;qBAAM,IACL,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS;oBACzC,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAC5C;oBACA,YAAY,GAAG,QAAQ,CAAC,cAAc,CACpC,IAAI,CAAC,eAAe,CAAC,SAAS,CACX,CAAC;iBACvB;gBACD,MAAM,QAAQ,GAAG,YAAY,CAAC;gBAC9B,QAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CACtC,+BAA+B,CAChC,CAAC;gBACF,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,OAAO;aACR;SACF;QACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,qBAAqB;QACrB,IACE,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,EAAE;YAC/C,IAAI,CAAC,cAAc,CAAC,qBAAqB,IAAI,GAAG,EAChD;YACA,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;gBAC9C,kBAAkB;gBAClB,IACE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EACjE;oBACA,gEAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,OAAO;iBACR;gBACD,IAAI,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,kBAAkB,IAAI,CAAC,EAAE;oBAClE,OAAO;iBACR;gBACD,gBAAgB;gBAChB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;aACtC;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;gBACpD,gEAAgE;gBAChE,sCAAsC;gBACtC,gBAAgB;gBAChB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;aACtC;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;gBACvD,gEAAgE;gBAChE,yCAAyC;gBACzC,gBAAgB;gBAChB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;aACtC;YACD,yCAAyC;SAC1C;aAAM,IACL,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU;YAC1C,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,EACtD;YACA,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,qCAAqC;SACtC;aAAM,IACL,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS;YACzC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAC7D;YACA,uCAAuC;YACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM,IACL,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY;YAC5C,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAC7D;YACA,uCAAuC;YACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,0CAA0C;SAC3C;aAAM;YACL,2BAA2B;YAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAAgC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5D,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;oBAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,+BAAgC,CAAC,MAAM,CAAC,CAAC;oBACnE,IAAI,UAAU,GAAG,CAAC,EAAE;wBAClB,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;qBAChE;iBACF;aACF;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,eAAe,CAAC,IAAS;QACvB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;YACzD,MAAM,OAAO,GAAG,IAAc,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,MAGmC;QAEnC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAC/C,CAAO,IAAS,EAAE,EAAE,CAAC;YACnB,IAAI,IAAI,IAAI,OAAO,EAAE;gBACnB,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;oBAC9C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;wBAC/C,OAAO,GAAG,IAAI,CAAC;wBACf,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;wBAChC,IAAI,GAAG,GAAG,oGAAqB,CAAC,IAAI,CAClC,IAAI,CAAC,YAAY,EACjB,OAAO,EACP,IAAI,CAAC,OAAO,CACb,CAAC;wBACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;4BAC3B,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;4BAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACtD,IAAI,CAAC,gCAAgC,EAAE,CAAC;4BACxC,OAAO;wBACT,CAAC,CAAC,CAAC;qBACJ;yBAAM,IAAI,IAAI,CAAC,IAAI,EAAE;wBACpB,MAAM,SAAS,GAAG,uEAAe,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzD,IACE,IAAI,CAAC,IAAI,CAAC,uBAAuB;4BACjC,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;4BACA,IAAI,GAAG,GAAW,MAAM,CACtB,sFAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,CACnD,CAAC;4BACF,IAAI,GAAG,GAAG,CAAC,EAAE;gCACX,MAAM,OAAO,GAAW,MAAM,CAC5B,sFAAc,CAAC,sBAAsB,EAAE,CACxC,CAAC;gCACF,IAAI,OAAO,KAAK,GAAG,EAAE;oCACnB,0IAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iCAC1D;qCAAM;oCACL,IAAI,MAAM,GAAG,kIAA8B,CAAC,IAAI,CAC9C,IAAI,CAAC,YAAY,CAClB,CAAC;oCACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;wCAC9B,IAAI,GAAG,KAAK,MAAM,EAAE;4CAClB,IAAI,SAAS,IAAI,MAAM,EAAE;gDACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;6CACjC;iDAAM;gDACL,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gDACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE;oDACtC,WAAW,EAAE;wDACX,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;wDACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;wDAC9B,YAAY,EAAE,IAAI;wDAClB,OAAO,EAAE,IAAI;qDACd;iDACF,CAAC,CAAC;6CACJ;yCACF;oCACH,CAAC,CAAC,CAAC;iCACJ;6BACF;yBACF;6BAAM,IAAI,SAAS,IAAI,MAAM,EAAE;4BAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACjC;6BAAM;4BACL,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE;gCACtC,WAAW,EAAE;oCACX,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;oCACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;oCAC9B,YAAY,EAAE,IAAI;oCAClB,OAAO,EAAE,IAAI;iCACd;6BACF,CAAC,CAAC;yBACJ;qBACF;oBACD,kCAAkC;oBAClC,IAAI,CAAC,OAAO,EAAE;wBACZ,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;wBACxD,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC/D,IAAI,CAAC,aAAa,GAAG,EAAsB,CAAC;wBAC5C,IAAI,MAAM,CAAC,IAAI,IAAI,eAAe,EAAE;4BAClC,IACE,IAAI,CAAC,qBAAqB,CAAC,cAAc;gCACzC,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,EAAE;oCACnD,YAAY,CAAC,QAAQ;oCACrB,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,EAAE;wCAClD,YAAY,CAAC,KAAK,CAAC,EACvB;gCACA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gCAC7C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gCACvD,IAAI,CAAC,cAAc,CAAC,cAAc;oCAChC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gCAC7B,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;6BACH;yBACF;6BAAM,IAAI,MAAM,CAAC,IAAI,IAAI,kBAAkB,EAAE;4BAC5C,IACE,IAAI,CAAC,qBAAqB,CAAC,cAAc;gCACzC,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,EAAE;oCACnD,YAAY,CAAC,QAAQ;oCACrB,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,EAAE;wCAClD,YAAY,CAAC,KAAK,CAAC,EACvB;gCACA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gCAC7C,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,EAC/B,KAAK,EACL,IAAI,EACJ,EAAE,CACH,CAAC;6BACH;yBACF;qBACF;oBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;iBAC/B;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;oBACxD,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/D,IAAI,CAAC,aAAa,GAAG,EAAsB,CAAC;oBAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;iBAC/B;qBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;oBACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;oBACxD,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/D,IAAI,CAAC,aAAa,GAAG,EAAsB,CAAC;oBAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;iBAC/B;gBACD,2DAA2D;gBAC3D,kEAAkE;gBAClE,+CAA+C;gBAC/C,IAAI,CAAC,OAAO,EAAE;oBACZ,IAAI,MAAM,CAAC,IAAI,IAAI,eAAe,EAAE;wBAClC,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,IAAI,CAAC,cAAc,CAAC,cAAc,EAClC,IAAI,EACJ,IAAI,EACJ,EAAE,CACH,CAAC;wBACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;qBACjC;yBAAM,IAAI,MAAM,CAAC,IAAI,IAAI,kBAAkB,EAAE;wBAC5C,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,EAC/B,KAAK,EACL,IAAI,EACJ,EAAE,CACH,CAAC;qBACH;iBACF;gBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;QACH,CAAC,GACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;IACJ,CAAC;IAEa,qBAAqB;;YACjC,IAAI,CAAC,gCAAgC,EAAE,CAAC;YAExC,IAAI,uBAAuB,GAAG,IAAI,CAAC,WAAW;iBAC3C,YAAY,EAAE;iBACd,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAEhD,IAAI,uBAAuB,EAAE;gBAC3B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;oBAC5D,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;iBACnD;qBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;oBACtE,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC;iBACtD;aACF;YACD,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,2BAA2B,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,UAAU,EAAE;gBAC9C,IAAI,CAAC,eAAe,GAAG,EAAmC,CAAC;aAC5D;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,SAAS,EAAE;gBACpD,IAAI,CAAC,eAAe,GAAG,EAA+B,CAAC;aACxD;iBAAM,IAAI,IAAI,CAAC,WAAW,IAAI,uEAAW,CAAC,YAAY,EAAE;gBACvD,IAAI,CAAC,eAAe,GAAG,EAAqC,CAAC;aAC9D;YACD,mCAAmC;YACnC,IACE,CAAC,CACC,IAAI,CAAC,aAAa,CAAC,UAAU;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,UAAU;gBACjC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CACtC,EACD;gBACA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC;aACtC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;KAAA;IAED,oBAAoB,CAAC,MAAW;QAC9B,+EAA+E;QAC/E,oFAAoF;QACpF,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,MAAW;;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM;YACxC,CAAC,CAAC,MAAM,CAAC,KAAM,CAAC,MAAM,GAAG,CAAC;gBACxB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,KAAM,CAAC,MAAM,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC/B,IAAI,QACJ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,mCAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACpD;YACL,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,kBAAkB,CAAC,WAAW,EAAE;gBAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ;qBACV,cAAc,CAAC,YAAY,CAAC;qBAC5B,OAAO,CAAC,IAAI,EAAE,OAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,IAAG,GAAG,CAAC;gBACvC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC,WAAW,EAAE;oBAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ;yBACV,cAAc,CAAC,YAAY,CAAC;yBAC5B,OAAO,CACN,IAAI,EACJ,sFAAc,CAAC,iBAAiB,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CACxD;oBACL,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAEO,mBAAmB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACzD,CAAC;QACF,IAAI,MAAM,IAAI,SAAS;YAAE,OAAO;QAChC,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAEK,yBAAyB,CAAC,IAAS;;;YACvC,IAAI,8BAA8B,GAAoC,EAAE,CAAC;YACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,aAAa,CAAC,IAAI,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC/D,IAAI,aAAa,CAAC,MAAM,IAAI,IAAI,IAAI,aAAa,CAAC,MAAM,IAAI,EAAE,EAAE;wBAC9D,IACE,8BAA8B,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CACjC,CAAC,MAAM,KAAK,CAAC,EACd;4BACA,IAAI,eAAe,GACjB,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CACpD,aAAa,CAAC,MAAM,EACpB,CAAC,CACF,CAAC;4BACJ,IAAI,eAAe,EAAE;gCACnB,IAAI,aAAa,CAAC,YAAY,EAAE;oCAC9B,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;iCACvD;qCAAM;oCACL,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC;oCAChC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;oCACzB,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;iCACvD;gCACD,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;6BACpD;yBACF;6BAAM;4BACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,8BAA8B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC9D,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,EAAE;oCAC7D,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAa,CAAC,IAAI,CAClD,aAAa,CAAC,MAAM,CACrB,CAAC;oCACF,MAAM;iCACP;6BACF;yBACF;qBACF;iBACF;qBAAM;oBACL,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACpD;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,8BAA8B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9D,IACE,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAY;oBAC9C,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAa,CAAC,MAAM,GAAG,CAAC,EAC1D;oBACA,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAa,CAAC,MAAM,EAC1D,CAAC,EAAE,EACH;wBACA,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAC9D,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAa,CAAC,CAAC,CAAC,CACnD,CAAC;wBACF,IAAI,QAAQ,CAAC,MAAM,EAAE;4BACnB,oCAA8B,CAAC,CAAC,CAAC,CAAC,KAAK,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;4BAC3D,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;4BAC3B,iGAAiG;4BACjG,IACE,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI;gCAClC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,EAC9B;gCACA,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;oCACpB,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,CACrD,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CACnB,CAAC;6BACL;4BACD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gCACvB,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU;oCACpB,MAAM,IAAI,CAAC,eAAe,CAAC,iCAAiC,CAC1D,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CACnB,CAAC;6BACL;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;gCACtC,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,MAAM,EAC9C,CAAC,EAAE,EACH;oCACA,IACE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,MAAM;wCAC7C,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAa,CAAC,CAAC,CAAC,EAClD;wCACA,IACE,8BAA8B,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM;4CACR,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAChD,CAAC,MAAM,IAAI,CAAC,EACb;4CACA,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;4CACF,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;4CACpB,8BAA8B,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yCACrD;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;YACD,IAAI,CAAC,cAAc,GAAG,8BAA8B,CAAC;YAErD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;gBACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnC;YAED,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,8BAA8B,CAAC;;KACrE;IACD;;;;OAIG;IACG,qBAAqB,CAAC,IAAS;;YACnC,IAAI,8BAA8B,GAAgC,EAAE,CAAC;YACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,EAAE;oBACjC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,yBAAyB,CAAC;oBAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;iBAC7D;gBACD,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACnD,IAAI,CAAC,cAAc,GAAG,8BAA8B,CAAC;gBACrD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;oBACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClC;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACnC;gBACD,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,8BAA8B,CAAC;aACrE;QACH,CAAC;KAAA;IACK,wBAAwB,CAAC,IAAS;;YACtC,IAAI,8BAA8B,GAAsC,EAAE,CAAC;YAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACnD,IAAI,CAAC,cAAc,GAAG,8BAA8B,CAAC;gBACrD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;oBACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClC;qBAAM;oBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACnC;gBACD,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,8BAA8B,CAAC;aACrE;QACH,CAAC;KAAA;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,MAAM,GACR,8DAA8D,CAAC;YAEjE,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,IAAS,EAAE,EAAE;gBACzC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YACH,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,EAAE;gBACzB,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,uBAAuB,EACvB,iDAAiD,EACjD,eAAe,EACf,sCAAsC,GAAG,EAAE,EAC3C,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,uEAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,GAAW;QAClC,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,6HAA6B,CACjD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CACd,CAAC;SACH;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;SAC7B;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EACnC,YAAY,EACZ,EAAE,EACF,wEAAU,CAAC,qBAAqB,CACjC,CAAC;IACJ,CAAC;;4GAt1EU,8BAA8B;8GAA9B,8BAA8B;kEAkC9B,sHAAqB;kEAGrB,6GAAkB;;;;;;QCrH/B,0HAgCM;QAEN,0HAwFM;QAEN,0HA0BM;QAEN,yEAAmB;QAAA,uDAAiB;QAAA,4DAAM;QAC1C,yEAA2B;QACzB,+EAAuC;QAEvC,4EAAiC;QAEnC,4DAAM;;QA9JA,0JAEF;QAgC2B,0DAA8C;QAA9C,kHAA8C;QA0FW,0DAExD;QAFwD,qTAExD;QA0Bb,0DAAiB;QAAjB,gFAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;IC7IhC,wEAAqD;IACnD,0EAAyB;IACvB,0EAAiD;IAAA,uDAAc;IAAA,4DAAM;IACrE,0EAA4B;IAC1B,4EAAiI;IAA3F,oQAA4B;IAAlE,4DAAiI;IACnI,4DAAM;IACR,4DAAM;IACR,qEAAe;;;IALsC,0DAAc;IAAd,4EAAc;IAEvB,0DAA4B;IAA5B,sFAA4B;;;IAL1E,wEAA0E;IACxE,0JAOe;IACjB,qEAAe;;;IARiB,0DAAqB;IAArB,8FAAqB;;ACFhD,MAAM,6BAA6B;IAQxC,YAAmB,YAAsB;QAAtB,iBAAY,GAAZ,YAAY,CAAU;QAJzC,uBAAkB,GAAqB,EAAuB,CAAC;QAE/D,cAAS,GAAW,KAAK,CAAC;IAK1B,CAAC;IAED,QAAQ,KAAY,CAAC;IAEb,WAAW;QACjB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACvC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YACvB,GAAG,CAAC,uBAAuB,GAAG,KAAK,CAAC;SACrC;IACH,CAAC;IAED,sBAAsB,CAAC,CAAK,EAAC,KAAY;QACvC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAEjC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC;QAEnF,IAAI,WAAW,EAAE;YACf,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,WAAW,CAAC,uBAAuB,GAAG,OAAO,CAAC;gBAC9C,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC;aAClC;iBAED;gBACE,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC;aAClC;SACF;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAE,OAAwB,EAAC,YAAoB,KAAK;QAC1F,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACtE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAC9D,cAAc,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAEvD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;;0GA/DU,6BAA6B;6GAA7B,6BAA6B;QDT1C,4EAA+F;QAAnB,qJAAS,WAAO,IAAE;QAC5F,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QACzC,4DAAS;QACT,sEAAK;QAEH,yEAAsC;QACpC,0EAAe;QAAA,gFAAqB;QAAA,4DAAO;QAE7C,4DAAM;QACN,gEAAK;QACL,2IASe;QAEf,gEAAK;QACL,0EAA2C;QACzC,0EAAwC;QACtC,0EAAiC;QAC/B,6EAAgC;QAAxB,sJAAS,iBAAa,IAAC;QAAC,gEAAI;QAAA,4DAAS;QAC/C,4DAAM;QACR,4DAAM;QACR,4DAAM;QAER,4DAAM;;QApBW,0DAAyD;QAAzD,6HAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AETjC;AAE4E;AAE1E;AAGe;AAEF;;;;;;;;AAMjD,MAAM,gBAAgB;IAyB3B,YACU,QAAyB,EAChB,WAAwB,EACjC,MAAqB,EACrB,UAAsB,EACb,cAA8B,EACvC,cAA8B;QAL9B,aAAQ,GAAR,QAAQ,CAAiB;QAChB,gBAAW,GAAX,WAAW,CAAa;QACjC,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAY;QACb,mBAAc,GAAd,cAAc,CAAgB;QACvC,mBAAc,GAAd,cAAc,CAAgB;QA7BxC,qBAAgB,GAAmB;YACjC,eAAe,EAAE,IAAI,IAAI,EAAE;YAC3B,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,GAAG;YACb,uBAAuB,EAAE,GAAG;YAC5B,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,GAAG;YACrB,cAAc,EAAE,KAAK;YACrB,uBAAuB,EAAE,GAAG;YAC5B,qBAAqB,EAAE,GAAG;YAC1B,eAAe,EAAE,KAAK;YACtB,mBAAmB,EAAE,EAAE;YACvB,kBAAkB,EAAE,GAAG;YACvB,gBAAgB,EAAE,KAAK;YACvB,oBAAoB,EAAE,CAAC;oBACrB,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,OAAO;iBAClB,CAAC;YACF,iBAAiB,EAAE,GAAG;YACtB,mBAAmB,EAAE,KAAK;YAC1B,UAAU,EAAE,EAAE;SACf;QA4OD,cAAS,GAAoB,EAAE,CAAC;IAnO5B,CAAC;IAEL,mBAAmB;QACjB,OAAQ;YACN;gBACE,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,8DAAkB,CAAC,KAAK;aACnC;YACD;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,8DAAkB,CAAC,KAAK;aACnC;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,8DAAkB,CAAC,KAAK;aACnC;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,8DAAkB,CAAC,IAAI;aAClC;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,8DAAkB,CAAC,KAAK;aACnC;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,8DAAkB,CAAC,IAAI;aAClC;SACF;IACH,CAAC;IAEK,aAAa,CAAC,aAAsB,KAAK;;YAC7C,OAAO,IAAI,OAAO,CAAmB,CAAO,OAAO,EAAE,EAAE,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnD,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,GAAG,sEAAc,CAAC,aAAa,EAAE,IAAI,GAAG,CAAC;gBACtF,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,sEAAc,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC;gBACvE,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,sEAAc,CAAC,aAAa,EAAE,CAAC;gBAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,sEAAc,CAAC,WAAW,EAAE,CAAC;gBAC9D,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,GAAG,sEAAc,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC;gBACnF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,sEAAc,CAAC,aAAa,EAAE,IAAI,GAAG,CAAC;gBAChF,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,CAAC,sEAAc,CAAC,aAAa,EAAE,IAAI,CAAC,sEAAc,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC3I,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAO,QAAQ,EAAE,EAAE,CAAC;oBACnE,IAAI,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC;oBAC7E,IAAG,kBAAkB,EAAE;wBACrB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,SAAS,CAAC;wBACxE,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;qBAChD;gBACH,CAAC,EAAC;gBAEF,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;oBAChC,IAAI,OAAO,GAAG,EAAC,WAAW,EAAE,4BAA4B,EAAC,CAAC;oBAC1D,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAEtC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBACtC;gBAED,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAE9B,IAAI,oBAAoB,GAAG,8DAAkB,CAAC,IAAI,CAAC;gBACnD,IAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,KAAK,gBAAgB,EAAE;oBAChE,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,8DAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,8DAAkB,CAAC,KAAK;iBACnH;gBAED,IAAI,uBAAuB,GAAqB;oBAC9C,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB;oBAC1D,UAAU,EAAE,sEAAc,CAAC,aAAa,EAAE;oBAC1C,QAAQ,EAAE,sEAAc,CAAC,WAAW,EAAE;oBACtC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU;oBAC5C,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;oBACtD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc;oBACpD,gBAAgB,EAAE,UAAU;oBAC5B,OAAO,EAAE;wBACP;4BACE,KAAK,EAAE,yBAAyB;4BAChC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,uBAAuB;4BACpD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,8DAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,8DAAkB,CAAC,KAAK;yBAC9G;wBACD;4BACE,KAAK,EAAE,mBAAmB;4BAC1B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB;4BAC7C,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,8DAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,8DAAkB,CAAC,KAAK;yBACvG;wBACD;4BACE,KAAK,EAAE,kBAAkB;4BACzB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB;4BAClD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,8DAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,8DAAkB,CAAC,KAAK;yBACxG;wBACD;4BACE,KAAK,EAAE,kBAAkB;4BACzB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,uBAAuB;4BACpD,QAAQ,EAAE,8DAAkB,CAAC,IAAI;yBAClC;wBACD;4BACE,KAAK,EAAE,qBAAqB;4BAC5B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;4BAC/C,QAAQ,EAAE,oBAAoB;yBAC/B;wBACD;4BACE,KAAK,EAAE,qBAAqB;4BAC5B,KAAK,EAAE,EAAE;4BACT,QAAQ,EAAE,EAAE;4BACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,oBAAoB;yBACpD;wBACD;4BACE,KAAK,EAAE,iBAAiB;4BACxB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB;4BAC9C,QAAQ,EAAE,8DAAkB,CAAC,IAAI;yBAClC;qBACF;iBACF;gBAED,sEAAc,CAAC,aAAa,CAAC,uBAAuB,CAAC;gBAErD,IAAI,GAAG,GAAG,IAAI,wDAAW,CACvB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,EAC9D,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAErC,IAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBACvC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,8DAAO,CAAC,KAAK,CAAC,CAAC;yBAC3E,SAAS,EAAE;yBACX,IAAI,CACH,CAAC,IAAI,EAAE,EAAE;wBACP,OAAO,CAAC,uBAAuB,CAAC,CAAC;oBACrC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;wBACX,OAAO,CAAC,uBAAuB,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,OAAO,CAAC,uBAAuB,CAAC,CAAC;iBAClC;YACH,CAAC,EAAC;QAEJ,CAAC;KAAA;IAEI,eAAe,CAAC,OAAY;;YAC9B,IAAI,CAAC,cAAc;iBACf,iBAAiB,CAAC,OAAO,CAAC;iBAC1B,IAAI,CAAC,8DAAO,CAAC,KAAK,CAAC,CAAC;iBACpB,SAAS,CAAC,CAAC,WAAgB,EAAE,EAAE;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,YAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,KAAK,CAAC;gBACtE,OAAO,WAAW;YACpB,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACT,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC/C,OAAO,KAAK;YACd,CAAC,CAAC;QAER,CAAC;KAAA;IAEK,uBAAuB;;YAC3B,OAAO,IAAI,OAAO,CAAE,CAAC,OAAO,EAAE,EAAE;gBAC9B,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;oBAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,6BAA6B,EAAE;wBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,EAAE,CAAC;wBAChD,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;wBACpD,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAChC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;gCAC9C,KAAK,EAAE,gEAAoB,CAAC,SAAS;gCACrC,QAAQ,EAAE,8DAAkB,CAAC,OAAO;6BACrC,CAAC;yBACH;6BAAM;4BACL,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAChC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oCAC9C,KAAK,EAAE,gEAAoB,CAAC,iBAAiB;oCAC7C,QAAQ,EAAE,8DAAkB,CAAC,UAAU;iCACxC,CAAC;6BACH;4BAED,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAChC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oCAC9C,KAAK,EAAE,gEAAoB,CAAC,UAAU;oCACtC,QAAQ,EAAE,8DAAkB,CAAC,WAAW;iCACzC,CAAC;6BACH;4BAED,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAChC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oCAC9C,KAAK,EAAE,gEAAoB,CAAC,WAAW;oCACvC,QAAQ,EAAE,8DAAkB,CAAC,UAAU;iCACxC,CAAC;6BACH;4BAED,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCACjE,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oCAC9C,KAAK,EAAE,gEAAoB,CAAC,WAAW;oCACvC,QAAQ,EAAE,8DAAkB,CAAC,KAAK;iCACnC,CAAC;6BACH;4BAED,IAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAChC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oCAC9C,KAAK,EAAE,gEAAoB,CAAC,UAAU;oCACtC,QAAQ,EAAE,8DAAkB,CAAC,KAAK;iCACnC,CAAC;6BACH;yBAEF;wBAED,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACxC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uDAAe,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxH,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC3B;gBACH,CAAC,CAAC;gBACF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACnD;YACH,CAAC,CAAC;QACJ,CAAC;KAAA;IAID,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAgB,EAAE,EAAE;gBAC1C,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAEK,gBAAgB;;YACpB,OAAO,IAAI,OAAO,CAAE,CAAC,OAAO,EAAE,EAAE;gBAC9B,IAAI,CAAC,WAAW;qBACf,eAAe,EAAE;qBACjB,IAAI,CAAC,8DAAO,CAAC,KAAK,CAAC,CAAC;qBACpB,SAAS,EAAE;qBACX,IAAI,CACH,CAAC,IAAI,EAAE,EAAE;oBACP,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,WAAW,CAAC;oBACrD,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAE,CAAC,GAAQ,EAAE,EAAE;wBACpC,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE;4BAC3B,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC;4BAC7C,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI,EAAE,CAAC;yBAChE;6BAAM;4BACL,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC;4BAC9C,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI,EAAE,CAAC;yBAChE;wBACD,OAAO,CAAC,IAAI,CAAC;oBACf,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;wBACX,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC;wBAC9C,OAAO,CAAC,IAAI,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,eAAe,CAAC;oBACzD,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,GAAG,KAAK,CAAC;oBACpD,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC7C,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC;gBACf,CAAC,CACF,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;KAAA;;gFAhTU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;;;;;;;;;;;ACJb,MAAM,uBAAuB;IAkBlC,YAAoB,YAAsB,EAAU,QAAwB;QAAxD,iBAAY,GAAZ,YAAY,CAAU;QAAU,aAAQ,GAAR,QAAQ,CAAgB;QAR5E,UAAK,GAAW,EAAE,CAAC;QAEnB,iBAAY,GAAW,EAAE;QAEzB,qBAAgB,GAAW,EAAE;IAM7B,CAAC;IAlBD,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAgBD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAsB,EAAE,KAAa;QACtD,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC9D,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;QAE/C,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;;8FA/CU,uBAAuB;uGAAvB,uBAAuB;QCVpC,0EAAS;QACL,yEAA2C;QACvC,yEAA2B;QACvB,4EAAgG;QAApB,+IAAS,WAAO,IAAC;QACzF,0EAAyB;QAAA,iEAAO;QAAA,4DAAO;QAC3C,4DAAS;QACL,wEAAwB;QAAA,uDAA0B;;QAAA,4DAAK;QACvD,wEAAwB;QAAA,wDAAoB;QAAA,4DAAK;QACjD,yEAAwB;QAAA,wDAAS;QAAA,4DAAK;QAC9C,4DAAM;QACV,4DAAM;QACV,4DAAU;;QAL8B,0DAA0B;QAA1B,kJAA0B;QAC1B,0DAAoB;QAApB,qFAAoB;QACpB,0DAAS;QAAT,0EAAS;;;;;;;;;;;;;;ACPjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsE;AACf;AACiC;AACS;AACG;AACZ;AACX;AACgB;AACG;AACG;AACG;AACjB;AAC0C;AACL;AACzD;AAC4C;AACK;AAE/C;AACI;AACkC;AACrC;;;AAC7D,MAAM,MAAM,GAAW;IAC5B;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,oGAAoB;QAC/B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;QAClC,WAAW,EAAE,CAAC,iFAAkB,CAAC;KAClC;IACD;QACE,IAAI,EAAC,cAAc;QACnB,SAAS,EAAC,sHAAyB;KACpC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,gHAAwB;QACnC,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE;KACvC;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,yGAAqB;QAChC,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;KACpC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,8EAAa;QACxB,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KAC5B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,oGAAoB;QAC/B,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;KACnC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,yFAAiB;QAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;KAChC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,6GAAuB;QAClC,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;KACtC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,yFAAiB;KAC7B;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,4GAAsB;KAClC;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,+GAAuB;KACnC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,mHAAwB;KACpC;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,kGAAmB;KAC/B;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,4IAAoB;KAChC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,uIAAyB;KACrC;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,0HAA2B;KACvC;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,+HAA4B;KACxC;CACF,CAAC;AAWK,MAAM,gBAAgB;;gFAAhB,gBAAgB;gGAAhB,gBAAgB;qGANhB,CAAC,iFAAkB;QAC5B,gFAAiB;QACjB,oFAAmB;QACnB,EAAE,OAAO,EAAE,mFAA0B,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;KAC1E,YANQ,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC7B,4DAAY;oIAOX,gBAAgB,uFAPjB,4DAAY;;;;;;;;;;;;;ACrGxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;AAGH;;;;;;;;ICa9D,yEAAkD;IAChD,qEAAI;IAAA,uDAIF;IAAA,4DAAK;IACT,4DAAM;;;IALA,0DAIF;IAJE,kKAIF;;;;IAEJ,0EAIC;IACC,uDAKF;;IAAA,4DAAM;;;IATJ,6JAAiC;IAIjC,0DAKF;IALE,sQAKF;;;;IA9BN,sEAAyC;IACvC,yEAAwB;IACtB,yEAAkB;IAChB,uDACF;IAAA,4DAAM;IACN,oEAME;IACF,yEAAwB;IACtB,0HAMM;IACN,0HAUM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IA9BA,0DACF;IADE,qJACF;IAEE,0DAAuM;IAAvM,sfAAuM;IAEvM,mMAEE;IAGI,0DAAkB;IAAlB,qFAAkB;IAUrB,0DAAiC;IAAjC,oGAAiC;;;IAwBpC,yEAAkD;IAChD,qEAAI;IAAA,uDAIF;IAAA,4DAAK;IACT,4DAAM;;;IALA,0DAIF;IAJE,kKAIF;;;IAEJ,0EAIC;IACC,uDAKF;;IAAA,4DAAM;;;IATJ,6JAAiC;IAIjC,0DAKF;IALE,sQAKF;;;IA7BJ,yEAAwB;IACtB,oEAME;IACF,yEAAkB;IAChB,uDACF;IAAA,4DAAM;IACN,yEAAwB;IACtB,kIAMM;IACN,kIAUM;IACR,4DAAM;IACR,4DAAM;;;IA7BF,0DAAyM;IAAzM,sfAAyM;IAEzM,mMAEE;IAGF,0DACF;IADE,qJACF;IAEQ,0DAAkB;IAAlB,qFAAkB;IAUrB,0DAAiC;IAAjC,oGAAiC;;;;AD/CrC,MAAM,wBAAwB;IAwBnC,YAAoB,cAA8B,EAAmB,WAAwB,EAAS,QAAwB;QAA1G,mBAAc,GAAd,cAAc,CAAgB;QAAmB,gBAAW,GAAX,WAAW,CAAa;QAAS,aAAQ,GAAR,QAAQ,CAAgB;QAhBrH,eAAU,GAAY,KAAK,CAAC;QAE5B,kBAAa,GAAY,KAAK,CAAC;QACxC,iBAAY,GAAkB,EAAE,CAAC;QACjC,eAAU,GAAkB,EAAE,CAAC;QAC/B,gBAAW,GAAU,EAAE,CAAC;QAExB,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,qEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,qEAAW,CAAC,kBAAkB,CAAC;QAEnC,iBAAY,GAAS,sFAAc,CAAC,oBAAoB,EAAE,IAAE,MAAM;QAClE,yBAAoB,GAAW,KAAK,CAAC;QACrC,+BAA0B,GAAG,sFAAc,CAAC,6BAA6B,EAAE,CAAC;QAC5E,qBAAgB,GAAY,EAAE,CAAC;QAC/B,gBAAW,GAAQ,EAAE;IAC4G,CAAC;IAvBlI,WAAW;QACP,IAAG,IAAI,CAAC,WAAW,EAAC;YAClB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;SAC/B;IACL,CAAC;IAoBD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC;IACtE,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,sFAAc,CAAC,eAAe,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,sFAAc,CAAC,mBAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,oBAAoB,GAAG,sFAAc,CAAC,uBAAuB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;IAC/F,CAAC;IAED,MAAM;;QACJ,6BAA6B;QAC7B,UAAI,CAAC,SAAS,0CAAE,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE;IACzE,CAAC;IACD,UAAU,CAAC,KAAU;QACnB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;gGAjDU,wBAAwB;wGAAxB,wBAAwB;QChBrC,yEAKC;QAHC,6IAAS,YAAQ,IAAC;QAIlB,oHAiCM;QACN,gNAiCc;QAChB,4DAAM;;;QAvEJ,0JAAoC;QAG9B,0DAAqB;QAArB,mFAAqB;;;;;;;;;;;;;;;;;;;;ACEtB,MAAM,qBAAqB;IAUhC,YAA6B,EAAmB;QAAnB,OAAE,GAAF,EAAE,CAAiB;QARhD,8BAAyB,GAAgC,EAAiC,CAAC;QAE3F,gCAA2B,GAAa,EAAc,CAAC;QAEvD,4BAAuB,GAA4B,EAA4B,CAAC;QAEhF,qBAAgB,GAAa,EAAc,CAAC;IAES,CAAC;IAEtD,4BAA4B,CAAC,yBAAsD;QAC/E,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;IAC/D,CAAC;IAED,0BAA0B,CAAC,uBAA+C;QACxE,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAC3D,CAAC;IAEC,8BAA8B,CAAC,2BAAqC,EAAC,gBAA0B;QAC7F,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,8BAA8B,CAAC,KAAc;QAC3C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACtF,IAAG,OAAO,EAAC;YACT,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACzC,KAAI,IAAI,CAAC,GAAC,CAAC,EAAG,CAAC,GAAE,GAAG,EAAE,CAAC,EAAE,EAAC;gBACxB,IAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAC;oBACpB,UAAU,IAAI,GAAG;iBAClB;gBACD,UAAU,IAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;aAChC;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,qBAAqB;QACnB,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC5E,IAAI,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC/C,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3E,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC/C,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACrD,IAAI,QAAQ,CAAC,UAAU,EAAC;wBACtB,IAAI,GAAG,GAA8B;4BACnC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ;4BACvC,IAAI,EAAE,QAAQ,CAAC,UAAU;4BACzB,UAAU,EAAG,QAAQ,CAAC,UAAU;4BAChC,SAAS,EAAG,IAAI;yBACjB,CAAC;wBACF,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACrB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,yBAAyB,GAAG,UAAU,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6BAA6B,CAAC,QAAiB,EAAE,UAAoB,EAAE,KAAa,EAAE,QAAkB;QACtG,IAAG,QAAQ,EAAC;YACV,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3E,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC/C,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACrD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,EAAG;4BAClC,IAAG,UAAU,EAAC;gCACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gCACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;6BACpH;iCAAI;gCACH,KAAK,CAAC,eAAe,EAAE,CAAC;gCACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gCACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC;6BACtC;4BACD,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;yBAClC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;SACF;aAAI;YACH,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/E,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACjD,IAAI,OAAO,CAAC,oBAAoB,IAAI,QAAQ,EAAG;wBAC7C,IAAG,UAAU,EAAC;4BACZ,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;4BACpE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;yBAC1I;6BAAI;4BACH,KAAK,CAAC,eAAe,EAAE,CAAC;4BACxB,KAAK,CAAC,cAAc,EAAE,CAAC;4BACvB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;yBAC3D;wBACD,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;qBACjC;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,YAAY,CAAC,GAAU,EAAE,QAAkB;QACzC,IAAG,QAAQ,EAAC;YACV,MAAM,KAAK,GAAW,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC1C;SACF;aAAI;YACH,MAAM,KAAK,GAAW,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACrD;SACF;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,yBAAyB,GAAG,EAAiC,CAAC;QACnE,IAAI,CAAC,2BAA2B,GAAG,EAAc,CAAC;QAClD,IAAI,CAAC,uBAAuB,GAAG,EAA4B,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,EAAc,CAAC;IACzC,CAAC;;0FAvHU,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB,mBAFpB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACuBsC;AACe;AACf;AAIb;AACqE;AAGtB;AACG;AAIN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKlF,MAAM,kBAAkB;IAC7B,YACkB,UAAsB,EACtB,MAAc,EACd,WAAwB,EACxB,aAA4B,EAC5B,cAA8B,EAC9B,eAAgC,EAChC,WAAwB,EACxB,eAAgC,EAChC,cAA8B,EAC9B,MAAkB,EAClB,GAAe,EACf,QAAyB,EACzB,kBAAuC,EACvC,cAAiC,EACjC,YAAsB,EACtB,cAA8B,EAC9B,QAAyB,EACzB,gBAAkC,EAClC,cAA8B,EAC9B,eAAgC,EAChC,UAAsB,EACtB,WAAwB,EACxB,aAA4B,EAC5B,eAAgC,EAChC,UAAsB,EACtB,MAAqB,EACrB,WAA+B,EAC/B,cAA8B,EACvC,QAAyB,EAChB,WAA+B,EACxC,MAAqB;QA9BZ,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAY;QAClB,QAAG,GAAH,GAAG,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAiB;QACzB,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,mBAAc,GAAd,cAAc,CAAmB;QACjC,iBAAY,GAAZ,YAAY,CAAU;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,mBAAc,GAAd,cAAc,CAAgB;QACvC,aAAQ,GAAR,QAAQ,CAAiB;QAChB,gBAAW,GAAX,WAAW,CAAoB;QACxC,WAAM,GAAN,MAAM,CAAe;QA8BtB,oBAAe,GAAyB,EAAE,CAAC;IA7BhD,CAAC;IAkBG,+BAA+B;QACpC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QACxC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;QAC/C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IAID;;;;;;;;SAQK;IAEL,2BAA2B;QACzB,uBAAuB;QACvB,IAAI,cAAc,GAAG,uEAAe,CAAC,8BAA8B,CACjE,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAC7C,CAAC;QAEF,oBAAoB;QACpB,IAAI,UAAU,GAAG,uEAAe,CAAC,8BAA8B,CAC7D,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CACrC,CAAC;QAEF,2BAA2B;QAC3B,IAAI,WAAW,GAAG,sFAAc,CAAC,cAAc,EAAE,CAAC;QAElD,IAAI,SAAS,GAAW;;;;;;;;;iCASK,sFAAc,CAAC,WAAW,EAAE;wIAC2E,UAAU;mJACC,cAAc;oJACb,WAAW;;;;;OAKxJ,CAAC;QAEJ,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,KAAU,EAAE,EAAE;YAC9C,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,GAAG,EAA0B,CAAC;QACpD,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,OAAY,EAAE,EAAE;YACrD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAA4B,CAAC;QACtD,CAAC,CAAC;QAEF,uEAAe,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,wBAAwB,CAAC,WAAmB;QACjD,OAAO,IAAI,OAAO,CAAU,CAAO,OAAY,EAAE,EAAE,CAAC;YAClD,IAAI,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAC7B,CAAC;YAEF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC9C,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtD;aACF;YAED,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,EAAC,CAAC;IACL,CAAC;IAEa,sBAAsB,CAAC,aAAiC;;YACpE,OAAO,IAAI,OAAO,CAAU,CAAO,OAAY,EAAE,EAAE,CAAC;gBAClD,IAAI,eAAe,GAAG,IAAI,wFAAoB,CAC5C,aAAa,CAAC,KAAK,EACnB,aAAa,CAAC,KAAK,EACnB,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;gBAEF,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACzC,0HAA4B,EAC5B;oBACE,WAAW,EAAE,eAAe;oBAC5B,gBAAgB,EAAE,eAAe;oBACjC,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,IAAI;iBACf,CACF,CAAC;gBAEF,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;gBACjE,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;gBAC/D,cAAc,CAAC,iBAAiB,CAAC,eAAe;oBAC9C,eAAe,CAAC,eAAe,CAAC;gBAClC,cAAc,CAAC,iBAAiB,CAAC,cAAc;oBAC7C,eAAe,CAAC,cAAc,CAAC;gBACjC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;gBAElE,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CACzD,CAAC,MAAW,EAAE,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CACF,CAAC;YACJ,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IAEM,2BAA2B,CAAC,KAAU;QAC3C,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5D;IACH,CAAC;IAEM,0BAA0B;QAC/B,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SACtD;IACH,CAAC;IAEM,kCAAkC,CAAC,KAAU;QAClD,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3D;IACH,CAAC;IAEM,sBAAsB,CAC3B,UAAmB,EACnB,WAAoB,KAAK,EACzB,QAAkB;;QAElB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;QAED,IAAI,CAAC,kBAAkB,GAAG,uGAAsB,CAAC,IAAI,CACnD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,QAAQ,oBACR,IAAI,CAAC,GAAG,CAAC,aAAa,0CAAE,IAAI,0CAAE,KAAK,mCAAE,CAAC,EACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,oBACzB,IAAI,CAAC,GAAG,CAAC,aAAa,0CAAE,IAAI,0CAAE,GAAG,mCAAE,CAAC,EACpC,IAAI,CAAC,WAAW,CAAC,GAAG,EACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YAC1C,sFAAc,CAAC,oBAAoB,EAAE,IAAI,MAAM,EACjD,QAAQ,CACT,CAAC,iBAAiB,CAAC;IACtB,CAAC;IAEM,uBAAuB;QAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;SACjC;IACH,CAAC;IAEM,uBAAuB,CAAC,aAAsB,KAAK;QACxD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;QAED,IAAI,CAAC,sBAAsB,GAAG,0GAAuB,CAAC,IAAI,CACxD,IAAI,CAAC,YAAY,EACjB,UAAU,CACX,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;IAC3E,CAAC;IAEM,wBAAwB;QAC7B,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;IACH,CAAC;IAEM,yBAAyB;QAC9B,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,OAAO,IAAI,CAAC,sBAAsB,CAAC;SACpC;;YAAM,OAAO,IAAI,CAAC;IACrB,CAAC;IAEM,sBAAsB,CAAC,UAAmB,EAAE,YAAoB;QACrE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,GAAG,GAAG,oGAAqB,CAAC,IAAI,CAClC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,YAAY,CACb,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;oFAzQU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;AC1Cb,MAAM,kBAAkB;IAE7B,YACU,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAC7B,CAAC;IAEJ,eAAe;QACb,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;;oFARU,kBAAkB;kGAAlB,kBAAkB;;;;;;;;;;;;;ACK/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AAClB;AAIyB;;;;;;;;;ICPtE,0EAAsE;IAAvB,yUAAsB;IACjE,uFACJ;IAAA,4DAAO;;;;IACP,0EAAoE;IAAtB,yUAAqB;IAC/D,qFACA;IAAA,4DAAO;;;;IAPb,yEACqH;;IACnH,kIAEO;IACP,kIAEW;IACb,4DAAM;;;IAPN,8UAAoH;IACpF,0DAAe;IAAf,kFAAe;IAGf,0DAAc;IAAd,iFAAc;;;;IAM5C,sEAA8C;IAE5C,yEAAgC;IAC9B,uEAAM;IAAA,uDAA4B;IAAA,4DAAO;IAC3C,4DAAM;IAEN,+FAK8D;IAApC,oYAAmC;IAC7D,4DAA2B;IAE7B,4DAAM;;;;IAXI,0DAA4B;IAA5B,2FAA4B;IAGV,0DAAyC;IAAzC,sGAAyC;;;IAPvE,wEAAuC;IACrC,yIAcM;IACR,qEAAe;;;IAfQ,0DAAuB;IAAvB,gGAAuB;;;IAiB9C,wEAAwC;IACtC,0FAO2B;IAC7B,qEAAe;;;IAPa,0DAAuB;IAAvB,gFAAuB;;;;IA/BrD,4EAA2H;IAA5B,yUAA2B;IACxH,2HAQM;IAEN,4IAgBe;IAEf,4IASe;IACjB,4DAAM;;;IAvCD,kFAAW;IACW,0DAAsB;IAAtB,yFAAsB;IAUhC,0DAAsB;IAAtB,yFAAsB;IAkBtB,0DAAuB;IAAvB,0FAAuB;;ADRjC,MAAM,wBAAwB;IAiDnC,YACmB,WAAwB,EACxB,cAA8B,EAC9B,GAAe,EACf,cAA8B,EACvC,GAAsB;QAJb,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,QAAG,GAAH,GAAG,CAAY;QACf,mBAAc,GAAd,cAAc,CAAgB;QACvC,QAAG,GAAH,GAAG,CAAmB;QA5CxB,oBAAe,GAAmB,EAAE,CAAC;QAE7C,cAAS,GAAa,EAAE,CAAC;QAEzB,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,qEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,qEAAW,CAAC,kBAAkB,CAAC;QAOnC,aAAQ,GAAW,CAAC,CAAC;QAIZ,cAAS,GAAY,KAAK,CAAC;QAI3B,oBAAe,GAAY,KAAK,CAAC;QAE1C,yBAAoB,GAAU,EAAE,CAAC;QAEjC,qBAAgB,GAAY,KAAK,CAAC;QAElC,UAAK,GAAY,KAAK,CAAC;QAEvB,aAAQ,GAAY,KAAK,CAAC;QAE1B,qBAAgB,GAAY,KAAK,CAAC;QAElC,eAAU,GAAY,KAAK,CAAC;QAI5B,cAAS,GAAY,KAAK,CAAC;IAQvB,CAAC;IArDL,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAiDD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,+EAAc,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,+EAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QACrF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,+EAAc,CAAC,kBAAkB,EAAE,IAAI,MAAM;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IAGtB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,IAAI,iBAAiB,GAAU,EAAE,CAAC;oBAElC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;wBAC3B,iBAAiB,CAAC,IAAI,CAAC;4BACrB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;4BACpC,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;4BACxC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;yBACnD,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEH,0DAA0D;oBAE1D,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEvG,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;oBAEtC,0CAA0C;iBAE3C;gBAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;QAEH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAGD;;;MAGE;IACF,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAClD,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE;YACtD,MAAM,KAAK,GAAI,OAAuB,CAAC,SAAS,EAC9C,MAAM,GAAG,EAAE,GAAG,KAAK,EACnB,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAE1B,mBAAmB;YACnB,kBAAkB;YAClB,sBAAsB;YACtB,eAAe;YACf,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,EAAE;gBACvD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;gBAC3C,OAAuB,CAAC,SAAS,GAAG,QAAQ,CAC3C,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CACpD,CAAC;gBACF,IAAI,WAAW,GAAG,QAAQ,EAAE;oBAC1B,qBAAqB,CAAC,aAAa,CAAC,CAAC;iBACtC;qBAAM;oBACJ,OAAuB,CAAC,SAAS,GAAG,EAAE,CAAC;iBACzC;gBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC;YACF,aAAa,EAAE,CAAC;QAClB,CAAC,CAAC;QACF,6DAA6D;QAC7D,cAAc,CAAC,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,GAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAED;;;MAGE;IACF,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAElD,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE;YACtD,MAAM,KAAK,GAAI,OAAuB,CAAC,SAAS,EAC9C,MAAM,GAAG,EAAE,GAAG,KAAK,EACnB,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1B;;;;;eAKG;YACH,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,EAAE;gBACvD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,GAAG,EAAE;gBACzB,MAAM,WAAW,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;gBAC3C,OAAuB,CAAC,SAAS,GAAG,QAAQ,CAC3C,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CACpD,CAAC;gBACF,IAAI,WAAW,GAAG,QAAQ,EAAE;oBAC1B,qBAAqB,CAAC,aAAa,CAAC,CAAC;iBACtC;qBAAM;oBACJ,OAAuB,CAAC,SAAS,GAAG,EAAE,CAAC;iBACzC;gBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC;YACF,aAAa,EAAE,CAAC;QAClB,CAAC,CAAC;QACF,6DAA6D;QAC7D,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QAClD,kDAAkD;QAClD,IAAI,OAAO,EAAE;YACX,IACE,OAAO,CAAC,SAAS;gBACjB,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,EACnD;gBACA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;iBAAM,IACL,OAAO,CAAC,SAAS;gBACjB,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,EACnD;gBACA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;YACD,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;oBACrD,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,sBAAsB,CAAC,SAAkB,EAAE,aAAkB,EAAE,eAAwB,EAAE,SAAmB;QAC1G,IAAI,SAAS,IAAI,aAAa,EAAE;YAC9B,OAAO,MAAM,CAAC;SACf;aACI,IAAI,SAAS,IAAI,eAAe,IAAI,CAAC,aAAa,EAAE;YACvD,OAAO,MAAM,CAAC;SACf;aACI,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE;YACpC,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;SACpC;aACI,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE;YACpC,OAAO,MAAM,CAAC;SACf;aACI,IAAI,eAAe,IAAI,CAAC,aAAa,EAAE;YAC1C,OAAO,MAAM,CAAC;SACf;aACI,IAAG,SAAS,EAAC;YAChB,OAAO,MAAM,CAAC;SACf;aACI;YACH,OAAO,MAAM,CAAC;SACf;IACH,CAAC;;gGApQU,wBAAwB;wGAAxB,wBAAwB;;;;;;QCrBrC,oHAuCM;;QAvC0B,2GAAuC;6wQDmBzD,CAAC,sDAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEdH;AAI4C;AAClB;AAC6F;AAEjG;AAOZ;AACyC;AAU5B;AAEA;AACY;AAQA;AAC0D;;;;;;;;;;;;;;;;;;;;;;IC/BpG,oEAA4D;IAC1D,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,oGACF;;;IAwBQ,wEAA6D;IAC3D,uDAEF;;;;IAAA,4DAAI;;;;IAFF,0DAEF;IAFE,2UAEF;;;;IAVN,0EAAgE;IAC9D,0EAA0D;IACxD,0EAAsC;IACpC,wEAC+C;IAC7C,uDACF;;;IAAA,4DAAI;IACJ,0JAGI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;IAZoB,0DAAiC;IAAjC,8JAAiC;IAElD,0DAA0E;IAA1E,kIAA0E;IAE3E,0DACF;IADE,oQACF;IAC0B,0DAAiC;IAAjC,gGAAiC;;;IAmBrD,uEAC4B;IAC1B,uDAIF;;;IAAA,4DAAO;;;IALL,6EAAyB;IACzB,0DAIF;IAJE,uOAIF;;;;IATJ,2EAA0F;IACxF,oEAAG;IACD,uDACA;IAAA,4LAMO;IACT,4DAAI;IACN,4DAAO;;;;IAXiD,+JAAiC;IAErF,0DACA;IADA,iGACA;IAAO,0DAAyE;IAAzE,uJAAyE;;;IAJtF,sEAAuD;IACrD,qLAWO;IACT,4DAAM;;;IAZG,0DAAuB;IAAvB,uFAAuB;;;IALlC,sEAAmD;IACjD,yEAA+B;IAC7B,uDACF;IAAA,4DAAK;IACL,4KAaM;IAER,4DAAM;;;IAjBF,0DACF;IADE,8FACF;IACwB,0DAA6B;IAA7B,mGAA6B;;;IANzD,wEAA4E;IAE1E,sKAmBM;IACR,qEAAe;;;IApBc,0DAAsB;IAAtB,2FAAsB;;;IAsBnD,wEAA0E;IACxE,qEAEM;;IACR,qEAAe;;;;IAFX,0DAAoG;IAApG,2RAAoG;;;IAY1E,uEACmE;IACrF,uDAGF;IAAA,4DAAO;;;IAHL,0DAGF;IAHE,mHAGF;;;IAEF,uEAC4B;IAC1B,uDAIF;;;IAAA,4DAAO;;;IALL,6EAAyB;IACzB,0DAIF;IAJE,0OAIF;;;IAgBY,uEAE4B;IAC1B,uDAIF;;;IAAA,4DAAO;;;IALL,6EAAyB;IACzB,0DAIF;IAJE,uOAIF;;;IAXJ,2EACoC;IAClC,oEAAG;IACD,uDACA;IAAA,sOAOO;IACT,4DAAI;IACN,4DAAO;;;;IAZL,+JAAiC;IAE/B,0DACA;IADA,iGACA;IACG,0DAAyE;IAAzE,uJAAyE;;;IANlF,sEAAuD;IACrD,+NAaO;IACT,4DAAM;;;IAdG,0DAAuB;IAAvB,uFAAuB;;;IANlC,sEAAoD;IAKlD,sNAeM;IAER,4DAAM;;;IAjBoB,0DAA6B;IAA7B,mGAA6B;;;IAPzD,wEAA8E;IAE5E,gNAsBM;IAER,qEAAe;;;IAxBc,0DAAuB;IAAvB,6FAAuB;;;IA0BpD,wEAA4E;IAC1E,qEAAmF;;IACrF,qEAAe;;;;IADR,0DAAuE;IAAvE,2PAAuE;;;IAhDlF,wEAA2C;IACzC,6EAA0B;IACxB,uDAAoB;IAAA,mMAKb;IACT,4DAAS;IACT,oMAMO;IACP,gEAAM;IAEN,0EAAc;IACZ,mNA0Be;IAEf,mNAEe;IAEjB,4DAAM;IAGR,qEAAe;;;;IApDX,0DAAoB;IAApB,6FAAoB;IACjB,0DAAkF;IAAlF,oJAAkF;IAMhF,0DAA+E;IAA/E,6JAA+E;IAUrE,0DAA6D;IAA7D,iIAA6D;IA4B7D,0DAA2D;IAA3D,+HAA2D;;;IAhDhF,sEAAmE;IACjE,oMAsDe;IACjB,4DAAM;;;IAvDW,0DAA0B;IAA1B,0FAA0B;;;IAF7C,sEAA4E;IAC1E,4KAwDM;IACR,4DAAM;;;;IAzDuB,0DAAsC;IAAtC,mHAAsC;;;IAiErC,uEAAgE;IAClF,uDACF;IAAA,4DAAO;;;IADL,0DACF;IADE,oGACF;;;IAEF,uEAC4B;IAC1B,uDAIF;;;IAAA,4DAAO;;;IALL,6EAAyB;IACzB,0DAIF;IAJE,0OAIF;;;IAeY,uEAE4B;IAC1B,uDAIF;;;IAAA,4DAAO;;;IALL,6EAAyB;IACzB,0DAIF;IAJE,uOAIF;;;IAXJ,2EACoC;IAClC,oEAAG;IACD,uDACA;IAAA,4OAOO;IACT,4DAAI;IACN,4DAAO;;;;IAZL,+JAAiC;IAE/B,0DACA;IADA,iGACA;IACG,0DAAyE;IAAzE,uJAAyE;;;IANlF,sEAAuD;IACrD,qOAaO;IACT,4DAAM;;;IAdG,0DAAuB;IAAvB,uFAAuB;;;IALlC,sEAAoD;IAIlD,4NAeM;IAER,4DAAM;;;IAjBoB,0DAA6B;IAA7B,mGAA6B;;;IANzD,wEAA8E;IAE5E,sNAqBM;IAER,qEAAe;;;IAvBc,0DAAuB;IAAvB,6FAAuB;;;IAyBpD,wEAA4E;IAC1E,qEAAmF;;IACrF,qEAAe;;;;IADR,0DAAuE;IAAvE,2PAAuE;;;IA5ClF,wEAA2C;IACzC,6EAA0B;IACxB,uDAAoB;IAAA,yMAEb;IACT,4DAAS;IACT,0MAMO;IACP,gEAAM;IAEN,0EAAc;IACZ,yNAyBe;IAEf,yNAEe;IAEjB,4DAAM;IAGR,qEAAe;;;;IAhDX,0DAAoB;IAApB,6FAAoB;IAAO,0DAAuD;IAAvD,yHAAuD;IAI7E,0DAA+E;IAA/E,6JAA+E;IAUrE,0DAA6D;IAA7D,iIAA6D;IA2B7D,0DAA2D;IAA3D,+HAA2D;;;IA5ChF,sEAA2C;IACzC,0MAkDe;IACjB,4DAAM;;;IAnDW,0DAA0B;IAA1B,0FAA0B;;;IAH7C,sEAA+C;IAE7C,kLAoDM;IACR,4DAAM;;;IArDuB,0DAAc;IAAd,oFAAc;;;IAH7C,sEAA6E;IAC3E,4KAuDM;IACR,4DAAM;;;IAxDmB,0DAAsB;IAAtB,2FAAsB;;;IAjEjD,wEAA4E;IAI1E,sKA0DM;IAEN,sKAyDM;IACR,qEAAe;;;IAtHP,0DAAoE;IAApE,wIAAoE;IA4DpE,0DAAqE;IAArE,yIAAqE;;;IA6D3E,wEAAqG;IACnG,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,0GACF;;;IACA,oEAA2D;IACzD,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,gHACF;;;IACA,wEAIyF;IACvF,uDACF;IAAA,4DAAI;;;;IADF,0DACF;IADE,oOACF;;;;;IAUR,0EACuG;IACrG,2EAEwF;IAA9B,8bAA6B;IACrF,qEAC+F;IACjG,4DAAO;IACP,uEACkF;;IAClF,2EAEwF;IAA9B,8bAA6B;IACrF,qEACoF;IACtF,4DAAO;IACT,4DAAM;;;IAZF,0DAAwB;IAAxB,2FAAwB;IADxB,sPAAsH;IAKjH,0DAAwB;IAAxB,2FAAwB;IAC7B,mLAAqD;IAGrD,0DAAwB;IAAxB,2FAAwB;IADxB,sPAAsH;;;IAUpH,uEAAwB;IAAA,8DAAG;IAAA,4DAAO;;;IAClC,uEAAwB;IAAA,8DAAG;IAAA,4DAAO;;;IAClC,uEAAwB;IAAA,6DAAE;IAAA,4DAAO;;;IACjC,uEAAwB;IAAA,8DAAG;IAAA,4DAAO;;;IAClC,kEAA8B;;;IAPlC,0EAA4D;IAC1D,uDACA;IAAA,wEAAsC;IACpC,wKAAkC;IAClC,wKAAkC;IAClC,wKAAiC;IACjC,wKAAkC;IAClC,wKAA8B;IAChC,4DAAI;IACN,4DAAM;;;;IAToB,8JAAiC;IACzD,0DACA;IADA,8FACA;IAAG,0DAAkC;IAAlC,8FAAkC;IAC5B,0DAAe;IAAf,2EAAe;IACf,0DAAe;IAAf,2EAAe;IACf,0DAAe;IAAf,2EAAe;IACf,0DAAe;IAAf,2EAAe;;;IAQ5B,wEAA8D;IAC5D,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,kGACF;;;IACA,wEAIC;IACC,uDACF;IAAA,4DAAI;;;IADF,0DACF;IADE,kGACF;;;IAYA,wEAA6D;IAC3D,uDAMF;;;;IAAA,4DAAI;;;IANF,0DAMF;IANE,iZAMF;;;IAjBF,0EAAoG;IAClG,yEAG2E;IACzE,uDAIF;;;IAAA,4DAAK;IACL,0JAOI;IACN,4DAAM;;;;IAlBwB,+JAAiC;IACzD,0DAGD;IAHC,kIAGD;IACD,0DAIF;IAJE,2QAIF;IAC0B,0DAAiC;IAAjC,gGAAiC;;;IAyB/D,wEAA+D;IAC7D,uDAA2C;IAAA,uEAAgC;IAAA,uDACrD;;IAAA,4DAAO;IAC/B,4DAAI;;;;IAFF,0DAA2C;IAA3C,wHAA2C;IAAM,0DAAyB;IAAzB,6EAAyB;IAAC,0DACrD;IADqD,gLACrD;;;IAGxB,wEAA0F;IACxF,uDACF;;;IAAA,4DAAI;;;IAF4D,6EAAyB;IACvF,0DACF;IADE,4OACF;;;;IARF,+DAAqF;IAArF,0EAAqF;IACnF,0JAGI;IAEJ,0JAEI;IACN,4DAAM;;;;IARiB,0DAAwC;IAAxC,+GAAwC;IAKvC,0DAAwC;IAAxC,+GAAwC;;;;;IAjTpE,wEAA8F;IAE5F,yEAAsB;IACpB,yEAAsB;IACpB,yEAAsB;IACpB,yEAAsB;IACpB,yEAAqB;IACnB,yEAEwE;IAF7B,ocAA8B;IAAzE,4DAEwE;IACxE,kJAEI;IACN,4DAAM;IACN,yEAAuB;IACrB,0EAAkD;IAA7C,ocAA8B;IACjC,8EAA0B;IACxB,wDAIF;IAAA,4DAAS;IAQT,0JAaM;IAEN,2EAAc;IACZ,0KAsBe;IAEf,0KAIe;IAEf,0KA0He;IAEf,2EAA4B;IAC1B,qJAEI;IACJ,oJAEI;IACJ,qJAMI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EAAuB;IACrB,2EAA4B;IAC1B,0JAgBM;IACN,qPAWc;IAId,qJAEI;IACJ,qJAMI;IACN,4DAAM;IACN,0JAkBM;IAEN,2EAAwB;IACtB,4EAAmB;IACjB,8DACwD;IADxD,2EACwD;IAA3B,scAA0B;IACrD,uEAEmB;IACnB,uEAA4E;IAC9E,4DAAM;IAER,4DAAO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,yJASM;IACR,4DAAM;IAER,qEAAe;;;;;IAhTE,0DAAqC;IAArC,4KAAqC;IAExC,+LAAmE;IACjE,0DAAsD;IAAtD,0HAAsD;IAOtD,0DAIF;IAJE,kNAIF;IAQ6B,0DAAiC;IAAjC,oGAAiC;IAgB7C,0DAA2D;IAA3D,6HAA2D;IAwB3D,0DAAyD;IAAzD,2HAAyD;IAMzD,0DAA2D;IAA3D,6HAA2D;IA6HxC,0DAAmE;IAAnE,qIAAmE;IAG/F,0DAAqD;IAArD,uHAAqD;IAGrD,0DAIF;IAJE,kKAIF;IAaP,0DAAiF;IAAjF,iJAAiF;IA+B5D,0DAAoC;IAApC,mGAAoC;IAGpC,0DAItC;IAJsC,uJAItC;IAI6E,0DAAiC;IAAjC,oGAAiC;IAuB5F,0DAA0B;IAA1B,6FAA0B;IAWd,0DAA6D;IAA7D,8IAA6D;;;IA5SzF,wEAA+D;IAC7D,2JAuTe;IAEjB,qEAAe;;;;IAzTE,0DAA6E;IAA7E,0JAA6E;;;;IAiVtF,0EAAiG;IAC/F,oEAAG;IAAA,uDAAqB;IAAA,4DAAI;IAC9B,4DAAM;;;IAFwB,0IAA8B;IACvD,0DAAqB;IAArB,kGAAqB;;;IAtBhC,0EAA8D;IAC5D,yEAAsB;IACpB,yEAAsB;IACpB,yEAAsB;IACpB,oEAIM;IACN,oEAEM;IACR,4DAAM;IACR,4DAAM;IAEN,0EAAuB;IACrB,0EAA4B;IAC1B,0EAA4B;IAC1B,qEACF;IAAA,4DAAM;IACR,4DAAM;IACN,gJAEM;IAEN,2EAAwB;IACtB,uEAEO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAX8D,2DAAiC;IAAjC,sGAAiC;;;IA4B/F,0EAAoG;IAClG,oEAAG;IAAA,uDAAkE;;;IAAA,4DAAI;IAC3E,4DAAM;;;IAFwB,+JAAiC;IAC1D,0DAAkE;IAAlE,uPAAkE;;;IAezE,mEAEI;;IAFsC,6EAAyB;;;IA/BvE,0EAA8D;IAC5D,yEAAsB;IACpB,yEAAsB;IACpB,yEAAsB;IACpB,oEAA2B;IAC3B,oEAA6B;IAC/B,4DAAM;IACR,4DAAM;IAEN,0EAAuB;IACrB,0EAA4B;IAC1B,0EAA4B;IAC1B,wEAAuB;IAAA,uEAAW;IAAA,4DAAI;IACxC,4DAAM;IACR,4DAAM;IACN,gJAEM;IAEN,2EAAwB;IACtB,uEAEO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,2EAAqB;IACnB,oEAEI;IAEJ,4IAEI;IACN,4DAAM;IACR,4DAAM;;;IApBiE,2DAAiC;IAAjC,sGAAiC;IAgB9E,0DAAkB;IAAlB,uFAAkB;;;IAlE9C,wEAAuC;IACrC,yIAgCM;IAEN,yIAmCM;IACR,qEAAe;;;IAtE0B,0DAAqB;IAArB,wFAAqB;IAkCrB,0DAAqB;IAArB,wFAAqB;;AD9SzD,MAAM,4BAA4B;IAqEvC,YACmB,WAAwB,EACxB,MAAc,EACd,cAA8B,EAC9B,GAAe,EACxB,cAA8B,EACrB,GAAsB,EAC/B,QAAyB,EACzB,IAAiB,EACjB,QAAyB,EACzB,QAAyB,EACzB,YAAsB,EACtB,WAA+B,EAC/B,MAAqB,EACZ,WAAwB,EACjC,eAAgC,EAChC,EAAsB,EACtB,QAAyB;QAhBhB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,QAAG,GAAH,GAAG,CAAY;QACxB,mBAAc,GAAd,cAAc,CAAgB;QACrB,QAAG,GAAH,GAAG,CAAmB;QAC/B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,SAAI,GAAJ,IAAI,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,iBAAY,GAAZ,YAAY,CAAU;QACtB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,WAAM,GAAN,MAAM,CAAe;QACZ,gBAAW,GAAX,WAAW,CAAa;QACjC,oBAAe,GAAf,eAAe,CAAiB;QAChC,OAAE,GAAF,EAAE,CAAoB;QACtB,aAAQ,GAAR,QAAQ,CAAiB;QA7E3B,oBAAe,GAAmB,EAAE,CAAC;QAEpC,cAAS,GAAa,EAAE,CAAC;QAEzB,qBAAgB,GAAW,EAAE,CAAC;QAEvC,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,qEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,qEAAW,CAAC,kBAAkB,CAAC;QAQnC,cAAS,GAAW,EAAE,CAAC;QAEvB,eAAU,GAAkB,EAAE,CAAC;QAE/B,cAAS,GAAW,EAAE,CAAC;QAEvB,eAAU,GAAW,EAAE,CAAC;QAExB,gBAAW,GAAY,KAAK,CAAC;QAE7B,qBAAgB,GAAY,IAAI,CAAC;QACjC,gBAAW,GAAW,EAAE,CAAC;QACzB,oBAAe,GAAY,KAAK,CAAC;QACjC,gBAAW,GAAW,EAAE,CAAC;QAEzB,UAAK,GAAY,KAAK,CAAC;QAEvB,qBAAgB,GAAY,KAAK,CAAC;QAElC,+BAA0B,GAAG,+EAAc,CAAC,6BAA6B,EAAE,CAAC;QAE5E,kBAAa,GAAY,KAAK,CAAC;QAE/B,YAAO,GAAW,EAAE,CAAC;QAErB,mBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAc,GAAW,EAAE,CAAC;QAElB,mBAAc,GAAG,IAAI,0DAAY,EAAO,CAAC;QAEnD,oBAAe,GAAoB,IAAI,4CAAO,EAAU,CAAC;QAEzD,gBAAW,GAAW,CAAC,CAAC;QAExB,gBAAW,GAAW,CAAC,CAAC;QAExB,qBAAgB,GAAW,EAAE,CAAC;QAE9B,gBAAW,GAAW,EAAE,CAAC;QAEzB,kBAAa,GAAwB,EAAyB,CAAC;IAsB5D,CAAC;IAtFJ,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAkFD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,+EAAc,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,+EAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,+EAAc,CAAC,YAAY,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,+EAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,+EAAc,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,+EAAc,CAAC,mBAAmB,EAAE,IAAI,MAAM,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,+EAAc,CAAC,wBAAwB,EAAE,IAAI,MAAM,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,+EAAc,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,gBAAgB;YACnB,+EAAc,CAAC,mBAAmB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,+EAAc,CAAC,mBAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,eAAe;YAClB,+EAAc,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;QAE9D,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,+EAAc,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAEzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEK,gBAAgB;;YACpB,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QACrE,CAAC;KAAA;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAAC,IAAS;QAC1B,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC;IACvD,CAAC;IACD,eAAe;QACb,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,4BAA4B;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAE5C,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CACnD,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,uEAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mEAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE;oBACnD,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;iBAC1C;YACH,CAAC,CAAC,CACH,CAAC;SACH;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBACnB;iBACF;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACnB;aACF;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACpD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACpC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACpC,IAAI,CAAC,WAAW;4BACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBACvD;iBACF;aACF;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9C,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAS;QACvB,8CAA8C;QAC9C,wCAAwC;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;gBACxC,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC1C;iBAAM;gBACL,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE;oBAC/B,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;iBAClD;;oBAAM,OAAO,4BAA4B,CAAC;aAC5C;SACF;IACH,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,+CAA+C;QAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACxC;QACD,IAAI,+EAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;QACD,MAAM,SAAS,GAAW,uEAAe,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,SAAS,IAAI,MAAM,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,CAAC,uEAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC5C,IAAI,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,MAAM,EAAE;gBACvD,OAAO,KAAK,CAAC;aACd;SACF;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE;YACtC,WAAW,EAAE;gBACX,EAAE,EAAE,IAAI,CAAC,MAAM;gBACf,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,gFAAgF;IAChF,iCAAiC;IACjC,OAAO;IACP,GAAG;IAEH;;;OAGG;IACH,MAAM,CAAC,IAAY;QACjB,IAAI,mBAAmB,GAAW,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpD,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,mBAAmB,IAAI,QAAQ,EAAE;YACxE,IAAI,GAAG,GAAG,6HAA6B,CAAC,IAAI,CAC1C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,EACpD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EACtC,wEAAU,CAAC,kBAAkB,CAC9B,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,IAAI,GAAG,IAAI,KAAK,EAAE;oBAChB,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;oBACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC;QACtC,IAAI,+EAAc,CAAC,gBAAgB,EAAE,IAAI,gFAAW,CAAC,CAAC,CAAC,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;SACpD;QACD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/B,kDAAkD;QAClD,IACE,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,IAAI,GAAG,EACzD;YACA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC1D;aAAM,IACL,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,IAAI,GAAG;YACzD,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7D;YACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAE9B,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;aAClD;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YACrC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;SACF;QACD,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO;YACtD,IAAI,CAAC,IAAI,CAAC,cAAc,EACxB;YACA,IAAI,CAAC,cAAc;iBAChB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iBACpD,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;gBACZ,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;oBACtD,2DAA2D;iBAC5D;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC/D,oCAAoC;oBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;wBACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,MAAM;wBACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAAC;oBAC9D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iBACjC;YACH,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;SACL;QACD;;WAEG;QACH,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD;;;;;OAKG;IACH,gBAAgB,CAAC,KAAa;QAC5B,6BAA6B;QAE7B,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACxC;QACD,IAAI,+EAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEvC,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,IAAI,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC1D,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EACrB,QAAQ,CACT,CAAC;YACF,IAAI,gBAAgB,EAAE;gBACpB,OAAO;aACR;SACF;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,eAAe,GAAG,QAAQ,CAAC,oBAAoB,CAAC;QACpD,MAAM,QAAQ,GAAG,+EAAc,CAAC,4BAA4B,EAAE,CAAC;QAC/D,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE;YACpE,IACE,QAAQ,CAAC,uBAAuB;gBAC9B,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACtC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB;gBACA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aACvC;iBAAM;gBACL,IAAI,KAAK,IAAI,eAAe,EAAE;oBAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;oBAClE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;oBACrD,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAClD;aACF;SACF;aAAM;YACL,IAAI,sBAAsB,GAAG,uEAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAI,sBAAsB,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;aAC/D;iBAAM;gBACL,IAAI,KAAK,IAAI,eAAe,EAAE;oBAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;oBAClE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;oBACrD,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAClD;aACF;SACF;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;SACtD;aAAM;YACL,QAAQ,CAAC,UAAU;gBACjB,uEAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACtE;QACD,IAAI,+EAAc,CAAC,gBAAgB,EAAE,IAAI,gFAAW,CAAC,CAAC,CAAC,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;SACpD;QAED;;WAEG;QACH,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,qBAAqB,CACnB,SAAc,EACd,eAAwB,IAAI,EAC5B,oBAA6B,IAAI;QAEjC,IAAI,QAAQ,GAAG,GAAG,CAAC;QAEnB,IAAI,uBAAuB,GACzB,+EAAc,CAAC,uBAAuB,EAAE,IAAI,YAAY,CAAC;QAC3D,IACE,+EAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE;YAC/C,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EACrB;YACA,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACnC;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzD,IAAI,SAAS,GAAG,uEAAe,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAE9D,IAAI,YAAY,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEvE,IAAI,uBAAuB,EAAE;oBAC3B,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;oBACrC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;oBACrD,IAAI,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;oBAEvC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,SAAS,GAAG,YAAY,CAAC;iBAC1B;gBAED,IAAI,iBAAiB,EAAE;oBACrB,QAAQ;wBACN,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC;iBACpE;qBAAM;oBACL,QAAQ,IAAI,SAAS,CAAC;iBACvB;aACF;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,mCAAmC,CAAC,KAAc,EAAE,KAAa;QAC/D,IAAI,mBAAmB,GAAW,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEhE,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAEpD,IAAI,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxE;aAAM;YACL,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrC,YAAY,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACxE;iBAAM;gBACL,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACxC;SACF;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEhE,+DAA+D;QAC/D,IAAI,KAAK,EAAE;YACT,YAAY,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxE;aAAM;YACL,YAAY,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,mBAAmB,IAAI,QAAQ,EAAE;YACxE,IAAI,GAAG,GAAG,6HAA6B,CAAC,IAAI,CAC1C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,CAAC,EACpD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EACtC,wEAAU,CAAC,kBAAkB,CAC9B,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,IAAI,GAAG,IAAI,KAAK,EAAE;oBAChB,KAAK;wBACH,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;wBACjC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;iBACxC;qBAAM;oBACL,mEAAmE;iBACpE;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC1E;IACH,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,0BAA0B,CAAC,QAAgB,EAAE,KAAU;QACrD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAE/B,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3C;;WAEG;QACH,IAAI,CAAC,iCAAiC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,wDAAwD;QACxD,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,iCAAiC,CAAC,QAAgB,EAAE,KAAc;QAChE;;WAEG;QACH,IACE,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,IAAI,GAAG,EACzD;YACA,IAAI,KAAK,EAAE;gBACT,QAAQ,CAAC,cAAc;oBACrB,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC7B;iBAAM;gBACL,QAAQ,CAAC,cAAc;oBACrB,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC7B;SACF;aAAM,IACL,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,IAAI,GAAG,EACzD;YACA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC1D;QAED,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,IAAI,KAAK,EAAE;gBACT,QAAQ,CAAC,cAAc;oBACrB,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC7B;iBAAM;gBACL,QAAQ,CAAC,cAAc;oBACrB,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC7B;SACF;QAED,wDAAwD;IAC1D,CAAC;IAED,oBAAoB;QAClB,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO;YACtD,IAAI,CAAC,IAAI,CAAC,cAAc,EACxB;YACA,IAAI,CAAC,cAAc;iBAChB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iBACpD,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBAClB,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;oBACtD,2DAA2D;iBAC5D;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC/D,oCAAoC;oBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;wBACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,MAAM;wBACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAAC;oBAC9D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAC9B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAC5D,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACxC;QACD,IAAI,+EAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE;YACpE,IAAI,WAAW,GAAG,CAAC,EAAE;gBACnB,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;oBAC5C,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC/B,+EAAc,CAAC,eAAe,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;wBACjC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;wBACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE;gCAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCAC1D,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE;wCAC3D,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CACvD,CAAC,QAAQ,EAAE,CAAC;wCACb,IACE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4CAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAClD;4CACA,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;yCAC/C;wCACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qCAC5C;oCACD,MAAM;iCACP;gCACD,MAAM;6BACP;yBACF;qBACF;iBACF;qBAAM,IAAI,KAAK,IAAI,CAAC,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtB,IACE,QAAQ,CAAC,uBAAuB;wBAChC,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;wBACA,+EAAc,CAAC,eAAe,EAAE,CAAC;qBAClC;iBACF;gBAED;;mBAEG;gBACH,IAAI,CAAC,iCAAiC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACxD,wDAAwD;aACzD;iBAAM;gBACL,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC/B,IACE,QAAQ,CAAC,uBAAuB;wBAChC,yEAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,EACpC;wBACA,+EAAc,CAAC,eAAe,EAAE,CAAC;qBAClC;oBACD,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;wBACjC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;wBACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE;gCAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCAC1D,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE;wCAC3D,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CACvD,CAAC,QAAQ,EAAE,CAAC;wCACb,IACE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4CAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAClD;4CACA,MAAM,CAAC,CAAC,CAAC,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;yCAC/C;wCACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wCAC3C,MAAM;qCACP;iCACF;gCACD,MAAM;6BACP;yBACF;qBACF;iBACF;qBAAM,IAAI,KAAK,IAAI,CAAC,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACtB;;uBAEG;oBACH,uEAAuE;oBACvE,oEAAoE;oBACpE,IAAI;iBACL;gBACD;;mBAEG;gBACH,IAAI,CAAC,iCAAiC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACxD,wDAAwD;aACzD;SACF;aAAM;YACL,IAAI,sBAAsB,GAAG,uEAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAI,sBAAsB,GAAG,CAAC,EAAE;gBAC9B,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACvB;qBAAM;oBACL,IAAI,eAAe,GAAG,uEAAe,CAAC,uBAAuB,CAC3D,sBAAsB,EACtB,KAAK,EACL,KAAK,CACN,CAAC;oBACF,+EAAc,CAAC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAClE,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC5C;aACF;iBAAM;gBACL,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACvB;qBAAM;oBACL,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC5C;aACF;SACF;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;SACpD;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;SACtD;aAAM;YACL,QAAQ,CAAC,UAAU;gBACjB,uEAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACtE;QACD,IAAI,+EAAc,CAAC,gBAAgB,EAAE,IAAI,gFAAW,CAAC,CAAC,CAAC,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/B,IACE,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,wEAAW,CAAC,OAAO;YACtD,IAAI,CAAC,IAAI,CAAC,cAAc,EACxB;YACA,IAAI,CAAC,cAAc;iBAChB,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iBACpD,IAAI,CACH,CAAC,IAAS,EAAE,EAAE;gBACZ,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;oBACtD,2DAA2D;iBAC5D;qBAAM,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC/D,oCAAoC;oBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ;wBACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,MAAM;wBACrB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAS,CAAC,eAAe,CAAC;oBAC9D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;iBACjC;YACH,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;SACL;QAED;;WAEG;QACH,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,eAAe,CACb,OAAe,EACf,SAAc,EACd,yBAA8B,CAAC;QAE/B,MAAM,QAAQ,GAAG,+EAAc,CAAC,4BAA4B,EAAE,CAAC;QAE/D,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7C,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE;gBACvD,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACrC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAC/C,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAC;aACH;iBAAM;gBACL,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;aACjD;YAED,IAAI,eAAe,GAAG,uEAAe,CAAC,uBAAuB,CAC3D,sBAAsB,EACtB,SAAS,EACT,IAAI,CACL,CAAC;YACF,IAAI,eAAe,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACvC,IAAI,SAAS,GAAG,OAAO,CAAC,oBAAoB,EAAE;oBAC5C,OAAO,CAAC,QAAQ,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9C,+EAAc,CAAC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACnE;aACF;iBAAM;gBACL,2JAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC1D;SACF;IACH,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,oBAAoB,CAAC,QAAsB,EAAE,aAAsB;QACjE,IAAI,aAAa,GAAG,+EAAc,CAAC,iBAAiB,EAAE,CAAC;QACvD,SAAS,gBAAgB,CAAC,UAAgC;YACxD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IACE,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM;gBAC7B,+EAAc,CAAC,uBAAuB,EAAE,IAAI,MAAM;gBAClD,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACjC,CAAC,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,SAAS,IAAI,OAAO,CAAC,EAC1D;gBACA,QAAQ,IAAI,4BAA4B,UAAU,CAAC,IAAI,EAAE,CAAC;gBAE1D;;mBAEG;gBACH,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACnC,QAAQ,IAAI;gCACU,UAAU,CAAC,QAAQ;8BACrB,CAAC;iBACtB;gBACD,IAAI,CAAC,aAAa,EAAE;oBAClB,IAAI,+EAAc,CAAC,wBAAwB,EAAE,IAAI,EAAE,EAAE;wBACnD,IAAI,UAAU,CAAC,SAAS,IAAI,MAAM,EAAE;4BAClC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gCACrC,QAAQ,IAAI;sBACN,aAAa,IAAI,UAAU,CAAC,UAAU;;iBAE3C,CAAC;6BACH;yBACF;qBACF;yBAAM;wBACL,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BACrC,QAAQ,IAAI;kBACR,aAAa,IAAI,UAAU,CAAC,UAAU;;eAEzC,CAAC;yBACH;qBACF;iBACF;gBACD,QAAQ,IAAI,UAAU,CAAC;aACxB;iBAAM,IACL,UAAU,CAAC,kBAAkB;gBAC7B,+EAAc,CAAC,wBAAwB,EAAE,IAAI,MAAM,EACnD;gBACA,QAAQ,IAAI,iCAAiC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAE/D,wCAAwC;gBACxC,uBAAuB;gBACvB,4CAA4C;gBAC5C,uBAAuB;gBACvB,GAAG;gBAEH,QAAQ,IAAI,SAAS,CAAC;aACvB;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,SAAS,+BAA+B,CAAC,QAAa;YACpD,yHAAyH;YACzH,IAAI,wBAAwB,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,UACzD,GAAQ;gBAER,OAAO,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,IACE,uEAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC;gBAClD,wBAAwB,CAAC,MAAM;gBACjC,uEAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzD;gBACA,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC;QACD,SAAS,cAAc,CAAC,QAAoB;YAC1C,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,SAAS,qBAAqB;gBAC5B,IACE,+BAA+B,CAAC,QAAQ,CAAC;oBACzC,+EAAc,CAAC,uBAAuB,EAAE,IAAI,OAAO;oBACnD,+EAAc,CAAC,wBAAwB,EAAE,IAAI,MAAM,EACnD;oBACA,OAAO,IAAI,CAAC;iBACb;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACnD,QAAQ,IAAI,oBAAoB,CAAC;gBAEjC,QAAQ,IAAI,8BAA8B,CAAC;gBAE3C,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE;oBAChD,QAAQ,IAAI,gCAAgC,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACjE;qBAAM;oBACL,QAAQ,IAAI,UAAU,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBAC3C;gBAED,IACE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC7B;oBACA,QAAQ,IAAI;8BACQ,QAAQ,CAAC,QAAQ;4BACnB,CAAC;iBACpB;gBAED,IAAI,CAAC,aAAa,EAAE;oBAClB,IAAI,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBAChD,QAAQ,IAAI,YAAY,QAAQ,CAAC,KAAK,SAAS,CAAC;qBACjD;iBACF;gBAED,QAAQ,IAAI,SAAS,CAAC;gBAEtB,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3D,MAAM,kBAAkB,GACtB,uEAAe,CAAC,iCAAiC,CAC/C,QAAQ,CAAC,WAAW,EACpB,IAAI,CACL,CAAC;oBAEJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClD,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBAElC,QAAQ,IAAI,OAAO,CAAC;wBAEpB,IAAI,GAAG,CAAC,YAAY,EAAE;4BACpB,IAAI,UAAU,GAAG,GAA2B,CAAC;4BAE7C,QAAQ,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;yBAC1C;6BAAM,IAAI,GAAG,CAAC,UAAU,EAAE;4BACzB,IAAI,GAAG,GAAG,GAAiB,CAAC;4BAC5B,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;yBACjC;wBACD,QAAQ,IAAI,QAAQ,CAAC;qBACtB;iBACF;gBACD,QAAQ,IAAI,QAAQ,CAAC;aACtB;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,oCAAoC;QAEpC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,YAAY,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,yBAAyB,CAAC,KAAa;QACrC,IAAI,gBAAgB,GAAa,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACtC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrC,IAAI,SAAS,CAAC,UAAU,EAAE;oBACxB,IACE,gBAAgB,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,SAAS,CAAC,kBAAkB,CAC5D,IAAI,SAAS,EACd;wBACA,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAClC;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACW,yBAAyB,CAAC,QAAgB;;YACtD,IAAI,iBAAiB,GACnB,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC5C,CAAC;KAAA;IAED;;;OAGG;IACK,iBAAiB,CAAC,iBAAsB;QAC9C,IAAI,iBAAiB,IAAI,iBAAiB,IAAI,SAAS,EAAE;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAErD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAC5C,CAAC;YACF,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,IAAI,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9D,IAAI,iBAAiB,CAAC,KAAK,IAAI,CAAC,EAAE;oBAChC,IAAI,MAAM,GACR,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC;oBAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;qBAC9B;iBACF;qBAAM,IAAI,iBAAiB,CAAC,KAAK,IAAI,CAAC,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B;aACF;SACF;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,gBAAgB,GAAW,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACrC,gBAAgB,GAAG,MAAM,CACvB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,CACjD,CAAC;SACH;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;;wGAljCU,4BAA4B;4GAA5B,4BAA4B;QClDzC,yEAAwB;QACtB,0IA0Te;QAEf,0IAuEe;QACjB,4DAAM;;QApY+B,0DAAa;QAAb,kFAAa;QA4TjC,0DAAsB;QAAtB,sFAAsB;quaD7QzB,CAAC,sDAAU,CAAC;;;;;;;;;;;;;AEhD1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AAGZ;;;;;;;AAQpD,MAAM,4BAA4B;IAmBvC,YACE,WAAwB,EAChB,IAAY,EACZ,MAAc,EACd,MAAkB,EAC1B,mBAAwC,EAChC,QAAwB;QAJxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAY;QAElB,aAAQ,GAAR,QAAQ,CAAgB;QAhB1B,oBAAe,GAAmB,EAAE,CAAC;QAG7C,aAAQ,GAAW,EAAE,CAAC;QAItB,mBAAc,GAAQ,EAAE;QACxB,gBAAW,GAAQ,EAAE;QACrB,iBAAY,GAAQ,EAAE;QASpB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH;IACH,CAAC;IAlCD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IA6BD,QAAQ;QACN,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;QACnE,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC;IACrE,CAAC;IACD,QAAQ;IAER,CAAC;IAED,SAAS;QACP,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC,sBAAsB,CAC7B,iBAAiB,CACe,CACnC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAElC,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CACtC,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,EACD,CAAC,QAAa,EAAE,EAAE;YAEhB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,GAAG,GAAG,IAAI,wEAAW,CACvB,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,QAAQ,EACR,IAAI,CACL,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAEjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAErD,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC,sBAAsB,CAC7B,iBAAiB,CACe,CACnC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAEjC,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;gBAC5B,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC;aACtC;YAED,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,QAAQ;oBAAE,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;YACxC,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,EACD,GAAG,EAAE;YACH,IAAI,CAAC,QAAQ;gBACX,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE;oBACtC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;oBAC1B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,EAAE;oBAC5C,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC,sBAAsB,CAC7B,iBAAiB,CACe,CACnC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACnC,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAA+B;QAC7C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,IAAI,GAAG,IAAI,CAAC;YAEhB,IAAI;gBACF,IACE,KAAK,IAAI,IAAI;oBACb,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI;oBAClB,IAAI,CAAC,KAAK,CAAmB,CAAC,MAAM,IAAI,CAAC,EAC1C;oBACA,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;qBACzB;oBAED,IAAI,UAAU,GAAG,EAAE,CAAC;oBACpB,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,IAAI,SAAS,GAAG,EAAE,CAAC;oBACnB,IAAI,aAAa,GAAG,EAAE,CAAC;oBAEvB,IAAI,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;wBAErC,OAAO,CAAC,GAAG,CAAC,+CAA+C,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;wBAE5E,MAAM,GAAG,GAAG,IAAI,wEAAW,CACzB,mBAAmB,EACnB,KAAK,EACL,KAAK,GAAG,0BAA0B,EAClC,0BAA0B,EAC1B,KAAK,CACN,CAAC;wBACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACnC,CAAC,CAAC;oBACF,IAAI,SAAS,GAAG,GAAS,EAAE;wBACzB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBACnC,CAAC,CAAC;oBAEF,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3C,IAAI,IAAI,GAAG,wBAAwB,KAAK,EAAE,CAAC;oBAC3C,UAAU,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;oBAC7B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;oBAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;oBACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;oBAEpC,IAAI,MAAM,GAAG,8BAA8B,KAAK,IAAI,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC/D,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;oBAChD,MAAM,IAAI,GAAG,CAAC;oBACd,UAAU,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC;oBAC/B,SAAS,CAAC,IAAI,CAAC,EAAS,CAAC,CAAC;oBAC1B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;oBACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;oBAEpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG;wBAC5C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,SAAS,GAAG,eAAe,KAAK,IAAI,CAAC;wBACzC,IAAI,IAAI,GAAa,EAAE,CAAC;wBACxB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;4BACtB,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC;wBAC1B,CAAC,CAAC,CAAC;wBAEH,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBACtD,SAAS,IAAI,YAAY,CAAC;wBAE1B,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAE1C,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACzC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;wBACtD,SAAS,IAAI,GAAG,CAAC;wBAEjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAE3B,UAAU,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;wBAClC,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;wBAC5B,SAAS,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;wBACjC,aAAa,CAAC,IAAI,CAAC,QAAe,CAAC,CAAC;oBACtC,CAAC,CAAC,CAAC;oBAEH,gEAAe,CAAC,oBAAoB,CAClC,UAAiB,EACjB,SAAgB,EAChB,SAAgB,EAChB,aAAoB,CACrB,CAAC;iBACH;aACF;YAAC,OAAO,KAAK,EAAE,GAAG;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;;wGAhMU,4BAA4B;4GAA5B,4BAA4B;QChBzC,yEAAwD;QAEpD,yEAA6B;QACzB,yEAAyB;QACrB,mEAA8C;QAAA,gEAAK;QACnD,oEAA4B;QAC5B,qEAAI;QAAA,uDAAkB;QAAA,4DAAK;QAC/B,4DAAM;QACV,4DAAM;QACN,yEAA2B;QACvB,4EAAiE;QAAtB,oJAAS,eAAW,IAAC;QAAC,wDAAe;QAAA,4DAAS;QACzF,qEAAG;QAAA,wDAA6B;QAAA,4DAAI;QACxC,4DAAM;QAEV,4DAAM;;QARU,0DAAkB;QAAlB,mFAAkB;QAIuC,0DAAe;QAAf,gFAAe;QAC7E,0DAA6B;QAA7B,6GAA6B;;;;;;;;;;;;;;ACRxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgE;AACS;;;;;;ICCrE,yEAGC;IACC,oEAIE;IACF,yEAAsC;IAAA,uDAAa;IAAA,4DAAM;IAC3D,4DAAM;;;;IAJF,0DAAoC;IAApC,2KAAoC;IAGA,0DAAa;IAAb,2EAAa;;;IAVvD,yEAAwE;IACtE,4HAUM;;IACR,4DAAM;;;IAVc,0DAAwB;IAAxB,qJAAwB;;;IAN9C,yEAGC;IACC,sHAYM;IACR,4DAAM;;;IAbE,0DAAmC;IAAnC,6GAAmC;;ADQpC,MAAM,oBAAoB;IAc/B,YACU,EAAmB,EACnB,cAA8B;QAD9B,OAAE,GAAF,EAAE,CAAiB;QACnB,mBAAc,GAAd,cAAc,CAAgB;QAfxC,sBAAiB,GAAkB,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAWjE,oBAAe,GAAmB,EAAE,CAAC;QAU7C,iBAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC1C,CAAC,CAAC,qEAAW,CAAC,YAAY;YAC1B,CAAC,CAAC,qEAAW,CAAC,kBAAkB,CAAC;QAEnC,eAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAVlB,CAAC;IAbJ,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAmBD,WAAW;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,IAAW,EAAE,EAAE;YAC5C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACxB,CAAC;qBACH;iBACF;gBACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;oBACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;wBAC1C,IAAI,GAAG,IAAI,KAAK,EAAE;4BAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;yBAC/B;qBACF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;;wFAxDU,oBAAoB;oGAApB,oBAAoB;QCZjC,gHAiBM;;QAhBH,iHAA6C;;;;;;;;;;;;;;;;;;;;;;;;ACQQ;;;;;;;AAMjD,MAAM,iBAAiB;IAG5B,YACU,MAAc,EACd,MAAkB,EACT,EAAmB,EACnB,aAA4B,EAC5B,mBAAwC,EACjD,OAAe;QALf,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAY;QACT,OAAE,GAAF,EAAE,CAAiB;QACnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACjD,YAAO,GAAP,OAAO,CAAQ;QARzB,qBAAgB,GAAmB,EAAE,CAAC;QACtC,YAAO,GAAY,IAAI,CAAC;IAQpB,CAAC;IACL,aAAa;QAEX,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,IAAI,wDAAW,CACvB,iBAAiB,EACjB,4BAA4B,EAC5B,KAAK,EACL,8CAA8C,EAC9C,KAAK,CACN,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACtC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpD,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,kDAAkD;qBACnD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;IAEH,CAAC;IACK,WAAW,CAAC,KAA6B,EAAE,KAA0B;;YACzE,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IACD,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAC9D,CAAC;;kFAhDU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;ACRb,MAAM,cAAc;IASzB,gBAAgB,CAAC;IARjB,OAAO;QACL,IAAI;YACF,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;;4EAPU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;AC6CpB;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,cAAc;IAEzB,YACS,KAA0B,EAC1B,GAAW,EACX,QAAiC;QAFjC,UAAK,GAAL,KAAK,CAAqB;QAC1B,QAAG,GAAH,GAAG,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAyB;IAEtC,CAAC;CACN;AAGM,MAAM,iBAAiB;CAM7B;AAGM,MAAM,kBAAkB;CAK9B;AAEM,MAAM,iBAAiB;CAM7B;;;;;;;;;;;;;;;;;;;;;ACvEM,MAAM,uBAAuB;IAoBlC,YACmB,YAAsB,EAC/B,QAAyB;QADhB,iBAAY,GAAZ,YAAY,CAAU;QAC/B,aAAQ,GAAR,QAAQ,CAAiB;QAVnC,oBAAe,GAAmB,EAAE,CAAC;QAIrC,kBAAa,GAAQ,EAAE;QACvB,wBAAmB,GAAQ,EAAE;QAC7B,eAAU,GAAQ,EAAE;IAOpB,CAAC;IAvBD,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAmBD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;QAClE,IAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QACzE,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAE,aAAqB;QAC7D,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACnD,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,QAAQ;SAC3B,CAAC,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,aAAa,GAAG,aAAa,CAAC;QACpD,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;;8FAzDU,uBAAuB;uGAAvB,uBAAuB;QCThC,yEAA6B;QACrB,uEAAgG;QAAlB,0IAAS,WAAO,IAAC;QAC3F,oEAAoF;QAAA,4DAAI;QAC5F,yEAAwB;QACpB,wEAAgD;QAC5C,uDAAuB;QAAA,gEAAM;QAAA,uDACjC;QAAA,4DAAK;QACT,4DAAM;QACN,yEAA0B;QACtB,4EAA8E;QAA9B,+IAAS,sBAAkB,IAAC;QAAE,wDAAiB;QAAA,4DAAS;QAC5G,4DAAM;QACd,4DAAM;;QANU,0DAAuB;QAAvB,kGAAuB;QAAM,0DACjC;QADiC,iHACjC;QAG8E,0DAAiB;QAAjB,kFAAiB;;;;;;;;;;;;;;;;;;;;;ACVhE;AAEL;AACG;AACY;AAEzD,IAAI,qEAAW,CAAC,OAAO,KAAK,OAAO,EAAE;IACnC,oDAAW,CAAC;QACV,GAAG,EAAE,mFAAmF;QACxF,YAAY,EAAE;YACZ,IAAI,4DAAmB,CAAC,YAAY,EAAE;YACtC,IAAI,4DAAmB,CAAC,cAAc,EAAE;YACxC,IAAI,4DAAmB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACvD,IAAI,4DAAmB,CAAC,MAAM,EAAE;SACjC;QACD,yBAAyB;QACzB,WAAW,EAAE,qEAAW,CAAC,WAAW;QACpC,gBAAgB,EAAE,GAAG;KACtB,CAAC,CAAC;CACJ;AAED,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,2EAAwB,CAAC,eAAe,CAAC,yDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;;ACvBpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AACM;AAEsB;;;;;;;;;ICUzD,8DAC2B;IAD3B,0EAC2B;IAAvB,+UAAsB;IACtB,sEAK+C;IACnD,4DAAM;;;IADE,0DAAmC;IAAnC,mKAAmC;;;;;IAK3C,6EACuG;IAAzD,kXAA2B;IACrE,uDACA;IAGJ,4DAAS;;;;IALL,2KAAyC;IACzC,0DACA;IADA,oFACA;;ADjBb,MAAM,kCAAkC;IAiC7C,YACmB,YAAsB,EAC/B,QAAyB,EAChB,WAAwB;QAFxB,iBAAY,GAAZ,YAAY,CAAU;QAC/B,aAAQ,GAAR,QAAQ,CAAiB;QAChB,gBAAW,GAAX,WAAW,CAAa;QAzB3C,oBAAe,GAAmB,EAAE,CAAC;QAErC,kBAAa,GAAG,EAAW,CAAC;QAE5B,qBAAgB,GAAW,CAAC,CAAC,CAAC;QAE9B,uBAAkB,GAAW,CAAC,CAAC;QAE/B,cAAS,GAAW,IAAI,0DAAM,EAAE,CAAC;QAEjC,iBAAY,GAAW,EAAE,CAAC;QAE1B,WAAM,GAAY,KAAK,CAAC;QAExB,iBAAY,GAAW,CAAC,CAAC;QAEzB,gBAAW,GAAW,EAAE,CAAC;QAEzB,qBAAgB,GAAY,EAAE,CAAC;QAE/B,iBAAY,GAAW,EAAE,CAAC;IAMvB,CAAC;IApCJ,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACvC;SACF;IACH,CAAC;IAgCD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACvE,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,YAAsB,EACtB,MAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,gBAAwB,EACxB,aAAqB;QAErB,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE;YAC9D,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,QAAQ;SAC3B,CAAC,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9C,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAC/B,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACzD,GAAG,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5C,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;QAClD,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;QACtC,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,SAAS,CAAC,uBAAuB,CAAC;QACvE,IAAI,MAAM,EAAE;YACV,GAAG,CAAC,iBAAiB,CAAC,gBAAgB;gBACpC,SAAS,CAAC,uBAAuB,GAAG,CAAC,CAAC;SACzC;aAAM;YACL,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;SAC5C;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CACF,MAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,gBAAwB,EACxB,aAAqB;QAErB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACnE,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,QAAQ;SAC3B,CAAC,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;QAChC,GAAG,CAAC,iBAAiB,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9C,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAC/B,CAAC;QACF,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACzD,GAAG,CAAC,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5C,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;QAClD,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;QACtC,GAAG,CAAC,iBAAiB,CAAC,YAAY,GAAG,SAAS,CAAC,uBAAuB,CAAC;QACvE,IAAI,MAAM,EAAE;YACV,GAAG,CAAC,iBAAiB,CAAC,gBAAgB;gBACpC,SAAS,CAAC,uBAAuB,GAAG,CAAC,CAAC;SACzC;aAAM;YACL,GAAG,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,gBAAgB,GAClB,IAAI,CAAC,aAAa,CAAC,MAAM;YACzB,IAAI,CAAC,kBAAkB;YACvB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,GAAG,GAAG,gBAAgB,CAAC;IAChC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;YAC9B,IAAI,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,KAAK,GAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;YAChE,gEAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,OAAO,CAAC,KAAU,EAAE,GAAW;QAC7B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,OAAO,sFAAc,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;;oHAlJU,kCAAkC;kHAAlC,kCAAkC;QCd/C,yEAA6B;QACzB,yEAAwB;QACpB,4EAAwC;QAAlB,0JAAS,WAAO,IAAC;QACnC,mEACA;QACJ,4DAAS;QACT,qEAAI;QAAA,uDAAkB;QAAA,4DAAK;QAC3B,yEAAqB;QACjB,uDACJ;QAAA,4DAAM;QACN,yEAAyB;QACrB,oEAC2F;QAC/F,4DAAM;QACN,0EAAyB;QACrB,sEAAI;QAAA,wDACA;QAAA,qIAQM;QAEV,4DAAK;QACL,0EAAgD;QAC5C,sIAMS;QACb,4DAAM;QAEV,4DAAM;QACV,4DAAM;QACN,2EAA0B;QACtB,8EAAuE;QAApC,2JAAS,gBAAY,IAAC;QAAc,wDAAgB;QAAA,4DAAS;QACpG,4DAAM;QAEV,4DAAM;;QArCM,0DAAkB;QAAlB,mFAAkB;QAElB,0DACJ;QADI,yGACJ;QAES,0DAAkL;QAAlL,iVAAkL;QAInL,0DACA;QADA,0FACA;QAAM,0DAAY;QAAZ,4EAAY;QAY6B,0DAAkB;QAAlB,sFAAkB;QAYF,0DAAgB;QAAhB,iFAAgB;;;;;;;;;;;;;;;;;;;;;;;;ACrCE;AAGzC;;;;;;AAMjD,MAAM,kBAAkB;IAC7B,YACU,MAAqB,EACrB,KAAe,EACf,OAAmB,EACnB,QAAwB;QAHxB,WAAM,GAAN,MAAM,CAAe;QACrB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAY;QACnB,aAAQ,GAAR,QAAQ,CAAgB;QAGlC,UAAK,GAA0B,GAAG,CAAC;IAFhC,CAAC;IAOJ,oBAAoB;QAClB,IAAI,CAAC,mBAAmB,GAAG,4GAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IACD,qBAAqB;QACnB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IACD,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QAC7E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ;gBAC5B,4CAA4C,CAAC;QACjD,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,EAAE,CAAC;IACtE,CAAC;IACD,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;QAC/E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QAC5E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,EAAE;QACnG,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ;gBAC5B,4CAA4C,CAAC;QACjD,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAClI,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,EAAE,CAAC;IACtE,CAAC;IACD,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QAC5E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QAC7E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,KAAK,OAAO,EAAE,CAAC;QAC3G,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ;gBAC5B,6CAA6C,CAAC;QAClD,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE;QACrG,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE;IAC1H,CAAC;IAED,YAAY;QACV,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QAC5E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAC1E;QACL,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;QAC/E,IAAI,IAAI,CAAC,gBAAgB;YACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ;gBAC5B,6CAA6C,CAAC;QAClD,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,iBAAiB,EAAE;QACjI,IAAI,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE;IAC3H,CAAC;IAED,YAAY;QACV,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEK,QAAQ;;YACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE;gBACnC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO;aACR;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,wDAAW,CAC9B,6DAA6D,EAC7D,iDAAiD,GAAG,QAAQ,EAC5D,mBAAmB,EACnB,4CAA4C,EAC5C,IAAI,CACL,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;aAExC;iBAAM;gBACL,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,OAAO,IAAI,oDAAoD,EAAE;oBACvE,QAAQ,GAAG,kBAAkB,CAAC;iBAC/B;qBAAM,IAAI,GAAG,CAAC,OAAO,IAAI,wDAAwD,EAAE;oBAClF,QAAQ,GAAG,wBAAwB,CAAC;iBACrC;qBAAM,IAAG,GAAG,CAAC,OAAO,IAAI,qHAAqH,EAAE;oBAC9I,QAAQ,GAAG,6BAA6B,CAAC;iBAC1C;qBAAM,IAAI,GAAG,CAAC,OAAO,IAAI,kDAAkD,EAAE;oBAC5E,QAAQ,GAAG,kCAAkC,CAAC;iBAC/C;qBAAM;oBACL,QAAQ,GAAG,SAAS,CAAC;iBACtB;gBACD,IAAI,QAAQ,IAAI,SAAS,EAAE;oBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACzD;qBAAM;oBACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC9B;gBACD,MAAM,QAAQ,GAAG,IAAI,wDAAW,CAC9B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,IAAI,GAAG,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAC/C,IAAI,CACL,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;aACxC;QACH,CAAC;KAAA;;oFApIU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAHjB,MAAM;;;;;;;;;;;;;ACJpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6G;AAIpC;;;;;;;;;;;;;;;;;;ICS3D,yEAAuD;IACrD,uDAAc;IAAA,2EAAwC;IAAA,uDAA4C;;;IAAA,4DAAO;IAC3G,4DAAK;;;IADH,0DAAc;IAAd,4FAAc;IAAM,0DAAiC;IAAjC,6JAAiC;IAAC,0DAA4C;IAA5C,wNAA4C;;;IAYxG,2EACC;IAAC,uDAAoB;IAAA,4DACvB;;;IADG,0DAAoB;IAApB,gGAAoB;;;IANxB,0EAA6D;IAC3D,2EACG;IAAA,oEAAG;IAAA,uDAAsB;IAAA,4DAAI;IAAA,4DAC/B;IACD,gEAAM;IACN,4HAED;IACC,gEAAM;IACN,2EACC;IAAA,uDAAsB;IAAA,4DACxB;IACD,4DAAM;;;IAVE,0DAAsB;IAAtB,wFAAsB;IAGrB,0DAAoB;IAApB,yFAAoB;IAK1B,0DAAsB;IAAtB,yFAAsB;;;;IAGzB,sEAAsE;IACtE,wEAUoC;IAAjC,yUAAgC;IACjC,uDACA;;IAAA,mEAAyC;IAC3C,4DAAI;IACN,4DAAM;;;IAHF,0DACA;IADA,2KACA;;AD3BH,MAAM,sBAAsB;IAsBjC,YACU,MAAc,EACf,YAAsB,EAC7B,WAAwB,EAChB,cAA8B,EAC9B,WAAwB,EACxB,GAAe,EACf,QAAyB,EAChB,cAAiC,EAC1C,eAAgC,EAChC,QAAwB;QATxB,WAAM,GAAN,MAAM,CAAQ;QACf,iBAAY,GAAZ,YAAY,CAAU;QAErB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,QAAG,GAAH,GAAG,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAiB;QAChB,mBAAc,GAAd,cAAc,CAAmB;QAC1C,oBAAe,GAAf,eAAe,CAAiB;QAChC,aAAQ,GAAR,QAAQ,CAAgB;QAvBlC,kBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,kBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAiB,GAAW,EAAE,CAAC;QAC/B,eAAU,GAAW,EAAE,CAAC;QAExB,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAY,KAAK,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QACzB,eAAU,GAAW,CAAC,CAAC;QACvB,uBAAkB,GAAW,CAAC,CAAC;QAC/B,gBAAW,GAAW,CAAC,CAAC;QAuBxB,qBAAgB,GAAkB,EAAE,CAAC;QACrC,kBAAa,GAAW,EAAE,CAAC;QAC3B,gBAAW,GAAW,EAAE;QACxB,+BAA0B,GAAG,sFAAc,CAAC,6BAA6B,EAAE,CAAC;QAC5E,iBAAY,GAAY,IAAI,CAAC;QAC/B,qBAAgB,GAAQ,EAAE;QAC1B,iBAAY,GAAQ,EAAE;QACtB,sBAAiB,GAAQ,EAAE;QAC3B,cAAS,GAAQ,EAAE;QACnB,qBAAgB,GAAQ,EAAE;QAC1B,mBAAc,GAAQ,EAAE;QACxB,sBAAiB,GAAQ,EAAE;QAC3B,qBAAgB,GAAQ,EAAE;QAC1B,oBAAe,GAAQ,EAAE;QACf,oBAAe,GAAQ,SAAS,CAAC;QAvBvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAlCD,WAAW;QACT,sFAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;IAmDD,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,uDAAuD,CAAC;QAC/G,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,0DAA0D,CAAC;QAC9G,IAAI,CAAC,iBAAiB,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,qDAAqD,CAAC;QAC9G,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAClH,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACvH,IAAI,CAAC,iBAAiB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACvI,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC;QACnE,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,oDAAoD,CAAC;QACzG,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/D,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC,EAAE;YACjE,IAAI,CAAC,QAAQ,EAAE;QACjB,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,sFAAc,CAAC,gBAAgB,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,sFAAc,CAAC,oBAAoB,EAAE,CAAC;QAE/D,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;QAC9D,IACE,aAAa,CAAC,cAAc,IAAI,MAAM;YACtC,CAAC,IAAI,CAAC,0BAA0B,EAChC;YACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,sFAAc,CAAC,iBAAiB,EAAE,CAAC;SACpH;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;SAC1C;QACD,IAAI,CAAC,WAAW,GAAG,sFAAc,CAAC,yBAAyB,EAAE,CAAC;IAGhE,CAAC;IAED,eAAe;QACb,sFAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,sFAAc,CAAC,iBAAiB,EAAE,IAAI,MAAM,EAAE;gBAChD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,sFAAc,CAAC,aAAa,EAAE,CAAC;aAClD;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAC/C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IACE,IAAI,CAAC,eAAe;oBACpB,IAAI,CAAC,eAAe,IAAI,SAAS;oBACjC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EACxC;oBACA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;oBACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;oBACtD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;oBAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;iBACnD;aACF;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,GAAG,CAAC,CAAC;SAC1E;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAChB,YAAiB,EACjB,OAAsB,EACtB,gBAAqB,SAAS,EAC9B,KAAa;QAEb,IAAI,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC7D,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1D,cAAc,CAAC,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,cAAc,CAAC,iBAAiB,CAAC,eAAe,GAAG,aAAa,CAAC;QACjE,cAAc,CAAC,iBAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;QAEjE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9B,sFAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,sFAAc,CAAC,iBAAiB,EAAE,IAAI,MAAM,EAAE;gBAChD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;aAC5C;YACD,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC;QAC5C,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,YAAY;QACV,sFAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE1C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAE/B,wHAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;;4FAvKU,sBAAsB;sGAAtB,sBAAsB;QCzBnC,yEAAuC;QACrC,yEAAmB;QACjB,wEAAwB;QAAA,uDAA8B;;QAAA,4DAAK;QAE3D,yEAAqB;QACnB,wEAAwB;QAAA,uDAAgB;QAAA,4DAAK;QAC7C,wEAAwB;QAAA,uDAAqB;QAAA,4DAAK;QAClD,0EAAiB;QACf,0EAAsC;QACpC,qEAAuB;QACzB,4DAAM;QACR,4DAAM;QACN,0EAAiB;QACf,0EAAsD;QACpD,0EAAmD;QACjD,0EAAwB;QACtB,sEAAI;QAAA,wDAAoB;QAAA,4DAAK;QAC7B,0EAAqB;QAAA,wDAAa;QAAA,4DAAK;QACvC,oHAEK;QACP,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,2EAAuD;QACrD,qHAYM;QACN,qHAeI;QACJ,sEAA4B;QAC5B,yEAQ2B;QAAxB,0IAAS,iBAAa,IAAC;QACxB,wDACA;;QAAA,oEAAmC;QACrC,4DAAI;QACN,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QArEsB,0DAA8B;QAA9B,sJAA8B;QAG5B,0DAAgB;QAAhB,iFAAgB;QAChB,0DAAqB;QAArB,sFAAqB;QAUjC,0DAAoB;QAApB,qFAAoB;QACH,0DAAa;QAAb,4EAAa;QACd,0DAAiC;QAAjC,iGAAiC;QAQ/B,0DAA+B;QAA/B,mGAA+B;QAarD,0DAA8D;QAA9D,gIAA8D;QA0BlE,0DACA;QADA,yKACA;;;;;;;;;;;;;AClEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,qC","file":"main.js","sourcesContent":["import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AskConfigureYourDeviceComponent } from './ask-configure-your-device.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AskConfigureDevicePopupServiceService {\n\n constructor(private modalService:NgbModal) \n { }\n\n private AskConfigureYourDeviceRef:AskConfigureYourDeviceComponent | null = null;\n\n public open() {\n this.close();\n\n var modalRef= AskConfigureYourDeviceComponent.open(this.modalService);\n\n this.AskConfigureYourDeviceRef = modalRef.componentInstance;\n return modalRef;\n }\n\n public close(){\n if(this.AskConfigureYourDeviceRef && this.AskConfigureYourDeviceRef != null){\n this.AskConfigureYourDeviceRef.cancelModal();\n }\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DatabaseHandler } from 'src/app/DatabaseHandler';\nimport { Router } from '@angular/router';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { ShippingService } from 'src/app/services/shipping.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-email-receipt-thankyou-dialog',\n templateUrl: './email-receipt-thankyou-dialog.component.html',\n styleUrls: ['./email-receipt-thankyou-dialog.component.css'],\n})\nexport class EmailReceiptThankyouDialogComponent implements OnInit, OnDestroy {\n\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n\n if (this.timeOutSub) {\n window.clearTimeout(this.timeOutSub);\n }\n }\n\n languageSub!: Subscription;\n\n timeOutSub: any;\n\n\n finishText: string = this.language.getCustomMapValues('menu_setting_display__confirm_email_modal_finish_text');\n finishLocalizedText: string = ''\n\n\n headerText: string = this.language.getCustomMapValues('menu_setting_display__confirm_email_modal_header_text');;\n headerLocalizedText: string =this.language.getCustomMapValues('menu_setting_display__confirm_email_modal_header_text');;;\n\n mainText: string = this.language.getCustomMapValues('menu_setting_display__confirm_order_modal_secondary_text');;;\n mainLocalizedText: string = this.language.getCustomMapValues('menu_setting_display__confirm_order_modal_secondary_text');;;\n\n secondaryText: string = this.language.getCustomMapValues('menu_setting_display__confirm_email_modal_secondary_text');;;;\n secondaryLocalizedText: string = this.language.getCustomMapValues('menu_setting_display__confirm_email_modal_secondary_text');;;;\n\n ref: any;\n\n constructor(public modalService: NgbModal,\n private router: Router,\n private logger: LogService,\n private shipping: ShippingService,\n private language: LanguageService)\n { }\n\n loadText() {\n this.finishLocalizedText = this.language.getTextElement('finish')\n this.headerLocalizedText = this.language.getTextElement('email_receipt')\n this.mainLocalizedText = this.language.getTextElement('thank_you')\n this.secondaryLocalizedText= this.language.getTextElement('txt_we_will_be_emailing_you_your_receipt')\n }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.getText();\n }\n\n ngAfterViewInit() {\n this.timeOutSub = setTimeout(() => {\n this.shipping.shippingDetails = undefined\n this.ref.close();\n if (GeneralSetting.getRedirectToMain() == 'True') {\n this.router.navigateByUrl('/touchToStart');\n }\n }, 5000);\n }\n\n public static open(modalService: NgbModal) {\n var ref = modalService.open(EmailReceiptThankyouDialogComponent, {\n size: 'lg',\n centered: true,\n backdrop: 'static'\n });\n\n GeneralSetting.setRedirectToMain(\"True\");\n \n ref.componentInstance.ref = ref;\n return ref;\n }\n\n /**\n * get data from db ModuleGeneralEmailReceiptSettings\n * EmailImage\n * FinishText\n * HeaderText\n * MainText\n * SecondaryText\n */\n getText() {\n var sqlstring = `SELECT\n FinishText,\n HeaderText,\n MainText,\n SecondaryText\n FROM\n ModuleGeneralEmailReceiptSettings`;\n\n const callback = (tx: string, results: any) => {\n if (results.rows && results.rows.length > 0) {\n var data = results.rows[0];\n this.finishText = data.FinishText ? data.FinishText : this.finishLocalizedText;\n this.headerText = data.HeaderText ? data.HeaderText : this.headerLocalizedText;\n this.mainText = data.MainText ? data.MainText : this.mainLocalizedText;\n this.secondaryText = data.SecondaryText ? data.SecondaryText : this.secondaryLocalizedText;\n }\n };\n\n const errorcallback = (tx: string, error: any) => {\n console.log(\"Email Receipt Component , Error Getting ModuleGeneralEmailReceiptSettings \", error.message);\n };\n\n DatabaseHandler.executeSqlStatement(sqlstring, [], callback, errorcallback);\n }\n\n dismissModal() {\n this.ref.close();\n //back to touch to start\n GeneralSetting.setRedirectToMain(\"True\");\n setTimeout(() => {\n this.shipping.shippingDetails = undefined\n if (GeneralSetting.getRedirectToMain() == 'True') {\n this.router.navigateByUrl('/touchToStart');\n }\n }, 300);\n }\n\n}\n","
","export interface paymentTypeData {\n PaymentTypeID: string,\n PaymentDisplayName: string,\n ThirdPartyPaymentID: string,\n PaymentTypeName: string,\n TenderId: string\n}\n\n\nexport enum EPaymentType {\n notPaid = 0,\n Cash = 1,\n Card = 2,\n Partial = 3,\n Coupon = 4,\n BharatQR = 5,\n Discount = 6,\n Swiggy = 7,\n Zomato = 8,\n BankTransfer = 9,\n Cheque = 10,\n UPI = 11,\n Bitcoin = 12,\n HouseCredit = 13,\n SplitBill = 14,\n ThirdParty = 15,\n Tender = 16,\n GiftCard = 17,\n Merged = 18,\n USConnect = 19,\n EndofDayAutoClose = 20,\n IDCard = 21,\n LevelUp = 22,\n RFID = 23,\n VerifoneMaxicoEvo = 25,\n\n\n}\n\nexport enum CardPaymentProcessor {\n Mosambee = 3,\n Freedompay = 7,\n GrubbrrPay = 14,\n Verifone = 17,\n VerifoneEvo = 24,\n}\n","\n
× \n
\n
{{welcomeText}}
\n
{{startEarningText}}
\n
\n {{continueText}}\n \n
\n
\n
{{hiGuestText}}
\n
{{thankYouLoyaltyText}}
\n
{{wantToSignOutText}}
\n
\n \n {{cancelText}}\n \n \n {{signOutText}}\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { UserService } from 'src/app/services/user.service';\n\n@Component({\n selector: 'app-customer-welcome-modal',\n templateUrl: './customer-welcome-modal.component.html',\n styleUrls: ['./customer-welcome-modal.component.css']\n})\nexport class CustomerWelcomeModalComponent implements OnInit {\n languageSub!:Subscription\n modalReference: NgbModalRef | undefined;\n\n name: string = ''\n\n initial: boolean = false;\n welcomeText:String=''\n startEarningText:String=''\n continueText:String=''\n hiGuestText:String=''\n thankYouLoyaltyText:String=''\n wantToSignOutText:String=''\n signOutText:String=''\n cancelText:String=''\n \n constructor(public modalService: NgbModal, private userService: UserService, private language:LanguageService ) { }\n loadText(){\n this.welcomeText=this.language.getTextElement('welcome_user').replace('%d',this.name)\n this.startEarningText=this.language.getTextElement('start_earning_now')\n this.continueText=this.language.getTextElement('lbl_continue')\n this.thankYouLoyaltyText=this.language.getTextElement('thank_you_for_your_loyalty')\n this.wantToSignOutText=this.language.getTextElement('want_to_sign_out')\n this.signOutText=this.language.getTextElement('action_sign_out')\n this.cancelText=this.language.getTextElement('lbl_button_cancel')\n this.hiGuestText=this.language.getTextElement('hi_guest').replace('%d',this.name)\n }\n ngOnInit(): void {\n this.languageSub=this.language.localeCommunicator.subscribe((val)=>{\n this.name = this.userService.name??this.language.getTextElement('txt_guest')\n this.loadText()\n })\n }\n\n public static open(modalService: NgbModal, initial: boolean = false,name:string) {\n let modalReference = modalService.open(CustomerWelcomeModalComponent, { size: \"lg\", centered: true })\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.name = name;\n modalReference.componentInstance.initial = initial;\n\n setTimeout(() => {\n if (initial) {\n modalReference.componentInstance.close('')\n }\n }, 2000);\n return modalReference;\n }\n\n open(initial: boolean = false) {\n this.initial = initial\n this.modalReference = this.modalService.open(CustomerWelcomeModalComponent, { size: \"lg\", centered: true })\n this.modalReference.componentInstance.modalReference = this.modalReference;\n this.modalReference.componentInstance.name = this.userService.name\n this.modalReference.componentInstance.initial = initial\n setTimeout(() => {\n if (initial) {\n this.modalReference?.close('')\n }\n }, 2000);\n return this.modalReference\n }\n\n signOut() {\n this.userService.signOut()\n this.modalReference?.close('signout')\n }\n\n close() {\n this.modalReference?.close('')\n }\n\n}\n","import { formatDate } from \"@angular/common\";\nimport { Injectable } from \"@angular/core\";\nimport { environment } from \"src/environments/environment\";\nimport {\n HttpClient,\n} from \"@angular/common/http\";\nimport { GeneralSetting } from \"./generalSetting.service\";\nimport { IHttpHeaders, HttpConnection } from './http.service';\nimport { IsKioskService } from './is-kiosk.service';\nimport { Subject, Subscription } from \"rxjs\";\nimport { LanguageService } from \"./language.service\";\nimport { GeneralConfirmationComponent } from \"../components/dialogs/general-confirmation-alert/general-confirmation-alert.component\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { UpgradeKioskAppComponent } from \"../components/dialogs/upgrade-kiosk-app/upgrade-kiosk-app.component\";\nimport { DataService } from \"./data.service\";\nimport { timeout } from \"rxjs/operators\";\nimport { GeneralAlertComponent } from \"../components/dialogs/general-alert/general-alert.component\";\nimport { InstallationACKType, RemoteInstallACKNotification, RemoteInstallNotification } from \"./api/Models\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class KioskUpgradeService {\n \n WaitingReports: any[] = [];\n listener: EventListener | undefined;\n listeners: EventListener[] = [];\n languageSub!: Subscription;\n public KioskUpgradeEvents: Subject = new Subject();\n upgradeTimeOut: any;\n\n constructor(private language: LanguageService, private readonly modalService: NgbModal, private dataService: DataService,\n private readonly isKioskService: IsKioskService) {\n }\n\n ngOnDestroy(): void {\n this.removeAllListeners();\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n kioskAppUpgradeACK() {\n let getKioskInstallationProcess: RemoteInstallACKNotification = GeneralSetting.getKioskInstallationInformation();\n if(getKioskInstallationProcess?.status === InstallationACKType.INSTALLING && getKioskInstallationProcess?.KioskReleaseInformation?.version) {\n let getAppVersion = GeneralSetting.getAppVersion();\n if(getKioskInstallationProcess?.KioskReleaseInformation?.version === getAppVersion) {\n let noficationACK = getKioskInstallationProcess\n noficationACK.status = InstallationACKType.SUCCESS;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n GeneralSetting.removeKioskInstallationInformation();\n } else {\n let noficationACK = getKioskInstallationProcess\n noficationACK.status = InstallationACKType.ERROR;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n GeneralSetting.removeKioskInstallationInformation();\n }\n }\n }\n \n kioskAppUpgrade(tizenURL: string) {\n if(this.isKioskService.isKiosk()) {\n const extension = tizenURL.split('.').pop()\n if(extension === \"zip\") {\n let title = this.language.getTextElement('lbl_upgrade_now');\n let message = this.language.getTextElement('lbl_are_you_sure_you_want_upgrade');\n let yseText = this.language.getTextElement('txt_yes');\n let noText = this.language.getTextElement('txt_no');\n let ccm = GeneralConfirmationComponent.open(this.modalService, title, message, yseText, noText);\n ccm.result.then(\n (data: string) => {\n if (data === 'Yes') {\n const tizenPathName = new URL(tizenURL)\n if(tizenPathName?.pathname) {\n let modalRef = UpgradeKioskAppComponent.open(this.modalService);\n this.dataService\n .IsOnlineCheckSK()\n .pipe(timeout(50000))\n .toPromise()\n .then(\n (data) => {\n var messageType = 'upgradeKioskApp';\n var message = {\n messageType: messageType,\n data: tizenPathName.pathname\n };\n window.top!.postMessage(message, '*');\n this.listener = (event: any) => {\n if (event.data.messageType === 'errorOnUpgradeKioskApp') {\n clearTimeout(this.upgradeTimeOut);\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('lbl_error_on_installation_process');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n modalRef.close()\n this.removeAllListeners();\n }\n };\n this.upgradeTimeOut = setTimeout( ()=>{\n modalRef.close()\n this.removeAllListeners();\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('the_application_failed_to_upgrade');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n }, 2 * 60 * 1000)\n if (this.listeners.length == 0) {\n this.listeners.push(this.listener);\n window.addEventListener('message', this.listener);\n } \n }, error => {\n modalRef.close()\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('device_offline_error');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n })\n }\n }\n });\n } else {\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('lbl_invalid_tizen_application_extension');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n }\n } else {\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('application_upgrade_is_not_supported_in_the_web_browser');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n }\n }\n\n async kioskAppPusherUpgrade(tizenURL: string, packageNotification: RemoteInstallNotification) {\n return new Promise((resolve, reject) => {\n let getSerialNo = GeneralSetting.getSerialNo();\n let locationId = GeneralSetting.getBranchId();\n let noficationACK: RemoteInstallACKNotification = {\n status: \"\",\n deviceId: getSerialNo,\n locationId: locationId,\n KioskReleaseInformation: {\n name: packageNotification.kioskReleaseInformation.Name,\n version: packageNotification.kioskReleaseInformation.Version,\n releaseNotes: packageNotification.kioskReleaseInformation.ReleaseNotes,\n packageUrl: packageNotification.kioskReleaseInformation.PackageUrl\n }\n }\n if(this.isKioskService.isKiosk()) {\n const extension = tizenURL.split('.').pop()\n if(extension === \"zip\") {\n const tizenPathName = new URL(tizenURL)\n if(tizenPathName?.pathname) {\n let modalRef = UpgradeKioskAppComponent.open(this.modalService);\n this.dataService\n .IsOnlineCheckSK()\n .pipe(timeout(50000))\n .toPromise()\n .then(\n (data) => {\n noficationACK.status = InstallationACKType.INSTALLING\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n GeneralSetting.setKioskInstallationInformation(noficationACK);\n var messageType = 'upgradeKioskApp';\n var message = {\n messageType: messageType,\n data: tizenPathName.pathname\n };\n console.log(`Pathname: ${tizenPathName.pathname}`);\n window.top!.postMessage(message, '*');\n this.listener = (event: any) => {\n if (event.data.messageType === 'errorOnUpgradeKioskApp') {\n clearTimeout(this.upgradeTimeOut);\n noficationACK.status = InstallationACKType.ERROR;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('lbl_error_on_installation_process');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n modalRef.close()\n this.removeAllListeners();\n resolve(false)\n }\n };\n this.upgradeTimeOut = setTimeout( ()=>{\n modalRef.close()\n this.removeAllListeners();\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('the_application_failed_to_upgrade');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n noficationACK.status = InstallationACKType.ERROR;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n resolve(false)\n }, 2 * 60 * 1000)\n if (this.listeners.length == 0) {\n this.listeners.push(this.listener);\n window.addEventListener('message', this.listener);\n } \n }, error => {\n modalRef.close()\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('device_offline_error');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n noficationACK.status = InstallationACKType.ERROR;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n resolve(false)\n })\n }\n } else {\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('lbl_invalid_tizen_application_extension');\n noficationACK.status = InstallationACKType.ERROR;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n resolve(false)\n }\n } else {\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('application_upgrade_is_not_supported_in_the_web_browser');\n GeneralAlertComponent.open(this.modalService, title, subTitle);\n noficationACK.status = InstallationACKType.ERROR;\n this.dataService.postInstallationACK(noficationACK).toPromise().then();\n resolve(false)\n }\n })\n }\n\n removeAllListeners() {\n if (this.listeners.length) {\n this.listeners.forEach((x: EventListener) => {\n window.removeEventListener('message', x);\n });\n }\n this.listeners = [];\n }\n \n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { BranchLoginStreamServiceService } from 'src/app/services/branch-login-stream-service.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { FlexPairingService } from 'src/app/services/flex-pairing.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { DownloadingPopupService } from '../downloading-popup/downloading-popup.service';\n\n@Component({\n selector: 'app-flex-pairing',\n templateUrl: './flex-pairing.component.html',\n styleUrls: ['./flex-pairing.component.css'],\n})\nexport class FlexPairingComponent implements OnInit {\n modalReference: any;\n constructor(private modal: NgbModal, private flexPair: FlexPairingService,private branchLoginStreamService:BranchLoginStreamServiceService,private downloadPopupService:DownloadingPopupService, ){}\n title: string = '';\n bodya: string = '';\n bodyb: string = '';\n imageSrc: string = '';\n buttonOneText: string = '';\n buttonTwoText: string = '';\n\n deviceId: string=GeneralSetting.getDeviceHSN().toString()\n merchantId: string=GeneralSetting.getMerchantId().toString()\n accessToken:string= GeneralSetting.getAccessToken().toString()\n friendlyId: string=GeneralSetting.getFriendlyId().toString()\n ngOnInit(): void {}\n public static open(modalService: NgbModal) {\n let modalReference = modalService.open(FlexPairingComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n\n return modalReference;\n }\n async retry() {\n if (this.flexPair.state === '2') {\n this.finish();\n } else {\n \n let oldHsn:string = GeneralSetting.getDeviceHSN();\n let counter : number = 0;\n\n await this.branchLoginStreamService.doLogin(GeneralSetting.getBranchLoginUserId(),GeneralSetting.getBranchLoginPass(),GeneralSetting.getSerialNo(),this.downloadPopupService)\n this.deviceId=GeneralSetting.getDeviceHSN().toString()\n this.merchantId=GeneralSetting.getMerchantId().toString()\n this.accessToken=GeneralSetting.getAccessToken().toString()\n this.friendlyId=GeneralSetting.getFriendlyId().toString()\n // Ugly,but wait for our settings to change\n this.flexPair.setWaiting();\n this.waitAndTest(counter, oldHsn)\n }\n }\n\n waitAndTest(counter : number, oldHsn : string) {\n if(counter >= 5) {\n this.flexPair.callPing();\n return;\n }\n\n setTimeout(() =>{\n let newHsn : String = GeneralSetting.getDeviceHSN();\n if(newHsn !== oldHsn) {\n this.flexPair.callPing();\n }\n else {\n counter++;\n this.waitAndTest(counter, oldHsn);\n }\n }, 1000);\n }\n\n finish() {\n this.flexPair.closeFlexPairingModal();\n }\n startPairing() {}\n}\n","\n \n
X
\n
\n
\n
\n
\n
\n {{ bodya }}\n
\n
\n {{ bodyb }}\n
\n
\n
\n {{buttonOneText}} \n {{buttonTwoText}} \n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\n@Component({\n selector: 'app-alcoholic-item-exceed-max',\n templateUrl: './alcoholic-item-exceed-max.component.html',\n styleUrls: ['./alcoholic-item-exceed-max.component.css'],\n})\nexport class AlcoholicItemExceedMaxComponent implements OnInit,OnDestroy {\n \n ngOnDestroy() {\n if (this.allSubscription.length > 0) {\n for (let i = 0; i < this.allSubscription.length; i++) {\n this.allSubscription[i].unsubscribe();\n }\n }\n }\n\n allSubscription: Subscription[] = [];\n\n modalReference: any;\n\n limit: any;\n\n uhOhText: string = '';\n\n alcoholicLimitText: string = '';\n\n closedText: string = '';\n\n constructor(private language: LanguageService) {}\n\n ngOnInit(): void {\n this.allSubscription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.limit = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n this.loadText();\n })\n );\n\n }\n\n loadText() {\n this.uhOhText = this.language.getTextElement('titile_uh_oh');\n this.alcoholicLimitText = this.language.getTextElement(\n 'you_have_reached_the_maximum_number_of_alcoholic_items_allowed_for_this_order_limit_is'\n ).replace('%d',this.limit )\n this.closedText = this.language.getTextElement('closed');\n }\n\n public static open(modalService: NgbModal) {\n let modalReference = modalService.open(AlcoholicItemExceedMaxComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n\n dismiss() {\n this.modalReference.close();\n }\n\n}\n","\n\n\n \n
\n
{{alcoholicLimitText}}
\n
\n\n \n
","import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { PaymentErrorComponent } from './payment-error.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentErrorDialogService {\n\n constructor(private modalService:NgbModal,\n private language: LanguageService) \n { }\n\n\n public openPaymentErrorDialog(isVerifone: boolean, errorMessage: string) {\n return new Promise((resolve, reject) => {\n let pec = PaymentErrorComponent.open(\n this.modalService,\n this.language,\n isVerifone,\n errorMessage\n );\n pec.result.then((data: any) => {\n resolve(data);\n });\n });\n }\n\n \n}\n","import { stringify } from 'flatted';\nimport {\n HttpClient,\n HttpErrorResponse,\n HttpHeaders,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { from, Observable, throwError } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { grubbrrPayCredentials } from '../models/grubbrrPayCredentials';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { environment } from '../../environments/environment';\nimport { GeneralSetting } from './generalSetting.service';\nimport { PaymentErrorDialogService } from '../components/dialogs/payment-error/payment-error-dialog.service';\nimport { PaymentInsertService } from '../components/dialogs/payment-insert/payment-insert.service';\nimport { DatabaseService } from './database.service';\nimport { PaymentTypesService } from './payment-types.service';\nimport { PaymentSuccessDialogService } from '../components/dialogs/payment-success/payment-success-dialog.service';\nimport { RefundSuccessDialogService } from '../components/dialogs/refund-success/refund-success-dialog.service';\nimport { LanguageService } from './language.service';\nimport { resolve } from 'dns';\nimport { timeStamp } from 'console';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DejavooService {\n gpCreds: grubbrrPayCredentials = {\n AuthanticationKey: '',\n ServiceCharge: '',\n RegistrationID: '',\n TPNNumber: '',\n TPaymentID: '',\n };\n\n NodeUrl: string = environment.NodeUrl;\n\n constructor(private http: HttpClient,\n private logger: LogService,\n private language: LanguageService,\n private readonly paymentErrorDialog: PaymentErrorDialogService,\n private readonly paymentInsertDialog: PaymentInsertService,\n private readonly paymentTypeService: PaymentTypesService,\n private readonly paymentSuccessModel: PaymentSuccessDialogService,\n private readonly refundSucceeDialog: RefundSuccessDialogService\n ) { }\n\n getGrubbrrPayDevice(deviceId: string): Observable {\n return from(this.getGrubbrrPayDeviceFromSql(deviceId));\n }\n\n getGrubbrrPayDeviceFromSql(deviceId: string): Promise {\n return new Promise((resolve, reject) => {\n let query = `SELECT * FROM GrubbrrPay WHERE DeviceID = '${deviceId}'`;\n\n function callback(tx: string, data: any) {\n // var results: grubbrrPayCredentials[] = Array.from(data.rows);\n resolve(Array.from(data.rows));\n }\n\n function errorCallback(tx: string, data: any) {\n console.log(\"GrubbrrPay Device detail get Error\");\n\n resolve([]);\n }\n DatabaseHandler.executeSqlStatement(query, [], callback, errorCallback);\n });\n }\n\n getDeviceStatus(deviceId: string) {\n let body = {\n id: deviceId,\n };\n\n var headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http.post(this.NodeUrl + 'proxy-dejavoo', JSON.stringify(body), {\n headers,\n responseType: 'text',\n }).pipe(catchError(this.errorHandler));\n }\n\n errorHandler(error: HttpErrorResponse) {\n var log = new loggingData(\n 'Data Error',\n 'Encountered Error on Data Fetch',\n `Error`,\n `Encountered Error: ${error}`,\n true\n );\n this.logger.sendLogToServer(log);\n return throwError(error.message);\n }\n\n doTransaction(\n obj: any,\n total: string,\n type: 'refund' | 'payment' = 'payment',\n refID: string | null = null\n ) {\n let newTotal = 0;\n if (type == 'payment') {\n newTotal = Number(total) + Number(obj.ServiceCharge);\n } else {\n newTotal = Number(total);\n }\n\n const body = {\n refID: refID,\n regID: obj.RegistrationID,\n authToken: obj.AuthanticationKey,\n amount: newTotal.toFixed(2),\n TPN: obj.TPNNumber\n };\n\n var headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http\n .post(this.NodeUrl + `${type}-dejavoo`, JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n public async doPayment(\n amount: number,\n invoicNo: string,\n calculationData: {\n total: number;\n subtotal: number;\n tax: number;\n tip: number;\n shippingFee: number;\n discount: number;\n reward: number;\n }) {\n\n let error = this.language.getTextElement('txt_kiosk_payment_device_not_set_up');\n\n this.paymentInsertDialog.openPaymentInsertModal(\n false,\n calculationData,\n this.paymentTypeService.payments.length == 1 &&\n GeneralSetting.getShowPaymentScreen() == 'True'\n );\n\n let grubbrrPayDevice = await this.getGrubbrrPayDeviceFromSql(GeneralSetting.getSerialNo()).then();\n\n if (!grubbrrPayDevice || grubbrrPayDevice.length <= 0) {\n this.logger.sendLogToServer(new loggingData(\n 'GrubbrrPay Payment Error',\n `GrubbrrPay Encountered Error Fetching Device Data\n order invoice no :- ${invoicNo}\n `,\n 'Error Payment GrubbrrPay',\n `GrubbrrPay Device Not Set Up`,\n true\n ));\n\n this.paymentInsertDialog.closePaymentInsertModel();\n\n await this.paymentErrorDialog.openPaymentErrorDialog(\n false,\n error\n );\n\n return false;\n }\n\n let gpCreds = grubbrrPayDevice[0];\n\n let deviceStatus = await this.getDeviceStatusAsync(gpCreds.TPNNumber);\n\n if (!deviceStatus) {\n this.logger.sendLogToServer(new loggingData(\n 'GrubbrrPay Payment Error',\n `GrubbrrPay Payment Offline\n order invoice no :- ${invoicNo}\n `,\n 'GrubbrrPay Device Offline',\n `GrubbrrPay Device offline`,\n true\n ));\n\n error = this.language.getTextElement('txt_kiosk_payment_device_offline');\n\n this.paymentInsertDialog.closePaymentInsertModel();\n\n await this.paymentErrorDialog.openPaymentErrorDialog(\n false,\n error\n );\n\n return false;\n }\n\n let transRes = await this.doTransactionAsync(gpCreds,amount.toString());\n\n if(transRes.IsError){\n this.logger.sendLogToServer(new loggingData(\n 'GrubbrrPay Payment Error',\n `GrubbrrPay Pay Encounter unknown Error\n order invoice no :- ${invoicNo}\n `,\n 'Error Payment GrubbrrPay',\n `GrubbrrPay Encountered Error: ${transRes}`,\n true\n ));\n\n error = this.language.getTextElement('txt_transaction_failed');\n\n this.paymentInsertDialog.closePaymentInsertModel();\n\n await this.paymentErrorDialog.openPaymentErrorDialog(\n false,\n error\n );\n\n return false;\n }\n \n this.logger.sendLogToServer(new loggingData(\n 'GrubbrrPay Payment Res',\n `GrubbrrPay Payment Succees\n order invoice no :- ${invoicNo}\n `,\n 'Grubbrr Pay Payment Sucess',\n JSON.stringify(transRes) ,\n true\n ));\n\n GeneralSetting.setPaymentResponse(JSON.stringify(transRes.TransactionData));\n\n this.paymentInsertDialog.closePaymentInsertModel();\n\n return true;\n }\n\n private getDeviceStatusAsync(deviceId: string) {\n return new Promise((resolve) => {\n let body = {\n id: deviceId,\n };\n\n var headers = new HttpHeaders().set('Content-Type', 'application/json');\n this.http.post(this.NodeUrl + 'proxy-dejavoo', JSON.stringify(body), {\n headers,\n responseType: 'text',\n }).pipe(catchError(this.errorHandler))\n .pipe(timeout(300000))\n .toPromise().then(data => {\n if (data == \"Online\") {\n resolve(true);\n }\n else {\n resolve(false);\n }\n }, error => {\n resolve(false);\n })\n });\n }\n\n private doTransactionAsync(\n obj: any,\n total: string,\n type: 'refund' | 'payment' = 'payment',\n refID: string | null = null\n ) {\n return new Promise((resolve) => {\n\n let newTotal = 0;\n if (type == 'payment') {\n newTotal = Number(total) + Number(obj.ServiceCharge);\n } else {\n newTotal = Number(total);\n }\n\n const body = {\n refID: refID,\n regID: obj.RegistrationID,\n authToken: obj.AuthanticationKey,\n amount: newTotal.toFixed(2),\n TPN: obj.TPNNumber\n };\n\n var headers = new HttpHeaders().set('Content-Type', 'application/json');\n this.http\n .post(this.NodeUrl + `${type}-dejavoo`, JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler))\n .pipe(timeout(300000))\n .toPromise()\n .then(async (data: any) => {\n \n var res = {\n IsError: true,\n IsSuccess: false,\n Error: \"Payment Device Connection Error\",\n ErrorCode: \"0\",\n ErrorMessage: \"Payment Device Connection Error\",\n IsCancel: false,\n IsNoDevice: true,\n IsTimeout: true,\n ErrorData: \"\",\n TransactionData: data\n };\n\n let resStatus = this.onPaymentResponse(data);\n\n if (resStatus) {\n res.IsError = false;\n res.IsSuccess = true;\n res.ErrorData = \"\";\n res.TransactionData = data;\n resolve(res);\n }\n else {\n res.IsError = true;\n res.IsSuccess = false;\n res.ErrorData = data;\n res.TransactionData = \"\";\n res.ErrorMessage = \"Tranaction Failed\";\n resolve(res);\n }\n }, error => {\n this.logger.sendLogToServer(new loggingData(\n 'GrubbrrPay Payment Res Error',\n 'GrubbrrPay Res Error',\n 'Grubbrr Pay Payment Res Error',\n JSON.stringify(error) ,\n true\n ));\n var res = {\n IsError: true,\n IsSuccess: false,\n Error: \"Payment Device Connection Error\",\n ErrorCode: \"0\",\n ErrorMessage: \"Transaction Failed\",\n IsCancel: false,\n IsNoDevice: true,\n IsTimeout: true,\n ErrorData: error,\n TransactionData: undefined\n };\n resolve(res);\n });\n });\n }\n\n private onPaymentResponse(resData: any) {\n let parser = new DOMParser();\n let xmlResponse = parser.parseFromString(resData, 'text/xml');\n\n let resultCode = '';\n try {\n resultCode = xmlResponse\n .getElementsByTagName('ResultCode')[0]\n .childNodes[0].nodeValue!.toString();\n } catch (e) {\n return false;\n }\n\n if (resultCode !== '0') {\n return false;\n } else {\n try {\n let extData = xmlResponse\n .getElementsByTagName('ExtData')[0]\n .childNodes[0].nodeValue!.toString();\n \n let arr = extData.split(',');\n \n // get card type\n for (let element in arr) {\n if (Object.prototype.hasOwnProperty.call(arr, element)) {\n if (arr[element].toString().indexOf('CardType') !== -1) {\n let myArr = arr[element].split('=');\n GeneralSetting.setCardType(myArr[1]);\n break;\n }\n }\n }\n } catch (e) { }\n\n return true;\n }\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable, NgZone } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n@Injectable({\n providedIn: 'root',\n})\nexport class NetworkGuardService {\n allSubscriptions: Subscription[] = [];\n private baseApiUrl = environment.apiUrl;\n constructor(\n private router: Router,\n private readonly http: HttpClient,\n private _ngZone: NgZone\n ) {}\n async ping() {\n let onlineCheck = await fetch(this.baseApiUrl + 'IsOnlineCheckSK')\n .then(async (res) => {})\n .then((a) => {\n return true;\n })\n .catch((e) => {\n return false;\n });\n return onlineCheck;\n // return this.http\n // .post(this.baseApiUrl + 'system/status', { headers })\n // .toPromise();\n }\n redirect() {\n this.router.navigateByUrl('/networkerror');\n }\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return new Promise(async (resolve) => {\n try {\n let onlineCheck = await this.ping();\n resolve(onlineCheck);\n if (!onlineCheck) {\n this._ngZone.run(this.redirect.bind(this));\n }\n } catch (e) {\n this._ngZone.run(this.redirect.bind(this));\n resolve(false);\n }\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n OnDestroy,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { DatabaseHandler } from 'src/app/DatabaseHandler';\r\nimport { HeaderImage } from 'src/app/models/headerImage';\r\nimport { environment } from 'src/environments/environment';\r\nimport { loggingData, LogService } from 'src/app/services/log.service';\r\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\r\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\r\nimport { CustomerLoginPopupComponent } from 'src/app/components/dialogs/customer-login-popup/customer-login-popup.component';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CartService } from 'src/app/services/cart.service';\r\nimport { CartComponent } from 'src/app/components/cart/cart.component';\r\nimport { Category } from 'src/app/models/category';\r\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\r\nimport { DatabaseService } from 'src/app/services/database.service';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n ItemV2 as Item,\r\n ItemV2,\r\n ModifierV2 as Modifier,\r\n} from 'src/app/models/item';\r\nimport {\r\n CategorySalesType,\r\n CommonFunctions,\r\n Snackbar,\r\n} from 'src/app/services/common';\r\nimport { OutOfStockComponent } from 'src/app/components/out-of-stock/out-of-stock.component';\r\nimport { SoldOutComponent } from 'src/app/components/dialogs/sold-out/sold-out.component';\r\nimport { AlcoholicOver21DialogComponent } from 'src/app/components/dialogs/alcoholic-over21-dialog/alcoholic-over21-dialog.component';\r\nimport { AlcoholicItemsExceedMaxComponent } from 'src/app/components/dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\r\n\r\nimport { ItemTransferService } from '../../services/item-transfer.service';\r\nimport { Guid } from '../../models/Guid';\r\nimport { Concessionaire } from '../../models/Concessionaire';\r\n\r\nimport { PusherService } from '../../services/pusher.service';\r\nimport { ItemWeightComponent } from '../dialogs/item-weight/item-weight.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { UpSellDialogComponent } from '../dialogs/up-sell-dialog/up-sell-dialog.component';\r\n\r\nimport { ItemSelectionComponent } from '../dialogs/item-selection/item-selection.component';\r\nimport { ScannedItemAddedComponent } from '../dialogs/scanned-item-added/scanned-item-added.component';\r\nimport { OloErrorPopupComponent } from '../dialogs/olo-error-popup/olo-error-popup.component';\r\nimport { VariationOption } from 'src/app/models/Variations';\r\nimport { ScannerHybridModeServiceService } from 'src/app/services/scanner-hybrid-mode-service.service';\r\nimport { IntegrationService } from 'src/app/services/integration.service';\r\nimport { GeneralAlertComponent } from '../dialogs/general-alert/general-alert.component';\r\nimport { usConnectCreds } from 'src/app/models/usconnectCreds';\r\nimport { LanguageChoice, LanguageService } from 'src/app/services/language.service';\r\nimport { FilterConcessionaireComponent } from '../dialogs/filter-concessionaire/filter-concessionaire.component';\r\nimport { ConcessionaireFilterTypes } from 'src/app/models/concessionaireTypes';\r\nimport { ConcessionaireService } from './conc-service/concessionaire.service';\r\nimport { BrandFilterComponent } from '../dialogs/brand-filter/brand-filter.component';\r\nimport { TimeoutComponent } from '../timeout/timeout.component';\r\nimport { Subject } from 'rxjs';\r\nimport { SchedulePricingService } from 'src/app/services/schedule-pricing.service';\r\nimport { DataService } from 'src/app/services/data.service';\r\nimport { FixedItemDiscount } from 'src/app/models/discounts';\r\nimport { DiscountService } from 'src/app/services/discount.service';\r\nimport { CustomerLoginModalService } from '../dialogs/customer-login-popup/customer-login-popup.service';\r\nimport { PreloaderService } from 'src/app/services/preloader.service';\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css'],\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n ngOnDestroy() {\r\n if (this.allSubsCription.length > 0) {\r\n for (let i = 0; i < this.allSubsCription.length; i++) {\r\n this.allSubsCription[i].unsubscribe();\r\n }\r\n }\r\n\r\n if (this.isHybridMode) {\r\n this.scannerService.stopBarcodeScanner();\r\n }\r\n }\r\n\r\n private allSubsCription: Subscription[] = [];\r\n\r\n @ViewChild(CustomerLoginPopupComponent)\r\n customerLoginPopup!: CustomerLoginPopupComponent;\r\n\r\n @ViewChild(CartComponent) cart!: CartComponent;\r\n\r\n @ViewChild(TimeoutComponent) timeOutComponent!: TimeoutComponent;\r\n\r\n @ViewChild('itemContainerDiv') itemContainerDiv!: ElementRef;\r\n\r\n @ViewChild('categoryContainerDiv') categoryContainerDiv!: ElementRef;\r\n\r\n @ViewChild('itemsgrid') itemsgrid!: ElementRef;\r\n\r\n itemSelectionmodal!: ItemSelectionComponent;\r\n\r\n scannedItemAddedComponent!: ScannedItemAddedComponent;\r\n\r\n imageBaseUrl = this.isKioskService.isKiosk()\r\n ? environment.imageBaseUrl\r\n : environment.imageBaseUrlRemote;\r\n\r\n branchLogo: string = '';\r\n\r\n queryCategoryId: string = '';\r\n\r\n categoryTitle: string = '';\r\n\r\n isLoyalty: boolean = false;\r\n useLoyalty: boolean = false;\r\n userName: string = '';\r\n\r\n openCart: boolean = false;\r\n\r\n categoryColor: string = '';\r\n\r\n primaryColor: string = '';\r\n\r\n accentColor: string = '';\r\n\r\n textColor: string = '';\r\n\r\n priceColor: string = '';\r\n\r\n backgroundColor: string = '';\r\n\r\n isHidden: boolean = false;\r\n\r\n headerImages: HeaderImage[] = [];\r\n\r\n headerImage: HeaderImage = {\r\n imageURL: '',\r\n ID: '',\r\n bgColor: '',\r\n };\r\n\r\n concessionaireBaseUrl: string = '/uploads/ConcessionaireLogo/';\r\n\r\n hideHeaderCategoryText: string = 'false';\r\n\r\n allCategory: Category[] = [] as Category[];\r\n\r\n selectedCategory: Category | null = null;\r\n\r\n parentCategoryStack = [] as Category[];\r\n\r\n currentCategoryToShow: Category[] = [] as Category[];\r\n\r\n currentCategoryToShowSub: Subject = new Subject();\r\n\r\n currentItems: Item[] = [] as Item[];\r\n currentItemsSub: Subject- = new Subject();\r\n\r\n defaultCatBackground: string = '';\r\n\r\n backgroundImageCategory: string = '';\r\n\r\n showCalorie: string = '';\r\n\r\n hideStartAt: string = '';\r\n\r\n minimizeSpace!: any;\r\n\r\n checkScrollCheck: boolean = false;\r\n\r\n isTop: boolean = true;\r\n\r\n isBottom: boolean = false;\r\n\r\n removeAlcohol: boolean = false;\r\n\r\n //For Concessionaire\r\n isConcessionaire: boolean = false;\r\n\r\n allConcessionaire: Concessionaire[] = [] as Concessionaire[];\r\n\r\n allConcessionaireSub: Subject
= new Subject();\r\n\r\n selectedConcessionaire!: Concessionaire;\r\n\r\n queryConcessionaireId: string = '';\r\n\r\n private itemOffSet = 0;\r\n\r\n private isInbotton = false;\r\n\r\n\r\n isHybridMode = GeneralSetting.getUseBarcodeScanner() === 'True' ? true : false;\r\n\r\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\r\n\r\n IsHideBarcodeItems = GeneralSetting.getIsHideBarcodeItems();\r\n\r\n usConnectCreds: usConnectCreds = {\r\n AuthToken: '',\r\n DeviceSerialNumber: '',\r\n UCMID: '',\r\n URL: '',\r\n };\r\n\r\n integrationID: number;\r\n\r\n isMiniMizeSpacing: boolean = false;\r\n\r\n timeOutCloseCart!: any;\r\n\r\n backText: string = '';\r\n\r\n startsAtText: string = '';\r\n\r\n regularPriceText: string = '';\r\n\r\n calorieText: string = '';\r\n\r\n signInText: string = '';\r\n\r\n viewMoreText: string = '';\r\n\r\n soldOutText: string = '';\r\n\r\n noResultsText: string = '';\r\n\r\n tryDifferentFilterText: string = '';\r\n\r\n foodFiltersText: string = '';\r\n\r\n scrollForMoreText: string = '';\r\n\r\n scrollForMoreLBText: string = '';\r\n\r\n isFilterApplied: string = '';\r\n\r\n isItemTagsSelected: string = '';\r\n\r\n selConcessionaireFilters: ConcessionaireFilterTypes[] =\r\n [] as ConcessionaireFilterTypes[];\r\n\r\n concessionaireHeaderImage: string = '';\r\n\r\n isShowBranchLogo: boolean = false;\r\n\r\n positiveBtnColor: string = '';\r\n\r\n positiveTextColor: string = '';\r\n\r\n conSize!: number;\r\n\r\n isHideFilter: boolean = false;\r\n\r\n secondaryColor: string = '';\r\n\r\n isFilter: boolean = false;\r\n\r\n categoryDescription: string = '';\r\n\r\n placeholderImage: string = '';\r\n\r\n fixedItemDisc: FixedItemDiscount[] = [] as FixedItemDiscount[];\r\n\r\n closeCartDelay: any;\r\n\r\n showOverlay: boolean = false;\r\n\r\n showScroll: boolean = false;\r\n\r\n isScrollArrowUp: boolean = false;\r\n\r\n isSelectedLangFrench: boolean = false;\r\n\r\n constructor(\r\n private db: DatabaseService,\r\n private isKioskService: IsKioskService,\r\n private userService: UserService,\r\n private logger: LogService,\r\n private readonly router: Router,\r\n private readonly route: ActivatedRoute,\r\n private loyaltyService: LoyaltyService,\r\n private itemTransferService: ItemTransferService,\r\n private cartService: CartService,\r\n private readonly pusherService: PusherService,\r\n public modalService: NgbModal,\r\n private scannerService: ScannerHybridModeServiceService,\r\n private language: LanguageService,\r\n private readonly conService: ConcessionaireService,\r\n integration: IntegrationService,\r\n private schedulePricing: SchedulePricingService,\r\n private readonly dataService: DataService,\r\n private discountService: DiscountService,\r\n private customerLoginService: CustomerLoginModalService,\r\n private preloader: PreloaderService,\r\n private cdr:ChangeDetectorRef\r\n ) {\r\n this.integrationID = integration.integration;\r\n this.queryCategoryId = this.route.snapshot.queryParams['category'];\r\n this.queryConcessionaireId =\r\n this.route.snapshot.queryParams['concessionaireId'];\r\n this.setOffSet(0);\r\n this.allSubsCription.push(\r\n this.language.localeCommunicator.subscribe((val) => {\r\n this.loadText();\r\n })\r\n );\r\n if (this.language.locale == 'fr') {\r\n this.isSelectedLangFrench = true;\r\n } else {\r\n this.isSelectedLangFrench = false;\r\n }\r\n }\r\n\r\n bordersTypeCategory: boolean = false;\r\n bordersTypeItem: boolean = false;\r\n imageRadius: string = '';\r\n isHideZeroPrice: boolean = false;\r\n\r\n loadText() {\r\n this.backText = this.language.getTextElement('back');\r\n this.startsAtText = this.language.getTextElement('txt_starts_at');\r\n this.regularPriceText = this.language.getTextElement('txt_regular_price');\r\n this.calorieText = this.language.getTextElement('calorie_format_text');\r\n this.soldOutText = this.language.getTextElement('sold_out');\r\n this.signInText = this.language.getTextElement('action_sign_in');\r\n this.foodFiltersText = this.language.getTextElement('food_filters');\r\n this.viewMoreText = this.language.getTextElement('view_more');\r\n this.noResultsText = this.language.getTextElement('no_results');\r\n this.scrollForMoreText = this.language.getTextElement(\"scroll_for_more_overlay\");\r\n this.scrollForMoreLBText = this.language.getTextElement(\"lbl_scroll_for_more\");\r\n this.tryDifferentFilterText = this.language.getTextElement(\r\n 'try_different_filter'\r\n );\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.placeholderImage = this.dataService.getPlaceholderImage();\r\n this.branchLogo =\r\n GeneralSetting.getBranchLogo() != ''\r\n ? this.imageBaseUrl + GeneralSetting.getBranchLogo()\r\n : 'assets/images/Image_21.png';\r\n\r\n this.isLoyalty = this.loyaltyService.isLoyalty;\r\n this.useLoyalty = GeneralSetting.getUseLoyaltyKiosk() == 'True';\r\n this.categoryColor = GeneralSetting.getCategoryColor();\r\n\r\n this.primaryColor = GeneralSetting.getPrimaryColor();\r\n\r\n this.textColor = GeneralSetting.getTextColor();\r\n\r\n this.accentColor = GeneralSetting.getAccentColor();\r\n\r\n this.defaultCatBackground = GeneralSetting.getKioskBackgroundImage();\r\n\r\n this.minimizeSpace = GeneralSetting.getIsMinimizeSpacing();\r\n\r\n this.showCalorie = GeneralSetting.getShowCalorieCounts();\r\n\r\n this.hideStartAt = GeneralSetting.getHideStartsAtForVariablePrice();\r\n\r\n this.priceColor = GeneralSetting.getPriceColor();\r\n\r\n this.isConcessionaire =\r\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\r\n\r\n this.bordersTypeCategory =\r\n GeneralSetting.getBorderTypeCategories().toLowerCase() == 'true';\r\n\r\n this.bordersTypeItem =\r\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\r\n\r\n this.imageRadius = GeneralSetting.getBorderPercentage();\r\n\r\n this.getCategoryHeaderDetail();\r\n\r\n this.setOffSet(0);\r\n\r\n this.isHideZeroPrice =\r\n GeneralSetting.getHidePriceIfBasePriceZero() &&\r\n GeneralSetting.getHidePriceIfBasePriceZero() == 'True'\r\n ? true\r\n : false;\r\n\r\n if (this.isConcessionaire) {\r\n this.concessionaireHeaderImage =\r\n GeneralSetting.getConcessionaireHeaderImage();\r\n\r\n this.isShowBranchLogo = GeneralSetting.getHideLogo();\r\n\r\n this.getSelConcessionaireTypes();\r\n\r\n this.getAndSetAllConcessionaire();\r\n } else {\r\n this.getAndSetAllCategory();\r\n }\r\n\r\n this.userLoginCheck();\r\n\r\n this.pusherBind();\r\n\r\n // if (this.isHybridMode) {\r\n // //this.showItemSelectionPopup();\r\n // this.startBarcodeScanner();\r\n // }\r\n\r\n this.positiveBtnColor = GeneralSetting.getPositiveColor();\r\n\r\n this.positiveTextColor = GeneralSetting.getPositiveColorText();\r\n\r\n this.secondaryColor = GeneralSetting.getSecondaryColor();\r\n\r\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\r\n }\r\n\r\n async ngAfterViewInit() {\r\n\r\n\r\n this.showOverlay = GeneralSetting.getIsOverlayScreenShown() == \"false\" ? true : false;\r\n this.cdr.detectChanges();\r\n if (this.showOverlay) {\r\n setTimeout(() => {\r\n this.showOverlay = false;\r\n this.cdr.detectChanges();\r\n GeneralSetting.setIsOverlayScreenShown(true);\r\n }, 1500);\r\n }\r\n this.checkforScroll();\r\n\r\n\r\n setTimeout(() => {\r\n this.checkScrollCheck = this.checkScroll();\r\n }, 1500);\r\n\r\n this.preloader.hide();\r\n }\r\n\r\n checkforScroll() {\r\n if (this.currentCategoryToShow.length && this.currentCategoryToShow.length > 5) {\r\n this.showScroll = true;\r\n } else {\r\n this.showScroll = false;\r\n }\r\n }\r\n\r\n private pusherBind() {\r\n this.allSubsCription.push(\r\n this.pusherService.Item86.subscribe((x) => {\r\n if (x && Object.keys(x).length > 0) {\r\n setTimeout(() => {\r\n this.onSideCategoryClick(this.selectedCategory);\r\n }, 1000);\r\n }\r\n })\r\n );\r\n\r\n this.allSubsCription.push(\r\n this.pusherService.ItemPrice.subscribe((x) => {\r\n this.onSideCategoryClick(this.selectedCategory);\r\n })\r\n );\r\n\r\n\r\n this.allSubsCription.push(\r\n this.pusherService.ItemStatus.subscribe((x) => {\r\n if (x && Object.keys(x).length > 0) {\r\n setTimeout(() => {\r\n this.onSideCategoryClick(this.selectedCategory);\r\n }, 1000);\r\n }\r\n })\r\n );\r\n\r\n this.allSubsCription.push(\r\n this.pusherService.ItemIsActive.subscribe((x) => {\r\n if (x && Object.keys(x).length > 0) {\r\n setTimeout(() => {\r\n this.onSideCategoryClick(this.selectedCategory);\r\n }, 1000);\r\n }\r\n })\r\n );\r\n\r\n this.allSubsCription.push(\r\n this.loyaltyService.updateRewardSub.subscribe((points: number) => {\r\n let availablePoints = this.userService.referrizerLoyaltyUser?.loyaltyPointsCount || 0;;\r\n availablePoints = Number(availablePoints) + Number(points);\r\n this.userService.referrizerLoyaltyUser.loyaltyPointsCount = availablePoints;\r\n })\r\n );\r\n }\r\n\r\n private SetAllConcessioaniteValues(con: Concessionaire[]) {\r\n this.allConcessionaire = con;\r\n this.conSize = this.allConcessionaire.length;\r\n\r\n if (this.allConcessionaire.length > 0) {\r\n let filterCon =\r\n this.conSize > (this.isFilter ? 7 : 6)\r\n ? this.allConcessionaire.slice(0, this.isFilter ? 6 : 5)\r\n : this.allConcessionaire;\r\n\r\n //this.allConcessionaireSub = new BehaviorSubject(filterCon).asObservable();\r\n this.allConcessionaireSub.next(filterCon);\r\n } else {\r\n this.allConcessionaireSub.next([]);\r\n }\r\n }\r\n\r\n private SetShowingCategoryValues(cat: Category[]) {\r\n this.currentCategoryToShow = cat;\r\n this.currentCategoryToShowSub.next(this.currentCategoryToShow);\r\n }\r\n\r\n private SetShowingItemValues(item: Item[]) {\r\n this.schedulePricing.findAndApplySchedulePricing(item).then((data) => {\r\n this.currentItems = item;\r\n if (this.currentItems.length > 0) {\r\n this.currentItemsSub.next(this.currentItems);\r\n } else {\r\n this.currentItemsSub.next([]);\r\n }\r\n });\r\n }\r\n\r\n private getAndSetAllConcessionaire() {\r\n //let conPer = window.performance.now();\r\n //console.log(\"start Concessionaire Performance :- \" + conPer);\r\n\r\n this.db\r\n .getAllConcessionaireFromSql(\r\n this.isFilterApplied,\r\n this.isItemTagsSelected\r\n )\r\n .then((conList: Concessionaire[]) => {\r\n this.SetAllConcessioaniteValues(conList.filter((x) => !x.IsClosed));\r\n this.setDefaultConcessionaire();\r\n });\r\n }\r\n\r\n private findDefaultConcessionaireAndSet() {\r\n if (this.allConcessionaire.length > 0) {\r\n const defaultCon = this.allConcessionaire.find(\r\n (x) => x.IsDefaultConcessionaire == true\r\n );\r\n\r\n if (defaultCon) {\r\n this.selectedConcessionaire = defaultCon;\r\n } else {\r\n this.selectedConcessionaire = this.allConcessionaire[0];\r\n }\r\n\r\n this.queryConcessionaireId = this.selectedConcessionaire.ConcessionaireID;\r\n\r\n this.getAndSetCategoryDetailOnConClick(this.selectedConcessionaire);\r\n }\r\n }\r\n\r\n private async setDefaultConcessionaire() {\r\n if (this.allConcessionaire.length > 0) {\r\n if (this.queryConcessionaireId && this.queryConcessionaireId != '') {\r\n const con = this.allConcessionaire.find(\r\n (x) => x.ConcessionaireID == this.queryConcessionaireId\r\n );\r\n if (con) {\r\n this.onConcessionaireClick(con);\r\n } else {\r\n this.findDefaultConcessionaireAndSet();\r\n }\r\n } else {\r\n this.findDefaultConcessionaireAndSet();\r\n }\r\n } else {\r\n this.selectedConcessionaire = {} as Concessionaire;\r\n this.allCategory = [];\r\n this.SetShowingItemValues([] as Item[]);\r\n this.setSelectedCategoryWithItem(this.allCategory[0], []);\r\n }\r\n\r\n this.scrollToConcessionaire();\r\n }\r\n\r\n private scrollToConcessionaire() {\r\n setTimeout(() => {\r\n if (this.selectedConcessionaire) {\r\n const conRef = document.getElementById(\r\n this.selectedConcessionaire.ConcessionaireID\r\n );\r\n\r\n if (conRef) {\r\n conRef.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'end',\r\n inline: 'nearest',\r\n });\r\n }\r\n }\r\n }, 500);\r\n }\r\n\r\n private getAndSetAllCategory() {\r\n this.db.getAllCategoryFromSql('', false).then(async (categories) => {\r\n if (!(categories && categories.length > 0)) return;\r\n\r\n this.allCategory = this.setChildCategories(categories);\r\n\r\n if (this.allCategory && this.allCategory.length > 0) {\r\n this.setDefaultCategory();\r\n }\r\n });\r\n }\r\n\r\n private setChildCategories(categories: Category[]) {\r\n const childrenCats = categories.filter(\r\n (cat) => cat.ParentCategoryID != '0'\r\n );\r\n\r\n childrenCats.forEach((child) => {\r\n var parent = categories.find(\r\n (cat) => cat.CategoryID.toString() == child.ParentCategoryID\r\n );\r\n if (parent && parent.associatedItems) {\r\n if (\r\n parent.associatedItems.find(\r\n (cat) => cat.CategoryID == child.CategoryID\r\n ) == undefined\r\n ) {\r\n child.isSub = true;\r\n parent.associatedItems?.push(child);\r\n child.parent = parent;\r\n }\r\n }\r\n });\r\n\r\n return categories;\r\n }\r\n\r\n private async setDefaultCategory() {\r\n var setDefault = async () => {\r\n if (this.allCategory && this.allCategory.length > 0) {\r\n this.SetShowingCategoryValues(\r\n this.allCategory.filter((cat) => cat.ParentCategoryID == '0')\r\n );\r\n\r\n if (this.currentCategoryToShow.length > 0) {\r\n let items = await this.db.getItemsByCategoryIdFromSql(\r\n this.currentCategoryToShow[0].CategoryID,\r\n this.isConcessionaire,\r\n this.selectedConcessionaire?.ConcessionaireID,\r\n false,\r\n '',\r\n this.itemOffSet,\r\n 0,\r\n '',\r\n this.isItemTagsSelected,\r\n this.IsHideBarcodeItems\r\n );\r\n this.setSelectedCategoryWithItem(\r\n this.currentCategoryToShow[0],\r\n items\r\n );\r\n }\r\n }\r\n };\r\n\r\n if (this.queryCategoryId && this.queryCategoryId != '') {\r\n for (var i = 0; i < this.allCategory.length; i++) {\r\n if (this.allCategory[i].CategoryID == this.queryCategoryId) {\r\n let category = this.allCategory[i];\r\n\r\n if (category.parent && Object.entries(category.parent).length > 0) {\r\n if (category.ShowasClassicModifierGroup == 'True') {\r\n this.onSideCategoryClick(category.parent, true);\r\n } else {\r\n this.onSideCategoryClick(category, true);\r\n }\r\n } else {\r\n this.onSideCategoryClick(category, false);\r\n }\r\n\r\n this.scrollToCategory();\r\n\r\n return;\r\n }\r\n }\r\n\r\n setDefault();\r\n } else {\r\n setDefault();\r\n }\r\n }\r\n\r\n private userLoginCheck() {\r\n this.allSubsCription.push(\r\n this.userService.userSubject.subscribe((isUserLoggedIn) => {\r\n if (isUserLoggedIn) {\r\n this.userName =\r\n this.userService.name ?? this.language.getTextElement('txt_guest');\r\n } else {\r\n this.userName = this.language.getTextElement('action_sign_in');\r\n }\r\n })\r\n );\r\n }\r\n\r\n private setSelectedCategoryWithItem(category: Category, items: Item[]) {\r\n this.selectedCategory = category;\r\n\r\n if (category) {\r\n let childCategory = category.associatedItems;\r\n\r\n let categoryItems = this.convertCategoryToItem(\r\n childCategory as Category[]\r\n );\r\n items.push(...categoryItems);\r\n\r\n this.SetShowingItemValues(items);\r\n\r\n this.backgroundImageCategory =\r\n category.BackgroundImage != ''\r\n ? this.imageBaseUrl + category.BackgroundImage\r\n : this.defaultCatBackground != '' && category.ColorCode == ''\r\n ? this.imageBaseUrl + this.defaultCatBackground\r\n : '';\r\n\r\n this.backgroundColor = category.ColorCode\r\n ? category.ColorCode\r\n : GeneralSetting.getCategoryBackgroundColor();\r\n\r\n this.categoryTitle = category.Name;\r\n\r\n if (category.HideHeaderText) {\r\n this.hideHeaderCategoryText =\r\n category.HideHeaderText.toString().toLowerCase();\r\n }\r\n\r\n this.categoryDescription = category.Description ?? '';\r\n\r\n //this.checkScrollCheck = this.checkScroll();\r\n\r\n //this.headerImage.bgColor = category.ColorCode;\r\n this.changeHeaderDetail(category);\r\n\r\n this.scrollItemGridToTop();\r\n //this.scrollToCategory();\r\n\r\n this.checkforScroll();\r\n }\r\n }\r\n\r\n private scrollToCategory() {\r\n setTimeout(() => {\r\n if (this.selectedCategory) {\r\n let categoryRef = document.getElementById(\r\n this.selectedCategory.CategoryID\r\n );\r\n\r\n if (categoryRef) {\r\n categoryRef.scrollIntoView({ behavior: 'smooth', inline: 'nearest' });\r\n }\r\n }\r\n }, 50);\r\n }\r\n\r\n private changeHeaderDetail(category: Category) {\r\n let i = 0;\r\n for (i = 0; i < this.headerImages.length; i++) {\r\n if (this.headerImages[i].ID === category.CategoryID) {\r\n this.headerImage.imageURL = this.headerImages[i].imageURL;\r\n break;\r\n }\r\n }\r\n if (i === this.headerImages.length) {\r\n this.headerImage.imageURL = '';\r\n this.headerImage.bgColor = GeneralSetting.getPrimaryColor();\r\n } else {\r\n this.headerImage.bgColor = '';\r\n }\r\n }\r\n\r\n private getCategoryHeaderDetail() {\r\n const CallBack = (tx: any, result: any): void => {\r\n for (let i = 0; i < result.rows.length; i++) {\r\n if (result.rows[i].HeaderImage !== '') {\r\n const image: HeaderImage = {\r\n imageURL:\r\n result.rows && result.rows[i]\r\n ? this.imageBaseUrl + result.rows[i].HeaderImage\r\n : '',\r\n ID: result.rows[i].CategoryID,\r\n bgColor: '',\r\n };\r\n this.headerImages.push(image);\r\n }\r\n }\r\n\r\n this.cartService.setPromotion(0, true, false, []);\r\n };\r\n\r\n const ErrorCallBack = (tx: any, result: any): void => {\r\n console.log('Category Header Image Get Error :- ', result);\r\n };\r\n\r\n var sqlString = 'SELECT HeaderImage, CategoryID FROM CategoryMasters';\r\n DatabaseHandler.executeSqlStatement(sqlString, [], CallBack, ErrorCallBack);\r\n }\r\n\r\n private convertCategoryToItem(categories: Category[]) {\r\n let items = [] as Item[];\r\n\r\n for (var i = 0; i < categories.length; i++) {\r\n let cat = categories[i];\r\n\r\n let item = new Item();\r\n\r\n item.Name = cat.Name;\r\n item.IsCategory = true;\r\n item.AttributeCount = 0;\r\n item.ModifierCount = 0;\r\n item.Price = '0';\r\n item.OldPrice = '0';\r\n item.ImageUrl = cat.ImageUrl;\r\n item.BackgroundImage = cat.BackgroundImage ?? '';\r\n item.DisplayOrder = cat.DisplayOrder;\r\n item.CategoryID = cat.CategoryID;\r\n item.ShowasClassicModifierGroup = cat.ShowasClassicModifierGroup;\r\n item.LabelforItemSelection = cat.LabelforItemSelection;\r\n item.Quantity = '1';\r\n items.push(item);\r\n }\r\n\r\n return items;\r\n }\r\n\r\n private async getItemByCategory(\r\n categoryID: string,\r\n concessionaireId: string = '',\r\n isConcessionaire: boolean = false\r\n ) {\r\n let itemPer = window.performance.now();\r\n\r\n //console.log(\"start Item Performance :- \" + itemPer);\r\n\r\n var categoryItems = await this.db.getItemsByCategoryIdFromSql(\r\n categoryID,\r\n this.isConcessionaire,\r\n this.selectedConcessionaire?.ConcessionaireID,\r\n false,\r\n '',\r\n this.itemOffSet,\r\n 0,\r\n '',\r\n '',\r\n this.IsHideBarcodeItems\r\n );\r\n\r\n let itemPerEnd = window.performance.now();\r\n\r\n //console.log(\"End Item Performance :- \" + itemPerEnd);\r\n\r\n //console.log(\"item Per Sec:- \" + ((itemPerEnd - itemPer) / 1000));\r\n\r\n //console.log(\"Category Items Length :- \" + categoryItems.length);\r\n\r\n return categoryItems;\r\n }\r\n\r\n private navigateToItemPage(item: Item, direction: string) {\r\n this.itemTransferService.snapshotItemV2(item);\r\n this.router.navigate([`/${direction}`], {\r\n queryParams: {\r\n id: item.ItemID,\r\n category: item.CategoryID,\r\n concessionaireId: this.isConcessionaire\r\n ? this.selectedConcessionaire?.ConcessionaireID\r\n : '',\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * }\r\n * @implements hard-coded age of majority, to be changed in future versions\r\n * @description checks if the user has exceeded current amount of alcoholic items allowed per order, and checks user age\r\n * @returns {Promise} string data detailing whether user age is over/under legal drinking age. Currently hard-coded 21, soon to be localized\r\n */\r\n private AlcoholicItemChecks(item: Item, direction: string) {\r\n let max: number = Number(\r\n GeneralSetting.getMaxAlcoholicItemsPerOrder() || 0\r\n );\r\n if (max > 0) {\r\n const current: number = Number(GeneralSetting.getCurrentCountofAlkol());\r\n if (current === max) {\r\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\r\n } else {\r\n let co21 = AlcoholicOver21DialogComponent.open(this.modalService);\r\n\r\n co21.result.then((data: any) => {\r\n if (data === 'over') {\r\n var soldOutMode = this.checkForSoldOutModifier(item);\r\n\r\n if (soldOutMode.length > 0) {\r\n this.openSoldOutModel(data, item, direction);\r\n } else if (direction == 'menu') {\r\n this.normalItemAddToCart(item);\r\n //this.navigateToItemPage(item, direction);\r\n } else {\r\n this.navigateToItemPage(item, direction);\r\n }\r\n } else {\r\n this.removeAlcohol = true;\r\n //this.isUnder21.emit(true);\r\n //resolve('under21');\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @param {Modifier[]} soldOutModifier An array of the selected item's Modifier elements which are both default and 86\r\n * @param {ItemV2} item Data related to the selected item object\r\n * @param {string} direction Dynamic URL path of the selected item's desired screen\r\n */\r\n private openSoldOutModel(\r\n soldOutModifier: Modifier[],\r\n item: Item,\r\n direction: string\r\n ) {\r\n let som = SoldOutComponent.open(this.modalService, soldOutModifier, item);\r\n\r\n som.result.then((data: string) => {\r\n if (data == 'continue') {\r\n this.navigateToItemPage(item, direction);\r\n }\r\n });\r\n }\r\n\r\n private checkForSoldOutModifier(item: Item): Modifier[] {\r\n const soldOutMod: Modifier[] = [];\r\n // Set flow as per General kiosk i.e. 86 based on modifer group not on ingredient\r\n // const soldOutCheck = async (item: any) => {\r\n // if (\r\n // item.IsDefault &&\r\n // item.IsDefault == 'True' &&\r\n // item.IsIngredient86 &&\r\n // item.IsIngredient86 == 'False'\r\n // ) {\r\n // soldOutMod.push(item);\r\n // }\r\n // };\r\n\r\n function modifierCheck(modifier: Modifier) {\r\n if (modifier && modifier.IsModifier86 == 'False') {\r\n soldOutMod.push(modifier);\r\n return modifier;\r\n }\r\n\r\n return null;\r\n // Set flow as per General kiosk i.e. 86 based on modifer group not on ingredient\r\n // if (modifier.Ingredients && modifier.Ingredients.length > 0) {\r\n // await CommonFunctions.forEach(modifier.Ingredients, soldOutCheck);\r\n // }\r\n }\r\n\r\n if (item.Modifiers) {\r\n for (var i = 0; i < item.Modifiers.length; i++) {\r\n var mod = modifierCheck(item.Modifiers[i]);\r\n if (mod) soldOutMod.push(mod);\r\n }\r\n }\r\n\r\n return soldOutMod;\r\n }\r\n\r\n private async normalItemAddToCart(item: Item) {\r\n const objCartItem = this.createCartItem(item);\r\n\r\n let upSellItems = await this.getUpSellItems(item.ItemID);\r\n let itemUpsell = this.cartService.cartItems.find((cartItem) => cartItem.IsUpSellItem && upSellItems.find((upSellItem) => upSellItem.ItemID == cartItem.ItemID));\r\n if (!itemUpsell && upSellItems.length > 0) {\r\n this.openUpSellModel(objCartItem);\r\n } else {\r\n await this.cartService.addToCartAsync(objCartItem);\r\n this.openCartOnAddItem();\r\n }\r\n }\r\n\r\n private createCartItem(inputItem: Item) {\r\n const cartItem = JSON.parse(JSON.stringify(inputItem)) as Item;\r\n cartItem.guid = inputItem.guid ? inputItem.guid : Guid.newGuid();\r\n cartItem.Modifiers = [];\r\n cartItem.VariationOption = [];\r\n cartItem.ComboGroup = [];\r\n cartItem.AllowQuantitySelection =\r\n cartItem.AllowQuantitySelection == ''\r\n ? 'True'\r\n : cartItem.AllowQuantitySelection;\r\n cartItem.GuestName = inputItem.GuestName;\r\n cartItem.Quantity =\r\n inputItem.Quantity && inputItem.Quantity != undefined\r\n ? inputItem.Quantity\r\n : '1';\r\n cartItem.totalPrice =\r\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\r\n\r\n if (\r\n this.isConcessionaire &&\r\n this.selectedConcessionaire &&\r\n Object.entries(this.selectedConcessionaire).length > 0\r\n ) {\r\n cartItem.ConcessionaireId = this.selectedConcessionaire.ConcessionaireID;\r\n cartItem.ConcessionaireName = this.selectedConcessionaire.Name;\r\n cartItem.ConcessionaireColorCode = this.selectedConcessionaire.ColorCode;\r\n }\r\n\r\n return cartItem;\r\n }\r\n\r\n private setOffSet(offSet: number, isAdd: boolean = false) {\r\n if (isAdd) {\r\n this.itemOffSet = this.itemOffSet + 50;\r\n } else {\r\n this.itemOffSet = offSet;\r\n }\r\n }\r\n\r\n changeOpenCart(event: any) {\r\n this.openCart = event;\r\n }\r\n\r\n onUserClick() {\r\n this.customerLoginService.onUserClick(this.loyaltyService.loyaltyType).then((data: number) => {\r\n if (data) {\r\n if (data == 1) {\r\n this.router.navigateByUrl('/lastfiveorder');\r\n } else if (data == 2) {\r\n this.getUserName();\r\n } else {\r\n //this block should not be reached\r\n }\r\n }\r\n //no else block for top-level if-con\r\n //where data is falsey, a zero is returned to end execution flow without hanging promise\r\n }\r\n //no rejection handler\r\n //promise resolves 0 on all reject cases\r\n );\r\n }\r\n /**\r\n * Gets user name\r\n * @returns\r\n */\r\n getUserName() {\r\n if (this.userService.isUserLoggedIn) {\r\n this.userName = this.userService.name;\r\n } else {\r\n this.userName = this.signInText;\r\n }\r\n }\r\n\r\n async onConcessionaireClick(con: Concessionaire) {\r\n if (\r\n this.selectedConcessionaire &&\r\n this.selectedConcessionaire.ConcessionaireID == con.ConcessionaireID\r\n )\r\n return;\r\n\r\n if (this.isConClickStoped) return;\r\n this.onConStop();\r\n\r\n this.selectedConcessionaire = con;\r\n\r\n // To move the list values on based on selection\r\n const selConList = this.allConcessionaire;\r\n let index = this.allConcessionaire.length - 1;\r\n let newindex = this.allConcessionaire.length;\r\n for (var i = index; i >= 0; i--) {\r\n if (\r\n this.allConcessionaire[i].ConcessionaireID !==\r\n this.selectedConcessionaire.ConcessionaireID\r\n ) {\r\n selConList[--newindex] = this.allConcessionaire[i];\r\n }\r\n }\r\n\r\n selConList[0] = this.selectedConcessionaire;\r\n\r\n this.allCategory = [];\r\n this.SetShowingCategoryValues([]);\r\n this.SetShowingItemValues([]);\r\n\r\n this.allConcessionaire = selConList;\r\n\r\n this.getSelConcessionaireTypes();\r\n this.getAndSetCategoryDetailOnConClick(this.selectedConcessionaire);\r\n }\r\n\r\n private async getAndSetCategoryDetailOnConClick(con: Concessionaire) {\r\n let categories = await this.db.getAllCategoryByConcessionaireId(\r\n this.selectedConcessionaire.ConcessionaireID,\r\n this.isItemTagsSelected\r\n );\r\n\r\n this.allCategory = this.setChildCategories(categories);\r\n\r\n this.setDefaultCategory();\r\n\r\n this.queryConcessionaireId = con.ConcessionaireID;\r\n }\r\n\r\n private async onPageEndGetRemainingItems() {\r\n if (\r\n this.selectedCategory &&\r\n this.currentItems &&\r\n this.currentItems.length > 0 &&\r\n this.currentItems.length % 50 == 0 &&\r\n !this.isInbotton\r\n ) {\r\n this.isInbotton = true;\r\n this.setOffSet(0, true);\r\n\r\n let items = await this.getItemByCategory(\r\n this.selectedCategory?.CategoryID ?? '',\r\n this.selectedConcessionaire?.ConcessionaireID,\r\n this.isConcessionaire\r\n );\r\n\r\n this.isInbotton = false;\r\n\r\n this.SetShowingItemValues(this.currentItems.concat(items));\r\n }\r\n }\r\n\r\n async onSideCategoryClick(\r\n category: Category | null | undefined,\r\n IsSub: boolean = false\r\n ) {\r\n\r\n setTimeout(() => {\r\n this.checkScrollCheck = this.checkScroll();\r\n }, 500);\r\n\r\n if (!category) return;\r\n\r\n this.setOffSet(0);\r\n\r\n //if (IsSub) {\r\n for (let i = 0; i < this.allCategory.length; i++) {\r\n let cat = this.allCategory[i];\r\n\r\n if (cat.CategoryID == category.CategoryID) {\r\n if (!cat.parent || Object.keys(cat.parent).length == 0) {\r\n this.SetShowingCategoryValues(\r\n this.allCategory.filter((cat) => cat.ParentCategoryID == '0')\r\n );\r\n\r\n let items = await this.db.getItemsByCategoryIdFromSql(\r\n cat.CategoryID,\r\n this.isConcessionaire,\r\n this.selectedConcessionaire?.ConcessionaireID,\r\n false,\r\n '',\r\n this.itemOffSet,\r\n 0,\r\n '',\r\n this.isItemTagsSelected,\r\n this.IsHideBarcodeItems\r\n );\r\n\r\n this.setSelectedCategoryWithItem(cat, items);\r\n } else {\r\n this.SetShowingCategoryValues([cat] as Category[]);\r\n\r\n let items = await this.db.getItemsByCategoryIdFromSql(\r\n cat.CategoryID,\r\n this.isConcessionaire,\r\n this.selectedConcessionaire?.ConcessionaireID,\r\n false,\r\n '',\r\n this.itemOffSet,\r\n 0,\r\n '',\r\n this.isItemTagsSelected,\r\n this.IsHideBarcodeItems\r\n );\r\n\r\n this.setSelectedCategoryWithItem(cat, items);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n //}\r\n //else {\r\n // let items = await this.db.getItemsByCategoryIdFromSql(category.CategoryID, this.isConcessionaire, this.selectedConcessionaire?.ConcessionaireID);\r\n\r\n // this.setSelectedCategoryWithItem(category, items);\r\n //}\r\n }\r\n\r\n onItemClick(item: Item, event: any) {\r\n // Checks fixed item quantity limit\r\n if (this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0) {\r\n var isFixedItemAvail = this.discountService.isFixedItemAvail(\r\n this.fixedItemDisc[0],\r\n item\r\n );\r\n\r\n if (isFixedItemAvail) {\r\n return;\r\n }\r\n }\r\n\r\n if (item.IsCategory) {\r\n if (\r\n !item.ShowasClassicModifierGroup ||\r\n item.ShowasClassicModifierGroup == 'False'\r\n ) {\r\n let category = {} as Category;\r\n category.CategoryID = item.CategoryID;\r\n\r\n this.onSideCategoryClick(category, true);\r\n return;\r\n } else {\r\n\r\n this.navigateToItemPage(item, 'ItemNormalMode');\r\n return;\r\n }\r\n }\r\n\r\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\r\n if (item.RefItemId == '') {\r\n let error = this.language\r\n .getTextElement('missing_ref_item_id')\r\n .replace('%d', item.Name);\r\n Snackbar.show(error, 5000);\r\n return;\r\n }\r\n }\r\n\r\n if (item.SoldOut) {\r\n OutOfStockComponent.open(this.modalService, this.language, 0);\r\n return;\r\n }\r\n\r\n this.itemTransferService.snapshotItem(item);\r\n //Check for is item by weight\r\n if (item.EnablePricebyWeight && item.EnablePricebyWeight == 'True') {\r\n if (GeneralSetting.getRaspberryPiIPAddress() == '') {\r\n let errorModel = new GeneralAlertComponent(\r\n this.modalService,\r\n this.language\r\n );\r\n\r\n let title = this.language.getTextElement('titile_uh_oh');\r\n let subTitle = this.language.getTextElement('rasperry_pi_not_setup');\r\n errorModel.open(title, subTitle);\r\n this.manageScannerInWeightScale(errorModel);\r\n } else {\r\n this.scannerService.stopBarcodeScanner();\r\n\r\n let iwm = ItemWeightComponent.open(this.modalService);\r\n\r\n iwm.result.then(\r\n (weight: string) => {\r\n if (weight == 'error') {\r\n let errorModel = new GeneralAlertComponent(\r\n this.modalService,\r\n this.language\r\n );\r\n let title = this.language.getTextElement('titile_uh_oh');\r\n let subTitle = this.language.getTextElement(\r\n 'server_communiation_error'\r\n );\r\n errorModel.open(title, subTitle);\r\n this.manageScannerInWeightScale(errorModel);\r\n } else if (weight == 'cancel') {\r\n this.startBarcodeScanner();\r\n } else {\r\n try {\r\n this.setWeightAndNavigate(item, weight);\r\n } catch (e: any) {\r\n Snackbar.show(e, 3000);\r\n }\r\n }\r\n },\r\n () => {\r\n //dismissed instead of close\r\n }\r\n );\r\n }\r\n } else {\r\n const direction = CommonFunctions.getItemType(item);\r\n\r\n if (\r\n item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()\r\n ) {\r\n //path of functions to be called when item is alcoholic\r\n this.AlcoholicItemChecks(item, direction);\r\n } else if (direction == 'menu') {\r\n // Only Normal Item is added directly to cart\r\n this.normalItemAddToCart(item);\r\n this.navigateToItemPage(item, direction);\r\n } else if (direction != 'itemDescription') {\r\n let soldOutMode = this.checkForSoldOutModifier(item);\r\n\r\n if (soldOutMode.length > 0) {\r\n if (GeneralSetting.getIsmDoNotAllowAddToCartKiosk() == 'True') {\r\n OutOfStockComponent.open(this.modalService, this.language, 1);\r\n } else {\r\n this.openSoldOutModel(soldOutMode, item, direction);\r\n }\r\n } else {\r\n this.navigateToItemPage(item, direction);\r\n }\r\n } else if (direction == 'itemDescription') {\r\n let resDuplicateItem = this.cartService.getItemById(\r\n item.ItemID\r\n ) as ItemV2;\r\n if (resDuplicateItem.guid) {\r\n item = resDuplicateItem;\r\n }\r\n this.navigateToItemPage(item, direction);\r\n }\r\n }\r\n }\r\n\r\n private openUpSellModel(objItem: ItemV2) {\r\n const itemTypeStr = CommonFunctions.getItemTypeV2(objItem);\r\n let itemType: number = 1;\r\n\r\n if (itemTypeStr == 'ItemBuilderMode') {\r\n itemType = 2;\r\n }\r\n\r\n let usdm = UpSellDialogComponent.open(\r\n this.modalService,\r\n this.language,\r\n objItem.ItemID,\r\n 1,\r\n itemType,\r\n objItem\r\n );\r\n\r\n usdm.result.then((result: any) => {\r\n if (result != 'cancel') {\r\n this.upSellModelResponse(result, objItem);\r\n } else {\r\n this.addToCart(objItem);\r\n }\r\n });\r\n }\r\n\r\n private upSellModelResponse(resUpsellItems: ItemV2[], objItem: ItemV2) {\r\n const upSellItems: ItemV2[] = [];\r\n\r\n for (let upSellItem of resUpsellItems) {\r\n upSellItem.IsUpSellItem = true;\r\n upSellItem.UpSellItemID = objItem.ItemID;\r\n upSellItem.UpSellItemGuid = objItem.guid;\r\n upSellItem.UpSellItemPrice = CommonFunctions.getItemPrice(objItem);\r\n upSellItem.totalPrice = CommonFunctions.getItemPrice(upSellItem);\r\n\r\n if (this.isConcessionaire) {\r\n upSellItem.ConcessionaireId = objItem.ConcessionaireId;\r\n upSellItem.ConcessionaireName = objItem.ConcessionaireName;\r\n upSellItem.ConcessionaireColorCode = objItem.ConcessionaireColorCode;\r\n }\r\n\r\n upSellItems.push(upSellItem);\r\n }\r\n\r\n this.addToCart(objItem, upSellItems);\r\n }\r\n\r\n private async addToCart(objItem: ItemV2, upSellItems: ItemV2[] = []) {\r\n objItem.totalPrice =\r\n CommonFunctions.getItemPrice(objItem) * Number(objItem.Quantity);\r\n\r\n const resAddToCart = await this.cartService.addToCartAsync(objItem);\r\n\r\n if (!resAddToCart.status) {\r\n if (resAddToCart.error == 'alcohol') {\r\n let error = this.language.getTextElement('max_alcohol_limit');\r\n Snackbar.show(error, 3000);\r\n } else {\r\n let error = this.language\r\n .getTextElement('item_has_max_quantity')\r\n .replace('%d', objItem.OrderMaximumQuantity.toLocaleString());\r\n Snackbar.show(error, 2500);\r\n }\r\n\r\n return;\r\n } else {\r\n if (upSellItems.length > 0) {\r\n for (let i = 0; i < upSellItems.length; i++) {\r\n upSellItems[i].UpSellItemGuid = objItem.guid;\r\n this.cartService.addToCartAsync(upSellItems[i]);\r\n }\r\n }\r\n this.openCartOnAddItem();\r\n }\r\n\r\n return;\r\n }\r\n\r\n private async getUpSellItems(itemId: string) {\r\n let items = await this.db.getUpSellItemsByItemId(itemId);\r\n\r\n return items;\r\n }\r\n\r\n onCategoryScroll() {\r\n\r\n let element = document.getElementById(\"category-container\") as HTMLElement;\r\n // this.categoryContainerDiv.nativeElement;\r\n\r\n let scrollTop = element?.scrollTop;\r\n let clientHeight = element?.clientHeight;\r\n // console.log(scrollTop, clientHeight);\r\n if (scrollTop < 51) {\r\n\r\n let scrollCheck = scrollTop - clientHeight;\r\n if (scrollCheck < 0) {\r\n this.isScrollArrowUp = false;\r\n return;\r\n }\r\n }\r\n\r\n this.isScrollArrowUp = true;\r\n }\r\n\r\n checkScroll(): boolean {\r\n if (!this.itemContainerDiv) {\r\n return false;\r\n }\r\n\r\n const element = this.itemContainerDiv.nativeElement;\r\n if (element) {\r\n if (\r\n element.scrollTop >=\r\n (element.scrollHeight - element.clientHeight) * 0.8\r\n ) {\r\n this.isTop = false;\r\n this.isBottom = true;\r\n } else if (\r\n element.scrollTop <=\r\n (element.scrollHeight - element.clientHeight) * 0.1\r\n ) {\r\n this.isTop = true;\r\n this.isBottom = false;\r\n } else {\r\n this.isBottom = false;\r\n this.isTop = false;\r\n }\r\n\r\n if (element.clientHeight < element.scrollHeight) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n onScroll(event: any) {\r\n if (\r\n event.target.scrollTop >=\r\n (event.target.scrollHeight - event.target.clientHeight) * 0.8\r\n ) {\r\n this.isTop = false;\r\n this.isBottom = true;\r\n\r\n this.onPageEndGetRemainingItems();\r\n } else if (\r\n event.target.scrollTop <=\r\n (event.target.scrollHeight - event.target.clientHeight) * 0.1\r\n ) {\r\n this.isTop = true;\r\n this.isBottom = false;\r\n } else {\r\n this.isBottom = false;\r\n this.isTop = false;\r\n }\r\n }\r\n\r\n\r\n\r\n scrollDownLeft() {\r\n if (!this.categoryContainerDiv) {\r\n return;\r\n }\r\n\r\n let element = this.categoryContainerDiv.nativeElement;\r\n const smoothScrollTo = (to: number, duration: number) => {\r\n const start = (element as HTMLElement).scrollTop,\r\n change = to - start,\r\n startDate = +new Date();\r\n\r\n // t = current time\r\n // b = start value\r\n // c = change in value\r\n // d = duration\r\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\r\n t /= d / 2;\r\n if (t < 1) return (c / 2) * t * t + b;\r\n t--;\r\n return (-c / 2) * (t * (t - 2) - 1) + b;\r\n };\r\n\r\n const animateScroll = () => {\r\n const currentDate = +new Date();\r\n const currentTime = currentDate - startDate;\r\n (element as HTMLElement).scrollTop = parseInt(\r\n easeInOutQuad(currentTime, start, change, duration)\r\n );\r\n if (currentTime < duration) {\r\n requestAnimationFrame(animateScroll);\r\n } else {\r\n (element as HTMLElement).scrollTop = to;\r\n }\r\n };\r\n animateScroll();\r\n };\r\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\r\n if (this.isScrollArrowUp) {\r\n smoothScrollTo(0, 360);\r\n }\r\n else {\r\n smoothScrollTo(element?.scrollHeight - element?.clientHeight, 360);\r\n }\r\n\r\n\r\n }\r\n\r\n scrollDown() {\r\n if (!this.itemContainerDiv) {\r\n return;\r\n }\r\n\r\n let element = this.itemContainerDiv.nativeElement;\r\n const smoothScrollTo = (to: number, duration: number) => {\r\n const start = (element as HTMLElement).scrollTop,\r\n change = to - start,\r\n startDate = +new Date();\r\n\r\n // t = current time\r\n // b = start value\r\n // c = change in value\r\n // d = duration\r\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\r\n t /= d / 2;\r\n if (t < 1) return (c / 2) * t * t + b;\r\n t--;\r\n return (-c / 2) * (t * (t - 2) - 1) + b;\r\n };\r\n\r\n const animateScroll = () => {\r\n const currentDate = +new Date();\r\n const currentTime = currentDate - startDate;\r\n (element as HTMLElement).scrollTop = parseInt(\r\n easeInOutQuad(currentTime, start, change, duration)\r\n );\r\n if (currentTime < duration) {\r\n requestAnimationFrame(animateScroll);\r\n } else {\r\n (element as HTMLElement).scrollTop = to;\r\n }\r\n };\r\n animateScroll();\r\n };\r\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\r\n smoothScrollTo(element?.scrollHeight - element?.clientHeight, 300);\r\n }\r\n\r\n scrollTop() {\r\n if (!this.itemContainerDiv) {\r\n return;\r\n }\r\n\r\n let element = this.itemContainerDiv.nativeElement;\r\n\r\n const smoothScrollTo = (to: number, duration: number) => {\r\n const start = (element as HTMLElement).scrollTop,\r\n change = to - start,\r\n startDate = +new Date();\r\n /**\r\n * @param {any} t current time\r\n * @param {any} b start value\r\n * @param {any} c change in value\r\n * @param {any} d duration\r\n */\r\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\r\n t /= d / 2;\r\n if (t < 1) return (c / 2) * t * t + b;\r\n t--;\r\n return (-c / 2) * (t * (t - 2) - 1) + b;\r\n };\r\n\r\n const animateScroll = () => {\r\n const currentDate = +new Date();\r\n const currentTime = currentDate - startDate;\r\n (element as HTMLElement).scrollTop = parseInt(\r\n easeInOutQuad(currentTime, start, change, duration)\r\n );\r\n if (currentTime < duration) {\r\n requestAnimationFrame(animateScroll);\r\n } else {\r\n (element as HTMLElement).scrollTop = to;\r\n }\r\n };\r\n animateScroll();\r\n };\r\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\r\n smoothScrollTo(0, 300);\r\n }\r\n\r\n getCategoryImage(\r\n category: Category,\r\n selectedCategory: Category,\r\n imageBaseUrl: string\r\n ) {\r\n let image = '';\r\n\r\n function getDeselectedImage(deCategory: Category) {\r\n if (\r\n deCategory.DeselectCategoryIcon &&\r\n CommonFunctions.checkVariable(deCategory.DeselectCategoryIcon) &&\r\n deCategory.DeselectCategoryIcon != '' &&\r\n deCategory.DeselectCategoryIcon.slice(-5) != null &&\r\n deCategory.DeselectCategoryIcon.slice(-5) != 'null'\r\n ) {\r\n return deCategory.DeselectCategoryIcon;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n function getSelectedImage(seCategory: Category) {\r\n if (\r\n seCategory.CategoryIcon &&\r\n seCategory.CategoryIcon != '' &&\r\n CommonFunctions.checkVariable(seCategory.CategoryIcon) &&\r\n seCategory.CategoryIcon.slice(-5) != null &&\r\n seCategory.CategoryIcon.slice(-5) != 'null'\r\n ) {\r\n return seCategory.CategoryIcon;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n let deImage = getDeselectedImage(category);\r\n let seImage = getSelectedImage(category);\r\n\r\n if (\r\n selectedCategory &&\r\n category.CategoryID == selectedCategory.CategoryID\r\n ) {\r\n if (seImage != '') {\r\n image = seImage;\r\n } else if (deImage != '') {\r\n image = deImage;\r\n } else {\r\n image = '';\r\n }\r\n } else {\r\n if (deImage != '') {\r\n image = deImage;\r\n } else if (seImage != '') {\r\n image = seImage;\r\n } else {\r\n image = '';\r\n }\r\n }\r\n\r\n return image != '' ? imageBaseUrl + image : 'assets/images/Image_21.png';\r\n }\r\n\r\n //ToDo Remove This or replace with on event change\r\n //there is a maximum of three rows\r\n getContainerStyle(item: Item): Object {\r\n let count: number;\r\n let image = document.getElementById(\r\n item.ImageUrl || ''\r\n ) as HTMLImageElement;\r\n\r\n if (\r\n this.selectedCategory &&\r\n this.selectedCategory.DisplayCatItemRowCount == '1'\r\n ) {\r\n count = 22;\r\n } else if (\r\n this.selectedCategory &&\r\n this.selectedCategory.DisplayCatItemRowCount == '2'\r\n ) {\r\n count = 18;\r\n } else {\r\n count = 14;\r\n }\r\n if (image && image.naturalHeight > image.naturalWidth) {\r\n return {\r\n height: count + 'vh',\r\n 'line-height': count,\r\n width: 'auto',\r\n };\r\n }\r\n return { height: count + 'vh', 'line-height': count + 'vh', width: 'auto' };\r\n }\r\n\r\n //ToDo remove or replace with event change\r\n //there is a maximum of three rows\r\n getStyle(item: Item): Object {\r\n let count: number;\r\n\r\n let image = document.getElementById(\r\n item.ImageUrl || ''\r\n ) as HTMLImageElement;\r\n // console.dir(image);\r\n if (\r\n this.selectedCategory &&\r\n this.selectedCategory.DisplayCatItemRowCount == '1'\r\n ) {\r\n count = 22;\r\n } else if (\r\n this.selectedCategory &&\r\n this.selectedCategory.DisplayCatItemRowCount == '2'\r\n ) {\r\n count = 18;\r\n } else {\r\n count = 14;\r\n }\r\n\r\n if (image && image.naturalHeight > image.naturalWidth) {\r\n return {\r\n // 'min-width': count + 'vh',\r\n height: count + 'vh',\r\n width: 'auto',\r\n 'border-radius': this.bordersTypeItem ? this.imageRadius : '0%',\r\n };\r\n }\r\n\r\n return {\r\n width: count + 'vh',\r\n 'border-radius': this.bordersTypeItem ? this.imageRadius : '0%',\r\n };\r\n }\r\n\r\n getItemContainerHeight(\r\n isConcessionaire: boolean = false,\r\n isCartOpen: boolean = false,\r\n isHybridMode: boolean = false,\r\n isFilterApplied: string = '',\r\n isItemTagsSelected: string = ''\r\n ) {\r\n if (isConcessionaire)\r\n return isCartOpen\r\n ? isFilterApplied != '' || isItemTagsSelected != ''\r\n ? '66vh'\r\n : '69vh'\r\n : isFilterApplied != '' || isItemTagsSelected != ''\r\n ? '68vh'\r\n : '71vh';\r\n try {\r\n return isHybridMode\r\n ? isCartOpen\r\n ? '67vh'\r\n : '70vh'\r\n : isCartOpen\r\n ? '76vh'\r\n : '78.5vh';\r\n } catch (e: any) {\r\n return '78.5vh';\r\n }\r\n }\r\n\r\n getContainerHeight(\r\n isConcessionaire: boolean = false,\r\n isCartOpen: boolean = false,\r\n isHybridMode: boolean = false\r\n ) {\r\n if (isConcessionaire) return '71vh';\r\n try {\r\n return isHybridMode\r\n ? isCartOpen\r\n ? '76.8vh'\r\n : '79.5vh'\r\n : isCartOpen\r\n ? '76.8vh'\r\n : '79.5vh';\r\n } catch (e: any) {\r\n return '79vh';\r\n }\r\n }\r\n\r\n private scrollItemGridToTop() {\r\n if (this.itemsgrid) {\r\n let element = this.itemsgrid.nativeElement as HTMLElement;\r\n\r\n if (element) {\r\n element.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * This method starts the inbuilt scanner\r\n * @returns\r\n */\r\n private startBarcodeScanner(): Promise {\r\n return new Promise((resolve, reject) => {\r\n window.onmessage = (event: any) => {\r\n if (event.data.messageType === 'ScannerResult') {\r\n if (event.data.result && event.data.result != null) {\r\n this.addScannedItem(event.data.result);\r\n } else {\r\n this.scanningError();\r\n }\r\n } else {\r\n var log = new loggingData(\r\n 'Scanner Error',\r\n 'Scanner Encountered Unknown Error ',\r\n 'Error Scanner',\r\n `Scanner Encountered Some Error`,\r\n true\r\n );\r\n this.logger.sendLogToServer(log);\r\n }\r\n };\r\n\r\n this.scannerService.startItemScanner();\r\n });\r\n }\r\n\r\n /**\r\n * Adds / Checks scanned item in the db\r\n * @param code barcode received after scanning item\r\n */\r\n async addScannedItem(code: string) {\r\n var scannedItem = (await this.db.getItemsByCategoryIdFromSql(\r\n '0',\r\n false,\r\n '0',\r\n false,\r\n '0',\r\n 0,\r\n 3,\r\n code,\r\n this.isItemTagsSelected\r\n )) as unknown as Item[];\r\n var scannedItemVariation = await this.db.getVariationOptionBySkuID(code);\r\n if (\r\n scannedItem &&\r\n scannedItem.length > 0 &&\r\n scannedItemVariation &&\r\n scannedItemVariation.length > 0\r\n ) {\r\n this.scanningError();\r\n } else {\r\n if (scannedItem && scannedItem.length > 0) {\r\n if (scannedItem[0].ModifierCount && scannedItem[0].ModifierCount > 0) {\r\n this.scanningError();\r\n } else {\r\n this.addScannedBarcodeItem(scannedItem, scannedItemVariation);\r\n }\r\n } else {\r\n if (scannedItemVariation && scannedItemVariation.length > 0) {\r\n if (scannedItemVariation.length > 1) {\r\n this.scanningError();\r\n } else {\r\n scannedItem = (await this.db.getItemsByCategoryIdFromSql(\r\n '0',\r\n false,\r\n '0',\r\n true,\r\n scannedItemVariation[0].ItemID,\r\n 0,\r\n 3,\r\n code,\r\n this.isItemTagsSelected\r\n )) as unknown as Item[];\r\n this.addScannedBarcodeItem(scannedItem, scannedItemVariation);\r\n }\r\n } else {\r\n this.scanningError();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Adds the item into the cart\r\n * @param scannedItem Item got from barcode\r\n * @param scanItemVariation Item's variation got from barcode\r\n * @returns\r\n */\r\n async addScannedBarcodeItem(\r\n scannedItem: ItemV2[],\r\n scanItemVariation: VariationOption[]\r\n ) {\r\n if (scannedItem.length <= 0) {\r\n this.scanningError();\r\n return;\r\n }\r\n\r\n if (scannedItem.length > 1) {\r\n scannedItem = [scannedItem[0]];\r\n //this.scanningError();\r\n }\r\n\r\n //else {\r\n if (scanItemVariation != null) {\r\n scannedItem[0].VariationOption = scanItemVariation;\r\n }\r\n\r\n let res = await this.cartService.addToCartAsync(\r\n await this.scannerService.createCartItem(scannedItem[0], this.db)\r\n );\r\n\r\n if (!res.status) {\r\n if (res.error == 'alcohol') {\r\n this.scannerService.stopBarcodeScanner();\r\n setTimeout(() => {\r\n this.startBarcodeScanner();\r\n }, 2500);\r\n let error = this.language.getTextElement('max_alcohol_limit');\r\n Snackbar.show(error, 3000);\r\n } else if (res.error == 'stock') {\r\n let error = this.language.getTextElement('item_sold_out');\r\n Snackbar.show(error, 3000);\r\n }\r\n return;\r\n } else {\r\n this.cartService.doScrollCart.next(true);\r\n this.timeOutComponent.stillHere();\r\n if (this.cartService.isItemSelectionOrScan) {\r\n this.scannedItemAddedPopup();\r\n this.scannerService.stopBarcodeScanner();\r\n setTimeout(() => {\r\n this.scannedItemAddedComponent?.close();\r\n this.startBarcodeScanner();\r\n }, 1000);\r\n } else {\r\n if (this.itemSelectionmodal) {\r\n this.itemSelectionmodal.close();\r\n this.cartService.isItemSelectionOrScan = true;\r\n this.scannerService.stopBarcodeScanner();\r\n this.startBarcodeScanner();\r\n }\r\n }\r\n this.openCartOnAddItem();\r\n }\r\n //}\r\n }\r\n\r\n /**\r\n * Shows the item informative popup of scanner\r\n */\r\n private showItemSelectionPopup() {\r\n if (!this.cartService.isItemSelectionOrScan) {\r\n let ism = ItemSelectionComponent.open(this.modalService);\r\n\r\n this.itemSelectionmodal = ism.componentInstance;\r\n\r\n ism.result.then((data: string) => {\r\n if (data == 'continue') {\r\n this.cartService.isItemSelectionOrScan = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Shows popup of item successfully added into the cart\r\n */\r\n private scannedItemAddedPopup() {\r\n this.scannedItemAddedComponent = ScannedItemAddedComponent.open(\r\n this.modalService\r\n ).componentInstance;\r\n }\r\n\r\n setWeightAndNavigate(item: Item, weight: string) {\r\n // weight = weight.slice(1);\r\n let weightArray = weight.replace(/ /g, '').match(/[a-z]+|[^a-z]+/gi) ?? '';\r\n\r\n if (weightArray.length > 1) {\r\n let weightUnitFromServer = weightArray[weightArray.length - 1];\r\n let weightCountFromServer = weightArray[0];\r\n // weightCountFromServer = weightCountFromServer.slice(1);\r\n\r\n if (\r\n weightUnitFromServer.toLowerCase() ==\r\n CommonFunctions.getWeightUnit(item.WeightUnitID)\r\n ) {\r\n item.Weight = Number(weightCountFromServer.trim());\r\n item.Quantity = weightCountFromServer.trim();\r\n this.navigateToItemPage(item, 'itemDescription');\r\n } else {\r\n let errorModel = new GeneralAlertComponent(\r\n this.modalService,\r\n this.language\r\n );\r\n let title = this.language.getTextElement('titile_uh_oh');\r\n let subTitle = this.language\r\n .getTextElement('change_weight_unit')\r\n .replace(\r\n '%d',\r\n CommonFunctions.getWeightUnitInWords(item.WeightUnitID)\r\n );\r\n errorModel.open(title, subTitle);\r\n this.manageScannerInWeightScale(errorModel);\r\n }\r\n } else {\r\n if (weightArray.length > 0) {\r\n let errorModel = new GeneralAlertComponent(\r\n this.modalService,\r\n this.language\r\n );\r\n let title = this.language.getTextElement('titile_uh_oh');\r\n let subTitle = this.language.getTextElement('exceeded_weight_limit');\r\n errorModel.open(title, subTitle);\r\n this.manageScannerInWeightScale(errorModel);\r\n }\r\n }\r\n }\r\n /**\r\n * Shows error message found any conflicts while scanning\r\n */\r\n private scanningError() {\r\n this.scannerService.stopBarcodeScanner();\r\n let errorMessage = this.language.getTextElement(\r\n 'unrecognized_item_scanned'\r\n );\r\n let okButtonText = this.language.getTextElement('lbl_ok');\r\n let oepc = OloErrorPopupComponent.open(\r\n this.modalService,\r\n errorMessage,\r\n '',\r\n okButtonText\r\n );\r\n\r\n oepc.result.then(\r\n (data: string) => {\r\n if (data == 'close' || data == 'canceled') {\r\n this.startBarcodeScanner();\r\n }\r\n },\r\n (reject: any) => {\r\n this.startBarcodeScanner();\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * added by #nilesh\r\n * @param isRemovePricingAndPayments Check remove pricing flag\r\n * @param isHideZeroPrice check hide zero price lable if base price is zero in item\r\n * @param price item price\r\n * @returns\r\n */\r\n isPriceShow(\r\n isRemovePricingAndPayments: boolean,\r\n isHideZeroPrice: boolean,\r\n price: string\r\n ) {\r\n if (!isRemovePricingAndPayments) {\r\n if (isHideZeroPrice) {\r\n return Number(price) > 0;\r\n } else {\r\n return true;\r\n }\r\n } else return false;\r\n }\r\n\r\n /**\r\n * Method to open cart while adding item into the cart\r\n */\r\n private openCartOnAddItem() {\r\n this.cartService.openCartOnAddItem(this.cart);\r\n }\r\n\r\n private manageScannerInWeightScale(errorModel: any) {\r\n errorModel.ref.result.then(\r\n (data: string) => {\r\n if (data != '') {\r\n this.startBarcodeScanner();\r\n }\r\n },\r\n (reject: any) => {\r\n this.startBarcodeScanner();\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Applies Filter and refreshes concessionaire as per selsected filter\r\n */\r\n clickFilter(event: any) {\r\n var constConTypes = JSON.parse(\r\n JSON.stringify(this.conService.concessionaireFilterTypes)\r\n );\r\n var constSelConTypes = JSON.parse(\r\n JSON.stringify(this.conService.selectedConcessionaireTypes)\r\n );\r\n var constSelItemTags = JSON.parse(\r\n JSON.stringify(this.conService.selectedItemTags)\r\n );\r\n var consItemTagsAndGroupFilters = JSON.parse(\r\n JSON.stringify(this.conService.itemTagsAndGroupFilters)\r\n );\r\n\r\n let fcm = FilterConcessionaireComponent.open(this.modalService);\r\n\r\n event.target.disabled = true;\r\n\r\n fcm.result.then(\r\n (data: string) => {\r\n event.target.disabled = false;\r\n if (data == 'apply') {\r\n this.queryConcessionaireId = '';\r\n this.getSelConcessionaireTypes();\r\n this.getAndSetAllConcessionaire();\r\n } else {\r\n canceFilter(this.conService);\r\n }\r\n },\r\n (reject: any) => {\r\n event.target.disabled = false;\r\n setTimeout(() => {\r\n canceFilter(this.conService);\r\n }, 500);\r\n }\r\n );\r\n\r\n function canceFilter(conService: ConcessionaireService) {\r\n conService.setConcessionaireFilterTypes(constConTypes);\r\n conService.setSelectedConcessionaireTypes(\r\n constSelConTypes,\r\n constSelItemTags\r\n );\r\n conService.setItemTagsAndGroupFilters(consItemTagsAndGroupFilters);\r\n }\r\n }\r\n\r\n /**\r\n * Selects concessionaire as per filter selection\r\n */\r\n getSelConcessionaireTypes() {\r\n this.isFilterApplied = this.conService.getSelectedConcessionaireTypes(1);\r\n this.isItemTagsSelected = this.conService.getSelectedConcessionaireTypes(2);\r\n this.isFilter = this.isFilterApplied != '' || this.isItemTagsSelected != '';\r\n this.selConcessionaireFilters = this.conService.getSelectedFilterList();\r\n\r\n this.SetAllConcessioaniteValues(this.allConcessionaire);\r\n }\r\n\r\n /**\r\n * Updates concessionaire as per selection and deselection of filter\r\n * @param concessionaireTypeId\r\n * @param isSelected\r\n * @param event\r\n * @param isItemTag\r\n */\r\n onConcessionaireTypeSelection(\r\n concessionaireTypeId: string,\r\n isSelected: boolean,\r\n event: Event,\r\n isItemTag: boolean = false\r\n ) {\r\n this.queryConcessionaireId = '';\r\n this.conService.onConcessionaireTypeSelection(\r\n concessionaireTypeId,\r\n isSelected,\r\n event,\r\n isItemTag\r\n );\r\n this.getSelConcessionaireTypes();\r\n this.getAndSetAllConcessionaire();\r\n }\r\n\r\n /**\r\n * Sets branch header image\r\n * @param headerImageUrl\r\n * @param imageBaseUrl\r\n * @returns\r\n */\r\n setHeaderImage(headerImageUrl: string, imageBaseUrl: string) {\r\n return headerImageUrl && headerImageUrl != ''\r\n ? imageBaseUrl + headerImageUrl\r\n : '';\r\n }\r\n\r\n /**\r\n * Sets branch logo\r\n * @param con\r\n * @param imageBaseUrl\r\n * @param concessionaireBaseUrl\r\n * @returns\r\n */\r\n getConcessionaireLogo(\r\n con: Concessionaire,\r\n imageBaseUrl: string,\r\n concessionaireBaseUrl: string,\r\n isSidebarLogo: boolean = false\r\n ) {\r\n var conLogoUrl = '';\r\n if (!isSidebarLogo) {\r\n conLogoUrl =\r\n con.Logo && con.Logo != ''\r\n ? imageBaseUrl + concessionaireBaseUrl + con.Logo\r\n : '../../../assets/images/Image_21.png';\r\n } else {\r\n conLogoUrl =\r\n con.SidebarLogo && con.SidebarLogo != ''\r\n ? imageBaseUrl + con.SidebarLogo\r\n : con.Logo && con.Logo != ''\r\n ? imageBaseUrl + concessionaireBaseUrl + con.Logo\r\n : '../../../assets/images/Image_21.png';\r\n }\r\n return conLogoUrl;\r\n }\r\n\r\n /**\r\n * Sets filter container height based on filter selection\r\n * @param isFilterAvail\r\n * @param isItemTagAvail\r\n * @returns\r\n */\r\n getFilterContainerHeight(\r\n isFilterAvail: string = '',\r\n isItemTagAvail: string = '',\r\n conSize: number\r\n ) {\r\n try {\r\n if (isFilterAvail != '' || isItemTagAvail != '') {\r\n if (conSize > 0 && conSize) {\r\n return '13vh';\r\n } else {\r\n return '6vh';\r\n }\r\n } else {\r\n return '9.4vh';\r\n }\r\n } catch (e: any) {\r\n return '9.4vh';\r\n }\r\n }\r\n\r\n /**\r\n * Opens up branch list from view more click\r\n */\r\n onBrandFilter() {\r\n this.isHideFilter = true;\r\n\r\n let bfm = BrandFilterComponent.open(\r\n this.modalService,\r\n this.allConcessionaire,\r\n this.imageBaseUrl,\r\n this.concessionaireBaseUrl\r\n );\r\n\r\n bfm.result.then(\r\n (data: string) => {\r\n this.isHideFilter = false;\r\n if (data != '') {\r\n this.queryConcessionaireId = data;\r\n this.setDefaultConcessionaire();\r\n }\r\n },\r\n (reject: any) => {\r\n this.isHideFilter = false;\r\n }\r\n );\r\n }\r\n\r\n backtoGridScreen() {\r\n this.conService.clearFilter();\r\n this.router.navigateByUrl('/ConcessionaireGrid');\r\n }\r\n\r\n /**\r\n * Set active card backgrounf\r\n * @param isFilter Filter applied or not\r\n * @param selCon selected concessionaire\r\n * @param con Concessionaire\r\n * @returns\r\n */\r\n getActiveConceptCard(\r\n isFilter: boolean = false,\r\n selCon: Concessionaire,\r\n con: Concessionaire\r\n ) {\r\n var isActive =\r\n selCon.ConcessionaireID === con.ConcessionaireID ? 'active' : '';\r\n return isFilter\r\n ? 'brands-block brands-block-sm ' + isActive\r\n : 'brands-block ' + isActive;\r\n }\r\n\r\n getCommonImage(\r\n image: string | undefined,\r\n imageBaseUrl: string,\r\n placeholderImage: string\r\n ) {\r\n if (\r\n image &&\r\n CommonFunctions.checkVariable(image) &&\r\n image != '' &&\r\n image.slice(-4) != 'null' &&\r\n image.slice(-4) != null\r\n ) {\r\n return imageBaseUrl + image;\r\n } else {\r\n if (placeholderImage != '') {\r\n return imageBaseUrl + placeholderImage;\r\n } else return '';\r\n }\r\n }\r\n\r\n private isConClickStoped: boolean = false;\r\n private async onConStop() {\r\n this.isConClickStoped = true;\r\n await CommonFunctions.delay(500);\r\n\r\n this.isConClickStoped = false;\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n
\r\n
{{scrollForMoreText}} \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n {{ selcon.Name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
(isFilter ? 7 : 6)\">\r\n
\r\n {{viewMoreText}}\r\n keyboard_arrow_down \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{{noResultsText}} \r\n
{{tryDifferentFilterText}}
\r\n
\r\n\r\n
0 : 1\">\r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n OnChanges,\n} from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { environment } from '../../../../../environments/environment';\nimport { ModifierIngredientV2, ModifierV2 } from '../../../../models/item';\nimport { GeneralSetting } from '../../../../services/generalSetting.service';\nimport { NestedModifierComponent } from '../../../nested-modifier/nested-modifier.component';\nimport { CommonFunctions } from '../../../../services/common';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-box-ingredient',\n templateUrl: './box-ingredient.component.html',\n styleUrls: ['./../../box-builder.component.css']\n})\nexport class BoxIngredientComponent implements OnInit {\n ngOnDestroy() {\n\n }\n\n\n @Input() ingredient: any = {} as any;\n\n @Input() ingredientIndex: number = 0;\n\n @Input() parent: ModifierV2 = {} as ModifierV2;\n\n @Input() ItemType: number = 1;\n\n @Input() ItemName: string = '';\n\n @Output() parentChange = new EventEmitter();\n\n @Output() selectedIngredientIndex = new EventEmitter();\n\n @Output() checkValidEmit = new EventEmitter();\n\n @Output() SelectedItem: EventEmitter = new EventEmitter();\n\n @ViewChild(NestedModifierComponent) nestedModifier!: NestedModifierComponent;\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n primaryColor: string = '';\n accentColor: string = '';\n image: string = '';\n\n deselectedImage: string = '';\n\n isSoldOut: boolean = false;\n\n quantity: number = 1;\n\n Price: string = '';\n\n isShowNoCharge = true;\n\n maxQty = 0;\n\n placeholderImage : string = '';\n\n constructor(\n private readonly isKioskService: IsKioskService,\n private readonly modalService: NgbModal,\n private readonly dataService: DataService\n ) { }\n\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.image = this.getFormattedURL(this.ingredient);\n if (this.ingredient.IsModifier) {\n this.deselectedImage = this.getDeselectedFormattedURL(this.ingredient as ModifierV2);\n }\n\n\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.accentColor = GeneralSetting.getAccentColor();\n // this.object.parentObject = this.parent;\n\n this.quantity = Number(this.ingredient.Quantity);\n\n if (this.ingredient.IsIngredient) {\n this.ingredient = this.ingredient;\n\n if (this.ingredient.IsIngredient86 == 'False') {\n this.parent.isValid = true;\n }\n\n this.maxQty = Number(this.ingredient.MaxQty);\n\n this.isSoldOut =\n this.ingredient.CurrentStock !== ''\n ? this.ingredient.CurrentStock <= this.ingredient.LowThreshold\n : false;\n }\n\n this.setIngredientPrice();\n\n this.checkIsShowNoCharge();\n\n this.checkValidEmit.emit(this.parent);\n }\n\n ngOnChanges(): void {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n }\n\n private getFormattedURL(ingredient: any): string {\n if (ingredient.ImageUrl) {\n if (ingredient.ImageUrl.startsWith(this.baseImageUrl)) {\n return ingredient.ImageUrl;\n }\n else {\n if (ingredient.ImageUrl == \"\") {\n return this.getDeselectedFormattedURL(ingredient, true);\n }\n else {\n return this.baseImageUrl + ingredient.ImageUrl;\n }\n }\n } else if(this.placeholderImage != '') {\n return this.baseImageUrl+this.placeholderImage;\n } else {\n return \"assets/images/Image_21.png\";\n }\n }\n\n private getDeselectedFormattedURL(modifier: ModifierV2, fromGetFormattedURL: boolean = false): string {\n\n if (modifier.DeselectedImage && modifier.DeselectedImage.startsWith(this.baseImageUrl)) {\n return modifier.DeselectedImage;\n }\n else {\n if (modifier.DeselectedImage == \"\") {\n if (fromGetFormattedURL) {\n if(this.placeholderImage != ''){\n return this.baseImageUrl+this.placeholderImage;\n } else {\n return \"assets/images/Image_21.png\";\n }\n }\n else {\n return this.getFormattedURL(modifier);\n }\n }\n\n return this.baseImageUrl + modifier.DeselectedImage;\n }\n }\n\n itemClicked() {\n if ((!this.ingredient.IsSelected && this.parent.isValid && !(this.parent.count < this.parent.max) && this.parent.max > 1))\n return\n if (this.parent.IsModifier86 == 'False') return;\n\n if (this.isSoldOut) return;\n\n if (this.ingredient.IsIngredient) this.selectIngredient();\n //else this.selectModifier();\n }\n\n private selectIngredientLogic(\n parent: ModifierV2,\n IngredientIndex: number\n ): any {\n\n let ingredient = parent.Ingredients[IngredientIndex];\n\n if (!ingredient) {\n return undefined;\n }\n\n ingredient = ingredient;\n\n if (\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False'\n ) {\n //if out of stock, return and set isSelected to false\n ingredient.IsSelected = false;\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n return false;\n } else {\n if (ingredient.IsSelected) {\n parent.count--;\n if (parent.count < 0) parent.count = 0;\n\n ingredient.IsSelected = false;\n\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n return false;\n }\n\n parent.count = CommonFunctions.getSelectedIngredientCount(parent);\n\n if (parent.count < parent.max) {\n parent.count++;\n\n ingredient.IsSelected = true;\n\n ingredient.Quantity = '1';\n\n parent.IsSelected = true;\n } else if (parent.max === 1) {\n // if only 1 selectable switch selection to newly selected object\n parent.count = 1;\n //parent.SelectedIngredients = [];\n for (const item of parent.Ingredients) {\n item.IsSelected = false;\n if (item.IsIngredient) {\n const objIng = item as ModifierIngredientV2;\n objIng.isNegativeModifier = this.getNegativeModifier(objIng);\n }\n }\n\n ingredient.IsSelected = true;\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n ingredient.Quantity = '1';\n parent.IsSelected = true;\n\n }\n\n if (parent.count <= parent.max && parent.count >= parent.min) {\n parent.isValid = true;\n }\n\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n parent.SelectedIngredients =\n CommonFunctions.getSelectedModifierIngredientList(parent.Ingredients);\n return true;\n }\n }\n\n private getNegativeModifier(ingredient: ModifierIngredientV2) {\n if (!ingredient.IsSelected && ingredient.IsDefault == 'True') {\n return true;\n }\n\n return false;\n }\n\n private selectIngredient() {\n this.selectIngredientLogic(this.parent, this.ingredientIndex);\n\n this.selectedIngredientIndex.emit(this.ingredientIndex);\n\n this.parentChange.emit(this.parent);\n }\n\n private selectModifierLogic(parent: ModifierV2, IngredientIndex: number) {\n let modifier = parent.Ingredients[IngredientIndex];\n\n if (!modifier) {\n return parent;\n }\n\n modifier = modifier;\n\n if (parent.IsModifier86 == 'False' || modifier.IsModifier86 == 'False') {\n //if out of stock, return and set isSelected to false\n modifier.IsSelected = false;\n\n this.deSelectAllNestedIngredient(modifier);\n return parent;\n } else {\n parent.count = CommonFunctions.getSelectedIngredientCount(parent);\n\n if (parent.count < parent.max) {\n parent.count++;\n\n modifier.IsSelected = true;\n\n parent.IsSelected = true;\n\n if (\n parent.SelectedIngredients.find(\n (x: any) => x.ModifierID == modifier.ModifierID\n ) == undefined\n ) {\n parent.SelectedIngredients.push(modifier);\n }\n } else if (parent.max === 1) {\n // if only 1 selectable switch selection to newly selected object\n parent.count = 1;\n parent.SelectedIngredients = [];\n for (const item of parent.Ingredients) {\n item.IsSelected = false;\n }\n\n modifier.IsSelected = true;\n parent.IsSelected = true;\n\n parent.SelectedIngredients.push(modifier);\n }\n }\n\n parent.count = CommonFunctions.getSelectedIngredientCount(parent);\n\n if (parent.count <= parent.max && parent.count >= parent.min) {\n parent.isValid = true;\n parent.IsSelected = true;\n }\n\n return parent;\n }\n\n private selectModifier() {\n let modifier = this.parent.Ingredients[this.ingredientIndex];\n\n if (!modifier) return;\n\n modifier = modifier;\n\n\n if (!modifier.IsSelected) {\n modifier.Quantity = \"1\";\n }\n\n if (this.parent.IsModifier86 == \"False\" || modifier.IsModifier86 == \"False\") return;\n\n if (this.parent.max > 1 && !modifier.IsSelected) {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n if (!(this.parent.count < this.parent.max || this.parent.max == 1)) return;\n }\n //this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n //if (!(this.parent.count < this.parent.max || this.parent.max == 1)) return;\n\n this.openNestedModifier(modifier);\n }\n\n private openNestedModifier(modifier: ModifierV2) {\n // if (!this.nestedModifier) {\n // this.nestedModifier = new NestedModifierComponent(\n // this.modalService,\n // this.isKioskService\n // );\n // }\n\n let isHasAllModifier = true;\n\n if (modifier.Ingredients && modifier.Ingredients.length > 0) {\n\n for (let i = 0; i < modifier.Ingredients.length; i++) {\n if (modifier.Ingredients[i].IsIngredient) {\n isHasAllModifier = false;\n break;\n }\n }\n\n }\n\n var parentModifier = modifier;\n\n const modalReference = this.nestedModifier.open(isHasAllModifier ? modifier.Ingredients as ModifierV2[] : [modifier],\n this.ingredientIndex, parentModifier, this.ItemType, this.ItemName);\n modalReference.result.then((result: any) => {\n if (result == \"cancel\") {\n\n const modifier = this.parent.Ingredients[this.ingredientIndex];\n\n if (!modifier.IsSelected) {\n modifier.IsSelected = false;\n }\n\n this.quantity = Number(modifier.Quantity);\n this.parentChange.emit(this.parent);\n } else {\n\n result = result;\n\n if (isHasAllModifier) {\n\n //parentModifier.IsSelected = true;\n\n //parentModifier.Quantity = \"1\";\n\n parentModifier.Ingredients = result;\n\n // for (let i = 0; i < parentModifier.Ingredients.length; i++) {\n\n // parentModifier = this.selectModifierLogic(parentModifier, i);\n\n // }\n\n }\n else {\n if (result.length > 0) {\n const modifier = result[0];\n\n this.quantity = Number(modifier.Quantity);\n\n this.parent.Ingredients[this.ingredientIndex] = modifier;\n\n }\n }\n\n this.parent = this.selectModifierLogic(this.parent, this.ingredientIndex);\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(\n this.parent\n );\n\n this.parentChange.emit(this.parent);\n }\n });\n }\n\n onCloseClick(e: any) {\n let modifier = this.parent.Ingredients[this.ingredientIndex];\n\n if (!modifier) return false;\n\n if (modifier.IsIngredient) {\n return false;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n modifier = modifier;\n\n modifier.IsSelected = false;\n\n modifier.isValid = false;\n\n this.deSelectAllNestedIngredient(modifier);\n\n modifier.count = 0;\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n this.parentChange.emit(this.parent);\n\n return false;\n }\n\n private deSelectAllNestedIngredient(modifier: ModifierV2) {\n for (let i = 0; i < modifier.Ingredients.length; i++) {\n const ingredient: ModifierIngredientV2 | ModifierV2 =\n modifier.Ingredients[i];\n ingredient.IsSelected = false;\n\n if (ingredient.IsModifier) {\n const mod = ingredient as ModifierV2;\n this.deSelectAllNestedIngredient(mod);\n }\n }\n }\n\n private setIngredientPrice() {\n let price = 0;\n if (\n this.ingredient.ExtraPrice > 0 &&\n this.ingredient.IsPremium &&\n this.ingredient.IsPremium == 'True'\n ) {\n price = Number(this.ingredient.ExtraPrice) * this.quantity;\n } else if (\n this.ingredient != undefined &&\n this.ingredient.hasOwnProperty('IsModifier86') &&\n this.ingredient.Price > 0\n ) {\n price = Number(this.ingredient.Price) * this.quantity;\n }\n\n let extraPrice: string;\n\n if (price > 0)\n extraPrice = \"$\" + CommonFunctions.roundDigit(price, 2).toFixed(2);\n else\n extraPrice = \"No Charge\";\n\n this.Price = extraPrice;\n }\n\n onQuantityIncrease(e: any) {\n e.preventDefault();\n e.stopPropagation();\n\n const max = this.parent.max;\n const count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n if (count == max) {\n return;\n }\n\n if (this.parent.Ingredients[this.ingredientIndex].IsIngredient) {\n const maxIngredient = Number(\n (this.parent.Ingredients[this.ingredientIndex] as ModifierIngredientV2)\n .MaxQty\n );\n if (this.quantity >= maxIngredient) return;\n }\n\n this.quantity += 1;\n\n this.parent.Ingredients[this.ingredientIndex].Quantity =\n this.quantity.toString();\n\n this.setIngredientPrice();\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n this.parentChange.emit(this.parent);\n }\n\n onQuantityDecrease(e: any) {\n e.preventDefault();\n e.stopPropagation();\n\n if (this.quantity == 1) {\n this.ingredient.IsSelected = false;\n\n this.ingredient.isNegativeModifier = this.getNegativeModifier(\n this.ingredient\n );\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(\n this.parent\n );\n\n this.parentChange.emit(this.parent);\n\n return;\n }\n\n this.quantity -= 1;\n\n this.parent.Ingredients[this.ingredientIndex].Quantity =\n this.quantity.toString();\n\n this.setIngredientPrice();\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n this.parentChange.emit(this.parent);\n }\n\n checkIsShowNoCharge() {\n const priceIngredient = (this.parent as any).Ingredients.find(\n (x: any) => Number(x.ExtraPrice) > 0 || Number(x.Price)\n );\n\n if (priceIngredient) {\n this.isShowNoCharge = true;\n } else {\n this.isShowNoCharge = false;\n }\n }\n}\n","\n
1)? 'block':'none' }\">\n
\n
\n\n\n
\n
\n
\n
{{ ingredient.Name || ingredient.Category }} \n
\n
","/* (ignored) */","import {\n Component,\n Input,\n OnInit,\n Output,\n EventEmitter,\n ViewChild,\n} from '@angular/core';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from 'src/environments/environment';\nimport { Subscription } from 'rxjs/';\nimport { ItemTagsService as ItemTagsService1 } from '../../../services/item-tags.service';\nimport { AlcoholicItemsExceedMaxComponent } from '../../dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from '../../../services/common';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\nimport { ItemV2 } from '../../../models/item';\nimport { Category } from '../../../models/category';\nimport { itemTags } from '../../../models/item-tags';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DataService } from 'src/app/services/data.service';\nimport { ItemFullDescriptionComponent } from '../../dialogs/item-full-description/item-full-description.component';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { DiscountService } from 'src/app/services/discount.service';\n@Component({\n selector: 'app-item-normal-mode-header',\n templateUrl: './item-normal-mode-header.component.html',\n styleUrls: ['./item-normal-mode-header.component.css'],\n})\nexport class ItemNormalModeHeaderComponent implements OnInit {\n\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n @Input() menuItem: ItemV2;\n\n @Input() Category: Category = {} as Category;\n\n @Input() parentQuantity: number = 1;\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n accentColor: string | null = '';\n\n itemTags = {} as itemTags;\n\n priceColor: string | null = '';\n\n startAtStr: string = '';\n\n hideStartAt: string = '';\n\n tempCurrOrder: number = 0;\n\n headerDescHasScroll: boolean = false;\n isEdit = false;\n\n quantity: number = 1; //to check max and min number\n\n @Output() quantityChange = new EventEmitter();\n\n imageRadius: string = '';\n bordersTypeItem: boolean = false;\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n languageSub!: Subscription;\n chooseQuantityText: string = '';\n regularPriceText: string = '';\n savingsText: string = '';\n placeholderImage : string = '';\n startsAtText: string = '';\n lengthy: boolean = false;\n description: string = '';\n\n modalReference: any;\n fixedItemDisc : FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n constructor(\n private readonly isKioskService: IsKioskService,\n private readonly itemTagsService: ItemTagsService1,\n private readonly modalService: NgbModal,\n private language: LanguageService,\n private readonly dataService: DataService,\n private readonly databaseService: DatabaseService,\n private readonly discountService: DiscountService\n ) {\n this.menuItem = new ItemV2();\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n )\n }\n loadText() {\n this.chooseQuantityText = this.language.getTextElement('txt_choose_a_quantity');\n this.regularPriceText = this.language.getTextElement('txt_regular_price');\n this.savingsText = this.language.getTextElement('txt_savings');\n this.startsAtText = this.language.getTextElement('txt_starts_at');\n }\n ngOnInit(): void {\n if (this.menuItem.FullDescription.length > 162) {\n this.lengthy = true;\n }\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.itemTagsService\n .getItemTagsFromSQLByItemID(this.menuItem.ItemID)\n .then((tags) => {\n this.itemTags = tags[0];\n });\n\n this.accentColor = GeneralSetting.getAccentColor();\n this.priceColor = GeneralSetting.getPriceColor();\n this.hideStartAt = GeneralSetting.getHideStartsAtForVariablePrice();\n this.imageRadius = GeneralSetting.getBorderPercentage();\n this.bordersTypeItem =\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n\n if (\n this.menuItem.Modifiers &&\n this.menuItem.Modifiers.length > 0 &&\n this.hideStartAt === 'False'\n ) {\n this.startAtStr = this.startsAtText;\n }\n\n this.quantity =\n this.menuItem.OrderMinimumQuantity == 0\n ? 1\n : this.menuItem.OrderMinimumQuantity;\n\n if (this.menuItem.guid) {\n this.quantity = Number(this.menuItem.Quantity);\n } else {\n this.quantity =\n this.menuItem.OrderMinimumQuantity == 0\n ? 1\n : this.menuItem.OrderMinimumQuantity;\n }\n\n if (this.menuItem.guid) {\n this.tempCurrOrder = Number(GeneralSetting.getCurrentCountofAlkol());\n } else {\n this.tempCurrOrder =\n Number(GeneralSetting.getCurrentCountofAlkol()) + this.quantity;\n }\n this.setFixedItemDisc();\n }\n\n async setFixedItemDisc(){\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n }\n\n ngAfterViewInit() {\n this.isOverflow();\n }\n\n decreaseAmount() {\n let minNo = this.menuItem.OrderMinimumQuantity;\n\n if (!minNo) minNo = 1;\n\n let currentQty = Number(this.quantity.toString());\n var isCombo = this.menuItem.IsCombo.toString();\n\n if(isCombo.toLowerCase() == \"0\" || isCombo.toLowerCase() == \"true\"){\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(this.menuItem);\n if(totalComboAlcoholCount > 0){\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(totalComboAlcoholCount,currentQty,false);\n if (currentQty > minNo) {\n currentQty = currentQty - 1;\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n ) {\n this.tempCurrOrder -= 1;\n }\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount);\n }\n } else {\n if (currentQty > minNo) {\n currentQty = currentQty - 1;\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n ) {\n this.tempCurrOrder -= 1;\n }\n }\n }\n } else {\n if (currentQty > minNo) {\n currentQty = currentQty - 1;\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n ) {\n this.tempCurrOrder -= 1;\n }\n }\n }\n\n this.quantity = currentQty;\n this.parentQuantity = this.quantity;\n this.quantityChange.emit(this.quantity);\n }\n\n increaseAmount() {\n if (!this.menuItem) return;\n\n this.increaseQuantity(this.menuItem);\n }\n increaseQuantity(menuItem: ItemV2) {\n let currentQty: number = Number(this.quantity.toString());\n // Checks fixed item quantity limit\n if(this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0){\n var isFixedItemAvail = this.discountService.isFixedItemAvail(this.fixedItemDisc[0],menuItem, currentQty);\n if(isFixedItemAvail){\n return;\n }\n }\n const maxNo: number = this.menuItem.OrderMaximumQuantity;\n const alkolMax: number = Number(\n GeneralSetting.getMaxAlcoholicItemsPerOrder()\n );\n // let currentAlcoholCount = Number(GeneralSetting.getCurrentCountofAlkol());\n //const minQuantity = Number(menuItem.OrderMinimumQuantity);\n //let qtyvalue = Number(this.parentQuantity);\n var isCombo = menuItem.IsCombo.toString();\n\n if(isCombo.toLowerCase() == \"0\" || isCombo.toLowerCase() == \"true\"){\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(menuItem);\n if(totalComboAlcoholCount > 0){\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(totalComboAlcoholCount,currentQty,true);\n if(newAlcoholCount <= Number(alkolMax)){\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n currentQty = currentQty + 1;\n this.quantity = currentQty;\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n } else {\n if (!maxNo) {\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n this.checkQtyOfAlcohol(this.quantity);\n } else {\n currentQty = currentQty + 1;\n this.quantity = currentQty;\n }\n } else if (currentQty < maxNo) {\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n this.checkQtyOfAlcohol(this.quantity);\n } else {\n currentQty = currentQty + 1;\n this.quantity = currentQty;\n }\n } else if (currentQty >= maxNo) {\n let error=this.language.getTextElement('item_has_max_quantity').replace('%d',maxNo.toLocaleString())\n Snackbar.show(error, 2500);\n }\n }\n } else {\n if (!maxNo) {\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n this.checkQtyOfAlcohol(this.quantity);\n } else {\n currentQty = currentQty + 1;\n this.quantity = currentQty;\n }\n } else {\n if (\n this.menuItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n this.checkQtyOfAlcohol(this.quantity);\n } else {\n currentQty = currentQty + 1;\n this.quantity = currentQty;\n }\n }\n }\n this.parentQuantity = this.quantity;\n this.quantityChange.emit(this.quantity);\n }\n\n private checkQtyOfAlcohol(qty: any) {\n const alkolMax: number = Number(\n GeneralSetting.getMaxAlcoholicItemsPerOrder()\n );\n\n const itemMax: number = this.menuItem.OrderMaximumQuantity;\n\n if (alkolMax !== null && Number(alkolMax) > 0) {\n const remaining = Number(alkolMax) - Number(this.tempCurrOrder);\n\n const currentValue: number = this.quantity;\n if (Number(itemMax) > 0) {\n if (currentValue < Number(itemMax) && remaining > 0) {\n this.quantity += 1;\n this.tempCurrOrder += 1;\n } else if (remaining <= 0) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n } else {\n if (remaining > 0) {\n this.quantity += 1;\n this.tempCurrOrder += 1;\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n }\n }\n }\n\n private isOverflow() {\n const element = document.getElementById('arrowDown');\n if (element) {\n if (element.scrollHeight > element.clientHeight) {\n this.headerDescHasScroll = true;\n } else {\n this.headerDescHasScroll = false;\n }\n }\n }\n\n convertNumber(val: string) {\n return Number(val);\n }\n\n openModal() {\n const modalRef = ItemFullDescriptionComponent.open(this.modalService);\n modalRef.componentInstance.description = this.menuItem.FullDescription;\n modalRef.componentInstance.modalReference = modalRef;\n }\n}\n","","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { IHttpHeaders } from './http.service';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { loggingData, LogService } from './log.service';\nimport { VEvoTransactionRes } from '../models/VerifoneEvoModels';\nimport { GeneralSetting } from './generalSetting.service';\nimport { LoaderService } from './loader.service';\nimport { PaymentErrorDialogService } from '../components/dialogs/payment-error/payment-error-dialog.service';\nimport { DatabaseService } from './database.service';\nimport { PaymentInsertService } from '../components/dialogs/payment-insert/payment-insert.service';\nimport { PaymentTypesService } from './payment-types.service';\nimport { CommonFunctions } from './common';\nimport { PaymentSuccessDialogService } from '../components/dialogs/payment-success/payment-success-dialog.service';\nimport { RefundSuccessDialogService } from '../components/dialogs/refund-success/refund-success-dialog.service';\n@Injectable({\n providedIn: 'root',\n})\nexport class VerifoneEvoService {\n private connectAndTransactionApi = 'vEvoDoPayment';\n private connectAndRefundApi = 'vEvoDoRefund';\n\n constructor(\n private http: HttpClient,\n private readonly logger: LogService,\n private readonly loader: LoaderService,\n private readonly paymentErrorDialog: PaymentErrorDialogService,\n private readonly paymentInsertDialog: PaymentInsertService,\n private readonly databaseService: DatabaseService,\n private readonly paymentTypeService: PaymentTypesService,\n private readonly paymentSuccessModel: PaymentSuccessDialogService,\n private readonly refundSucceeDialog: RefundSuccessDialogService\n ) { }\n\n public async doPayment(\n amount: number,\n invoicNo: string,\n calculationData: {\n total: number;\n subtotal: number;\n tax: number;\n tip:number;\n shippingFee: number;\n discount: number;\n reward: number;\n }\n ) {\n\n let ip = await this.getConncetionParameter();\n\n if (ip == \"\") {\n await this.paymentErrorDialog.openPaymentErrorDialog(\n true,\n 'Payment Device not set up.'\n );\n return false;\n }\n\n this.paymentInsertDialog.openPaymentInsertModal(\n true,\n calculationData,\n this.paymentTypeService.payments.length == 1 &&\n GeneralSetting.getShowPaymentScreen() == 'True'\n );\n\n let amountStr = CommonFunctions.roundDigit(amount, 2)\n .toFixed(2)\n .replace(/\\./g, '');\n\n let paymentData = {\n Amount: amountStr,\n ip: ip,\n port: '42173',\n };\n\n let transactionRes = await this.startPayment(paymentData, invoicNo);\n\n if (transactionRes) {\n this.loader.closeLoader();\n\n if (transactionRes.IsError) {\n this.paymentInsertDialog.closePaymentInsertModel();\n await this.paymentErrorDialog.openPaymentErrorDialog(\n true,\n transactionRes.ErrorMessage\n );\n return false;\n }\n\n if (transactionRes.IsSuccess) {\n this.paymentInsertDialog.closePaymentInsertModel();\n\n this.paymentSuccessModel.openPaymentSuccessModel(true);\n\n await CommonFunctions.delay(1000);\n\n this.paymentSuccessModel.closePaymentSuccessModel();\n\n return true;\n }\n }\n\n return false;\n }\n\n private async startPayment(paymentData: any, orderInvoiceNo: string) {\n var transactionRes = await this.doConnectAndStartEvoPayment(\n paymentData,\n orderInvoiceNo\n );\n if (!transactionRes) {\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Evo Transaction Res Failed',\n `Transaction Res Failed\n Order Invoice no :- ${orderInvoiceNo}\n `,\n 'Response Log Failes',\n 'No Response Received',\n false\n )\n );\n return transactionRes;\n }\n\n if (transactionRes.IsError) {\n //Add Transaction Error\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Evo Transaction Res Error',\n `Transaction Res Error \n Order Invoice no :- ${orderInvoiceNo}\n `,\n 'Response Log',\n JSON.stringify(transactionRes),\n false\n )\n );\n return transactionRes;\n }\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Evo Transaction Res Success',\n `Transaction Res Success \n Order Invoice no :- ${orderInvoiceNo}\n `,\n 'Response Log',\n JSON.stringify(transactionRes),\n false\n )\n );\n GeneralSetting.setPaymentResponse(\n JSON.stringify(transactionRes.TransactionData)\n );\n\n GeneralSetting.setCardType(transactionRes.TransactionData?.CardProductName);\n\n return transactionRes;\n }\n\n private async doConnectAndStartEvoPayment(\n paymentData: any,\n orderInvoiceNo: string\n ) {\n return new Promise((resolve) => {\n\n var headers = [] as IHttpHeaders[];\n headers.push({\n key: 'Content-Type',\n value: 'application/json',\n } as IHttpHeaders);\n headers.push({ key: 'Accept', value: 'application/json' } as IHttpHeaders);\n\n this.http\n .post(\n environment.NodeUrl + this.connectAndTransactionApi,\n paymentData\n )\n .pipe(catchError(this.errorHandler))\n .toPromise().then(data => {\n resolve(data);\n }, error => {\n var res = {\n IsError: true,\n IsSuccess: false,\n Error: \"Payment Device Connection Error\",\n ErrorCode: \"0\",\n ErrorMessage: \"Payment Device Connection Error\",\n IsCancel: false,\n IsNoDevice: true,\n IsTimeout: true,\n ErrorData: error,\n TransactionData: undefined\n } as VEvoTransactionRes;\n resolve(res);\n });\n\n });\n }\n\n private errorHandler(error: HttpErrorResponse) {\n return throwError(error);\n }\n\n private async getConncetionParameter() {\n const paymentCred = await this.databaseService.getPaymentDeviceFromSql();\n //paymentCred.HSN = '10.10.88.206';\n\n if (Object.entries(paymentCred).length < 0 || paymentCred.HSN == '') {\n return \"\";\n }\n\n GeneralSetting.setVerifonePosIp(paymentCred.HSN);\n\n return paymentCred.HSN;\n }\n\n public async doRefund(\n amount: number,\n transactionId: string,\n orderInvoiceNo: string\n ) {\n this.loader.openLoader();\n\n let ip = await this.getConncetionParameter();\n if (ip == \"\") {\n this.loader.closeLoader();\n await this.paymentErrorDialog.openPaymentErrorDialog(\n true,\n 'Payment Device not set up.'\n );\n return false;\n }\n\n let amountStr = CommonFunctions.roundDigit(amount, 2)\n .toFixed(2)\n .replace(/\\./g, '');\n\n let paymentData = {\n Amount: amountStr,\n ip: ip,\n port: '42173',\n tId: transactionId,\n };\n\n let transactionRes = await this.startRefund(paymentData, orderInvoiceNo);\n\n if (transactionRes) {\n this.loader.closeLoader();\n\n if (transactionRes.IsError) {\n await this.paymentErrorDialog.openPaymentErrorDialog(\n true,\n transactionRes.ErrorMessage\n );\n return false;\n }\n\n if (transactionRes.IsSuccess) {\n this.refundSucceeDialog.openRefundSuccessDialog();\n return true;\n }\n }\n\n return false;\n }\n\n private async startRefund(paymentData: any, orderInvoiceNo: string) {\n var transactionRes = await this.doConnectAndStartEvoRefund(paymentData);\n if (!transactionRes) {\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Evo Refund Res Failed',\n `Refund Res Failed\n Order Invoice no :- ${orderInvoiceNo}\n `,\n 'Response Log Failes',\n 'No Response Received',\n false\n )\n );\n return transactionRes;\n }\n\n if (transactionRes.IsError) {\n //Add Transaction Error\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Evo Refund Res Error',\n `Refund Res Error \n Order Invoice no :- ${orderInvoiceNo}\n `,\n 'Response Log',\n JSON.stringify(transactionRes),\n false\n )\n );\n return transactionRes;\n }\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Evo Refund Res Success',\n `Refund Res Success \n Order Invoice no :- ${orderInvoiceNo}\n `,\n 'Response Log',\n JSON.stringify(transactionRes),\n false\n )\n );\n\n return transactionRes;\n }\n\n private async doConnectAndStartEvoRefund(paymentData: any) {\n return new Promise((resolve) => {\n\n var headers = [] as IHttpHeaders[];\n headers.push({\n key: 'Content-Type',\n value: 'application/json',\n } as IHttpHeaders);\n headers.push({ key: 'Accept', value: 'application/json' } as IHttpHeaders);\n\n this.http\n .post(\n environment.NodeUrl + this.connectAndRefundApi,\n paymentData\n )\n .pipe(catchError(this.errorHandler))\n .toPromise().then(data => {\n resolve(data);\n }, error => {\n var res = {\n IsError: true,\n IsSuccess: false,\n Error: \"Payment Device Connection Error\",\n ErrorCode: \"0\",\n ErrorMessage: \"Payment Device Connection Error\",\n IsCancel: false,\n IsNoDevice: true,\n IsTimeout: true,\n ErrorData: error,\n TransactionData: undefined\n } as VEvoTransactionRes;\n resolve(res);\n });\n });\n }\n}\n","\n
X
\n
\n
\n
\n
{{discountAppliedText}}
\n
\n {{continueText}}\n \n
\n
\n
\n
{{enterDiscountText}}
\n
\n
\n {{applyDiscountText}}\n \n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { SMBDiscount } from 'src/app/services/smb-discount.service';\n\n@Component({\n selector: 'app-smb-discounts-code',\n templateUrl: './smb-discounts-code.component.html',\n styleUrls: ['./smb-discounts-code.component.css'],\n})\nexport class SMBDiscountsCodeComponent implements OnInit, OnDestroy {\n isKiosk = this.isKioskService.isKiosk();\n discountCode: string = '';\n allSubscription: Subscription[] = [];\n discount: SMBDiscount = {} as SMBDiscount;\n processing: boolean = false;\n correct: boolean = false;\n modalReference: NgbModalRef | undefined;\n languageSub!:Subscription\n continueText:string=''\n discountAppliedText:string=''\n applyDiscountText:string=''\n enterDiscountText:string=''\n\n constructor(\n private isKioskService: IsKioskService,\n private KeyboardService: KeyboardService,\n private language:LanguageService\n ) {}\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\nthis.continueText=this.language.getTextElement('lbl_continue')\nthis.discountAppliedText=this.language.getTextElement('discount_successful')\nthis.applyDiscountText=this.language.getTextElement('apply_discount')\nthis.enterDiscountText=this.language.getTextElement('hint_enter_coupon_code')\n }\n dismiss() {\n if (this.modalReference) {\n this.KeyboardService.manual = false;\n this.KeyboardService.newBoardSubject.next();\n this.KeyboardService.KeyboardStatus = false;\n this.modalReference.dismiss();\n }\n }\n checkCode() {\n this.processing = true;\n this.KeyboardService.manual = false;\n this.KeyboardService.newBoardSubject.next();\n this.KeyboardService.KeyboardStatus = false;\n setTimeout(() => {\n if (this.discountCode.toLocaleLowerCase() == this.discount.CouponCode.toLocaleLowerCase()) {\n this.correct = true;\n } else {\n this.close(true);\n }\n }, 1000);\n }\n close(badCode: boolean = false) {\n if (this.modalReference) {\n this.modalReference.close(badCode);\n }\n }\n closeIter3(code: string) {\n if (this.modalReference) {\n this.KeyboardService.manual = false;\n this.KeyboardService.newBoardSubject.next();\n this.KeyboardService.KeyboardStatus = false;\n this.modalReference.close(code);\n }\n }\n public static open(\n modalService: any,\n KeyboardService: KeyboardService,\n discount: SMBDiscount,\n discountCode: string\n ) {\n let modalReference = modalService.open(SMBDiscountsCodeComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n modalReference.componentInstance.discount = discount;\n modalReference.componentInstance.discountCode = discountCode;\n let subarr: Subscription[] = [];\n modalReference.componentInstance.allSubscription = subarr.push(\n KeyboardService.stringSub.subscribe((x) => {\n if (modalReference && modalReference.componentInstance)\n modalReference.componentInstance.discountCode = x;\n })\n );\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n public static openIter3(\n modalService: any,\n KeyboardService: KeyboardService\n ) {\n let modalReference = modalService.open(SMBDiscountsCodeComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n modalReference.componentInstance.discountCode = '';\n let subarr: Subscription[] = [];\n modalReference.componentInstance.allSubscription = subarr.push(\n KeyboardService.stringSub.subscribe((x) => {\n if (modalReference && modalReference.componentInstance)\n modalReference.componentInstance.discountCode = x;\n })\n );\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n}\n","import { Component, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LogoutConfirmationDialogComponent } from 'src/app/components/dialogs/logout-confirmation-dialog/logout-confirmation-dialog.component';\nimport { ManagerPinDialogComponent } from '../manager-pin-dialog/manager-pin-dialog.component';\nimport { Router } from '@angular/router';\nimport { DataService } from '../../services/data.service';\nimport { Subscription } from 'rxjs';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { ComingSoonComponent } from '../coming-soon/coming-soon.component';\nimport { SaveSettingsService } from 'src/app/services/save-settings.service';\nimport { RefreshDataLoadingComponent } from '../dialogs/refresh-data-loading/refresh-data-loading.component';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { PusherService } from 'src/app/services/pusher.service';\nimport { SettingsItemsComponent } from './settings-items/settings-items.component';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { LoginService } from 'src/app/services/login.service';\nimport { RetryConfirmationDialogComponent } from '../dialogs/retry-confirmation-dialog/retry-confirmation-dialog.component';\nimport { PreloaderService } from 'src/app/services/preloader.service';\n@Component({\n selector: 'app-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.css'],\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n deviceInfo: boolean = false;\n\n generalSettings: boolean = true;\n\n reports: boolean = false;\n\n zreport: boolean = false;\n\n refreshRunning: boolean = false;\n\n refreshRequired: boolean = false;\n\n itemwise: boolean = false;\n\n grosssales: boolean = false;\n\n orderhistory: boolean = false;\n\n concessionaireShow: boolean = false;\n\n doMenuUpdate: boolean = false;\n\n items: boolean = false;\n storeTimings: boolean = false;\n refreshData: boolean = false;\n payment: boolean = false;\n healthLogs: boolean = false;\n\n doRefreshDB: boolean = true;\n\n dt: Date = new Date();\n @Output() zReportData: any;\n totalDownloadSets: number = 0;\n totalDownloadSetsQueued: number = 0;\n downloadUrls: string[] = [];\n isHideZReport: boolean = GeneralSetting.getHideZReport() == 'True';\n\n @ViewChild(RefreshDataLoadingComponent)\n downloadModalRef!: RefreshDataLoadingComponent;\n\n @ViewChild(LogoutConfirmationDialogComponent)\n logoutModal!: LogoutConfirmationDialogComponent;\n\n @ViewChild(ManagerPinDialogComponent)\n managerPin!: ManagerPinDialogComponent;\n\n @ViewChild(ComingSoonComponent)\n comingSoon!: ComingSoonComponent;\n\n @ViewChild(SettingsItemsComponent)\n settingItemComponent!: SettingsItemsComponent;\n\n dataService: DataService;\n dataDate: string = '';\n\n languageSub!: Subscription;\n settingsText: string = '';\n deviceInfoText: string = '';\n launchKioskText: string = '';\n itemSalesText: string = '';\n paymentText: string = '';\n printerText: string = '';\n zReportText: string = '';\n grossSalesText: string = '';\n orderHistoryText: string = '';\n healthLogsText: string = '';\n itemsText: string = '';\n storeTimingText: string = '';\n logoutText: string = '';\n exportDBText: string = '';\n lastSyncText: string = '';\n refreshingMenuText: string = '';\n concessionaireText: string = '';\n refreshDBText: string = '';\n refreshDisable: boolean = false;\n\n constructor(\n DataService: DataService,\n public modalService: NgbModal,\n private router: Router,\n private logger: LogService,\n private saveSettingsService: SaveSettingsService,\n private db: DatabaseService,\n private language: LanguageService,\n private loginService: LoginService,\n private preloader: PreloaderService,\n ) {\n this.dataService = DataService;\n this.bindPusher();\n this.dataDate = localStorage.getItem('syncDate') || '';\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n )\n }\n loadText() {\n this.settingsText = this.language.getTextElement('action_settings')\n this.deviceInfoText = this.language.getTextElement('lbl_device_info')\n this.launchKioskText = this.language.getTextElement('lbl_launch_kiosk_text')\n this.paymentText = this.language.getTextElement('payment')\n this.printerText = this.language.getTextElement('lbl_printers')\n this.zReportText = this.language.getTextElement('txt_z_report')\n this.grossSalesText = this.language.getTextElement('lbl_reports_gross_sales')\n this.orderHistoryText = this.language.getTextElement('lbl_reports_order_history')\n this.healthLogsText = this.language.getTextElement('lbl_health_logs');\n this.itemsText = this.language.getTextElement('txt_items')\n this.storeTimingText = this.language.getTextElement('lbl_store_timing')\n this.logoutText = this.language.getTextElement('txt_logout')\n this.exportDBText = this.language.getTextElement('lbl_export_db')\n this.lastSyncText = this.language.getTextElement('text_last_sync_on')\n this.refreshingMenuText = this.language.getTextElement('refreshing_menu')\n this.concessionaireText = this.language.getTextElement('concessionaire')\n this.refreshDBText = this.language.getTextElement('refresh_db')\n this.itemSalesText = this.language.getTextElement('item_sales')\n }\n ngOnInit(): void {\n this.setGeneralSettings();\n this.zReport();\n\n // this.reloadSelf();\n }\n\n // TODO commenting this out for now since it is breaking the kiosk\n // reloadSelf() {\n // this.reloadSelfSub = this.saveSettingsService.reloadSelfSubject.subscribe(shouldReload => {\n // if (shouldReload) {\n // window.location.reload();\n // }\n // });\n // }\n\n zReport() {\n // this.none = false;\n // this.itemwise = false;\n // this.orderhistory = false;\n // this.grossSales = false;\n // this.zreport = true;\n\n // set current date as display date\n // this.dateDisplay = new Date().toDateString()\n // do post request with current date\n this.allSubsCription.push(this.dataService\n .getZreport(this.dt.toDateString(), this.dt.toDateString())\n .subscribe(\n (val) => {\n this.zReportData = val;\n\n var log = new loggingData(\n 'Z Report',\n 'Success',\n 'General',\n 'Z report from cloud are successful',\n false\n );\n\n this.logger.sendLogToServer(log);\n },\n (response) => {\n var log = new loggingData(\n 'POS Z report',\n 'POS Z report Api Failed',\n 'POS Z report',\n response,\n true\n );\n\n this.logger.sendLogToServer(log);\n },\n () => { }\n )\n );\n }\n\n openLogoutConfirmation() {\n this.logoutModal.open();\n this.logoutModal.modalReference.result.then(\n (result: any) => { },\n (reject: any) => { }\n );\n }\n\n private setAllFalse() {\n this.deviceInfo = false;\n this.generalSettings = false;\n this.reports = false;\n this.items = false;\n this.storeTimings = false;\n this.refreshData = false;\n this.payment = false;\n this.zreport = false;\n this.itemwise = false;\n this.grosssales = false;\n this.orderhistory = false;\n this.concessionaireShow = false;\n this.healthLogs = false;\n }\n\n setDeviceInfo() {\n this.setAllFalse();\n\n this.deviceInfo = true;\n }\n\n setGeneralSettings() {\n this.setAllFalse();\n\n this.generalSettings = true;\n }\n\n setReports() {\n this.setAllFalse();\n\n this.reports = true;\n }\n\n setZR() {\n this.setAllFalse();\n this.zreport = true;\n }\n\n setGS() {\n this.setAllFalse();\n this.grosssales = true;\n }\n\n setIS() {\n this.setAllFalse();\n\n this.itemwise = true;\n }\n\n setOH() {\n this.setAllFalse();\n this.orderhistory = true;\n }\n\n setHL() {\n this.setAllFalse();\n this.healthLogs = true;\n }\n\n setItems() {\n this.setAllFalse();\n\n this.items = true;\n }\n\n setStoreTiming() {\n this.setAllFalse();\n\n this.storeTimings = true;\n }\n\n setRefreshData() {\n this.setAllFalse();\n\n this.refreshData = true;\n }\n\n setPayment() {\n this.setAllFalse();\n\n this.payment = true;\n }\n\n setConcessionaire() {\n this.setAllFalse();\n\n this.concessionaireShow = true;\n }\n\n Login() {\n this.router.navigateByUrl('/passcode');\n }\n\n LaunchKiosk() {\n if (!this.saveSettingsService.stillRunning) {\n if (this.doMenuUpdate) {\n this.db.removeCategories();\n }\n setTimeout(() => {\n this.router.navigateByUrl('/touchToStart');\n }, 300);\n } else {\n //Added this comment for ticket SK-1820 by Yash Patel\n console.log(\"On menu sync Launch kiosk and refresh DB got stuck. line 295-setting.component.ts\");\n }\n }\n\n private bindPusher() {\n this.allSubsCription.push(\n this.db.MenuRefresh.subscribe(async (x) => {\n if (x) {\n if (!this.refreshRunning) {\n await this.refershDB()\n } else {\n this.refreshRequired = true;\n }\n }\n })\n );\n }\n\n private async isrefreshRequired() {\n if (this.refreshRequired) {\n await this.refershDB()\n this.refreshRequired = false;\n }\n }\n\n private async refershDB() {\n this.refreshRunning = true;\n this.logger.sendLogToServer(\n new loggingData(\n 'Refresh Data Pusher',\n 'Refresh Settings Data Received',\n 'Refresh Settings Data Pusher',\n `Settings Menu Refresh Received`,\n true\n )\n );\n\n this.dataDate = new Date().toLocaleString();\n localStorage.setItem(\"syncDate\", this.dataDate);\n\n var refreshData = await this.loginService.doRefresh();\n if (!refreshData) {\n RetryConfirmationDialogComponent.open(this.modalService)\n }\n\n this.refreshRunning = false;\n this.isrefreshRequired()\n }\n\n async doRefresh() {\n this.refreshRunning = true;\n this.refreshDisable = true\n setTimeout(() => {\n this.refreshDisable = false\n }, 5000);\n this.dataDate = new Date().toLocaleString();\n localStorage.setItem(\"syncDate\", this.dataDate);\n\n var refreshData = await this.loginService.doRefresh();\n if (!refreshData) {\n RetryConfirmationDialogComponent.open(this.modalService)\n }\n this.refreshRunning = false;\n this.isrefreshRequired()\n }\n\n exportDatabase() {\n this.comingSoon.open();\n }\n\n updateMenu(event: any) {\n this.doMenuUpdate = event;\n }\n\n setRefreshDBFlag(event: any) {\n this.doRefreshDB = event;\n }\n\n refershZzReport(e: any) {\n this.zReport();\n }\n\n ngAfterViewInit() {\n this.preloader.hide();\n }\n\n}\n","\n \n
\n
\n
{{ settingsText }} \n \n
\n \n {{ launchKioskText }}\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n\n \n
\n
\n
\n \n \n {{ exportDBText | uppercase }}\n \n
\n
\n
{{ lastSyncText }} {{ dataDate | date: \"short\" }}
\n
\n {{ refreshDBText | uppercase }}\n \n
\n
\n
\n
\n
\n \n\n \n\n \n\n
\n
\n
\n
\n
{{ refreshingMenuText }} \n
\n
\n\nNetwork error
\n\n \n","import { Component, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { PrinterService } from 'src/app/services/printer.service';\nimport { CartService } from 'src/app/services/cart.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { CommonFunctions } from 'src/app/services/common';\nimport { timeout } from 'rxjs/operators';\n\n@Component({\n selector: 'app-printing-progress-popup',\n templateUrl: './printing-progress-popup.component.html',\n styleUrls: ['./printing-progress-popup.component.css'],\n})\nexport class PrintingProgressPopupComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n sendingOrderText: string = '';\n pleaseWaitWhileSendingToKitchenText: string = '';\n printingReceiptText: string = '';\n pleaseWaitForReceiptText: string = '';\n\n printOpenData: any = \";\"\n\n constructor(\n public printerService: PrinterService,\n private cartService: CartService,\n private modalservice: NgbModal,\n private logger: LogService,\n private language: LanguageService\n ) {\n this.allSubsCription.push(\n language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n @Input() @Output() state: string = 'kitchen';\n modalReference: any;\n loadText() {\n this.sendingOrderText = this.language.getTextElement(\n 'sending_order_to_the_kitchen'\n );\n this.pleaseWaitWhileSendingToKitchenText = this.language.getTextElement(\n 'please_wait_while_we_send_your_order_to_the_kitchen'\n );\n this.printingReceiptText = this.language.getTextElement('printing_your_receipt')\n this.pleaseWaitForReceiptText = this.language.getTextElement('please_wait_for_your_receipt_to_print')\n }\n\n ngOnInit(): void {\n this.kitchenPrint(this.printOpenData);\n }\n\n public static open(modalservice: NgbModal, res: boolean) {\n //console.log('open the printing popup');\n let modalReference = modalservice.open(\n PrintingProgressPopupComponent,\n {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n }\n );\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.printOpenData = res;\n return modalReference;\n }\n\n open(res: boolean) {\n //console.log('open the printing popup');\n let modalReference = this.modalservice.open(\n PrintingProgressPopupComponent,\n {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n }\n );\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.printerService = this.printerService;\n modalReference.componentInstance.cartService = this.cartService;\n modalReference.componentInstance.printOpenData = res;\n this.modalReference = modalReference;\n }\n\n close() {\n if (this.modalReference) {\n this.modalReference.close();\n }\n }\n\n private kitchenPrintSubscription() {\n return new Promise((resolve, reject) => {\n this.allSubsCription.push(\n this.printerService.kitchenDataCreated.pipe(timeout(20000)).subscribe(data => {\n try {\n resolve(data);\n }\n catch (ex) {\n }\n },error => {\n try {\n resolve(false);\n }\n catch (ex) {\n }\n })\n );\n });\n }\n\n async kitchenPrint(printCus: boolean) {\n //console.log('kitchen printing');\n var data = this.cartService.getCartItems();\n this.printerService.resetState();\n\n // if (printCus) { //Comment this condition becase we need to print token receipt if customer says NO for his print\n this.state = 'customer';\n await this.customerPrint(printCus).then();\n\n // }\n this.state = 'kitchen';\n\n this.printerService.PrintKitchen(data);\n\n await this.kitchenPrintSubscription().then();\n\n await CommonFunctions.delay(4000);\n\n this.modalReference.close('success');\n // var state = this.printerService.PrintKitchen(data).subscribe((state) => {\n // //console.log(\n // `printerService.PrintKitchen subscrition result: ${JSON.stringify(\n // state\n // )}`\n // );\n // if (state == 'success') {\n // // print next\n // //console.log(`PrintKitchen RESOLVE: success`);\n // this.modalReference.close('success');\n // this.state = 'customer';\n // this.customerPrint();\n // } else {\n // //console.log(`PrintKitchen RESOLVE: failure`);\n // this.modalReference.close('success');\n // this.state = 'failureKitchen';\n // this.customerPrint();\n // }\n // });\n }\n\n customerPrint(printCus: boolean) {\n return new Promise((resolve, reject) => {\n var data = this.cartService.getCartItems();\n this.allSubsCription.push(\n this.printerService.PrintCustomer(data, printCus).subscribe((state) => {\n // console.log(\n // `printerService.customerPrint subscrition result: ${JSON.stringify(state)}`\n // );\n var log = new loggingData(\n 'Customer Receipt',\n 'Customer Receipt Print Status',\n 'Print Confirmation Status',\n `Customer Receipt Print Status is ${state} for Invoice ${GeneralSetting.getInvoiceNoToDb()}`,\n true\n );\n this.logger.sendLogToServer(log);\n if (state == 'success') {\n //console.log(`customerPrint RESOLVE: success`);\n if (this.modalReference) {\n\n this.modalReference.close();\n }\n resolve(true);\n }\n else {\n resolve(false);\n }\n })\n );\n });\n }\n\n printThis() {\n //console.log(this.state);\n }\n}\n","\n\n \n
\n
{{sendingOrderText}}
\n
\n\n
\n
\n {{pleaseWaitWhileSendingToKitchenText}}\n
\n
\n \n
\n
{{printingReceiptText}}
\n
\n
\n
{{pleaseWaitForReceiptText}}
\n
\n \n
\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { Concessionaire } from 'src/app/models/Concessionaire';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-brand-filter',\n templateUrl: './brand-filter.component.html',\n styleUrls: ['./brand-filter.component.css']\n})\nexport class BrandFilterComponent implements OnInit {\n\n allConcessionaire: Concessionaire[] = [] as Concessionaire[];\n languageSub!:Subscription\n modalReference: any;\n imageBaseUrl : string = '';\n concessionaireBaseUrl : string ='';\n positiveBtnColor: string = '';\n positiveTextColor: string = '';\n checkScrollCheck: boolean = false;\n isBottom: boolean = false;\n secondaryColor: string = '';\n\n tapToStartOrderText: string = '';\n\n multipleRestaurantsText: string = '';\n\n payAllChecksAtOnceText: string = '';\n\n backText: string = '';\n\n @ViewChild('itemContainerDiv') itemContainerDiv!: ElementRef;\n\n constructor(private language:LanguageService) { }\n loadText(){\n this.tapToStartOrderText=this.language.getTextElement('tap_to_start_order')\n this.multipleRestaurantsText=this.language.getTextElement('select_from_multiple_restaurants')\n this.payAllChecksAtOnceText=this.language.getTextElement('pay_all_checks_at_once')\n this.backText=this.language.getTextElement('back')\n }\n ngOnInit(): void { \n this.languageSub=this.language.localeCommunicator.subscribe((val)=>{\n this.loadText()\n })\n this.positiveBtnColor = GeneralSetting.getPositiveColor();\n\n this.positiveTextColor = GeneralSetting.getPositiveColorText();\n\n this.secondaryColor = GeneralSetting.getSecondaryColor();\n }\n\n public static open(modalService: NgbModal, allConcessionaire: Concessionaire[], imageBaseUrl: string, concessionaireBaseUrl: string) {\n var modalReference = modalService.open(BrandFilterComponent, {\n size: 'lg',\n modalDialogClass: \"cons-dialog\",\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n modalReference = modalReference;\n modalReference.componentInstance.allConcessionaire = allConcessionaire;\n modalReference.componentInstance.imageBaseUrl = imageBaseUrl;\n modalReference.componentInstance.concessionaireBaseUrl = concessionaireBaseUrl;\n modalReference.componentInstance.checkScrollCheck = allConcessionaire.length > 28;\n return modalReference;\n }\n\n /**\n * Sets concessionaire logo\n * @param con \n * @param imageBaseUrl \n * @param concessionaireBaseUrl \n * @returns \n */\n getConcessionaireLogo(con: Concessionaire, imageBaseUrl: string, concessionaireBaseUrl : string) {\n return con.Logo && con.Logo != '' ? imageBaseUrl + concessionaireBaseUrl + con.Logo : '../../../assets/images/Image_21.png';\n }\n\n cancel(){\n this.modalReference.close('');\n }\n \n /**\n * Select concessionaire from View more dialog\n * @param con \n */\n onConcessionaireClick(con: Concessionaire) {\n this.modalReference.close(con.ConcessionaireID);\n }\n\n /**\n * Scrolls down the view\n * @returns \n */\n scrollDown() {\n if (!this.itemContainerDiv) {\n return;\n }\n\n let element = this.itemContainerDiv.nativeElement;\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n this.isBottom = true;\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(element?.scrollHeight - element?.clientHeight, 300);\n }\n\n /**\n * \n * @returns Scrolls up the view\n */\n scrollTop() {\n if (!this.itemContainerDiv) {\n return;\n }\n\n let element = this.itemContainerDiv.nativeElement;\n\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n /**\n * @param {any} t current time\n * @param {any} b start value\n * @param {any} c change in value\n * @param {any} d duration\n */\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n this.isBottom = false;\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(0, 300);\n }\n\n /**\n * Deducts manual scroll position\n * @param event \n */\n onScroll(event: any) {\n setTimeout(() => {\n this.isBottom = (event.target.offsetHeight + event.target.scrollTop >= event.target.scrollHeight)\n }, 300);\n }\n\n}\n","\n
\n
\n
\n
\n
\n
{{tapToStartOrderText}}\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n
{{multipleRestaurantsText}}\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n
{{payAllChecksAtOnceText}} \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n \n
\n \n keyboard_double_arrow_down\n \n \n keyboard_double_arrow_up\n \n
\n
","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { TermsConditionQrUrlBothComponent } from '../dialogs/terms-condition-qr-url-both/terms-condition-qr-url-both.component';\nimport { TermsConditionsPdfComponent } from '../dialogs/terms-conditions-pdf/terms-conditions-pdf.component';\nimport { TermsConditionsQrComponent } from '../dialogs/terms-conditions-qr/terms-conditions-qr.component';\nimport { TermsConditionsUrlComponent } from '../dialogs/terms-conditions-url/terms-conditions-url.component';\n\n@Component({\n selector: 'app-optin-marketing',\n templateUrl: './optin-marketing.component.html',\n styleUrls: ['./optin-marketing.component.css']\n})\nexport class OptinMarketingComponent implements OnInit {\n\n allowCustomerOptInForMarketing = GeneralSetting.getAllowCustomerOptInForMarketing();\n marketingOptInText = GeneralSetting.getMarketingOptInText();\n addTermsConditions = GeneralSetting.getAddTermsConditions();\n\n @Output() onTermsAndConditionsChange = new EventEmitter()\n termsAndConditionsText:string = \"\";\n constructor(private language:LanguageService,private modalService:NgbModal,private sanitizer:DomSanitizer) { }\n // intialize the component\n ngOnInit(): void {\n this.termsAndConditionsText = this.language.getTextElement('lbl_terms_and_conditions');\n if (this.checkLines(this.marketingOptInText)) { \n this.marketingOptInText = this.marketingOptInText.substring(0, 100);\n this.marketingOptInText = this.marketingOptInText + \"...\" + this.language.getTextElement('read_more');\n // this.termsConditionReadMoreComponent.open(termsAndConditionsUrl);\n }\n // console.log(\"LINES\", this.checkLines(this.marketingOptInText));\n \n }\n/**\n * @author Rajat Soni\n * @param txt // txt for check lines\n * @description This functions is used to check lines\n * @returns boolean\n */\n checkLines(txt : string) {\n if (txt && txt != null) {\n return (txt.length > 114) ? true : false;\n } else return false;\n};\n/**\n * @author Rajat Soni\n * @param txt // txt for check lines\n * @description This functions is used to check lines\n * @returns \n */\n fieldsChange(values: any): void {\n if (values.currentTarget.checked) {\n GeneralSetting.setIsAllowForMarketingCommunication('True');\n } else {\n GeneralSetting.setIsAllowForMarketingCommunication('False');\n }\n this.onTermsAndConditionsChange.emit(values.currentTarget.checked);\n }\n /**\n * @author Rajat Soni\n * @description This functions is used to open popup for terms and conditions on based on condition\n * @returns void\n */\n onTermsAndConditions() { \n \n let viewTermsAndConditions = GeneralSetting.getViewTermsAndCondition();\n let termsAndConditionsUrl = GeneralSetting.getTermsConditionsURL();\n let termsAndConditionsFile = GeneralSetting.getTermsConditionsFile();\n if (viewTermsAndConditions == \"0\") { //URL\n let howToView = GeneralSetting.getHowToViewURLBasedTermsAndCondition()\n // In a popup: 1\n // Show QR Code: 2\n // Both: 3\n if (howToView == \"1\") {\n TermsConditionsUrlComponent.open(termsAndConditionsUrl,this.modalService,this.sanitizer);\n } else if (howToView == \"2\") {\n TermsConditionsQrComponent.open(termsAndConditionsUrl,this.modalService);\n } else { \n TermsConditionQrUrlBothComponent.open(termsAndConditionsUrl,this.modalService);\n }\n } else if (viewTermsAndConditions == \"1\") { //Pdf \n TermsConditionsPdfComponent.open(termsAndConditionsFile,this.modalService,this.sanitizer);\n\n }\n }\n}\n","\n\n\n","import { Injectable } from '@angular/core';\nimport { GeneralSetting } from './generalSetting.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { TimeoutError } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { CartService } from './cart.service';\nimport { textChangeRangeIsUnchanged } from 'typescript';\nimport { LanguageService } from './language.service';\n\n@Injectable({\n providedIn: 'root'\n})\n// prettier-ignore\nexport class CloverService {\n data: any;\n cloverPaymentId: string = '';\n cloverOrderId: string = '';\n cloverDeductedAmount: number = 0.0;\n cloverChargeAmount: number = 0.0;\n cloverCardType: number = 0;\n isCloverPaymentCompleted: boolean = false;\n isPartialPayment: boolean = false;\n errorModelText = 'Payment failed. Please try again';\n language:LanguageService;\n\n cloverNodeJsUrl: string;\n constructor(private readonly logger: LogService, language: LanguageService) {\n // environment setting\n this.cloverNodeJsUrl = environment.cloverNodeJsUrl;\n this.language = language;\n }\n\n private getCloverApiBaseUrl(): string {\n if (GeneralSetting.getCloverEnvironment().toString() == 'Staging') {\n return 'https://sandbox.dev.clover.com';\n } else {\n //if (GeneralSetting.getCloverEnvironment().toString() == 'Production') {\n return 'https://www.clover.com';\n }\n }\n public isCloverConfigured(): boolean {\n if (!GeneralSetting.getMerchantId()) return false;\n\n return true;\n }\n\n public isLinkedToDevice(): boolean {\n if (!GeneralSetting.getDeviceHSN()) return false;\n\n return true;\n }\n\n public ping() {\n return new Promise((res, rej) => {\n var cloverPingURL = environment.cloverNodeJsUrl + '/ping';\n fetch(cloverPingURL, {\n mode: 'cors',\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n 'Accept-Encoding': 'gzip, deflate, br',\n Connection: 'keep-alive',\n 'Access-Control-Allow-Origin': '*',\n },\n body: JSON.stringify({\n baseURL: this.getCloverApiBaseUrl(),\n applicationId: GeneralSetting.getApplicationId().toString(),\n deviceId: GeneralSetting.getDeviceHSN().toString(),\n merchantId: GeneralSetting.getMerchantId().toString(),\n accessToken: GeneralSetting.getAccessToken().toString(),\n friendlyId: GeneralSetting.getFriendlyId().toString(),\n isPing: true,\n branchId: GeneralSetting.getBranchId(),\n companyId: GeneralSetting.getCompanyId(),\n serialNo: GeneralSetting.getSerialNo(),\n }),\n })\n .then((res) => res.json())\n .then((data) => {\n res(data);\n })\n .catch((e) => {\n rej(e);\n });\n });\n }\n public getCloverValidation() {\n if (\n GeneralSetting.getDeviceHSN() == '' ||\n GeneralSetting.getApplicationId() == '' ||\n GeneralSetting.getMerchantId() == '' ||\n GeneralSetting.getAccessToken() == ''\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n private sendExceptionToServer(location: any, exception: any) {\n const errorLog = new loggingData(\n 'Clover Error',\n 'Clover failed in: ' + location,\n 'clover.service.ts',\n '\\n' + 'Error in: ' + location + '\\n' + 'Exception: ' + exception,\n true\n );\n\n this.logger.sendLogToServer(errorLog);\n }\n private sendDebugToServer(location: any, debug: any) {\n const errorLog = new loggingData(\n 'Clover Log',\n 'Debug Location: ' + location,\n 'clover.service.ts',\n '\\n' + 'Location: ' + location + '\\n' + 'Debug: ' + JSON.stringify(debug),\n true\n );\n\n this.logger.sendLogToServer(errorLog);\n }\n\n private setCloverCardType(resultPaymentCardTransactionCardType: any, cardlabel: string) {\n // set card type (e.g. 0=None, 1=Visa, 2=Master, 3=Amex, 4=Discover, 5=Diners Club, 6=China UnionPay, 7=JCB, 8=Laser, 9=Maestro, 10=Dankort)\n switch (resultPaymentCardTransactionCardType) {\n case 'VISA': {\n this.cloverCardType = 1;\n break;\n }\n case 'MC': {\n this.cloverCardType = 2;\n break;\n }\n case 'AMEX': {\n this.cloverCardType = 3;\n break;\n }\n case 'DISCOVER': {\n this.cloverCardType = 4;\n break;\n }\n case 'DINERS_CLUB': {\n this.cloverCardType = 5;\n break;\n }\n case 'CHINA_UNION_PAY': {\n this.cloverCardType = 6;\n break;\n }\n case 'JCB': {\n this.cloverCardType = 7;\n break;\n }\n case 'LASER': {\n this.cloverCardType = 8;\n break;\n }\n case 'MAESTRO': {\n this.cloverCardType = 9;\n break;\n }\n default: {\n this.cloverCardType = 0;\n break;\n }\n }\n const errorLog = new loggingData(\n `Payment device : Card type: ${cardlabel}, sub-type: ${resultPaymentCardTransactionCardType}`,\n `Payment device : Card type: ${cardlabel}, sub-type: ${resultPaymentCardTransactionCardType} in: ${location}`,\n 'clover.service.ts',\n `Payment device : Card type: ${cardlabel}, sub-type: ${resultPaymentCardTransactionCardType}`,\n true\n );\n this.logger.sendLogToServer(errorLog);\n }\n\n public async createCloverCloudPaySaleRequest(\n cloverChargeAmount: any,\n cartService: CartService,\n tax: any\n ): Promise {\n if (this.cloverPaymentId == '' || this.cloverPaymentId == undefined) {\n this.cloverPaymentId = 'InitialPayment';\n }\n if (this.cloverOrderId == '' || this.cloverOrderId == undefined) {\n this.cloverOrderId = 'InitialOrder';\n }\n\n // samsung kiosk doesn't have proper version of npm packages and not available to use abort controller\n // const controller = new AbortController()\n // const timeoutId = setTimeout(() => controller.abort(), 180000);\n try {\n this.isCloverPaymentCompleted = false;\n this.isPartialPayment = false;\n\n var adjustedChargeAmount = Math.round(\n (cloverChargeAmount - cartService.discount) * 100\n );\n var taxInCents = Math.round(tax * 100);\n var tipInCents = Math.round(cartService.tip * 100);\n\n var requestBody = // Dynamic Sale Request\n JSON.stringify({\n baseURL: this.getCloverApiBaseUrl(),\n applicationId: GeneralSetting.getApplicationId().toString(),\n deviceId: GeneralSetting.getDeviceHSN().toString(),\n merchantId: GeneralSetting.getMerchantId().toString(),\n accessToken: GeneralSetting.getAccessToken().toString(),\n friendlyId: GeneralSetting.getFriendlyId().toString(),\n saleamt: adjustedChargeAmount,\n tipAmt: tipInCents,\n taxAmt: taxInCents,\n IsSale: true,\n IsPartialRefund: false,\n IsFullRefund: false,\n isVoid: false,\n paymentId: null,\n orderId: null,\n refundAmt: null,\n cancelreason: null,\n branchId: GeneralSetting.getBranchId().toString(),\n companyId: GeneralSetting.getCompanyId().toString(),\n serialNo: GeneralSetting.getSerialNo().toString(),\n });\n\n // Reset these on a new Sale request\n this.cloverOrderId = '';\n this.cloverPaymentId = '';\n\n let response = await fetch(this.cloverNodeJsUrl + '/cloverCloudPayV3', {\n mode: 'cors',\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n 'Accept-Encoding': 'gzip, deflate, br',\n Connection: 'keep-alive',\n 'Access-Control-Allow-Origin': '*',\n },\n\n // Dynamic Sale Request\n body: requestBody,\n });\n\n let result = await response.json();\n GeneralSetting.setPaymentResponse(JSON.stringify(result));\n if (result.debug) {\n this.sendDebugToServer(\n 'createCloverCloudPaySaleRequest() > fetch > status == 200',\n result.debug\n );\n }\n\n // Handle any failures\n if (result.success === false || response.status != 200) {\n\n let errorTag = result.result?? 'default';\n if (errorTag != 'default') {\n this.errorModelText = this.language.getTextElement(errorTag);\n } else {\n this.errorModelText = 'Unable to process payment. Please try again.';\n }\n \n // Firehose\n this.sendCloverRequestErrorLog(\n 'Clover Error Type ' + result.result,\n 'Reason:' + result.reason + ' Message:' + result.message,\n requestBody,\n result // <- lastDeviceActivityStart or lastDeviceActivityEnd should help diagnose any failures\n );\n\n return false;\n }\n\n if (result.payment.cardTransaction && typeof result.payment.cardTransaction.cardType !== 'undefined') {\n let cardlabel = result?.payment?.tender?.label || null\n this.setCloverCardType(result.payment.cardTransaction.cardType, cardlabel);\n } else if(result.payment.tender.label.toLowerCase() === 'gift cards') {\n this.cloverCardType = 10; // Gift Cards\n }\n\n this.cloverPaymentId = result.payment.id;\n this.cloverOrderId = result.payment.order.id;\n this.cloverDeductedAmount =\n this.cloverChargeAmount -\n (result.payment.amount * 0.01 - result.payment.taxAmount * 0.01);\n\n // Firehose\n var amountToTestFromOldCode = Number(\n (\n result.payment.amount * 0.01 -\n result.payment.taxAmount * 0.01\n ).toFixed(2)\n );\n\n if (cloverChargeAmount > amountToTestFromOldCode) {\n // Send over a log that our old calc would have been wrong\n this.sendCloverRequestErrorLog(\n 'Clover Error Type 4500 - Old Calculation is wrong, check totals',\n `cloverChargeAmount: ${cloverChargeAmount} vs. amountToTestFromOldCode: ${amountToTestFromOldCode}`,\n requestBody,\n result\n );\n }\n\n var totalChargeAmountExpectedToBeCharged = Math.round(\n adjustedChargeAmount + taxInCents + tipInCents - cartService.discount\n );\n\n var totalAmountReceivedAsPayment = Math.round(\n result.payment.amount + result.payment.taxAmount + result.payment.tipAmount\n );\n\n if (totalChargeAmountExpectedToBeCharged > totalAmountReceivedAsPayment) {\n this.errorModelText =\n 'The card you used did not have enough funds to complete this transaction. A refund has been issued for the paid amount. Please try again with a different card.';\n // Firehose\n this.sendCloverRequestErrorLog(\n 'Clover Error Type 4400 - Total Charged and Total Received did not match',\n `expectedChargeAmount: ${totalChargeAmountExpectedToBeCharged} vs. amountPaid: ${totalAmountReceivedAsPayment}`,\n requestBody,\n result\n );\n\n this.isPartialPayment = true;\n return false;\n }\n\n // Clover Cloud Pay Completed\n this.isCloverPaymentCompleted = true;\n return true;\n\n } catch (exception) {\n this.sendExceptionToServer(\n 'createCloverCloudPaySaleRequest() > fetch > catch',\n exception\n );\n }\n\n return false;\n }\n\n public createCloverCloudPayRefundRequest(\n cloverPaymentId: String,\n cloverOrderId: String\n ) {\n var fetchBody = JSON.stringify({\n baseURL: this.getCloverApiBaseUrl(),\n applicationId: GeneralSetting.getApplicationId().toString(),\n deviceId: GeneralSetting.getDeviceHSN().toString(),\n merchantId: GeneralSetting.getMerchantId().toString(),\n accessToken: GeneralSetting.getAccessToken().toString(),\n friendlyId: GeneralSetting.getFriendlyId().toString(),\n saleamt: 0,\n tipAmt: 0,\n taxAmt: 0,\n IsSale: false,\n IsPartialRefund: false,\n IsFullRefund: true,\n isVoid: false,\n paymentId: cloverPaymentId,\n orderId: cloverOrderId,\n refundAmt: null,\n cancelreason: null,\n });\n\n var url = this.cloverNodeJsUrl + '/cloverCloudPayV3';\n fetch(url, {\n mode: 'cors',\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n 'Accept-Encoding': 'gzip, deflate, br',\n Connection: 'keep-alive',\n 'Access-Control-Allow-Origin': '*',\n },\n body: fetchBody,\n })\n .then(this.manageErrors)\n .catch((error) => {\n // send refund error to grubbrr server\n this.sendCloverRequestErrorLog(\n 'Clover Refund Error',\n '',\n fetchBody,\n error\n );\n });\n }\n\n private sendCloverRequestErrorLog(\n title: string,\n desc: string,\n request: any,\n response: any\n ) {\n let errorLog = new loggingData(\n title,\n desc,\n 'Clover API Failure',\n `Request: ${JSON.stringify(request)} ||| Response: ${JSON.stringify(\n response\n )}`,\n true\n );\n\n this.logger.sendLogToServer(errorLog);\n }\n\n private manageErrors(response: any) {\n if (!response.ok) {\n throw Error(response.statusText);\n }\n return response;\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ItemV2 } from 'src/app/models/item';\nimport { CartService } from 'src/app/services/cart.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from '../../../environments/environment';\nimport { OutOfStockComponent } from '../out-of-stock/out-of-stock.component';\nimport { Router } from '@angular/router';\nimport { LastfiveorderService } from 'src/app/services/lastfiveorder.service';\nimport { UserService } from '../../services/user.service';\nimport { AlcoholicOver21DialogComponent } from '../dialogs/alcoholic-over21-dialog/alcoholic-over21-dialog.component';\nimport { AlcoholicItemsExceedMaxComponent } from '../dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport { DatabaseHandler } from 'src/app/DatabaseHandler';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { SchedulePricingService } from 'src/app/services/schedule-pricing.service';\nimport { SetDefaultService } from '../../services/set-default.service';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { EatOptionsService } from 'src/app/services/eat-options.service';\nimport { Guid } from 'src/app/models/Guid';\nimport { LoadingComponent } from 'src/app/loading/loading.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { TimeoutComponent } from '../timeout/timeout.component';\nimport { LoyaltyType } from 'src/app/models/loyaltyModal';\nimport { LoaderService } from 'src/app/services/loader.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { DiscountService } from 'src/app/services/discount.service';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\nimport { DatabaseService } from 'src/app/services/database.service';\n\n@Component({\n selector: 'app-last-five-order',\n templateUrl: './last-five-order.component.html',\n styleUrls: ['./last-five-order.component.css'],\n})\nexport class LastFiveOrderComponent implements OnInit, OnDestroy {\n\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n @ViewChild(LoadingComponent) loadingModel!: LoadingComponent;\n\n @ViewChild(OutOfStockComponent) outofstockpopup!: OutOfStockComponent;\n\n @ViewChild(AlcoholicOver21DialogComponent)\n over21!: AlcoholicOver21DialogComponent;\n\n @ViewChild(TimeoutComponent)\n timeout!: TimeoutComponent\n\n customerID!: string;\n\n schedulePricingService: SchedulePricingService;\n\n backGround: string = '';\n\n lastorderPrice!: string;\n\n customerName: string = '';\n\n itemlist: any[] = [];\n\n showSnackBar: boolean = false;\n\n countStr: string = '';\n\n intoCombo: boolean = false;\n\n fromMenuLogin: boolean = false;\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl.substring(0, environment.imageBaseUrl.length - 1)\n : environment.imageBaseUrlRemote\n currAlcoholic: number = 0;\n\n maxAlcoholic: number = 0;\n\n hasLoyaltyProgram: boolean = false;\n\n useLoyaltykiosk: boolean = false;\n\n welcomeLoyaltyLogoPath!: string;\n\n\n showWelcomeLoyaltyLogo: boolean = false;\n\n showLoyaltyMode: boolean = false;\n\n showNoHistory: boolean = false;\n\n headerDescHasScroll: boolean = false;\n\n TotalPoints!: string;\n\n LastVisit!: string;\n\n PointEarnedLastVisit!: string;\n\n languageSub!: Subscription\n customerWelcomeText: string = ''\n pleaseAddOrderText: string = ''\n seeYouAgainText: string = ''\n yourRewardsAccountText: string = ''\n totalPointsText: string = ''\n lastVisitText: string = ''\n pointsLastVisitText: string = ''\n recentOrderText: string = ''\n noRecentOrderText: string = ''\n addedText: string = ''\n checkoutText: string = ''\n continueToMenuText: string = ''\n signOutText: string = ''\n addToCartText: string = ''\n welcomeFooterText: string = '';\n placeholderImage: string = '';\n fixedItemDisc: FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n constructor(\n SchedulePricingService: SchedulePricingService,\n private cartservice: CartService,\n private isKioskService: IsKioskService,\n private router: Router,\n public lastfiveservice: LastfiveorderService,\n private userService: UserService,\n private loyaltyService: LoyaltyService,\n private readonly setDefault: SetDefaultService,\n private optionsService: EatOptionsService,\n private modalService: NgbModal,\n private language: LanguageService,\n private loader: LoaderService,\n private readonly dataService: DataService,\n private discountService: DiscountService,\n ) {\n this.schedulePricingService = SchedulePricingService;\n }\n loadText() {\n this.addToCartText = this.language.getTextElement('lbl_add_to_cart')\n this.pleaseAddOrderText = this.language.getTextElement('msg_please_add_order_for_checkout')\n this.seeYouAgainText = this.language.getTextElement('lbl_it_s_so_great_to_see_you_again')\n this.yourRewardsAccountText = this.language.getTextElement('lbl_your_rewards_account')\n this.totalPointsText = this.language.getTextElement('lbl_total_points')\n this.lastVisitText = this.language.getTextElement('lbl_last_visit')\n this.pointsLastVisitText = this.language.getTextElement('lbl_points_earned_last_visit')\n this.recentOrderText = this.language.getTextElement('lbl_your_recent_orders')\n this.noRecentOrderText = this.language.getTextElement('lbl_no_recent_orders')\n this.addedText = this.language.getTextElement('lbl_added')\n this.checkoutText = this.language.getTextElement('lbl_checkout')\n this.continueToMenuText = this.language.getTextElement('lbl_continue_to_menu')\n this.signOutText = this.language.getTextElement('action_sign_out')\n this.welcomeFooterText = this.language.getTextElement('update_account_information')\n this.customerWelcomeText = this.language.getTextElement('hi_guest').replace('%d', this.customerName)\n }\n ngOnInit() {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n let name = GeneralSetting.getCustomerLoginName();\n this.customerName = name ? name : '';\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.loyaltyService.chosenItemList = [];\n this.loyaltyService.itemsWaiting = false;\n this.backGround = this.baseImageUrl + GeneralSetting.getBackGroundImage();\n if (this.loyaltyService.isLoyalty) {\n this.logoSetter();\n if (this.loyaltyService.loyaltyType == LoyaltyType.Referrizer) {\n this.showLoyaltyMode = true;\n this.TotalPoints =\n this.userService.referrizerLoyaltyUser.loyaltyPointsCount.toString();\n this.loyaltyService.getCustomerVisit()!.then((data) => {\n this.PointEarnedLastVisit = data.data.points;\n });\n this.LastVisit = this.userService.referrizerLoyaltyUser.lastVisitDate;\n }\n }\n let curralco = GeneralSetting.getCurrentCountofAlkol();\n if (curralco != null) this.currAlcoholic = Number(curralco);\n this.maxAlcoholic = Number(GeneralSetting.getMaxAlcoholicItemsPerOrder());\n this.setSubscription();\n this.setFixedItemDisc();\n }\n\n async setFixedItemDisc() {\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n }\n\n private setSubscription() {\n this.allSubsCription.push(\n this.cartservice.sub_subtotal.subscribe((data) => {\n this.updateFixedItemOnSubtotal(data);\n })\n );\n\n this.allSubsCription.push(\n this.loyaltyService.updateRewardSub.subscribe((points: number) => {\n let availablePoints = this.userService.referrizerLoyaltyUser?.loyaltyPointsCount || 0;;\n availablePoints = Number(availablePoints) + Number(points);\n this.userService.referrizerLoyaltyUser.loyaltyPointsCount = availablePoints;\n })\n );\n }\n\n ngAfterViewInit() {\n this.getItemList();\n this.isOverflow();\n //this.timeout.stillHere()\n }\n\n private isOverflow() {\n const element = document.getElementById('arrowDown');\n setTimeout(() => {\n if (element) {\n if (element.scrollHeight > element.clientHeight) {\n this.headerDescHasScroll = true;\n } else {\n this.headerDescHasScroll = false;\n }\n }\n }, 1000);\n }\n\n async getItemList() {\n this.loader.openLoader(false, true, 10000);\n\n GeneralSetting.setLastFiveOrderChosen('true');\n let combo = GeneralSetting.getIntoCombo();\n if (combo === null || combo === 'false') {\n this.lastfiveservice.getLastFiveOrders().then(async (data: ItemV2[]) => {\n this.itemlist = data;\n this.showNoHistory = (data.length == 0);\n if (data.length == 0) {\n this.loader.closeLoader()\n return\n }\n await this.cartservice\n .applyPromos(this.itemlist)\n .then(async (data: ItemV2[]) => {\n this.loader.closeLoader()\n for (let i = 0; i < data.length; i++) {\n data[i].totalPrice = CommonFunctions.getItemPrice(data[i]);\n }\n this.itemlist = data;\n });\n });\n } else {\n this.itemlist = this.lastfiveservice.getItemList();\n await this.cartservice.applyPromos(this.itemlist)\n .then(async (data: ItemV2[]) => {\n this.loader.closeLoader()\n for (let i = 0; i < data.length; i++) {\n if (data[i].OrderMinimumQuantity != 0) {\n data[i].Quantity = data[i].OrderMinimumQuantity.toString();\n }\n }\n this.itemlist = data;\n }, () => { });\n }\n }\n addToCart(item: ItemV2) {\n // Checks fixed item quantity limit\n if (this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0) {\n var isFixedItemAvail = this.discountService.isFixedItemAvail(this.fixedItemDisc[0], item);\n if (isFixedItemAvail) {\n return;\n }\n }\n\n var isCombo = item.IsCombo.toString();\n const value = Number(item.Quantity);\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'false') {\n if (item.SoldOut === true) {\n this.outofstockpopup.open(0);\n return;\n } else if (\n item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()\n ) {\n this.checkifAlcoholicItem(item);\n } else {\n this.addOrRemoveItem(item);\n }\n } else {\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item);\n if (totalComboAlcoholCount > 0) {\n this.checkifAlcoholicItem(item);\n } else {\n this.addOrRemoveItem(item);\n }\n }\n }\n\n checkifAlcoholicItem(item: ItemV2) {\n if (!item.isSelected) {\n AlcoholicOver21DialogComponent.open(this.modalService).result\n .then((data: any) => {\n if (data === 'over') {\n if (!CommonFunctions.isAlcoholLimitRemainig()) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n var isCombo = item.IsCombo.toString();\n const value = Number(item.Quantity);\n if (\n isCombo.toLowerCase() == '1' ||\n isCombo.toLowerCase() == 'true'\n ) {\n if (CommonFunctions.increaseAlcoholicCountForCombo(item, true)) {\n this.addOrRemoveItem(item);\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n } else {\n this.addOrRemoveItem(item);\n }\n }\n }\n }, () => { });\n } else {\n var isCombo = item.IsCombo.toString();\n const value = Number(item.Quantity);\n if (isCombo.toLowerCase() == '1' || isCombo.toLowerCase() == 'true') {\n if (CommonFunctions.increaseAlcoholicCountForCombo(item, false)) {\n this.addOrRemoveItem(item);\n }\n } else {\n if (item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()) {\n GeneralSetting.decreaseAlcohol();\n }\n this.addOrRemoveItem(item);\n }\n }\n }\n\n checkout() {\n this.checkifDirectFromMenu();\n if (this.lastfiveservice.numofItemsAdded === 0) {\n //show snack bar\n Snackbar.show('Please select an item before checking out', 3000);\n } else {\n this.resetData();\n if (this.fromMenuLogin) {\n this.router.navigateByUrl('/orderReview');\n } else if (this.optionsService.length == 1) {\n this.optionsService.getEatOptions().then((data) => {\n GeneralSetting.setOrderTypeId(data[0].OrderTypeID.toString());\n this.optionsService.setEatOption(data[0]);\n }, () => { });\n this.router.navigateByUrl('/orderReview');\n } else {\n GeneralSetting.setCheckOutAtLastFive('true');\n this.setDefault.redirectToEatOptions = true;\n this.router.navigateByUrl('/touchToStart');\n }\n }\n }\n\n continueToMenu() {\n this.checkifDirectFromMenu();\n if (this.fromMenuLogin || this.optionsService.length == 1) {\n if (this.optionsService.length == 1) {\n this.optionsService.getEatOptions().then((data) => {\n GeneralSetting.setOrderTypeId(data[0].OrderTypeID.toString());\n this.optionsService.setEatOption(data[0]);\n }, () => { });\n }\n this.router.navigateByUrl('/menu');\n } else {\n this.resetData();\n this.loyaltyService.itemsWaiting = true;\n this.setDefault.redirectToEatOptions = true;\n this.router.navigateByUrl('/touchToStart');\n }\n }\n\n clearInfo() {\n this.resetData();\n this.checkifDirectFromMenu();\n GeneralSetting.removeLastFiveOrderChosen();\n GeneralSetting.removeCustomerLoginMobile();\n GeneralSetting.removeCustomerLoginEmail();\n GeneralSetting.removeCustomerLoginName();\n GeneralSetting.removeCustomerId();\n this.userService.signOut();\n if (this.fromMenuLogin) {\n this.router.navigateByUrl('/menu');\n } else if (this.setDefault.optionsLength == 1) {\n this.cartservice.clearCart();\n this.setDefault.redirectToEatOptions = true;\n this.router.navigateByUrl('/menu');\n } else {\n //this.cartservice.clearCart();\n this.setDefault.redirectToEatOptions = false;\n this.router.navigateByUrl('/touchToStart');\n }\n }\n addOrRemoveItem(item: any) {\n if (!item.isSelected) {\n item.isSelected = true;\n this.lastfiveservice.increaseNumofItems(item);\n if (!item.Modifiers) {\n item.Modifiers = [];\n }\n if (GeneralSetting.getOrderTypeId() != '') {\n this.loyaltyService.chosenItemList = [];\n this.loyaltyService.itemsWaiting = false;\n this.cartservice.createCartItemV2(item).then((data) => {\n this.cartservice.addToCartAsync(data, true).then((res) => {\n this.cartservice.broadcastAll()\n }, () => { });\n }, () => { });\n } else {\n if (this.optionsService.length != 1) {\n if (!item.guid) {\n item.guid = Guid.newGuid();\n }\n this.cartservice.createCartItemV2(item).then((data) => {\n this.loyaltyService.chosenItemList.push(data);\n }, () => { });\n this.loyaltyService.itemsWaiting = true;\n } else {\n this.optionsService.getEatOptions().then((data) => {\n GeneralSetting.setOrderTypeId(data[0].OrderTypeID);\n this.loyaltyService.chosenItemList = [];\n this.loyaltyService.itemsWaiting = false;\n this.cartservice.createCartItemV2(item).then((data) => {\n this.cartservice.addToCartAsync(data, true).then((res) => {\n this.cartservice.broadcastAll()\n }, () => { });\n }, () => { });\n }, () => { });\n }\n }\n } else {\n item.isSelected = false;\n this.lastfiveservice.decreaseNumofItems(item);\n if (this.lastfiveservice.numofItemsAdded !== 0) {\n this.countStr = ' (' + this.lastfiveservice.numofItemsAdded + ')';\n }\n if (GeneralSetting.getOrderTypeId() != '') {\n const toremove = this.cartservice.findDuplicateItemInCartV2(item);\n if (toremove.isSame) {\n let item = this.cartservice.getCartItems().filter((x) => x.guid == toremove.guid)\n if (item && item.length) {\n if (Number(item[0].Quantity) > 1) {\n item[0].Quantity = (Number(item[0].Quantity) - 1).toString()\n item[0].totalPrice = CommonFunctions.getItemPrice(item[0]) * Number(item[0].Quantity);\n this.cartservice.cartItems[\n this.cartservice.cartItems.findIndex((x: any) => x.guid == toremove.guid)\n ] = item[0];\n } else {\n let newCartItems = this.cartservice.getCartItems().filter((x) => x.guid != toremove.guid)\n this.cartservice.cartItems = newCartItems\n this.cartservice.subCartItems.next(newCartItems)\n this.cartservice.removeFromCart(item[0]);\n }\n this.cartservice.broadcastAll();\n }\n }\n } else {\n let cartitems = this.loyaltyService.chosenItemList;\n const toremove = cartitems.find((i) => i.ItemID === item.ItemID);\n if (toremove) {\n this.loyaltyService.removeFromCart(toremove);\n }\n }\n }\n }\n\n resetData() {\n GeneralSetting.setFromMenuLogin('false');\n GeneralSetting.setLastFiveOrderChosen('true');\n GeneralSetting.setIntoCombo('false');\n this.lastfiveservice.numofItemsAdded = 0;\n for (let item of this.itemlist) {\n item.isSelected = false;\n }\n }\n\n checkifDirectFromMenu() {\n let check = GeneralSetting.getFromMenuLogin();\n if (check && check === 'true') {\n this.fromMenuLogin = true;\n }\n }\n\n getLoyaltyProgram() {\n return new Promise((resolve) => {\n let sqlstr =\n 'SELECT IsActive FROM LoyaltyPrograms WHERE IsActive = \"True\"';\n\n const callback = (tx: string, data: any) => {\n if (data.rows.length > 0) {\n resolve(true);\n } else {\n resolve(false);\n }\n };\n\n const error = (tx: string, error: any) => {\n resolve(false);\n };\n\n DatabaseHandler.executeSqlStatement(sqlstr, [], callback, error);\n });\n }\n //if loyalty program && useloyatykiosk && showwelcome\n //show the logo pic on html\n logoSetter() {\n const showWelcomeLoyaltyLogo = GeneralSetting.getShowWelcomeLoyaltyLogo();\n if (showWelcomeLoyaltyLogo && showWelcomeLoyaltyLogo === 'True') {\n this.showWelcomeLoyaltyLogo = true;\n }\n let loyaltyLogo = GeneralSetting.getWelcomeLoyaltyLogoPath();\n if (loyaltyLogo && loyaltyLogo !== '') {\n this.welcomeLoyaltyLogoPath = this.baseImageUrl + loyaltyLogo;\n } else {\n this.showWelcomeLoyaltyLogo = false;\n }\n }\n\n /**\n * Check and alert after every subtotal update if fixed item available in the cart\n * @param subtotal \n */\n private async updateFixedItemOnSubtotal(subtotal : number){\n var fixedItemDiscount = await this.discountService.checkFreeItemOnSubtotalUpdate(subtotal);\n this.findFixedItemOperation(fixedItemDiscount);\n }\n\n /**\n * Check fixed item's Quantity need to be updated or removed from the cart\n * @param fixedItemDiscount \n */\n private findFixedItemOperation(fixedItemDiscount: any) {\n if (fixedItemDiscount && fixedItemDiscount != undefined) {\n const cartItems = this.cartservice.getCartItems().filter(\n (x) => x.ItemID == fixedItemDiscount.ItemID\n );\n if(cartItems && cartItems != undefined && cartItems.length > 0){\n if(fixedItemDiscount.Check == 2){\n this.addOrRemoveItem(cartItems[0]); \n }\n }\n }\n }\n}\n","\n
\n
\n
{{pleaseAddOrderText}}
\n \n
\n
\n
{{yourRewardsAccountText|uppercase}}
\n
\n
\n
{{totalPointsText}}
\n
\n {{ TotalPoints | number: \"1.0\":\"en-US\" }}\n
\n
\n
\n
{{lastVisitText}}
\n
\n {{ LastVisit }}\n
\n
\n
\n
\n {{pointsLastVisitText}}\n
\n
\n {{ PointEarnedLastVisit | number: \"1.0\":\"en-US\" }}\n
\n
\n
\n \n
\n
\n
{{noRecentOrderText}}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{ item.Name }}\n \n \n \n
\n {{ item.last5modsName }}\n
\n
\n
\n
\n \n {{addToCartText}}\n \n \n \n \n {{addedText}}\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n {{checkoutText|uppercase}}\n {{\n lastfiveservice.numofItemsAdded > 0\n ? \" (\" + lastfiveservice.numofItemsAdded + \")\"\n : \"\"\n }}\n \n
\n {{continueToMenuText|uppercase}}\n \n
\n {{signOutText|uppercase}}\n \n
{{ welcomeFooterText }}
\n
\n
\n
\n\n\n\n \n \n \n \n \n\n\n","\nexport class ItemTagFilterMasters {\n ItemTagGroupID: string = '';\n ItemTagGroupName: string = '';\n FilterItemTagGroupMapping : ItemTagGroupMappings[] = [];\n}\n\n\nexport class ItemTagGroupMappings {\n FilterID: string = '';\n FilterName: string = '';\n isSelected: boolean = false;\n}\n","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DataService } from 'src/app/services/data.service';\nimport { EmailReceiptThankyouDialogComponent } from '../email-receipt-thankyou-dialog/email-receipt-thankyou-dialog.component';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { CartService } from 'src/app/services/cart.service';\nimport { EatOptionsService } from 'src/app/services/eat-options.service';\nimport { DatePipe, DecimalPipe } from '@angular/common';\nimport { environment } from 'src/environments/environment';\nimport { CurrencyPipe } from 'src/app/CustomTools/currency.pipe';\nimport { CurrencyService } from 'src/app/services/currency.service';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { UserService } from 'src/app/services/user.service';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\nimport { ItemV2, ModifierIngredientV2, ModifierV2 } from 'src/app/models/item';\nimport { CommonCalculations, CommonFunctions } from 'src/app/services/common';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { OLOService } from '../../../services/olo.service';\nimport { VariationOption } from '../../../models/Variations';\nimport { ShippingService } from 'src/app/services/shipping.service';\nimport {\n Integration,\n IntegrationService,\n} from 'src/app/services/integration.service';\nimport { DatabaseService } from '../../../services/database.service';\nimport { OracleService } from '../../../services/oracle.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { LoyaltyType } from 'src/app/models/loyaltyModal';\nimport { EPaymentType } from 'src/app/models/payment-type';\n\n@Component({\n selector: 'app-email-receipt-dialog',\n templateUrl: './email-receipt-dialog.component.html',\n styleUrls: ['./email-receipt-dialog.component.css'],\n})\nexport class EmailReceiptDialogComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n ref: any;\n\n emailform!: FormGroup;\n\n submitted = false;\n\n userEmail: string = '';\n\n items = this.CartService.getCartItems();\n\n CurrencySymbol = this.CurrencyService.CurrencySymbol;\n\n subtotal = this.CartService.calculateSubtotal();\n\n upchargeAmount = this.CartService.getUpchargeAmount();\n\n total = this.CartService.total;\n\n pipe = new DatePipe('en-US');\n\n dpipe = new DecimalPipe('en-US');\n\n cpipe = new CurrencyPipe(this.CurrencyService);\n\n itemized = ``;\n\n tax = 0;\n\n isLoyalty: boolean = false;\n\n pointsEarned: number = 0;\n isShowPoints: boolean = true;\n visitCount: number = 0;\n\n totalLoyaltyPoints: number = 0;\n\n reward = '';\n\n rewardRedeem = '';\n\n isrewardRedeem: boolean = false;\n\n invoiceno = GeneralSetting.getInvoiceNoToDb() || '0';\n\n isKiosk = this.isKioskService.isKiosk();\n\n token: any;\n TaxSchema!: Map>;\n discount = this.CartService.discount;\n\n baseImageUrl = environment.imageBaseUrlRemote;\n isConcessionaire: boolean = false;\n\n isLoyaltyUsed: boolean = false;\n\n taxType: string = '';\n\n isValid = false;\n\n integrationID: number;\n cancelText: string = '';\n emailText: string = '';\n emailInvalidText: string = '';\n emailReceiptText: string = '';\n emailReceiptMessageText: string = '';\n emailRequiredText: string = '';\n\n negativeButton: string | null = '';\n negativeButtonText: string | null = '';\n\n constructor(\n public modalService: NgbModal,\n private isKioskService: IsKioskService,\n private formBuilder: FormBuilder,\n private dataService: DataService,\n private router: Router,\n private CartService: CartService,\n private EatOptionService: EatOptionsService,\n private CurrencyService: CurrencyService,\n private loyaltyService: LoyaltyService,\n private userService: UserService,\n private logger: LogService,\n private olo: OLOService,\n private shipping: ShippingService,\n private readonly db: DatabaseService,\n private integration: IntegrationService,\n private oracle: OracleService,\n private KeyboardService: KeyboardService,\n private language: LanguageService\n ) {\n this.integrationID = integration.integration;\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n loadText() {\n this.cancelText = this.language.getTextElement('lbl_button_cancel');\n this.emailText = this.language.getCustomMapValues(\n 'menu_setting_receipt__email_receipt_button_text'\n );\n this.emailInvalidText = this.language.getTextElement(\n 'txt_email_address_is_invalid'\n );\n this.emailReceiptText = this.language.getTextElement('email_receipt');\n this.emailReceiptMessageText = this.language.getTextElement(\n 'email_receipt_message'\n );\n this.emailRequiredText = this.language.getTextElement('email_is_required');\n }\n ngOnInit(): void {\n this.negativeButton = GeneralSetting.getNegativeColor();\n this.negativeButtonText = GeneralSetting.getNegativeColorText();\n \n this.userEmail = GeneralSetting.getCustomerEmail();\n this.invoiceno = GeneralSetting.getInvoiceNoToDb();\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n\n this.taxType = GeneralSetting.getTaxType().toLowerCase();\n\n this.emailform = this.formBuilder.group({\n email: ['', [Validators.required, Validators.email]],\n });\n\n this.isLoyaltyEnable();\n\n this.TaxSchema = new Map>();\n\n this.db.gatherAllTaxesFromSql().then((taxGroups: any) => {\n taxGroups.forEach((taxGroup: any) => {\n if (this.TaxSchema.get(taxGroup.TaxGroupName)) {\n this.TaxSchema.get(taxGroup.TaxGroupName)?.push([\n taxGroup.TaxName,\n taxGroup.Percentage,\n ]);\n } else {\n this.TaxSchema.set(taxGroup.TaxGroupName, [\n [taxGroup.TaxName, taxGroup.Percentage],\n ]);\n }\n });\n });\n\n this.getTax();\n this.KeyboardPopup();\n }\n // add click event on first input field @jay\n KeyboardPopup() {\n let emailInputterEle: HTMLElement = document.getElementById(\n 'emailInputter'\n ) as HTMLElement;\n emailInputterEle.click();\n }\n\n private getTax() {\n let conDisDetail = this.CartService.conDetailSub.value;\n\n this.tax = CommonCalculations.getItemTax(\n this.CartService.getCartItems(),\n this.CartService.reward,\n this.CartService.subtotal,\n this.CartService.discount,\n conDisDetail\n ).totalTax;\n }\n\n get f() {\n return this.emailform.controls;\n }\n\n public static open(modalService: NgbModal, tok: any) {\n const ref = modalService.open(EmailReceiptDialogComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n ref.componentInstance.token = tok;\n ref.componentInstance.ref = ref;\n return ref;\n }\n\n onemailsubmit() {\n this.submitted = true;\n\n if (this.emailform.invalid) {\n return;\n }\n var name = GeneralSetting.getCustomerName();\n if (name == '') {\n name = 'customer';\n }\n //else send the email to user\n if (this.userEmail) {\n this.isValid = true;\n\n this.generateEmailTemp().then((emailTemplate) => {\n this.allSubsCription.push(\n this.dataService\n .sendEmail(this.userEmail!, name!, emailTemplate)\n .subscribe(\n (val) => {},\n (error: any) => {\n var log = new loggingData(\n 'Email Receipt',\n 'Email Receipt Error Recieved',\n 'Email Error',\n `Encountered Error on Emailing Receipt: ${error} for Invoice ${this.invoiceno}`,\n true\n );\n this.logger.sendLogToServer(log);\n this.isValid = false;\n this.ref.close();\n /***\n * Close email receipt dialog and show email thank you. @nilesh\n */\n this.ref.result.then(() => {\n EmailReceiptThankyouDialogComponent.open(this.modalService);\n });\n },\n () => {\n this.isValid = false;\n this.ref.close();\n this.ref.result.then(() => {\n EmailReceiptThankyouDialogComponent.open(this.modalService);\n });\n }\n )\n );\n });\n }\n }\n\n dismissModal() {\n this.ref.close();\n setTimeout(() => {\n this.shipping.shippingDetails = undefined;\n this.router.navigateByUrl('/touchToStart');\n }, 300);\n }\n\n isLoyaltyEnable() {\n if (this.userService.isUserLoggedIn) {\n this.isLoyalty = this.loyaltyService.isLoyalty;\n if (\n this.isLoyalty &&\n this.loyaltyService.loyaltyType == LoyaltyType.Referrizer\n ) {\n if (this.loyaltyService.customerVisitRes.message != '') {\n this.isShowPoints = false;\n } else {\n this.loyaltyService.getCustomerVisit().then((data) => {\n if (data != undefined && data != null) {\n this.pointsEarned = data.data.points;\n const reward = this.loyaltyService.loyaltyRewards.find(\n (x) => x.id == this.loyaltyService.selectedLoyaltyReward\n );\n if (reward != undefined) {\n this.isLoyaltyUsed = true;\n this.totalLoyaltyPoints =\n this.userService.referrizerLoyaltyUser.loyaltyPointsCount +\n this.pointsEarned -\n Number(reward.points);\n this.isrewardRedeem = true;\n this.rewardRedeem += ' \\n';\n let redeemText = this.language.getTextElement('redeem');\n this.rewardRedeem +=\n ` ${redeemText}[` +\n reward.points +\n ' points] \\n';\n if (\n reward.value != null &&\n reward.value != '' &&\n reward.value != '0'\n ) {\n this.rewardRedeem +=\n ' -' +\n this.cpipe.transform(\n this.dpipe.transform(this.discount, '1.2-2')\n ) +\n ' \\n';\n } else {\n this.rewardRedeem +=\n ' \\n';\n }\n this.rewardRedeem += ' \\n';\n } else {\n this.totalLoyaltyPoints =\n this.userService.referrizerLoyaltyUser.loyaltyPointsCount +\n this.pointsEarned;\n }\n }\n\n this.visitCount =\n this.userService.referrizerLoyaltyUser.visitsCount + 1;\n\n let number = this.userService.referrizerLoyaltyUser.phone;\n number = number.replace('(\\\\d{3})(\\\\d{3})(\\\\d+)', '($1) $2-$3');\n this.reward +=\n '';\n this.reward += '\\n ';\n let rewardsText = this.language.getTextElement('lbl_rewards');\n this.reward += ` ${rewardsText} \\n`;\n let accountText = this.language.getTextElement('account_label');\n this.reward +=\n ` ${accountText} ` +\n number +\n ' \\n';\n let earnedTodayText =\n this.language.getTextElement('earned_today_label');\n this.reward +=\n ` ${earnedTodayText} ` +\n this.pointsEarned +\n ' \\n';\n this.reward += ' \\n';\n this.reward += ' \\n';\n this.reward += ' \\n';\n let totalVisitText =\n this.language.getTextElement('total_visit_label');\n this.reward +=\n `${totalVisitText} ` +\n this.visitCount +\n ' \\n';\n let totalPointsText =\n this.language.getTextElement('lbl_total_points');\n this.reward +=\n ` ${totalPointsText} ` +\n this.totalLoyaltyPoints +\n ' \\n';\n this.reward += ' \\n
';\n });\n }\n } else if (\n this.isLoyalty &&\n this.loyaltyService.loyaltyType == LoyaltyType.LevelUp\n ) {\n const reward =\n this.loyaltyService.levelUpObject.proposal?.discount_amount;\n if (reward != undefined && reward != 0) {\n this.isrewardRedeem = true;\n this.rewardRedeem += ' \\n';\n let rewardText = this.language.getTextElement('lbl_reward');\n this.rewardRedeem += ` ${rewardText} \\n`;\n this.rewardRedeem +=\n ' -' +\n this.cpipe.transform(this.dpipe.transform(reward, '1.2-2')) +\n ' \\n';\n }\n }\n } else {\n this.isLoyalty = false;\n }\n }\n\n getIngredientTemplate(\n ingredient: ModifierIngredientV2,\n itemQuantity: number\n ) {\n let template: string = '';\n\n if (\n ((ingredient.IsDefault == 'True' &&\n ingredient.isSendtoPOS == 'False' &&\n ingredient.IsSelected) ||\n (ingredient.IsDefault == 'True' &&\n ingredient.isSendtoPOS == 'True' &&\n !ingredient.IsSelected)) &&\n Integration.Parbrink\n ) {\n return template;\n }\n //for (let index = 0; index < selectedIngredient.length; index++) {\n // const ingredient = selectedIngredient[index] as ModifierIngredientV2;\n\n const boldness = '400;';\n //For ingredient\n\n let ingredientPriceWithSign: string = '';\n let ingredientTotalPriceWithSign: string = '';\n /*if (ingredient.IsPremium == \"True\") {*/\n let ingredientPrice: number =\n ingredient.ExtraPrice && Number(ingredient.ExtraPrice) > 0\n ? Number(ingredient.ExtraPrice)\n : 0;\n //}\n const quantity =\n Number(ingredient.Quantity) > 0 ? Number(ingredient.Quantity) : 1;\n\n if (ingredientPrice > 0) {\n ingredientPriceWithSign =\n '' +\n this.cpipe.transform(\n this.dpipe.transform(ingredientPrice * quantity, '1.2-2')\n );\n ingredientTotalPriceWithSign =\n '' +\n this.cpipe.transform(\n this.dpipe.transform(\n ingredientPrice * quantity * itemQuantity,\n '1.2-2'\n )\n );\n }\n if (\n (ingredient.IsSelected &&\n ingredient.IsDefault == 'True' &&\n GeneralSetting.getShowDefaultModifiers() == 'True' &&\n !ingredient.isNegativeModifier) ||\n (ingredient.IsSelected && ingredient.IsDefault == 'False')\n ) {\n template +=\n ' \\n' +\n ' \\n' +\n '' +\n // indent.repeat(ingredient.height) +\n ' - ' +\n ingredient.Name.substring(0, 34) +\n ' ' +\n (quantity > 1 ? ' (' + quantity + ')' : '') +\n ' \\n' +\n \"\" +\n ingredientPriceWithSign +\n ' \\n' +\n \"\" +\n ingredientTotalPriceWithSign +\n ' \\n ' +\n ' \\n';\n //oneItem += \" \" + indent.repeat(mod.height) + mod.Name.substring(0,(34-(mod.height*indent.length))) + \"\\n\";\n } else if (\n ingredient.isNegativeModifier &&\n GeneralSetting.getShowNegativeModifiers() == 'True'\n ) {\n template +=\n '\\n' +\n ' \\n' +\n '' +\n // indent.repeat(ingredient.height) +\n ' - No ' +\n ingredient.Name.substring(0, 34) +\n ' ' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n';\n }\n // if (GeneralSetting.getShowDefaultModifiers() == 'False' &&\n // GeneralSetting.getShowNegativeModifiers() == 'True' &&\n // ingredient.IsSelected &&\n // (ingredient.IsDefault == 'True')) {\n // template += \"\";\n // return template\n // }\n // else {\n // if (ingredient.IsSelected) {\n // template +=\n // \"\\n\" +\n // \" \\n\" +\n // '' +\n // // indent.repeat(ingredient.height) +\n // \" - \" +\n // ingredient.Name.substring(0, 34) + \" \" + (quantity > 1 ? \" (\" + quantity + \")\" : \"\") +\n // \" \\n\" +\n // \"\" +\n // ingredientPriceWithSign +\n // \" \\n\" +\n // \"\" +\n // ingredientTotalPriceWithSign\n // +\n // \" \\n \" +\n // \" \\n\";\n // //oneItem += \" \" + indent.repeat(mod.height) + mod.Name.substring(0,(34-(mod.height*indent.length))) + \"\\n\";\n // }\n // else if (ingredient.IsDefault && ingredient.isNegativeModifier) {\n // template +=\n // \"\\n\" +\n // \" \\n\" +\n // '' +\n // // indent.repeat(ingredient.height) +\n // \" - No \" +\n // ingredient.Name.substring(0, 34) + \" \" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\";\n // }\n // }\n //}\n\n return template;\n }\n\n getModifierTemplate(\n modifiers: (ModifierV2 | ModifierIngredientV2)[],\n itemQuantity: number\n ) {\n let template = '';\n\n for (const mod of modifiers) {\n if (!mod.IsSelected && !mod.IsIngredient) continue;\n\n if (mod.IsIngredient) {\n const ing = mod as ModifierIngredientV2;\n\n template += this.getIngredientTemplate(ing, itemQuantity);\n } else if (mod.IsModifier) {\n const modifier = mod as ModifierV2;\n\n const count = CommonFunctions.getSelectedIngredientCount(modifier);\n if (count <= 0) continue;\n\n if (modifier.Category != '') {\n if (!this.hideModifierGroupName(modifier)) {\n let qty =\n Number(modifier.Quantity) > 1 ? Number(modifier.Quantity) : 1;\n const boldness = '500;';\n template +=\n '\\n' +\n ' \\n' +\n '' +\n // indent.repeat(ingredient.height) +\n ' ' +\n modifier.Category.substring(0, 80) +\n ' ' +\n (qty > 1 ? ' (' + qty + ')' : '') +\n ' \\n' +\n \"\" +\n (Number(modifier.Price) > 0\n ? this.cpipe.transform(\n CommonFunctions.roundDigit(\n Number(modifier.Price),\n 2\n ).toFixed(2)\n )\n : '') +\n ' \\n' +\n \"\" +\n (Number(modifier.Price) > 0\n ? this.cpipe.transform(\n CommonFunctions.roundDigit(\n Number(modifier.Price) * qty * itemQuantity,\n 2\n ).toFixed(2)\n )\n : '') +\n ' \\n' +\n ' \\n';\n } else {\n template += '';\n }\n }\n\n if (modifier.Ingredients && modifier.Ingredients.length > 0) {\n template += this.getModifierTemplate(\n modifier.Ingredients,\n itemQuantity\n );\n }\n }\n }\n\n return template;\n }\n\n getVariationTemplate(\n variationGroup: string,\n variation: VariationOption,\n itemQuantity: number\n ) {\n let template: string = '';\n\n template +=\n '\\n' +\n ' \\n' +\n '' +\n ' ' +\n variationGroup +\n ':' +\n variation.OptionName.substring(0, 34) +\n ' \\n' +\n \"\" +\n this.cpipe.transform(\n CommonFunctions.roundDigit(Number(variation.Price), 2).toFixed(2)\n ) +\n ' \\n' +\n \" \" +\n this.cpipe.transform(\n (\n itemQuantity * CommonFunctions.roundDigit(Number(variation.Price), 2)\n ).toFixed(2)\n ) +\n ' \\n ' +\n ' \\n';\n\n return template;\n }\n\n hideModifierGroupName(modifier: any) {\n if (\n this.isAllSelectedModifierAreDefault(modifier) &&\n GeneralSetting.getShowDefaultModifiers() == 'False' &&\n GeneralSetting.getShowNegativeModifiers() == 'True'\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n isAllSelectedModifierAreDefault(modifier: any) {\n let selectedDefaultModifiers = modifier.Ingredients.filter(function (\n ing: any\n ) {\n return ing.IsSelected && ing.IsDefault == 'True';\n });\n if (\n CommonFunctions.getSelectedIngredientCount(modifier) ==\n selectedDefaultModifiers.length ||\n CommonFunctions.getSelectedIngredientCount(modifier) == 0\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n getconcessionairedetails(concessionaireId: string = '') {\n let ConDetail = this.CartService.conDetailSub.value.filter(\n (ele) => ele.concessionaireId == concessionaireId\n )[0];\n let Condiscount = Number(ConDetail.Discount);\n let Consubtotal = Number(ConDetail.SubTotal);\n let ConTax = Number(ConDetail.TotalTax);\n let Contotal = Consubtotal - Condiscount + ConTax;\n let addCondetails = ``;\n if (Condiscount) {\n addCondetails +=\n ' \\n' +\n ` \\n` +\n ` \\n` +\n ` Discount \\n` +\n ` -${\n this.CurrencySymbol + Condiscount.toFixed(2)\n } \\n` +\n ' \\n';\n }\n addCondetails +=\n ' \\n' +\n ` \\n` +\n ` \\n` +\n ` Store Total \\n` +\n ` ${\n this.CurrencySymbol + Contotal.toFixed(2)\n } \\n` +\n ' \\n';\n return addCondetails;\n }\n\n generateItemized(\n items: ItemV2[],\n isCombo: boolean = false,\n concessionaireId: string = ''\n ): Promise {\n return new Promise(async (resolve) => {\n let comboCheck = isCombo;\n\n let itemsList = ``;\n for (let i = 0; i < items.length; i++) {\n let item = items[i];\n\n if (!item.Quantity || item.Quantity.toString() == '') {\n item.Quantity = '1';\n }\n\n if (\n this.isConcessionaire &&\n !comboCheck &&\n item.ConcessionaireId != concessionaireId\n ) {\n continue;\n }\n\n if (!item.isSelected && comboCheck) continue;\n\n var eachPrice = CommonFunctions.roundDigit(Number(item.Price), 2);\n\n const indent = ' ';\n\n var oneItem = ``;\n\n var totalPrice = Number(item.Quantity) * Number(item.Price);\n\n var weightUnit = CommonFunctions.getWeightUnit(item.WeightUnitID);\n\n var discAmount =\n item.DiscountAmount && Number(item.DiscountAmount) > 0\n ? item.DiscountAmount\n : 0;\n\n let isEnabledPriceWeight =\n item.EnablePricebyWeight &&\n item.EnablePricebyWeight.toLocaleLowerCase() == 'true';\n var eachVal =\n (eachPrice > 0 || item.IsLoyaltyDiscountItem\n ? this.cpipe.transform(eachPrice.toFixed(2))\n : '') + '';\n eachVal = !isEnabledPriceWeight ? eachVal : eachVal + '/' + weightUnit;\n\n if (!comboCheck) {\n let qty = !isEnabledPriceWeight\n ? item.Quantity\n : item.Quantity + weightUnit;\n oneItem +=\n '\\n' +\n '' +\n qty +\n ' \\n' +\n ' ' +\n (item.OrderReviewDisplayName && item.OrderReviewDisplayName != ''\n ? item.OrderReviewDisplayName\n : item.Name) +\n ' \\n' +\n \"\" +\n eachVal +\n ' \\n' +\n \"\" +\n (item.IsLoyaltyDiscountItem\n ? this.language\n .getTextElement('txt_free_item')\n .toLocaleUpperCase()\n : totalPrice > 0\n ? this.cpipe.transform(\n CommonFunctions.roundDigit(totalPrice, 2).toFixed(2)\n )\n : '') +\n ' \\n ' +\n ' \\n';\n } else {\n oneItem +=\n '\\n' +\n '' +\n ' \\n' +\n ' ' +\n (item.OrderReviewDisplayName && item.OrderReviewDisplayName != ''\n ? item.OrderReviewDisplayName\n : item.Name) +\n (Number(item.Quantity) > 1 ? ' X ' + item.Quantity : '') +\n ' \\n' +\n \"\" +\n eachVal +\n ' \\n' +\n \"\" +\n (item.IsLoyaltyDiscountItem\n ? this.language\n .getTextElement('txt_free_item')\n .toLocaleUpperCase()\n : totalPrice > 0\n ? this.cpipe.transform(\n CommonFunctions.roundDigit(totalPrice, 2).toFixed(2)\n )\n : '') +\n ' \\n ' +\n ' \\n';\n }\n\n const isCombo = item.IsCombo.toString();\n\n if (isCombo.toLowerCase() == 'true') {\n //Check if item is combo item @nilesh\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n for (const comboGroup of item.ComboGroup) {\n if (comboGroup.Items && comboGroup.Items.length > 0) {\n oneItem += await this.generateItemized(comboGroup.Items, true);\n }\n }\n }\n } else if (\n item.Modifiers &&\n item.Modifiers.length == 0 &&\n item.Variations &&\n item.Variations.length == 0\n ) {\n oneItem += ' ';\n } else {\n //Print item variations @nilesh\n if (item.VariationOption && item.VariationOption.length > 0) {\n oneItem += this.getVariationTemplate(\n item.Variations[0].Name,\n item.VariationOption[0],\n Number(item.Quantity)\n );\n }\n\n if (item.Modifiers && item.Modifiers.length > 0) {\n oneItem += this.getModifierTemplate(\n item.Modifiers,\n Number(item.Quantity)\n );\n }\n }\n\n if (item.IsDiscount && discAmount > 0) {\n oneItem +=\n '\\n' +\n ' \\n' +\n \"\" +\n item.DiscountName +\n ' ' +\n ' \\n' +\n ' \\n' +\n \"-\" +\n (discAmount > 0\n ? this.cpipe.transform(discAmount.toFixed(2))\n : '') +\n ' \\n' +\n ' \\n';\n } else if (item.IsBOGO) {\n oneItem +=\n '\\n' +\n ' \\n' +\n \"\" +\n item.DiscountName +\n ' ' +\n ' \\n' +\n ' \\n' +\n '\\n' +\n ' \\n';\n }\n\n //Item Tax [Start]\n if (\n item.TaxPercentage &&\n Number(item.TaxPercentage) > 0 &&\n item.totalPrice &&\n Number(item.totalPrice) > 0 &&\n !(GeneralSetting.getHideItemTaxPrice() == 'True')\n ) {\n var totalTax =\n (item.TaxPercentage *\n ((item.totalPrice ? item.totalPrice : 1) -\n (item.DiscountAmount > 0 ? item.DiscountAmount : 0))) /\n 100;\n oneItem +=\n '\\n' +\n ' \\n' +\n \"\" +\n ` ${GeneralSetting.getTaxType() == '2' ? 'VAT' : 'Item Tax'}` +\n ' ' +\n `${this.dpipe.transform(item.TaxPercentage, '1.2-2')}%` +\n ' ' +\n ' \\n' +\n ' \\n' +\n \"\" +\n this.cpipe.transform(\n CommonFunctions.roundDigit(totalTax, 2).toFixed(2)\n ) +\n ' \\n' +\n ' \\n';\n }\n //Item Tax [STOP]\n\n if (\n item.specialRequest &&\n item.specialRequest != 'undefined' &&\n item.specialRequest != ''\n ) {\n oneItem +=\n '\\n' +\n ' \\n' +\n '' +\n 'Sp: ' +\n item.specialRequest +\n ' \\n' +\n ' \\n';\n }\n if (\n item.GuestName &&\n item.GuestName != 'undefined' &&\n item.GuestName != ''\n ) {\n oneItem +=\n '\\n' +\n ' \\n' +\n '' +\n 'Customer Name: ' +\n item.GuestName +\n ' \\n' +\n ' \\n';\n }\n itemsList += oneItem;\n }\n this.itemized = itemsList;\n resolve(itemsList);\n });\n }\n\n stringToHex(tmp: any) {\n let str = '';\n const tmp_len = tmp.length;\n let c: any;\n\n for (let i = 0; i < tmp_len; i += 1) {\n c = tmp.charCodeAt(i).toString(16);\n c == 'a' ? (c = '0A') : null;\n str += c.toString(16);\n\n i == tmp_len - 1 ? (str += '1B69') : null;\n }\n return str;\n }\n\n numberSpaces(number: any) {\n let total: any = Number(number).toFixed(2).toString().split('.');\n if (total[0].length == 1) {\n total[0] = ' ' + total[0];\n } else if (total[0].length == 2) {\n total[0] = ' ' + total[0];\n } else if (total[0].length == 3) {\n total[0] = ' ' + total[0];\n }\n total = total[0] + '.' + total[1];\n return total;\n }\n\n center(str: any) {\n if (str.length > 42) {\n var numspace = (42 - str.substring(0, 42).length) / 2;\n\n var emptySpace = '';\n for (let i = 0; i < numspace; i++) {\n emptySpace += ' ';\n }\n var output = emptySpace + str + emptySpace;\n\n const numspace2 = (42 - str.substring(42, 84).length) / 2;\n\n var emptySpace = '';\n for (let i = 0; i < numspace2; i++) {\n emptySpace += ' ';\n }\n output += '\\n' + emptySpace + str + emptySpace;\n\n return output;\n } else {\n var numspace = (42 - str.length) / 2;\n\n var emptySpace = '';\n for (let i = 0; i < numspace; i++) {\n emptySpace += ' ';\n }\n var output = emptySpace + str + emptySpace;\n return output;\n }\n }\n\n left(str: any) {\n const numspace = 42 - str.length;\n\n let emptySpace = '';\n for (let i = 0; i < numspace; i++) {\n emptySpace += ' ';\n }\n\n const output = emptySpace + str;\n\n return output;\n }\n\n split(str: any, str2: any) {\n const numspace = 42 - str.length - str2.length;\n\n let emptySpace = '';\n for (let i = 0; i < numspace; i++) {\n emptySpace += ' ';\n }\n\n const output = str + emptySpace + str2;\n\n return output;\n }\n\n lineSpacing(quantity: any, item: any, pricePer: any, priceTotal: any) {\n const firstSpaceTotal = 7;\n const firstSpace = firstSpaceTotal - quantity.length;\n\n const secondSpaceTotal = 20;\n const secondSpace =\n secondSpaceTotal - item.toString().substring(0, 17).length;\n\n const thirdSpaceTotal = 7;\n const thirdSpace = thirdSpaceTotal - pricePer.length;\n\n const fourthSpaceTotal = 7;\n const fourthSpace = fourthSpaceTotal - priceTotal.length;\n\n let emptySpace1 = '';\n for (let i = 0; i < firstSpace; i++) {\n emptySpace1 += ' ';\n }\n\n const firstWord = quantity + emptySpace1;\n\n let emptySpace2 = '';\n for (let i = 0; i < secondSpace; i++) {\n emptySpace2 += ' ';\n }\n\n const secondWord = item.toString().substring(0, 17) + emptySpace2;\n\n let emptySpace3 = '';\n for (let i = 0; i < thirdSpace; i++) {\n emptySpace3 += ' ';\n }\n\n const thirdWord = pricePer + emptySpace3;\n\n // var emptySpace4 = \"\";\n // for(i = 0; i < fourthSpace; i++) {\n // \temptySpace4 += \" \";\n // }\n\n const fourthWord = priceTotal; //+ emptySpace4;\n\n const word = firstWord + secondWord + '$' + thirdWord + '$' + fourthWord;\n\n return word;\n }\n\n customerNameSet() {\n let temp = '';\n let customerNameText = this.language.getTextElement('txt_customer_name');\n let customerName = GeneralSetting.getCustomerName();\n if (customerName === '') {\n customerName = this.language.getTextElement('txt_guest');\n }\n temp +=\n ' ' +\n ' \\n' +\n ' ' +\n '\\n' +\n ' \\n' +\n ' \\n' +\n ` ${customerNameText} ` +\n customerName +\n '\\n' +\n ' \\n' +\n ' ';\n\n return temp;\n }\n\n getThirdPartyOrderId() {\n let temp = '';\n\n if (GeneralSetting.getThirdPartyOrderId() == '') return temp;\n\n let orderId = '';\n\n if (GeneralSetting.getThirdPartyOrderId().length < 6) {\n orderId = String(GeneralSetting.getThirdPartyOrderId().toUpperCase());\n } else {\n orderId = String(\n GeneralSetting.getThirdPartyOrderId().substr(\n GeneralSetting.getThirdPartyOrderId().length - 6\n )\n ).toUpperCase();\n }\n let tpOrderIDText = this.language.getTextElement('tp_order_id_label');\n temp +=\n ' ' +\n ' \\n' +\n ' ' +\n '\\n' +\n ' \\n' +\n ' \\n' +\n ` ${tpOrderIDText} ` +\n orderId +\n '\\n' +\n ' \\n' +\n ' ';\n\n return temp;\n }\n\n subtotalWithDiscount() {\n if (this.CartService.discount != 0 && this.CartService.reward == 0) {\n return this.subtotal - this.CartService.discount;\n } else if (this.CartService.discount != 0 && this.CartService.reward != 0) {\n return (\n this.subtotal - this.CartService.discount - this.CartService.reward\n );\n } else if (this.CartService.discount == 0 && this.CartService.reward != 0) {\n return this.subtotal - this.CartService.reward;\n } else return this.subtotal;\n }\n\n generateEmailTemp(): Promise {\n return new Promise(async (resolveEmail) => {\n let isTableTent =\n this.EatOptionService.getCurrentEatOption().KioskTableTent;\n let tableTentNumber = GeneralSetting.getTableTentNumber();\n\n let numStr: string = '';\n\n let tok = GeneralSetting.getOrderPrefix();\n let BranchName = GeneralSetting.getBranchName();\n let BranchAddress = GeneralSetting.getBranchAddress1();\n let BranchAddressSecond = GeneralSetting.getBranchAddress2();\n let BranchContact = GeneralSetting.getBranchContactNo();\n let branchLogo = GeneralSetting.getBranchLogo();\n let Current = new Date();\n let OrderType = GeneralSetting.getLocationPreference();\n let upChargeCardKioskAmount = GeneralSetting.getUpChargeCardKIOSKAmount();\n let usePercentageCardKIOSK =\n GeneralSetting.getUsePercentageCardKIOSK() == 'True';\n let percString =\n (usePercentageCardKIOSK &&\n (parseInt(upChargeCardKioskAmount as string) / 100) * this.total) ||\n parseInt(upChargeCardKioskAmount as string);\n let paymentType = GeneralSetting.getPaymentTypeID();\n let isCard = paymentType == '2';\n let shouldShow =\n isCard &&\n upChargeCardKioskAmount != null &&\n Number(upChargeCardKioskAmount) > 0.0;\n\n let invoiceNo = String(\n this.invoiceno.substr(this.invoiceno.length - 6)\n ).toUpperCase();\n\n // Display Tip\n let showTip =\n GeneralSetting.getShowTipDialog() == 'True' && this.CartService.tip > 0;\n let tipText = '';\n\n if (showTip) {\n let tiptext = this.language.getTextElement('txt_tip');\n tipText +=\n ' \\n' +\n ' \\n' +\n ` ${tiptext}: \\n` +\n ' ' +\n this.cpipe.transform(\n this.dpipe.transform(this.CartService.tip, '1.2-2')\n ) +\n ' \\n' +\n ' \\n';\n }\n //display Shipping\n let showShipping =\n GeneralSetting.getEnableOrderShipment() == 'True' &&\n GeneralSetting.getOrderTypeId() == '3';\n let shippingText = '';\n if (showShipping) {\n let shippingFeeText = this.language.getTextElement('shipping_fee');\n shippingText +=\n ' \\n' +\n ' \\n' +\n ` ${shippingFeeText}: \\n` +\n ' ' +\n this.cpipe.transform(\n this.dpipe.transform(this.CartService.shippingFee, '1.2-2')\n ) +\n ' \\n' +\n ' \\n';\n }\n\n let orderTotal = this.CartService.total;\n let totalTax = this.CartService.getItemTotalTax();\n\n let serviceFee = 0;\n let serviceFeeText = '';\n let surcharge = 0;\n\n ///////////////////////////////////////////////////////////////////////////\n\n if (this.olo.isOLO) {\n surcharge = this.olo?.orderRes?.surcharge ?? 0,\n orderTotal = this.olo.validationRes.data.total + surcharge;\n this.subtotal = this.olo.validationRes.data.subtotal;\n totalTax = this.olo.validationRes.data.tax;\n\n serviceFee = surcharge //this.olo.validationRes?.basketData?.totalfees;\n\n }\n if (serviceFee && serviceFee > 0) {\n let serviceText = this.language.getTextElement('lbl_surcharge');\n serviceFeeText =\n ' \\n' +\n ' \\n' +\n ` ${serviceText} \\n` +\n ' ' +\n this.cpipe.transform(this.dpipe.transform(serviceFee, '1.2-2')) +\n ' \\n' +\n ' \\n';\n } else if (this.integrationID == Integration.Parbrink) {\n totalTax = this.CartService.tax;\n this.subtotal = this.CartService.subtotal;\n } else if (this.oracle.isOracle) {\n if (this.oracle.isOracleMicross) {\n this.subtotal = this.oracle.calculationResponse\n ? Number(this.oracle.calculationResponse.TotalsSubTotal) +\n this.CartService.discount +\n this.CartService.reward\n : 0.0;\n } else {\n this.subtotal = this.oracle.calculationResponse\n ? Number(this.oracle.calculationResponse.TotalsSubTotalWithDiscount)\n : 0.0;\n }\n orderTotal = this.oracle.calculationResponse\n ? Number(this.oracle.calculationResponse.TotalsTotalDue)\n : 0.0;\n totalTax = this.oracle.calculationResponse\n ? Number(this.oracle.calculationResponse.TotalsTaxTotals)\n : 0.0;\n }\n\n //Display Taxes\n let taxText = '';\n\n if (\n this.olo.isOLO ||\n this.integrationID == Integration.Parbrink ||\n this.oracle.isOracle\n ) {\n let taxtext = this.language.getTextElement('lbl_taxes_and_fees');\n let vattext = this.language.getTextElement('vat');\n taxText +=\n `\\n` +\n `${\n this.taxType == '2' ? `${vattext}` : `${taxtext}:`\n } ` +\n `${this.cpipe.transform(\n this.dpipe.transform(totalTax, '1.2-2')\n )} ` +\n ` \\n`;\n } else {\n if (!GeneralSetting.getTaxesIncludedInPrice()) {\n this.CartService.totalTaxTypes.forEach((taxes: any) => {\n taxText +=\n `\\n` +\n `${\n taxes.Name\n }(${this.dpipe.transform(taxes.TaxPer, '1.2-2')}%) ` +\n `${this.cpipe.transform(\n this.dpipe.transform(taxes.TaxAmount, '1.2-2')\n )}: ` +\n ` \\n`;\n });\n\n // this.TaxSchema.forEach((taxes: any) => {\n // taxes.forEach((tax: any) => {\n // taxText += `\\n` +\n // `${tax[0]}(${this.dpipe.transform(tax[1], \"1.2-2\")}%) ` +\n // `${this.cpipe.transform(this.dpipe.transform(\n // ((this.subtotalWithDiscount()) * parseFloat(tax[1])) / 100, \"1.2-2\"\n // ))} ` +\n // ` \\n`;\n // })\n // });\n } else {\n let taxtext = this.language.getTextElement('txt_tax');\n let vattext = this.language.getTextElement('vat');\n let subtotalText = this.language.getTextElement(\n 'included_in_subtotal'\n );\n taxText +=\n `\\n` +\n `${\n this.taxType == '2' ? `${vattext}` : `${taxtext}`\n }: ` +\n `*${subtotalText} ` +\n ` \\n`;\n }\n }\n\n //Is promo applied\n let discountText = '';\n if (this.discount > 0 && !this.isLoyaltyUsed) {\n let discounttext = this.language.getTextElement('text_discount');\n discountText +=\n ' \\n' +\n ` ${discounttext} ` +\n (this.CartService.promo.Name\n ? '(' + this.CartService.promo.Name + ')'\n : '') +\n ': \\n' +\n ' ' +\n '-' +\n this.cpipe.transform(this.dpipe.transform(this.discount, '1.2-2')) +\n ' \\n' +\n ' ';\n }\n let rewardText = '';\n if (this.CartService.reward > 0 && !this.isrewardRedeem) {\n let rewardsText = this.language.getTextElement('lbl_rewards');\n rewardText +=\n ' \\n' +\n ` ${rewardsText}: \\n` +\n ' ' +\n '-' +\n this.cpipe.transform(\n this.dpipe.transform(this.CartService.reward, '1.2-2')\n ) +\n ' \\n' +\n ' \\n';\n }\n\n let tableTentText = this.language.getTextElement('table_tent_label');\n let orderTokenText = this.language.getTextElement('order_token_label');\n\n if (isTableTent == 'True') {\n numStr = `${tableTentText} `;\n } else {\n numStr = `${orderTokenText} `;\n }\n // //console.log('THE PAYMENT TYPE IS',paymentType)\n let paidStr = this.language.getTextElement('pay_with');\n\n switch (paymentType) {\n case '2': {\n paidStr += this.language.getTextElement('text_card');\n break;\n }\n case '1': {\n paidStr += this.language.getTextElement('text_cash');\n break;\n }\n case '13': {\n paidStr += this.language.getTextElement('house_account');\n break;\n }\n case '17': {\n paidStr += this.language.getTextElement('gift_card');\n break;\n }\n\n case '22': {\n paidStr += this.language.getTextElement('text_loyalty_app');\n break;\n }\n case '6': {\n paidStr += this.language.getTextElement('text_discount_reward');\n break;\n }\n case EPaymentType.RFID.toString(): {\n paidStr = this.language.getTextElement('pay_with_Rfid');\n break;\n }\n case EPaymentType.IDCard.toString(): {\n paidStr = this.language.getTextElement('pay_with_id_card');\n break;\n }\n }\n let receiptFromText = this.language\n .getTextElement('receipt_from_branch')\n .replace('%d', BranchName);\n let orderIDText = this.language.getTextElement('order_id_label');\n let qtyText = this.language.getTextElement('lbl_cart_qty');\n let itemText = this.language.getTextElement('item');\n let eachText = this.language.getTextElement('text_each');\n let totalText = this.language.getTextElement('lbl_total');\n\n const imagePlaceHolder =\n (branchLogo && branchLogo !== '' && branchLogo !== 'null')\n ? ' '\n : '';\n\n let emailTemplate =\n ' \\n' +\n '' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n '\\n' +\n '\\n' +\n '\\n' +\n ' \\n' +\n '\\n' +\n '
\\n' +\n ' \\n' +\n ' ' + imagePlaceHolder + ' \\n' +\n ' \\n' +\n '
\\n' +\n '
\\n' +\n ' \\n' +\n ' \\n' +\n ` ${receiptFromText} ` +\n '\\n' +\n ' \\n' +\n ' \\n' +\n '
\\n' +\n '
\\n' +\n ' \\n' +\n ' \\n' +\n ' ' +\n BranchAddress +\n ' ' +\n (BranchAddressSecond || '') +\n ' ' +\n BranchContact +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ` ${orderIDText} ` +\n invoiceNo +\n ' ' +\n numStr +\n ((isTableTent == 'True' && +tableTentNumber) ||\n '#' + tok + '-' + this.token) +\n '\\n' +\n ' \\n' +\n ' \\n' +\n this.customerNameSet() +\n this.getThirdPartyOrderId() +\n '
\\n' +\n '\\n' +\n '
\\n' +\n ' \\n' +\n ' ' +\n (OrderType || 'IN') +\n ' \\n' +\n '\\n' +\n ' ' +\n this.pipe.transform(Current, 'short') +\n ' \\n' +\n ' \\n' +\n '
\\n' +\n '
\\n' +\n ' \\n ' +\n ' \\n' +\n ` ${qtyText.toLocaleUpperCase()} \\n` +\n ` ${itemText.toLocaleUpperCase()} \\n` +\n ` ${eachText.toLocaleUpperCase()} \\n` +\n ` ${totalText.toLocaleUpperCase()} \\n` +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n';\n\n if (this.isConcessionaire) {\n var allConcessionaire: any[] = [];\n\n this.items.forEach(function (x) {\n allConcessionaire.push({\n ConcessionaireId: x.ConcessionaireId,\n ConcessionaireName: x.ConcessionaireName,\n ConcessionaireColorCode: x.ConcessionaireColorCode,\n });\n });\n\n //console.log(\"allConcessionaire :- \", allConcessionaire);\n\n let uniqueCon = [\n ...new Map(\n allConcessionaire.map((item) => [item['ConcessionaireId'], item])\n ).values(),\n ];\n\n for (var i = 0; i < uniqueCon.length; i++) {\n if (i == 0) {\n if (uniqueCon[i].ConcessionaireColorCode != '') {\n emailTemplate += `\n ${uniqueCon[i].ConcessionaireName} \n `;\n } else {\n emailTemplate += `\n ${uniqueCon[i].ConcessionaireName} \n `;\n }\n } else {\n if (uniqueCon[i].ConcessionaireColorCode != '') {\n emailTemplate += `\n ${uniqueCon[i].ConcessionaireName} \n `;\n } else {\n emailTemplate += `\n ${uniqueCon[i].ConcessionaireName} \n `;\n }\n }\n let itemized = await this.generateItemized(\n this.items,\n false,\n uniqueCon[i].ConcessionaireId\n );\n\n emailTemplate += itemized;\n emailTemplate += ` `;\n emailTemplate += this.getconcessionairedetails(\n uniqueCon[i].ConcessionaireId\n );\n }\n } else {\n let itemized = await this.generateItemized(this.items);\n\n emailTemplate += itemized;\n }\n let subtotalText = this.language.getTextElement('subtotal');\n let nonCashFees = this.language.getTextElement('non_cash_fees');\n let paymentTypeText = this.language.getTextElement('text_payment_type');\n let recievingEmailText = this.language\n .getTextElement('recieving_email_due_to')\n .replace('%d', BranchName)\n .replace('%e', 'GRUBBRR™ ');\n\n emailTemplate +=\n ' \\n' +\n ' \\n' +\n ' \\n' +\n '
\\n' +\n '
\\n' +\n ' \\n ' +\n ' \\n' +\n ` ${subtotalText}: \\n` +\n ' ' +\n this.cpipe.transform(this.dpipe.transform(this.subtotal, '1.2-2')) +\n ' \\n' +\n ' \\n' +\n this.rewardRedeem +\n '\\n' +\n discountText +\n '\\n' +\n taxText +\n shippingText +\n tipText +\n ((shouldShow &&\n ` ${nonCashFees}` +\n ((usePercentageCardKIOSK &&\n ' (' +\n parseInt(upChargeCardKioskAmount as string).toFixed(2) +\n '%)') ||\n '') +\n ' \\n' +\n ' ' +\n this.dpipe.transform(this.upchargeAmount || 0, '1.2-2') +\n ' \\n' +\n ' \\n') ||\n '') +\n ' \\n' +\n '\\n' +\n rewardText +\n '\\n' +\n ' \\n' +\n ` ${totalText}: \\n` +\n ' ' +\n this.cpipe.transform(\n this.dpipe.transform(orderTotal + this.upchargeAmount || 0, '1.2-2')\n ) +\n ' \\n' +\n \n serviceFeeText +\n\n ' \\n' +\n ` ${paymentTypeText} \\n` +\n ' ' +\n paidStr +\n ' \\n' +\n // \" \\n\" +\n // \"getOraclePriceDifference(orderDetail.getOraclePriceDifferent())\" +\n // \" \\n\" +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n ' \\n' +\n // \" \\n\" +\n // \" Tenderd \\n\" +\n // \" \" + \"UIHelper.displayPrice(orderDetail.getTenorAmount(), false)\" + \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" Change \\n\" +\n // \" \" + \"UIHelper.displayPrice(orderDetail.getChangeAmount(), false)\" + \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" \\n\" +\n // \" Payment Type \\n\" +\n // \" \" + \"paymentType\" + \" \\n\" +\n // \" \\n\" +\n '
\\n' +\n '\\n' +\n '
\\n' +\n '\\n' +\n this.reward +\n '\\n' +\n '
\\n' +\n ' \\n' +\n ` ${recievingEmailText} \\n` +\n ' \\n' +\n '
\\n' +\n '\\n' +\n '\\n' +\n '
\\n' +\n '\\n' +\n '';\n\n resolveEmail(emailTemplate);\n });\n }\n}\n","\n","import { Injectable } from '@angular/core';\nimport { ItemV2 as Item } from '../models/item';\nimport { BehaviorSubject } from 'rxjs';\nimport { Category } from 'src/app/models/category';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ItemTransferService {\n public itemSubject = new BehaviorSubject- ({} as Item);\n\n public currentItemCategory!: Category;\n\n itemV2!: Item;\n constructor() {}\n\n snapshotItem(item: Item) {\n this.itemV2 = item;\n this.itemSubject.next(item);\n }\n\n //toDo remove\n snapshotItemV2(item: Item) {\n this.itemV2 = item;\n this.itemSubject.next(item);\n }\n\n getItem() {\n return this.itemV2;\n }\n\n //toDo remove\n getItemV2() {\n return this.itemV2;\n }\n\n snapshotCurrentItemCategory(category:Category) {\n this.currentItemCategory = category;\n }\n\n getSnapshotItemCategory() {\n return this.currentItemCategory;\n }\n\n logItem() {\n //console.log(this.item);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { CurrencyService as CurrencyService } from '../services/currency.service';\n\n@Pipe({\n name: 'CurrencyPipe',\n pure: false\n})\nexport class CurrencyPipe implements PipeTransform {\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n prefix!: boolean;\n\n constructor(private CurrencyService: CurrencyService) {\n this.prefix = GeneralSetting.getCurrencyPrefix() == \"True\";\n this.allSubsCription.push(\n this.CurrencyService.currencyEmitter.subscribe((value) => {\n this.prefix = value;\n })\n );\n }\n\n transform(num: any): unknown {\n if (num && num != null) {\n num = num.toString()\n if (num[0] == '-') {\n return this.prefix && (num[0] + this.CurrencyService.CurrencySymbol + num.slice(1)) || num + this.CurrencyService.CurrencySymbol;\n }\n }\n return this.prefix && (this.CurrencyService.CurrencySymbol + num) || num + this.CurrencyService.CurrencySymbol;\n }\n\n}\n","export class Guid {\r\n static newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n var r = Math.random() * 16 | 0,\r\n v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n }","import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { IUpdateModalService } from 'src/app/models/IUpdateModelService';\nimport { DownloadingPopupComponent } from './downloading-popup.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DownloadingPopupService implements IUpdateModalService {\n\n constructor(private modalService:NgbModal) \n { }\n\n private downloadingPopupRef:DownloadingPopupComponent | null = null;\n\n public open() {\n this.close();\n\n this.downloadingPopupRef = DownloadingPopupComponent.open(this.modalService).componentInstance;\n }\n\n public close(){\n if(this.downloadingPopupRef && this.downloadingPopupRef != null){\n this.downloadingPopupRef.clear();\n }\n }\n\n public setMessage(message:string){\n if(this.downloadingPopupRef && this.downloadingPopupRef != null){\n this.downloadingPopupRef.setCurrentStateMessage(message);\n }\n }\n\n public setSecondMessage(message:string){\n if(this.downloadingPopupRef && this.downloadingPopupRef != null){\n this.downloadingPopupRef.setIndexText(message);\n }\n }\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { OrderHistoryService } from 'src/app/services/order-history.service';\nimport { DatePipe } from '@angular/common';\nimport { order } from 'src/app/models/order';\nimport { ItemwiseSalesService } from 'src/app/services/itemwise-sales.service';\nimport { itemwise } from 'src/app/models/itemwise';\nimport { Subscription } from 'rxjs';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { CategoryReport } from '../../../models/categoryReport';\nimport { DataService } from '../../../services/data.service';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-settings-reports',\n templateUrl: './settings-reports.component.html',\n styleUrls: ['./settings-reports.component.css'],\n})\nexport class SettingsReportsComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n none: boolean = true;\n itemwise: boolean = false;\n orderhistory: boolean = false;\n grossSales: boolean = false;\n zreport: boolean = false;\n\n categories: CategoryReport[] = [];\n totalCategorySales: string = '';\n totalCategoryQty: string = '';\n dataService: DataService;\n\n orderHistoryService: OrderHistoryService;\n orders: order[] = [];\n grossSalesOrders: order[] = [];\n\n itemwiseService: ItemwiseSalesService;\n itemwiseOrders: itemwise[] = [];\n\n dt: Date = new Date();\n dt2: Date = new Date();\n dt3: Date = new Date();\n dt4: Date = new Date();\n\n selectedDate: Date = new Date();\n dateDisplay: string = '';\n grossSalesDisplay: string = '';\n discounts: string = '';\n refunds: string = '';\n netSales: string = '';\n fees: string = '';\n taxes: string = '';\n tips: string = '';\n amountCollect: string = '';\n openOrders: string = '';\n totalOrders: string = '';\n totalCashOrders: string = '';\n totalCreditOrders: string = '';\n totalCash: string = '';\n totalCredit: string = '';\n kioskSales: string = '';\n totalTenderOrders: string = '';\n totalTenderNetSales: string = '';\n totalTenderOrderTaxes: string = '';\n totalTenderOrderTips: string = '';\n totalTenderOrderFees: string = '';\n totalTenderAmountCollected: string = '';\n totalHouseOrders: string = '';\n totalHouseNetSales: string = '';\n totalHouseOrderTaxes: string = '';\n totalHouseOrderTips: string = '';\n totalHouseOrderFees: string = '';\n totalHouseAmountCollected: string = '';\n totalNetOtherOrders: string = '';\n totalNonCashFees: string = '';\n orderDiscounts: string = '';\n loyaltyDiscounts: string = '';\n totalDiscounts: string = '';\n totalGiftCardRedemptions: string = '';\n complimentary: string = '';\n categoryTotal: string = '';\n totalRefunds: string = '';\n canceledOrdersTotal: string = '';\n cashTips: string = '';\n creditCardTips: string = '';\n tenderTips: string = '';\n houseTips: string = '';\n totalTips: string = '';\n\n languageSub!: Subscription;\n reportsText: string = ''; \n zReportsText: string = ''; \n grossSalesText: string = ''; \n itemWiseSalesText: string = ''; \n orderHistoryText: string = ''; \n constructor(\n DataService: DataService,\n OrderHistoryService: OrderHistoryService,\n ItemwiseSalesService: ItemwiseSalesService,\n private datePipe: DatePipe,\n private logger: LogService,\n private language: LanguageService\n ) {\n this.dataService = DataService;\n this.orderHistoryService = OrderHistoryService;\n this.itemwiseService = ItemwiseSalesService;\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n )\n }\n loadText() {\n this.reportsText=this.language.getTextElement('title_activity_reports')\n this.zReportsText=this.language.getTextElement('lbl_reports_z')\n this.grossSalesText=this.language.getTextElement('lbl_reports_gross_sales')\n this.itemWiseSalesText=this.language.getTextElement('lbl_reports_item_wise_sales')\n this.orderHistoryText=this.language.getTextElement('lbl_reports_order_history')\n }\n ngOnInit(): void {\n const input = document.querySelector(\"input[type='date']\");\n if (input != null) (
input).valueAsDate = new Date();\n }\n\n back() {\n this.none = true;\n this.itemwise = false;\n this.orderhistory = false;\n this.grossSales = false;\n this.zreport = false;\n }\n\n zReport() {\n this.none = false;\n this.itemwise = false;\n this.orderhistory = false;\n this.grossSales = false;\n this.zreport = true;\n\n // set current date as display date\n this.dateDisplay = new Date().toDateString();\n // do post request with current date\n this.allSubsCription.push(this.dataService\n .getZreport(this.dateDisplay, this.dateDisplay)\n .subscribe(\n (val) => {\n this.parseData(JSON.parse(JSON.stringify(val)));\n var log = new loggingData(\n 'Z Report',\n 'Success',\n 'General',\n 'Z report from cloud are successful',\n false\n );\n\n this.logger.sendLogToServer(log);\n },\n (response) => {\n var log = new loggingData(\n 'POS Z report',\n 'POS Z report Api Failed',\n 'POS Z report',\n response,\n true\n );\n\n this.logger.sendLogToServer(log);\n },\n () => { }\n )\n );\n }\n itemwiseReport() {\n this.none = false;\n this.itemwise = true;\n this.orderhistory = false;\n this.grossSales = false;\n\n const date = this.datePipe.transform(new Date(), 'MMM d YYYY');\n // this.itemwiseService.getTotalItems(date!.toString()).subscribe((item) => {\n\n // count = Number(item);\n // })\n\n this.allSubsCription.push(\n this.itemwiseService\n .getItemReport(date!.toString())\n .subscribe((item) => {\n this.itemwiseOrders = item;\n })\n );\n }\n computePrice(str: string, no: number): number {\n return Number(str) * no;\n }\n\n setItemwiseDate(event: any) {\n this.dt = event;\n const date = this.datePipe.transform(this.dt, 'MMM d YYYY');\n this.allSubsCription.push(\n this.itemwiseService\n .getItemReport(date!.toString())\n .subscribe((item) => {\n this.itemwiseOrders = item;\n })\n );\n }\n\n grossSalesReport() {\n this.none = false;\n this.itemwise = false;\n this.orderhistory = false;\n this.grossSales = true;\n this.zreport = false;\n\n const date = this.datePipe.transform(new Date(), 'MMM d YYYY');\n\n this.allSubsCription.push(\n this.orderHistoryService\n .getOrderHistory(date!.toString())\n .subscribe((item) => {\n this.grossSalesOrders = item;\n })\n );\n }\n\n setGrossDate(event: any) {\n this.dt2 = event;\n const date = this.datePipe.transform(this.dt2, 'MMM d YYYY');\n\n this.allSubsCription.push(\n this.orderHistoryService\n .getOrderHistory(date!.toString())\n .subscribe((item) => {\n this.grossSalesOrders = item;\n })\n );\n }\n\n orderHistoryReport() {\n this.none = false;\n this.itemwise = false;\n this.orderhistory = true;\n this.grossSales = false;\n this.zreport = false;\n\n // const date = new Date().getUTCMonth().toString()\n const date = this.datePipe.transform(new Date(), 'MMM d YYYY');\n\n this.allSubsCription.push(\n this.orderHistoryService\n .getOrderHistory(date!.toString())\n .subscribe((item) => {\n this.orders = item;\n })\n );\n }\n\n determineStatus(): string {\n return this.language.getTextElement('text_success');\n }\n setHistoryDate(event: any) {\n this.dt3 = event;\n const date = this.datePipe.transform(this.dt3, 'MMM d YYYY');\n\n this.allSubsCription.push(\n this.orderHistoryService\n .getOrderHistory(date!.toString())\n .subscribe((item) => {\n this.orders = item;\n })\n );\n }\n setDate(e: any) {\n this.dateDisplay = e.target.value;\n\n // on date change reset categories array\n this.categories = [];\n\n this.allSubsCription.push(\n this.dataService\n .getZreport(this.dateDisplay, this.dateDisplay)\n .subscribe(\n (val) => {\n this.parseData(JSON.parse(JSON.stringify(val)));\n var log = new loggingData(\n 'Z Report',\n 'Success',\n 'General',\n 'Z report from cloud are successful',\n false\n );\n\n this.logger.sendLogToServer(log);\n },\n (response) => {\n var log = new loggingData(\n 'POS Z report',\n 'POS Z report Api Failed',\n 'POS Z report',\n response,\n true\n );\n\n this.logger.sendLogToServer(log);\n },\n () => { }\n )\n );\n\n var date = Date.parse(this.dateDisplay);\n this.selectedDate = new Date(date);\n // i have to to this because dates have weird time zone errors???\n this.selectedDate.setTime(\n this.selectedDate.getTime() + new Date().getTimezoneOffset() * 60 * 1000\n );\n\n this.dateDisplay = this.selectedDate.toDateString();\n }\n\n dateTime() { }\n\n parseData(data: any): void {\n var zData = data.data.NewZReport.ZReport;\n\n var len: Number = zData.SalesByCategoryList\n ? zData.SalesByCategoryList.length\n : 0;\n for (var i = 0; i < len; i++) {\n var categoryData = zData.SalesByCategoryList[i];\n var category: CategoryReport = {\n name: categoryData.CategoryName,\n quantity: categoryData.TotalItemQty,\n sales: categoryData.TotalItemTotal,\n };\n this.categories.push(category);\n }\n\n this.totalCategoryQty = zData.SalesByCategoryList\n ? zData.SalesByCategoryList[0].TotalSalesByCategoryQty\n : 0;\n this.totalCategorySales = zData.SalesByCategoryList\n ? zData.SalesByCategoryList[0].TotalSalesByCategoryAmount\n : 0;\n\n this.grossSalesDisplay = zData.TotalGrossSales;\n this.discounts = zData.TotalDiscounts;\n this.refunds = zData.TotalRefunds;\n this.netSales = zData.TotalNetSales;\n this.fees = zData.TotalFees;\n this.taxes = zData.TotalTaxes;\n this.tips = zData.TotalTips;\n this.amountCollect = zData.AmmountCollected;\n this.openOrders = zData.OpenOrders;\n this.totalOrders = zData.TotalOrders;\n this.totalCashOrders = zData.TotalCashOrders;\n this.totalCreditOrders = zData.TotalCreditOrders;\n this.totalCash = zData.TotalCash;\n this.totalCredit = zData.TotalCredit;\n this.kioskSales = zData.KioskSales;\n this.totalTenderOrders = zData.TotalTenderOrders;\n this.totalTenderNetSales = zData.TotalTenderNetSales;\n this.totalTenderOrderTaxes = zData.TotalTenderOrderTaxes;\n this.totalTenderOrderTips = zData.TotalTenderOrderTips;\n this.totalTenderOrderFees = zData.TotalTenderOrderFees;\n this.totalTenderAmountCollected = zData.TotalTenderGrossSales;\n this.totalHouseOrders = zData.TotalHouseOrders;\n this.totalHouseNetSales = zData.TotalHouseNetSales;\n this.totalHouseOrderTaxes = zData.TotalHouseOrderTaxes;\n this.totalHouseOrderTips = zData.TotalHouseOrderTips;\n this.totalHouseOrderFees = zData.TotalHouseOrderFees;\n this.totalHouseAmountCollected = zData.TotalHouseGrossSales;\n this.totalNetOtherOrders = zData.TotalNetOtherOrders;\n this.totalNonCashFees = zData.TotalNonCashFees;\n this.orderDiscounts = zData.OrderDiscounts;\n this.loyaltyDiscounts = zData.LoyaltyDiscounts;\n this.totalDiscounts = zData.TotalDiscounts;\n this.totalGiftCardRedemptions = zData.TotalGiftCardRedemptions;\n this.complimentary = zData.Complimentary;\n this.totalRefunds = zData.TotalRefunds;\n this.cashTips = zData.CashTips;\n this.creditCardTips = zData.CreditCardTips;\n this.tenderTips = zData.TenderTips;\n this.houseTips = zData.HouseTips;\n this.totalTips = zData.TotalTips;\n this.canceledOrdersTotal = zData.TotalCanceledOrdersSummary;\n }\n}\n","\n
{{reportsText}} \n\n
\n
\n
{{zReportsText}}
\n
{{grossSalesText}}
\n
\n
\n
\n
{{itemWiseSalesText}}
\n
{{orderHistoryText}}
\n
\n
\n
\n\n\n\n\n\n\n\n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-error-msg-popup',\n templateUrl: './error-msg-popup.component.html',\n styleUrls: ['./error-msg-popup.component.css'],\n})\nexport class ErrorMsgPopupComponent implements OnInit,OnDestroy {\n languageSub!: Subscription;\n errorMsg: string = '';\n\n oopsText: string = '';\n okText: string = '';\n\n modalReference: any;\n\n constructor(\n public modalService: NgbModal,\n private language: LanguageService\n ) {}\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText() {\n this.oopsText = this.language.getTextElement('alert_title_opps');\n this.okText = this.language.getTextElement('lbl_ok');\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n open(errorMsg: any) {\n this.modalReference = this.modalService.open(ErrorMsgPopupComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n this.modalReference.componentInstance.modalReference = this.modalReference;\n\n this.modalReference.componentInstance.errorMsg = errorMsg;\n }\n\n close() {\n this.modalReference.close();\n }\n}\n","\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\n\n@Component({\n selector: 'app-alcoholic-items-exceed-max',\n templateUrl: './alcoholic-items-exceed-max.component.html',\n styleUrls: ['./alcoholic-items-exceed-max.component.css'],\n})\nexport class AlcoholicItemsExceedMaxComponent implements OnInit, OnDestroy {\n\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n modalReference: any;\n\n languageSub!: Subscription;\n\n limit: any;\n\n negativeColor: string | null = '';\n\n negativeColorText: string | null = '';\n\n uhOhText: string = '';\n\n closeText: string = '';\n\n alcoholicLimitText: string = '';\n\n constructor(\n private readonly modalService: NgbModal,\n private language: LanguageService\n ) { }\n\n\n loadText() {\n this.closeText = this.language.getTextElement('close');\n this.uhOhText = this.language.getTextElement('titile_uh_oh');\n this.alcoholicLimitText = this.language.getTextElement(\n 'you_have_reached_the_maximum_number_of_alcoholic_items_allowed_for_this_order_limit_is'\n ).replace('%d', this.limit)\n }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.limit = GeneralSetting.getMaxAlcoholicItemsPerOrder()\n this.loadText();;\n });\n\n this.negativeColor = GeneralSetting.getNegativeColor();\n this.negativeColorText = GeneralSetting.getNegativeColorText();\n }\n\n public static open(modalService: NgbModal) {\n let modalReference = modalService.open(AlcoholicItemsExceedMaxComponent, {\n backdrop: 'static',\n size: 'xl',\n centered: true,\n\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n\n return modalReference;\n }\n\n dismiss() {\n this.modalReference.close();\n }\n}\n","\n \n
\n
\n {{alcoholicLimitText}}\n
\n
\n
\n \n {{closeText|uppercase}}\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { environment } from 'src/environments/environment';\nimport { Concessionaire } from '../../../models/BranchLoginModels';\n\n@Component({\n selector: 'app-concessionaire-closed',\n templateUrl: './concessionaire-closed.component.html',\n styleUrls: ['./concessionaire-closed.component.css']\n})\nexport class ConcessionaireClosedComponent implements OnInit {\n\n modalReference: any;\n\n languageSub!:Subscription\n\n removedConcessionaire: Concessionaire[] = [];\n\n concessionaireBaseUrl: string = \"/uploads/ConcessionaireLogo/\";\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n uhOhText:string=''\n concessionaireClosedText:string=''\n okText:string=''\n\n constructor(private readonly modalService: NgbModal,\n private isKioskService: IsKioskService,\n private language:LanguageService) {\n }\n loadText(){\n this.uhOhText=this.language.getTextElement('titile_uh_oh')\n this.concessionaireClosedText=this.language.getTextElement('concessionaire_are_closed')\n this.okText=this.language.getTextElement('txt_ok')\n }\n ngOnInit(): void {\n this.languageSub=this.language.localeCommunicator.subscribe((val)=>{\n this.loadText()\n })\n }\n\n open(removedConcessionaire: any[]) {\n this.modalReference = this.modalService.open(ConcessionaireClosedComponent, {\n backdrop: 'static',\n size: 'xl',\n centered: true,\n });\n this.modalReference.componentInstance.removedConcessionaire = removedConcessionaire;\n this.modalReference.componentInstance.modalReference = this.modalReference;\n return this.modalReference;\n }\n\n removeFromCart() {\n this.modalReference.close('removeItems');\n }\n\n getConcessionaireLogo(con: Concessionaire, imageBaseUrl: string, concessionaireBaseUrl: string) {\n return con.Logo && con.Logo != '' ? imageBaseUrl + concessionaireBaseUrl + con.Logo : '../../../assets/images/Image_21.png';\n }\n\n}\n","\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-connection-loss-popup',\n templateUrl: './connection-loss-popup.component.html',\n styleUrls: ['./connection-loss-popup.component.css'],\n})\nexport class ConnectionLossPopupComponent implements OnInit,OnDestroy {\n allSubscription: Subscription[] = [];\n \n modalReference: any;\n // priceColor: any;\n\n positiveButton: string | null = '';\n positiveButtonText: string | null = '';\n\n connectionText:string=''\n uhohText:string=''\n okText:string=''\n tryAgainText:string=''\n constructor(private modalService: NgbModal, private language:LanguageService) {\n this.allSubscription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n ngOnDestroy() {\n if (this.allSubscription.length > 0) {\n for (let i = 0; i < this.allSubscription.length; i++) {\n this.allSubscription[i].unsubscribe();\n }\n }\n }\n loadText(){\n this.connectionText=this.language.getTextElement('txt_there_is_problem_connecting_to_network')\n this.okText=this.language.getTextElement('lbl_ok')\n this.uhohText=this.language.getTextElement('titile_uh_oh')\n this.tryAgainText=this.language.getTextElement('please_try_again')\n }\n ngOnInit(): void {\n \n this.positiveButton = GeneralSetting.getPrimaryColor();\n this.positiveButtonText = GeneralSetting.getPositiveColorText();\n }\n\n public static open(modalService:any) {\n var modalRef = modalService.open(ConnectionLossPopupComponent, {\n size: 'lg',\n centered: true,\n });\n modalRef.componentInstance.modalReference = modalRef;\n\n return modalRef;\n }\n\n retry() {\n if (!navigator.onLine) {\n this.modalReference.close('offline');\n } else this.modalReference.close('online');\n }\n clear() {\n this.modalReference.close('close');\n }\n}\n","\n \n \n
\n","import { Injectable } from '@angular/core';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { LogService } from 'src/app/services/log.service';\nimport { CommonFunctions } from './common';\nimport { ItemV2 } from '../models/item';\nexport interface SchedulePromos{\n SchedulePromotionId:string,\n Name:string,\n ItemID:string,\n NewPrice:string\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class SchedulePricingService {\n constructor(private logger: LogService) {}\n\n /**\n * @author Skarzold \n * @description queries and applies schedule pricing for the specified items \n * @param items the array of items to apply schedule pricing to\n * @returns promise containing modified items array with applied schedule pricing\n * @todo currently querying and recieving data for multiple menu tiers.\n * Ideally will not receive data for more than one tier, however team seems to be \n * on different page regarding menu tiers' implementation.\n */\n findAndApplySchedulePricing(items: ItemV2[]): Promise {\n return new Promise((resolve) => {\n let a = this.getPromoPricingByDateFromSqlV2(items);\n let b = this.getPromoPricingByDayFromSql(items);\n Promise.all([a, b]).then((data:any) => {\n let c = [].concat.apply([], data);\n let newItems = this.applyPromos(items, c)\n resolve(newItems);\n });\n });\n }\n private applyPromos(items:ItemV2[],promos:SchedulePromos[]): ItemV2[]{\n for(let i=0;ix.ItemID==items[i].ItemID)\n for(let k=0;k {\n return new Promise((resolve) => {\n let currentTime = CommonFunctions.getCurrentTime();\n let dayId = new Date().getDay();\n if (dayId == 0) {\n dayId = 7;\n }\n let itemsString = '';\n for (let i = 0; i < items.length; i++) {\n itemsString += \"'\" + items[i].ItemID + \"'\" + ',';\n }\n itemsString = itemsString.slice(0, -1);\n const getPromoString = `SELECT DISTINCT \n SPPCM.SchedulePromotionId \n , SPPM.Name\n , SPPDM.ItemID\n , SPPDM.NewPrice\n FROM\n SchedulePromoPricingCategoryMappings AS SPPCM \n LEFT JOIN SchedulePromoPricingMasters AS SPPM\n ON SPPCM.SchedulePromotionId = SPPM.SchedulePromotionId\n LEFT JOIN SchedulePromoPricingDetailMasters AS SPPDM\n ON SPPCM.SchedulePromotionId=SPPDM.SchedulePromotionId\n LEFT JOIN ScheduleItemWeekDayMaster AS SIWDM\n ON SIWDM.SchedulePromotionId=SPPDM.SchedulePromotionId\n WHERE \n SPPM.IsByWeek = 'True'\n AND SPPDM.ItemID IN (${itemsString})\n AND SIWDM.DayID = '${dayId}'\n AND SIWDM.StartTime <= time('${currentTime}')\n AND SIWDM.EndTime >=time('${currentTime}')\n `;\n const errorCallback = (statement: any, error: any) => {\n console.log(\n 'Schedule Pricing Service, Error getPromoPricingFromSql :- ',\n error\n );\n resolve([] as SchedulePromos[]);\n };\n const setItems = (tx: string, results: any) => {\n let data: SchedulePromos[] = Array.from(results.rows);\n resolve(data);\n };\n DatabaseHandler.executeSqlStatement(\n getPromoString,\n [],\n setItems,\n errorCallback\n );\n });\n }\n private getPromoPricingByDateFromSqlV2(items: ItemV2[]): Promise {\n return new Promise((resolve) => {\n let currentDate = CommonFunctions.getCurrentformatedtDate(new Date());\n let itemsString = '';\n for (let i = 0; i < items.length; i++) {\n itemsString += \"'\" + items[i].ItemID + \"'\" + ',';\n }\n itemsString = itemsString.slice(0, -1);\n const getPromoString = `\n SELECT DISTINCT \n SPPCM.SchedulePromotionId \n , SPPM.Name\n , SPPDM.ItemID\n , SPPDM.NewPrice\n FROM\n SchedulePromoPricingCategoryMappings AS SPPCM \n LEFT JOIN SchedulePromoPricingMasters AS SPPM\n ON SPPCM.SchedulePromotionId = SPPM.SchedulePromotionId\n LEFT JOIN SchedulePromoPricingDetailMasters AS SPPDM\n ON SPPCM.SchedulePromotionId=SPPDM.SchedulePromotionId\n WHERE \n SPPM.IsByDate = 'True' \n AND SPPDM.ItemID IN (${itemsString})\n AND SPPM.StartDate <= '${currentDate}'\n AND SPPM.EndDate >='${currentDate}'\n `;\n const errorCallback = (statement: any, error: any) => {\n console.log(\n 'Schedule Pricing Service, Error getPromoPricingFromSql :- ',\n error\n );\n resolve([] as SchedulePromos[]);\n };\n const setItems = (tx: string, results: any) => {\n let data: SchedulePromos[] = Array.from(results.rows);\n resolve(data);\n };\n DatabaseHandler.executeSqlStatement(\n getPromoString,\n [],\n setItems,\n errorCallback\n );\n });\n }\n}\n\n // getPromoPricingFromSql() {\n // const date = new Date();\n // let day = String(date.getDay());\n // if (day == '0') {\n // day = '7';\n // }\n // return new Promise((resolve) => {\n // const getPromoString = `\n // SELECT DISTINCT\n // SPPCM.SchedulePromotionId\n // , SPPCM.CategoryId\n // , SPPM.IsByWeek\n // , SPPM.IsByDate\n // , SPPM.StartDate\n // , SPPM.EndDate\n // , SPPM.Name\n // , SIWDM.DayID\n // , SIWDM.StartTime\n // , SIWDM.EndTime\n // , SPPDM.ItemID\n // , SPPDM.BasePrice\n // , SPPDM.NewPrice\n // , ICM.CategoryID\n // , ICM.ItemID\n // FROM\n // SchedulePromoPricingCategoryMappings AS SPPCM\n // LEFT JOIN \n // SchedulePromoPricingMasters AS SPPM\n // ON \n // SPPCM.SchedulePromotionId = SPPM.SchedulePromotionId\n // LEFT JOIN \n // ScheduleItemWeekdayMaster AS SIWDM\n // ON SPPCM.SchedulePromotionId=SIWDM.SchedulePromotionId\n // LEFT JOIN\n // SchedulePromoPricingDetailMasters AS SPPDM\n // ON SPPCM.SchedulePromotionId=SPPDM.SchedulePromotionId\n // JOIN Item_Category_Mappings as ICM on SPPDM.ItemID=ICM.ItemID\n // `;\n // const errorCallback = (statement: any, error: any) => {\n // //console.log(error);\n // console.log(\n // 'Schedule Pricing Service, Error getPromoPricingFromSql :- ',\n // error\n // );\n\n // resolve([]);\n // };\n // const setItems = (tx: string, results: any) => {\n // let data: any[] = Array.from(results.rows);\n // let hours = String(date.getHours());\n // if (hours.length === 1) {\n // hours = '0' + hours;\n // }\n // let minutes = String(date.getMinutes());\n // if (minutes.length === 1) {\n // minutes = '0' + minutes;\n // }\n // let numMinutes = Number(minutes);\n // let numHours = Number(hours);\n // let applicableData: any[] = data.filter((el: any) => {\n // const date = new Date();\n // let day = String(date.getDay());\n // if (day == '0') {\n // day = '7';\n // }\n // //check if element by week\n // if (el.IsByWeek == 'True') {\n // // if yes, check day similarity\n // if (el.DayID == day) {\n // //if day similarity, check time similarity\n // //reserve data space for time comparison in parental scope\n // let tempTransform: any;\n // let transformedTime: any;\n // let splitTime: any;\n // let StartHours: any;\n // let StartMinutes: any;\n // let EndHours: any;\n // let EndMinutes: any;\n // if (el.StartTime && el.StartTime != '' && el.StartTime != null) {\n // //begin transformation\n // tempTransform = el.StartTime.split('.');\n // transformedTime = tempTransform[0];\n // splitTime = transformedTime.split(':');\n // StartHours = Number(splitTime[0]);\n // StartMinutes = Number(splitTime[1]);\n // //begin time comparison\n // if (\n // numHours > StartHours ||\n // (numHours == StartHours && numMinutes >= StartMinutes)\n // ) {\n // tempTransform = el.EndTime.split('.');\n // transformedTime = tempTransform[0];\n // splitTime = transformedTime.split(':');\n // EndHours = Number(splitTime[0]);\n // EndMinutes = Number(splitTime[1]);\n // if (\n // numHours < EndHours ||\n // (numHours == EndHours && numMinutes <= EndMinutes)\n // ) {\n // //if yes, check date similarity\n // if (el.IsByDate == 'True') {\n // //if date similar, return item\n // let elStartDate = Date.parse(\n // String(\n // el.StartDate.slice(0, -2) +\n // ' ' +\n // el.StartDate.slice(-2)\n // )\n // );\n // let elEndDate = Date.parse(\n // String(\n // el.EndDate.slice(0, -2) + ' ' + el.EndDate.slice(-2)\n // )\n // );\n // if (\n // Date.parse(String(date)) >= elStartDate &&\n // Date.parse(String(date)) <= elEndDate\n // ) {\n // return el;\n // }\n // } else {\n // return el;\n // }\n // } //else nothing\n // }\n // }\n // }\n // } else {\n // //if date similar, return item\n // let elStartDate = Date.parse(\n // String(el.StartDate.slice(0, -2) + ' ' + el.StartDate.slice(-2))\n // );\n // let elEndDate = Date.parse(\n // String(el.EndDate.slice(0, -2) + ' ' + el.EndDate.slice(-2))\n // );\n // if (\n // Date.parse(String(date)) >= elStartDate &&\n // Date.parse(String(date)) <= elEndDate\n // ) {\n // return el;\n // }\n // }\n // });\n\n // resolve(applicableData);\n // };\n // DatabaseHandler.executeSqlStatement(\n // getPromoString,\n // [],\n // setItems,\n // errorCallback\n // );\n // });\n // }\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-item-full-description',\n templateUrl: './item-full-description.component.html',\n styleUrls: ['./item-full-description.component.css'],\n})\nexport class ItemFullDescriptionComponent implements OnInit, OnDestroy {\n languageSub!: Subscription;\n modalReference: any;\n positiveColor: string = '';\n positiveColorText: string = '';\n\n closeText: string = '';\n\n @Input() description: any = '';\n constructor(\n private modalService: NgbModal,\n private language: LanguageService\n ) {}\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText() {\n this.closeText = this.language.getTextElement('close');\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.positiveColor = GeneralSetting.getPositiveColor();\n this.positiveColorText = GeneralSetting.getPositiveColorText();\n }\n\n public static open(modalService: NgbModal) {\n let modalReference = modalService.open(ItemFullDescriptionComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n\n return modalReference;\n }\n close() {\n this.modalReference.close();\n }\n}\n","","import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { IUpdateModalService } from 'src/app/models/IUpdateModelService';\nimport { UpdateMenuComponent } from './update-menu.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UpdateMenuModelService implements IUpdateModalService {\n\n constructor(private modalService:NgbModal) \n { }\n\n private modalRef: UpdateMenuComponent | null = null;\n\n public open() {\n this.close();\n\n this.modalRef = UpdateMenuComponent.open(this.modalService).componentInstance;\n }\n\n public close(){\n if(this.modalRef && this.modalRef != null){\n this.modalRef.clear();\n }\n }\n\n public setMessage(message:string) {\n if(this.modalRef && this.modalRef != null){\n this.modalRef.setCurrentStateMessage(message);\n }\n }\n\n public setSecondMessage(message:string){\n if(this.modalRef && this.modalRef != null){\n this.modalRef.setIndexText(message);\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LoadingComponent } from '../loading/loading.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoaderService {\n\n private LoadingModal!: LoadingComponent | null;\n\n constructor(private readonly modalService:NgbModal) { }\n\n public openLoader(isDialogOpen:boolean = false, isTimeOut:boolean = false,timeOutMiliSec:number = 5000) {\n if (!(this.LoadingModal && this.LoadingModal.isDialogOpen)) {\n this.closeLoader();\n \n this.LoadingModal = LoadingComponent.open(\n this.modalService,\n isDialogOpen,\n isTimeOut,\n timeOutMiliSec\n ).componentInstance;\n }\n }\n\n public closeLoader() {\n if (this.LoadingModal) {\n this.LoadingModal.close();\n }\n }\n \n}\n","import { OnDestroy } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { timeout } from 'rxjs/operators';\nimport { Snackbar } from 'src/app/services/common';\nimport { DataService } from 'src/app/services/data.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-item-weight',\n templateUrl: './item-weight.component.html',\n styleUrls: ['./item-weight.component.css'],\n})\nexport class ItemWeightComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n modalReference: any;\n isgettingData = false;\n positiveButton: string | null = '';\n\n loadingText: string = '';\n continueText: string = '';\n placeOnScaleText: string = '';\n placeOnScaleByKioskText:string=''\n constructor(\n private modalservice: NgbModal,\n private dataService: DataService,\n private language: LanguageService\n ) {\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n loadText() {\n this.loadingText = this.language.getTextElement('txt_loading');\n this.continueText = this.language.getTextElement('lbl_continue');\n this.placeOnScaleText =this.language.getTextElement('place_your_bowl_on_the_scale')\n this.placeOnScaleByKioskText =this.language.getTextElement('place_your_bowl_on_the_scale_next_to_the_kiosk')\n }\n ngOnInit(): void {\n this.positiveButton = GeneralSetting.getPositiveColor();\n }\n\n public static open(modalservice: NgbModal) {\n var modalReference = modalservice.open(ItemWeightComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n\n return modalReference;\n }\n\n open() {\n this.modalReference = this.modalservice.open(ItemWeightComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n this.modalReference.componentInstance.modalReference = this.modalReference;\n }\n\n continue() {\n this.getWeightOfItem();\n }\n\n getWeightOfItem() {\n this.isgettingData = true;\n\n this.allSubsCription.push(\n this.dataService\n .getWeight('W', GeneralSetting.getRaspberryPiIPAddress())\n .pipe(timeout(10000))\n .subscribe(\n (response: any) => {\n if (response && response != '') {\n this.modalReference.close(response);\n this.isgettingData = false;\n } else {\n this.isgettingData = false;\n this.modalReference.close('error');\n }\n },\n (error) => {\n this.isgettingData = false;\n this.modalReference.close('error');\n }\n )\n );\n }\n\n getAccentColor() {\n return GeneralSetting.getAccentColor();\n }\n\n cancel() {\n this.modalReference.close('cancel');\n }\n}\n","\n
\n × \n \n
\n \n
{{placeOnScaleText}} \n
{{placeOnScaleByKioskText}}
\n
\n {{loadingText}} \n
\n
{{continueText}} \n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Guid } from 'src/app/models/Guid';\nimport { ComboGroupV2, ItemV2, ModifierV2 } from 'src/app/models/item';\nimport { VariationOption } from 'src/app/models/Variations';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LastfiveorderService } from 'src/app/services/lastfiveorder.service';\nimport { environment } from 'src/environments/environment';\nimport { AlcoholicItemsExceedMaxComponent } from '../../dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\n\n// import { BoxBuilderComponent } from '../box-builder.component';\nimport { BoxBuilderReviewComponent } from '../box-builder-review/box-builder-item-review.component';\nimport { CartService } from 'src/app/services/cart.service';\nimport { Concessionaire } from '../../../models/Concessionaire';\nimport { Subscription } from 'rxjs';\nimport { DatabaseService } from '../../../services/database.service';\nimport { GeneralAlertComponent } from '../../dialogs/general-alert/general-alert.component';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-box-builder-footer',\n templateUrl: './box-builder-footer.component.html',\n styleUrls: ['./../box-builder.component.css'],\n})\nexport class BoxBuilderFooterComponent implements OnInit {\n @Input() categoryID: any;\n\n @Input() inputItem: ItemV2 = new ItemV2();\n\n @Input() boxBuilderItemDetailModal!: any;\n\n @Input() isCombo: boolean = false;\n\n @Input() quantityWhenAdd: number = 1;\n\n @Input() cartQuantity: number = 0;\n\n @Input() modifiers: ModifierV2[] = [];\n\n @Input() variations: VariationOption[] = [];\n\n @Input() comboGroup: ComboGroupV2[] = [];\n\n @Input() comboGroups: ComboGroupV2[] = [];\n\n @Input() itemID: any;\n\n @Input() isModifiersValid: boolean = false;\n\n @Input() isVariationsValid: boolean = false;\n\n @Input() isComboGroupValid: boolean = false;\n\n @Input() isReady: boolean = false;\n\n // @Input() boxBuilderModal!: BoxBuilderComponent;\n\n @Input() isComboItem = false;\n\n @Input() comboItemFlags: any[] = [];\n\n @Input() selectedTotalCount: number = 0;\n\n @Input() totalComboGroups: number = 0;\n\n @Input() currentSelectedModifierIndex: number = 0;\n\n @Input() numInvisibleGroups: number = 0;\n\n @Output() itemModalClose = new EventEmitter();\n\n @Output() selectedCountEmitter = new EventEmitter();\n\n @Output() comboSelectionEmitter = new EventEmitter();\n\n @Input() itemImageList: any[] = [];\n\n @Input() isEdit: boolean = false;\n\n @ViewChild(BoxBuilderReviewComponent)\n boxBuilderReviewModel!: BoxBuilderReviewComponent;\n @ViewChild(GeneralAlertComponent) generalAlertDialog!: GeneralAlertComponent;\n\n @Output() itemImageListEmitter = new EventEmitter();\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n modGrpImg: string = '/assets/images/Image_21.png';\n\n item!: ItemV2;\n\n alcoholicExceedMaxPopup!: AlcoholicItemsExceedMaxComponent;\n\n itemGuestName: string = '';\n\n specialRequest: string = '';\n\n totalQuantity = [] as any[];\n\n selectedQuantity: number = -1;\n\n selectableQuantity!: number;\n\n concessionaireId: string = '';\n\n footerImage: string | null = '';\n\n cancelText: string = '';\n reviewBoxText: string = ''\n languageSub!: Subscription;\n\n concessionaire: Concessionaire = {} as Concessionaire;\n\n isConcessionaire: boolean = false;\n private allSubsCription: Subscription[] = [];\n constructor(\n private readonly router: Router,\n private readonly lastfiveorderService: LastfiveorderService,\n private readonly isKioskService: IsKioskService,\n private readonly cartService: CartService,\n route: ActivatedRoute,\n private readonly modalService: NgbModal,\n private language: LanguageService,\n private databaseService: DatabaseService\n ) {\n this.concessionaireId = route.snapshot.queryParams['concessionaireId'];\n }\n loadText() {\n this.cancelText = this.language.getTextElement('lbl_button_cancel');\n this.reviewBoxText = this.language.getTextElement('review_your_box');\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.footerImage =\n GeneralSetting.getBoxBuilderFooterImage() != ''\n ? GeneralSetting.getBoxBuilderFooterImage()\n : GeneralSetting.getBranchLogo();\n\n if (this.numInvisibleGroups) {\n this.totalQuantity = Array.from(\n Array(this.totalComboGroups - this.numInvisibleGroups).keys()\n );\n }\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n\n if (this.isConcessionaire) {\n this.allSubsCription.push(\n this.databaseService.concessionaireSubject.subscribe((conList) => {\n let con = conList.find((x) => x.ConcessionaireID == this.concessionaireId);\n if (con) {\n this.concessionaire = con;\n }\n })\n );\n }\n }\n\n ngOnDestroy() {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n cancel() {\n if (this.isCombo) {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n concessionaireId: this.concessionaireId,\n },\n });\n } else {\n this.itemModalClose.emit(null);\n }\n }\n\n addToCart() {\n const item = this.createCartItem();\n\n this.closeModel(item);\n }\n\n private createCartItem(): ItemV2 {\n const cartItem = JSON.parse(JSON.stringify(this.inputItem)) as ItemV2;\n if (this.isEdit) {\n cartItem.guid = this.inputItem.guid;\n cartItem.BoxBuilderItemGUID = this.inputItem.BoxBuilderItemGUID;\n } else {\n cartItem.guid = Guid.newGuid();\n cartItem.BoxBuilderItemGUID = Guid.newGuid();\n }\n cartItem.Modifiers = this.modifiers;\n cartItem.ComboGroup = [];\n cartItem.Quantity = this.inputItem!.Quantity;\n cartItem.ItemConsolidateQuantity = this.inputItem.ItemConsolidateQuantity;\n cartItem.IsCombo = !(\n cartItem.IsCombo.toString() == '0' ||\n cartItem.IsCombo.toString().toLowerCase() == 'false'\n );\n cartItem.AllowQuantitySelection =\n cartItem.AllowQuantitySelection == ''\n ? 'True'\n : cartItem.AllowQuantitySelection;\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n\n return cartItem;\n }\n\n private createCartCombo(): ItemV2 {\n const cartItem = JSON.parse(JSON.stringify(this.inputItem)) as ItemV2;\n\n cartItem.guid = this.inputItem.guid ? this.inputItem.guid : Guid.newGuid();\n cartItem.Modifiers = this.modifiers;\n cartItem.VariationOption = this.variations;\n cartItem.ComboGroup = this.inputItem.ComboGroup;\n cartItem.Quantity = this.quantityWhenAdd.toString();\n cartItem.AllowQuantitySelection =\n cartItem.AllowQuantitySelection == ''\n ? 'True'\n : cartItem.AllowQuantitySelection;\n cartItem.GuestName = this.itemGuestName;\n cartItem.specialRequest = this.specialRequest;\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n\n return cartItem;\n }\n\n closeModel(item: ItemV2) {\n this.itemModalClose.emit(item);\n }\n\n onClick(event: any, pos: number) {\n this.selectedQuantity = pos;\n this.inputItem.Quantity = (this.selectedQuantity + 1).toString();\n this.inputItem.ItemConsolidateQuantity = this.selectedQuantity + 1;\n }\n\n ngOnChanges() {\n this.selectableQuantity =\n this.totalQuantity.length -\n this.selectedTotalCount +\n this.inputItem.ItemConsolidateQuantity;\n }\n\n private checkValidityShowAnimation(item: ItemV2) {\n if (item.Modifiers != undefined) {\n for (let i = 0; i < item.Modifiers.length; i++) {\n const count = CommonFunctions.getSelectedIngredientCount(\n item.Modifiers[i]\n );\n\n if (\n !this.checkValidModifierSelection(\n this.inputItem.Modifiers[i].min,\n this.inputItem.Modifiers[i].max,\n count\n )\n ) {\n // this.modifierAnimation();\n return false;\n }\n }\n }\n\n return true;\n }\n\n checkValidModifierSelection(min: number, max: number, count: number) {\n // Required\n if (min == max) {\n if (count == min) {\n return true;\n } else {\n return false;\n }\n }\n\n //Choose Up to max\n if (min == 0 && max >= 1) {\n if (count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n //Select at least one\n if (min == 1 && max > 1) {\n if (count >= 1 && count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n //select at least more then one\n if (min > 1 && max > 1) {\n if (count > min || count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n return false;\n }\n\n /**\n * @description Appropriately routes to correct screen if edit item, and calls alcohol checks if alcoholic before editing cart\n */\n private checkEditItem(): boolean {\n if (this.inputItem.guid) {\n if (this.inputItem.GuestName && this.inputItem.GuestName != '') {\n this.itemGuestName = this.inputItem.GuestName;\n }\n if (\n !(\n this.inputItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n )\n ) {\n //this.cartService.addToCartV2(this.createCartItem());\n //this.location.back();\n return true;\n } else if (this.checkAndShowAlcoholLimitModel()) {\n //this.cartService.addToCartV2(this.createCartItem());\n //this.location.back();\n return true;\n }\n }\n\n return false;\n }\n\n private checkAndShowAlcoholLimitModel(): boolean {\n const currentCountofAlkol = GeneralSetting.getCurrentCountofAlkol();\n const maxOrder = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n\n if (maxOrder == null) {\n return true;\n }\n\n const tempQuantity = this.inputItem.guid\n ? this.quantityWhenAdd\n : this.quantityWhenAdd - Number(this.inputItem.Quantity);\n\n if (\n currentCountofAlkol != null &&\n Number(maxOrder) > 0 &&\n tempQuantity + Number(currentCountofAlkol) > Number(maxOrder)\n ) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n return false;\n }\n\n return true;\n }\n\n calculateTotal() {\n if (this.inputItem == undefined || this.inputItem.Price == undefined) {\n return;\n }\n this.inputItem.VariationOption = this.variations;\n }\n\n private redirectToPageAfterAddToCart() {\n if (this.checkIfFromLastFivePageForCombo()) {\n this.router.navigateByUrl('/lastfiveorder').then(() => {\n this.lastfiveorderService.updateitemList(\n this.itemID,\n\n this.variations,\n\n this.modifiers\n );\n });\n\n GeneralSetting.setIntoCombo('false');\n } else {\n if (this.getParameterByName('isFromReview') === 'true') {\n this.router.navigateByUrl('/orderReview');\n } else {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n concessionaireId: this.concessionaireId,\n },\n });\n }\n }\n }\n\n getParameterByName(name: string, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n\n private checkIfFromLastFivePageForCombo() {\n const checkIfLastfiveorder = GeneralSetting.getLastFiveOrderChosen();\n const intocombo = GeneralSetting.getIntoCombo();\n\n if (\n checkIfLastfiveorder &&\n checkIfLastfiveorder === 'true' &&\n intocombo &&\n intocombo === 'true'\n )\n return true;\n\n return false;\n }\n\n getBaseImageUrl() {\n this.baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n return this.baseImageUrl;\n }\n\n async reviewYourBox() {\n let requisitesForCartItem = {\n modifiers: this.modifiers,\n variations: this.variations,\n quantityWhenAdd: this.quantityWhenAdd,\n itemGuestName: this.itemGuestName,\n specialRequest: this.specialRequest,\n itemID: this.itemID,\n };\n if (this.selectedTotalCount == 0) {\n this.generalAlertDialog.open('Uh Oh!', 'Please add item to box');\n return;\n }\n this.boxBuilderReviewModel.open(\n this.selectedTotalCount,\n this.inputItem,\n this.comboItemFlags,\n this.itemImageList,\n requisitesForCartItem,\n this.numInvisibleGroups,\n this.isConcessionaire,\n this.concessionaire\n );\n this.boxBuilderReviewModel.ref.result.then(\n async (res: any) => {\n if (res == 'addToCart') {\n if (this.isCombo) {\n let res = await this.cartService.addToCartAsync(\n this.createCartCombo()\n );\n if (!res.status) {\n if (res.error == 'alcohol') {\n Snackbar.show(\n 'Exceeded maximum alcohol quantity for this item',\n 3000\n );\n }\n\n return;\n }\n\n GeneralSetting.setCurrentCountofAlkol(\n Number(GeneralSetting.getCurrentCountofAlkol()) +\n Number(this.quantityWhenAdd)\n );\n\n this.redirectToPageAfterAddToCart();\n //this.location.back();\n }\n } else if (res && res.message && res.message == 'Add_Remaining') {\n let comboGroup = res.data as ComboGroupV2[];\n let selectedcount = 0;\n for (let i = 0; i < this.comboGroups.length; i++) {\n if (!this.comboGroups[i].isHidden) {\n for (let j = 0; j < this.comboGroups[i].Items.length; j++) {\n const comboItem = this.comboGroups[i].Items[j];\n if (comboItem.isSelected) {\n let itemNew = JSON.parse(JSON.stringify(comboItem)) as ItemV2;\n\n // this.itemImageList.push({ 'image': this.baseImageUrl + comboItem.ImageUrl, 'selected': true });\n selectedcount++;\n }\n }\n }\n }\n this.itemImageList = res.itemImageList;\n this.itemImageListEmitter.emit(this.itemImageList);\n this.selectedCountEmitter.emit(selectedcount);\n this.comboSelectionEmitter.emit(comboGroup);\n }\n }\n // }\n );\n }\n}\n","\n \n\n \n\n \n
\n
\n \n \n
\n
{{inputItem.ShortDescription}} \n \n
\n
\n \n\n \n {{reviewBoxText}}\n \n {{cancelText}} \n
\n\n \n \n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from 'src/environments/environment';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-are-you-sure',\n templateUrl: './are-you-sure.component.html',\n styleUrls: ['./are-you-sure.component.css'],\n})\nexport class AreYouSureComponent implements OnInit, OnDestroy {\n \n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n \n ref: any;\n \n languageSub!: Subscription;\n\n positiveColor: string | null = '';\n \n positiveColorText: string | null = '';\n \n negativeColor: string | null = '';\n \n negativeColorText: string | null = '';\n \n cancelOrderImage: string | null = '';\n \n yesText: string = '';\n \n noText: string = '';\n \n cancelOrderText: string = '';\n \n confirmText: string = '';\n \n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n constructor(private readonly isKioskService: IsKioskService,\n private language: LanguageService\n ) {}\n \n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n // if (GeneralSetting.getCancelOrderImage() != '') {\n // this.cancelOrderImage =\n // this.baseImageUrl + GeneralSetting.getCancelOrderImage();\n // } else {\n this.cancelOrderImage = 'assets/images/ic_cancel_order_placeholder.png';\n // }\n this.positiveColor = GeneralSetting.getPositiveColor();\n this.positiveColorText = GeneralSetting.getPositiveColorText();\n this.negativeColor = GeneralSetting.getNegativeColor();\n this.negativeColorText = GeneralSetting.getNegativeColorText();\n }\n\n loadText() {\n this.cancelOrderText = this.language.getTextElement('cancel_order');\n this.confirmText = this.language.getTextElement(\n 'txt_are_you_sure_you_want_to_cancel_this_order_and_start_again'\n );\n this.yesText = this.language.getTextElement('txt_yes_cancel_order');\n this.noText = this.language.getTextElement('txt_no_back_to_order');\n }\n\n public static open(modalService: NgbModal) {\n var ref = modalService.open(AreYouSureComponent, {\n size: 'lg',\n centered: true,\n });\n ref.componentInstance.ref = ref;\n return ref;\n }\n\n cancel() {\n this.ref.close('cancel');\n }\n \n close() {\n this.ref.close('close');\n }\n}\n","\n
\n
{{cancelOrderText}} \n
\n
{{confirmText}} \n\n \n\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-branch-login',\n templateUrl: './branch-login.component.html',\n styleUrls: ['./branch-login.component.css'],\n})\nexport class BranchLoginComponent implements OnInit {\n languageSub!:Subscription\n defaultLag = GeneralSetting.getLocale() || 'en';\n constructor(\n private language:LanguageService,\n private KeyboardService:KeyboardService,\n ) {}\n descriptionText:string=''\n loadText(){\n this.descriptionText=this.language.getTextElement('self_ordering_kiosk')\n }\n ngOnInit(): void {\n this.languageSub=this.language.localeCommunicator.subscribe((val)=>{\n this.loadText()\n })\n this.defaultLag = this.language.locale;\n }\n isShowOverlay: boolean = false\n showOverlay() {\n this.isShowOverlay = true\n this.KeyboardService.KeyboardStatus = false;\n }\n swapLanguage(str: string) {\n this.isShowOverlay = false\n this.defaultLag = str;\n this.language.setLocale(str)\n this.KeyboardService.newBoardSubject.next('')\n }\n ngOnDestroy(){\n if(this.languageSub) this.languageSub.unsubscribe()\n }\n}\n","\n \n
\n
\n
\n
\n
\n
\n
\n
{{ descriptionText }} \n
\n
\n \n English\n \n \n Español\n \n \n Français\n \n
\n
\n
\n
\n
\n
\n ","import { Injectable, EventEmitter } from \"@angular/core\";\nimport { GeneralSetting } from \"./generalSetting.service\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class CurrencyService {\n\n currencyEmitter: EventEmitter = new EventEmitter();\n\n public _currencySymbol: string = \"$\";\n private _isPrefix!: boolean;\n\n get CurrencySymbol() {\n return GeneralSetting.getCurrencySymbol();//this._currencySymbol;\n }\n\n get IsPrefix() {\n return this._isPrefix;\n }\n\n setCurrencySymbol(symbol: any) {\n this._currencySymbol = symbol;\n }\n\n setIsPrefix(isPrefix: boolean) {\n this._isPrefix = isPrefix;\n this.currencyEmitter.emit(this._isPrefix);\n }\n\n getCurrencyInfo(): boolean {\n return GeneralSetting.getCurrencyPrefix() == \"True\";\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from '../../environments/environment';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport {\n getLoyaltyCustomerResponse,\n ReferrizerLoyaltyRewardDetail,\n customerVisitRes,\n LevelUpProposal,\n LevelUpItem,\n RefLoyaltyCustomer,\n PaytronixCustomerResponse,\n LoyaltyType,\n LevelUpObject,\n LoyaltyInfo,\n} from '../models/loyaltyModal';\nimport { UserService } from './user.service';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { ItemV2, ModifierIngredientV2 } from '../models/item';\nimport { CartService } from './cart.service';\nimport { OLOService } from './olo.service';\nimport { OLOChainProduct } from '../models/OLOProductReq';\nimport { CategorySalesType, CommonFunctions } from './common';\nimport { PaymentService } from './payment.service';\nimport { resolve } from 'dns';\nimport { ApiService } from './api/api.service';\nimport { LanguageService } from './language.service';\nimport { CustomerWelcomeModalComponent } from '../components/dialogs/customer-welcome-modal/customer-welcome-modal.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomerLoginPopupComponent } from '../components/dialogs/customer-login-popup/customer-login-popup.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoyaltyService {\n private baseApiUrl = environment.apiUrl;\n\n private companyId = '';\n\n private branchId = '';\n\n loyaltyRewards = [] as any[];\n\n selectedLoyaltyReward = '';\n\n punchhAppliedRewardID: string = '';\n oloPaytronixAppliedRewardID: string = '';\n\n loyaltyInfo: LoyaltyInfo[] = [];\n\n isLoyalty = false;\n\n loyaltyType!: number;\n // isGetLoyaltyVisitRes = false;\n\n levelUpObject: LevelUpObject = {} as LevelUpObject;\n\n customerVisitRes: customerVisitRes = {} as customerVisitRes;\n\n subSelectedLoyaltyReward = new BehaviorSubject(\n this.selectedLoyaltyReward\n );\n\n redeemedRewardSub = new Subject();\n\n updateRewardSub = new Subject();\n\n setLoyaltyPoints = new Subject();\n\n subLoyaltyRewards = new BehaviorSubject(this.loyaltyRewards);\n\n apiUrl: string;\n\n constructor(\n private readonly http: HttpClient,\n private userService: UserService,\n private logger: LogService,\n private readonly cartService: CartService,\n private readonly olo: OLOService,\n private payment: PaymentService,\n private api: ApiService,\n private language: LanguageService,\n private modalService: NgbModal\n ) {\n this.apiUrl = environment.apiUrl;\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n this.setLoyaltyType();\n }\n /**\n * @description performs a three-part check to determine if loyalty is active\n * @description sets loyaltyService.isLoyalty to and stores values in localStorage\n * @checkOne company has mapped loyalty type\n * @checkTwo location has mapped loyalty program\n * @checkThree use loyalty kiosk is selected under general settings in Grubbrr backend\n * @returns Promise containing boolean value such that `true` if all three checks, else `false`. This value is loyaltyService.isLoyalty\n *\n */\n setLoyaltyType() {\n return new Promise((resolve) => {\n this.getLoyaltyType().then((loyaltyType) => {\n this.getLoyalty().then((data: any) => {\n if (GeneralSetting.getUseLoyaltyKiosk() == 'True') {\n this.isLoyalty = data;\n }\n if (data) {\n this.loyaltyType = loyaltyType;\n GeneralSetting.setShowLoyaltyLogin('True');\n } else {\n GeneralSetting.setShowLoyaltyLogin('False');\n this.loyaltyType = LoyaltyType.None;\n }\n resolve(data);\n });\n });\n });\n }\n //use in console for testing levelup QR scan in staging levelUp sandbox\n // for successful payment:\n // window.postMessage({'messageType':'ScannerResult','result':\"LU03009VHH9103JJZOR1V0Q0030000LU\"})\n // for earning points only / unsuccessful payment:\n // window.postMessage({'messageType':'ScannerResult','result':\"LU03009VHH4PJST65RNGCV00030000LU\"})\n /**\n * @description handles levelUp calls with both proposal and completion.\n * @description levelUp order complete API requires that the proposal and the completion have the same value for discount_only parameter\n * @returns {-{Promise} containing response from 'RedeemLoyaltyRewardV3'} or a boolean false\n * @todo refactor POS integrations (ParBrink, Oracle) to be called after proposal, use this function in all places for levelUp order propose and levelUp order complete\n * @todo POS integrations should have an order validate call made after the levelUp order propose, and the levelUp order complete should occur before the POS order complete. this function should handle levelUp propose, call POS validate and handle levelUp complete\n */\n levelUpPayment() {\n return new Promise(async (resolve, reject) => {\n if (this.levelUpObject.order!.proposed_order.discount_only) {\n await this.proposeLevelUpOrder(\n this.cartService.getCartItems(),\n true\n ).then((data: any) => {\n if (data.statusCode == '200' && data.status == 'success') {\n this.levelUpObject.proposal = data.data.proposed_order;\n this.completeLevelUpOrder(true).then(\n (data: any) => {\n resolve(data);\n },\n (err: any) => {\n reject(err);\n }\n );\n } else {\n resolve(false);\n }\n });\n } else {\n this.completeLevelUpOrder(true).then(\n (data: any) => {\n resolve(data);\n },\n (err: any) => {\n reject(err);\n }\n );\n }\n });\n }\n /**\n * @description used to complete a levelUp proposed order. If user is paying with loyalty app payment and the levelUp proposed order was made with discount_only as true, a new proposal must be made with discount_only as false\n * @param payment whether user is paying with the Loyalty-App-saved payment method, defaults false if not passed\n * @returns {-{Promise} containing response from 'RedeemLoyaltyRewardV3'}\n * @todo move to API service and implement retries\n */\n completeLevelUpOrder(payment: boolean = false) {\n const url = this.apiUrl + 'RedeemLoyaltyRewardV3';\n let headers = new HttpHeaders()\n .set('Version', '1.0')\n .set('Content-Type', 'application/json')\n .set('CompanyID', GeneralSetting.getCompanyId())\n .set('BranchID', GeneralSetting.getBranchId())\n .set('DeviceID', 'sdfsd15145151515');\n let body = {\n levelUpCompletedOrder: {\n completed_order: {\n applied_discount_amount: this.levelUpObject.proposal!.discount_amount,\n discount_only: !payment,\n identifier_from_merchant: this.payment.getRandomOrderNo(),\n location_id: Number(GeneralSetting.getLevelUpLocationId()),\n partial_authorization_allowed: !payment ? true : false,\n payment_token_data: this.levelUpObject.qr\n ? this.levelUpObject.qr\n : GeneralSetting.getCustomerLoginMobile(),\n proposed_order_uuid: this.levelUpObject.proposal!.uuid,\n spend_amount:\n this.cartService.total +\n this.levelUpObject.proposal!.discount_amount -\n this.cartService.tip,\n tax_amount: CommonFunctions.roundDigit(this.cartService.tax, 2),\n tip_amount: Number(this.cartService.tip),\n items: [] as LevelUpItem[],\n },\n },\n };\n let data = this.levelUpItemFormatter(this.cartService.getCartItems());\n body.levelUpCompletedOrder.completed_order.items = data.items;\n return this.http.post(url, body, { headers }).toPromise();\n }\n /**\n * @description calls levelUp proposal if possible or resolves an empty object in the event that levelUp has failed in the current user session\n * @param cart current cart items, used to generate payload for levelUp proposal\n * @param payment boolean value corresponding to whether the user is paying with their Loyalty-App-saved payment method\n * @returns {-{Promise} containing response from 'LevelUpProposedOrderSK' or an empty object\n */\n proposeLevelUpOrder(cart: ItemV2[], payment: boolean = false) {\n // if (!this.levelUpObject.fail) {\n const url = this.apiUrl + 'LevelUpProposedOrderSK';\n let headers = new HttpHeaders()\n .set('Version', '1.0')\n .set('Content-Type', 'application/json')\n .set('CompanyID', GeneralSetting.getCompanyId())\n .set('BranchID', GeneralSetting.getBranchId())\n .set('DeviceID', 'sdfsd15145151515');\n const body = this.assembleLevelUpOrder(cart, payment);\n this.levelUpObject.order = body;\n return this.http.post(url, body, { headers }).toPromise();\n // } else {\n // return new Promise((resolve) => {\n // resolve({});\n // });\n // }\n }\n /**\n * @description sends log to Grubbrr backend with specific error details\n */\n logBadLevelUpProposal() {\n let log = new loggingData(\n 'LevelUp Error',\n 'Error Proposing LevelUp Order',\n 'Bad Data Error',\n 'Encountered Error While Proposing Order:' +\n JSON.stringify(this.levelUpObject.order),\n true\n );\n this.logger.sendLogToServer(log);\n }\n /**\n *\n * @param cart current cart items, used to generate payload for levelUp proposal\n * @param payment boolean value corresponding to whether the user is paying with their Loyalty-App-saved payment method\n * @returns {-{LevelUpProposal} object structured for levelUp API payload\n */\n assembleLevelUpOrder(cart: ItemV2[], payment: boolean = false) {\n let body: LevelUpProposal = {\n proposed_order: {\n payment_token_data: this.levelUpObject.qr\n ? this.levelUpObject.qr\n : this.levelUpObject.originalQr ? this.levelUpObject.originalQr : GeneralSetting.getCustomerLoginMobile(),\n discount_only: !payment,\n receipt_message_html: null,\n tax_amount: 0,\n tip_amount: 0,\n identifier_from_merchant: this.payment.getRandomOrderNo(),\n partial_authorization_allowed: false,\n location_id: Number(GeneralSetting.getLevelUpLocationId()),\n spend_amount: 0,\n exemption_amount: 0,\n items: [],\n },\n };\n let data = this.levelUpItemFormatter(cart);\n body.proposed_order.spend_amount = data.amount;\n body.proposed_order.items = data.items;\n body.proposed_order.exemption_amount = data.exemption\n return body;\n }\n /**\n * @description should not be called directly, helper for assembleLevelUpOrder\n * @param cart current cart items, used to generate payload for levelUp proposal\n * @returns object containing charged amount and array of items, used as part of levelUp payloads\n */\n private levelUpItemFormatter(cart: ItemV2[]) {\n let arr = [];\n let amount: number = 0;\n let exemption: number = 0\n for (let i = 0; i < cart.length; i++) {\n let item: LevelUpItem = {\n item: {\n charged_price_amount: cart[i].totalPrice!,\n description: cart[i].FullDescription,\n name:\n cart[i].ItemName && cart[i].ItemName != ''\n ? cart[i].ItemName\n : cart[i].Name && cart[i].Name != ''\n ? cart[i].Name\n : cart[i].KOTDisplayName,\n quantity: Number(cart[i].Quantity),\n sku: cart[i].RefItemId!,\n category: cart[i].CategoryName,\n standard_price_amount: cart[i].totalPrice!,\n children: [],\n }, \n };\n if (!cart[i].IsCombo) {\n if (cart[i].totalPrice) {\n amount += cart[i].totalPrice!;\n }\n if (cart[i].Modifiers && cart[i].Modifiers.length > 0) {\n for (let j = 0; j < cart[i].Modifiers.length; j++) {\n let temp: ModifierIngredientV2[] = this.nestedModCheck(\n cart[i].Modifiers[j]\n );\n\n for (let k = 0; k < temp.length; k++) {\n item.item.children.push({\n item: {\n charged_price_amount: Number(temp[k].ExtraPrice),\n description: '',\n name: temp[k].Name,\n quantity: Number(temp[k].Quantity),\n },\n });\n }\n }\n }\n } else {\n if (cart[i].totalPrice) {\n amount += cart[i].totalPrice!;\n }\n if (cart[i].ComboGroup && cart[i].ComboGroup.length > 0) {\n for (let j = 0; j < cart[i].ComboGroup.length; j++) {\n if (cart[i].ComboGroup[j].Items) {\n for (let k = 0; k < cart[i].ComboGroup[j].Items.length; k++) {\n if (cart[i].ComboGroup[j].Items[k].isSelected) {\n let tempItem: any = {\n item: {\n charged_price_amount: Number(\n cart[i].ComboGroup[j].Items[k].Price\n ),\n quantity: Number(cart[i].ComboGroup[j].Items[k].Quantity),\n description: '',\n name: cart[i].ComboGroup[j].Items[k].Name,\n children: [],\n },\n };\n if (\n cart[i].ComboGroup[j].Items[k].Modifiers &&\n cart[i].ComboGroup[j].Items[k].Modifiers.length\n ) {\n for (\n let l = 0;\n l < cart[i].ComboGroup[j].Items[k].Modifiers.length;\n l++\n ) {\n let temp: ModifierIngredientV2[] = this.nestedModCheck(\n cart[i].ComboGroup[j].Items[k].Modifiers[l]\n );\n for (let m = 0; m < temp.length; m++) {\n tempItem.item.children.push({\n charged_price_amount: Number(temp[m].ExtraPrice),\n description: '',\n name: temp[m].Name,\n quantity: Number(temp[m].Quantity),\n });\n }\n }\n }\n item.item.children.push(tempItem);\n }\n }\n }\n }\n }\n }\n if (cart[i].ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()) {\n exemption += cart[i].totalPrice!\n }\n arr.push(item);\n }\n return { amount: amount, items: arr, exemption: exemption };\n }\n /**\n * @description checks if object is a mofiifer or an ingredient\n * @ifModifier recursively checks for ingredients and modifiers if selected\n * @ifIngredient pushes to arr if selected\n * @param modifier object to check\n * @param arr array of selected ingredients\n * @returns array of selected ingredients\n */\n private nestedModCheck(modifier: any, arr: any[] = []) {\n if (modifier.IsModifier) {\n //received nested\n if (modifier.IsSelected) {\n for (let i = 0; i < modifier.Ingredients.length; i++) {\n if (modifier.Ingredients[i].IsIngredient) {\n if (modifier.Ingredients[i].IsSelected) {\n arr.push(modifier.Ingredients[i]);\n }\n } else {\n arr = this.nestedModCheck(modifier.Ingredients[i], arr);\n }\n }\n }\n return arr;\n } else {\n for (let i = 0; i < modifier.Ingredients.length; i++) {\n if (modifier.Ingredients[i].IsIngredient) {\n if (modifier.Ingredients[i].IsSelected) {\n arr.push(modifier.Ingredients[i]);\n }\n } else {\n //found nested\n arr = this.nestedModCheck(modifier.Ingredients[i], arr);\n }\n }\n return arr;\n }\n }\n /**\n * @param qr the value obtained from the QR code scanner\n * @returns {-{Promise} containing response from OLO_SigninwithQRCodeV2SK}\n * @todo create data model for API response, move to API service and implement retries\n */\n oloPunchhQRLogin(qr: string) {\n let basket = {\n QRCode: qr,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n return this.http\n .post(this.baseApiUrl + 'OLO_SigninwithQRCodeV2SK', basket, {\n headers,\n })\n .toPromise();\n }\n\n /**\n * @description Controller function that creates a user account in Referrizer or Punchh\n * @implements {createReferrizerCustomer(firstName, phone)}\n * @implements {createPunchhCustomer(firstName,phone,lastName,email, password)}\n * @returns data stream containing information in the form of getLoyaltyCustomerResponse\n * @param firstName used in Referrizer and Punchh\n * @param phone used in Referrizer and Punchh\n * @param lastName required in Punchh\n * @param email required in Punchh\n * @param password required in Punchh\n */\n createLoyaltyCustomer(\n firstName: string,\n phone: string,\n lastName?: string,\n email?: string,\n password?: string\n ) {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return this.createReferrizerCustomer(firstName, phone);\n } else if (this.loyaltyType == LoyaltyType.OLOPunchh) {\n return this.createOLOPunchhCustomer(\n firstName,\n phone,\n lastName!,\n email!,\n password!\n );\n } else {\n return null;\n }\n }\n\n /**\n * @description removes applied rewards to ensure no rewards are lost if order is canceled/abandoned.\n * @description Used only after OLO order validation, and before payment is received\n * @returns {-{Promise} containing response from 'OLO_RemoveAppliedRewardV2SK'}\n * @todo move to API service and implement retries, create data model for API response\n */\n removeOLOPunchhReward(): Promise {\n let basket = {\n rewardid: this.punchhAppliedRewardID,\n basketid: this.userService.punchhLoyaltyCustomer.basketID,\n };\n\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n return this.http\n .post(this.baseApiUrl + 'OLO_RemoveAppliedRewardV2SK', basket, {\n headers,\n })\n .toPromise();\n }\n\n /**\n * @description Applies the selected reward to the OLO basket\n * @description This should only be done immediately before OLO order validation\n * @returns {-{Promise} containing response from OLO_ApplyRewardsToBasketV2SK}\n * @todo move to API service and implement retries, create data model for API response\n */\n applyOLOPunchhReward() {\n let basket = {\n references: [this.selectedLoyaltyReward],\n basketid: this.userService.punchhLoyaltyCustomer.basketID,\n membershipid: this.userService.punchhLoyaltyCustomer.MembershipID,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n\n return this.http\n .post(this.baseApiUrl + 'OLO_ApplyRewardsToBasketV2SK', basket, {\n headers,\n })\n .toPromise();\n }\n /**\n * @description removes applied rewards to ensure no rewards are lost if order is canceled/abandoned.\n * @description Used only after OLO order validation, and before payment is received\n * @returns {-{Promise} containing response from 'OLO_RemoveAppliedRewardV2SK'}\n * @todo move to API service and implement retries, create data model for API response\n */\n removeOLOPaytronixReward(): Promise {\n let basket = {\n rewardid: this.oloPaytronixAppliedRewardID,\n basketid: this.userService.paytronixCustomer.basketid,\n };\n\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n return this.http\n .post(this.baseApiUrl + 'OLO_RemoveAppliedRewardV2SK', basket, {\n headers,\n })\n .toPromise();\n }\n /**\n * @description Applies the selected reward to the OLO basket\n * @description This should only be done immediately before OLO order validation\n * @returns {-{Promise} containing response from OLO_ApplyRewardsToBasketV2SK}\n * @todo move to API service and implement retries, create data model for API response\n */\n applyOLOPaytronixReward() {\n let basket = {\n references: [this.selectedLoyaltyReward],\n basketid: this.userService.paytronixCustomer.basketid,\n membershipid: this.userService.paytronixCustomer.membershipid,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n\n return this.http\n .post(this.baseApiUrl + 'OLO_ApplyRewardsToBasketV2SK', basket, {\n headers,\n })\n .toPromise();\n }\n /**\n * @description sends an email containing reset instructions to the passed parameter\n * @param {-{string} email used to identify the account to send password reset instructions to}\n * @returns {-{Promise} containing response from SSO_ForgoPasswordV2SK}\n * @response response.statusCode='200' && response.message='' is a success response. In failure, message will not be empty\n * @todo regex validator on either end of function call to validate passed parameter\n * @todo move to API service and implement retries, create data model for API response\n */\n punchhForgotPassword(email: string) {\n let payload = {\n email: email,\n password: null,\n phone: null,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n return this.http\n .post(this.baseApiUrl + 'SSO_ForgoPasswordV2SK', payload, {\n headers,\n })\n .toPromise();\n }\n\n /**\n * @description checks which rewards are available to a user based on their current basket\n * @description should not be called directly.\n * @returns {-Observable data stream containing response from OLO_BasketQualifyingRewardsV2SK\n * @todo move to API service and implement retries, create data model for API response, convert to promise\n */\n oloPunchhBasketRewardCheck() {\n let basket = {\n authtoken: this.userService.punchhLoyaltyCustomer.authtoken,\n basketid: this.userService.punchhLoyaltyCustomer.basketID,\n membershipid: this.userService.punchhLoyaltyCustomer.MembershipID,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n return this.http.post(\n this.baseApiUrl + 'OLO_BasketQualifyingRewardsV2SK',\n basket,\n { headers }\n );\n }\n /**\n * @description creates OLO basket and associates with paytronix authtoken\n * @param productList array of pre-formatted items to be sent\n * @returns {-{Promise} containing response from OLO_CreateBasketV2SK\n * @todo move to API service and implement retries, create data model for API response\n */\n oloPaytronixCreateBasket(productList: any[]) {\n let basket = {\n authtoken: this.userService.paytronixCustomer.authtoken,\n Products: productList,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n return this.http\n .post(this.baseApiUrl + 'OLO_CreateBasketV2SK', basket, { headers })\n .toPromise();\n }\n /**\n * @description creates OLO basket\n * @returns {-{Observable} data stream containing response from OLO_CreateBasketV2SK\n * @param {-{OLOChainProduct[ ]} param passed in by parent function used to create basket\n * @todo move to API service and implement retries, create data model for API response, convert to promise\n */\n oloPunchhCreateBasket(productList: any[]) {\n let basket = {\n authtoken: this.userService.punchhLoyaltyCustomer.authtoken,\n Products: productList,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n\n return this.http.post(\n this.baseApiUrl + 'OLO_CreateBasketV2SK',\n basket,\n { headers }\n );\n }\n\n /**\n * @description creates new Punchh loyalty user\n * @returns data stream containing response from SSO_SignupV2SK in the form of getLoyaltyCustomerResponse\n * @param first_name passed as payload parameter\n * @param last_name passed as payload parameter\n * @param phone passed as payload parameter\n * @param email passed as payload parameter\n * @param password passed as payload parameter\n * @todo move to API service and implement retries, convert to promise\n */\n private createOLOPunchhCustomer(\n first_name: string,\n last_name: string,\n phone: string,\n email: string,\n password: string\n ): Observable {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n\n const modal = {\n email: email,\n password: password,\n phone: phone,\n first_name: first_name,\n last_name: last_name,\n };\n\n return this.http.post(\n this.baseApiUrl + 'SSO_SignupV2SK',\n modal,\n { headers }\n );\n }\n\n /**\n * @description used to create a customer visit for Referrizer users\n * @returns {-{Promise-boolean} resolves true if successful customer visit is created}\n * @implements {createReferrizerVisit(orderTotal)}\n * @param {-{string} orderTotal passed to helper functions}\n * @todo add handling for levelUp\n */\n createCustomerVisit(orderTotal: string): Promise {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return new Promise((resolve) => {\n this.createReferrizerVisit(orderTotal).then((data: boolean) => {\n resolve(data);\n });\n });\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n //need levelUp implementation\n return new Promise((resolve) => {\n resolve(false);\n });\n } else {\n return new Promise((resolve) => {\n resolve(false);\n });\n }\n }\n\n /**\n * @description returns customer visit history for Referrizer users\n * @implements {getReferrizerVisit()}\n * @returns {-{Observable} if Referrizer user}\n * @returns {-{null} if loyalty type is not Referrizer}\n */\n getCustomerVisit() {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return this.getReferrizerVisit();\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n return Promise.resolve(); //need levelUp implementation\n } else {\n return Promise.resolve(); //need error handling\n }\n }\n\n /**\n * @description returns customer information from grubbrr backend related to the phone number passed after validating with Punchh\n * @description should not be called directly\n * @returns {-{Observable} data stream containing response from OLO_SigninwithPhoneV2SK in the form of getLoyaltyCustomerResponse}\n * @param {-{string} phone passed as payload parameter}\n * @todo move to API service and implement retries, create data model for API response, convert to promise\n */\n getPunchhCustomer(phone: string) {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n\n .set('Version', '2')\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId);\n\n let modal = {\n Phonenumber: phone,\n };\n return this.http.post(\n this.baseApiUrl + 'OLO_SigninwithPhoneV2SK',\n modal,\n { headers }\n );\n }\n\n /**\n * @description returns customer information directly from Punchh\n * @description should not be called directly\n * @returns {-{Observable} data stream containing response from SSO_SigninV2SK in the form of getLoyaltyCustomerResponse}\n * @param {-{string} email passed as payload parameter}\n * @param {-{string} password passed as payload parameter}\n * @todo move to API service and implement retries, create data model for API response, convert to promise\n */\n getPunchhCustomerExternal(email: string, password: string, phone: string) {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('Version', '2')\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId);\n let modal = {\n email: email,\n password: password,\n phone: phone,\n };\n\n return this.http.post(\n this.baseApiUrl + 'SSO_SigninV2SK',\n modal,\n { headers }\n );\n }\n\n /**\n * @description controller function\n * @returns {-{Observable} data stream containing customer information in the form of getLoyaltyCustomerResponse\n * @param {-{string} phone passed as parameter to child functions\n * @param {-{string} email required for Punchh customers if phone number isn't found in grubbrr system. Used for first-time grubbrr visits from existing punchh customers\n * @param {-{string} password required for Punchh customers if phone number isn't found in grubbrr system. Used for first-time grubbrr visits from existing punchh customers\n * @todo convert subscriptions to promises and implement error handling for all child functions as a child function here\n */\n getLoyaltyCustomerByPhone(\n phone: string,\n email: string = '',\n password: string = '',\n isQr: boolean = false\n ) {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return this.api.getReferrizerCustomerByPhone(phone);\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n return this.api.getLevelUpCustomerByPhone(phone, isQr);\n } else if (this.loyaltyType == LoyaltyType.OLOPunchh) {\n if (isQr) {\n return this.api.oloPunchhQRLogin(phone);\n } else if (email == '' && password == '') {\n return this.api.getPunchhCustomer(phone);\n } else {\n return this.api.getPunchhCustomerExternal(email!, password!, phone);\n }\n } else if (this.loyaltyType == LoyaltyType.OLOPaytronix) {\n return this.api.getOLOPaytronixCustomer(email, password);\n } else {\n return; //need error handling\n }\n }\n\n /**\n * @description Controller function for retrieving loyalty rewards suitable for use with any loyaltyType\n * @implements {getReferrizerRewards( ) for referrizer users\n * @implements {getPunchhRewards( ), getValidationProductData( ), cartService.getItemsV2( ) for OLOPunchh users\n * @returns {-Promise containing data related to available rewards\n * @todo additional error handling\n */\n getLoyaltyRewards() {\n return new Promise((resolve, reject) => {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n this.getReferrizerRewards().then(\n (data: ReferrizerLoyaltyRewardDetail[]) => {\n resolve(data);\n }\n );\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n resolve(true); //need levelUp implementation\n } else if (this.loyaltyType == LoyaltyType.OLOPunchh) {\n let items = this.olo.getValidationProductData(\n this.cartService.getCartItems()\n );\n this.getPunchhRewards(items).then(\n (data: any) => {\n if (data) {\n resolve(data.data.rewards);\n } else {\n //user not signed in\n resolve(null);\n }\n },\n (err: any) => {\n // console.log('getPunchhRewards error: ', err);\n //need error handling\n resolve(null);\n }\n );\n } else if (this.loyaltyType == LoyaltyType.OLOPaytronix) {\n let items = this.olo.getValidationProductData(\n this.cartService.getCartItems()\n );\n this.getOLOPaytronixRewards(items).then((data: any) => {\n if (data) {\n resolve(data.data.rewards);\n } else {\n //user not signed in\n resolve(null);\n }\n });\n } else {\n //should never reach this block\n resolve(true); //need error handling\n }\n });\n }\n /**\n * @description checks for and returns user rewards from Paytronix\n * @returns response from OLO_BasketQualifyingRewardsV2S\n * @todo move to API service and implement retries, create data model for API response\n */\n oloPaytronixBasketRewardCheck() {\n let basket = {\n authtoken: this.userService.paytronixCustomer.authtoken,\n basketid: this.userService.paytronixCustomer.basketid,\n IsPaytronix: 1,\n };\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2');\n return this.http\n .post(this.baseApiUrl + 'OLO_BasketQualifyingRewardsV2SK', basket, {\n headers,\n })\n .toPromise();\n }\n /**\n * @description generates basket and associates baskt with paytronix user if logged in, fetches rewards if applicable\n * @param items array of pre-formmatted items passed to oloPaytronixCreateBasket function\n * @returns response from OLO_BasketQualifyingRewardsV2S if user logged in or false otherwise\n * @todo create data model for API response\n */\n getOLOPaytronixRewards(items: OLOChainProduct[]) {\n return new Promise((resolve, reject) => {\n this.oloPaytronixCreateBasket(items).then(\n (data: any) => {\n if (data.statusCode === '200' && data.data) {\n if (data.data.basket) {\n this.userService.paytronixCustomer.basketid = data.data.basket.id;\n }\n if (this.userService.paytronixCustomer.authtoken != '') {\n this.oloPaytronixBasketRewardCheck().then(\n (data) => {\n if (data.status == 'success' && data.statusCode == '200') {\n this.loyaltyRewards = data.data.rewards;\n this.subLoyaltyRewards.next(this.loyaltyRewards);\n resolve(data);\n } else {\n reject(data);\n }\n },\n (err) => {\n // console.log(err);\n reject(err);\n }\n );\n } else {\n resolve(false);\n }\n }\n },\n (err) => {\n // console.log(err);\n if (err.status == '500') {\n reject(err);\n }\n }\n );\n });\n }\n /**\n * @description creates basket and checks basket for qualifying rewards\n * @implements {punchhBasketRewardCheck( ), oloPunchhCreateBasket(items)}\n * @returns {-{Promise} containing rewards if found, boolean false otherwise}\n * @param {-OLOChainProduct[ ] items used to create basket data }\n */\n getPunchhRewards(items: OLOChainProduct[]) {\n return new Promise((resolve, reject) => {\n this.oloPunchhCreateBasket(items)\n .toPromise()\n .then(\n (data: any) => {\n if (data.statusCode === '200' && data.data) {\n if (data.data.basket) {\n this.userService.punchhLoyaltyCustomer.basketID =\n data.data.basket.id;\n }\n if (this.userService.punchhLoyaltyCustomer.MembershipID != '') {\n this.oloPunchhBasketRewardCheck()\n .toPromise()\n .then(\n (data) => {\n if (\n data.status == 'success' &&\n data.statusCode == '200'\n ) {\n this.loyaltyRewards = data.data.rewards;\n this.subLoyaltyRewards.next(this.loyaltyRewards);\n resolve(data);\n }\n },\n (err) => {\n // console.log(err);\n }\n );\n } else {\n resolve(false);\n }\n }\n },\n (err) => {\n // console.log(err);\n if (err.status == '500') {\n reject(err);\n }\n }\n );\n });\n }\n /**\n * @description controller function to call points-based redemption for all loyalties, currently supports referrizer only as no other supported loyalty integrations are points-based\n * @param rewardId passed to redeemReferrizerPoints\n * @param itemId passed to redeemReferrizerPoints\n * @returns response from appropriate loyalty point redemption API\n * @todo convert parameters to object for ease of access with future loyalty integrations\n */\n redeemLoyaltyPoints(rewardId: string, itemId: string) {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return this.redeemReferrizerPoints(rewardId, itemId);\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n return; //need levelUp implementation\n } else {\n return; //need error handling\n }\n }\n /**\n * @description controller function to update points for all loyalties, currently supports referrizer only as no other supported loyalty integrations are points-based\n * @param points passed to updateReferrizerPoints\n * @returns response from appropriate loyalty point update API\n * @todo convert parameters to object for ease of access with future loyalty integrations\n */\n updateLoyaltyPoints(points: number) {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return this.updateReferrizerPoints(points);\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n return; //need levelUp implementation\n } else {\n return; //need error handling\n }\n }\n /**\n * @description controller function to get specific reward redemption details for all loyalties, currently supports referrizer only as no other supported loyalty integrations require specific reward checks\n * @description not used to fetch customer available rewards, used to confirm the customer selected reward is still available\n * @param rewardId passed to getCustomerReferrizerReward\n * @param phone passed to getCustomerReferrizerReward\n * @returns response from appropriate loyalty reward check API\n * @todo convert parameters to object for ease of access with future loyalty integrations\n */\n getCustomerLoyaltyReward(rewardId: string, phone: string) {\n if (this.loyaltyType == LoyaltyType.Referrizer) {\n return this.getCustomerReferrizerReward(rewardId, phone);\n } else if (this.loyaltyType == LoyaltyType.LevelUp) {\n return; //need levelUp implementation\n } else {\n return; //need error handling\n }\n }\n /**\n * @description creates a visit in the referrizer database for the customer and handles errors\n * @param orderTotal\n * @returns {-{Promise} containing boolean value corresponding to a successful visit creation\n * @todo move to API service and implement retries, add handling for error block\n */\n createReferrizerVisit(orderTotal: string): Promise {\n return new Promise((resolve) => {\n if (!Object.keys(this.userService.referrizerLoyaltyUser).length) {\n resolve(true);\n } else {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n const visit = {\n contactId: this.userService.referrizerLoyaltyUser.id,\n id: this.userService.referrizerLoyaltyUser.id,\n amount: orderTotal,\n };\n this.http\n .post(\n this.baseApiUrl + 'CreateCustomerVisitV3',\n visit,\n { headers }\n )\n .toPromise()\n .then(\n (res: any) => {\n if (res.statusCode == '200' && res.status == 'success') {\n this.customerVisitRes = res.data;\n resolve(true);\n } else {\n //error\n }\n },\n (err) => {\n var log = new loggingData(\n 'Loyalty Visit Error',\n 'Encountered Error on CreateCustomerVisitV3',\n `Error Loyalty`,\n `Encountered Error Creating Visit ${visit}: ${err}`,\n true\n );\n this.logger.sendLogToServer(log);\n resolve(true);\n }\n );\n }\n });\n }\n /**\n * @description fetches last visit date and customer details, used to confirm visit was successfully created\n * @returns response from GetLastVisitByCustomerV2SK\n * @todo move to API service and implement retries, create data model for API response\n */\n getReferrizerVisit() {\n if (\n this.userService.referrizerLoyaltyUser == null ||\n this.userService.referrizerLoyaltyUser.id == ''\n ) {\n return Promise.resolve({} as any);\n }\n\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n\n const visit = {\n contactId: this.userService.referrizerLoyaltyUser.id,\n id: this.userService.referrizerLoyaltyUser.id,\n };\n\n return this.http\n .post(this.baseApiUrl + 'GetLastVisitByCustomerV2SK', visit, {\n headers,\n })\n .toPromise();\n }\n // /**\n // * @description should not be called directly\n // * @description fetches Paytronix customer with entered data. No other sign in calls used, paytronix does not use phone number\n // * @param username username of the user to be fetched\n // * @param password password of the user to be fetched\n // * @todo convert to promise, move to API service and implement retries\n // */\n // getOLOPaytronixCustomer(username: string, password: string) {\n // this.branchId = GeneralSetting.getBranchId();\n // this.companyId = GeneralSetting.getCompanyId();\n // const headers = new HttpHeaders()\n // .set('CompanyID', this.companyId)\n // .set('BranchID', this.branchId);\n // let body = {\n // username: username,\n // password: password,\n // };\n\n // return this.http.post(\n // this.baseApiUrl + 'OLOPaytronixAuthenticateGuest',\n // body,\n // { headers }\n // );\n // }\n /**\n * @description fetches Referrizer loyalty rewards\n * @returns {-{Promise} containing response from GetAllLoyaltyRewardsV2SK\n * @todo move to API service and implement retries\n */\n getReferrizerRewards() {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0')\n .set('Content-Type', 'application/json')\n .set('Accept', 'application/json');\n\n return this.http\n .post(\n this.baseApiUrl + 'GetAllLoyaltyRewardsV2SK',\n '',\n { headers }\n )\n .toPromise();\n }\n /**\n *\n * @param rewardId the ID of the reward being redeemed\n * @param itemId the ID of the item being redeemed\n * @returns {{-Promise} containing response from RedeemLoyaltyRewardV3\n * @todo move to API service and implement retries, create data model for API response\n */\n redeemReferrizerPoints(rewardId: string, itemId: string) {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n\n const lrp = {\n contactId: this.userService.referrizerLoyaltyUser.id,\n RewardID: rewardId,\n ItemID: itemId,\n };\n\n return this.http\n .post(this.baseApiUrl + 'RedeemLoyaltyRewardV3', lrp, { headers })\n .toPromise();\n }\n /**\n * @description to refund points to a referrizer user\n * @param points the number of points to manually add to a referrizer user\n * @todo move to API service and implement retries\n */\n updateReferrizerPoints(points: number) {\n if (points <= 0) return;\n\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId);\n\n const req = {\n contactId: this.userService.referrizerLoyaltyUser.id,\n pointsValue: points,\n };\n\n this.http\n .post(this.baseApiUrl + 'UpdateLoyaltyPointsV3', req, { headers })\n .toPromise()\n .then((data) => {\n this.updateRewardSub.next(points);\n });\n\n }\n /**\n * @description confirms that user is able to redeem the rewrad. Some referrizer rewards can be used only `x` times per guest\n * @param rewardId ID of redeemed reward\n * @param phone phone number of guest redeeming the reward\n * @returns response from GetCustomerLoyaltyRewardV3\n * @todo convert to promise, move to API service and implement retries\n */\n getCustomerReferrizerReward(rewardId: string, phone: string) {\n if (\n this.userService.referrizerLoyaltyUser == null ||\n this.userService.referrizerLoyaltyUser.id == ''\n ) {\n return null;\n }\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n\n const modal = {\n id: rewardId,\n contactID: this.userService.referrizerLoyaltyUser.id,\n email: '',\n phone: phone,\n };\n\n return this.http.post(\n this.baseApiUrl + 'GetCustomerLoyaltyRewardV3',\n modal,\n { headers }\n );\n }\n /**\n * @description should not be called directly\n * @description checks to see if current location has an active loyalty program\n * @returns Promise containing boolean value such that `true` if active loyalty program, else `false`\n */\n getLoyalty() {\n return new Promise((resolve) => {\n var sqlStr =\n 'SELECT IsActive FROM LoyaltyPrograms WHERE IsActive = \"True\"';\n\n const callback = (tx: string, data: any) => {\n if (data.rows.length > 0) {\n resolve(true);\n } else {\n resolve(false);\n }\n };\n\n const error = (err: any) => {\n var log = new loggingData(\n 'Loyalty Program Error',\n 'Loyalty Program Encountered Error Fetching data',\n 'Loyalty Error',\n `Loyalty Program Encountered Error: ${err}`,\n true\n );\n this.logger.sendLogToServer(log);\n resolve(false);\n };\n\n DatabaseHandler.executeSqlStatement(sqlStr, [], callback, error);\n });\n }\n /**\n * @description should not be called directly\n * @description checks company-mapped loyalty programs, sets loyaltyService.loyaltyInfo and\n * @returns Promise containing number corresponding to LoyaltyType\n */\n getLoyaltyType() {\n return new Promise((resolve) => {\n var sqlStr = `SELECT TPLM.ThirdPartyLoyaltyID\n ,TPLCM.ThirdPartyLoyaltyID\n , TPLM.Name\n , TPLM.IsActive \n FROM ThirdPartyLoyaltyMasters \n AS TPLM \n JOIN ThirdPartyLoyaltyCompanyMappings as TPLCM ON \n TPLCM.ThirdPartyLoyaltyID=TPLM.ThirdPartyLoyaltyID\n WHERE TPLM.IsActive = 'True'\n `;\n const callback = (tx: string, data: any) => {\n if (data.rows.length > 0) {\n this.loyaltyInfo = data.rows;\n resolve(Number(this.loyaltyInfo[0].ThirdPartyLoyaltyID));\n }\n };\n const error = (err: any) => {\n var log = new loggingData(\n 'Loyalty Program Error',\n 'Loyalty Program Encountered Error Fetching data from local DB',\n 'Loyalty Error',\n `Loyalty Program Encountered Error: ${err}`,\n true\n );\n this.logger.sendLogToServer(log);\n resolve(0);\n };\n DatabaseHandler.executeSqlStatement(sqlStr, [], callback, error);\n });\n }\n /**\n *\n * @param name name of the guest. This will be used to refer to the guest in frontend and to identify guest in backend\n * @param phone phoe number associated with guest. this will be used as primary key in Referrizer's databse, and will be used to lookup guest in Grubbrr's database\n * @returns response from CreateLoyaltyCustomerV3\n * @todo convert to promise, move to API service and implement retries\n */\n createReferrizerCustomer(name: string, phone: string) {\n this.branchId = GeneralSetting.getBranchId();\n this.companyId = GeneralSetting.getCompanyId();\n\n const headers = new HttpHeaders()\n .set('CompanyID', this.companyId)\n .set('BranchID', this.branchId)\n .set('Version', '2.0');\n\n const modal = {\n firstName: name,\n lastName: '',\n phone,\n email: '',\n };\n\n return this.http.post(\n this.baseApiUrl + 'CreateLoyaltyCustomerV3',\n modal,\n { headers }\n );\n }\n\n chosenItemList: ItemV2[] = [];\n\n itemsWaiting: boolean = false;\n /**\n * @description in Last5Orders flow, users can add items to the cart without selecting an order type. This leads to missing tax details\n * @description chosenItemList is used as a temporary holding area for items from Last5Orders orders added before order type is selected\n * @description removes items in chosenItemList screen before user selects an order type\n * @param item the item to be removed\n */\n removeFromCart(item: any) {\n const chosenItemList = [] as ItemV2[];\n\n for (let i = 0; i < this.chosenItemList.length; i++) {\n const cartItem = this.chosenItemList[i];\n\n if (JSON.stringify(cartItem) != JSON.stringify(item)) {\n if (cartItem.guid && cartItem.guid != item.guid) {\n chosenItemList.push(cartItem);\n } else {\n if (\n cartItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n ) {\n const curr = Number(GeneralSetting.getCurrentCountofAlkol());\n GeneralSetting.setCurrentCountofAlkol(\n curr - Number(cartItem.Quantity)\n );\n }\n }\n } else {\n if (\n cartItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n ) {\n const curr = Number(GeneralSetting.getCurrentCountofAlkol());\n GeneralSetting.setCurrentCountofAlkol(\n curr - Number(cartItem.Quantity)\n );\n }\n }\n }\n\n this.chosenItemList = chosenItemList;\n }\n /**\n * @description in Last5Orders flow, users can add items to the cart without selecting an order type. This leads to missing tax details\n * @description chosenItemList is used as a temporary holding area for items from Last5Orders orders added before order type is selected\n * @description adds all items from chosenItemList to the cart\n */\n async addToCart() {\n for (let i = 0; i < this.chosenItemList.length; i++) {\n let a = await this.cartService.createCartItemV2(this.chosenItemList[i]);\n await this.cartService.addToCartAsync(a, true, true);\n }\n this.chosenItemList = [];\n this.itemsWaiting = false;\n }\n}\n","import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { CommonFunctions } from 'src/app/services/common';\n\n@Component({\n selector: 'app-refund-success',\n templateUrl: './refund-success.component.html',\n styleUrls: ['./refund-success.component.css'],\n})\nexport class RefundSuccessComponent implements OnInit, OnDestroy {\n ref!: NgbModalRef;\n refundedText: string = '';\n languageSub!: Subscription;\n \n constructor(\n private modalService: NgbModal,\n private language: LanguageService\n ) {}\n \n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n \n loadText() {\n this.refundedText = this.language.getTextElement('msg_order_refunded');\n }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.closeAfterDelay();\n }\n\n private async closeAfterDelay() {\n await CommonFunctions.delay(5000);\n if (this.ref && this.ref != null) {\n this.ref.close();\n }\n }\n\n public static open(modalService: NgbModal) {\n let ref = modalService.open(RefundSuccessComponent, {\n centered: true,\n size: 'md',\n });\n ref.componentInstance.ref = ref;\n return ref;\n }\n\n open() {\n this.ref = this.modalService.open(RefundSuccessComponent, {\n centered: true,\n size: 'md',\n });\n this.ref.componentInstance.ref = this.ref;\n return this.ref;\n }\n}\n","\n
\n
{{refundedText}}
\n
\n","import { Injectable } from \"@angular/core\";\nimport Pusher from \"pusher-js\";\nimport { PusherMaster } from \"../models/PusherMaster\";\nimport { DatabaseService } from \"./database.service\";\nimport { Router } from '@angular/router';\n// declare const Pusher: any;\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { Subject } from \"rxjs/internal/Subject\";\nimport { PusherModel, PusherPriceChangeNotification } from \"../models/PusherModel\";\nimport { loggingData,LogService } from \"./log.service\";\nimport { HealthLogService } from \"./kiosk-health-log.service\";\nimport { KioskUpgradeService } from \"./kiosk-upgrade.service\";\nimport { RemoteInstallNotification } from \"./api/Models\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class PusherService {\n\n pusher: any;\n\n channel: any;\n\n branchId: any;\n\n pusherMaster: PusherMaster[] = [] as PusherMaster[];\n\n Item86ModifierDetails:Subject = new Subject();\n CommonModifier86:Subject = new Subject();\n Ingredient86:Subject = new Subject();\n Item86:Subject = new Subject();\n ItemPrice:Subject = new Subject();\n ItemStatus:Subject = new Subject();\n ItemIsActive:Subject = new Subject();\n ConcessionaireIsActive:Subject = new Subject();\n\n // constructor() {\n // this.pusher = new Pusher(environment.pusher.key, {\n // cluster: environment.pusher.cluster,\n // });\n // this.channel = this.pusher.subscribe(sessionStorage.getItem('branchId')!);\n // }\n\n constructor(private readonly db: DatabaseService,\n private router: Router,\n private healthLogService: HealthLogService,\n private logService: LogService, private readonly upgradeService: KioskUpgradeService) {\n const pusherData = localStorage.getItem(\"pusherData\");\n\n try {\n if (pusherData && pusherData != \"\") {\n this.pusherMaster = JSON.parse(pusherData);\n\n if (this.pusherMaster && this.pusherMaster.length > 0) {\n localStorage.setItem(\"pusherData\", JSON.stringify(this.pusherMaster));\n\n this.pusher = new Pusher(this.pusherMaster[0].AppKey, {\n cluster: this.pusherMaster[0].Cluster,\n });\n let branchId = GeneralSetting.getBranchId();\n\n if (!branchId) {\n branchId = this.branchId;\n }\n if (!this.channel && (this.channel == null || this.channel == undefined)) { \n this.channel = this.pusher.subscribe(branchId);\n this.bindPusherFunctions();\n }\n \n \n }\n }\n }\n catch (e) { console.log(e);}\n\n }\n\n\n async getPusherKeys(isLogin: boolean = false) {\n\n if (isLogin) {\n if (this.pusherMaster && this.pusherMaster.length > 0) {\n localStorage.setItem(\"pusherData\", JSON.stringify(this.pusherMaster));\n\n this.pusher = new Pusher(this.pusherMaster[0].AppKey, {\n cluster: this.pusherMaster[0].Cluster,\n });\n\n let branchId = GeneralSetting.getBranchId();\n\n if (!branchId) {\n branchId = this.branchId;\n }\n if (!this.channel && (this.channel == null || this.channel == undefined)) {\n this.channel = this.pusher.subscribe(branchId);\n this.bindPusherFunctions()\n }\n \n return;\n }\n }\n\n this.pusherMaster = await this.db.getPusherCredentials();\n\n if (this.pusherMaster && this.pusherMaster.length > 0) {\n localStorage.setItem(\"pusherData\", JSON.stringify(this.pusherMaster));\n\n this.pusher = new Pusher(this.pusherMaster[0].AppKey, {\n cluster: this.pusherMaster[0].Cluster,\n });\n\n \n let branchId = GeneralSetting.getBranchId();\n\n if (!branchId) {\n branchId = this.branchId;\n }\n\n this.channel = this.pusher.subscribe(branchId);\n\n this.bindPusherFunctions()\n }\n\n }\n\n private bindPusherFunctions() {\n if (!this.channel) {\n return;\n }\n\n this.channel.bind('UpgradeKioskApp', async (data: RemoteInstallNotification) => {\n let getSerialNo = GeneralSetting.getSerialNo();\n if(data?.deviceIds && data.deviceIds.length > 0 && data.deviceIds.includes(getSerialNo)) {\n setTimeout( () => {\n if(data?.kioskReleaseInformation?.PackageUrl) {\n this.upgradeService.KioskUpgradeEvents.next(data);\n }\n },1000);\n }\n })\n\n this.channel.bind('UpdateHealthLog', async (data: string) => {\n let getSerialNo = GeneralSetting.getSerialNo();\n if(data && (data == getSerialNo) ){\n this.healthLogService.sendHealthLog(true);\n } else if(!data) {\n this.healthLogService.sendHealthLog(false); \n }\n })\n \n this.channel.bind('notification', async (data: any) => {\n if (data.title === 'Update_Menu' || data.title === 'MenuRefresh') {\n this.db.isDoRefresh = true;\n this.db.MenuRefresh.next(this.db.isDoRefresh);\n if(this.router.url =='/settings'){\n this.db.isRefreshedinSettings = true;\n } else {\n this.db.isRefreshedinSettings = false;\n }\n var log = new loggingData(\n 'Update Menu',\n 'Update Menu success',\n 'Menu Sync Successfully',\n 'Update Menu',\n true\n );\n this.logService.sendLogToServer(log);\n }\n \n if (data.title == \"ConcessionaireIsActive\") {\n const obj = JSON.parse(data.body);\n const ConcessionaireId = obj.ItemID;\n const status = obj.Status;\n this.db.updateConcessionaireActiveById(ConcessionaireId, status);\n this.ConcessionaireIsActive.next({ ItemId: obj.ItemID, Status: obj.Status });\n }\n\n if (data.title === 'Item86' || data.title === 'ItemStatus') {\n const obj = JSON.parse(data.body);\n const itemId = obj.ItemID;\n const status = obj.Status;\n\n this.db.updateItem86ById(itemId, status);\n setTimeout(() => {\n this.Item86.next({ ItemId: itemId, Status: status });\n },1000);\n }\n\n if (data.title === 'ItemPrice') {\n const obj = JSON.parse(data.body);\n const itemId = obj.ItemID;\n const price = obj.Price;\n\n var success = await this.db.updateItemPriceById(itemId, price);\n if(success)\n this.ItemPrice.next({ ItemId: itemId, Price: price });\n }\n\n if (data.title === 'IsActive') {\n const obj = JSON.parse(data.body);\n const itemId = obj.ItemID;\n const status = obj.Status;\n this.db.updateItemStatusById(itemId, status);\n setTimeout(() => {\n this.ItemIsActive.next({ ItemId: itemId, Status: status });\n },1000);\n }\n\n if (data.title === 'CommonModifier86' || data.title === 'Modifier86') {\n const obj = JSON.parse(data.body);\n const itemId = obj.ItemID;\n const status = obj.Status;\n this.db.updateModifierStatusById(itemId, status);\n\n setTimeout(() => {\n\n this.CommonModifier86.next({\n ItemId: itemId,\n Status: status\n });\n \n },1000);\n }\n\n if (data.title === 'Ingredient86') {\n const obj = JSON.parse(data.body);\n const itemId = obj.ItemID;\n const status = obj.Status;\n this.db.updateIngredientStatusById(itemId, status);\n\n setTimeout(() => {\n\n this.Ingredient86.next({\n ItemId: itemId,\n Status: status\n });\n \n },1000);\n }\n\n if (data.title === 'Item86ModifierDetails') {\n let obj = JSON.parse(data.body);\n const itemId = obj.IngredientID;\n const status = obj.Status;\n\n this.db.updateIngredientStatusById(itemId, status);\n\n setTimeout(() => {\n this.Item86ModifierDetails.next({\n ItemId: itemId,\n Status: status\n });\n \n },1000);\n }\n\n });\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DataService } from 'src/app/services/data.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { environment } from 'src/environments/environment';\nimport { ItemV2, ComboGroupV2 } from '../../../models/item';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\n\n@Component({\n selector: 'app-combogroup',\n templateUrl: './combogroup.component.html',\n styleUrls: ['./combogroup.component.css'],\n})\nexport class CombogroupComponent implements OnInit {\n items = [] as ItemV2[];\n\n @Input() comboGroupIndex: number = 0;\n @Input() parentQuantity: number = 1;\n\n @Input() comboGroups: ComboGroupV2 = {} as ComboGroupV2;\n\n @Input() ItemType: number = 1;\n\n @Input() IsCategory: boolean = false;\n\n @Output() comboGroupChange: EventEmitter<{\n comboGroup: ComboGroupV2;\n index: number;\n }> = new EventEmitter<{ comboGroup: ComboGroupV2; index: number }>();\n\n @Output() SelectedItem: EventEmitter = new EventEmitter();\n languageSub!: Subscription;\n primaryColor: string;\n positiveColor: string;\n negativeColor: string;\n\n // used for collapse logic\n collapsed: boolean = false;\n showByDefault: boolean = true;\n showDropDown: boolean = true;\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n imageRadius: string = '';\n bordersTypeItem: boolean = false;\n placeholderImage : string = '';\n\n constructor(\n private readonly isKioskService: IsKioskService,\n private language: LanguageService,\n private readonly dataService : DataService\n ) {\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.positiveColor = GeneralSetting.getPositiveColor();\n this.negativeColor = GeneralSetting.getNegativeColor();\n }\n requiredText: string = '';\n maxSelectionsTextA: string = '';\n maxSelectionsTextB: string = '';\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n if (this.comboGroups && Object.keys(this.comboGroups).length > 0)\n this.items = this.comboGroups.Items;\n this.imageRadius = GeneralSetting.getBorderPercentage();\n this.bordersTypeItem =\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n }\n ngOnDestroy() {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText() {\n this.requiredText = this.language.getTextElement('txt_required');\n this.maxSelectionsTextA = this.language.getTextElement('maximum_number_of_selections_error_msg_a');\n this.maxSelectionsTextB = this.language.getTextElement('maximum_number_of_selections_error_msg_b');\n }\n selectedItem() {\n this.SelectedItem.emit();\n }\n\n parentChange(event: ComboGroupV2) {\n this.comboGroups = event;\n this.comboGroupChange.emit({\n comboGroup: this.comboGroups,\n index: this.comboGroupIndex,\n });\n this.collapsed = this.comboGroups.max == this.comboGroups.count;\n }\n\n // by default a modifier should be open, only collapse once a user has clicked\n cancelDefault() {\n this.showByDefault = false;\n }\n\n filterData() {\n const Name = [] as string[];\n\n const data = this.items.filter((obj) => obj.isSelected) as ItemV2[];\n for (let i = 0; i < data.length; i++) {\n Name.push(data[i].Name ?? '');\n }\n\n return Name;\n }\n\n collapse() {\n this.showDropDown = false;\n this.collapsed = !this.collapsed;\n this.showByDefault = false;\n }\n}\n","\n \n
\n
\n \n {{ Name }}{{!isLast ? ', ' : ''}}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{maxSelectionsTextA}} {{maxSelectionsTextB}} \n
\n
","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { GeneralSetting } from \"../../../services/generalSetting.service\";\nimport { ItemV2 } from \"../../../models/item\";\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-builder-mode-header',\n templateUrl: './builder-mode-header.component.html',\n styleUrls: ['./builder-mode-header.component.css']\n})\nexport class BuilderModeHeaderComponent implements OnInit,OnDestroy {\n\n constructor(private language: LanguageService){}\n @Input() Item: ItemV2 = new ItemV2();\n\n StartAtStr: string = \"\";\n hideStartAt: any;\n priceStr: string = '';\n\n primaryColor: string | null = '';\n priceColor: string | null = \"\";\n\n savings = 0;\n\n itemPrice = 0;\n\n languageSub!: Subscription\n regularPriceText:string=''\n savingsText:string=''\n startsAtText:string=''\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.regularPriceText = this.language.getTextElement('txt_regular_price');\n this.savingsText = this.language.getTextElement('txt_savings');\n this.startsAtText = this.language.getTextElement('txt_starts_at');\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.StartAtStr = GeneralSetting.getCurrencySymbol();\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.priceColor = GeneralSetting.getPriceColor();\n\n this.hideStartAt = GeneralSetting.getHideStartsAtForVariablePrice();\n\n if (this.Item.Variations && this.Item.Variations.length > 0) {\n const firstVariation = this.Item.Variations[0];\n\n if (firstVariation && firstVariation.variationOptions.length > 0 && this.hideStartAt === \"False\") {\n firstVariation.IsSelected = true;\n\n this.StartAtStr = this.startsAtText;\n this.priceStr = this.StartAtStr;\n }\n }\n\n this.savings = (this.Item.OldPrice == undefined || isNaN(this.Item.OldPrice as any)) ? Number(this.Item.Price) : Number(this.Item.OldPrice) - Number(this.Item.Price);\n\n this.itemPrice = Number(this.Item.Price);\n\n }\n\n}\n","\n","import {\n Component,\n OnInit,\n Output,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { cartSlideIn } from 'src/app/animations';\nimport { CartService } from 'src/app/services/cart.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from 'src/environments/environment';\nimport { CartComponent } from 'src/app/components/cart/cart.component';\nimport { AlcoholicItemsExceedMaxComponent } from 'src/app/components/dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { ItemV2 } from 'src/app/models/item';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DataService } from 'src/app/services/data.service';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\nimport { DiscountService } from 'src/app/services/discount.service';\nimport { ItemV2 as Item} from 'src/app/models/item';\nimport { ParBrinkService } from 'src/app/services/par-brink.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\n\n@Component({\n selector: 'app-scan-cart-item',\n templateUrl: './scan-cart-item.component.html',\n styleUrls: ['./scan-cart-item.component.css'],\n animations: [cartSlideIn],\n})\nexport class ScanCartItemComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n private allSubsCription: Subscription[] = [];\n\n isCartOpen: boolean = true;\n\n @Input() cart!: CartComponent;\n\n @Input() removeAlk!: boolean;\n\n @Input() isHybrid: boolean = false;\n\n @Output() changePrice = new EventEmitter();\n\n @Output() isCartOpenChange = new EventEmitter();\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n cartItems: ItemV2[] = [];\n\n branchLogo: string = '';\n\n loyaltyType: number = 0;\n\n textColor: string = '';\n\n priceColor: string = '';\n\n bordersTypeItem: boolean = false;\n\n imageRadius: string = '';\n\n primaryColor: string = '';\n\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n upsellItemText: string = '';\n\n rewardItemText: string = '';\n\n yourItemsText: string = '';\n\n placeholderImage : string = '';\n\n fixedItemDisc : FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n constructor(\n private readonly cartService: CartService,\n private readonly loyaltyService: LoyaltyService,\n private readonly isKioskService: IsKioskService,\n private readonly router: Router,\n private database: DatabaseService,\n private language: LanguageService,\n private readonly modalService: NgbModal,\n private readonly dataService : DataService,\n private discountService: DiscountService,\n private parbrink:ParBrinkService,\n public keyboardService: KeyboardService,\n ) {\n\n }\n\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n\n this.branchLogo = GeneralSetting.getBranchLogo();\n this.textColor = GeneralSetting.getTextColor();\n this.priceColor = GeneralSetting.getPriceColor();\n this.primaryColor = GeneralSetting.getPrimaryColor();\n\n this.getItems(true);\n this.loyaltyType = this.loyaltyService.loyaltyType;\n this.imageRadius = GeneralSetting.getBorderPercentage();\n this.bordersTypeItem =\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n this.cartService.cartItemsComponent = undefined;\n\n this.setSubscription();\n this.setFixedItemDisc();\n }\n\n ngAfterViewInit() {\n this.getItems(true);\n this.cartService.cartItemsComponent = undefined;\n }\n\n async setFixedItemDisc(){\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n }\n\n loadText() {\n this.rewardItemText = this.language.getTextElement('lbl_loyalty_item');\n this.upsellItemText = this.language.getTextElement('lbl_upsell_item');\n this.yourItemsText = this.language.getTextElement('your_items');\n }\n\n private setSubscription() {\n this.allSubsCription.push(\n this.cartService.doScrollCart.subscribe((data) => {\n this.scrollCart();\n })\n );\n this.allSubsCription.push(\n this.cartService.subCartItems.subscribe((data : Item[]) => {\n this.getItems(false);\n //this.changePrice.emit(true);\n })\n );\n this.allSubsCription.push(\n this.cartService.sub_subtotal.subscribe((data) => {\n this.updateFixedItemOnSubtotal(data);\n })\n );\n }\n\n getItems(shouldScroll: boolean) {\n const cartItems = this.cartService.getCartItems();\n\n if (!GeneralSetting.getIsRemovePricingAndPayments()) {\n for (let ciI = 0; ciI < cartItems.length; ciI++) {\n const item = cartItems[ciI];\n item.totalPrice = CommonFunctions.getItemPrice(item) * Number(item.Quantity);\n }\n }\n\n if (shouldScroll) {\n this.cartService.doScrollCart.next(true);\n //this.cartService.scrollCart();\n }\n\n this.cartItems = cartItems;\n\n }\n\n getCurrentQuantity(item: any) {\n const cartItems = this.cartService.getCartItems();\n this.cartItems = cartItems;\n\n let qty = 0;\n for (let cartItem of this.cartItems) {\n if (cartItem.ItemID === item.ItemID) {\n qty += Number(cartItem.Quantity);\n }\n }\n return qty;\n }\n\n async removeFromCart(cartItem: ItemV2) {\n const quantityInCart = cartItem.Quantity;\n if (quantityInCart === undefined) return;\n this.cartService.removeFromCart(cartItem);\n if (cartItem.IsLoyaltyDiscountItem) {\n this.loyaltyService.punchhAppliedRewardID = '';\n this.loyaltyService.oloPaytronixAppliedRewardID = '';\n this.loyaltyService.selectedLoyaltyReward = '';\n this.loyaltyService.subSelectedLoyaltyReward.next('');\n }\n\n this.getItems(true);\n this.changePrice.emit(true);\n if (this.cartItems.length == 1) {\n if (this.cartItems[0].IsLoyaltyDiscountItem) {\n this.removeFromCart(this.cartItems[0]);\n }\n }\n }\n\n getFormattedURL(item: any): string {\n return (\n (item.ImageUrl &&\n (item.ImageUrl.startsWith(this.baseImageUrl)\n ? item.ImageUrl\n : this.baseImageUrl + item.ImageUrl)) ||\n (this.placeholderImage !=''? this.baseImageUrl+this.placeholderImage : '')\n );\n }\n\n checkAlkolLimit(\n element: ItemV2,\n currValue: any,\n totalComboAlcoholCount: any = 0\n ) {\n const alkolMax = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n if (alkolMax !== null && Number(alkolMax) > 0) {\n if (Number(element.OrderMaximumQuantity.toString()) > 0) {\n element.OrderMaximumQuantity = Math.min(\n Number(element.OrderMaximumQuantity.toString()),\n Number(alkolMax)\n );\n } else {\n element.OrderMaximumQuantity = Number(alkolMax);\n }\n\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n currValue,\n true\n );\n if (newAlcoholCount <= Number(alkolMax)) {\n if (currValue < element.OrderMaximumQuantity) {\n element.Quantity = (currValue + 1).toString();\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n }\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n }\n }\n\n increaseAmount(item: ItemV2) {\n // Checks fixed item quantity limit\n if(this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0){\n var isFixedItemAvail = this.discountService.isFixedItemAvail(this.fixedItemDisc[0],item);\n if(isFixedItemAvail){\n return;\n }\n }\n\n let currentQty = this.getCurrentQuantity(item);\n const value = Number(item.Quantity);\n const quantity = Number(item.Quantity);\n const maxNo = Number(item.OrderMaximumQuantity);\n const alkolMax = Number(GeneralSetting.getMaxAlcoholicItemsPerOrder());\n var isCombo = item.IsCombo.toString();\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'false') {\n if (!maxNo) {\n if (\n item.ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n const currentAlcohol = Number(\n GeneralSetting.getCurrentCountofAlkol()\n );\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = String(quantity + 1);\n GeneralSetting.increaseAlcohol(1);\n this.changePrice.emit(true);\n }\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = String(quantity + 1);\n this.changePrice.emit(true);\n }\n } else if (value == maxNo) {\n let error = this.language.getTextElement('item_has_max_quantity')\n error = error.replace(\"%d\", String(maxNo))\n Snackbar.show(error, 2500)\n } else {\n if (\n item.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n const currentAlcohol = Number(\n GeneralSetting.getCurrentCountofAlkol()\n );\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = String(quantity + 1);\n GeneralSetting.increaseAlcohol(1);\n this.changePrice.emit(true);\n }\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = String(quantity + 1);\n currentQty++;\n this.changePrice.emit(true);\n }\n }\n } else {\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item)\n if (totalComboAlcoholCount > 0) {\n this.checkAlkolLimit(item, value, totalComboAlcoholCount)\n } else {\n const maxQuantity = Number(item.OrderMaximumQuantity.toString())\n if (maxQuantity > 0) {\n if (value < Number(maxQuantity)) {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = (value + 1).toString()\n } else {\n let error = this.language.getTextElement('item_has_max_quantity')\n Snackbar.show(`${error} ${maxQuantity}`, 2500)\n }\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = (value + 1).toString()\n }\n }\n }\n this.getItems(false);\n }\n\n decreaseAmount(item: ItemV2, index: number) {\n let currentQty = this.getCurrentQuantity(item);\n const value = Number(item.Quantity);\n var isCombo = item.IsCombo.toString();\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'false') {\n const quantity = Number(item.Quantity);\n let minNo = item.OrderMinimumQuantity;\n if (!minNo) {\n minNo = 1;\n }\n if (quantity > minNo) {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = String(quantity - 1);\n this.changePrice.emit(true);\n if (\n item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()\n ) {\n GeneralSetting.decreaseAlcohol();\n }\n if (item.CurrentStock != null) {\n let newOne = this.database.categorySubject.getValue();\n for (let i = 0; i < newOne.length; i++) {\n if (newOne[i].CategoryID == item.CategoryID) {\n for (let j = 0; j < newOne[i].associatedItems!.length; j++) {\n if (newOne[i].associatedItems![j].ItemID == item.ItemID) {\n newOne[i].associatedItems![j].CurrentStock = (\n Number(newOne[i].associatedItems![j].CurrentStock) + 1\n ).toString();\n if (\n Number(newOne[i].associatedItems![j].CurrentStock) >\n Number(newOne[i].associatedItems![j].LowThreshold)\n ) {\n newOne[i].associatedItems![j].SoldOut = false;\n }\n this.database.categorySubject.next(newOne);\n break;\n }\n }\n break;\n }\n }\n }\n } else {\n if (currentQty == 1) {\n this.removeFromCart(item);\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = (value - 1).toString();\n }\n }\n } else {\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item);\n if (totalComboAlcoholCount > 0) {\n if (currentQty == 1) {\n this.removeFromCart(item);\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = (currentQty - 1).toString();\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n currentQty,\n false\n );\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n }\n } else {\n if (currentQty == 1) {\n this.removeFromCart(item);\n } else {\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n item.Quantity = (value - 1).toString();\n }\n }\n }\n this.getItems(false);\n }\n\n editItem(item: ItemV2) {\n\n this.keyboardService.KeyboardStatus = false;\n\n const direction: string = CommonFunctions.getItemType(item, true);\n if (direction == 'menu') {\n return false;\n }\n if(GeneralSetting.getParBrinkIntegrationID()!=''){\n this.parbrink.edited=true\n }\n this.router.navigate([`/${direction}`], {\n queryParams: {\n id: item.ItemID,\n category: item.CategoryID,\n guid: item.guid,\n concessionaireId: item.ConcessionaireId,\n },\n })\n return false;\n }\n\n scrollID(guid: string) {\n let item = document.getElementById(guid);\n console.dir({ ...item, guid });\n if (item) item.scrollIntoView();\n }\n\n private scrollCart() {\n setTimeout(() => {\n var element = document.getElementById('cart-list');\n if (element) {\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollLeft,\n change = to - start,\n startDate = +new Date();\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollLeft = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollLeft = to;\n }\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(element?.scrollWidth - element?.clientWidth, 300);\n }\n }, 100);\n }\n\n /**\n * Check and alert after every subtotal update if fixed item available in the cart\n * @param subtotal\n */\n private async updateFixedItemOnSubtotal(subtotal : number){\n var fixedItemDiscount = await this.discountService.checkFreeItemOnSubtotalUpdate(subtotal);\n this.findFixedItemOperation(fixedItemDiscount);\n }\n\n /**\n * Check fixed item's Quantity need to be updated or removed from the cart\n * @param fixedItemDiscount\n */\n private findFixedItemOperation(fixedItemDiscount : any){\n if(fixedItemDiscount && fixedItemDiscount != undefined){\n const cartItems = this.cartService.getCartItems().filter(\n (x) => x.ItemID == fixedItemDiscount.ItemID\n );\n if(cartItems && cartItems != undefined && cartItems.length > 0){\n if(fixedItemDiscount.Check == 1){\n var decQty = Number(cartItems[0].Quantity) - fixedItemDiscount.FixedQty;\n for(var i=0; i\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\n\n@Component({\n selector: 'app-order-type-warning',\n templateUrl: './order-type-warning.component.html',\n styleUrls: ['./order-type-warning.component.css'],\n})\nexport class OrderTypeWarningComponent implements OnInit,OnDestroy {\n positiveColor: string | null = GeneralSetting.getPositiveColor();\n modalRef!: NgbModalRef;\n languageSub!: Subscription;\n uhOhText: string = '';\n okText: string = '';\n contactManagerText: string = '';\n constructor(\n private modalService: NgbModal,\n private logger: LogService,\n private language: LanguageService\n ) {}\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText() {\n this.uhOhText = this.language.getTextElement('titile_uh_oh');\n this.okText = this.language.getTextElement('lbl_ok');\n this.contactManagerText = this.language.getTextElement('please_contact_manager_order_type_is_not_available');\n }\n open() {\n this.modalRef = this.modalService.open(OrderTypeWarningComponent, {\n size: 'lg',\n centered: true,\n });\n this.modalRef.componentInstance.modalRef = this.modalRef;\n }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n cancel() {\n var log = new loggingData(\n 'Order Type Warning',\n 'Order Types Not Available',\n 'Configuration Error',\n 'No Order Types Available',\n true\n );\n this.logger.sendLogToServer(log);\n this.modalRef.close();\n }\n}\n","\n
\n
\n
{{uhOhText}}
\n
{{contactManagerText}}
\n
\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'numberConvert'\n})\nexport class NumberConvertPipe implements PipeTransform {\n\n transform(value:any): number {\n return Number(value);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\n@Component({\n selector: 'app-smb-discounts-alert',\n templateUrl: './smb-discounts-alert.component.html',\n styleUrls: ['./smb-discounts-alert.component.css']\n})\nexport class SMBDiscountsAlertComponent implements OnInit {\n modalReference:NgbModalRef|undefined\n message:string=''\n languageSub!:Subscription \n continueText:string=''\n constructor(\n private language:LanguageService) { }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.continueText=this.language.getTextElement('lbl_continue')\n }\n close(){\n if(this.modalReference){\n this.modalReference.close()\n }\n }\n public static open( modalService:any,x:string=''){\n let modalReference = modalService.open(SMBDiscountsAlertComponent, {\n backdrop: 'static',\n centered: true, \n size: 'lg ',\n });\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.message = x;\n return modalReference;\n }\n}\n","\n
\n {{message}}\n
\n
\n {{continueText}}\n \n
\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { Snackbar } from 'src/app/services/common';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { PaymentTotalRowComponent } from '../../payment-total-row/payment-total-row.component';\n\n@Component({\n selector: 'app-pay-with-idcard-login',\n templateUrl: './pay-with-idcard-login.component.html',\n styleUrls: ['./pay-with-idcard-login.component.css']\n})\nexport class PayWithIdcardLoginComponent implements OnInit, OnDestroy {\n @ViewChild(PaymentTotalRowComponent) paymentRow!: PaymentTotalRowComponent\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n private allSubsCription: Subscription[] = [];\n total: number = 0\n subtotal: number = 0\n tax: number = 0\n discount: number = 0\n reward: number = 0\n shipping: number = 0\n\n showPayment: boolean = false\n modalReference: any;\n paymentType: string = '';\n title: string = '';\n subTitle: string = '';\n label_submit: string = '';\n languageSub!: Subscription;\n checkoutText: string = '';\n holdBarcodeText: string = '';\n memberid: string = '';\n keySub!:Subscription\n isKiosk = this.isKioskService.isKiosk();\n constructor(\n private modalService: NgbModal,\n private language: LanguageService,\n private isKioskService: IsKioskService,\n private KeyboardService: KeyboardService,\n ) { }\n\n loadText() {\n this.checkoutText = this.language.getTextElement('lbl_checkout').toLocaleUpperCase();\n this.holdBarcodeText = this.language.getTextElement('hold_barcode_to_scanner')\n }\n\n ngOnInit(): void {\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n this.loadData();\n this.memberid = '';\n // this.subscribeToValueChange();\n }\n\n public static open(modelService: NgbModal, paymentType: string, total: number = 0, subtotal: number = 0, tax: number = 0, shipping: number = 0, discount: number = 0, reward: number = 0, showPayment: boolean = false) {\n var modalReference = modelService.open(PayWithIdcardLoginComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n })\n modalReference.componentInstance.modalReference = modalReference\n modalReference.componentInstance.showPayment = showPayment\n modalReference.componentInstance.paymentType = paymentType\n modalReference.componentInstance.total = total\n modalReference.componentInstance.subtotal = subtotal\n modalReference.componentInstance.tax = tax\n modalReference.componentInstance.shipping = shipping\n modalReference.componentInstance.discount = discount\n modalReference.componentInstance.reward = reward\n return modalReference\n }\n\n doit2(){\n if(this.keySub){\n this.keySub.unsubscribe()\n }\n this.KeyboardService.newBoardSubject.next()\n }\n\n \n // used to open keyboard based on dialog required layout, maxlength and assign value to dialog/screen input field @jay\n doit(){\n this.KeyboardService.manual=true\n this.KeyboardService.maxLength=50\n this.KeyboardService.clearSub.next()\n this.KeyboardService.open(\"alphaNumeric\");\n this.KeyboardService.stringSub.next()\n this.keySub=this.KeyboardService.stringSub.subscribe((val)=>{\n this.modalReference.componentInstance.memberid=val\n })\n }\n\n loadData() {\n /**\n * Payment Types 1=Us Connect , 2 = ID Card\n */\n if (this.paymentType == '1') {\n //us connect\n this.title = this.checkoutText;\n this.subTitle = this.language.getTextElement('pay_with_us_connect');\n } else if (this.paymentType == '2') {\n //id card payment\n this.title = this.language.getTextElement('pay_with_id_card').toLocaleUpperCase();\n this.subTitle = this.language.getTextElement('please_enter_your_member_id');\n this.label_submit = this.language.getTextElement('lbl_submit');\n }\n }\n\n close(event: string) {\n this.KeyboardService.KeyboardStatus = false;\n this.modalReference.close(event);\n }\n\n // subscribeToValueChange() {\n // this.barcodeInput = new FormControl('');\n\n // this.allSubsCription.push(\n // this.barcodeInput.valueChanges\n // .pipe(debounceTime(400), distinctUntilChanged())\n // .subscribe((inputText) => {\n // this.modalReference.close({ eventtype: 'result', data: inputText });\n // //console.log(inputText);\n // })\n // );\n // }\n\n onSubmit(memberid: string) {\n\n if (memberid) {\n this.KeyboardService.KeyboardStatus = false;\n this.modalReference.close({ eventtype: 'result', data: memberid });\n }\n else {\n Snackbar.show(\"Please enter member id\", 2000);\n }\n }\n}\n","\n \n
\n \n × \n \n
{{title}} \n {{subTitle}} \n \n\n \n\n\n \n {{holdBarcodeText}}\n \n \n {{label_submit}} \n \n
\n ","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { Snackbar } from 'src/app/services/common';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-item-tent-popup',\n templateUrl: './item-tent-popup.component.html',\n styleUrls: ['./item-tent-popup.component.css'],\n})\nexport class ItemTentPopupComponent implements OnInit, OnDestroy {\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n headerText: string = '';\n\n bodyText: string = '';\n\n modalReference: any;\n\n tentNumber: any = null;\n\n isKiosk: boolean = false;\n \n validItemTentText: string = '';\n \n defaultBodyText: string = '';\n \n defaultHeaderText: string = '';\n \n languageSub!: Subscription;\n \n constructor(\n public modalService: NgbModal,\n private KeyboardService: KeyboardService,\n isKioskService: IsKioskService,\n private language: LanguageService\n ) {\n this.isKiosk = isKioskService.isKiosk();\n }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n\n if (GeneralSetting.getTableTentNumber() != '') {\n this.tentNumber = GeneralSetting.getTableTentNumber();\n }\n\n this.headerText =\n GeneralSetting.getItemTableTentHeaderText() == ''\n ? this.defaultHeaderText\n : GeneralSetting.getItemTableTentHeaderText();\n\n this.bodyText =\n GeneralSetting.getItemTableTentBodyText() == ''\n ? this.defaultBodyText\n : GeneralSetting.getItemTableTentBodyText();\n\n this.KeyboardPopup();\n }\n // add click event on first input field @jay\n KeyboardPopup(){\n let itemTentEle: HTMLElement = document.getElementById('itemTent') as HTMLElement;\n itemTentEle.click();\n }\n \n loadText() {\n this.validItemTentText = this.language.getTextElement( 'please_enter_a_valid_item_tent_number' );\n this.defaultBodyText = this.language.getTextElement( 'enter_a_tent_number_and_we_will_bring_this_item_to_your_table' );\n this.defaultHeaderText = this.language.getTextElement( 'enter_tent_number_for_this_item' );\n }\n\n public static open(modalService: NgbModal) {\n let modalReference = modalService.open(ItemTentPopupComponent, {\n //backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.tentNumber = '';\n return modalReference;\n }\n\n open() {\n let modalReference = this.modalService.open(ItemTentPopupComponent, {\n //backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.tentNumber = '';\n this.modalReference = modalReference;\n }\n\n \n\n confirmTent() {\n if ( this.tentNumber && this.tentNumber.length && this.tentNumber.length <= 3 && this.tentNumber != 0 ) {\n GeneralSetting.setIsItemTableTentAdded(true);\n this.KeyboardService.KeyboardStatus = false;\n\n let res = {\n tentNumber: this.tentNumber,\n status: 'ok',\n };\n\n this.modalReference.close(res);\n } else {\n Snackbar.show(this.validItemTentText, 2000);\n }\n }\n}\n","","import { Injectable } from '@angular/core';\nimport { GeneralSetting } from './generalSetting.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../environments/environment';\nimport { formatDate } from '@angular/common';\nimport { exception } from 'console';\nimport { CommonFunctions } from './common';\n\n@Injectable({\n providedIn: 'root'\n})\n// prettier-ignore\nexport class Verifone3CService {\n data: any;\n orderId: string = \"\";\n // cardType: string = \"\";\n\n sequenceNumber: string = \"\";\n requesterLocationId: string = \"\";\n requesterTransRefNum: string = \"\";\n eftSettlementType: string = \"\";\n emvScenarioId: string = \"\";\n emvTerminalId: string = \"\";\n timeStamp: string = \"\";\n\n resultReason: string = \"\";\n\n // prettier-ignore\n public sendErrorToServer(errorCode: any, nameOfFunction: any, errorDetail: any, debug: any) {\n const errorLog = new loggingData(\n \"Verifone3C \" + errorCode + \" error\",\n \"Verifone3C failed in: \" + nameOfFunction,\n \"verifone3C.service.ts\",\n \"\\n\" + errorCode + \" error\" + \": in \" + nameOfFunction +\n \"\\n\" + \"Detail: \" + errorDetail +\n \"\\n\" + \"Debug: \" + JSON.stringify(debug),\n true\n );\n\n this.logger.sendLogToServer(errorLog);\n }\n\n // prettier-ignore\n public sendExceptionToServer(type: any, exceptionDetail: any) {\n const errorLog = new loggingData(\n \"Verifone3C \" + type + \" exception\",\n \"Verifone3C \" + type + \" failed: Verifone3C \" + type + \" request exception\",\n \"verifone3C.service.ts\",\n \"\\n\" + type + \" > catch\" +\n \"\\n\" + \"Detail: \" + exceptionDetail,\n true\n );\n\n this.logger.sendLogToServer(errorLog);\n }\n \n // prettier-ignore\n public sendRefundToTerminal(order: any): Promise {\n // console.log(\"sendRefundToTerminal() is called\");\n\n var createdYearDate = CommonFunctions.getFormatedYearDate(order.CreatedDateFormat);\n var currentYearDateTime = formatDate(Date.now(), 'yyyyMMddHHmmss', 'en-US');\n\n var body = {\n sequenceNumber: order.OrderInvoiceNo.toString(),\n requesterLocationId: GeneralSetting.getEMVTerminalID(), // \"00002092\"\n requesterTransRefNum: createdYearDate + \"-\" + order.TokenCount,\n totalAmount: (Number(order.OrderTotal).toFixed(2)).toString(),\n emvTerminalId: GeneralSetting.getEMVTerminalID(),\n timeStamp: currentYearDateTime.toString()\n }\n\n return this.http.post(environment.NodeUrl + 'sendRefundToTerminal3C', body, { responseType: 'text' as 'json' })\n .toPromise()\n .then((response) => {\n const jsonResponse = JSON.parse(response.toString());\n // console.log(\"jsonResponse: \", jsonResponse);\n \n if (jsonResponse.Status == 'Approved') {\n return true;\n }\n else {\n this.sendErrorToServer(jsonResponse.ErrorMessage, \"sendRefundToTerminal()\", jsonResponse.ErrorMessage, jsonResponse.Debug);\n return false;\n }\n })\n .catch((exception) => {\n // console.log(\"exception in sendRefundToTerminal(): \", exception);\n this.sendExceptionToServer(\"refund\", exception);\n\n return false;\n })\n }\n\n // prettier-ignore\n public sendSaleToTerminal(orderId: any, chargeAmount: any, cartService: any, tax: any): Promise {\n /*\n // values check\n console.log(\"chargeAmount: \", chargeAmount);\n console.log(\"cartService.tip: \", cartService.tip);\n console.log(\"tax: \", tax);\n */\n this.orderId = orderId;\n\n var currentYearDate = formatDate(Date.now(), 'yyyyMMdd', 'en-US');\n var currentYearDateTime = formatDate(Date.now(), 'yyyyMMddHHmmss', 'en-US');\n \n var body = {\n sequenceNumber: orderId.toString(), // \"2\"\n requesterLocationId: GeneralSetting.getEMVTerminalID(), // \"00002092\"\n requesterTransRefNum: currentYearDate.toString() + \"-\" + (Number(GeneralSetting.getOrderInvoiceNo()) + 1).toString(), // \"20220202-001\"\n totalAmount: chargeAmount.toString(),\n emvTerminalId: GeneralSetting.getEMVTerminalID(), // \"00002092\"\n timeStamp: currentYearDateTime.toString()\n };\n \n return this.http.post(environment.NodeUrl + 'sendSaleToTerminal3C', body, { responseType: 'text' as 'json' })\n .toPromise()\n .then((response) => {\n const jsonResponse = JSON.parse(response.toString());\n // console.log(\"jsonResponse: \", jsonResponse);\n \n if (jsonResponse.Status == 'Approved') {\n return true;\n }\n else {\n this.resultReason = jsonResponse.ErrorMessage + ' Please try again.';\n this.sendErrorToServer(jsonResponse.ErrorMessage, \"sendSaleToTerminal()\", jsonResponse.ErrorMessage, jsonResponse.Debug);\n\n return false;\n }\n })\n .catch((exception) => {\n // console.log(\"exception in sendSaleToTerminal(): \", exception);\n this.sendExceptionToServer(\"sale\", exception);\n\n return false;\n })\n }\n\n // prettier-ignore\n constructor(\n private readonly logger: LogService,\n private http: HttpClient\n ) { }\n}","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { environment } from 'src/environments/environment';\nimport { vwOrderCustomMessage } from 'src/app/models/vwOrderCustomMessege';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-order-custom-messages',\n templateUrl: './order-custom-messages.component.html',\n styleUrls: ['./order-custom-messages.component.css']\n})\nexport class OrderCustomMessagesComponent implements OnInit {\n\n modalReference: any;\n\n title: string = \"\";\n\n beforeImageText: string = \"\";\n\n afterImageText: string = \"\";\n\n ImageUrl: string = \"\";\n\n baseImageUrl = this.isKioskService.isKiosk() ? environment.imageBaseUrl : environment.imageBaseUrlRemote;\n\n placeholderImage : string = '';\n\n constructor(private isKioskService: IsKioskService, private readonly dataService: DataService) { }\n \n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n }\n\n canceled() {\n this.modalReference.close(\"closed\");\n }\n\n}\n","\n
\n × \n \n
\n {{ title }}\n \n
\n
{{ beforeImageText }} \n
\n
\n
\n
{{ afterImageText }} \n
\n\n \n
","import { Component, OnInit, ViewChild, OnDestroy, NgZone, ChangeDetectorRef } from '@angular/core';\nimport { UpdateMenuComponent } from '../dialogs/update-menu/update-menu.component';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { formatDate } from '@angular/common';\nimport { EatOptionsService } from '../../services/eat-options.service';\nimport { fade, order } from 'src/app/animations';\nimport { StoreTime } from '../../models/storeTime';\nimport { eatOption } from '../../models/eat-option';\nimport { content } from '../../models/images';\nimport { ManagerPinDialogComponent } from '../manager-pin-dialog/manager-pin-dialog.component';\nimport { DatabaseHandler } from 'src/app/DatabaseHandler';\nimport { NgbCarouselConfig, NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { CustomerLoginPopupComponent } from '../../components/dialogs/customer-login-popup/customer-login-popup.component';\nimport { CustomerLoginModalService } from 'src/app/components/dialogs/customer-login-popup/customer-login-popup.service';\nimport { environment } from '../../../environments/environment';\nimport { Subscription } from 'rxjs';\nimport { TimeSyncService } from 'src/app/services/time-sync.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { ReturningCustomerDialogComponent } from 'src/app/components/dialogs/returning-customer-dialog/returning-customer-dialog.component';\nimport { PusherService } from 'src/app/services/pusher.service';\nimport { SaveSettingsService } from 'src/app/services/save-settings.service';\nimport { LoyaltyService } from '../../services/loyalty.service';\nimport { SetDefaultService } from '../../services/set-default.service';\nimport { OrderTypeWarningComponent } from '../dialogs/order-type-warning/order-type-warning.component';\nimport { ImageService } from '../../services/image.service';\nimport { DatabaseService } from '../../services/database.service';\nimport { GeneralSetting } from '../../services/generalSetting.service';\nimport { LogService, loggingData } from 'src/app/services/log.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { CommonFunctions, Snackbar } from 'src/app/services/common';\nimport { CartService } from 'src/app/services/cart.service';\nimport {\n Integration,\n IntegrationService,\n} from 'src/app/services/integration.service';\nimport { TimeoutComponent } from '../timeout/timeout.component';\nimport { OloErrorPopupComponent } from 'src/app/components/dialogs/olo-error-popup/olo-error-popup.component';\nimport { OracleService } from 'src/app/services/oracle.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { CustomerWelcomeModalComponent } from '../dialogs/customer-welcome-modal/customer-welcome-modal.component';\nimport { LoyaltyType } from 'src/app/models/loyaltyModal';\nimport { ParBrinkService } from 'src/app/services/par-brink.service';\nimport { LoginService } from 'src/app/services/login.service';\nimport { PaymentGatwayService } from 'src/app/services/payment-gatway.service';\nimport { FlexPairingService } from 'src/app/services/flex-pairing.service';\nimport { SMBDiscountService } from 'src/app/services/smb-discount.service';\nimport { LanguageName, Languages } from 'src/app/models/language';\nimport { KioskUpgradeService } from 'src/app/services/kiosk-upgrade.service';\nimport { RemoteInstallNotification } from 'src/app/services/api/Models';\nimport { RetryConfirmationDialogComponent } from '../dialogs/retry-confirmation-dialog/retry-confirmation-dialog.component';\nimport { PreloaderService } from 'src/app/services/preloader.service';\n@Component({\n selector: 'app-touch-to-start',\n templateUrl: './touch-to-start.component.html',\n styleUrls: ['./touch-to-start.component.css'],\n animations: [order, fade],\n})\nexport class TouchToStartComponent implements OnInit, OnDestroy {\n\n swapLanguage(str: string) {\n this.isShowOverlay = false\n this.cdr.detectChanges();\n this.language.setLocale(str)\n this.defaultLanguage = str\n this.getOptions()\n this.KeyboardService.newBoardSubject.next('')\n // this.db.setLanguageService(this.language)\n }\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n\n if (this.timeCheck) {\n clearInterval(this.timeCheck);\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n @ViewChild(ManagerPinDialogComponent) pinPadModal!: ManagerPinDialogComponent;\n\n @ViewChild(CustomerLoginPopupComponent)\n customerLoginPopup!: CustomerLoginPopupComponent;\n\n @ViewChild(ReturningCustomerDialogComponent)\n returnCustomerPopup!: ReturningCustomerDialogComponent;\n\n @ViewChild(OrderTypeWarningComponent)\n orderTypeWarning!: OrderTypeWarningComponent;\n\n @ViewChild(UpdateMenuComponent) updateMenuModal!: UpdateMenuComponent;\n\n @ViewChild(CustomerWelcomeModalComponent)\n welcome!: CustomerWelcomeModalComponent;\n\n @ViewChild('carousel') carousel: any;\n\n @ViewChild('videoPlayer') videoPlayer: any;\n\n isHidden: boolean = false;\n\n hoverStart: boolean = false;\n\n hoverReward: boolean = false;\n\n count: number = 0;\n\n isVideo = false;\n isParBrink: boolean = false;\n updateMenuModelRef!: any;\n\n doRefreshLater: boolean = false;\n\n isAlcoholicAgeLimitKnown: string | null = 'False';\n bkgdColor: string | null = '';\n optionColor: string | null = '';\n optionBorderColor: string | null = '';\n textColor: string | null = '';\n branchLogo: string | null = '';\n accentColor: string | null = '';\n storeClosedTimeMessage: string | null = '';\n showLanguagePicker = false;\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n options: eatOption[] = [];\n\n // imgArray: image[]= [];\n // videoArray: video[] = [];\n screenText: string | null | undefined = '';\n\n activeID: number = 0;\n\n hasContent: boolean = true;\n\n refreshRunning: boolean = false;\n\n refreshRequired: boolean = false;\n\n index: number = 0;\n\n screenArray: content[] | null = null;\n\n timer: any;\n\n entered: boolean = false;\n\n message: string = '';\n\n isShowHomeScreenLogo: boolean = false;\n\n currentTime: string = '';\n\n storeTime: StoreTime[] = [];\n\n storeIsClosed: boolean = false;\n\n dayOfWeek: number = new Date().getDay();\n\n /**\n * flags for screen setting\n */\n disableScreenSaver: any;\n\n inAccount: boolean = false;\n\n visitedLastFive: boolean = false;\n\n /**\n * loyalty variable\n */\n hasLoyaltyProgram: boolean = false;\n\n useLoyaltyKiosk: boolean = GeneralSetting.getUseLoyaltyKiosk() == 'True';\n\n showReturningDialog: boolean = false;\n\n separateHomeScreenImagePath: any;\n\n showSeparateImage: any;\n\n singleVideo: string = 'assets/videos/Golden Chick.mp4';\n\n showSlide: boolean = true;\n\n checkOutFromLastFive: boolean = false;\n\n splashScreenMessage: string | null = '';\n\n isShowSplashScreenMessage: boolean =\n GeneralSetting.getIsShowSplashScreenMessage() == 'True';\n\n isConcessionaire: boolean = false;\n\n showLoyaltyButton: boolean = false;\n\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n @ViewChild(TimeoutComponent) timeOutComponent!: TimeoutComponent;\n rewardsAccountSignInText: string = '';\n selectLanguageText: string = '';\n\n isTapToOrderScreen: boolean = true;\n\n isRestarted = false;\n\n languageData: Languages[] = [];\n\n languageKeyValue: LanguageName = {\n en: \"English\",\n es: \"Español\",\n fr: \"Français\"\n }\n\n constructor(\n private imageService: ImageService,\n private cart: CartService,\n private router: Router,\n private readonly route: ActivatedRoute,\n private optionsService: EatOptionsService,\n private ngbconfig: NgbCarouselConfig,\n private isKioskService: IsKioskService,\n private timeSyncService: TimeSyncService,\n private loyaltyService: LoyaltyService,\n private saveSettingsService: SaveSettingsService,\n private modalService: NgbModal,\n private setDefaultService: SetDefaultService,\n private db: DatabaseService,\n private logger: LogService,\n private readonly zone: NgZone,\n private KeyboardService: KeyboardService,\n private oracle: OracleService,\n private integration: IntegrationService,\n private language: LanguageService,\n private customerLoginService: CustomerLoginModalService,\n private parBrink: ParBrinkService,\n private loginService: LoginService,\n private paymantGateWayService: PaymentGatwayService,\n private flex: FlexPairingService,\n private discount: SMBDiscountService,\n private readonly upgradeService: KioskUpgradeService,\n private preloader: PreloaderService,\n private cdr:ChangeDetectorRef\n ) {\n this.showLanguagePicker = environment.showLanguagePicker; // Hide in non local environments until we're ready\n ngbconfig.interval = 4000;\n ngbconfig.wrap = true;\n ngbconfig.animation = false;\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n\n let isRestarted = this.route.snapshot.queryParams['IsRestarted'];\n if (\n isRestarted &&\n isRestarted != 'undefined' &&\n isRestarted != null &&\n isRestarted != ''\n ) {\n this.isRestarted = true;\n }\n this.languageData = this.language.getLanguageData();\n }\n isLoyaltyButton() {\n if (this.storeIsClosed) {\n return false;\n }\n if (this.isRemovePricingAndPayments) {\n return false;\n }\n if (!this.hasLoyaltyProgram) {\n return false;\n }\n if (!this.useLoyaltyKiosk) {\n return false;\n }\n if (GeneralSetting.getUseLoyaltyKiosk() != 'True') {\n return false;\n }\n return true;\n }\n\n loadText() {\n this.rewardsAccountSignInText = this.language.getTextElement(\n 'lbl_rewards_account_sign_in'\n );\n this.selectLanguageText = this.language.getTextElement(\n 'lbl_select_language'\n );\n this.splashScreenMessage = this.language.getCustomMapValues(\n 'menu_setting_home_screen__welcome_center_message'\n );\n this.message = this.language.getCustomMapValues(\n 'menu_setting_home_screen__welcome_bottom_message'\n );\n }\n defaultLanguage: string = '';\n /**\n * get bkgd color, text color, branch logo from sessionStorage\n * when init this component\n */\n ngOnInit(): void {\n this.cart.selectedDiscount = undefined;\n this.swapLanguage(this.language.defaultLanguage);\n GeneralSetting.setIsOverlayScreenShown(false);\n this.onInitFailSafes();\n\n this.timeSyncService.storeClosed().then((result: any) => {\n this.storeIsClosed = result;\n });\n\n this.showLoyaltyButton =\n this.loyaltyService.isLoyalty && this.useLoyaltyKiosk;\n\n this.loyaltyService.setLoyaltyType().then(() => {\n this.showLoyaltyButton = this.isLoyaltyButton();\n this.loyaltyService.isLoyalty = this.showLoyaltyButton;\n this.useLoyaltyKiosk = this.showLoyaltyButton;\n });\n\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n\n this.isParBrink = GeneralSetting.getParBrinkIntegrationID() != '';\n\n //set flag in session\n this.db.getDetailSetting();\n\n this.KeyboardService.KeyboardStatus = false;\n\n this.getOptions();\n\n this.allSubsCription.push(\n this.saveSettingsService.setOptionSubject.subscribe(() => {\n this.getOptions();\n }),\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n\n this.getScreenSavers();\n\n this.setBaseVariable();\n\n this.getLoyaltyProgram().then((data: any) => {\n this.hasLoyaltyProgram = data;\n if (\n this.hasLoyaltyProgram &&\n !this.storeIsClosed &&\n GeneralSetting.getUseLoyaltyKiosk() == 'True'\n ) {\n this.useLoyaltyKiosk = GeneralSetting.getUseLoyaltyKiosk() == 'True';\n }\n });\n\n // const useLoyalty = GeneralSetting.getUseLoyaltyKiosk();\n\n this.bindPusher();\n this.cart.reward = 0;\n this.cart.sub_reward.next(0);\n if (!this.loyaltyService.itemsWaiting) {\n this.setDefaultService.setDefault();\n }\n this.shouldRefreshMenu().then((data) => {\n if (!data) {\n this.getAllCategory();\n }\n });\n this.allSubsCription.push(\n this.saveSettingsService.menuSyncSubscribe.subscribe((data) => {\n this.timeSyncService.storeClosed().then((result: any) => {\n this.storeIsClosed = result;\n this.loyaltyService.setLoyaltyType().then(() => {\n this.showLoyaltyButton = this.isLoyaltyButton();\n });\n const returnCustomer = GeneralSetting.getReturningCustomersFeatures();\n this.showReturningDialog = returnCustomer === 'True';\n });\n this.hasLoyaltyProgram = data;\n this.getOptions();\n this.getAllCategory();\n this.setBaseVariable();\n this.getScreenSavers();\n\n this.isRemovePricingAndPayments =\n GeneralSetting.getIsRemovePricingAndPayments();\n })\n );\n\n if (\n this.setDefaultService.redirectToEatOptions != undefined &&\n this.setDefaultService.redirectToEatOptions\n ) {\n this.isHidden = true;\n this.setDefaultService.redirectToEatOptions = false;\n } else {\n // this.isHidden = false;\n }\n // Added to update store timing after menu refresh\n this.allSubsCription.push(\n this.saveSettingsService.reloadSelfSubject.subscribe(() => {\n this.timeSyncService.storeClosed().then((result: any) => {\n this.storeIsClosed = result;\n });\n })\n );\n\n try {\n this.allSubsCription.push(\n this.saveSettingsService.themeSub.subscribe(() => {\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n\n this.isParBrink = GeneralSetting.getParBrinkIntegrationID() != '';\n })\n );\n } catch (e) {\n console.log(e);\n }\n\n // Added to check Order Type screen timer\n setTimeout(() => {\n if (this.disableScreenSaver === 'False') {\n // time out popup will not start if disableScreenSaver is enable GBREL-15 @jay\n this.setTimerForOrderType();\n }\n }, 0);\n this.allSubsCription.push(\n this.cart.closeOrderType.subscribe((data) => {\n this.ngOnDestroy();\n this.ngOnInit();\n this.inAccount = false;\n })\n );\n\n //Otter if kiosk restarted then refresh menu\n\n if (this.isRestarted) {\n setTimeout(() => {\n this.db.MenuRefresh.next(true);\n }, 100);\n }\n }\n isShowOverlay: boolean = false;\n showOverlay() {\n this.isShowOverlay = true;\n this.cdr.detectChanges();\n }\n getScreenSavers() {\n this.imageService.getScreen().then((screenArr) => {\n this.screenArray = screenArr;\n // console.log('screen array', this.screenArray);\n this.showSlide = true;\n\n if (this.screenArray.length > 1) {\n this.showSlide = true;\n } else if (this.screenArray.length == 1) {\n if (this.screenArray[0].video && this.screenArray[0].VideoPath) {\n this.singleVideo = this.screenArray[0].VideoPath;\n this.showSlide = false;\n }\n } else {\n //this.isHidden = true;\n }\n\n for (let i = 0; i < this.screenArray.length; i++) {\n const isVideo = this.screenArray[i].video.toString();\n\n if (isVideo.toLowerCase() == 'true') {\n this.screenArray[i].video = true;\n this.singleVideo = this.screenArray[i].VideoPath as string;\n } else {\n this.screenArray[i].video = false;\n }\n }\n\n //this.showSlide = this.imageService.showSlide;\n //this.singleVideo = this.imageService.singleVideo;\n this.screenText = this.imageService.screentext;\n this.activeID = this.imageService.activeID;\n //this.splashScreenMessage = GeneralSetting.getSplashScreenMessage();\n this.isShowSplashScreenMessage =\n GeneralSetting.getIsShowSplashScreenMessage() == 'True'; // to sync up with latest value after update in backend\n });\n }\n\n getOptions() {\n const dineInLabel = this.language.getCustomMapValues(\n 'menu_setting_general__order_type_options_dine_in'\n );\n const takeOutLabel = this.language.getCustomMapValues(\n 'menu_setting_general__order_type_options_take_out'\n );\n\n if (this.imageService.options.length > 0) {\n this.options = this.imageService.options;\n this.updateEatOptionLanguage(dineInLabel, takeOutLabel);\n } else {\n this.imageService.getOptions().then((options) => {\n this.options = options;\n this.setDefaultService.optionsLength = options.length;\n\n this.updateEatOptionLanguage(dineInLabel, takeOutLabel);\n\n if (options.length == 1) {\n this.optionsService.setEatOption(options[0]);\n }\n });\n }\n }\n\n private updateEatOptionLanguage(dineInLabel: string, takeOutLabel: string) {\n for (let i = 0; i < this.options.length; i++) {\n const eatOption = this.options[i];\n if (eatOption.Name.includes('Dine In')) {\n this.options[i].DisplayLabel = dineInLabel;\n }\n if (eatOption.Name.includes('Take Out')) {\n this.options[i].DisplayLabel = takeOutLabel;\n }\n }\n }\n\n private onInitFailSafes() {\n var messageType = 'stopScanner';\n var message = {\n messageType: messageType,\n };\n window.top!.postMessage(message, '*');\n }\n\n private bindPusher() {\n this.allSubsCription.push(\n this.db.MenuRefresh.subscribe(async (x) => {\n if (x) {\n if (!this.refreshRunning) {\n await this.refreshDB();\n // await this.flex.checkPairing()\n } else {\n this.refreshRequired = true;\n }\n }\n })\n );\n\n this.allSubsCription.push(\n this.upgradeService.KioskUpgradeEvents.subscribe(async (packageNotification: RemoteInstallNotification) => {\n if (packageNotification?.kioskReleaseInformation?.PackageUrl) {\n if (!this.refreshRunning) {\n this.refreshRunning = true;\n let upgradeResponse = await this.upgradeService.kioskAppPusherUpgrade(packageNotification.kioskReleaseInformation.PackageUrl, packageNotification);\n if (!upgradeResponse) {\n this.refreshRunning = false;\n }\n }\n }\n })\n );\n }\n\n private async isrefreshRequired() {\n if (this.refreshRequired) {\n await this.refreshDB();\n this.refreshRequired = false;\n }\n }\n\n private async refreshDB() {\n this.refreshRunning = true;\n this.logger.sendLogToServer(\n new loggingData(\n 'Touch To Start Pusher',\n 'Touch To Start Received',\n 'Confirmation Status Pusher',\n `Pusher Menu Refresh Received`,\n true\n )\n );\n\n if (\n !this.saveSettingsService.stillRunning &&\n this.router.url.includes('touchToStart')\n ) {\n this.zone.run(async () => {\n await this.loginService.doRefresh().then(async (dataRes) => {\n this.languageData = this.language.getLanguageData();\n this.swapLanguage(this.language.defaultLanguage);\n\n\n let isDataInserted = await this.saveSettingsService.syncGetStatus();\n\n if (!dataRes && isDataInserted && GeneralSetting.getBranchLoginUserId() != '' && localStorage.getItem('IsDataBasePresent')) {\n RetryConfirmationDialogComponent.open(this.modalService)\n } else {\n await this.loginService.afterResetDataRefresh()\n this.cart.closeRetryConfirmation(true)\n }\n\n this.getLoyaltyProgram().then((data: any) => {\n this.hasLoyaltyProgram = data;\n if (this.hasLoyaltyProgram && !this.storeIsClosed) {\n this.useLoyaltyKiosk =\n GeneralSetting.getUseLoyaltyKiosk() == 'True';\n }\n });\n this.upgradeService.kioskAppUpgradeACK();\n });\n this.refreshRunning = false;\n this.isrefreshRequired();\n });\n } else {\n this.doRefreshLater = true;\n }\n }\n\n /**\n * click anywhere on the screen to start\n * @param event\n */\n // @HostListener('document:click', ['$event'])\n public documentClick(clickEvent: any): void {\n if (!this.options || this.storeIsClosed) return;\n // this.options = [];\n\n if (this.options.length == 0) {\n this.orderTypeWarning.open();\n } else if (\n !this.isHidden &&\n !(clickEvent.target.id == 'logoImg') &&\n !(\n clickEvent.target.id == 'language' ||\n clickEvent.target.id == 'language1' ||\n clickEvent.target.id == 'language2' ||\n clickEvent.target.id == 'language3'\n )\n ) {\n if (this.isShowOverlay) {\n this.isShowOverlay = false;\n this.cdr.detectChanges();\n return;\n }\n clearTimeout(this.timer);\n this.timer = setTimeout(async () => {\n if (\n this.count !== 5 &&\n !(clickEvent.target.id == 'logoImg') &&\n !this.inAccount\n ) {\n //event.preventDefault();\n //open the dialog when show return == true && (loyalty program == false || use loyalty == false);\n if (!(await this.checkConcessioanireActive())) {\n let error = this.language.getTextElement(\n 'all_concessionaire_are_closed'\n );\n Snackbar.show(error, 2500);\n return;\n }\n\n if (\n this.showReturningDialog &&\n !this.visitedLastFive &&\n (!this.hasLoyaltyProgram || !this.useLoyaltyKiosk)\n ) {\n this.openCustomerAccount(clickEvent);\n } else {\n if (this.options!.length >= 1) {\n await this.ShowOracleErrorMessage();\n\n this.isHidden = !this.isHidden;\n var log = new loggingData(\n 'Tap to order pressed',\n 'Tap to order pressed',\n 'touch-to-start.component.ts',\n `\"Tap to order\" pressed: ${this.options}`,\n true\n );\n this.logger.sendLogToServer(log);\n this.setTimerForOrderType(true);\n } else {\n await this.ShowOracleErrorMessage();\n\n this.selectLocation(this.options![0].Name, this.options![0]);\n }\n }\n }\n }, 200);\n }\n }\n\n private checkConcessioanireActive() {\n return new Promise(async (resolve) => {\n if (this.isConcessionaire) {\n let AllCon = (await this.db.getAllConcessionaireFromSql()).filter(\n (x) => x.IsActive && x.IsClosed != true\n );\n if (AllCon.length > 0) {\n resolve(true);\n } else {\n resolve(false);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async ShowOracleErrorMessage() {\n if (this.oracle.isOracle) {\n if (\n (this.oracle.isOracleMicross &&\n this.oracle.oracleMicrosSetting.TenderID == '0') ||\n (this.oracle.oracleGeneralSetting &&\n this.oracle.oracleGeneralSetting.TenderID == '0') ||\n (GeneralSetting.getShowTipDialog().toLowerCase() == 'true' &&\n this.oracle.isOracleMicross &&\n this.oracle.oracleMicrosSetting.TipTenderID == '0') ||\n (this.oracle.oracleGeneralSetting &&\n this.oracle.oracleGeneralSetting.TipTenderID == '0')\n ) {\n let err = this.language.getTextElement('tender_type_not_cofigured');\n let ok = this.language.getTextElement('lbl_ok');\n let oepc = OloErrorPopupComponent.open(\n this.modalService,\n err,\n '',\n ok,\n true\n );\n\n await oepc.result;\n }\n } else if (this.integration.integration == Integration.Parbrink) {\n let res = this.parBrink.isValidConfiguration(\n this.isLoyaltyButton(),\n this.loyaltyService.loyaltyType == LoyaltyType.LevelUp\n );\n if (res != 0) {\n let err;\n if (res == 1) {\n err = this.language.getTextElement('tender_type_not_configured');\n } else if (res == 2) {\n err = this.language.getTextElement('loyalty_discount_not_configured');\n } else if (res == 3) {\n err = this.language.getTextElement('loyalty_payment_not_configured');\n }\n let ok = this.language.getTextElement('lbl_ok');\n let oepc = OloErrorPopupComponent.open(\n this.modalService,\n err,\n '0',\n ok,\n true\n );\n\n await oepc.result;\n }\n }\n }\n\n private setBaseVariable() {\n this.discount.getDiscounts();\n GeneralSetting.setIsAlcoholicAgeLimitKnown('False');\n this.branchLogo = GeneralSetting.getBranchLogo();\n // this.message =\n // GeneralSetting.getHomeScreenMsg() != ''\n // ? GeneralSetting.getHomeScreenMsg().trim()\n // : '';\n this.isShowHomeScreenLogo =\n GeneralSetting.getIsShowHomeScreenLogo() == 'True';\n\n this.currentTime = formatDate(Date.now(), 'HH:mm', 'en-US');\n\n this.bkgdColor = GeneralSetting.getPrimaryColor();\n\n this.optionColor =\n (GeneralSetting.getIsTransparentDineIn() == 'True' &&\n 'rgb(0,0,0, 0.6)') ||\n GeneralSetting.getPrimaryColor();\n\n this.optionBorderColor =\n GeneralSetting.getIsTransparentDineIn() == 'True'\n ? GeneralSetting.getTransparentButtonColor()\n : '';\n\n this.textColor = GeneralSetting.getPositiveColorText();\n\n this.accentColor = GeneralSetting.getAccentColor();\n\n this.storeClosedTimeMessage =\n GeneralSetting.getStoreClosedTimeMessage() == '' ||\n GeneralSetting.getStoreClosedTimeMessage()!.length == 0\n ? 'Store is closed'\n : GeneralSetting.getStoreClosedTimeMessage();\n\n // set default home screen msg here\n this.screenText =\n GeneralSetting.getIsShowSplashScreenMessage() == 'True'\n ? GeneralSetting.getSplashScreenMessage().trim() == ''\n ? 'Welcome'\n : GeneralSetting.getSplashScreenMessage().trim()\n : 'Welcome';\n\n this.disableScreenSaver = GeneralSetting.getDisableScreenSaver();\n if (this.disableScreenSaver === 'True') {\n this.isHidden = true;\n } else {\n this.isHidden = false;\n }\n\n const returnCustomer = GeneralSetting.getReturningCustomersFeatures();\n if (returnCustomer === 'True') {\n this.showReturningDialog = true;\n }\n\n this.separateHomeScreenImagePath =\n GeneralSetting.getSeparateHomeScreenImagePath();\n\n this.showSeparateImage = GeneralSetting.getUseSeparateImageForHomeScreen();\n\n const lastFiveOrderChosen = GeneralSetting.getLastFiveOrderChosen();\n\n if (lastFiveOrderChosen && lastFiveOrderChosen === 'true')\n this.visitedLastFive = true;\n\n if (this.visitedLastFive) {\n //this.isHidden = true;\n this.setTimerForOrderType();\n }\n\n if (lastFiveOrderChosen && lastFiveOrderChosen === 'false') {\n GeneralSetting.setCurrentCountofAlkol('0');\n }\n\n this.isShowHomeScreenLogo =\n GeneralSetting.getIsShowHomeScreenLogo() == 'True';\n\n const checkout = GeneralSetting.getCheckOutAtLastFive();\n\n if (checkout && checkout === 'true') this.checkOutFromLastFive = true;\n }\n\n private async getAllCategory() {\n if (\n (!this.db.hasCategory() || this.db.isDoRefresh) &&\n this.updateMenuModelRef == undefined\n ) {\n this.updateMenuModelRef = this.modalService.open(UpdateMenuComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n setTimeout(() => {\n this.updateMenuModelRef?.dismiss();\n }, 300000);\n }\n\n const categoryDetail = await this.db.getPersistentCategoriesAsync(\n this.db.isDoRefresh\n );\n this.db.isDoRefresh = false;\n if (categoryDetail) {\n this.updateMenuModelRef?.dismiss();\n this.updateMenuModelRef = undefined;\n }\n }\n\n shouldRefreshMenu(): Promise {\n return new Promise(async (resolve) => {\n if (\n (this.doRefreshLater || this.db.isDoRefresh) &&\n this.router.url === '/touchToStart'\n ) {\n this.doRefreshLater = false;\n this.db.isDoRefresh = false;\n if (!this.saveSettingsService.stillRunning) {\n if (!this.db.isRefreshedinSettings) {\n this.refreshRunning = true;\n await this.loginService.doRefresh(this.timeOutComponent);\n this.refreshRunning = false;\n this.isrefreshRequired();\n // if there is auto refresh from backend in /settings then it will not refresh in /touchToStart 2nd time. issue SK-2270 @jay vachhani\n }\n this.timeSyncService.storeClosed().then((result: any) => {\n this.storeIsClosed = result;\n });\n this.languageData = this.language.getLanguageData();\n this.swapLanguage(this.language.defaultLanguage);\n resolve(true);\n } else {\n //Added this comment for ticket SK-1820 by Yash Patel\n console.log(\n 'On menu sync Launch kiosk and refresh DB got stuck. line 718-touch to start component'\n );\n resolve(false);\n }\n }\n resolve(false);\n });\n }\n\n /* check every 10 seconds if store is closed */\n timeCheck: any = setInterval(() => {\n this.timeSyncService.checkStoreTiming().then((result: any) => {\n this.storeIsClosed = result;\n });\n this.setDefaultService.resetOrderInvoiceNo();\n }, 10000);\n\n /**\n * click the logo 5 times and direct to Setting page\n */\n enterSettings(event: any): void {\n //console.log(this.baseImageUrl, this.branchLogo);\n this.entered = true;\n\n this.count++;\n if (this.count === 5) {\n //this.isHidden = !this.isHidden;\n // prompt manager pin pad\n this.pinPadModal.open();\n event.stopPropagation();\n this.pinPadModal.modalRef.result.then(\n () => {\n setTimeout(() => {\n this.count = 0;\n this.entered = false;\n }, 260);\n },\n () => { }\n );\n }\n }\n\n openCustomerAccount(event: any) {\n if (!this.storeIsClosed) {\n this.inAccount = true;\n this.timeOutComponent.stillHere(true);\n let rcp = this.returnCustomerPopup.open();\n this.customerLoginService.returningpopuprequired.next(true);\n this.returnCustomerPopup.modalReference.result.then(\n async () => {\n if (this.options!.length > 1) {\n await this.ShowOracleErrorMessage();\n this.isHidden = !this.isHidden;\n this.setTimerForOrderType();\n } else {\n await this.ShowOracleErrorMessage();\n\n this.selectLocation(this.options![0].Name, this.options![0]);\n }\n },\n () => {\n this.inAccount = false;\n }\n );\n }\n }\n\n /**\n * Get the info of selected orderType option\n * and store relevant information into sessionStorage\n * @param location\n * @param orderTypeId: ID of the orderType\n */\n\n async selectLocation(location: any, option: any) {\n if (\n this.disableScreenSaver === 'True' &&\n this.showReturningDialog &&\n (!this.hasLoyaltyProgram || !this.useLoyaltyKiosk)\n ) {\n this.returnCustomerPopup.open();\n this.returnCustomerPopup.modalReference.result.then(async () => {\n this.storeSelectedType(location, option);\n this.optionsService.setEatOption(option);\n if (this.loyaltyService.itemsWaiting) {\n await this.loyaltyService.addToCart();\n }\n });\n } else if (\n GeneralSetting.getLastFiveOrderChosen() == 'true' &&\n GeneralSetting.getCheckOutAtLastFive() == 'true'\n ) {\n this.storeSelectedType(location, option);\n this.optionsService.setEatOption(option);\n if (this.loyaltyService.itemsWaiting) {\n await this.loyaltyService.addToCart();\n }\n this.router.navigateByUrl('/orderReview').then(() => {\n GeneralSetting.setCheckOutAtLastFive('false');\n });\n } else {\n this.storeSelectedType(location, option);\n this.optionsService.setEatOption(option);\n if (this.loyaltyService.itemsWaiting) {\n await this.loyaltyService.addToCart();\n }\n }\n this.setTimerForOrderType();\n }\n\n async storeSelectedType(location: any, orderType: eatOption) {\n GeneralSetting.setLocationPreference(\n location.text || this.options![0].Name\n );\n GeneralSetting.setDidDiscount('false');\n GeneralSetting.setPaymentAmount('');\n GeneralSetting.setPaymentType('');\n GeneralSetting.setIsTipSelected('false');\n GeneralSetting.setTableTentNumber('');\n GeneralSetting.setLastFiveOrderChosen('false');\n GeneralSetting.setOrderTypeId(orderType.OrderTypeID.toString());\n\n GeneralSetting.setMenuLevelID(orderType.OPMID);\n\n if (this.isParBrink) {\n GeneralSetting.setRefOrderTypeID(orderType.RefOrderTypeID);\n }\n\n this.paymantGateWayService.doConfigurePaymentDevice();\n\n if (!(await this.checkConcessioanireActive())) {\n let error = this.language.getTextElement('all_concessionaire_are_closed');\n Snackbar.show(error, 2500);\n return;\n }\n\n if (this.isConcessionaire) {\n this.router.navigateByUrl('/ConcessionaireGrid');\n return;\n }\n\n var log = new loggingData(\n 'Order Type',\n 'Order Type',\n 'touch-to-start.component.ts',\n `Order Type: ${(this.options![0].Name) ? this.options![0].Name : ''}`,\n true\n );\n this.logger.sendLogToServer(log);\n this.router.navigateByUrl('/menu');\n }\n\n /**\n * get all the orderType options from database via optionsService\n */\n\n /**\n * Set te hover style of buttons for eat options\n * @param value\n */\n styleHoverOption(value: any) {\n value.style.color = this.optionColor;\n value.style.backgroundColor = this.optionBorderColor || this.textColor;\n }\n\n /**\n * Set the un hover style of buttons for eat options\n * @param value\n */\n styleUnHoverOption(value: any) {\n value.style.color = this.optionBorderColor || this.textColor;\n value.style.backgroundColor = this.optionColor;\n }\n\n /**\n * get loyalty program setting from database\n */\n getLoyaltyProgram() {\n return new Promise((resolve) => {\n var sqlStr =\n 'SELECT IsActive FROM LoyaltyPrograms WHERE IsActive = \"True\"';\n\n const callback = (tx: string, data: any) => {\n if (data.rows.length > 0) {\n resolve(true);\n } else {\n resolve(false);\n }\n };\n\n const error = (err: any) => {\n var log = new loggingData(\n 'Loyalty Program Error',\n 'Loyalty Program Encountered Error Fetching data',\n 'Loyalty Error',\n `Loyalty Program Encountered Error: ${err}`,\n true\n );\n this.logger.sendLogToServer(log);\n resolve(false);\n };\n\n DatabaseHandler.executeSqlStatement(sqlStr, [], callback, error);\n });\n }\n\n /**\n * play the video\n * @param e\n */\n onCanPlay(e: any) {\n e.target.play();\n }\n\n /**\n * on video play:\n * pause the carousel and wait until video ends\n */\n videoPlay(event: any) {\n this.carousel.pause();\n }\n\n /**\n * after video ended\n * show next carousel\n * and start cycle\n */\n videoEnded(e: any) {\n this.carousel.next();\n this.carousel.cycle();\n }\n\n /**\n * slide event handler to enable slider text change dynamically\n * @param data\n */\n onSlide(data: any) {\n var id = data.current;\n var content = this.screenArray!.find((e) => e.ScreenSaverID == id);\n\n if (content) {\n if (\n content.SliderText &&\n content.SliderText != null &&\n content.SliderText != undefined &&\n content.SliderText.trim() != ''\n ) {\n this.screenText = content.SliderText;\n }\n this.activeID = id;\n }\n }\n\n onRewardButtonClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n this.ShowOracleErrorMessage().then(() => {\n this.timeOutComponent.stillHere(true);\n this.customerLoginPopup.open();\n this.customerLoginService.keyboardStatus.next(true);\n this.customerLoginPopup.modalReference.result.then(\n (data: any) => {\n if (data != 'canceled') {\n if (data == 'welcome') {\n let ref = this.welcome.open(true);\n ref?.result.then(\n () => {\n this.handleOptionsAfterModal();\n },\n () => {\n this.handleOptionsAfterModal();\n }\n );\n } else {\n this.handleOptionsAfterModal();\n }\n }\n // if data == canceled then execution flow should end with no change\n },\n () => { }\n );\n });\n }\n handleOptionsAfterModal() {\n if (this.options.length == 1) {\n this.selectLocation(this.options![0].Name, this.options![0]);\n } else {\n this.isHidden = true;\n this.setTimerForOrderType();\n }\n }\n // Check to show Timer based on Order Type screen visibility\n\n private setTimerForOrderType(orderType: boolean = false) {\n if (this.timeOutComponent) {\n if (this.isHidden) {\n this.timeOutComponent.stillHere(true, orderType);\n } else {\n this.timeOutComponent.stopTimer();\n }\n }\n }\n\n ngAfterViewInit() {\n this.preloader.hide();\n }\n}\n","\n \n
\n \n \n\n
\n \n \n \n \n {{ defaultLanguage }}\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n 1\n \" class=\"language\">\n
\n
\n
{{ selectLanguageText }}
\n
\n
\n \n \n \n {{ languageKeyValue[lan.Code] }}\n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n English\n \n \n Español\n \n \n Français\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n {{ splashScreenMessage }}\n \n
\n
{{ storeClosedTimeMessage }} \n \n
\n
\n
\n
\n
\n
\n\n \n\n
\n
\n
\n
\n
\n\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { GeneralSetting } from './generalSetting.service';\nimport { OLOService } from './olo.service';\n\n\nexport enum Integration {\n 'None' = 0,\n 'Parbrink' = 1,\n 'Clover' = 2,\n 'Symphony' = 3,\n 'OLO' = 4,\n 'Micros3700' = 5\n}\n@Injectable({\n providedIn: 'root'\n})\nexport class IntegrationService {\n integration: number = Integration.None;\n\n constructor(private olo:OLOService){\n if (GeneralSetting.getIntegrationId() != '') {\n this.integration = Number(Integration[GeneralSetting.getIntegrationId()]);\n }\n }\n setNone() {\n this.integration = Integration.None;\n GeneralSetting.setIntegrationId(Integration[0]);\n }\n setParbrink() {\n this.integration = Integration.Parbrink;\n GeneralSetting.setIntegrationId(Integration[1]);\n }\n // setClover(){\n // this.integration=2;\n // GeneralSetting.setIntegrationId(Integration[2]);\n // }\n setSymphony() {\n this.integration = Integration.Symphony;\n GeneralSetting.setIntegrationId(Integration[3]);\n }\n setOLO() {\n this.integration = Integration.OLO;\n GeneralSetting.setIntegrationId(Integration[4]);\n }\n setMicros3700() {\n this.integration = Integration.Micros3700;\n GeneralSetting.setIntegrationId(Integration[5])\n }\n\n async sendErrorEmail(req: {\n apiFailed: boolean,\n resData: any,\n Error: string,\n orderInvoiceNo: string,\n isValidation: boolean,\n }) {\n switch (this.integration) {\n case Integration.Parbrink:\n\n break;\n case Integration.Clover:\n break;\n case Integration.Symphony:\n break;\n case Integration.OLO:\n this.olo.sendErrorEmail(req);\n break;\n case Integration.Micros3700:\n break;\n default:\n break;\n }\n }\n\n}\n","import { version } from './version';\nexport const environment = {\n Version:version.Version,\n environment: 'Test',\n envName :'test',\n production: false,\n apiUrl: 'https://test.api.merchant.grubbrr.com/api/kiosk/legacy/',\n imageBaseUrl: 'http://localhost:4200/static/',\n imageBaseUrlRemote: 'https://ik.imagekit.io',\n offlinePort: '8080',\n cloverNodeJsUrl : 'https://app-smb-test-eastus-clover-node-api.azurewebsites.net',\n baudRate: 115200,\n usConnectKey: 'tHoPOMCm23teMXYNIl4CITMQItLbU6Go',\n NodeUrl: 'http://localhost:4200/',\n IsShowLog: false,\n showLanguagePicker: true\n}\n","import { Injectable } from '@angular/core';\nimport { ImageService } from 'src/app/services/image.service';\nimport { PaymentTypesService } from 'src/app/services/payment-types.service';\nimport { TimeService } from 'src/app/services/store-time.service';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\n\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { VerifoneService } from './verifone.service';\nimport { NcrIntegration } from './NcrIntegration';\nimport { KeyboardService } from './keyboard.service';\nimport { PusherService } from './pusher.service';\n\n@Injectable({\n providedIn: 'root'\n})\n//Handles the log out functions, such as wiping data\n\nexport class LogoutService {\n\n\n constructor(\n private timeService: TimeService,\n private imageService: ImageService,\n private paymentTypesService: PaymentTypesService,\n private dataBaseService: DatabaseService,\n private logger: LogService,\n private verifoneServiec: VerifoneService,\n private ncrService: NcrIntegration,\n private keyboard:KeyboardService,\n private readonly pusher:PusherService \n ) {\n\n }\n\n ngOnDestroy() {\n\n }\n\n wipeData() {\n this.imageService.screenArr = [];\n this.imageService.screentext = '';\n this.imageService.options = [];\n this.timeService.storeTime = [];\n this.paymentTypesService.payments = [];\n this.keyboard.manual=false\n this.dataBaseService.removeCategories();\n this.pusher.channel=null\n this.ncrService.clearNCR();\n let serialNo = GeneralSetting.getSerialNo();\n let wifi = GeneralSetting.getWifi();\n let ipAddress = GeneralSetting.getIpAddress();\n let Mac = GeneralSetting.getMacAddress();\n\n GeneralSetting.clearSession();\n\n GeneralSetting.setSerialNo(serialNo);\n GeneralSetting.setMacAddress(Mac);\n GeneralSetting.setIpAddress(ipAddress);\n GeneralSetting.setWifi(wifi);\n\n var log = new loggingData(\n 'Branch Logout',\n 'Branch Logout Complete',\n `Logout`,\n `Successful Branch Logout Complete`,\n true\n );\n this.logger.sendLogToServer(log);\n\n this.verifoneServiec.unRegisterDevice().toPromise().then();\n }\n\n}\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { Category } from 'src/app/models/category';\nimport { ComboGroupV2 as ComboGroup, ItemV2, ModifierV2 } from 'src/app/models/item';\nimport { Variation, VariationOption } from 'src/app/models/Variations';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { ItemTransferService } from 'src/app/services/item-transfer.service';\nimport { environment } from 'src/environments/environment';\nimport { BoxBuilderFooterComponent } from './box-builder-footer/box-builder-footer.component';\nimport { ChooseDonutCustomizePopupComponent } from 'src/app/components/dialogs/choose-donut-customize-popup/choose-donut-customize-popup.component';\nimport { CartService } from 'src/app/services/cart.service';\nimport { BoxBuilderComboComponent } from 'src/app/components/box-builder/box-builder-combo/box-builder-combo.component';\nimport { LoadingComponent } from 'src/app/loading/loading.component';\nimport { ItemService } from 'src/app/services/ItemService';\nimport { Concessionaire } from '../../models/Concessionaire';\nimport { LoaderService } from 'src/app/services/loader.service';\nimport { ParBrinkService } from 'src/app/services/par-brink.service';\nimport { Integration, IntegrationService } from 'src/app/services/integration.service';\n\n@Component({\n selector: 'app-box-builder',\n templateUrl: './box-builder.component.html',\n styleUrls: ['./box-builder.component.css'],\n})\nexport class BoxBuilderComponent implements OnInit, OnDestroy {\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n constructor(\n private readonly itemTransferService: ItemTransferService,\n private readonly router: Router,\n private readonly route: ActivatedRoute,\n private readonly db: DatabaseService,\n private readonly modalService: NgbModal,\n private readonly isKioskService: IsKioskService,\n private readonly cartService: CartService,\n private readonly cdr: ChangeDetectorRef,\n private readonly itemService: ItemService,\n private readonly loader:LoaderService,\n private parBrink:ParBrinkService,\n private integration:IntegrationService\n ) {\n this.item = null;\n this.variations = [] as Variation[];\n this.modifiers = new Array();\n this.ItemID = this.route.snapshot.queryParams['id'];\n this.CategoryID = this.route.snapshot.queryParams['category'];\n this.guid = this.route.snapshot.queryParams['guid'];\n this.isOrderReviewEdit = this.route.snapshot.queryParams['reviewEdit'];\n this.isLoyalty = this.route.snapshot.queryParams['loyalty'];\n this.concessionaireId = this.route.snapshot.queryParams['concessionaireId'];\n }\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n modifiers: ModifierV2[] = [] as ModifierV2[];\n\n variations: Variation[] = [] as Variation[];\n\n comboGroup: ComboGroup[] = [] as ComboGroup[];\n\n modalReference: any;\n\n ItemID: string;\n\n CategoryID: string;\n\n isReady: boolean = false;\n\n item: ItemV2 | null;\n\n // For Edit Item Feature\n guid: string = '';\n\n isOrderReviewEdit = false;\n // For Edit Item Feature end\n isLoyalty: string;\n\n isComboItem = false;\n\n category: Category = {} as Category;\n\n quantity: number = 1;\n\n cartQuantity: number = 0;\n\n branchLogo: string | null = '';\n\n selectedCount: number = 0;\n itemImageList: any[] = [];\n\n // For selected item with modifiers\n _selectedModifiers: ModifierV2[] = [];\n\n _selectedVariations: VariationOption[] = [];\n\n _selectedComboGroup: ComboGroup[] = [];\n\n isModifiersValid!: boolean;\n isVariationsValid!: boolean;\n isComboGroupValid: boolean = false;\n numInvisibleGroups: number = 0;\n totalComboGroups: number = 0;\n\n isFromEdit: boolean = false;\n\n // @ViewChild(BoxBuilderItemDetail) boxBuilderItem!: BoxBuilderItemDetail;\n boxBuilderItem: any\n\n @ViewChild(BoxBuilderFooterComponent)\n boxBuilderItemFooter!: BoxBuilderFooterComponent;\n\n @ViewChild(ChooseDonutCustomizePopupComponent, { static: true })\n chooseDonutCustomizePopup!: ChooseDonutCustomizePopupComponent;\n\n @ViewChild(BoxBuilderComboComponent) boxBuilderCombo!: BoxBuilderComboComponent;\n\n @ViewChild(BoxBuilderFooterComponent) boxBuilderFooter!: BoxBuilderFooterComponent;\n\n currentSelectedModifierIndex: number = 0;\n\n isConcessionaire: boolean = false;\n\n concessionaireId: string = \"\";\n\n comboItemFlags: any[] = [];\n ngOnInit(): void {\n\n this.isConcessionaire = GeneralSetting.getIsConcessionaire().toLowerCase() == \"true\";\n\n this.branchLogo = GeneralSetting.getBranchLogo();\n this.initializePage();\n }\n\n private initializePage() {\n if (!this.db.hasCategory()) {\n this.db.getPersistentCategoriesAsync(true);\n }\n\n\n if (this.isComboItem) {\n if (this.item) {\n this.setDetailByItem(this.item);\n if (this.item.ComboGroup) {\n this.numInvisibleGroups = this.item.ComboGroup.filter(\n (x) => x.isHidden\n ).length;\n }\n }\n return;\n }\n\n const item = this.itemTransferService.getItem();\n\n if (this.guid) {\n this.setEditItemDetail();\n if (this.item) {\n if (this.item.ComboGroup) {\n this.numInvisibleGroups = this.item.ComboGroup.filter(\n (x) => x.isHidden\n ).length;\n }\n }\n return;\n }\n\n this.allSubsCription.push(\n this.db.categorySubject.subscribe((categories) => {\n if (!(categories && categories.length > 0)) return;\n\n const category = categories.find(\n (x) => Number(x.CategoryID) == Number(this.CategoryID)\n );\n\n this.category = category ?? ({} as Category);\n })\n );\n\n if (item) {\n this.setDetailByItem(item);\n\n //if (this.item) {\n // this.numInvisibleGroups = this.item!.ComboGroup.filter(x => x.isHidden).length\n //}\n\n this.checkIsReady();\n }\n else {\n\n this.db.getItemsByCategoryIdFromSql(this.CategoryID, this.isConcessionaire, this.concessionaireId, true, this.ItemID).then(items => {\n if (items.length > 0) {\n this.itemTransferService.snapshotItem(items[0]);\n this.initializePage();\n }\n });\n }\n\n }\n\n private setEditItemDetail() {\n const cartItem = this.cartService.getCartItems().find(\n (x: any) => x.guid == this.guid\n );\n\n if (cartItem && cartItem != null) {\n\n const item = JSON.parse(JSON.stringify(cartItem)) as ItemV2;\n\n if (item && item != undefined) {\n\n if (item.Modifiers && item.Modifiers.length > 0) {\n this.modifiers = item.Modifiers;\n }\n else {\n this.getAndSetModifier(item.ItemID);\n }\n\n if (item.Variations && item.Variations.length > 0) {\n this.variations = item.Variations;\n }\n else {\n this.db.getPersistentVariationsAsync(item.ItemID).then(variations => {\n this.variations = variations;\n\n if (this.item) {\n this.item.Variations = JSON.parse(JSON.stringify(variations));\n }\n });\n }\n\n if (item.IsCombo) {\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n this.comboGroup = item.ComboGroup\n\n this.totalComboGroups = item.ComboGroup.length;\n }\n else {\n this.getAndSetComboDetail(item.ItemID);\n }\n }\n }\n\n this.item = item;\n\n if (!this.item || this.item == null) return;\n\n this.itemTransferService.snapshotItemV2(this.item);\n\n this.cartQuantity = parseInt(\n (this.item ? Number(this.item.Quantity) : 1).toString()\n );\n\n this.quantity = this.item ? Number(this.item.Quantity) : 1;\n\n const cartItems = this.cartService.getCartItems().filter(\n (x) => x.ItemID == item.ItemID\n );\n\n if (cartItems && cartItems.length > 0) {\n const cartItemsQuantity = Number(\n cartItems.map((x) => Number(x.Quantity)).reduce((a, b) => a + b, 0)\n );\n this.cartQuantity = cartItemsQuantity;\n }\n\n this.cartQuantity = this.quantity - this.cartQuantity;\n }\n this.checkIsReady();\n }\n\n // on getting item from category subscription set all detail in component\n private setDetailByItem(categoryItem: ItemV2) {\n\n if (!categoryItem) return;\n\n const item = JSON.parse(JSON.stringify(categoryItem)) as ItemV2;\n\n if (!item) return;\n\n if (item.Modifiers && item.Modifiers.length > 0) {\n this.modifiers = item.Modifiers;\n }\n else {\n this.getAndSetModifier(item.ItemID);\n }\n\n if (item.Variations && item.Variations.length > 0) {\n this.variations = item.Variations;\n }\n else {\n this.db.getPersistentVariationsAsync(item.ItemID).then(variations => {\n this.variations = variations;\n\n if (this.item) {\n this.item.Variations = JSON.parse(JSON.stringify(variations));\n\n if (this.boxBuilderCombo) this.boxBuilderCombo.ngOnInit();\n }\n });\n }\n\n if (item.IsCombo) {\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n this.comboGroup = item.ComboGroup;\n }\n else {\n this.getAndSetComboDetail(item.ItemID);\n }\n }\n\n if (\n this.itemTransferService.itemV2?.OldPrice &&\n this.itemTransferService.itemV2?.OldPrice != undefined\n ) {\n item.Price = this.itemTransferService.itemV2?.Price;\n item.OldPrice = this.itemTransferService.itemV2?.OldPrice;\n }\n this.quantity = item?.OrderMinimumQuantity || 1;\n this.itemTransferService.snapshotItemV2(item);\n this.item = item;\n }\n\n private getAndSetModifier(itemId: string) {\n //const modPer = performance.now();\n\n //console.log(\"modifier Performance :- \" + modPer)\n\n this.db.getModifierByItemIDFromSql(itemId).then(async (allModifier: ModifierV2[]) => {\n\n this.loader.openLoader();\n\n this.modifiers = await this.itemService.getAllModifierIngredients(allModifier);\n if(this.integration.integration==Integration.Parbrink){\n let parBrinkMods:any =await this.db.parBrinkOverride(this.item,this.modifiers)\n this.modifiers = this.parBrink.parBrinkModifierOverride(parBrinkMods, this.modifiers)\n }\n //const modPerEnd = performance.now();\n\n //console.log(\"modifier Performance End :- \" + modPerEnd);\n\n //console.log(\"Category Per End :- \" + ((modPerEnd - modPer) / 1000));\n\n if (this.item) {\n this.item.Modifiers = JSON.parse(JSON.stringify(this.modifiers));\n }\n\n this.loader.closeLoader();\n if (this.boxBuilderCombo) {\n this.cdr.detectChanges();\n this.boxBuilderCombo.ngOnInit();\n }\n });\n }\n\n private getAndSetComboDetail(itemId: string) {\n\n let comboItemPer = performance.now();\n\n console.log(\"Combo Item Performance :- \" + comboItemPer);\n\n this.db.getAllComboGroupsFromSQl(itemId).then(async (comboGroups: ComboGroup[]) => {\n\n this.loader.openLoader();\n\n if (comboGroups.length > 0) {\n let firstComboGroup = comboGroups[0];\n\n let comboGroupItems = await this.db.getComboItemsFromSql(firstComboGroup.ComboGroupID, itemId);\n\n let isHidden = comboGroupItems.find(x => x.IsInvisibleItem.toLowerCase() == \"true\");\n if (isHidden) {\n firstComboGroup.isHidden = true;\n }\n else {\n firstComboGroup.isHidden = false;\n firstComboGroup.isSelected = true;\n }\n\n firstComboGroup.Items = comboGroupItems;\n\n let copyComboGroupItems = JSON.parse(JSON.stringify(comboGroupItems));\n\n for (let i = 1; i < comboGroups.length; i++) {\n\n let comboGroup = comboGroups[i];\n\n if (comboGroup.HasInvisibleItem) {\n\n let IcomboGroupItems = await this.db.getComboItemsFromSql(comboGroup.ComboGroupID, itemId);\n\n let isHidden = IcomboGroupItems.find(x => x.IsInvisibleItem.toLowerCase() == \"true\");\n if (isHidden) {\n comboGroup.isHidden = true;\n }\n else {\n comboGroup.isHidden = false;\n comboGroup.isSelected = true;\n }\n\n comboGroup.Items = IcomboGroupItems;\n }\n else {\n\n for (let j = 0; j < copyComboGroupItems.length; j++) {\n comboGroupItems[j].ComboID = comboGroup.ComboGroupID;\n }\n\n comboGroup.Items = JSON.parse(JSON.stringify(copyComboGroupItems));\n\n comboGroup.isHidden = false;\n comboGroup.isSelected = true;\n }\n }\n }\n this.comboGroup = comboGroups;\n this.loader.closeLoader();\n\n if (this.item) {\n this.item.ComboGroup = this.comboGroup;\n this.numInvisibleGroups = this.item.ComboGroup.filter(x => x.isHidden).length;\n }\n\n if (this.boxBuilderCombo) {\n if (this.item) {\n this.boxBuilderCombo.comboGroups = this.item.ComboGroup;\n this.totalComboGroups = this.item.ComboGroup.length;\n }\n\n this.boxBuilderCombo.numInvisibleGroups = this.numInvisibleGroups;\n this.boxBuilderCombo.ngOnInit();\n }\n else {\n this.cdr.detectChanges();\n }\n\n if (this.boxBuilderFooter) {\n this.boxBuilderFooter.numInvisibleGroups = this.numInvisibleGroups;\n this.boxBuilderFooter.totalQuantity = Array.from(Array(this.totalComboGroups - this.boxBuilderFooter.numInvisibleGroups).keys());\n }\n\n });\n }\n\n open(\n item: any,\n isCombo: boolean,\n isComboItem: boolean,\n itemImageList: any[],\n totalComboGroups: number,\n selectedCount: number,\n numInvisibleGroups: number,\n isEdit: boolean = false\n ) {\n\n this.modalReference = this.modalService.open(BoxBuilderComponent, {\n centered: true,\n size: 'xl',\n windowClass: 'BoxBuilderPopup',\n modalDialogClass: 'BoxBuilderPopup_modelDialog',\n });\n this.modalReference.componentInstance.item = item;\n this.modalReference.componentInstance.item.IsCombo = isCombo; // sending to builder item\n // this.modalReference.componentInstance.modifiers = item.Modifiers; // Sending to builder item\n this.modalReference.componentInstance.isComboItem = isComboItem;\n this.modalReference.componentInstance.itemImageList = itemImageList;\n this.modalReference.componentInstance.totalComboGroups = totalComboGroups;\n this.modalReference.componentInstance.selectedCount = selectedCount;\n this.modalReference.componentInstance.modalReference = this.modalReference;\n this.modalReference.componentInstance.numInvisibleGroups =\n numInvisibleGroups;\n if (isEdit) {\n this.modalReference.componentInstance.isFromEdit = isEdit;\n }\n return this.modalReference;\n }\n\n close() {\n this.modalReference.close();\n }\n\n getSelectedCount(selectedCount: number) {\n this.selectedCount = selectedCount;\n }\n\n getItemImageList(itemImageList: any[]) {\n this.itemImageList = itemImageList;\n }\n\n isComboStateChanged(value: boolean) {\n this.item!.IsCombo = value;\n }\n\n closeModel(data: ItemV2 | null) {\n this.modalReference.close(data);\n }\n\n setSelectedModifiers(values: {\n inputModifier: ModifierV2[];\n isValid: boolean;\n modifierSelectedIndex: number;\n }) {\n this._selectedModifiers = Array.from(values.inputModifier);\n this.isModifiersValid = values.isValid;\n\n this.currentSelectedModifierIndex = values.modifierSelectedIndex;\n this.checkIsReady();\n }\n\n private checkIsReady() {\n let isValid = false;\n\n if (\n this.item &&\n (!this.item.ComboGroup || this.item.ComboGroup.length <= 0) &&\n (!this.item.Modifiers || this.item.Modifiers.length <= 0) &&\n (!this.item.Variations || this.item.Variations.length <= 0)\n ) {\n isValid = true;\n } else {\n if (this.comboGroup && this.comboGroup.length > 0) {\n isValid = this.isComboGroupValid;\n } else {\n if (this.modifiers) {\n if (this.isModifiersValid == undefined) {\n isValid = true;\n } else {\n isValid = this.isModifiersValid;\n }\n }\n }\n }\n\n // just to avoid having expressing change error in log\n // setTimeout(() => {\n this.isReady = isValid;\n // }, 500);\n }\n\n getComboItemFlags(comboItemFlags: any[]) {\n this.comboItemFlags = comboItemFlags;\n }\n\n cancel() {\n this.router.navigate(['/menu'], {\n queryParams: { category: this.CategoryID, concessionaireId: this.concessionaireId },\n });\n }\n\n updateComboGroup(comboGroupList: ComboGroup[]) {\n this.comboGroup = comboGroupList;\n this.boxBuilderCombo.comboGroup = comboGroupList;\n if (this.boxBuilderCombo) {\n this.boxBuilderCombo.setComboItems(true);\n }\n }\n\n reviewScreenOpen(result: boolean) {\n this.boxBuilderItemFooter.reviewYourBox();\n }\n}\n","\n \n \n\n \n \n \n\n \n \n \n\n \n\n\n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\n@Component({\n selector: 'app-payment-error',\n templateUrl: './payment-error.component.html',\n styleUrls: ['./payment-error.component.css'],\n})\nexport class PaymentErrorComponent implements OnInit, OnDestroy {\n\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n modalReference!: NgbModalRef;\n\n languageSub!: Subscription;\n\n isVerifone!: boolean;\n\n isRefund: boolean = false;\n\n isClover: boolean = false;\n\n isCloverRefund: boolean = false;\n\n isCloverConnectFailed: boolean = false;\n\n checkoutText: string = '';\n\n refundText: string = ''\n\n notEnoughFundsText: string = ''\n\n paymentText: string = ''\n\n error: string = '';\n\n constructor(\n private modalService: NgbModal,\n private logger: LogService,\n private language: LanguageService\n ) {}\n\n\n loadText() {\n this.checkoutText = this.language.getTextElement('lbl_checkout');\n this.refundText = this.language.getTextElement('refund');\n this.notEnoughFundsText=this.language.getTextElement('not_enough_funds')\n this.paymentText=this.language.getTextElement('payment')\n\n }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n public static open(\n modalService:any,\n language:LanguageService,\n isVerifone: boolean,\n error: string,\n isRefund: boolean = false,\n isClover?: boolean,\n isCloverRefund?: boolean,\n isCloverConnectFailed?: boolean\n ) {\n let modalReference = modalService.open(PaymentErrorComponent, {\n size: 'lg',\n centered: true,\n });\n modalReference.componentInstance.error = error;\n if (isClover) {\n let error = language.getTextElement('insufficient_funds_refund_issued')\n modalReference.componentInstance.error = error;\n }\n if (isCloverConnectFailed) {\n modalReference.componentInstance.error = error;\n }\n\n modalReference.componentInstance.isRefund = isRefund;\n if (isCloverRefund) {\n modalReference.componentInstance.isCloverRefund = isCloverRefund;\n }\n modalReference.componentInstance.isVerifone = isVerifone;\n if (isClover) {\n modalReference.componentInstance.isClover = isClover;\n }\n\n modalReference.componentInstance.modalReference = modalReference;\n\n return modalReference;\n }\n\n close() {\n var log = new loggingData(\n 'Payment Error',\n 'Encountered Payment Error',\n 'Payment Error',\n `Recieved Error: ${\n this.error\n } During Payment Type ${GeneralSetting.getPaymentTypeID()}`,\n false\n );\n this.logger.sendLogToServer(log);\n this.modalReference.close('closed');\n }\n\n}\n","\n \n
\n
\n × \n \n \n
{{ isRefund ? refundText : checkoutText|uppercase }} \n
{{ isRefund ? refundText : paymentText }} \n\n
{{ isCloverRefund ? refundText : checkoutText|uppercase }} \n
{{ isCloverRefund ? notEnoughFundsText : paymentText }} \n\n
{{ error }} \n\n
\n
\n
\n
\n\n \n
\n
\n \n","\n \n
\n \n
{{checkoutText|uppercase}} \n
{{accountNotFoundText}} \n
{{cannotFindAccountText}} \n
\n
\n
\n\n \n
\n \n {{tryAgainText}}\n \n \n \n {{useAnotherMethodText|uppercase}}\n \n
\n \n
\n
\n ","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-usconnect-account-not-found',\n templateUrl: './usconnect-account-not-found.component.html',\n styleUrls: ['./usconnect-account-not-found.component.css']\n})\nexport class UsconnectAccountNotFoundComponent implements OnInit, OnDestroy {\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n languageSub!: Subscription\n\n modalReference: any;\n\n isIDCardPayment: boolean = false;\n\n checkoutText: string = ''\n\n tryAgainText: string = ''\n accountNotFoundText: string = ''\n cannotFindAccountText: string = ''\n useAnotherMethodText: string = ''\n\n constructor(private language: LanguageService) { }\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n loadText() {\n this.checkoutText = this.language.getTextElement('lbl_checkout');\n this.tryAgainText = this.language.getTextElement('try_again');\n this.accountNotFoundText = this.language.getTextElement('account_not_found');\n this.cannotFindAccountText = this.language.getTextElement('cannot_find_your_account');\n this.useAnotherMethodText = this.language.getTextElement('use_another_method');\n }\n\n public static open(modelService: NgbModal, isIDCardPayment: boolean) {\n var modalReference = modelService.open(UsconnectAccountNotFoundComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.isIDCardPayment = isIDCardPayment;\n return modalReference;\n }\n\n close(event: string) {\n this.modalReference.close(event);\n }\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core'\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'\nimport { interval, Subscription } from 'rxjs'\nimport { LanguageService } from 'src/app/services/language.service'\n\n@Component({\n selector: 'app-upgrade-kiosk',\n templateUrl: './upgrade-kiosk-app.component.html',\n styleUrls: ['./upgrade-kiosk-app.component.css'],\n})\nexport class UpgradeKioskAppComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private modalRef: any;\n\n private allSubsCription: Subscription[] = [];\n\n ref: any;\n headerText: string = 'Make sure to leave the Kiosk plugged into the (Power) AC adapter, and ensure to have a reliable network connection';\n descriptions: string[] = [];\n description: string = '';\n index: number = 0;\n\n currentStateText: string = '...';\n indexText: string = '';\n path: string = '';\n\n constructor(private language: LanguageService) {\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n loadText() {\n this.headerText = this.language.getTextElement('')\n }\n\n ngOnInit(): void {\n this.description = this.language.getTextElement('loading_menu');\n }\n\n public static open(modalService: NgbModal) {\n const ref = modalService.open(UpgradeKioskAppComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n ref.componentInstance.modalRef = ref;\n\n return ref;\n }\n\n // clear() {\n // this.ngOnDestroy();\n\n // if (this.modalRef && this.modalRef != null) {\n // this.modalRef.close();\n // }\n // }\n\n // public setCurrentStateMessage(message: string) {\n // this.currentStateText = message;\n // }\n\n // public setIndexText(message: string) {\n // this.indexText = message;\n // }\n}\n","\n
\n
\n
\n
{{headerText}}
\n
\n","\n
\n
{{checkoutText|uppercase}} \n
\n
\n {{applyingDiscountText}} \n \n {{removingDiscountText}} \n \n \n
{{pleaseBePatientText}} \n
\n
\n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-olo-apply-remove-discount-popup',\n templateUrl: './olo-apply-remove-discount-popup.component.html',\n styleUrls: ['./olo-apply-remove-discount-popup.component.css']\n})\nexport class OloApplyRemoveDiscountPopupComponent implements OnInit,OnDestroy {\n\n modalReference: any;\n languageSub!: Subscription;\n\n constructor(private readonly modalService: NgbModal,private language:LanguageService) { }\n\n isApplyingDiscount: boolean = false;\n\n checkoutText:string=''\n applyingDiscountText:string=''\n removingDiscountText:string=''\n pleaseBePatientText:string=''\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.checkoutText=this.language.getTextElement('lbl_checkout')\n this.applyingDiscountText=this.language.getTextElement('applying_discount')\n this.removingDiscountText=this.language.getTextElement('removing_discount')\n this.pleaseBePatientText=this.language.getTextElement('please_be_patient_for_a_moment_while_we_calculate_your_order_discount')\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n public static open(modalService:NgbModal,isApplyingDiscount: boolean = true) {\n const modalReference =modalService.open(OloApplyRemoveDiscountPopupComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.isApplyingDiscount = isApplyingDiscount;\n\n return modalReference;\n }\n\n open(isApplyingDiscount: boolean = true) {\n const modalReference = this.modalService.open(OloApplyRemoveDiscountPopupComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.isApplyingDiscount = isApplyingDiscount;\n this.modalReference = modalReference;\n }\n\n clear() {\n this.modalReference.close();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n ElementRef,\n OnDestroy,\n} from '@angular/core';\nimport { DatabaseHandler } from 'src/app/DatabaseHandler';\nimport { HeaderImage } from 'src/app/models/headerImage';\nimport { environment } from 'src/environments/environment';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { CustomerLoginPopupComponent } from 'src/app/components/dialogs/customer-login-popup/customer-login-popup.component';\nimport { UserService } from 'src/app/services/user.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CartService } from 'src/app/services/cart.service';\nimport { CartComponent } from 'src/app/components/cart/cart.component';\nimport { Category } from 'src/app/models/category';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { Subscription } from 'rxjs';\nimport {\n ItemV2 as Item,\n ItemV2,\n ModifierV2 as Modifier,\n} from 'src/app/models/item';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { OutOfStockComponent } from 'src/app/components/out-of-stock/out-of-stock.component';\nimport { SoldOutComponent } from 'src/app/components/dialogs/sold-out/sold-out.component';\nimport { AlcoholicOver21DialogComponent } from 'src/app/components/dialogs/alcoholic-over21-dialog/alcoholic-over21-dialog.component';\nimport { AlcoholicItemsExceedMaxComponent } from 'src/app/components/dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\n\nimport { ItemTransferService } from '../../services/item-transfer.service';\nimport { Guid } from '../../models/Guid';\nimport { Concessionaire } from '../../models/Concessionaire';\n\nimport { PusherService } from '../../services/pusher.service';\nimport { ItemWeightComponent } from '../dialogs/item-weight/item-weight.component';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { UpSellDialogComponent } from '../dialogs/up-sell-dialog/up-sell-dialog.component';\n\nimport { ItemSelectionComponent } from '../dialogs/item-selection/item-selection.component';\nimport { ScannedItemAddedComponent } from '../dialogs/scanned-item-added/scanned-item-added.component';\nimport { OloErrorPopupComponent } from '../dialogs/olo-error-popup/olo-error-popup.component';\nimport { VariationOption } from 'src/app/models/Variations';\nimport { ScannerHybridModeServiceService } from 'src/app/services/scanner-hybrid-mode-service.service';\nimport { IntegrationService } from 'src/app/services/integration.service';\nimport { GeneralAlertComponent } from '../dialogs/general-alert/general-alert.component';\nimport { usConnectCreds } from 'src/app/models/usconnectCreds';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { FilterConcessionaireComponent } from '../dialogs/filter-concessionaire/filter-concessionaire.component';\nimport { ConcessionaireFilterTypes } from 'src/app/models/concessionaireTypes';\nimport { ConcessionaireService } from '../menu/conc-service/concessionaire.service';\nimport { BrandFilterComponent } from '../dialogs/brand-filter/brand-filter.component';\nimport { TimeoutComponent } from '../timeout/timeout.component';\nimport { Subject } from 'rxjs';\nimport { SchedulePricingService } from 'src/app/services/schedule-pricing.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\nimport { DiscountService } from 'src/app/services/discount.service';\nimport { CustomerLoginModalService } from '../dialogs/customer-login-popup/customer-login-popup.service';\nimport { PreloaderService } from 'src/app/services/preloader.service';\nimport { LoadingComponent } from 'src/app/loading/loading.component';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\n@Component({\n selector: 'app-search-scannable-item',\n templateUrl: './search-scannable-item.component.html',\n styleUrls: ['./search-scannable-item.component.css'],\n})\nexport class SearchScannableItemComponent implements OnInit, OnDestroy {\n modalReference: any;\n\n primaryColor: string = '';\n positiveColor: string = '';\n positiveColorText: string = '';\n searchableItems: ItemV2[] = [] as ItemV2[];\n searchitem: string = '';\n textColor: string = '';\n priceColor: string = '';\n cartItems: ItemV2[] = [];\n\n removeAlcohol: boolean = false;\n languageSub!: Subscription;\n searchScannableText: string = '';\n searchResultsText: string = '';\n backText: string = '';\n bordersTypeCategory: boolean = false;\n bordersTypeItem: boolean = false;\n imageRadius: string = '';\n isHideZeroPrice: boolean = false;\n\n private keyboardClosedSubscription: Subscription = new Subscription();\n noItemFound: string = '';\n yourOrder: string = '';\n searchPlaceholder: string = '';\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n\n if (this.isHybridMode) {\n this.scannerService.stopBarcodeScanner();\n }\n\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n\n if (this.keyboardClosedSubscription) {\n this.keyboardClosedSubscription.unsubscribe();\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n @ViewChild(CustomerLoginPopupComponent)\n customerLoginPopup!: CustomerLoginPopupComponent;\n\n @ViewChild(CartComponent) cart!: CartComponent;\n\n @ViewChild(TimeoutComponent) timeOutComponent!: TimeoutComponent;\n\n @ViewChild('itemContainerDiv') itemContainerDiv!: ElementRef;\n\n @ViewChild('categoryContainerDiv') categoryContainerDiv!: ElementRef;\n\n @ViewChild('itemsgrid') itemsgrid!: ElementRef;\n\n itemSelectionmodal!: ItemSelectionComponent;\n\n scannedItemAddedComponent!: ScannedItemAddedComponent;\n\n imageBaseUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n branchLogo: string = '';\n\n queryCategoryId: string = '';\n\n categoryTitle: string = '';\n\n isLoyalty: boolean = false;\n useLoyalty: boolean = false;\n userName: string = '';\n\n openCart: boolean = false;\n\n categoryColor: string = '';\n\n accentColor: string = '';\n\n backgroundColor: string = '';\n\n isHidden: boolean = false;\n\n headerImages: HeaderImage[] = [];\n\n headerImage: HeaderImage = {\n imageURL: '',\n ID: '',\n bgColor: '',\n };\n\n concessionaireBaseUrl: string = '/uploads/ConcessionaireLogo/';\n\n hideHeaderCategoryText: string = 'false';\n\n allCategory: Category[] = [] as Category[];\n\n selectedCategory: Category | null = null;\n\n parentCategoryStack = [] as Category[];\n\n currentCategoryToShow: Category[] = [] as Category[];\n\n currentCategoryToShowSub: Subject = new Subject();\n\n currentItems: Item[] = [] as Item[];\n currentItemsSub: Subject- = new Subject();\n\n defaultCatBackground: string = '';\n\n backgroundImageCategory: string = '';\n\n showCalorie: string = '';\n\n hideStartAt: string = '';\n\n minimizeSpace!: any;\n\n checkScrollCheck: boolean = false;\n\n isTop: boolean = true;\n\n isBottom: boolean = false;\n\n //For Concessionaire\n isConcessionaire: boolean = false;\n\n allConcessionaire: Concessionaire[] = [] as Concessionaire[];\n\n allConcessionaireSub: Subject
= new Subject();\n\n selectedConcessionaire!: Concessionaire;\n\n queryConcessionaireId: string = '';\n\n private itemOffSet = 0;\n\n private isInbotton = false;\n\n isHybridMode =\n GeneralSetting.getUseBarcodeScanner() === 'True' ? true : false;\n\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n IsShowAllBarcodeItemsMenu = GeneralSetting.getIsShowAllBarcodeItemsMenu();\n\n usConnectCreds: usConnectCreds = {\n AuthToken: '',\n DeviceSerialNumber: '',\n UCMID: '',\n URL: '',\n };\n\n integrationID: number;\n\n isMiniMizeSpacing: boolean = false;\n\n timeOutCloseCart!: any;\n\n startsAtText: string = '';\n\n regularPriceText: string = '';\n\n calorieText: string = '';\n\n signInText: string = '';\n\n viewMoreText: string = '';\n\n soldOutText: string = '';\n\n noResultsText: string = '';\n\n tryDifferentFilterText: string = '';\n\n foodFiltersText: string = '';\n\n scrollForMoreText: string = '';\n\n scrollForMoreLBText: string = '';\n\n isFilterApplied: string = '';\n\n isItemTagsSelected: string = '';\n\n selConcessionaireFilters: ConcessionaireFilterTypes[] =\n [] as ConcessionaireFilterTypes[];\n\n concessionaireHeaderImage: string = '';\n\n isShowBranchLogo: boolean = false;\n\n positiveBtnColor: string = '';\n\n positiveTextColor: string = '';\n\n conSize!: number;\n\n isHideFilter: boolean = false;\n\n secondaryColor: string = '';\n\n isFilter: boolean = false;\n\n categoryDescription: string = '';\n\n placeholderImage: string = '';\n\n fixedItemDisc: FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n closeCartDelay: any;\n\n showOverlay: boolean = false;\n\n showScroll: boolean = false;\n\n isScrollArrowUp: boolean = false;\n\n itemContainerHeight: string = '70vh';\n\n isSelectedLangFrench = false;\n\n constructor(\n private router: Router,\n private modalService: NgbModal,\n private database: DatabaseService,\n private cartService: CartService,\n private readonly loyaltyService: LoyaltyService,\n private itemTransferService: ItemTransferService,\n public keyboardService: KeyboardService,\n private scannerService: ScannerHybridModeServiceService,\n private language: LanguageService,\n private db: DatabaseService,\n private isKioskService: IsKioskService,\n private userService: UserService,\n private logger: LogService,\n private readonly route: ActivatedRoute,\n private readonly pusherService: PusherService,\n private readonly conService: ConcessionaireService,\n integration: IntegrationService,\n private schedulePricing: SchedulePricingService,\n private readonly dataService: DataService,\n private discountService: DiscountService,\n private customerLoginService: CustomerLoginModalService,\n private preloader: PreloaderService\n ) {\n this.integrationID = integration.integration;\n this.queryCategoryId = this.route.snapshot.queryParams['category'];\n this.queryConcessionaireId =\n this.route.snapshot.queryParams['concessionaireId'];\n this.setOffSet(0);\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n if (this.language.locale == 'fr') {\n this.isSelectedLangFrench = true;\n } else {\n this.isSelectedLangFrench = false;\n }\n }\n\n loadText() {\n this.searchScannableText = this.language.getTextElement(\n 'search_for_scannable_items'\n );\n this.searchResultsText = this.language.getTextElement('search_results');\n this.searchPlaceholder = this.language.getTextElement('search_placeholder');\n this.yourOrder = this.language.getTextElement('your_order');\n this.backText = this.language.getTextElement('back');\n this.noItemFound = this.language.getTextElement('no_item_found');\n }\n async ngOnInit(): Promise {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.positiveColor = GeneralSetting.getPositiveColor();\n this.positiveColorText = GeneralSetting.getPositiveColorText();\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.textColor = GeneralSetting.getTextColor();\n this.priceColor = GeneralSetting.getPriceColor();\n //this.getSearchableItemList();\n this.getItems();\n this.KeyboardPopup();\n\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.branchLogo =\n GeneralSetting.getBranchLogo() != ''\n ? this.imageBaseUrl + GeneralSetting.getBranchLogo()\n : 'assets/images/Image_21.png';\n\n this.isLoyalty = this.loyaltyService.isLoyalty;\n this.useLoyalty = GeneralSetting.getUseLoyaltyKiosk() == 'True';\n this.categoryColor = GeneralSetting.getCategoryColor();\n\n this.primaryColor = GeneralSetting.getPrimaryColor();\n\n this.textColor = GeneralSetting.getTextColor();\n\n this.accentColor = GeneralSetting.getAccentColor();\n\n this.defaultCatBackground = GeneralSetting.getKioskBackgroundImage();\n\n this.minimizeSpace = GeneralSetting.getIsMinimizeSpacing();\n\n this.showCalorie = GeneralSetting.getShowCalorieCounts();\n\n this.hideStartAt = GeneralSetting.getHideStartsAtForVariablePrice();\n\n this.priceColor = GeneralSetting.getPriceColor();\n\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n\n this.bordersTypeCategory =\n GeneralSetting.getBorderTypeCategories().toLowerCase() == 'true';\n\n this.bordersTypeItem =\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n\n this.imageRadius = GeneralSetting.getBorderPercentage();\n\n this.getCategoryHeaderDetail();\n\n this.setOffSet(0);\n\n this.isHideZeroPrice =\n GeneralSetting.getHidePriceIfBasePriceZero() &&\n GeneralSetting.getHidePriceIfBasePriceZero() == 'True'\n ? true\n : false;\n\n if (this.isConcessionaire) {\n this.concessionaireHeaderImage =\n GeneralSetting.getConcessionaireHeaderImage();\n\n this.isShowBranchLogo = GeneralSetting.getHideLogo();\n\n this.getSelConcessionaireTypes();\n\n this.getAndSetAllConcessionaire();\n } else {\n this.getAndSetAllCategory();\n }\n\n this.userLoginCheck();\n\n this.pusherBind();\n\n this.positiveBtnColor = GeneralSetting.getPositiveColor();\n\n this.positiveTextColor = GeneralSetting.getPositiveColorText();\n\n this.secondaryColor = GeneralSetting.getSecondaryColor();\n\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n\n this.keyboardClosedSubscription =\n this.keyboardService.keyboardClosed$.subscribe((iskeyboardOpen) => {\n // Handle the keyboard closed event here\n //console.log('Keyboard is closed.' + iskeyboardOpen);\n\n this.itemContainerHeight = iskeyboardOpen ? '70vh' : '90vh';\n });\n }\n // add click event on first input field @jay\n KeyboardPopup() {\n let searchitemElement: HTMLElement = document.getElementById(\n 'searchitem'\n ) as HTMLElement;\n searchitemElement.click();\n }\n\n loading!: LoadingComponent;\n LoadingComponent: any;\n modalRef!: NgbModalRef;\n\n backtomenu(): void {\n this.keyboardService.KeyboardStatus = false;\n this.router.navigateByUrl('/menu');\n }\n\n async getSearchableItemList() {\n this.searchableItems = await this.database.getItemsByCategoryIdFromSql(\n '0',\n false,\n '0',\n false,\n '',\n 0,\n 1\n );\n }\n\n async searchThis() {\n this.searchableItems = await this.database.getItemsByCategoryIdFromSql(\n '0',\n false,\n '0',\n false,\n '',\n 0,\n 2,\n this.searchitem\n );\n\n if (this.searchitem === '') {\n this.searchableItems = [];\n }\n }\n\n // async onItemClick(item: ItemV2, event: any) {\n // this.keyboardService.KeyboardStatus = false;\n // if (item.ModifierCount && item.ModifierCount > 0) {\n // this.searchError();\n // } else {\n // this.addToCart(item);\n // }\n // }\n\n // private async addToCart(item: ItemV2) {\n // const objCartItem = await this.scannerService.createCartItem(\n // item,\n // this.database\n // );\n // const direction = CommonFunctions.getItemType(item);\n\n // if (objCartItem.Variations && objCartItem.Variations.length > 0) {\n // this.redirectVariationItem(objCartItem, direction);\n // } else {\n // if (\n // item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()\n // ) {\n // //path of functions to be called when item is alcoholic\n // this.AlcoholicItemChecks(objCartItem, direction);\n // } else {\n // this.normalItemAddToCart(objCartItem);\n // }\n // }\n // }\n\n // private async normalItemAddToCart(item: ItemV2) {\n // let res = await this.cartService.addToCartAsync(item);\n\n // if (!res.status) {\n // if (res.error == 'alcohol') {\n // Snackbar.show('Exceeded maximum alcohol quantity for this item', 3000);\n // } else if (res.error == 'stock') {\n // Snackbar.show('Item is sold out', 3000);\n // }\n // return;\n // }\n // }\n\n ngOnChanges(): void {\n this.getItems();\n }\n\n getItems() {\n const cartItems = this.cartService.getCartItems();\n for (let ciI = 0; ciI < cartItems.length; ciI++) {\n const item = cartItems[ciI];\n item.totalPrice =\n CommonFunctions.getItemPrice(item) * Number(item.Quantity);\n }\n\n this.cartItems = cartItems;\n this.setSearchListHeight();\n }\n\n redirectVariationItem(item: ItemV2, direction: string) {\n this.itemTransferService.snapshotItem(item);\n\n if (item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()) {\n //path of functions to be called when item is alcoholic\n this.AlcoholicItemChecks(item, direction);\n } else if (direction == 'menu') {\n // Only Normal Item is added directly to cart\n\n this.timeOutComponent.stillHere();\n this.normalItemAddToCart(true, item);\n this.cartService.doScrollCart.next(true);\n\n this.navigateToItemPage(true, item, direction);\n } else if (direction != 'itemDescription') {\n this.navigateToItemPage(true, item, direction);\n } else if (direction == 'itemDescription') {\n this.navigateToItemPage(true, item, direction);\n }\n }\n\n clearSearch() {\n this.keyboardService.KeyboardStatus = false;\n this.searchitem = '';\n this.searchableItems = [];\n //this.searchThis();\n }\n\n setSearchListHeight(): Object {\n const cartItems = this.cartService.getCartItems();\n if (cartItems.length > 0) {\n return {\n height: '53vh',\n };\n }\n return { height: '67vh' };\n }\n\n private searchError() {\n this.scannerService.stopBarcodeScanner();\n OloErrorPopupComponent.open(\n this.modalService,\n 'Item not recognized, please try again or you can contact store manager for assistance. ',\n '',\n 'OK'\n );\n }\n\n async ngAfterViewInit() {\n this.showOverlay =\n GeneralSetting.getIsOverlayScreenShown() == 'false' ? true : false;\n if (this.showOverlay) {\n setTimeout(() => {\n this.showOverlay = false;\n GeneralSetting.setIsOverlayScreenShown(true);\n }, 1500);\n }\n this.checkforScroll();\n\n setTimeout(() => {\n this.checkScrollCheck = this.checkScroll();\n }, 1500);\n\n this.getItems();\n this.preloader.hide();\n\n if (this.isHybridMode) {\n //this.showItemSelectionPopup();\n this.startBarcodeScanner();\n }\n\n //Added just for testing purpose don't uncomment this\n //this.AddItemByThread();\n }\n\n AddItemByThread() {\n setTimeout(() => {\n this.addScannedItem('cho0007');\n\n this.AddItemByThread();\n }, 6000);\n }\n checkforScroll() {\n if (\n this.currentCategoryToShow.length &&\n this.currentCategoryToShow.length > 5\n ) {\n this.showScroll = true;\n } else {\n this.showScroll = false;\n }\n }\n\n private pusherBind() {\n this.allSubsCription.push(\n this.pusherService.Item86.subscribe((x) => {\n if (x && Object.keys(x).length > 0) {\n setTimeout(() => {\n this.onSideCategoryClick(this.selectedCategory);\n }, 1000);\n }\n })\n );\n\n this.allSubsCription.push(\n this.pusherService.ItemPrice.subscribe((x) => {\n this.onSideCategoryClick(this.selectedCategory);\n })\n );\n\n this.allSubsCription.push(\n this.pusherService.ItemStatus.subscribe((x) => {\n if (x && Object.keys(x).length > 0) {\n setTimeout(() => {\n this.onSideCategoryClick(this.selectedCategory);\n }, 1000);\n }\n })\n );\n\n this.allSubsCription.push(\n this.pusherService.ItemIsActive.subscribe((x) => {\n if (x && Object.keys(x).length > 0) {\n setTimeout(() => {\n this.onSideCategoryClick(this.selectedCategory);\n }, 1000);\n }\n })\n );\n\n this.allSubsCription.push(\n this.loyaltyService.updateRewardSub.subscribe((points: number) => {\n let availablePoints =\n this.userService.referrizerLoyaltyUser?.loyaltyPointsCount || 0;\n availablePoints = Number(availablePoints) + Number(points);\n this.userService.referrizerLoyaltyUser.loyaltyPointsCount =\n availablePoints;\n })\n );\n }\n\n private SetAllConcessioaniteValues(con: Concessionaire[]) {\n this.allConcessionaire = con;\n this.conSize = this.allConcessionaire.length;\n\n if (this.allConcessionaire.length > 0) {\n let filterCon =\n this.conSize > (this.isFilter ? 7 : 6)\n ? this.allConcessionaire.slice(0, this.isFilter ? 6 : 5)\n : this.allConcessionaire;\n\n //this.allConcessionaireSub = new BehaviorSubject(filterCon).asObservable();\n this.allConcessionaireSub.next(filterCon);\n } else {\n this.allConcessionaireSub.next([]);\n }\n }\n\n private SetShowingCategoryValues(cat: Category[]) {\n this.currentCategoryToShow = cat;\n this.currentCategoryToShowSub.next(this.currentCategoryToShow);\n }\n\n private SetShowingItemValues(item: Item[]) {\n this.schedulePricing.findAndApplySchedulePricing(item).then((data) => {\n this.currentItems = item;\n if (this.currentItems.length > 0) {\n this.currentItemsSub.next(this.currentItems);\n } else {\n this.currentItemsSub.next([]);\n }\n });\n }\n\n private getAndSetAllConcessionaire() {\n //let conPer = window.performance.now();\n //console.log(\"start Concessionaire Performance :- \" + conPer);\n\n this.db\n .getAllConcessionaireFromSql(\n this.isFilterApplied,\n this.isItemTagsSelected\n )\n .then((conList: Concessionaire[]) => {\n this.SetAllConcessioaniteValues(conList.filter((x) => !x.IsClosed));\n this.setDefaultConcessionaire();\n });\n }\n\n private findDefaultConcessionaireAndSet() {\n if (this.allConcessionaire.length > 0) {\n const defaultCon = this.allConcessionaire.find(\n (x) => x.IsDefaultConcessionaire == true\n );\n\n if (defaultCon) {\n this.selectedConcessionaire = defaultCon;\n } else {\n this.selectedConcessionaire = this.allConcessionaire[0];\n }\n\n this.queryConcessionaireId = this.selectedConcessionaire.ConcessionaireID;\n\n this.getAndSetCategoryDetailOnConClick(this.selectedConcessionaire);\n }\n }\n\n private async setDefaultConcessionaire() {\n if (this.allConcessionaire.length > 0) {\n if (this.queryConcessionaireId && this.queryConcessionaireId != '') {\n const con = this.allConcessionaire.find(\n (x) => x.ConcessionaireID == this.queryConcessionaireId\n );\n if (con) {\n this.onConcessionaireClick(con);\n } else {\n this.findDefaultConcessionaireAndSet();\n }\n } else {\n this.findDefaultConcessionaireAndSet();\n }\n } else {\n this.selectedConcessionaire = {} as Concessionaire;\n this.allCategory = [];\n this.SetShowingItemValues([] as Item[]);\n this.setSelectedCategoryWithItem(this.allCategory[0], []);\n }\n\n this.scrollToConcessionaire();\n }\n\n private scrollToConcessionaire() {\n setTimeout(() => {\n if (this.selectedConcessionaire) {\n const conRef = document.getElementById(\n this.selectedConcessionaire.ConcessionaireID\n );\n\n if (conRef) {\n conRef.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n inline: 'nearest',\n });\n }\n }\n }, 500);\n }\n\n private getAndSetAllCategory() {\n this.db.getAllCategoryFromSql('', false).then(async (categories) => {\n if (!(categories && categories.length > 0)) return;\n\n this.allCategory = this.setChildCategories(categories);\n\n if (this.allCategory && this.allCategory.length > 0) {\n this.setDefaultCategory();\n }\n });\n }\n\n private setChildCategories(categories: Category[]) {\n const childrenCats = categories.filter(\n (cat) => cat.ParentCategoryID != '0'\n );\n\n childrenCats.forEach((child) => {\n var parent = categories.find(\n (cat) => cat.CategoryID.toString() == child.ParentCategoryID\n );\n if (parent && parent.associatedItems) {\n if (\n parent.associatedItems.find(\n (cat) => cat.CategoryID == child.CategoryID\n ) == undefined\n ) {\n child.isSub = true;\n parent.associatedItems?.push(child);\n child.parent = parent;\n }\n }\n });\n\n return categories;\n }\n\n private async setDefaultCategory() {\n var setDefault = async () => {\n if (this.allCategory && this.allCategory.length > 0) {\n this.SetShowingCategoryValues(\n this.allCategory.filter((cat) => cat.ParentCategoryID == '0')\n );\n\n if (this.currentCategoryToShow.length > 0) {\n let items = await this.db.getItemsByCategoryIdFromSql(\n this.currentCategoryToShow[0].CategoryID,\n this.isConcessionaire,\n this.selectedConcessionaire?.ConcessionaireID,\n false,\n '',\n this.itemOffSet,\n 0,\n '',\n this.isItemTagsSelected,\n this.IsShowAllBarcodeItemsMenu\n );\n this.setSelectedCategoryWithItem(\n this.currentCategoryToShow[0],\n items\n );\n }\n }\n };\n\n if (this.queryCategoryId && this.queryCategoryId != '') {\n for (var i = 0; i < this.allCategory.length; i++) {\n if (this.allCategory[i].CategoryID == this.queryCategoryId) {\n let category = this.allCategory[i];\n\n if (category.parent && Object.entries(category.parent).length > 0) {\n if (category.ShowasClassicModifierGroup == 'True') {\n this.onSideCategoryClick(category.parent, true);\n } else {\n this.onSideCategoryClick(category, true);\n }\n } else {\n this.onSideCategoryClick(category, false);\n }\n\n this.scrollToCategory();\n\n return;\n }\n }\n\n setDefault();\n } else {\n setDefault();\n }\n }\n\n private userLoginCheck() {\n this.allSubsCription.push(\n this.userService.userSubject.subscribe((isUserLoggedIn) => {\n if (isUserLoggedIn) {\n this.userName =\n this.userService.name ?? this.language.getTextElement('txt_guest');\n } else {\n this.userName = this.language.getTextElement('action_sign_in');\n }\n })\n );\n }\n\n private setSelectedCategoryWithItem(category: Category, items: Item[]) {\n this.selectedCategory = category;\n\n if (category) {\n let childCategory = category.associatedItems;\n\n let categoryItems = this.convertCategoryToItem(\n childCategory as Category[]\n );\n items.push(...categoryItems);\n\n this.SetShowingItemValues(items);\n\n this.backgroundImageCategory =\n category.BackgroundImage != ''\n ? this.imageBaseUrl + category.BackgroundImage\n : this.defaultCatBackground != '' && category.ColorCode == ''\n ? this.imageBaseUrl + this.defaultCatBackground\n : '';\n\n this.backgroundColor = category.ColorCode\n ? category.ColorCode\n : GeneralSetting.getCategoryBackgroundColor();\n\n this.categoryTitle = category.Name;\n\n if (category.HideHeaderText) {\n this.hideHeaderCategoryText =\n category.HideHeaderText.toString().toLowerCase();\n }\n\n this.categoryDescription = category.Description ?? '';\n\n //this.checkScrollCheck = this.checkScroll();\n\n //this.headerImage.bgColor = category.ColorCode;\n this.changeHeaderDetail(category);\n\n this.scrollItemGridToTop();\n //this.scrollToCategory();\n\n this.checkforScroll();\n }\n }\n\n private scrollToCategory() {\n setTimeout(() => {\n if (this.selectedCategory) {\n let categoryRef = document.getElementById(\n this.selectedCategory.CategoryID\n );\n\n if (categoryRef) {\n categoryRef.scrollIntoView({ behavior: 'smooth', inline: 'nearest' });\n }\n }\n }, 50);\n }\n\n private changeHeaderDetail(category: Category) {\n let i = 0;\n for (i = 0; i < this.headerImages.length; i++) {\n if (this.headerImages[i].ID === category.CategoryID) {\n this.headerImage.imageURL = this.headerImages[i].imageURL;\n break;\n }\n }\n if (i === this.headerImages.length) {\n this.headerImage.imageURL = '';\n this.headerImage.bgColor = GeneralSetting.getPrimaryColor();\n } else {\n this.headerImage.bgColor = '';\n }\n }\n\n private getCategoryHeaderDetail() {\n const CallBack = (tx: any, result: any): void => {\n for (let i = 0; i < result.rows.length; i++) {\n if (result.rows[i].HeaderImage !== '') {\n const image: HeaderImage = {\n imageURL:\n result.rows && result.rows[i]\n ? this.imageBaseUrl + result.rows[i].HeaderImage\n : '',\n ID: result.rows[i].CategoryID,\n bgColor: '',\n };\n this.headerImages.push(image);\n }\n }\n\n this.cartService.setPromotion(0, true, false, []);\n };\n\n const ErrorCallBack = (tx: any, result: any): void => {\n console.log('Category Header Image Get Error :- ', result);\n };\n\n var sqlString = 'SELECT HeaderImage, CategoryID FROM CategoryMasters';\n DatabaseHandler.executeSqlStatement(sqlString, [], CallBack, ErrorCallBack);\n }\n\n private convertCategoryToItem(categories: Category[]) {\n let items = [] as Item[];\n\n for (var i = 0; i < categories.length; i++) {\n let cat = categories[i];\n\n let item = new Item();\n\n item.Name = cat.Name;\n item.IsCategory = true;\n item.AttributeCount = 0;\n item.ModifierCount = 0;\n item.Price = '0';\n item.OldPrice = '0';\n item.ImageUrl = cat.ImageUrl;\n item.BackgroundImage = cat.BackgroundImage ?? '';\n item.DisplayOrder = cat.DisplayOrder;\n item.CategoryID = cat.CategoryID;\n item.ShowasClassicModifierGroup = cat.ShowasClassicModifierGroup;\n item.LabelforItemSelection = cat.LabelforItemSelection;\n item.Quantity = '1';\n items.push(item);\n }\n\n return items;\n }\n\n private async getItemByCategory(\n categoryID: string,\n concessionaireId: string = '',\n isConcessionaire: boolean = false\n ) {\n let itemPer = window.performance.now();\n\n //console.log(\"start Item Performance :- \" + itemPer);\n\n var categoryItems = await this.db.getItemsByCategoryIdFromSql(\n categoryID,\n this.isConcessionaire,\n this.selectedConcessionaire?.ConcessionaireID,\n false,\n '',\n this.itemOffSet,\n 0,\n '',\n '',\n this.IsShowAllBarcodeItemsMenu\n );\n\n let itemPerEnd = window.performance.now();\n\n //console.log(\"End Item Performance :- \" + itemPerEnd);\n\n //console.log(\"item Per Sec:- \" + ((itemPerEnd - itemPer) / 1000));\n\n //console.log(\"Category Items Length :- \" + categoryItems.length);\n\n return categoryItems;\n }\n\n private navigateToItemPage(\n isComingFromScan: boolean,\n item: Item,\n direction: string\n ) {\n this.itemTransferService.snapshotItemV2(item);\n this.router.navigate([`/${direction}`], {\n queryParams: {\n isComingFromScan: isComingFromScan,\n id: item.ItemID,\n category: item.CategoryID,\n concessionaireId: this.isConcessionaire\n ? this.selectedConcessionaire?.ConcessionaireID\n : '',\n },\n });\n }\n\n /**\n * }\n * @implements hard-coded age of majority, to be changed in future versions\n * @description checks if the user has exceeded current amount of alcoholic items allowed per order, and checks user age\n * @returns {Promise} string data detailing whether user age is over/under legal drinking age. Currently hard-coded 21, soon to be localized\n */\n private AlcoholicItemChecks(item: Item, direction: string) {\n let max: number = Number(\n GeneralSetting.getMaxAlcoholicItemsPerOrder() || 0\n );\n if (max > 0) {\n const current: number = Number(GeneralSetting.getCurrentCountofAlkol());\n if (current === max) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n let co21 = AlcoholicOver21DialogComponent.open(this.modalService);\n\n co21.result.then((data: any) => {\n if (data === 'over') {\n var soldOutMode = this.checkForSoldOutModifier(item);\n\n if (soldOutMode.length > 0) {\n this.openSoldOutModel(data, item, direction);\n } else if (direction == 'menu') {\n this.normalItemAddToCart(true, item);\n //this.navigateToItemPage(item, direction);\n } else {\n this.navigateToItemPage(true, item, direction);\n }\n } else {\n this.removeAlcohol = true;\n //this.isUnder21.emit(true);\n //resolve('under21');\n }\n });\n }\n }\n }\n\n /**\n * @param {Modifier[]} soldOutModifier An array of the selected item's Modifier elements which are both default and 86\n * @param {ItemV2} item Data related to the selected item object\n * @param {string} direction Dynamic URL path of the selected item's desired screen\n */\n private openSoldOutModel(\n soldOutModifier: Modifier[],\n item: Item,\n direction: string\n ) {\n let som = SoldOutComponent.open(this.modalService, soldOutModifier, item);\n\n som.result.then((data: string) => {\n if (data == 'continue') {\n this.navigateToItemPage(true, item, direction);\n }\n });\n }\n\n private checkForSoldOutModifier(item: Item): Modifier[] {\n const soldOutMod: Modifier[] = [];\n // Set flow as per General kiosk i.e. 86 based on modifer group not on ingredient\n // const soldOutCheck = async (item: any) => {\n // if (\n // item.IsDefault &&\n // item.IsDefault == 'True' &&\n // item.IsIngredient86 &&\n // item.IsIngredient86 == 'False'\n // ) {\n // soldOutMod.push(item);\n // }\n // };\n\n function modifierCheck(modifier: Modifier) {\n if (modifier && modifier.IsModifier86 == 'False') {\n soldOutMod.push(modifier);\n return modifier;\n }\n\n return null;\n // Set flow as per General kiosk i.e. 86 based on modifer group not on ingredient\n // if (modifier.Ingredients && modifier.Ingredients.length > 0) {\n // await CommonFunctions.forEach(modifier.Ingredients, soldOutCheck);\n // }\n }\n\n if (item.Modifiers) {\n for (var i = 0; i < item.Modifiers.length; i++) {\n var mod = modifierCheck(item.Modifiers[i]);\n if (mod) soldOutMod.push(mod);\n }\n }\n\n return soldOutMod;\n }\n\n private async normalItemAddToCart(isComingFromScan: boolean, item: Item) {\n const objCartItem = this.createCartItem(item);\n\n let upSellItems = await this.getUpSellItems(item.ItemID);\n let itemUpsell = this.cartService.cartItems.find(\n (cartItem) =>\n cartItem.IsUpSellItem &&\n upSellItems.find((upSellItem) => upSellItem.ItemID == cartItem.ItemID)\n );\n if (!itemUpsell && upSellItems.length > 0) {\n this.openUpSellModel(objCartItem);\n } else {\n let res = await this.cartService.addToCartAsync(objCartItem);\n this.timeOutComponent.stillHere();\n if (!res.status) {\n if (res.error == 'alcohol') {\n Snackbar.show(\n 'Exceeded maximum alcohol quantity for this item',\n 3000\n );\n } else if (res.error == 'stock') {\n Snackbar.show('Item is sold out', 3000);\n }\n return;\n }\n\n setTimeout(() => {\n this.startBarcodeScanner();\n }, 1000);\n }\n }\n\n private createCartItem(inputItem: Item) {\n const cartItem = JSON.parse(JSON.stringify(inputItem)) as Item;\n cartItem.guid = inputItem.guid ? inputItem.guid : Guid.newGuid();\n cartItem.Modifiers = [];\n cartItem.VariationOption = [];\n cartItem.ComboGroup = [];\n cartItem.AllowQuantitySelection =\n cartItem.AllowQuantitySelection == ''\n ? 'True'\n : cartItem.AllowQuantitySelection;\n cartItem.GuestName = inputItem.GuestName;\n cartItem.Quantity =\n inputItem.Quantity && inputItem.Quantity != undefined\n ? inputItem.Quantity\n : '1';\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n\n if (\n this.isConcessionaire &&\n this.selectedConcessionaire &&\n Object.entries(this.selectedConcessionaire).length > 0\n ) {\n cartItem.ConcessionaireId = this.selectedConcessionaire.ConcessionaireID;\n cartItem.ConcessionaireName = this.selectedConcessionaire.Name;\n cartItem.ConcessionaireColorCode = this.selectedConcessionaire.ColorCode;\n }\n\n return cartItem;\n }\n\n private setOffSet(offSet: number, isAdd: boolean = false) {\n if (isAdd) {\n this.itemOffSet = this.itemOffSet + 50;\n } else {\n this.itemOffSet = offSet;\n }\n }\n\n changeOpenCart(event: any) {\n this.openCart = event;\n }\n\n onUserClick() {\n this.customerLoginService.onUserClick(this.loyaltyService.loyaltyType).then(\n (data: number) => {\n if (data) {\n if (data == 1) {\n this.router.navigateByUrl('/lastfiveorder');\n } else if (data == 2) {\n this.getUserName();\n } else {\n //this block should not be reached\n }\n }\n //no else block for top-level if-con\n //where data is falsey, a zero is returned to end execution flow without hanging promise\n }\n //no rejection handler\n //promise resolves 0 on all reject cases\n );\n }\n /**\n * Gets user name\n * @returns\n */\n getUserName() {\n if (this.userService.isUserLoggedIn) {\n this.userName = this.userService.name;\n } else {\n this.userName = this.signInText;\n }\n }\n\n async onConcessionaireClick(con: Concessionaire) {\n if (\n this.selectedConcessionaire &&\n this.selectedConcessionaire.ConcessionaireID == con.ConcessionaireID\n )\n return;\n\n if (this.isConClickStoped) return;\n this.onConStop();\n\n this.selectedConcessionaire = con;\n\n // To move the list values on based on selection\n const selConList = this.allConcessionaire;\n let index = this.allConcessionaire.length - 1;\n let newindex = this.allConcessionaire.length;\n for (var i = index; i >= 0; i--) {\n if (\n this.allConcessionaire[i].ConcessionaireID !==\n this.selectedConcessionaire.ConcessionaireID\n ) {\n selConList[--newindex] = this.allConcessionaire[i];\n }\n }\n\n selConList[0] = this.selectedConcessionaire;\n\n this.allCategory = [];\n this.SetShowingCategoryValues([]);\n this.SetShowingItemValues([]);\n\n this.allConcessionaire = selConList;\n\n this.getSelConcessionaireTypes();\n this.getAndSetCategoryDetailOnConClick(this.selectedConcessionaire);\n }\n\n private async getAndSetCategoryDetailOnConClick(con: Concessionaire) {\n let categories = await this.db.getAllCategoryByConcessionaireId(\n this.selectedConcessionaire.ConcessionaireID,\n this.isItemTagsSelected\n );\n\n this.allCategory = this.setChildCategories(categories);\n\n this.setDefaultCategory();\n\n this.queryConcessionaireId = con.ConcessionaireID;\n }\n\n private async onPageEndGetRemainingItems() {\n if (\n this.selectedCategory &&\n this.currentItems &&\n this.currentItems.length > 0 &&\n this.currentItems.length % 50 == 0 &&\n !this.isInbotton\n ) {\n this.isInbotton = true;\n this.setOffSet(0, true);\n\n let items = await this.getItemByCategory(\n this.selectedCategory?.CategoryID ?? '',\n this.selectedConcessionaire?.ConcessionaireID,\n this.isConcessionaire\n );\n\n this.isInbotton = false;\n\n this.SetShowingItemValues(this.currentItems.concat(items));\n }\n }\n\n async onSideCategoryClick(\n category: Category | null | undefined,\n IsSub: boolean = false\n ) {\n setTimeout(() => {\n this.checkScrollCheck = this.checkScroll();\n }, 500);\n\n if (!category) return;\n\n this.setOffSet(0);\n\n //if (IsSub) {\n for (let i = 0; i < this.allCategory.length; i++) {\n let cat = this.allCategory[i];\n\n if (cat.CategoryID == category.CategoryID) {\n if (!cat.parent || Object.keys(cat.parent).length == 0) {\n this.SetShowingCategoryValues(\n this.allCategory.filter((cat) => cat.ParentCategoryID == '0')\n );\n\n let items = await this.db.getItemsByCategoryIdFromSql(\n cat.CategoryID,\n this.isConcessionaire,\n this.selectedConcessionaire?.ConcessionaireID,\n false,\n '',\n this.itemOffSet,\n 0,\n '',\n this.isItemTagsSelected,\n this.IsShowAllBarcodeItemsMenu\n );\n\n this.setSelectedCategoryWithItem(cat, items);\n } else {\n this.SetShowingCategoryValues([cat] as Category[]);\n\n let items = await this.db.getItemsByCategoryIdFromSql(\n cat.CategoryID,\n this.isConcessionaire,\n this.selectedConcessionaire?.ConcessionaireID,\n false,\n '',\n this.itemOffSet,\n 0,\n '',\n this.isItemTagsSelected,\n this.IsShowAllBarcodeItemsMenu\n );\n\n this.setSelectedCategoryWithItem(cat, items);\n }\n\n break;\n }\n }\n //}\n //else {\n // let items = await this.db.getItemsByCategoryIdFromSql(category.CategoryID, this.isConcessionaire, this.selectedConcessionaire?.ConcessionaireID);\n\n // this.setSelectedCategoryWithItem(category, items);\n //}\n }\n\n onItemClick(item: ItemV2, event: any) {\n // Checks fixed item quantity limit\n this.keyboardService.KeyboardStatus = false;\n this.performItemClick(item);\n }\n\n async performItemClick(item: Item) {\n let selectItemsCategory: any = await this.database.getCategoriesByItemID(\n item.ItemID\n );\n\n if (selectItemsCategory.length > 0) {\n item.CategoryID = selectItemsCategory[0].CategoryID;\n item.CategoryName =\n selectItemsCategory[0].DisplayName != ''\n ? selectItemsCategory[0].DisplayName\n : selectItemsCategory[0].Name;\n }\n\n if (this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0) {\n var isFixedItemAvail = this.discountService.isFixedItemAvail(\n this.fixedItemDisc[0],\n item\n );\n\n if (isFixedItemAvail) {\n return;\n }\n }\n\n if (item.IsCategory) {\n if (\n !item.ShowasClassicModifierGroup ||\n item.ShowasClassicModifierGroup == 'False'\n ) {\n let category = {} as Category;\n category.CategoryID = item.CategoryID;\n\n this.onSideCategoryClick(category, true);\n return;\n } else {\n this.navigateToItemPage(true, item, 'ItemNormalMode');\n return;\n }\n }\n\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n if (item.RefItemId == '') {\n let error = this.language\n .getTextElement('missing_ref_item_id')\n .replace('%d', item.Name);\n Snackbar.show(error, 5000);\n return;\n }\n }\n\n if (item.SoldOut) {\n OutOfStockComponent.open(this.modalService, this.language, 0);\n return;\n }\n\n this.itemTransferService.snapshotItem(item);\n //Check for is item by weight\n if (item.EnablePricebyWeight && item.EnablePricebyWeight == 'True') {\n if (GeneralSetting.getRaspberryPiIPAddress() == '') {\n let errorModel = new GeneralAlertComponent(\n this.modalService,\n this.language\n );\n\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('rasperry_pi_not_setup');\n errorModel.open(title, subTitle);\n this.manageScannerInWeightScale(errorModel);\n } else {\n this.scannerService.stopBarcodeScanner();\n\n let iwm = ItemWeightComponent.open(this.modalService);\n\n iwm.result.then(\n (weight: string) => {\n if (weight == 'error') {\n let errorModel = new GeneralAlertComponent(\n this.modalService,\n this.language\n );\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement(\n 'server_communiation_error'\n );\n errorModel.open(title, subTitle);\n this.manageScannerInWeightScale(errorModel);\n } else if (weight == 'cancel') {\n this.startBarcodeScanner();\n } else {\n try {\n this.setWeightAndNavigate(item, weight);\n } catch (e: any) {\n Snackbar.show(e, 3000);\n }\n }\n },\n () => {\n //dismissed instead of close\n }\n );\n }\n } else {\n const direction = CommonFunctions.getItemType(item);\n\n if (\n item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()\n ) {\n //path of functions to be called when item is alcoholic\n this.AlcoholicItemChecks(item, direction);\n } else if (direction == 'menu') {\n // Only Normal Item is added directly to cart\n this.normalItemAddToCart(true, item);\n //this.navigateToItemPage(true, item, direction);\n } else if (direction != 'itemDescription') {\n let soldOutMode = this.checkForSoldOutModifier(item);\n\n if (soldOutMode.length > 0) {\n if (GeneralSetting.getIsmDoNotAllowAddToCartKiosk() == 'True') {\n OutOfStockComponent.open(this.modalService, this.language, 1);\n } else {\n this.openSoldOutModel(soldOutMode, item, direction);\n }\n } else {\n this.keyboardService.KeyboardStatus = false;\n this.navigateToItemPage(true, item, direction);\n }\n } else if (direction == 'itemDescription') {\n let resDuplicateItem = this.cartService.getItemById(\n item.ItemID\n ) as ItemV2;\n if (resDuplicateItem.guid) {\n item = resDuplicateItem;\n }\n this.navigateToItemPage(true, item, direction);\n }\n }\n }\n\n private openUpSellModel(objItem: ItemV2) {\n this.keyboardService.KeyboardStatus = false;\n\n const itemTypeStr = CommonFunctions.getItemTypeV2(objItem);\n let itemType: number = 1;\n\n if (itemTypeStr == 'ItemBuilderMode') {\n itemType = 2;\n }\n\n let usdm = UpSellDialogComponent.open(\n this.modalService,\n this.language,\n objItem.ItemID,\n 1,\n itemType,\n objItem\n );\n\n usdm.result.then((result: any) => {\n if (result != 'cancel') {\n this.upSellModelResponse(result, objItem);\n } else {\n this.addToCart(objItem);\n }\n\n this.KeyboardPopup();\n if (this.isHybridMode) {\n this.startBarcodeScanner();\n }\n window.scrollTo(0, 0);\n });\n }\n\n private upSellModelResponse(resUpsellItems: ItemV2[], objItem: ItemV2) {\n const upSellItems: ItemV2[] = [];\n\n for (let upSellItem of resUpsellItems) {\n upSellItem.IsUpSellItem = true;\n upSellItem.UpSellItemID = objItem.ItemID;\n upSellItem.UpSellItemGuid = objItem.guid;\n upSellItem.UpSellItemPrice = CommonFunctions.getItemPrice(objItem);\n upSellItem.totalPrice = CommonFunctions.getItemPrice(upSellItem);\n\n if (this.isConcessionaire) {\n upSellItem.ConcessionaireId = objItem.ConcessionaireId;\n upSellItem.ConcessionaireName = objItem.ConcessionaireName;\n upSellItem.ConcessionaireColorCode = objItem.ConcessionaireColorCode;\n }\n\n upSellItems.push(upSellItem);\n }\n\n this.addToCart(objItem, upSellItems);\n }\n\n private async addToCart(objItem: ItemV2, upSellItems: ItemV2[] = []) {\n objItem.totalPrice =\n CommonFunctions.getItemPrice(objItem) * Number(objItem.Quantity);\n\n const resAddToCart = await this.cartService.addToCartAsync(objItem);\n\n if (!resAddToCart.status) {\n if (resAddToCart.error == 'alcohol') {\n let error = this.language.getTextElement('max_alcohol_limit');\n Snackbar.show(error, 3000);\n } else {\n let error = this.language\n .getTextElement('item_has_max_quantity')\n .replace('%d', objItem.OrderMaximumQuantity.toLocaleString());\n Snackbar.show(error, 2500);\n }\n\n return;\n } else {\n if (upSellItems.length > 0) {\n for (let i = 0; i < upSellItems.length; i++) {\n upSellItems[i].UpSellItemGuid = objItem.guid;\n this.cartService.addToCartAsync(upSellItems[i]);\n }\n }\n //this.openCartOnAddItem();\n }\n\n return;\n }\n\n private async getUpSellItems(itemId: string) {\n let items = await this.db.getUpSellItemsByItemId(itemId);\n\n return items;\n }\n\n onCategoryScroll() {\n let element = document.getElementById('category-container') as HTMLElement;\n // this.categoryContainerDiv.nativeElement;\n\n let scrollTop = element?.scrollTop;\n let clientHeight = element?.clientHeight;\n // console.log(scrollTop, clientHeight);\n if (scrollTop < 51) {\n let scrollCheck = scrollTop - clientHeight;\n if (scrollCheck < 0) {\n this.isScrollArrowUp = false;\n return;\n }\n }\n\n this.isScrollArrowUp = true;\n }\n\n checkScroll(): boolean {\n if (!this.itemContainerDiv) {\n return false;\n }\n\n const element = this.itemContainerDiv.nativeElement;\n if (element) {\n if (\n element.scrollTop >=\n (element.scrollHeight - element.clientHeight) * 0.8\n ) {\n this.isTop = false;\n this.isBottom = true;\n } else if (\n element.scrollTop <=\n (element.scrollHeight - element.clientHeight) * 0.1\n ) {\n this.isTop = true;\n this.isBottom = false;\n } else {\n this.isBottom = false;\n this.isTop = false;\n }\n\n if (element.clientHeight < element.scrollHeight) {\n return true;\n }\n }\n return false;\n }\n\n onScroll(event: any) {\n if (\n event.target.scrollTop >=\n (event.target.scrollHeight - event.target.clientHeight) * 0.8\n ) {\n this.isTop = false;\n this.isBottom = true;\n\n this.onPageEndGetRemainingItems();\n } else if (\n event.target.scrollTop <=\n (event.target.scrollHeight - event.target.clientHeight) * 0.1\n ) {\n this.isTop = true;\n this.isBottom = false;\n } else {\n this.isBottom = false;\n this.isTop = false;\n }\n }\n\n scrollDownLeft() {\n if (!this.categoryContainerDiv) {\n return;\n }\n\n let element = this.categoryContainerDiv.nativeElement;\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n if (this.isScrollArrowUp) {\n smoothScrollTo(0, 360);\n } else {\n smoothScrollTo(element?.scrollHeight - element?.clientHeight, 360);\n }\n }\n\n scrollDown() {\n if (!this.itemContainerDiv) {\n return;\n }\n\n let element = this.itemContainerDiv.nativeElement;\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(element?.scrollHeight - element?.clientHeight, 300);\n }\n\n scrollTop() {\n if (!this.itemContainerDiv) {\n return;\n }\n\n let element = this.itemContainerDiv.nativeElement;\n\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n /**\n * @param {any} t current time\n * @param {any} b start value\n * @param {any} c change in value\n * @param {any} d duration\n */\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(0, 300);\n }\n\n getCategoryImage(\n category: Category,\n selectedCategory: Category,\n imageBaseUrl: string\n ) {\n let image = '';\n\n function getDeselectedImage(deCategory: Category) {\n if (\n deCategory.DeselectCategoryIcon &&\n CommonFunctions.checkVariable(deCategory.DeselectCategoryIcon) &&\n deCategory.DeselectCategoryIcon != '' &&\n deCategory.DeselectCategoryIcon.slice(-5) != null &&\n deCategory.DeselectCategoryIcon.slice(-5) != 'null'\n ) {\n return deCategory.DeselectCategoryIcon;\n }\n\n return '';\n }\n\n function getSelectedImage(seCategory: Category) {\n if (\n seCategory.CategoryIcon &&\n seCategory.CategoryIcon != '' &&\n CommonFunctions.checkVariable(seCategory.CategoryIcon) &&\n seCategory.CategoryIcon.slice(-5) != null &&\n seCategory.CategoryIcon.slice(-5) != 'null'\n ) {\n return seCategory.CategoryIcon;\n }\n\n return '';\n }\n\n let deImage = getDeselectedImage(category);\n let seImage = getSelectedImage(category);\n\n if (\n selectedCategory &&\n category.CategoryID == selectedCategory.CategoryID\n ) {\n if (seImage != '') {\n image = seImage;\n } else if (deImage != '') {\n image = deImage;\n } else {\n image = '';\n }\n } else {\n if (deImage != '') {\n image = deImage;\n } else if (seImage != '') {\n image = seImage;\n } else {\n image = '';\n }\n }\n\n return image != '' ? imageBaseUrl + image : 'assets/images/Image_21.png';\n }\n\n //ToDo Remove This or replace with on event change\n //there is a maximum of three rows\n getContainerStyle(item: Item): Object {\n let count: number;\n let image = document.getElementById(\n item.ImageUrl || ''\n ) as HTMLImageElement;\n\n if (\n this.selectedCategory &&\n this.selectedCategory.DisplayCatItemRowCount == '1'\n ) {\n count = 22;\n } else if (\n this.selectedCategory &&\n this.selectedCategory.DisplayCatItemRowCount == '2'\n ) {\n count = 18;\n } else {\n count = 14;\n }\n if (image && image.naturalHeight > image.naturalWidth) {\n return {\n height: count + 'vh',\n 'line-height': count,\n width: 'auto',\n };\n }\n return { height: count + 'vh', 'line-height': count + 'vh', width: 'auto' };\n }\n\n //ToDo remove or replace with event change\n //there is a maximum of three rows\n getStyle(item: Item): Object {\n let count: number;\n\n let image = document.getElementById(\n item.ImageUrl || ''\n ) as HTMLImageElement;\n // console.dir(image);\n if (\n this.selectedCategory &&\n this.selectedCategory.DisplayCatItemRowCount == '1'\n ) {\n count = 22;\n } else if (\n this.selectedCategory &&\n this.selectedCategory.DisplayCatItemRowCount == '2'\n ) {\n count = 18;\n } else {\n count = 14;\n }\n\n if (image && image.naturalHeight > image.naturalWidth) {\n return {\n // 'min-width': count + 'vh',\n height: count + 'vh',\n width: 'auto',\n 'border-radius': this.bordersTypeItem ? this.imageRadius : '0%',\n };\n }\n\n return {\n width: count + 'vh',\n 'border-radius': this.bordersTypeItem ? this.imageRadius : '0%',\n };\n }\n\n getItemContainerHeight(\n isKeyboardOn: boolean = false,\n isConcessionaire: boolean = false,\n isCartOpen: boolean = false,\n isHybridMode: boolean = false,\n isFilterApplied: string = '',\n isItemTagsSelected: string = ''\n ) {\n try {\n return isKeyboardOn ? '40vh' : '48.5vh';\n } catch (e: any) {\n return '48.5vh';\n }\n }\n\n getContainerHeight(\n isConcessionaire: boolean = false,\n isCartOpen: boolean = false,\n isHybridMode: boolean = false\n ) {\n if (isConcessionaire) return '71vh';\n try {\n return isHybridMode\n ? isCartOpen\n ? '76.8vh'\n : '79.5vh'\n : isCartOpen\n ? '76.8vh'\n : '79.5vh';\n } catch (e: any) {\n return '79vh';\n }\n }\n\n private scrollItemGridToTop() {\n if (this.itemsgrid) {\n let element = this.itemsgrid.nativeElement as HTMLElement;\n\n if (element) {\n element.scrollIntoView({ behavior: 'smooth' });\n }\n }\n }\n\n /**\n * This method starts the inbuilt scanner\n * @returns\n */\n private startBarcodeScanner(): Promise {\n return new Promise((resolve, reject) => {\n window.onmessage = (event: any) => {\n if (event.data.messageType === 'ScannerResult') {\n if (event.data.result && event.data.result != null) {\n this.addScannedItem(event.data.result);\n } else {\n let errorMessage = this.language.getTextElement(\n 'unrecognized_item_scanned'\n );\n this.scanningError(errorMessage);\n }\n } else {\n var log = new loggingData(\n 'Scanner Error',\n 'Scanner Encountered Unknown Error ',\n 'Error Scanner',\n `Scanner Encountered Some Error`,\n true\n );\n this.logger.sendLogToServer(log);\n }\n };\n\n this.scannerService.startItemScanner();\n });\n }\n\n /**\n * Adds / Checks scanned item in the db\n * @param code barcode received after scanning item\n */\n async addScannedItem(code: string) {\n var scannedItem = (await this.db.getItemsByCategoryIdFromSql(\n '0',\n false,\n '0',\n false,\n '0',\n 0,\n 3,\n code,\n this.isItemTagsSelected\n )) as unknown as Item[];\n\n // var scannedItemVariation = await this.db.getVariationOptionBySkuID(code);\n // if (\n // scannedItem &&\n // scannedItem.length > 0 &&\n // scannedItemVariation &&\n // scannedItemVariation.length > 0\n // ) {\n // this.scanningError();\n // } else {\n // if (scannedItem && scannedItem.length > 0) {\n // if (scannedItem[0].ModifierCount && scannedItem[0].ModifierCount > 0) {\n // this.scanningError();\n // } else {\n // this.addScannedBarcodeItem(scannedItem, scannedItemVariation);\n // }\n // } else {\n // if (scannedItemVariation && scannedItemVariation.length > 0) {\n // if (scannedItemVariation.length > 1) {\n // this.scanningError();\n // } else {\n // scannedItem = (await this.db.getItemsByCategoryIdFromSql(\n // '0',\n // false,\n // '0',\n // true,\n // scannedItemVariation[0].ItemID,\n // 0,\n // 3,\n // code,\n // this.isItemTagsSelected\n // )) as unknown as Item[];\n // this.addScannedBarcodeItem(scannedItem, scannedItemVariation);\n // }\n // } else {\n // this.scanningError();\n // }\n // }}\n\n if (scannedItem && scannedItem.length <= 0) {\n let errorMessage = this.language.getTextElement(\n 'unrecognized_item_scanned'\n );\n this.scanningError(errorMessage);\n } else if (scannedItem && scannedItem.length > 1) {\n let errorMessage = this.language.getTextElement('duplicate_barcode_item');\n this.scanningError(errorMessage);\n } else {\n if (scannedItem.length > 0) {\n this.performItemClick(scannedItem[0]);\n }\n }\n }\n\n /**\n * Adds the item into the cart\n * @param scannedItem Item got from barcode\n * @param scanItemVariation Item's variation got from barcode\n * @returns\n */\n async addScannedBarcodeItem(\n scannedItem: ItemV2[],\n scanItemVariation: VariationOption[]\n ) {\n if (scannedItem.length <= 0) {\n let errorMessage = this.language.getTextElement(\n 'unrecognized_item_scanned'\n );\n this.scanningError(errorMessage);\n return;\n }\n\n if (scannedItem.length > 1) {\n scannedItem = [scannedItem[0]];\n //this.scanningError();\n }\n\n //else {\n if (scanItemVariation != null) {\n scannedItem[0].VariationOption = scanItemVariation;\n }\n\n let res = await this.cartService.addToCartAsync(\n await this.scannerService.createCartItem(scannedItem[0], this.db)\n );\n\n if (!res.status) {\n if (res.error == 'alcohol') {\n this.scannerService.stopBarcodeScanner();\n setTimeout(() => {\n this.startBarcodeScanner();\n }, 2500);\n let error = this.language.getTextElement('max_alcohol_limit');\n Snackbar.show(error, 3000);\n } else if (res.error == 'stock') {\n let error = this.language.getTextElement('item_sold_out');\n Snackbar.show(error, 3000);\n }\n return;\n } else {\n this.cartService.doScrollCart.next(true);\n this.timeOutComponent.stillHere();\n if (this.cartService.isItemSelectionOrScan) {\n this.scannedItemAddedPopup();\n this.scannerService.stopBarcodeScanner();\n setTimeout(() => {\n this.scannedItemAddedComponent?.close();\n this.startBarcodeScanner();\n }, 1000);\n } else {\n if (this.itemSelectionmodal) {\n this.itemSelectionmodal.close();\n this.cartService.isItemSelectionOrScan = true;\n this.scannerService.stopBarcodeScanner();\n this.startBarcodeScanner();\n }\n }\n //this.openCartOnAddItem();\n }\n //}\n }\n\n /**\n * Shows the item informative popup of scanner\n */\n private showItemSelectionPopup() {\n if (!this.cartService.isItemSelectionOrScan) {\n let ism = ItemSelectionComponent.open(this.modalService);\n\n this.itemSelectionmodal = ism.componentInstance;\n\n ism.result.then((data: string) => {\n if (data == 'continue') {\n this.cartService.isItemSelectionOrScan = true;\n }\n });\n }\n }\n\n /**\n * Shows popup of item successfully added into the cart\n */\n private scannedItemAddedPopup() {\n this.scannedItemAddedComponent = ScannedItemAddedComponent.open(\n this.modalService\n ).componentInstance;\n }\n\n setWeightAndNavigate(item: Item, weight: string) {\n // weight = weight.slice(1);\n let weightArray = weight.replace(/ /g, '').match(/[a-z]+|[^a-z]+/gi) ?? '';\n\n if (weightArray.length > 1) {\n let weightUnitFromServer = weightArray[weightArray.length - 1];\n let weightCountFromServer = weightArray[0];\n // weightCountFromServer = weightCountFromServer.slice(1);\n\n if (\n weightUnitFromServer.toLowerCase() ==\n CommonFunctions.getWeightUnit(item.WeightUnitID)\n ) {\n item.Weight = Number(weightCountFromServer.trim());\n item.Quantity = weightCountFromServer.trim();\n this.navigateToItemPage(true, item, 'itemDescription');\n } else {\n let errorModel = new GeneralAlertComponent(\n this.modalService,\n this.language\n );\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language\n .getTextElement('change_weight_unit')\n .replace(\n '%d',\n CommonFunctions.getWeightUnitInWords(item.WeightUnitID)\n );\n errorModel.open(title, subTitle);\n this.manageScannerInWeightScale(errorModel);\n }\n } else {\n if (weightArray.length > 0) {\n let errorModel = new GeneralAlertComponent(\n this.modalService,\n this.language\n );\n let title = this.language.getTextElement('titile_uh_oh');\n let subTitle = this.language.getTextElement('exceeded_weight_limit');\n errorModel.open(title, subTitle);\n this.manageScannerInWeightScale(errorModel);\n }\n }\n }\n /**\n * Shows error message found any conflicts while scanning\n */\n private scanningError(errorMessage: string) {\n this.scannerService.stopBarcodeScanner();\n\n let okButtonText = this.language.getTextElement('lbl_ok');\n let oepc = OloErrorPopupComponent.open(\n this.modalService,\n errorMessage,\n '',\n okButtonText\n );\n\n oepc.result.then(\n (data: string) => {\n if (data == 'close' || data == 'canceled') {\n this.startBarcodeScanner();\n }\n },\n (reject: any) => {\n this.startBarcodeScanner();\n }\n );\n }\n\n /**\n * added by #nilesh\n * @param isRemovePricingAndPayments Check remove pricing flag\n * @param isHideZeroPrice check hide zero price lable if base price is zero in item\n * @param price item price\n * @returns\n */\n isPriceShow(\n isRemovePricingAndPayments: boolean,\n isHideZeroPrice: boolean,\n price: string\n ) {\n if (!isRemovePricingAndPayments) {\n if (isHideZeroPrice) {\n return Number(price) > 0;\n } else {\n return true;\n }\n } else return false;\n }\n\n /**\n * Method to open cart while adding item into the cart\n */\n private openCartOnAddItem() {\n if (this.cartService) this.cartService.openCartOnAddItem(this.cart);\n }\n\n private manageScannerInWeightScale(errorModel: any) {\n errorModel.ref.result.then(\n (data: string) => {\n if (data != '') {\n this.startBarcodeScanner();\n }\n },\n (reject: any) => {\n this.startBarcodeScanner();\n }\n );\n }\n\n /**\n * Applies Filter and refreshes concessionaire as per selsected filter\n */\n clickFilter(event: any) {\n var constConTypes = JSON.parse(\n JSON.stringify(this.conService.concessionaireFilterTypes)\n );\n var constSelConTypes = JSON.parse(\n JSON.stringify(this.conService.selectedConcessionaireTypes)\n );\n var constSelItemTags = JSON.parse(\n JSON.stringify(this.conService.selectedItemTags)\n );\n var consItemTagsAndGroupFilters = JSON.parse(\n JSON.stringify(this.conService.itemTagsAndGroupFilters)\n );\n\n let fcm = FilterConcessionaireComponent.open(this.modalService);\n\n event.target.disabled = true;\n\n fcm.result.then(\n (data: string) => {\n event.target.disabled = false;\n if (data == 'apply') {\n this.queryConcessionaireId = '';\n this.getSelConcessionaireTypes();\n this.getAndSetAllConcessionaire();\n } else {\n canceFilter(this.conService);\n }\n },\n (reject: any) => {\n event.target.disabled = false;\n setTimeout(() => {\n canceFilter(this.conService);\n }, 500);\n }\n );\n\n function canceFilter(conService: ConcessionaireService) {\n conService.setConcessionaireFilterTypes(constConTypes);\n conService.setSelectedConcessionaireTypes(\n constSelConTypes,\n constSelItemTags\n );\n conService.setItemTagsAndGroupFilters(consItemTagsAndGroupFilters);\n }\n }\n\n /**\n * Selects concessionaire as per filter selection\n */\n getSelConcessionaireTypes() {\n this.isFilterApplied = this.conService.getSelectedConcessionaireTypes(1);\n this.isItemTagsSelected = this.conService.getSelectedConcessionaireTypes(2);\n this.isFilter = this.isFilterApplied != '' || this.isItemTagsSelected != '';\n this.selConcessionaireFilters = this.conService.getSelectedFilterList();\n\n this.SetAllConcessioaniteValues(this.allConcessionaire);\n }\n\n /**\n * Updates concessionaire as per selection and deselection of filter\n * @param concessionaireTypeId\n * @param isSelected\n * @param event\n * @param isItemTag\n */\n onConcessionaireTypeSelection(\n concessionaireTypeId: string,\n isSelected: boolean,\n event: Event,\n isItemTag: boolean = false\n ) {\n this.queryConcessionaireId = '';\n this.conService.onConcessionaireTypeSelection(\n concessionaireTypeId,\n isSelected,\n event,\n isItemTag\n );\n this.getSelConcessionaireTypes();\n this.getAndSetAllConcessionaire();\n }\n\n /**\n * Sets branch header image\n * @param headerImageUrl\n * @param imageBaseUrl\n * @returns\n */\n setHeaderImage(headerImageUrl: string, imageBaseUrl: string) {\n return headerImageUrl && headerImageUrl != ''\n ? imageBaseUrl + headerImageUrl\n : '';\n }\n\n /**\n * Sets branch logo\n * @param con\n * @param imageBaseUrl\n * @param concessionaireBaseUrl\n * @returns\n */\n getConcessionaireLogo(\n con: Concessionaire,\n imageBaseUrl: string,\n concessionaireBaseUrl: string,\n isSidebarLogo: boolean = false\n ) {\n var conLogoUrl = '';\n if (!isSidebarLogo) {\n conLogoUrl =\n con.Logo && con.Logo != ''\n ? imageBaseUrl + concessionaireBaseUrl + con.Logo\n : '../../../assets/images/Image_21.png';\n } else {\n conLogoUrl =\n con.SidebarLogo && con.SidebarLogo != ''\n ? imageBaseUrl + con.SidebarLogo\n : con.Logo && con.Logo != ''\n ? imageBaseUrl + concessionaireBaseUrl + con.Logo\n : '../../../assets/images/Image_21.png';\n }\n return conLogoUrl;\n }\n\n /**\n * Sets filter container height based on filter selection\n * @param isFilterAvail\n * @param isItemTagAvail\n * @returns\n */\n getFilterContainerHeight(\n isFilterAvail: string = '',\n isItemTagAvail: string = '',\n conSize: number\n ) {\n try {\n if (isFilterAvail != '' || isItemTagAvail != '') {\n if (conSize > 0 && conSize) {\n return '13vh';\n } else {\n return '6vh';\n }\n } else {\n return '9.4vh';\n }\n } catch (e: any) {\n return '9.4vh';\n }\n }\n\n /**\n * Opens up branch list from view more click\n */\n onBrandFilter() {\n this.isHideFilter = true;\n\n let bfm = BrandFilterComponent.open(\n this.modalService,\n this.allConcessionaire,\n this.imageBaseUrl,\n this.concessionaireBaseUrl\n );\n\n bfm.result.then(\n (data: string) => {\n this.isHideFilter = false;\n if (data != '') {\n this.queryConcessionaireId = data;\n this.setDefaultConcessionaire();\n }\n },\n (reject: any) => {\n this.isHideFilter = false;\n }\n );\n }\n\n backtoGridScreen() {\n this.conService.clearFilter();\n this.router.navigateByUrl('/ConcessionaireGrid');\n }\n\n /**\n * Set active card backgrounf\n * @param isFilter Filter applied or not\n * @param selCon selected concessionaire\n * @param con Concessionaire\n * @returns\n */\n getActiveConceptCard(\n isFilter: boolean = false,\n selCon: Concessionaire,\n con: Concessionaire\n ) {\n var isActive =\n selCon.ConcessionaireID === con.ConcessionaireID ? 'active' : '';\n return isFilter\n ? 'brands-block brands-block-sm ' + isActive\n : 'brands-block ' + isActive;\n }\n\n getCommonImage(\n image: string | undefined,\n imageBaseUrl: string,\n placeholderImage: string\n ) {\n if (\n image &&\n CommonFunctions.checkVariable(image) &&\n image != '' &&\n image.slice(-4) != 'null' &&\n image.slice(-4) != null\n ) {\n return imageBaseUrl + image;\n } else {\n if (placeholderImage != '') {\n return imageBaseUrl + placeholderImage;\n } else return '';\n }\n }\n\n private isConClickStoped: boolean = false;\n private async onConStop() {\n this.isConClickStoped = true;\n await CommonFunctions.delay(500);\n\n this.isConClickStoped = false;\n }\n}\n","\n\n
\n
\n \n arrow_back_ios\n \n {{backText}}\n \n
\n \n qr_code_scanner\n \n \n \n close\n \n
\n
\n\n
\n
\n
\n
{{searchResultsText}} \n\n
\n\n
0\" class=\"search-result\" [ngStyle]=\"setSearchListHeight()\">\n \n \n\n\n \n
\n
\n
\n
\n
\n\n\n\n
\n\n\n","import { Snackbar } from 'src/app/services/common';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-ask-device-name',\n templateUrl: './ask-device-name.component.html',\n styleUrls: ['./ask-device-name.component.css'],\n})\nexport class AskDeviceNameComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubscription.length > 0) {\n for (let i = 0; i < this.allSubscription.length; i++) {\n this.allSubscription[i].unsubscribe();\n }\n }\n }\n\n ref: any;\n\n allSubscription: Subscription[] = [];\n\n deviceName: string = '';\n\n isKiosk = this.isKioskService.isKiosk();\n\n nameDeviceText: string = '';\n\n nextText: string = '';\n\n skipText: string = '';\n\n registerDeviceNameText: string = '';\n\n keySub!:Subscription\n\n deviceRequiredText: string = '';\n\n constructor(\n private readonly modalService: NgbModal,\n private KeyboardService: KeyboardService,\n private readonly isKioskService: IsKioskService,\n private language: LanguageService\n ) {}\n\n ngOnInit(): void {\n this.allSubscription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n loadText() {\n this.nameDeviceText = 'Kiosk Name'\n this.skipText = this.language.getTextElement('skip');\n this.nextText = this.language.getTextElement('next');\n this.registerDeviceNameText = this.language.getTextElement(\n 'name_your_device'\n );\n this.deviceRequiredText = this.language.getTextElement('device_required');\n }\n\n public static open(modalService: NgbModal) {\n let ref = modalService.open(AskDeviceNameComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n ref.componentInstance.ref = ref;\n return ref;\n }\n\n open() {\n this.ref = this.modalService.open(AskDeviceNameComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n this.ref.componentInstance.ref = this.ref;\n }\n\n doit2(){\n if(this.keySub){\n this.keySub.unsubscribe()\n }\n this.KeyboardService.newBoardSubject.next()\n }\n\n \n // used to open keyboard based on dialog required layout, maxlength and assign value to dialog/screen input field @jay\n doit(){ \n this.KeyboardService.manual=true\n this.KeyboardService.maxLength=50\n this.KeyboardService.clearSub.next()\n this.KeyboardService.open(\"shift\");\n this.KeyboardService.stringSub.next()\n this.keySub=this.KeyboardService.stringSub.subscribe((val)=>{\n this.handledeviceNameChange(val);\n })\n }\n // to handle dialog/screen input field value as a first character and character after \".\" upercase\n handledeviceNameChange(val:string){\n this.ref.componentInstance.deviceName=val\n if(this.ref.componentInstance.deviceName == \"\" || (this.ref.componentInstance.deviceName).trim().slice(-1) == \".\"){\n this.KeyboardService.handleupperlowercase.next(true)\n }else{\n this.KeyboardService.handleupperlowercase.next(false)\n }\n }\n\n onSkip = () => {\n this.KeyboardService.KeyboardStatus = false;\n this.ref.close('');\n };\n\n onNext = () => {\n this.deviceName = this.deviceName.trim();\n if (!this.deviceName || this.deviceName == '') {\n Snackbar.show(this.deviceRequiredText, 3000);\n return;\n }\n GeneralSetting.setDeviceName(this.deviceName);\n this.KeyboardService.KeyboardStatus = false;\n this.ref.close(this.deviceName);\n this.doit2();\n };\n \n close(){\n this.ref.close(\"\");\n }\n}\n","\n
\n
\n
{{registerDeviceNameText}} \n
\n
{{nameDeviceText}} \n \n \n \n
\n
\n
","import { ItemTagsKeyComponent } from './../item-tags-key/item-tags-key.component';\nimport { ItemBuilderModeSelectionComponent } from './../item-builder-mode/item-builder-mode-selection/item-builder-mode-selection.component';\nimport {\n Component,\n Input,\n OnInit,\n Output,\n EventEmitter,\n ViewChild,\n SimpleChanges,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { CartService } from 'src/app/services/cart.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SpecialRequestDialogComponent } from 'src/app/components/dialogs/special-request-dialog/special-request-dialog.component';\nimport { Guid } from 'src/app/models/Guid';\nimport { ItemAskNamePopupComponent } from '../dialogs/item-ask-name-popup/item-ask-name-popup.component';\nimport { UpSellDialogComponent } from '../dialogs/up-sell-dialog/up-sell-dialog.component';\nimport { VariationOption } from '../../models/Variations';\nimport { Subscription } from 'rxjs';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from '../../../environments/environment';\nimport { AlcoholicItemsExceedMaxComponent } from '../dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport { LastfiveorderService } from 'src/app/services/lastfiveorder.service';\n\nimport { ItemTransferService } from 'src/app/services/item-transfer.service';\nimport {\n Snackbar,\n CategorySalesType,\n CommonFunctions,\n} from '../../services/common';\nimport { GeneralSetting } from '../../services/generalSetting.service';\nimport { ModifierV2, ItemV2, ComboGroupV2 } from '../../models/item';\nimport { ModifierContainerComponent } from '../modifier-container/modifier-container.component';\n\n// ReSharper disable once UnusedLocalImport\nimport { DatabaseService } from '../../services/database.service';\nimport { ComboGroupContainerComponent } from '../combo-group-container/combo-group-container.component';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { ItemIndividualComponent } from '../item-individual/item-individual.component';\n\nimport { Concessionaire } from '../../models/Concessionaire';\nimport { ItemTentPopupComponent } from '../dialogs/item-tent-popup/item-tent-popup.component';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { ItemService } from 'src/app/services/ItemService';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { max } from 'lodash';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\nimport { DiscountService } from 'src/app/services/discount.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\n\n@Component({\n selector: 'app-item-footer',\n templateUrl: './item-footer.component.html',\n styleUrls: ['./item-footer.component.css'],\n})\nexport class ItemFooterComponent implements OnInit {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n constructor(\n route: ActivatedRoute,\n ItemTransferService: ItemTransferService,\n private readonly router: Router,\n private readonly CartService: CartService,\n private readonly cartService: CartService,\n private readonly lastfiveorderService: LastfiveorderService,\n private readonly loyaltyService: LoyaltyService,\n private readonly isKioskService: IsKioskService,\n private readonly databaseService: DatabaseService,\n private readonly itemService: ItemService,\n private readonly modalService: NgbModal,\n private KeyboardService: KeyboardService,\n private language: LanguageService,\n private readonly discountService: DiscountService,\n private cdr:ChangeDetectorRef\n ) {\n this.itemTransferService = ItemTransferService;\n this.isLoyalty = route.snapshot.queryParams['loyalty'];\n this.isOrderReviewEdit = route.snapshot.queryParams['reviewEdit'];\n this.concessionaireId = route.snapshot.queryParams['concessionaireId'];\n this.isScannedItem = route.snapshot.queryParams['isScannedItem'];\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n isLoyalty: string;\n\n cartItems: ItemV2[] = [];\n\n @ViewChild(ItemTagsKeyComponent) itemTagsKeyComponent!: ItemTagsKeyComponent;\n\n @Input() totalCost: number = 0.0;\n\n @Input() modifiers: ModifierV2[] = [];\n\n @Input() variations: VariationOption[] = [];\n\n @Input() comboGroup: ComboGroupV2[] = [];\n\n @Input() itemID: any;\n\n @Input() categoryID: any;\n\n @Input() isModifiersValid: boolean = false;\n\n @Input() isVariationsValid: boolean = false;\n\n @Input() isComboGroupValid: boolean = false;\n\n @Input() isReady: boolean = false;\n\n @Input() inputItem: ItemV2 = new ItemV2();\n\n @Input() modifierContainer!: ModifierContainerComponent;\n\n @Input() comboGroupContainer!: ComboGroupContainerComponent;\n\n @Input() builderMode!: ItemBuilderModeSelectionComponent;\n\n @Input() individualMode!: ItemIndividualComponent;\n\n @Input() cartQuantity: number = 0;\n\n @Input() quantityWhenAdd: number = 1;\n\n @Input() isComboItem = false;\n\n @Input() isComingFromScan = false;\n\n @Output() quantityChange = new EventEmitter();\n\n @Output() comboModelClose = new EventEmitter();\n\n itemTransferService: ItemTransferService;\n\n loyaltyType: number = 0;\n\n itemInCart: any;\n\n category: any;\n\n disableSpecialRequest: string | null = 'false';\n\n primaryColor: string | null = '';\n\n secondaryColor: string | null = '';\n\n positiveButton: string | null = '';\n\n positiveButtonText: string | null = '';\n\n negativeButton: string | null = '';\n\n negativeButtonText: string | null = '';\n\n priceColor: string | null = '';\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n itemGuestName: string = '';\n\n // @Input() quantity: number = 1;\n quantity: number = 1; //to check max and min number\n\n trueQuantity: number = 0;\n\n specialRequest: string = '';\n\n upSellModelRef: any;\n\n upSellLength: number = 0;\n\n upSellCartItems = [] as ItemV2[];\n\n isAlkol: boolean = false;\n\n canAddIntoCart: boolean = true;\n\n specialRequestText: string = ''\n\n isOrderReviewEdit = 'false';\n\n isItemIndividual: boolean = false;\n\n concessionaire: Concessionaire = {} as Concessionaire;\n\n isConcessionaire: boolean = false;\n\n concessionaireId: string = '';\n\n isScannedItem: boolean = false;\n\n itemTagsSet = new Set();\n @Output() itemTags: any = [];\n allTags: any;\n isEdit = false;\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n cancelText: string = '';\n totalText: string = '';\n pricePerText: string = '';\n quantityText: string = '';\n reachMaxQuantityText: string = '';\n itemWeightText: string = '';\n ozText: string = '';\n poundText: string = '';\n gramText: string = '';\n kilogramText: string = '';\n addToCartText: string = '';\n\n pricePerItem: number = 0.0;\n fixedItemDisc: FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n loadText() {\n this.cancelText = this.language.getTextElement('lbl_button_cancel');\n this.totalText = this.language.getTextElement('text_total');\n this.pricePerText = this.language.getTextElement('txt_price_per');\n this.quantityText = this.language.getTextElement('txt_quantity');\n this.reachMaxQuantityText = this.language.getTextElement('reached_maximum_quantity');\n this.itemWeightText = this.language.getTextElement('lbl_item_weight');\n this.ozText = this.language.getTextElement('lbl_oz');\n this.poundText = this.language.getTextElement('lbl_pound');\n this.gramText = this.language.getTextElement('lbl_gram');\n this.kilogramText = this.language.getTextElement('lbl_kilogram');\n this.addToCartText = this.language.getTextElement('lbl_add_to_cart');\n }\n ngOnInit(): void {\n this.isItemIndividual = this.router.url.startsWith('/itemDescription');\n\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n\n this.getItems();\n\n this.calculateTotal();\n\n this.getUpSellLength();\n\n this.InitData();\n\n this.doSubscriptions();\n\n this.setFixedItemDisc();\n }\n\n async setFixedItemDisc() {\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n }\n\n\n ngAfterViewInit(): void {\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n this.setItemTags();\n }\n\n setItemTags() {\n this.itemTagsSet = new Set();\n if (this.builderMode) {\n if (this.builderMode.currentModifier) {\n const currentModifier = this.builderMode.currentModifier as ModifierV2;\n for (const ingredient of this.builderMode.currentModifier\n .Ingredients as any) {\n for (const image of ingredient.ItemTags || []) {\n this.itemTagsSet.add(image);\n }\n\n this.itemTags = Array.from(this.itemTagsSet.values());\n }\n } else if (this.builderMode.currentComboGroup) {\n const currentComboGroup = this.builderMode\n .currentComboGroup as ComboGroupV2;\n\n for (const item of currentComboGroup.Items) {\n for (const image of item.IconImages || []) {\n this.itemTagsSet.add(image);\n }\n }\n this.itemTags = Array.from(this.itemTagsSet.values());\n }\n } else if (this.comboGroupContainer) {\n for (const comboGroup of this.comboGroupContainer.inputComboGroup) {\n for (const comboItem of comboGroup.Items) {\n for (const image of comboItem.IconImages || []) {\n this.itemTagsSet.add(image);\n }\n }\n }\n\n this.itemTags = Array.from(this.itemTagsSet.values());\n } else if (this.modifierContainer) {\n for (const mod of this.modifierContainer.inputModifier as ModifierV2[]) {\n for (const ingredient of mod.Ingredients as any) {\n for (const image of ingredient.ItemTags || []) {\n this.itemTagsSet.add(image);\n }\n }\n }\n\n this.itemTags = Array.from(this.itemTagsSet.values());\n } else if (this.individualMode) {\n this.itemTags = this.individualMode.item?.IconImages;\n }\n //console.log('individual mode', this.individualMode);\n this.cdr.detectChanges();\n }\n\n InitData() {\n this.loyaltyType = this.loyaltyService.loyaltyType;\n this.disableSpecialRequest = GeneralSetting.getDisableSpecialRequest();\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.secondaryColor = GeneralSetting.getSecondaryColor();\n this.positiveButton = GeneralSetting.getPositiveColor();\n this.positiveButtonText = GeneralSetting.getPositiveColorText();\n this.negativeButton = GeneralSetting.getNegativeColor();\n this.negativeButtonText = GeneralSetting.getNegativeColorText();\n this.priceColor = GeneralSetting.getPriceColor();\n if (this.inputItem && this.inputItem.Quantity) {\n this.quantityWhenAdd = Number(this.inputItem.Quantity);\n } else {\n this.quantityWhenAdd = Number(this.inputItem.OrderMinimumQuantity) || 1;\n }\n\n this.setSpecialReqText();\n\n if (this.isConcessionaire) {\n this.allSubsCription.push(\n this.databaseService.concessionaireSubject.subscribe((conList) => {\n let con = conList.find((x) => x.ConcessionaireID == this.concessionaireId);\n if (con) {\n this.concessionaire = con;\n }\n })\n );\n }\n }\n\n setSpecialReqText() {\n if (!this.inputItem) return;\n this.specialRequest = this.inputItem.specialRequest;\n if (this.specialRequest == '' || this.specialRequest == null) {\n this.specialRequestText = this.language.getTextElement('add_special_request').toLocaleUpperCase();\n } else {\n this.specialRequestText = this.language.getTextElement('edit_special_request').toLocaleUpperCase();\n }\n }\n\n doSubscriptions() {\n this.databaseService.getAllItemTags().then((tags) => {\n this.allTags = tags[0];\n });\n\n this.allSubsCription.push(\n this.databaseService.categorySubject.subscribe((category) => {\n let cat = category.find((x) => x.CategoryID == this.categoryID);\n\n if (cat) {\n this.category = cat;\n }\n })\n );\n\n this.allSubsCription.push(\n this.itemService.setItemTagsSub.subscribe((x) => {\n this.setItemTags();\n\n if (this.itemTagsKeyComponent) this.itemTagsKeyComponent.setItemTags();\n })\n );\n }\n\n private isAddtoCartClicked = false;\n async setIsAddToCartClicked(clickd = false) {\n this.isAddtoCartClicked = clickd;\n if (this.isAddtoCartClicked) {\n await CommonFunctions.delay(1000);\n this.isAddtoCartClicked = false;\n }\n }\n\n async checkAddToCart() {\n if (this.isAddtoCartClicked) return;\n this.setIsAddToCartClicked(true);\n if (this.inputItem.IsCategory) {\n let res = await this.cartService.addToCartAsync(\n this.createCategoryCartItem()\n );\n if (!res.status) {\n if (res.error == 'alcohol') {\n let error = this.language.getTextElement('max_alcohol_limit');\n Snackbar.show(error, 3000);\n } else if (res.error == 'stock') {\n let error = this.language.getTextElement('item_sold_out');\n Snackbar.show(error, 3000);\n }\n return;\n }\n this.redirectToPageAfterAddToCart();\n return;\n }\n\n const objCartItem = this.createCartItem();\n\n const isValid = this.checkValidityShowAnimation(objCartItem);\n\n if (!isValid) return;\n\n const isEdit = this.checkEditItem();\n\n this.calculateTotal();\n\n if (this.inputItem.AskForTentNumber && this.inputItem.AskForTentNumber.toLowerCase() == 'true' && !GeneralSetting.getIsItemTableTentAdded()) {\n let itpm = ItemTentPopupComponent.open(this.modalService);\n\n let tentNumberRes = await itpm.result;\n if (tentNumberRes.status == 'ok') {\n this.inputItem.TableTentNumber = tentNumberRes.tentNumber;\n }\n }\n\n if (isEdit && this.inputItem.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()) {\n if (this.checkAndShowAlcoholLimitModel()) {\n let res = await this.cartService.addToCartAsync(this.createCartItem());\n if (!res.status) {\n if (res.error == 'alcohol') {\n let error = this.language.getTextElement('max_alcohol_limit');\n Snackbar.show(error, 3000);\n } else if (res.error == 'stock') {\n let error = this.language.getTextElement('item_sold_out');\n Snackbar.show(error, 3000);\n }\n return;\n }\n this.redirectToPageAfterAddToCart();\n }\n return;\n } else if ((this.inputItem.ComboGroup && this.inputItem.ComboGroup.length > 0) || (this.inputItem.Modifiers && this.inputItem.Modifiers.length > 0) || (this.inputItem.Variations && this.inputItem.Variations.length > 0) || this.isVariationsValid || this.isModifiersValid || this.isComboGroupValid) {\n this.checkAndOpenCustomerNamePopup();\n } else if (this.isReady) {\n this.checkAndOpenCustomerNamePopup();\n } else {\n let error = this.language.getTextElement('requirements_not_met')\n Snackbar.show(error, 3000);\n }\n }\n\n decreaseAmount(item: any) {\n let currentAlcoholCount = Number(GeneralSetting.getCurrentCountofAlkol());\n var currentQty = this.getCurrentQuantity(item);\n let minNo = Number(item.OrderMinimumQuantity);\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item);\n if (totalComboAlcoholCount > 0) {\n if (!minNo) {\n minNo = 1;\n }\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(totalComboAlcoholCount, this.quantityWhenAdd, false);\n if (this.quantityWhenAdd > minNo) {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) - 1;\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n } else if (minNo > 1) {\n let error = this.language.getTextElement('min_quantity_not_reached').replace('%d', minNo.toLocaleString())\n Snackbar.show(error, 2500);\n }\n } else {\n if (!minNo) {\n minNo = 1;\n }\n if (this.quantityWhenAdd > minNo) {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) - 1;\n } else if (minNo > 1) {\n let error = this.language.getTextElement('min_quantity_not_reached').replace('%d', minNo.toLocaleString())\n Snackbar.show(error, 2500);\n }\n }\n this.quantityChange.emit(this.quantityWhenAdd);\n }\n getItems(): void {\n this.cartItems = this.cartService.getCartItems();\n }\n increaseAmount(item: any) {\n let currentAlcoholCount = Number(GeneralSetting.getCurrentCountofAlkol());\n var currentQty = this.getCurrentQuantity(item);\n // Checks fixed item quantity limit\n if (this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0) {\n var isFixedItemAvail = this.discountService.isFixedItemAvail(this.fixedItemDisc[0], item, currentQty);\n if (isFixedItemAvail) {\n return;\n }\n }\n\n let maxNo = Number(item.OrderMaximumQuantity);\n var isCombo = item.IsCombo.toString();\n let alkolMax = Number(GeneralSetting.getMaxAlcoholicItemsPerOrder());\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'true') {\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item);\n if (totalComboAlcoholCount > 0) {\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(totalComboAlcoholCount, Number(this.quantityWhenAdd), true);\n if (newAlcoholCount <= Number(alkolMax)) {\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n } else {\n if (!maxNo) {\n if (item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString() && alkolMax > 0) {\n let currentAlcohol = 1;\n if (this.isEdit) {\n currentAlcohol = currentAlcoholCount - currentQty;\n currentAlcohol += Number(this.quantityWhenAdd);\n } else {\n currentAlcohol =\n currentAlcoholCount + Number(this.quantityWhenAdd);\n }\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n if (this.inputItem.CurrentStock != null) {\n let temp = this.databaseService.categorySubject.getValue();\n for (let i = 0; i < temp.length; i++) {\n if (temp[i].CategoryID == this.inputItem.CategoryID) {\n for (let j = 0; j < temp[i].associatedItems!.length; j++) {\n if (temp[i].associatedItems![j].ItemID == this.inputItem.ItemID) {\n if ((this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd - currentQty) || (!this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd)) {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n } else {\n let error = this.language.getTextElement('stock_threshold_hit').replace('%d', this.quantityWhenAdd.toLocaleString())\n Snackbar.show(error, 3000);\n }\n break;\n }\n }\n break;\n }\n }\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n }\n } else {\n if (this.inputItem.CurrentStock != null) {\n let temp = this.databaseService.categorySubject.getValue();\n for (let i = 0; i < temp.length; i++) {\n if (temp[i].CategoryID == this.inputItem.CategoryID) {\n for (let j = 0; j < temp[i].associatedItems!.length; j++) {\n if (temp[i].associatedItems![j].ItemID == this.inputItem.ItemID) {\n if ((this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd - currentQty) || (!this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd)) {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n } else {\n let error = this.language.getTextElement('stock_threshold_hit').replace('%d', this.quantityWhenAdd.toLocaleString())\n Snackbar.show(error, 3000);\n }\n break;\n }\n }\n break;\n }\n }\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n }\n } else if (this.quantityWhenAdd + currentQty < maxNo) {\n if (item.ItemCategorySalesTypeID === '4' && alkolMax > 0) {\n const currentAlcohol: number = currentAlcoholCount + this.quantityWhenAdd;\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n } else if (this.quantityWhenAdd + currentQty >= maxNo) {\n let error = this.language.getTextElement('item_has_max_quantity').replace('%d', maxNo.toLocaleString())\n Snackbar.show(error, 2500);\n }\n }\n } else {\n if (!maxNo) {\n if (item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString() && alkolMax > 0) {\n let currentAlcohol = 1;\n if (this.isEdit) {\n currentAlcohol = currentAlcoholCount - currentQty;\n currentAlcohol += Number(this.quantityWhenAdd);\n } else {\n currentAlcohol = currentAlcoholCount + Number(this.quantityWhenAdd);\n }\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n if (this.inputItem.CurrentStock != null) {\n let temp = this.databaseService.categorySubject.getValue();\n for (let i = 0; i < temp.length; i++) {\n if (temp[i].CategoryID == this.inputItem.CategoryID) {\n for (let j = 0; j < temp[i].associatedItems!.length; j++) {\n if (temp[i].associatedItems![j].ItemID == this.inputItem.ItemID) {\n if ((this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd - currentQty) || (!this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd)) {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n } else {\n let error = this.language.getTextElement('stock_threshold_hit').replace('%d', this.quantityWhenAdd.toLocaleString())\n Snackbar.show(error, 3000);\n }\n break;\n }\n }\n break;\n }\n }\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n }\n } else {\n if (this.inputItem.CurrentStock != null) {\n let temp = this.databaseService.categorySubject.getValue();\n for (let i = 0; i < temp.length; i++) {\n if (temp[i].CategoryID == this.inputItem.CategoryID) {\n for (let j = 0; j < temp[i].associatedItems!.length; j++) {\n if (temp[i].associatedItems![j].ItemID == this.inputItem.ItemID) {\n if ((this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd - currentQty) || (!this.isEdit && temp[i].associatedItems![j].CurrentStock > this.quantityWhenAdd)) {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n } else {\n let error = this.language.getTextElement('stock_threshold_hit').replace('%d', this.quantityWhenAdd.toLocaleString())\n Snackbar.show(error, 3000);\n }\n break;\n }\n }\n break;\n }\n }\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n }\n } else if (this.quantityWhenAdd + currentQty < maxNo) {\n if (item.ItemCategorySalesTypeID === '4' && alkolMax > 0) {\n let currentAlcohol = 1;\n if (this.isEdit) {\n currentAlcohol = currentAlcoholCount - currentQty;\n currentAlcohol += Number(this.quantityWhenAdd);\n } else {\n currentAlcohol = currentAlcoholCount + Number(this.quantityWhenAdd);\n }\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n } else {\n this.quantityWhenAdd = Number(this.quantityWhenAdd) + 1;\n }\n } else if (this.quantityWhenAdd + currentQty >= maxNo) {\n let error = this.language.getTextElement('item_has_max_quantity').replace('%d', maxNo.toLocaleString())\n Snackbar.show(error, 2500);\n }\n }\n this.quantityChange.emit(this.quantityWhenAdd);\n }\n\n getCurrentQuantity(item: any) {\n let qty = 0;\n\n for (let cartItem of this.cartItems) {\n if (cartItem.ItemID === item.ItemID) {\n qty += Number(cartItem.Quantity);\n }\n }\n if (this.inputItem.guid) {\n this.isEdit = true;\n } else {\n this.isEdit = false;\n }\n\n return qty;\n }\n\n /**\n * change price when choosing modifiers/variations\n */\n ngOnChanges(changes: SimpleChanges) {\n this.calculateTotal();\n }\n\n getUpSellLength() {\n this.databaseService\n .getUpSellItemsByItemId(this.inputItem.ItemID)\n .then((data) => {\n this.upSellLength = data.length;\n });\n }\n\n checkAndOpenCustomerNamePopup() {\n if (\n this.inputItem.IsAskForName === 'True' &&\n (this.inputItem.guid == '' ||\n this.inputItem.guid == null ||\n this.inputItem.guid == undefined)\n ) {\n //open pop up if there is no name for this item\n this.askCustomerInfo();\n } else {\n this.checkAndOpenUpSellModel();\n }\n }\n\n openItemAskForNameModal() {\n if (this.inputItem.IsAskForName === 'True' && this.upSellLength > 0) {\n //open pop up if there is no name for this item\n this.askCustomerInfo();\n } else {\n this.openUpSellModel();\n }\n }\n\n private async checkAndOpenUpSellModel() {\n if (this.isComboItem) {\n this.addToCart();\n return;\n }\n\n if (this.checkEditItem()) {\n this.addToCart();\n return;\n }\n\n //Add this check again because when we open detail screen and do item86 for upsell item then upsell popup shows blank\n let data = await this.databaseService.getUpSellItemsByItemId(\n this.inputItem.ItemID,\n this.isConcessionaire,\n this.concessionaire?.ConcessionaireID\n );\n\n this.upSellLength = data.length;\n\n if (this.upSellLength == 0) {\n this.addToCart();\n } else {\n const currentCountofAlkol = Number(\n GeneralSetting.getCurrentCountofAlkol()\n );\n const maxOrder = Number(GeneralSetting.getMaxAlcoholicItemsPerOrder());\n if (\n currentCountofAlkol == maxOrder &&\n !CommonFunctions.isNonAlcoholicItemAvail(data)\n ) {\n this.addToCart();\n } else {\n var currentItemQty =\n this.inputItem.Quantity == undefined ? 1 : this.inputItem.Quantity;\n if (\n Number(currentItemQty) + currentCountofAlkol === maxOrder &&\n this.inputItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n !CommonFunctions.isNonAlcoholicItemAvail(data)\n ) {\n this.addToCart();\n } else {\n let itemUpsell = this.cartService.cartItems.find((cartItem) => cartItem.IsUpSellItem && data.find((upSellItem) => upSellItem.ItemID == cartItem.ItemID));\n if (!itemUpsell) {\n this.openUpSellModel();\n } else {\n this.addToCart();\n }\n }\n }\n }\n }\n\n private async addToCart(upSellItems: ItemV2[] = []) {\n const objItem = this.createCartItem();\n objItem.totalPrice =\n CommonFunctions.getItemPrice(objItem) * Number(objItem.Quantity);\n\n if (this.isComboItem) {\n this.comboModelClose.emit(objItem);\n return;\n }\n\n const resAddToCart = await this.CartService.addToCartAsync(objItem);\n if (!resAddToCart.status) {\n if (resAddToCart.error == 'alcohol') {\n let error = this.language.getTextElement('max_alcohol_limit');\n Snackbar.show(error, 3000)\n }\n\n return;\n }\n if (upSellItems.length > 0) {\n for (let i = 0; i < upSellItems.length; i++) {\n upSellItems[i].UpSellItemGuid = objItem.guid;\n this.cartService.addToCartAsync(upSellItems[i]);\n }\n }\n\n this.redirectToPageAfterAddToCart();\n\n return;\n }\n\n private redirectToPageAfterAddToCart() {\n if (this.checkIfFromLastFivePageForCombo()) {\n this.router.navigateByUrl('/lastfiveorder').then(() => {\n this.lastfiveorderService.updateitemList(\n this.itemID,\n\n this.variations,\n\n this.modifiers\n );\n });\n\n GeneralSetting.setIntoCombo('false');\n } else {\n if (this.getParameterByName('isFromReview') === 'true') {\n this.router.navigateByUrl('/orderReview');\n } else {\n if (this.isConcessionaire) {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n concessionaireId: this.concessionaire?.ConcessionaireID,\n },\n });\n } else if (this.isScannedItem || this.isComingFromScan) {\n this.router.navigate(['/SearchScannable'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n concessionaireId: this.concessionaire?.ConcessionaireID,\n },\n });\n } else {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n },\n });\n }\n }\n }\n }\n\n private openUpSellModel() {\n const itemTypeStr = CommonFunctions.getItemTypeV2(this.inputItem);\n let itemType: number = 1;\n\n if (itemTypeStr == 'ItemBuilderMode') {\n itemType = 2;\n }\n\n let usdc = UpSellDialogComponent.open(\n this.modalService,\n this.language,\n this.inputItem.ItemID,\n this.quantityWhenAdd,\n itemType,\n this.inputItem\n );\n\n usdc.result.then((result: any) => {\n const objItem = this.createCartItem();\n\n if (result != 'cancel') {\n this.upSellCartItems = result;\n const upSellItems: ItemV2[] = [];\n\n for (let upSellItem of this.upSellCartItems) {\n upSellItem.IsUpSellItem = true;\n upSellItem.UpSellItemID = objItem.ItemID;\n upSellItem.UpSellItemGuid = objItem.guid;\n upSellItem.UpSellItemPrice = CommonFunctions.getItemPrice(objItem);\n upSellItem.totalPrice = CommonFunctions.getItemPrice(upSellItem);\n\n if (this.isConcessionaire) {\n if (\n this.concessionaire &&\n Object.entries(this.concessionaire).length > 0\n ) {\n upSellItem.ConcessionaireId =\n this.concessionaire.ConcessionaireID;\n upSellItem.ConcessionaireName = this.concessionaire.Name;\n upSellItem.ConcessionaireColorCode =\n this.concessionaire.ColorCode;\n }\n }\n\n upSellItems.push(upSellItem);\n }\n\n this.addToCart(upSellItems);\n } else {\n this.addToCart();\n }\n });\n }\n\n private checkIfFromLastFivePageForCombo() {\n const checkIfLastfiveorder = GeneralSetting.getLastFiveOrderChosen();\n const intocombo = GeneralSetting.getIntoCombo();\n\n if (\n checkIfLastfiveorder &&\n checkIfLastfiveorder === 'true' &&\n intocombo &&\n intocombo === 'true'\n )\n return true;\n\n return false;\n }\n\n private askCustomerInfo() {\n let ianp = ItemAskNamePopupComponent.open(this.modalService);\n ianp.result.then(\n (data: any) => {\n this.itemGuestName = data;\n this.checkAndOpenUpSellModel();\n },\n () => { }\n );\n }\n\n openSpecialRequest() {\n let spm = SpecialRequestDialogComponent.open(\n this.modalService,\n this.specialRequest\n );\n //commented out as the code below has severe side effects that are not intended\n //the below function triggers a manual override of the automated keyboard logic and is not used correctly\n // spm.componentInstance.doit();\n spm.result.then(\n (result: string) => {\n this.specialRequest = result;\n if (this.specialRequest == '' || this.specialRequest == null) {\n this.specialRequestText = this.language\n .getTextElement('add_special_request')\n .toLocaleUpperCase();\n } else {\n this.specialRequestText = this.language\n .getTextElement('edit_special_request')\n .toLocaleUpperCase();\n }\n },\n () => { }\n ).finally(() => {\n this.KeyboardService.manual = false\n // spm.componentInstance.doit2()\n this.KeyboardService.KeyboardStatus = false;\n });\n }\n\n calculateTotalRecursive(options: any) {\n let total = 0;\n for (let i = 0; i < options?.length; i++) {\n if (options[i].isSelected) {\n if (\n options[i].associatedVariations &&\n options[i].associatedVariations.length > 0\n ) {\n for (let option of options[i].associatedVariations[0]\n .variationOptions) {\n if (option.isSelected) {\n total += Number(option.Price);\n }\n }\n }\n if (\n options[i].ComboGroupID ||\n (options[i].IsPremium && options[i].IsPremium == 'True')\n ) {\n total += Number(options[i].ExtraPrice || options[i].Price || 0);\n }\n\n if (options[i].hasOwnProperty('IsModifier86')) {\n if (\n options[i].Price != null &&\n options[i].Price != undefined &&\n !isNaN(options[i].Price)\n ) {\n total += Number(options[i].Price);\n }\n }\n\n total += this.calculateTotalRecursive(options[i].associatedOptions);\n }\n }\n\n return total;\n }\n\n calculateTotal() {\n //console.log(this.inputItem.Modifiers);\n\n if (this.inputItem == undefined || this.inputItem.Price == undefined) {\n return;\n }\n\n this.inputItem.VariationOption = this.variations;\n\n const total = CommonFunctions.getItemPrice(this.inputItem);\n this.totalCost = total;\n this.pricePerItem = Number(this.inputItem.Price);\n }\n\n getParameterByName(name: string, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n\n cancel() {\n if (this.isComboItem) {\n this.comboModelClose.emit('cancel');\n return;\n }\n if (this.isLoyalty == 'true') {\n this.loyaltyService.selectedLoyaltyReward = '';\n this.loyaltyService.subSelectedLoyaltyReward.next('');\n }\n // const checkIfLastfiveorder = GeneralSetting.getLastFiveOrderChosen();\n // const intocombo = GeneralSetting.getIntoCombo();\n let cancelCartItems =\n this.cartItems.length > 0\n ? this.cartItems[\n this.cartItems.findIndex((el) => el.guid === this.inputItem.guid)\n ]\n : this.inputItem;\n cancelCartItems = cancelCartItems ? cancelCartItems : this.inputItem;\n var isCombo = cancelCartItems.IsCombo.toString();\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'true') {\n try {\n let totalComboAlcoholCount =\n CommonFunctions.isComboAlcoholic(cancelCartItems);\n if (totalComboAlcoholCount > 0) {\n if (this.getParameterByName('isFromReview') === 'true') {\n this.router.navigateByUrl('/orderReview');\n } else {\n if (this.checkEditItem()) {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n },\n });\n\n if (cancelCartItems) {\n if (\n Number(cancelCartItems.Quantity) >=\n Number(this.inputItem.Quantity)\n ) {\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n Number(this.inputItem.Quantity),\n false,\n true\n );\n GeneralSetting.setCurrentCountofAlkol(\n newAlcoholCount.toString()\n );\n\n newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n Number(cancelCartItems.Quantity),\n true,\n true\n );\n GeneralSetting.setCurrentCountofAlkol(\n newAlcoholCount.toString()\n );\n } else if (Number(this.inputItem.Quantity) > 1) {\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n Number(this.inputItem.Quantity) -\n Number(cancelCartItems.Quantity),\n false,\n true\n );\n GeneralSetting.setCurrentCountofAlkol(\n newAlcoholCount.toString()\n );\n }\n }\n } else {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n },\n });\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n Number(this.quantityWhenAdd),\n false,\n true\n );\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n }\n }\n }\n } catch (e) { }\n }\n this.redirectToPageAfterAddToCart();\n }\n\n private createCategoryCartItem(): ItemV2 {\n let cartItem = {} as ItemV2;\n\n if (this.inputItem.ComboGroup && this.inputItem.ComboGroup.length > 0) {\n let tempItem = this.inputItem.ComboGroup[0].Items.filter(\n (item) => item.isSelected\n );\n if (tempItem && tempItem.length > 0) {\n cartItem = JSON.parse(JSON.stringify(tempItem[0])) as ItemV2;\n }\n }\n cartItem.guid = this.inputItem.guid ? this.inputItem.guid : Guid.newGuid();\n cartItem.GuestName = this.itemGuestName;\n cartItem.specialRequest = this.specialRequest;\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n cartItem.Variations = this.inputItem.Variations\n ? this.inputItem.Variations\n : [];\n\n if (this.isConcessionaire) {\n if (\n this.concessionaire &&\n Object.entries(this.concessionaire).length > 0\n ) {\n cartItem.ConcessionaireId = this.concessionaire.ConcessionaireID;\n cartItem.ConcessionaireName = this.concessionaire.Name;\n cartItem.ConcessionaireColorCode = this.concessionaire.ColorCode;\n }\n }\n return cartItem;\n }\n private createCartItem(): ItemV2 {\n const cartItem = JSON.parse(JSON.stringify(this.inputItem)) as ItemV2;\n cartItem.guid = this.inputItem.guid ? this.inputItem.guid : Guid.newGuid();\n\n cartItem.Modifiers = this.modifiers;\n cartItem.VariationOption = this.variations;\n cartItem.ComboGroup = this.comboGroup;\n\n cartItem.Quantity = this.quantityWhenAdd.toString();\n cartItem.AllowQuantitySelection =\n cartItem.AllowQuantitySelection == ''\n ? 'True'\n : cartItem.AllowQuantitySelection;\n cartItem.GuestName = this.itemGuestName;\n cartItem.specialRequest = this.specialRequest;\n //Total price based on qty or weight\n if (\n !(\n cartItem.EnablePricebyWeight &&\n cartItem.EnablePricebyWeight.toString().toLocaleLowerCase() == 'true'\n )\n ) {\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n } else {\n cartItem.Quantity = cartItem.Weight.toString();\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Weight);\n }\n\n cartItem.Variations = this.inputItem.Variations\n ? this.inputItem.Variations\n : [];\n\n if (this.isConcessionaire) {\n if (\n this.concessionaire &&\n Object.entries(this.concessionaire).length > 0\n ) {\n cartItem.ConcessionaireId = this.concessionaire.ConcessionaireID;\n cartItem.ConcessionaireName = this.concessionaire.Name;\n cartItem.ConcessionaireColorCode = this.concessionaire.ColorCode;\n }\n }\n\n cartItem.TableTentNumber = this.inputItem.TableTentNumber;\n\n return cartItem;\n }\n\n /**\n * @description Determines if the current alcoholic item will exceed the maximum allowed amount\n * @returns {boolean} true: the current item will NOT exceed the set maximum alcoholic items per order;\n * @returns {boolean} false: the current item WILL exceed the set maximum alcoholic items per order\n */\n private checkAndShowAlcoholLimitModel(): boolean {\n const currentCountofAlkol = GeneralSetting.getCurrentCountofAlkol();\n const maxOrder = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n\n if (maxOrder == null) {\n return true;\n }\n\n const tempQuantity = Number(this.inputItem.Quantity) + 1;\n\n if (\n currentCountofAlkol != null &&\n Number(maxOrder) > 0 &&\n tempQuantity + 1 > Number(maxOrder)\n ) {\n return false;\n }\n\n // const tempQuantity = this.inputItem.guid\n // ? this.quantityWhenAdd - Number(this.inputItem.Quantity)\n // : this.quantityWhenAdd;\n\n // if (\n // currentCountofAlkol != null &&\n // Number(maxOrder) > 0 &&\n // tempQuantity + Number(currentCountofAlkol) > Number(maxOrder)\n // ) {\n // // this.alcoholicExceedMaxPopup.open();\n // return false;\n // }\n\n return true;\n }\n\n /**\n * @description Appropriately routes to correct screen if edit item, and calls alcohol checks if alcoholic before editing cart\n */\n private checkEditItem(): boolean {\n if (this.inputItem.guid) {\n if (this.inputItem.GuestName && this.inputItem.GuestName != '') {\n this.itemGuestName = this.inputItem.GuestName;\n }\n if (\n !(\n this.inputItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n )\n ) {\n return true;\n } else if (this.checkAndShowAlcoholLimitModel()) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @description checks the current selections against the requirements of the item and alerts user if item is invalid\n */\n private checkValidityShowAnimation(item: ItemV2) {\n if (item.Modifiers != undefined) {\n for (let i = 0; i < item.Modifiers.length; i++) {\n const count = CommonFunctions.getSelectedIngredientCount(\n item.Modifiers[i]\n );\n\n if (item.Modifiers[i].UseAdvancedModifierQuantitySettings == 'True') {\n if (!this.checkValidModifierSelection(this.inputItem.Modifiers[i].MinAggregateQty, this.inputItem.Modifiers[i].MaxAggregateQty, count) ||\n (item.Modifiers[i].IsModifier86 == 'False' && this.inputItem.Modifiers[i].MinAggregateQty >= 1)) {\n this.modifierAnimation();\n return false;\n }\n }\n else {\n if (!this.checkValidModifierSelection(this.inputItem.Modifiers[i].min, this.inputItem.Modifiers[i].max, count) ||\n (item.Modifiers[i].IsModifier86 == 'False' && this.inputItem.Modifiers[i].min >= 1)) {\n this.modifierAnimation();\n return false;\n }\n }\n\n }\n }\n\n return true;\n }\n\n checkValidModifierSelection(min: number, max: number, count: number) {\n // Required\n if (min == max) {\n if (count == min) {\n return true;\n } else {\n return false;\n }\n }\n //Choose Up to max\n if (min == 0 && max >= 1) {\n if (count <= max) {\n return true;\n } else {\n return false;\n }\n }\n //Select at least one\n if (min == 1 && max > 1) {\n if (count >= 1 && count <= max) {\n return true;\n } else {\n return false;\n }\n }\n //select at least more then one\n if (min > 1 && max > 1) {\n if (count > min || count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n return false;\n }\n\n modifierAnimation() {\n if (this.modifierContainer) this.modifierContainer.modifierScroll();\n\n if (this.comboGroupContainer) this.comboGroupContainer.comboGroupScroll();\n\n if (this.builderMode) this.builderMode.onFixItemsClick();\n }\n}\n","\n
{{reachMaxQuantityText}}
\n
\n
\n
\n
\n {{ specialRequestText }}\n \n\n
\n
\n
\n
\n
\n
\n {{totalText}}\n
\n
\n
\n {{ (totalCost * quantityWhenAdd).toFixed(2) | CurrencyPipe }}\n
\n
\n
\n
\n
\n {{pricePerText}}\n
\n
\n {{ pricePerItem | number: \"1.2-2\" | CurrencyPipe }}\n \n
\n
\n
\n {{quantityText}}\n
\n
\n
\n
\n \n
\n \n \n \n \n {{ quantityWhenAdd }}\n
\n \n \n \n \n
\n \n \n \n {{ quantityWhenAdd }}\n
\n \n \n \n
\n
\n
\n
\n\n
\n \n
\n {{totalText}}\n
\n
\n
\n {{ (totalCost * inputItem.Weight)|number :\"1.2-2\" | CurrencyPipe }}\n
\n
\n
\n \n
\n {{pricePerText}}\n
\n
\n {{ totalCost|number :\"1.2-2\" | CurrencyPipe }}\n \n
\n \n
\n {{itemWeightText}}\n
\n
\n {{ inputItem.Weight }}\n \n {{ozText}} \n {{poundText}} \n {{gramText}} \n {{kilogramText}} \n \n \n \n \n
\n \n
\n
\n
\n
\n {{addToCartText}}\n
\n
\n
\n \n \n
\n
\n
\n\n","import { Message, MessageType } from './../models/message';\nimport { EventEmitter, Injectable, NgZone, OnDestroy } from '@angular/core';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { Router } from '@angular/router';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { Snackbar } from 'src/app/services/common';\nimport { SaveSettingsService } from 'src/app/services/save-settings.service';\nimport { DatabaseService } from './database.service';\nimport { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from './language.service';\nimport { DownloadingPopupService } from '../components/dialogs/downloading-popup/downloading-popup.service';\nimport { BranchLoginStreamServiceService } from './branch-login-stream-service.service';\nimport { TimeService } from './store-time.service';\nimport { ImageService } from './image.service';\nimport { UpdateMenuModelService } from '../components/dialogs/update-menu/update-menu-model.service';\nimport { PrinterService } from './printer.service';\nimport { LoyaltyService } from './loyalty.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoginService implements OnDestroy {\n\n ngOnDestroy() {\n if (this.languageSub) this.languageSub.unsubscribe();\n }\n\n branchInfo: any;\n downloadUrls = new Set();\n branchDetails: any;\n user: any;\n totalDownloadSets: number = 0;\n totalDownloadSetsQueued: number = 0;\n pass: any;\n downloadCompleteCount = 0;\n modalRef!: NgbModalRef;\n\n isLoginStillInProgress = false;\n\n isDownloadComplete = false;\n invalidText: string = '';\n downloadingPopupRef!: any;\n languageSub!: Subscription;\n existingFiles = new Set();\n managerPassCodeRedirectLoginRefTimeOut: any;\n\n public isLoading: EventEmitter = new EventEmitter();\n isModalOpen: EventEmitter = new EventEmitter();\n\n private existingFileEventListner: any = null;\n\n constructor(\n private router: Router,\n private logger: LogService,\n private saveSetting: SaveSettingsService,\n private language: LanguageService,\n private downloadPopupService: DownloadingPopupService,\n private branchLoginStreamService: BranchLoginStreamServiceService,\n private updateMenuService: UpdateMenuModelService,\n private db: DatabaseService,\n private timeService: TimeService,\n private imageService: ImageService,\n private printerService: PrinterService,\n private loyaltyService: LoyaltyService,\n ) {\n\n this.existingFileEventListner = window.addEventListener('message', this.getMessage.bind(this), false);\n this.getExistingFiles();\n\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n loadText() {\n this.invalidText = this.language.getTextElement(\n 'txt_invalid_email_or_password'\n );\n }\n\n getExistingFiles() {\n const message: Message = {\n messageType: MessageType.getExistingFiles,\n };\n window.top!.postMessage(JSON.parse(JSON.stringify(message)), '*');\n }\n broadcast(a: boolean) {\n this.isLoading.emit(a)\n }\n getMessage(event: any) {\n if (event.data.messageType == MessageType.ExistingFiles) {\n this.existingFiles = event.data.data;\n this.saveSetting.existingFiles = event.data.data;\n\n if (this.existingFileEventListner != null) {\n window.removeEventListener('message', this.existingFileEventListner);\n }\n }\n }\n\n public async doLogin(user: string, pass: string) {\n this.isLoading.emit(true);\n\n this.isLoading.emit(false);\n var res = await this.branchLoginStreamService.doLogin(user, pass, GeneralSetting.getSerialNo(), this.downloadPopupService);\n\n this.isLoading.emit(false);\n\n if (!res) {\n this.isModalOpen.emit(false);\n //this.onBranchLoginError(null,res); // commented it here because it was showing invalid username and password on different error as well GBRL-178 @jay \n return false;\n }\n\n GeneralSetting.setIsDataBasePresent('True');\n this.router.navigateByUrl('/passcode');\n\n return true;\n }\n\n afterResetDataRefresh() {\n return new Promise((resolve, reject) => {\n try {\n this.saveSetting.theme();\n this.db.getDetailSetting();\n this.timeService.clearStoreTime();\n this.saveSetting.reloadChildComponent();\n this.imageService.getOptions();\n this.saveSetting.setOptionSubject.next('setOptions');\n this.printerService.setDefault();\n this.printerService.getPrintersStatus();\n\n this.loyaltyService.getLoyalty().then((data: any) => {\n resolve(true)\n this.saveSetting.menuSyncSubscribe.next(data);\n\n if (data) {\n GeneralSetting.setShowLoyaltyLogin('True');\n } else {\n GeneralSetting.setShowLoyaltyLogin('False');\n }\n\n }, error => {\n resolve(true)\n });\n } catch (e) {\n resolve(true)\n }\n })\n }\n\n public async doRefresh(timeOutComponent?: any) {\n let username = GeneralSetting.getBranchLoginUserId();\n let password = GeneralSetting.getBranchLoginPass();\n\n var res = await this.branchLoginStreamService.doLogin(username, password, GeneralSetting.getSerialNo(), this.updateMenuService, true, timeOutComponent);\n\n if (!res) {\n\n //close All models \n\n this.logger.sendLogToServer(new loggingData(\n 'Refresh Data',\n 'Refresh Data Api call failed',\n 'Refresh Data',\n \"\",\n true\n ));\n\n Snackbar.show('Network Error', 3000);\n\n return false;\n }\n\n this.saveSetting.theme();\n\n this.db.getDetailSetting();\n this.timeService.clearStoreTime();\n this.saveSetting.reloadChildComponent();\n this.imageService.getOptions();\n this.saveSetting.setOptionSubject.next('setOptions');\n\n this.db.getLoyaltyProgram().then((data: any) => {\n this.saveSetting.menuSyncSubscribe.next(data);\n\n if (data) {\n GeneralSetting.setShowLoyaltyLogin('True');\n } else {\n GeneralSetting.setShowLoyaltyLogin('False');\n }\n\n });\n\n return true;\n }\n\n private onBranchLoginError(ref: any, response: any) {\n try {\n this.downloadPopupService.close();\n\n if (ref && ref != null) {\n ref.clear();\n }\n } catch (e) { }\n\n this.isLoading.emit(false);\n this.isModalOpen.emit(false);\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Branch Login',\n 'Branch login Api failed',\n 'Branch Login',\n JSON.stringify(response),\n true\n )\n );\n\n Snackbar.show(this.invalidText, 3000);\n }\n\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Guid } from 'src/app/models/Guid';\nimport { ComboGroupV2, ItemV2, ModifierV2 } from 'src/app/models/item';\nimport { VariationOption } from 'src/app/models/Variations';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { LastfiveorderService } from 'src/app/services/lastfiveorder.service';\nimport { environment } from 'src/environments/environment';\nimport { AlcoholicItemsExceedMaxComponent } from '../../dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport { BoxBuilderItemDetail } from '../box-builder-item-detail/box-builder-item-detail.component';\n// import { BoxBuilderReviewComponent } from '../box-builder-review/box-builder-item-review.component';\n// import { BoxBuilderReviewComponent } from '../../box-builder/box-builder-review/box-builder-item-review.component';\nimport { CartService } from 'src/app/services/cart.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-box-builder-item-footer',\n templateUrl: './box-builder-item-footer.component.html',\n styleUrls: ['./../box-builder-item.component.css'],\n})\nexport class BoxBuilderItemFooterComponent implements OnInit {\n @Input() categoryID: any;\n\n @Input() inputItem: ItemV2 = new ItemV2();\n\n @Input() boxBuilderItemDetailModal!: BoxBuilderItemDetail;\n\n @Input() isCombo: boolean = false;\n\n @Input() quantityWhenAdd: number = 1;\n\n @Input() cartQuantity: number = 0;\n\n @Input() modifiers: ModifierV2[] = [];\n\n @Input() variations: VariationOption[] = [];\n\n @Input() comboGroup: ComboGroupV2[] = [];\n\n @Input() itemID: any;\n\n @Input() isModifiersValid: boolean = false;\n\n @Input() isVariationsValid: boolean = false;\n\n @Input() isComboGroupValid: boolean = false;\n\n @Input() isReady: boolean = false;\n\n // @Input() boxBuilderModal!: BoxBuilderComponent;\n\n @Input() isComboItem = false;\n\n @Input() comboItemFlags: any[] = [];\n\n @Input() selectedTotalCount: number = 0;\n\n @Input() totalComboGroups: number = 0;\n\n @Input() numInvisibleGroups: number = 0;\n\n @Input() currentSelectedModifierIndex: number = 0;\n\n @Output() itemModalClose = new EventEmitter();\n\n @Output() comboSelectionEmitter = new EventEmitter();\n\n @Input() itemImageList: any[] = [];\n\n @Input() isEdit: boolean = false;\n\n // @ViewChild(BoxBuilderReviewComponent) boxBuilderReviewModel!: BoxBuilderReviewComponent;\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n modGrpImg: string = '/assets/images/Image_21.png';\n\n item!: ItemV2;\n\n alcoholicExceedMaxPopup!: AlcoholicItemsExceedMaxComponent;\n\n itemGuestName: string = '';\n\n specialRequest: string = '';\n\n totalQuantity = [] as any[];\n\n selectedQuantity: number = -1;\n\n selectableQuantity!: number;\n\n concessionaireId: string = '';\n\n cancelText: string = '';\n currentSelectionText: string = '';\n howManyText:string=''\n addDonutText:string=''\n allSubscription: Subscription[] = [];\n placeholderImage : string = '';\n constructor(\n private readonly router: Router,\n private readonly lastfiveorderService: LastfiveorderService,\n private readonly isKioskService: IsKioskService,\n private readonly cartService: CartService,\n private language: LanguageService,\n private readonly modalService:NgbModal,\n route: ActivatedRoute,\n private readonly dataService : DataService\n ) {\n this.concessionaireId = route.snapshot.queryParams['concessionaireId'];\n this.allSubscription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.totalQuantity = Array.from(\n Array(this.totalComboGroups - this.numInvisibleGroups).keys()\n );\n }\n ngOnDestroy() {\n if (this.allSubscription.length > 0) {\n for (let i = 0; i < this.allSubscription.length; i++) {\n this.allSubscription[i].unsubscribe();\n }\n }\n }\n loadText() {\n this.cancelText = this.language.getTextElement('lbl_button_cancel');\n this.currentSelectionText = this.language.getTextElement('current_selection');\n this.howManyText = this.language.getTextElement('how_many_of_these');\n this.addDonutText = this.language.getTextElement('add_donut_to_box');\n }\n cancel() {\n if (this.isCombo) {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n concessionaireId: this.concessionaireId,\n },\n });\n } else {\n this.itemModalClose.emit(null);\n }\n }\n\n addToCart() {\n const item = this.createCartItem();\n\n this.closeModel(item);\n }\n\n private createCartItem(): ItemV2 {\n const cartItem = JSON.parse(JSON.stringify(this.inputItem)) as ItemV2;\n if (this.isEdit) {\n cartItem.guid = this.inputItem.guid;\n cartItem.BoxBuilderItemGUID = this.inputItem.BoxBuilderItemGUID;\n } else {\n cartItem.guid = Guid.newGuid();\n cartItem.BoxBuilderItemGUID = Guid.newGuid();\n }\n cartItem.Modifiers = this.modifiers;\n cartItem.ComboGroup = [];\n cartItem.Quantity = this.inputItem!.Quantity;\n cartItem.ItemConsolidateQuantity = this.inputItem.ItemConsolidateQuantity;\n cartItem.IsCombo = !(\n cartItem.IsCombo.toString() == '0' ||\n cartItem.IsCombo.toString().toLowerCase() == 'false'\n );\n cartItem.AllowQuantitySelection =\n cartItem.AllowQuantitySelection == ''\n ? 'True'\n : cartItem.AllowQuantitySelection;\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n\n return cartItem;\n }\n\n private createCartCombo(): ItemV2 {\n const cartItem = JSON.parse(JSON.stringify(this.inputItem)) as ItemV2;\n\n cartItem.guid = this.inputItem.guid ? this.inputItem.guid : Guid.newGuid();\n cartItem.Modifiers = this.modifiers;\n cartItem.VariationOption = this.variations;\n cartItem.ComboGroup = this.inputItem.ComboGroup;\n cartItem.Quantity = this.quantityWhenAdd.toString();\n cartItem.AllowQuantitySelection =\n cartItem.AllowQuantitySelection == ''\n ? 'True'\n : cartItem.AllowQuantitySelection;\n cartItem.GuestName = this.itemGuestName;\n cartItem.specialRequest = this.specialRequest;\n cartItem.totalPrice =\n CommonFunctions.getItemPrice(cartItem) * Number(cartItem.Quantity);\n\n return cartItem;\n }\n\n closeModel(item: ItemV2) {\n this.itemModalClose.emit(item);\n }\n\n onClick(event: any, pos: number) {\n this.selectedQuantity = pos;\n this.inputItem.Quantity = (this.selectedQuantity + 1).toString();\n this.inputItem.ItemConsolidateQuantity = this.selectedQuantity + 1;\n }\n\n ngOnChanges() {\n // console.log(\"base Image url \" + this.baseImageUrl);\n this.selectableQuantity =\n this.totalQuantity.length -\n this.selectedTotalCount +\n this.inputItem.ItemConsolidateQuantity;\n }\n\n private checkValidityShowAnimation(item: ItemV2) {\n if (item.Modifiers != undefined) {\n for (let i = 0; i < item.Modifiers.length; i++) {\n const count = CommonFunctions.getSelectedIngredientCount(\n item.Modifiers[i]\n );\n\n if (\n !this.checkValidModifierSelection(\n this.inputItem.Modifiers[i].min,\n this.inputItem.Modifiers[i].max,\n count\n )\n ) {\n // this.modifierAnimation();\n return false;\n }\n }\n }\n\n return true;\n }\n\n checkValidModifierSelection(min: number, max: number, count: number) {\n // Required\n if (min == max) {\n if (count == min) {\n return true;\n } else {\n return false;\n }\n }\n\n //Choose Up to max\n if (min == 0 && max >= 1) {\n if (count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n //Select at least one\n if (min == 1 && max > 1) {\n if (count >= 1 && count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n //select at least more then one\n if (min > 1 && max > 1) {\n if (count > min || count <= max) {\n return true;\n } else {\n return false;\n }\n }\n\n return false;\n }\n\n /**\n * @description Appropriately routes to correct screen if edit item, and calls alcohol checks if alcoholic before editing cart\n */\n private checkEditItem(): boolean {\n if (this.inputItem.guid) {\n if (this.inputItem.GuestName && this.inputItem.GuestName != '') {\n this.itemGuestName = this.inputItem.GuestName;\n }\n if (\n !(\n this.inputItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n )\n ) {\n //this.cartService.addToCartV2(this.createCartItem());\n //this.location.back();\n return true;\n } else if (this.checkAndShowAlcoholLimitModel()) {\n //this.cartService.addToCartV2(this.createCartItem());\n //this.location.back();\n return true;\n }\n }\n\n return false;\n }\n\n private checkAndShowAlcoholLimitModel(): boolean {\n const currentCountofAlkol = GeneralSetting.getCurrentCountofAlkol();\n const maxOrder = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n\n if (maxOrder == null) {\n return true;\n }\n\n const tempQuantity = this.inputItem.guid\n ? this.quantityWhenAdd\n : this.quantityWhenAdd - Number(this.inputItem.Quantity);\n\n if (\n currentCountofAlkol != null &&\n Number(maxOrder) > 0 &&\n tempQuantity + Number(currentCountofAlkol) > Number(maxOrder)\n ) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n return false;\n }\n\n return true;\n }\n\n calculateTotal() {\n //console.log(this.inputItem.Modifiers);\n\n if (this.inputItem == undefined || this.inputItem.Price == undefined) {\n return;\n }\n\n this.inputItem.VariationOption = this.variations;\n }\n\n private redirectToPageAfterAddToCart() {\n if (this.checkIfFromLastFivePageForCombo()) {\n this.router.navigateByUrl('/lastfiveorder').then(() => {\n this.lastfiveorderService.updateitemList(\n this.itemID,\n\n this.variations,\n\n this.modifiers\n );\n });\n\n GeneralSetting.setIntoCombo('false');\n } else {\n if (this.getParameterByName('isFromReview') === 'true') {\n this.router.navigateByUrl('/orderReview');\n } else {\n this.router.navigate(['/menu'], {\n queryParams: {\n category: this.inputItem.CategoryID,\n id: this.inputItem.ItemID,\n concessionaireId: this.concessionaireId,\n },\n });\n }\n }\n }\n\n getParameterByName(name: string, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n\n private checkIfFromLastFivePageForCombo() {\n const checkIfLastfiveorder = GeneralSetting.getLastFiveOrderChosen();\n const intocombo = GeneralSetting.getIntoCombo();\n\n if (\n checkIfLastfiveorder &&\n checkIfLastfiveorder === 'true' &&\n intocombo &&\n intocombo === 'true'\n )\n return true;\n\n return false;\n }\n\n getBaseImageUrl() {\n this.baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n return this.baseImageUrl;\n }\n\n // async reviewYourBox() {\n // let requisitesForCartItem = {\n // modifiers: this.modifiers,\n // variations: this.variations,\n // quantityWhenAdd:this.quantityWhenAdd,\n // itemGuestName:this.itemGuestName,\n // specialRequest:this.specialRequest,\n // itemID:this.itemID\n // }\n // this.boxBuilderReviewModel.open(this.selectedTotalCount, this.inputItem, this.comboItemFlags, this.itemImageList, requisitesForCartItem);\n // this.boxBuilderReviewModel.ref.result.then(async (res: any) => {\n // if (res == 'addToCart') {\n // if (this.isCombo) {\n // // if (this.checkAndShowAlcoholLimitModel()) {\n // let res = await this.cartService.addToCartV2Async(\n // this.createCartCombo()\n // );\n\n // if (!res.status) {\n // if (res.error == 'alcohol') {\n // Snackbar.show(\n // 'Exceeded maximum alcohol quantity for this item',\n // 3000\n // );\n // } else {\n // Snackbar.show('Exceeded maximum quantity for this item', 3000);\n // }\n\n // return;\n // }\n\n // GeneralSetting.setCurrentCountofAlkol(\n // Number(GeneralSetting.getCurrentCountofAlkol()) +\n // Number(this.quantityWhenAdd)\n // );\n\n // this.redirectToPageAfterAddToCart();\n // //this.location.back();\n // }\n // }\n // else if (res.message && res.message == \"Add_Remaining\") {\n // let comboGroup = res.data as ComboGroupV2[];\n\n // this.comboSelectionEmitter.emit(comboGroup);\n // }\n // }\n // // }\n // );\n\n // }\n}\n","\n \n\n \n
{{currentSelectionText}} \n
\n
\n
\n
\n \n {{ mod.Category }} \n \n \n
\n
\n
\n \n
{{howManyText}} \n
\n \n \n {{i+1}}\n \n
\n \n
\n \n \n {{i+1}}\n \n
\n \n
{{addDonutText}} \n
{{cancelText}} \n
\n\n \n ","import {\n HttpClient,\n HttpErrorResponse,\n HttpHeaders,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from '../../environments/environment';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { HttpConnection } from 'src/app/services/http.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { IHttpHeaders } from 'src/app/services/http.service';\nimport { Concessionaire } from '../models/Concessionaire';\nimport { HealthLogRequest } from './api/Models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DataService {\n baseUrl: string = environment.apiUrl;\n branchLoginURL: string = 'BranchLoginV2';\n registerDeviceURL: string = 'DeviceRegisterV2';\n SMSserviceURL: string = 'SendTextMessage';\n ZreportURL: string = 'POSZReportSK';\n EmailURL: string = 'EmailSendSK';\n getCustomerByMobileNoUrl = 'GetCustomerByMobileNo';\n orderhistoryByid = 'OrderByCustomerIDSK';\n getMenuURL: string = 'GetMenu';\n itemDisableURL: string = 'ItemsDisableSK';\n LookupMemberByID: string = 'LookupMemberByIDSK';\n sendAlcoholItemNotificationURL: string = 'SendNotification';\n updateDeviceDetails: string = 'DeviceDetailsUpdate';\n healthLog: string = 'HealthLog';\n installationACK: string = 'installation-ack';\n\n username: string = '';\n password: string = '';\n dataDate: Date = new Date(0);\n isKiosk: boolean = true;\n placeholderImage: string = '';\n\n constructor(\n private http: HttpClient,\n private logger: LogService,\n isKioskService: IsKioskService\n ) {\n if (\n GeneralSetting.getPlaceHolderImageFlag() &&\n GeneralSetting.getPlaceholderImage() != ''\n ) {\n this.placeholderImage = GeneralSetting.getPlaceholderImage();\n }\n this.isKiosk = isKioskService.isKiosk();\n }\n\n getZreport(startDate: string, endDate: string) {\n const headers = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('CompanyID', GeneralSetting.getCompanyId())\n .set('BranchID', GeneralSetting.getBranchId())\n .set('DeviceID', GeneralSetting.getSerialNo());\n const body = new HttpParams()\n .set('StartDate', startDate)\n .set('EndDate', endDate);\n\n return this.http\n .post(this.baseUrl + this.ZreportURL, body, { headers })\n .pipe(catchError(this.errorHandler));\n }\n\n /**\n * Post branch log-in info to server\n * including username/password/AppVersion/DeviceType/DeviceID/ModuleID/FCMID\n * @param username\n * @param password\n * @returns POST request response from server\n */\n branchLogin(username: string, password: string, deviceId: string) {\n this.dataDate = new Date();\n localStorage.setItem('syncDate', this.dataDate.toLocaleString());\n this.username = username;\n this.password = password;\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/json',\n } as IHttpHeaders);\n\n var body = {\n Username: username,\n Password: password,\n AppVersion: environment.Version,\n DeviceType: '1',\n DeviceID: deviceId,\n ModuleID: '2',\n FCMID: 'Pusher',\n DeviceName: 'Samsung Kiosk',\n AppID: GeneralSetting.getSerialNo(),\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.branchLoginURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n /**\n * refresh the branch devide info and post to the server\n * @returns POST request response from server\n */\n refreshData() {\n this.dataDate = new Date();\n localStorage.setItem('syncDate', this.dataDate.toLocaleString());\n this.username = GeneralSetting.getBranchLoginUserId();\n this.password = GeneralSetting.getBranchLoginPass();\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n\n var body = {\n Username: this.username,\n Password: this.password,\n AppVersion: environment.Version,\n DeviceType: '1',\n DeviceID: GeneralSetting.getSerialNo(),\n ModuleID: '2',\n FCMID: 'Pusher',\n DeviceName: 'Samsung Kiosk',\n AppID: GeneralSetting.getSerialNo(),\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.branchLoginURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n /**\n * Register the new device and post the info to the server\n * @param username\n * @param password\n * @param deviceId\n * @param moduleId\n * @returns\n */\n registerDevice(\n username: string,\n password: string,\n deviceId: string,\n moduleId: string,\n deviceName: string\n ) {\n var headers = [] as IHttpHeaders[];\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n\n const body = {\n ModuleID: moduleId,\n DeviceType: '1',\n FCMID: 'Pusher',\n Username: username,\n DeviceID: deviceId,\n Password: password,\n DeviceName: deviceName,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.registerDeviceURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n /**\n * Update device info and post the info to the server\n * @returns\n */\n updateDevice() {\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({\n key: 'CompanyID',\n value: GeneralSetting.getCompanyId(),\n } as IHttpHeaders);\n headers.push({\n key: 'BranchID',\n value: GeneralSetting.getBranchId(),\n } as IHttpHeaders);\n headers.push({\n key: 'DeviceID',\n value: GeneralSetting.getSerialNo(),\n } as IHttpHeaders);\n\n const body = {\n HSN: '',\n ModelName: GeneralSetting.getDeviceModel(),\n DeviceID: GeneralSetting.getSerialNo(),\n ScannerID: '',\n MerchantID: '',\n MacAddress: GeneralSetting.getMacAddress(),\n UseBarcodeScanner:\n GeneralSetting.getUseBarcodeScanner() != ''\n ? GeneralSetting.getUseBarcodeScanner()\n : 'False',\n Name:\n GeneralSetting.getDeviceName() != ''\n ? GeneralSetting.getDeviceName()\n : 'Samsung Kiosk',\n WifiName: GeneralSetting.getWifi(),\n AppVersion: environment.Version,\n BrandName: GeneralSetting.getBrandName(),\n FCMID: '',\n ModuleID: '2',\n EnableScanOrSelectHybridMode: 'False',\n StatusDate: new Date(),\n StaffModuleID: GeneralSetting.getStaffModuleID(),\n OSVersion: GeneralSetting.getOsversion(),\n StatusId: '1',\n IpAddress: GeneralSetting.getIpAddress(),\n Notes: 'Device Connected',\n DeviceTypeID: '1',\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.updateDeviceDetails)\n .addMethod('POST')\n .addHeader(headers)\n .addBody([body])\n .post();\n }\n\n sendCustomerText(phoneNumber: string, message: string) {\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({\n key: 'CompanyID',\n value: GeneralSetting.getCompanyId(),\n } as IHttpHeaders);\n headers.push({\n key: 'BranchID',\n value: GeneralSetting.getBranchId(),\n } as IHttpHeaders);\n headers.push({\n key: 'DeviceID',\n value: GeneralSetting.getSerialNo(),\n } as IHttpHeaders);\n\n const body = {\n PhoneNo: phoneNumber,\n MessageText: message,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.SMSserviceURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n /**\n * error handler\n * @param error\n * @returns error message\n */\n errorHandler(error: HttpErrorResponse) {\n var log = new loggingData(\n 'Data Error',\n 'Encountered Error on Data Fetch',\n `Error`,\n `Encountered Error: ${error}`,\n true\n );\n this.logger.sendLogToServer(log);\n return throwError(error.message);\n }\n\n /**\n * error handler\n * @param error\n * @returns error\n */\n errorResponse(error: HttpErrorResponse) {\n return throwError(error);\n }\n\n submitOrder(orderData: any) {\n if (\n orderData &&\n orderData.OrderMaster &&\n orderData.OrderMaster.length > 0\n ) {\n orderData.OrderMaster.forEach(\n (element: { OrderSource: string; TransactionID: any }) => {\n element.OrderSource = 'Kiosk';\n if (\n element.TransactionID == '-undefined' ||\n element.TransactionID == 'undefined' ||\n element.TransactionID == undefined\n ) {\n element.TransactionID = '';\n }\n }\n );\n }\n\n var log = new loggingData(\n 'Order Data',\n 'Order Data Sending to Backend',\n `Order to Check TransactionId`,\n `Order Data: ${orderData}`,\n false\n );\n this.logger.sendLogToServer(log);\n\n const branchId =\n GeneralSetting.getBranchId() == '' ? '0' : GeneralSetting.getBranchId();\n const companyId =\n GeneralSetting.getCompanyId() == '' ? '0' : GeneralSetting.getCompanyId();\n\n const myHeaders = new Headers();\n myHeaders.append('Version', '1.0');\n myHeaders.append('Content-Type', 'application/json');\n myHeaders.append('CompanyID', companyId);\n myHeaders.append('BranchID', branchId);\n myHeaders.append('DeviceID', GeneralSetting.getSerialNo());\n\n const requestOptions = {\n method: 'POST',\n headers: myHeaders,\n body: JSON.stringify(orderData),\n redirect: 'follow' as RequestRedirect,\n };\n return fetch(this.baseUrl + 'OrderUpSK', requestOptions);\n }\n\n async submitOrderAsync(orderData: any) {\n if (\n orderData &&\n orderData.OrderMaster &&\n orderData.OrderMaster.length > 0\n ) {\n orderData.OrderMaster.forEach(\n (element: { OrderSource: string; TransactionID: any }) => {\n element.OrderSource = 'Kiosk';\n if (\n element.TransactionID == '-undefined' ||\n element.TransactionID == 'undefined' ||\n element.TransactionID == undefined\n ) {\n element.TransactionID = '';\n }\n }\n );\n }\n\n var log = new loggingData(\n 'Order Data',\n 'Order Data Sending to Backend',\n `Order to Check TransactionId`,\n `Order Data: ${orderData}`,\n false\n );\n this.logger.sendLogToServer(log);\n\n const branchId =\n GeneralSetting.getBranchId() == '' ? '0' : GeneralSetting.getBranchId();\n const companyId =\n GeneralSetting.getCompanyId() == '' ? '0' : GeneralSetting.getCompanyId();\n\n const myHeaders = new Headers();\n myHeaders.append('Version', '1.0');\n myHeaders.append('Content-Type', 'application/json');\n myHeaders.append('CompanyID', companyId);\n myHeaders.append('BranchID', branchId);\n myHeaders.append('DeviceID', GeneralSetting.getSerialNo());\n\n const requestOptions = {\n method: 'POST',\n headers: myHeaders,\n body: JSON.stringify(orderData),\n redirect: 'follow' as RequestRedirect,\n };\n return await fetch(this.baseUrl + 'OrderUpSK', requestOptions);\n }\n sendEmail(userEmail: string, userName: string, emailBody: string = 'empty') {\n const branchId =\n GeneralSetting.getBranchId() == '' ? '0' : GeneralSetting.getBranchId();\n const companyId =\n GeneralSetting.getCompanyId() == '' ? '0' : GeneralSetting.getCompanyId();\n\n const strDeviceId = GeneralSetting.getSerialNo();\n const deviceId = strDeviceId == null ? '1' : strDeviceId;\n\n const orderInvoiceNo =\n GeneralSetting.getInvoiceNoToDb() == ''\n ? '0'\n : GeneralSetting.getInvoiceNoToDb();\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({ key: 'CompanyID', value: companyId } as IHttpHeaders);\n headers.push({ key: 'BranchID', value: branchId } as IHttpHeaders);\n headers.push({ key: 'DeviceID', value: deviceId } as IHttpHeaders);\n\n const body = {\n ToEmail: userEmail,\n ToName: userName,\n Subject: 'Your Receipt',\n Message: emailBody,\n Email: userEmail,\n OrderInvoiceNo: orderInvoiceNo,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.EmailURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n async sendEmailError(req: {\n ToEmail: string;\n ToName: string;\n Subject: string;\n Message: string;\n Email: string;\n }) {\n const branchId = GeneralSetting.getBranchId();\n const companyId = GeneralSetting.getCompanyId();\n const deviceId =\n GeneralSetting.getSerialNo() == null ? '1' : GeneralSetting.getSerialNo();\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({ key: 'CompanyID', value: companyId } as IHttpHeaders);\n headers.push({ key: 'BranchID', value: branchId } as IHttpHeaders);\n headers.push({ key: 'DeviceID', value: deviceId } as IHttpHeaders);\n\n const body = {\n ToEmail: req.ToEmail,\n ToName: req.ToName,\n Subject: req.Subject,\n Message: req.Message,\n Email: req.Email,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.EmailURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post()\n .toPromise()\n .then();\n }\n\n getCustomerByMobileNo(mobileNo: string) {\n const branchId =\n GeneralSetting.getBranchId() == '' ? '0' : GeneralSetting.getBranchId();\n const companyId =\n GeneralSetting.getCompanyId() == '' ? '0' : GeneralSetting.getCompanyId();\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({ key: 'CompanyID', value: companyId } as IHttpHeaders);\n headers.push({ key: 'BranchID', value: branchId } as IHttpHeaders);\n\n const body = {\n MobileNo: mobileNo,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.getCustomerByMobileNoUrl)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n getOrderHistoryByCustomerID(customerID: string) {\n const branchId =\n GeneralSetting.getBranchId() == '' ? '0' : GeneralSetting.getBranchId();\n const companyId =\n GeneralSetting.getCompanyId() == '' ? '0' : GeneralSetting.getCompanyId();\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({ key: 'CompanyID', value: companyId } as IHttpHeaders);\n headers.push({ key: 'BranchID', value: branchId } as IHttpHeaders);\n headers.push({ key: 'PageNo', value: '1' } as IHttpHeaders);\n\n const body = {\n CustomerID: customerID,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.orderhistoryByid)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n /**\n *\n * @param itemID update status of item for given ID\n * @param status status of item, true for enable and false for disable\n * @returns\n */\n updateItemStatus(itemID: string, status: boolean) {\n var headers = [] as IHttpHeaders[];\n\n headers.push({\n key: 'Content-Type',\n value: 'application/json',\n } as IHttpHeaders);\n headers.push({\n key: 'CompanyID',\n value: GeneralSetting.getCompanyId(),\n } as IHttpHeaders);\n headers.push({\n key: 'BranchID',\n value: GeneralSetting.getBranchId(),\n } as IHttpHeaders);\n\n const body = {\n ItemID: itemID,\n Status: status,\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.itemDisableURL)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n getMemberFromIDCard(memberId: string) {\n var headers = [] as IHttpHeaders[];\n\n headers.push({\n key: 'Content-Type',\n value: 'application/json',\n } as IHttpHeaders);\n headers.push({ key: 'Accept', value: 'application/json' } as IHttpHeaders);\n headers.push({\n key: 'CompanyID',\n value: GeneralSetting.getCompanyId(),\n } as IHttpHeaders);\n headers.push({\n key: 'BranchID',\n value: GeneralSetting.getBranchId(),\n } as IHttpHeaders);\n\n const body = {\n MemberID: memberId,\n CompanyID: GeneralSetting.getCompanyId(),\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.LookupMemberByID)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n updateConcessionaireSettings(\n conList: Concessionaire[],\n isDefaultCon: boolean,\n DefaultConId: string\n ) {\n const branchId =\n GeneralSetting.getBranchId() == '' ? '0' : GeneralSetting.getBranchId();\n const companyId =\n GeneralSetting.getCompanyId() == '' ? '0' : GeneralSetting.getCompanyId();\n const strDeviceId = GeneralSetting.getSerialNo();\n const deviceId = strDeviceId == null ? '1' : strDeviceId;\n\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({ key: 'CompanyID', value: companyId } as IHttpHeaders);\n headers.push({ key: 'BranchID', value: branchId } as IHttpHeaders);\n headers.push({ key: 'DeviceID', value: deviceId } as IHttpHeaders);\n\n const body = this.createConcessionaireSettingBody(\n conList,\n isDefaultCon,\n DefaultConId\n );\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + 'ConcessionaireDeviceSettingUpdate')\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n private createConcessionaireSettingBody(\n conList: Concessionaire[],\n isDefaultCon: boolean,\n DefaultConId: string\n ) {\n let conIds = conList.map((x) => Number(x.ConcessionaireID));\n\n let staffModuleId = Number(GeneralSetting.getStaffModuleID());\n let specificCon = GeneralSetting.getIsAssignSpecificConcessionaire();\n\n let d_conId = Number(DefaultConId);\n\n return {\n StaffModuleID: staffModuleId,\n IsAssignSpecificConcessionaire: specificCon,\n IsDefaultConcessionaire: isDefaultCon,\n DefaultConcessionaireID: d_conId,\n ConcessionaireIDList: conIds,\n };\n }\n\n IsOnlineCheckSK() {\n // return HttpConnection.Connection(this.http, this.isKiosk)\n // .addUrl(this.baseUrl + 'IsOnlineCheckSK')\n // .addMethod(\"GET\")\n // .addHeader([])\n // .addBody({})\n // .post();\n\n // const body = {};\n\n return this.http.get(this.baseUrl + 'IsOnlineCheckSK');\n }\n\n createPrinterConnection() {\n console.log('data.service > createPrinterConnection() is called');\n\n const body = {};\n\n return this.http.post(\n environment.NodeUrl + 'createPrinterConnection',\n body,\n { responseType: 'text' as 'json' }\n );\n }\n createConnection() {\n const body = {};\n return this.http.post(environment.NodeUrl + 'createConnection', body, {\n responseType: 'text' as 'json',\n });\n }\n\n getWeight(unit: string, RaspberryPiIPAddress: string) {\n const body = {\n unit: unit,\n RaspberryPiIPAddress: RaspberryPiIPAddress,\n };\n return this.http.post(environment.NodeUrl + 'getWeight', body, {\n responseType: 'text' as 'json',\n });\n }\n\n sendAlcoholicItemNotification(deviceName: string) {\n // var headers = [] as IHttpHeaders[];\n // headers.push({ key: \"Version\", value: \"1.0\" } as IHttpHeaders);\n // headers.push({ key: \"CompanyID\", value: GeneralSetting.getCompanyId() } as IHttpHeaders);\n // headers.push({ key: \"BranchID\", value: GeneralSetting.getBranchId() } as IHttpHeaders);\n\n const headers = new HttpHeaders()\n .set('Version', '1.0')\n .set('CompanyID', GeneralSetting.getCompanyId())\n .set('BranchID', GeneralSetting.getBranchId());\n\n const body = new HttpParams()\n .set('OrderID', '0')\n .set('TagName', 'AlcoholicItem')\n .set('IsAlcoholNotification', 'true')\n .set('body', deviceName);\n // const body = {\n // OrderID: '0',\n // TagName: 'AlcoholicItem',\n // IsAlcoholNotification: 'true',\n // body: deviceName\n // };\n\n return this.http.get(this.baseUrl + this.sendAlcoholItemNotificationURL, {\n headers: headers,\n params: body,\n });\n // return HttpConnection.Connection(this.http, this.isKiosk)\n // .addUrl(this.baseUrl + this.sendAlcoholItemNotificationURL)\n // .addMethod(\"GET\")\n // .addHeader(headers)\n // .addBody(body)\n // .post();\n }\n\n getPlaceholderImage() {\n if (\n GeneralSetting.getPlaceHolderImageFlag() &&\n GeneralSetting.getPlaceholderImage() != ''\n ) {\n return GeneralSetting.getPlaceholderImage();\n }\n return '';\n }\n\n postHealthLog(kioskHealthCheck: HealthLogRequest) {\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({\n key: 'CompanyID',\n value: GeneralSetting.getCompanyId(),\n } as IHttpHeaders);\n headers.push({\n key: 'BranchID',\n value: GeneralSetting.getBranchId(),\n } as IHttpHeaders);\n headers.push({\n key: 'DeviceID',\n value: GeneralSetting.getSerialNo(),\n } as IHttpHeaders);\n\n const body = { data: kioskHealthCheck };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.healthLog)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n postInstallationACK(kioskHealthCheck: any) {\n var headers = [] as IHttpHeaders[];\n headers.push({ key: 'Version', value: '1.0' } as IHttpHeaders);\n headers.push({\n key: 'Content-Type',\n value: 'application/Json',\n } as IHttpHeaders);\n headers.push({\n key: 'CompanyID',\n value: GeneralSetting.getCompanyId(),\n } as IHttpHeaders);\n headers.push({\n key: 'BranchID',\n value: GeneralSetting.getBranchId(),\n } as IHttpHeaders);\n headers.push({\n key: 'DeviceID',\n value: GeneralSetting.getSerialNo(),\n } as IHttpHeaders);\n\n const body = kioskHealthCheck;\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(this.baseUrl + this.installationACK)\n .addMethod('POST')\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n}\n","import {\n Component,\n OnInit,\n Output,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { cartSlideIn } from 'src/app/animations';\nimport { CartService } from 'src/app/services/cart.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from 'src/environments/environment';\nimport { CartComponent } from 'src/app/components/cart/cart.component';\nimport { AlcoholicItemsExceedMaxComponent } from 'src/app/components/dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { ItemV2 } from 'src/app/models/item';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DataService } from 'src/app/services/data.service';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\nimport { DiscountService } from 'src/app/services/discount.service';\nimport { ItemV2 as Item } from 'src/app/models/item';\nimport { ParBrinkService } from 'src/app/services/par-brink.service';\n\n@Component({\n selector: 'app-cart-items',\n templateUrl: './cart-items.component.html',\n styleUrls: ['./cart-items.component.css'],\n animations: [cartSlideIn],\n})\nexport class CartItemsComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n private allSubsCription: Subscription[] = [];\n\n @Input() isCartOpen: boolean = true;\n\n @Input() cart!: CartComponent;\n\n @Input() removeAlk!: boolean;\n\n @Input() isHybrid: boolean = false;\n\n @Output() changePrice = new EventEmitter();\n\n @Output() isCartOpenChange = new EventEmitter();\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n cartItems: ItemV2[] = [];\n\n branchLogo: string = '';\n\n loyaltyType: number = 0;\n\n textColor: string = '';\n\n priceColor: string = '';\n\n bordersTypeItem: boolean = false;\n\n imageRadius: string = '';\n\n primaryColor: string = '';\n\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n upsellItemText: string = '';\n\n rewardItemText: string = '';\n\n yourItemsText: string = '';\n\n placeholderImage: string = '';\n\n fixedItemDisc: FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n constructor(\n private readonly cartService: CartService,\n private readonly loyaltyService: LoyaltyService,\n private readonly isKioskService: IsKioskService,\n private readonly router: Router,\n private database: DatabaseService,\n private language: LanguageService,\n private readonly modalService: NgbModal,\n private readonly dataService: DataService,\n private discountService: DiscountService,\n private parbrink: ParBrinkService\n ) {}\n\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n\n this.branchLogo = GeneralSetting.getBranchLogo();\n this.textColor = GeneralSetting.getTextColor();\n this.priceColor = GeneralSetting.getPriceColor();\n this.primaryColor = GeneralSetting.getPrimaryColor();\n\n this.getItems(true);\n this.loyaltyType = this.loyaltyService.loyaltyType;\n this.imageRadius = GeneralSetting.getBorderPercentage();\n this.bordersTypeItem =\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n this.cartService.cartItemsComponent = this;\n\n this.setSubscription();\n this.setFixedItemDisc();\n }\n\n ngAfterViewInit() {\n this.getItems(true);\n }\n\n async setFixedItemDisc() {\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n }\n\n loadText() {\n this.rewardItemText = this.language.getTextElement('lbl_loyalty_item');\n this.upsellItemText = this.language.getTextElement('lbl_upsell_item');\n this.yourItemsText = this.language.getTextElement('your_items');\n }\n\n private setSubscription() {\n this.allSubsCription.push(\n this.cartService.doScrollCart.subscribe((data) => {\n this.scrollCart();\n })\n );\n this.allSubsCription.push(\n this.cartService.subCartItems.subscribe((data: Item[]) => {\n this.getItems(false);\n //this.changePrice.emit(true);\n })\n );\n this.allSubsCription.push(\n this.cartService.sub_subtotal.subscribe((data) => {\n this.updateFixedItemOnSubtotal(data);\n })\n );\n }\n\n getDiscountedPrice(item: any): number {\n return item.Price - item.DiscountAmountForCalulation;\n }\n\n getItems(shouldScroll: boolean) {\n const cartItems = this.cartService.getCartItems();\n\n if (!GeneralSetting.getIsRemovePricingAndPayments()) {\n for (let ciI = 0; ciI < cartItems.length; ciI++) {\n const item = cartItems[ciI];\n item.totalPrice =\n CommonFunctions.getItemPrice(item) * Number(item.Quantity);\n }\n }\n\n if (shouldScroll) {\n this.cartService.doScrollCart.next(true);\n //this.cartService.scrollCart();\n }\n\n this.cartItems = cartItems;\n }\n\n getCurrentQuantity(item: any) {\n const cartItems = this.cartService.getCartItems();\n this.cartItems = cartItems;\n\n let qty = 0;\n for (let cartItem of this.cartItems) {\n if (cartItem.ItemID === item.ItemID) {\n qty += Number(cartItem.Quantity);\n }\n }\n return qty;\n }\n\n async removeFromCart(cartItem: ItemV2) {\n const quantityInCart = cartItem.Quantity;\n if (quantityInCart === undefined) return;\n this.cartService.removeFromCart(cartItem);\n if (cartItem.IsLoyaltyDiscountItem) {\n this.loyaltyService.punchhAppliedRewardID = '';\n this.loyaltyService.oloPaytronixAppliedRewardID = '';\n this.loyaltyService.selectedLoyaltyReward = '';\n this.loyaltyService.subSelectedLoyaltyReward.next('');\n }\n\n this.getItems(true);\n this.changePrice.emit(true);\n if (this.cartItems.length == 1) {\n if (this.cartItems[0].IsLoyaltyDiscountItem) {\n this.removeFromCart(this.cartItems[0]);\n }\n }\n }\n\n getFormattedURL(item: any): string {\n return (\n (item.ImageUrl &&\n (item.ImageUrl.startsWith(this.baseImageUrl)\n ? item.ImageUrl\n : this.baseImageUrl + item.ImageUrl)) ||\n (this.placeholderImage != ''\n ? this.baseImageUrl + this.placeholderImage\n : '')\n );\n }\n\n checkAlkolLimit(\n element: ItemV2,\n currValue: any,\n totalComboAlcoholCount: any = 0\n ) {\n const alkolMax = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n if (alkolMax !== null && Number(alkolMax) > 0) {\n if (Number(element.OrderMaximumQuantity.toString()) > 0) {\n element.OrderMaximumQuantity = Math.min(\n Number(element.OrderMaximumQuantity.toString()),\n Number(alkolMax)\n );\n } else {\n element.OrderMaximumQuantity = Number(alkolMax);\n }\n\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n currValue,\n true\n );\n if (newAlcoholCount <= Number(alkolMax)) {\n if (currValue < element.OrderMaximumQuantity) {\n element.Quantity = (currValue + 1).toString();\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n }\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n }\n }\n }\n\n increaseAmount(item: ItemV2) {\n // Checks fixed item quantity limit\n if (this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0) {\n var isFixedItemAvail = this.discountService.isFixedItemAvail(\n this.fixedItemDisc[0],\n item\n );\n if (isFixedItemAvail) {\n return;\n }\n }\n\n let currentQty = this.getCurrentQuantity(item);\n const value = Number(item.Quantity);\n const quantity = Number(item.Quantity);\n const maxNo = Number(item.OrderMaximumQuantity);\n const alkolMax = Number(GeneralSetting.getMaxAlcoholicItemsPerOrder());\n var isCombo = item.IsCombo.toString();\n\n if (item.IsUpSellItem) {\n item.DiscountAmount = (item.DiscountAmountForCalulation * Number(currentQty +1 ));\n }\n\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'false') {\n if (!maxNo) {\n if (\n item.ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n const currentAlcohol = Number(\n GeneralSetting.getCurrentCountofAlkol()\n );\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = String(quantity + 1);\n GeneralSetting.increaseAlcohol(1);\n this.changePrice.emit(true);\n }\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = String(quantity + 1);\n this.changePrice.emit(true);\n }\n } else if (value == maxNo) {\n if (item.IsUpSellItem) {\n item.DiscountAmount = (item.DiscountAmountForCalulation * Number(currentQty));\n }\n let error = this.language.getTextElement('item_has_max_quantity');\n error = error.replace('%d', String(maxNo));\n Snackbar.show(error, 2500);\n this.changePrice.emit(true);\n } else {\n if (\n item.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n alkolMax > 0\n ) {\n const currentAlcohol = Number(\n GeneralSetting.getCurrentCountofAlkol()\n );\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = String(quantity + 1);\n GeneralSetting.increaseAlcohol(1);\n this.changePrice.emit(true);\n }\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = String(quantity + 1);\n currentQty++;\n this.changePrice.emit(true);\n }\n }\n } else {\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item);\n if (totalComboAlcoholCount > 0) {\n this.checkAlkolLimit(item, value, totalComboAlcoholCount);\n } else {\n const maxQuantity = Number(item.OrderMaximumQuantity.toString());\n if (maxQuantity > 0) {\n if (value < Number(maxQuantity)) {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = (value + 1).toString();\n } else {\n let error = this.language.getTextElement('item_has_max_quantity');\n Snackbar.show(`${error} ${maxQuantity}`, 2500);\n }\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = (value + 1).toString();\n }\n }\n }\n this.getItems(false);\n }\n\n decreaseAmount(item: ItemV2, index: number) {\n let currentQty = this.getCurrentQuantity(item);\n const value = Number(item.Quantity);\n var isCombo = item.IsCombo.toString();\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'false') {\n const quantity = Number(item.Quantity);\n let minNo = item.OrderMinimumQuantity;\n if (!minNo) {\n minNo = 1;\n }\n if (quantity > minNo) {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n if (item.IsUpSellItem) {\n item.DiscountAmount = (item.DiscountAmountForCalulation * Number(currentQty - 1 ));\n }\n\n item.Quantity = String(quantity - 1);\n this.changePrice.emit(true);\n if (\n item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString()\n ) {\n GeneralSetting.decreaseAlcohol();\n }\n if (item.CurrentStock != null) {\n let newOne = this.database.categorySubject.getValue();\n for (let i = 0; i < newOne.length; i++) {\n if (newOne[i].CategoryID == item.CategoryID) {\n for (let j = 0; j < newOne[i].associatedItems!.length; j++) {\n if (newOne[i].associatedItems![j].ItemID == item.ItemID) {\n newOne[i].associatedItems![j].CurrentStock = (\n Number(newOne[i].associatedItems![j].CurrentStock) + 1\n ).toString();\n if (\n Number(newOne[i].associatedItems![j].CurrentStock) >\n Number(newOne[i].associatedItems![j].LowThreshold)\n ) {\n newOne[i].associatedItems![j].SoldOut = false;\n }\n this.database.categorySubject.next(newOne);\n break;\n }\n }\n break;\n }\n }\n }\n } else {\n if (currentQty == 1) {\n this.removeFromCart(item);\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = (value - 1).toString();\n }\n }\n } else {\n let totalComboAlcoholCount = CommonFunctions.isComboAlcoholic(item);\n if (totalComboAlcoholCount > 0) {\n if (currentQty == 1) {\n this.removeFromCart(item);\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = (currentQty - 1).toString();\n let newAlcoholCount = CommonFunctions.getLatestAlcoholicCount(\n totalComboAlcoholCount,\n currentQty,\n false\n );\n GeneralSetting.setCurrentCountofAlkol(newAlcoholCount.toString());\n }\n } else {\n if (currentQty == 1) {\n this.removeFromCart(item);\n } else {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n item.Quantity = (value - 1).toString();\n }\n }\n }\n this.getItems(false);\n }\n\n editItem(item: ItemV2) {\n const direction: string = CommonFunctions.getItemType(item, true);\n if (direction == 'menu') {\n return false;\n }\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.parbrink.edited = true;\n }\n this.router.navigate([`/${direction}`], {\n queryParams: {\n id: item.ItemID,\n category: item.CategoryID,\n guid: item.guid,\n concessionaireId: item.ConcessionaireId,\n },\n });\n return false;\n }\n\n scrollID(guid: string) {\n let item = document.getElementById(guid);\n console.dir({ ...item, guid });\n if (item) item.scrollIntoView();\n }\n\n private scrollCart() {\n setTimeout(() => {\n var element = document.getElementById('cart-list');\n if (element) {\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollLeft,\n change = to - start,\n startDate = +new Date();\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollLeft = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollLeft = to;\n }\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(element?.scrollWidth - element?.clientWidth, 300);\n }\n }, 100);\n }\n\n /**\n * Check and alert after every subtotal update if fixed item available in the cart\n * @param subtotal\n */\n private async updateFixedItemOnSubtotal(subtotal: number) {\n var fixedItemDiscount =\n await this.discountService.checkFreeItemOnSubtotalUpdate(subtotal);\n this.findFixedItemOperation(fixedItemDiscount);\n }\n\n /**\n * Check fixed item's Quantity need to be updated or removed from the cart\n * @param fixedItemDiscount\n */\n private findFixedItemOperation(fixedItemDiscount: any) {\n if (fixedItemDiscount && fixedItemDiscount != undefined) {\n const cartItems = this.cartService\n .getCartItems()\n .filter((x) => x.ItemID == fixedItemDiscount.ItemID);\n if (cartItems && cartItems != undefined && cartItems.length > 0) {\n if (fixedItemDiscount.Check == 1) {\n var decQty =\n Number(cartItems[0].Quantity) - fixedItemDiscount.FixedQty;\n for (var i = 0; i < decQty; i++) {\n this.decreaseAmount(cartItems[0], 0);\n }\n } else if (fixedItemDiscount.Check == 2) {\n this.removeFromCart(cartItems[0]);\n }\n }\n }\n }\n}\n","\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{ cartItem.CategoryName | slice: 0:16 }} \n {{ cartItem.Name }} \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n {{ cartItem.Weight }}\n
\n oz. \n lb. \n g. \n kg. \n \n
\n
\n \n\n
\n {{rewardItemText}}\n
\n
\n {{upsellItemText}}\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
0 ? 'line-through' : ''\"\n [style.color]=\"textColor\" class=\"price-text\">\n ({{ (cartItem.Price ? cartItem.Price : 0) | number: \"1.2-2\" | currency }})\n
\n
0\">\n {{ getDiscountedPrice(cartItem) | numberConvert\n | number: \"1.2-2\"\n | CurrencyPipe\n }}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n 0\">\n \n
{{yourItemsText}}
\n
\n
\n
\n
\n {{cartItem.Name}} \n
\n
\n {{cartItem.totalPrice | number: \"1.2-2\" |\n CurrencyPipe}} \n\n
\n
\n
\n
\n \n remove_circle_outline \n \n
\n {{ cartItem.Quantity }}\n
\n
\n \n add_circle_outline\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n OnChanges,\n} from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { Subscription } from 'rxjs';\nimport { environment } from '../../../../../environments/environment';\nimport { ModifierIngredientV2, ModifierV2 } from '../../../../models/item';\nimport { GeneralSetting } from '../../../../services/generalSetting.service';\nimport { NestedModifierComponent } from '../../../nested-modifier/nested-modifier.component';\n\nimport { CommonFunctions, Snackbar } from '../../../../services/common';\n\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { PusherService } from 'src/app/services/pusher.service';\nimport { CartService } from 'src/app/services/cart.service';\nimport { LogService } from 'src/app/services/log.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { OLOService } from 'src/app/services/olo.service';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-ingredient',\n templateUrl: './ingredient.component.html',\n styleUrls: ['./ingredient.component.css'],\n})\nexport class IngredientComponent implements OnInit, OnChanges {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n priceColor: string | null = '';\n\n @Input() ingredient: any = {} as any;\n\n @Input() ingredientIndex: number = 0;\n\n @Input() parent: ModifierV2 = {} as ModifierV2;\n\n @Input() ItemType: number = 1;\n\n @Input() ItemName: string = '';\n\n @Input() ItemDescription: string = \"\";\n\n @Input() IsDisableSubgroup: boolean = false;\n\n @Output() parentChange = new EventEmitter();\n\n @Output() checkValidEmit = new EventEmitter();\n\n @Output() SelectedItem: EventEmitter = new EventEmitter();\n\n isParbrink: boolean = GeneralSetting.getParBrinkIntegrationID() != '';\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n primaryColor: string = '';\n\n image: string = '';\n\n deselectedImage: string = '';\n\n isSoldOut: boolean = false;\n\n quantity: number = 1;\n\n Price: string = '';\n\n isShowNoCharge = true;\n\n maxQty = 0;\n\n itemId: string = \"\";\n showCalories: boolean = GeneralSetting.getShowCalorieCounts() == \"True\"\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n bordersTypeModifire: boolean = false;\n imageRadius: string = '';\n soldOutText: string = '';\n calorieText: string = '';\n customizeText: string = ''\n noChargeText: string = ''\n isOlo: boolean = false;\n placeholderImage: string = '';\n\n constructor(\n private readonly isKioskService: IsKioskService,\n private readonly modalService: NgbModal,\n private readonly pusherService: PusherService,\n private readonly db: DatabaseService,\n private cartservice: CartService,\n private logger: LogService,\n private readonly route: ActivatedRoute,\n private language: LanguageService,\n private readonly olo: OLOService,\n private readonly dataService: DataService\n ) {\n this.itemId = this.route.snapshot.queryParams['id'];\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n loadText() {\n this.soldOutText = this.language.getTextElement('sold_out')\n this.calorieText = this.language.getTextElement('calorie_format_text')\n this.customizeText = this.language.getTextElement('txt_customize')\n this.noChargeText = this.language.getTextElement('no_charge')\n }\n\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.isOlo = this.olo.isOLO;\n\n this.image = this.getFormattedURL(this.ingredient);\n if (this.ingredient.IsModifier) {\n this.deselectedImage = this.getDeselectedFormattedURL(\n this.ingredient as ModifierV2\n );\n }\n\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.priceColor = GeneralSetting.getPriceColor();\n // this.object.parentObject = this.parent;\n\n if(this.ingredient.IsSelected && this.ingredient.IsDefault == 'True' && this.ingredient.IsDefault != undefined && this.parent.UseAdvancedModifierQuantitySettings == 'True'){\n this.parent.Ingredients[this.ingredientIndex].IsSelected = false;\n this.itemClicked();\n }else{\n this.quantity = Number(this.ingredient.Quantity);\n }\n \n this.imageRadius = GeneralSetting.getBorderPercentage();\n\n this.bordersTypeModifire =\n GeneralSetting.getBorderTypeModifiers().toLowerCase() == 'true';\n\n if (this.ingredient.IsIngredient) {\n this.ingredient = this.ingredient;\n\n if (this.ingredient.IsIngredient86 == 'False') {\n this.parent.isValid = true;\n }\n\n this.maxQty = Number(this.ingredient.MaxQty);\n\n if (this.ingredient.CurrentStock && this.ingredient.LowThreshold) {\n this.isSoldOut =\n this.ingredient.CurrentStock !== ''\n ? this.ingredient.CurrentStock <= this.ingredient.LowThreshold\n : false;\n }\n }\n\n this.setIngredientPrice();\n\n this.checkIsShowNoCharge();\n\n this.checkValidEmit.emit(this.parent);\n }\n\n ngOnChanges(): void {\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n } else {\n this.parent.count = CommonFunctions.getOnlySelectedIngredientCount(this.parent);\n }\n\n }\n\n private getFormattedURL(ingredient: any): string {\n if (ingredient.IsSelected) {\n if (ingredient.ImageUrl && ingredient.ImageUrl.startsWith(this.baseImageUrl)) {\n return ingredient.ImageUrl;\n } else {\n if (ingredient.ImageUrl == '') {\n return this.getDeselectedFormattedURL(ingredient, true);\n } else {\n return this.baseImageUrl + ingredient.ImageUrl;\n }\n }\n } else {\n return this.getDeselectedFormattedURL(ingredient, true);\n }\n }\n\n private getDeselectedFormattedURL(\n modifier: ModifierV2 | ModifierIngredientV2,\n fromGetFormattedURL: boolean = false\n ): string {\n if (modifier.IsModifier) {\n const mod = modifier as ModifierV2;\n if (mod.DeselectedImage) {\n if (mod.DeselectedImage.startsWith(this.baseImageUrl)) {\n return mod.DeselectedImage;\n } else {\n return this.baseImageUrl + mod.DeselectedImage;\n }\n } else {\n return this.setSelectedImage(modifier);\n }\n } else if (modifier.IsIngredient) {\n let ing = modifier as ModifierIngredientV2;\n if (ing.DeselectImageUrl) {\n if (ing.DeselectImageUrl.startsWith(this.baseImageUrl)) {\n return ing.DeselectImageUrl;\n } else {\n return this.baseImageUrl + ing.DeselectImageUrl;\n }\n } else {\n return this.setSelectedImage(modifier);\n }\n } else {\n if (fromGetFormattedURL) {\n return this.setSelectedImage(modifier);\n } else {\n return this.getFormattedURL(modifier);\n }\n }\n }\n\n itemClicked() {\n if (this.IsDisableSubgroup) return;\n\n if (this.parent.IsModifier86 == 'False') return;\n\n if (this.isSoldOut) return;\n\n if (this.ingredient.IsIngredient) this.selectIngredient();\n else {\n if (this.isStopModiferOpening) return;\n this.stopModifierOpening();\n\n this.selectModifier();\n }\n return;\n }\n\n private setSelectedImage(modifier: ModifierV2 | ModifierIngredientV2) {\n if (modifier.ImageUrl && modifier.ImageUrl.startsWith(this.baseImageUrl)) {\n return modifier.ImageUrl;\n } else {\n if (modifier.ImageUrl == '') {\n if (this.placeholderImage != '') {\n return this.baseImageUrl + this.placeholderImage;\n } else {\n return 'assets/images/Image_21.png';\n }\n } else {\n return this.baseImageUrl + modifier.ImageUrl;\n }\n }\n }\n\n private selectIngredientLogic(\n parent: ModifierV2,\n IngredientIndex: number\n ): any {\n let ingredient = parent.Ingredients[IngredientIndex];\n\n if (!ingredient) {\n return undefined;\n }\n\n ingredient = ingredient;\n\n if (\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False'\n ) {\n ingredient.IsSelected = false;\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n return false;\n } else {\n if (ingredient.IsSelected) {\n parent.count--;\n if (parent.count < 0) parent.count = 0;\n\n ingredient.IsSelected = false;\n\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n ingredient.Quantity = '1'; // To reset the quantity on deselection\n\n this.quantity = 1; // To reset the quantity on deselection\n\n return false;\n }\n\n parent.count = CommonFunctions.getSelectedIngredientCount(parent);\n\n if (parent.count < parent.max) {\n parent.count++;\n\n ingredient.IsSelected = true;\n\n ingredient.Quantity = '1';\n\n parent.IsSelected = true;\n } else if (parent.max === 1) {\n // if only 1 selectable switch selection to newly selected object\n parent.count = 1;\n //parent.SelectedIngredients = [];\n for (const item of parent.Ingredients) {\n item.IsSelected = false;\n if (item.IsIngredient) {\n const objIng = item as ModifierIngredientV2;\n objIng.isNegativeModifier = this.getNegativeModifier(objIng);\n }\n }\n\n ingredient.IsSelected = true;\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n ingredient.Quantity = '1';\n parent.IsSelected = true;\n }\n\n if (parent.count <= parent.max && parent.count >= parent.min) {\n parent.isValid = true;\n }\n\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n parent.SelectedIngredients =\n CommonFunctions.getSelectedModifierIngredientList(parent.Ingredients);\n return true;\n }\n }\n\n /**\n * Logic based on min max Aggregate and min max choice qty @nilesh \n * @param parent \n * @param IngredientIndex \n * @returns \n */\n private selectIngredientLogicAggregate(\n parent: ModifierV2,\n IngredientIndex: number\n ): any {\n let ingredient = parent.Ingredients[IngredientIndex];\n\n if (!ingredient) {\n return undefined;\n }\n\n ingredient = ingredient;\n\n if (\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False'\n ) {\n //if out of stock, return and set isSelected to false\n ingredient.IsSelected = false;\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n return false;\n } else {\n if (ingredient.IsSelected) {\n parent.count--;\n if (parent.count < 0) parent.count = 0;\n\n parent.countAggregate = parent.countAggregate - Number(ingredient.Quantity);\n if (parent.countAggregate < 0) parent.countAggregate = 0;\n\n ingredient.IsSelected = false;\n\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n\n ingredient.Quantity = '1'; // To reset the quantity on deselection\n\n this.quantity = 1; // To reset the quantity on deselection\n\n return false;\n }\n\n parent.countAggregate = CommonFunctions.getSelectedIngredientCount(parent);\n let selectedIngredient = CommonFunctions.getOnlySelectedIngredientCount(parent);\n if ((selectedIngredient < parent.max) && ((Number(parent.countAggregate) + Number(parent.ChoiceQtyIncrement)) <= parent.MaxAggregateQty)) {\n\n parent.countAggregate = Number(parent.countAggregate) + Number(parent.ChoiceQtyIncrement);\n parent.count++;\n ingredient.IsSelected = true;\n\n ingredient.Quantity = parent.ChoiceQtyIncrement?.toString()??'1';\n\n parent.IsSelected = true;\n } else if (parent.max === 1) {\n // if only 1 selectable switch selection to newly selected object\n parent.countAggregate = parent.ChoiceQtyIncrement;\n parent.count = 1;\n //parent.SelectedIngredients = [];\n for (const item of parent.Ingredients) {\n item.IsSelected = false;\n if (item.IsIngredient) {\n const objIng = item as ModifierIngredientV2;\n objIng.isNegativeModifier = this.getNegativeModifier(objIng);\n }\n }\n\n ingredient.IsSelected = true;\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n ingredient.Quantity = parent.ChoiceQtyIncrement.toString();\n parent.IsSelected = true;\n }\n\n if (parent.countAggregate <= parent.MaxAggregateQty && parent.countAggregate >= parent.MinAggregateQty) {\n parent.isValid = true;\n }\n\n ingredient.isNegativeModifier = this.getNegativeModifier(ingredient);\n this.quantity = Number(ingredient.Quantity);\n parent.SelectedIngredients =\n CommonFunctions.getSelectedModifierIngredientList(parent.Ingredients);\n return true;\n }\n }\n\n private getNegativeModifier(ingredient: ModifierIngredientV2) {\n if (!ingredient.IsSelected && ingredient.IsDefault == 'True') {\n return true;\n }\n\n return false;\n }\n\n private selectIngredient() {\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n if (this.ingredient.RefIngredientId == '') {\n let error = this.language.getTextElement('missing_ref_ingredient_id').replace('%d', this.ingredient.Name)\n Snackbar.show(error, 5000);\n return;\n }\n }\n //ADMIN2-FIX\n if ((!this.parent.UseAdvancedModifierQuantitySettings)||this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n this.selectIngredientLogic(this.parent, this.ingredientIndex);\n } else {\n this.selectIngredientLogicAggregate(this.parent, this.ingredientIndex);\n }\n\n\n let ingredient = this.parent.Ingredients[this.ingredientIndex];\n\n this.image = this.getFormattedURL(ingredient);\n\n this.parentChange.emit(this.parent);\n }\n\n private isStopModiferOpening: boolean = false;\n private async stopModifierOpening() {\n this.isStopModiferOpening = true;\n await CommonFunctions.delay(500);\n this.isStopModiferOpening = false;\n }\n\n private selectModifier() {\n\n let modifier = this.parent.Ingredients[this.ingredientIndex];\n\n if (!modifier) return;\n\n modifier = modifier;\n\n if (!modifier.IsSelected) {\n modifier.Quantity = '1';\n }\n\n if (this.parent.IsModifier86 == 'False' || modifier.IsModifier86 == 'False')\n return;\n\n if (this.parent.max > 1 && !modifier.IsSelected) {\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n } else {\n this.parent.count = CommonFunctions.getOnlySelectedIngredientCount(this.parent);\n }\n\n\n if (!(this.parent.count < this.parent.max || this.parent.max == 1))\n return;\n }\n\n this.openNestedModifier(modifier);\n }\n\n private async openNestedModifier(modifier: ModifierV2) {\n\n let parentModifierIngredient = [] as (ModifierIngredientV2 | ModifierV2)[];\n\n if (!modifier.Ingredients || modifier.Ingredients.length <= 0) {\n let nestedModifiers = await this.db.getChildModifierByItemAndModifierID(\n modifier.ItemID,\n modifier.ModifierID\n );\n\n let Ingredient = await this.db.getIngredientsByModIDFromSql(\n modifier.ModifierID\n );\n\n parentModifierIngredient.push(...nestedModifiers);\n parentModifierIngredient.push(...Ingredient);\n\n parentModifierIngredient = parentModifierIngredient.sort(\n (a: any, b: any) =>\n Number(a.DisplayOrder) > Number(b.DisplayOrder) ? 1 : -1\n );\n\n modifier.Ingredients = parentModifierIngredient;\n } else {\n parentModifierIngredient = modifier.Ingredients;\n }\n\n\n let skipNestedStep = true;\n\n if (GeneralSetting.getShowNestedModifierInSingleView()) {\n this.ItemType = 1;\n }\n\n if (parentModifierIngredient && parentModifierIngredient.length > 0) {\n for (let i = 0; i < parentModifierIngredient.length; i++) {\n if (parentModifierIngredient[i].IsIngredient) {\n skipNestedStep = false;\n break;\n }\n }\n\n if (this.ItemType == 2) {\n if (skipNestedStep && (parentModifierIngredient.length != 1)) {\n skipNestedStep = false;\n }\n }\n else if (this.ItemType == 1) {\n if (GeneralSetting.getShowNestedModifierInSingleView()) {\n if (!(skipNestedStep && modifier.max >= parentModifierIngredient.length && modifier.min == 0)) {\n skipNestedStep = false;\n }\n }\n else {\n skipNestedStep = false;\n }\n }\n }\n\n\n var parentModifier = modifier;\n let tempParentModifier = JSON.parse(JSON.stringify(parentModifier));\n\n const modalReference = NestedModifierComponent.open(this.modalService,\n skipNestedStep\n ? (modifier.Ingredients as ModifierV2[])\n : [modifier],\n this.ingredientIndex,\n parentModifier,\n this.ItemType,\n this.ItemName,\n this.ItemDescription\n );\n\n modalReference.result.then((result: any) => {\n if (result == 'cancel') {\n // const modifier = this.parent.Ingredients[this.ingredientIndex];\n\n // if (!modifier.IsSelected) {\n // modifier.IsSelected = false;\n // }\n\n // this.quantity = Number(modifier.Quantity);\n // this.parentChange.emit(this.parent);\n\n this.parent.Ingredients[this.ingredientIndex] = tempParentModifier;\n } else {\n result = result;\n\n if (skipNestedStep) {\n //parentModifier.IsSelected = true;\n\n //parentModifier.Quantity = \"1\";\n\n parentModifier.Ingredients = result;\n\n // for (let i = 0; i < parentModifier.Ingredients.length; i++) {\n\n // parentModifier = this.selectModifierLogic(parentModifier, i);\n\n // }\n } else {\n if (result.length > 0) {\n const modifier = result[0];\n\n this.quantity = Number(modifier.Quantity);\n\n this.parent.Ingredients[this.ingredientIndex] = modifier;\n }\n }\n\n this.parent = CommonFunctions.selectModifierLogic(\n this.parent,\n this.ingredientIndex\n );\n\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n } else {\n this.parent.count = CommonFunctions.getOnlySelectedIngredientCount(this.parent);\n this.parent.countAggregate = CommonFunctions.getSelectedIngredientCount(this.parent);\n }\n\n\n this.image = this.getFormattedURL(this.parent.Ingredients[this.ingredientIndex]);\n\n this.parentChange.emit(this.parent);\n }\n });\n }\n\n onCloseClick(e: any) {\n let modifier = this.parent.Ingredients[this.ingredientIndex];\n\n if (!modifier) return false;\n\n if (modifier.IsIngredient) {\n return false;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n modifier = modifier;\n\n modifier.IsSelected = false;\n\n modifier.isValid = false;\n\n this.deSelectAllNestedIngredient(modifier);\n\n modifier.count = 0;\n modifier.countAggregate = 0;\n\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n } else {\n this.parent.count = CommonFunctions.getOnlySelectedIngredientCount(this.parent);\n this.parent.countAggregate = CommonFunctions.getSelectedIngredientCount(this.parent);\n }\n\n this.parentChange.emit(this.parent);\n\n return false;\n }\n\n private deSelectAllNestedIngredient(modifier: ModifierV2) {\n for (let i = 0; i < modifier.Ingredients.length; i++) {\n const ingredient: ModifierIngredientV2 | ModifierV2 =\n modifier.Ingredients[i];\n\n if (ingredient.IsModifier) {\n const mod = ingredient as ModifierV2;\n this.deSelectAllNestedIngredient(mod);\n } else if (ingredient.IsIngredient) {\n let ing = ingredient as ModifierIngredientV2;\n ingredient.IsSelected =\n ing.IsDefault == 'True' && ing.IsDefault != undefined;\n ingredient.Quantity = '1';\n }\n }\n }\n\n private setIngredientPriceHelper() {\n let price = 0;\n if (this.ingredient.ExtraPrice > 0) {\n price = Number(this.ingredient.ExtraPrice) * this.quantity;\n } else if (\n this.ingredient != undefined &&\n this.ingredient.hasOwnProperty('IsModifier86') &&\n this.ingredient.Price > 0\n ) {\n price = Number(this.ingredient.Price) * this.quantity;\n }\n\n let extraPrice: string;\n\n if (price > 0)\n extraPrice =\n GeneralSetting.getCurrencySymbol() +\n ' ' +\n CommonFunctions.roundDigit(price, 2).toFixed(2);\n else extraPrice = this.noChargeText;\n\n this.Price = extraPrice;\n }\n\n private setIngredientPrice() {\n let price = 0;\n if (this.isParbrink) {\n if (this.ingredient.IsDefault == 'True') {\n this.Price = this.noChargeText;\n } else {\n this.setIngredientPriceHelper();\n }\n } else {\n this.setIngredientPriceHelper();\n }\n }\n\n onQuantityIncrease(e: any) {\n e.preventDefault();\n e.stopPropagation();\n\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n const max = this.parent.max;\n const count = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n if (count == max) {\n return;\n }\n\n if (this.parent.Ingredients[this.ingredientIndex].IsIngredient) {\n const maxIngredient = Number(\n (this.parent.Ingredients[this.ingredientIndex] as ModifierIngredientV2)\n .MaxQty\n );\n if (this.quantity >= maxIngredient) return;\n\n this.quantity += 1;\n }\n } else {\n const maxAggregate = this.parent.MaxAggregateQty;\n const count = this.parent.countAggregate;;\n\n if (count == maxAggregate) {\n return;\n }\n\n const maxChoiceQty = Number(this.parent.MaxChoiceQty);\n if (this.quantity >= maxChoiceQty) return;\n\n if (Number(this.parent.ChoiceQtyIncrement) <= (this.parent.MaxAggregateQty - this.parent.countAggregate))\n this.quantity += Number(this.parent.ChoiceQtyIncrement);\n else\n this.quantity += (this.parent.MaxAggregateQty - this.parent.countAggregate);\n }\n\n // this.quantity += 1;\n\n this.parent.Ingredients[this.ingredientIndex].Quantity =\n this.quantity.toString();\n\n this.setIngredientPrice();\n\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent);\n } else {\n this.parent.count = CommonFunctions.getOnlySelectedIngredientCount(this.parent);\n this.parent.countAggregate = CommonFunctions.getSelectedIngredientCount(this.parent);\n }\n\n this.parentChange.emit(this.parent);\n }\n\n onQuantityDecrease(e: any) {\n e.preventDefault();\n e.stopPropagation();\n if (this.parent.UseAdvancedModifierQuantitySettings == 'False') {\n if (this.quantity == 1) {\n this.ingredient.IsSelected = false;\n\n this.ingredient.isNegativeModifier = this.getNegativeModifier(\n this.ingredient\n );\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(\n this.parent\n );\n\n this.parentChange.emit(this.parent);\n\n return;\n }\n\n this.quantity -= 1;\n } else {\n if (this.quantity <= Number(this.parent.ChoiceQtyIncrement)) {\n this.ingredient.IsSelected = false;\n\n this.ingredient.isNegativeModifier = this.getNegativeModifier(\n this.ingredient\n );\n\n this.parent.count = CommonFunctions.getSelectedIngredientCount(\n this.parent\n );\n this.parent.countAggregate = CommonFunctions.getSelectedIngredientCount(\n this.parent\n );\n this.parentChange.emit(this.parent);\n return;\n }\n\n if (Number(this.parent.ChoiceQtyIncrement) <= this.parent.countAggregate)\n this.quantity -= Number(this.parent.ChoiceQtyIncrement);\n else\n this.quantity -= this.parent.countAggregate;\n }\n\n\n // this.quantity -= 1;\n\n this.parent.Ingredients[this.ingredientIndex].Quantity =\n this.quantity.toString();\n\n this.setIngredientPrice();\n this.parent.UseAdvancedModifierQuantitySettings == 'False'\n ? this.parent.count = CommonFunctions.getSelectedIngredientCount(this.parent)\n : this.parent.countAggregate = CommonFunctions.getSelectedIngredientCount(this.parent);\n\n this.parentChange.emit(this.parent);\n }\n\n checkIsShowNoCharge() {\n const priceIngredient = (this.parent as any).Ingredients.find(\n (x: any) => Number(x.ExtraPrice) > 0 || Number(x.Price)\n );\n\n if (priceIngredient) {\n this.isShowNoCharge = true;\n } else {\n this.isShowNoCharge = false;\n }\n }\n}\n"," 1) || IsDisableSubgroup\n }\" (click)=\"itemClicked()\" *ngIf=\"!ingredient.IsSubGroup\">\n
1 || ingredient.IsModifier)) && !(isSoldOut ||\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False' ||\n ingredient.IsModifier86 == 'False')\" (click)=\"onCloseClick($event)\">\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
{{ ingredient.Name || ingredient.Category }}
\n
\n
\n {{soldOutText}} \n
\n
\n 0 && ingredient.IsSelected ? '0rem' : ''\" \n *ngIf=\" ((ingredient.IsModifier && Price != 'No Charge') ||\n ingredient.IsIngredient) && !isRemovePricingAndPayments \">\n {{ Price == noChargeText ? (isShowNoCharge ? '+' + Price : \"\") : '+' + Price }} \n \n 0) )\">\n {{ Price == noChargeText ? (isShowNoCharge ? '|' : \"\") : '|' }}\n \n 0\" class=\"calorie-div price\"\n [ngClass]=\"{ soldOut: isSoldOut }\">\n {{ ingredient.Calorie ? ingredient.Calorie + calorieText : \"\" }}\n \n
\n\n
\n
\n
1 &&\n ingredient.IsSelected &&\n ((ingredient.IsModifier && !isOlo) || ingredient.IsIngredient)) && !(isSoldOut ||\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False' ||\n ingredient.IsModifier86 == 'False') && (parent.UseAdvancedModifierQuantitySettings === 'True' || maxQty>1) \n \" (click)=\"onQuantityDecrease($event)\">\n \n \n
\n 1 &&\n ingredient.IsSelected &&\n ((ingredient.IsModifier && !isOlo) || ingredient.IsIngredient )) && !(isSoldOut ||\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False' ||\n ingredient.IsModifier86 == 'False') && (parent.UseAdvancedModifierQuantitySettings === 'True' || maxQty>1) \n \" />\n \n
1 &&\n ingredient.IsSelected &&\n ((ingredient.IsModifier && !isOlo) || ingredient.IsIngredient )) && !(isSoldOut ||\n parent.IsModifier86 == 'False' ||\n ingredient.IsIngredient86 == 'False' ||\n ingredient.IsModifier86 == 'False') && (parent.UseAdvancedModifierQuantitySettings === 'True' || maxQty>1) \n \" (click)=\"onQuantityIncrease($event)\">\n \n \n
\n
\n\n
0 || ingredient.IsModifier\" class=\"custom-footer\"\n [ngClass]=\"{ soldOut: isSoldOut }\">\n
\n {{customizeText|uppercase}}\n
\n
\n
","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { from, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport {parse, stringify} from 'flatted';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { usConnectCreds } from '../models/usconnectCreds';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsconnectService {\n\n constructor(private http: HttpClient) { }\n\n getUSConnectCredentials(): Observable {\n return from(this.getUSConnectCredentialsFromSql());\n }\n\n getUSConnectCredentialsFromSql(): Promise {\n return new Promise((resolve, reject) => {\n let query = `SELECT * FROM USConnectMasters`;\n\n function callback(tx: string, data: any) {\n if(data.rows.length > 0) {\n // var results: usConnectCreds = ;\n resolve(Array.from(data.rows));\n } else {\n resolve(\"\");\n }\n\n }\n\n function errorCallback(tx: string, data: any) {\n reject(data);\n }\n DatabaseHandler.executeSqlStatement(query, [], callback, errorCallback);\n });\n }\n\n getUSConnectSerial(deviceId: string): Observable {\n return from(this.getUSConnectSerialFromSql(deviceId));\n }\n\n getUSConnectSerialFromSql(deviceId: string): Promise {\n return new Promise((resolve, reject) => {\n let query = `SELECT USConnectDeviceSerialSuffix FROM StaffModuleMasters WHERE DeviceID = '${deviceId}'`;\n\n function callback(tx: string, data: any) {\n if(data.rows.length > 0) {\n resolve(data.rows[0]);\n } else {\n resolve(\"\");\n }\n\n }\n\n function errorCallback(tx: string, data: any) {\n reject(data);\n }\n DatabaseHandler.executeSqlStatement(query, [], callback, errorCallback);\n });\n }\n\n\n getAccountBalance(creds: any, obj: any) {\n let body = {\n creds: creds,\n cardNo: obj\n };\n\n //console.log(body)\n\n var headers = new HttpHeaders().set('Content-Type', 'application/json');\n\n return this.http\n .post('http://localhost:4200/proxy-usconnect', JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n errorHandler(error: HttpErrorResponse) {\n return throwError(error.message);\n }\n\n\n\n doTransaction(creds: any, serial: string, cardNo: string, items: any, tip: number) {\n\n const replacerFunc = () => {\n const visited = new WeakSet();\n return (key: any, value: any) => {\n if (typeof value === \"object\" && value !== null) {\n if (visited.has(value)) {\n return;\n }\n visited.add(value);\n }\n return value;\n };\n };\n // let itemsArray = [];\n\n // for(var i = 0; i < items.length; i++) {\n // itemsArray.push({\n // \"barcode\": items[i].ItemID,\n // \"coil_name\": null,\n // \"deposit\": 0.00,\n // \"description\": items[i].ItemName,\n // \"price\": items[i].Price,\n // \"tax\": items[i].TotalTax,\n // \"quantity\": items[i].Quantity\n // })\n // }\n\n const body = {\n cardNo: cardNo,\n items: items,\n creds: creds,\n serial: serial,\n branchName: GeneralSetting.getBranchName(),\n tip: tip\n // itemsArray: itemsArray\n };\n\n // var newBody = stringify(body);\n\n var newBody = JSON.stringify(body, replacerFunc());\n\n //console.log(newBody)\n\n var headers = new HttpHeaders()\n .set('Content-Type', 'application/json')\n .set('Accept', 'application/json');\n\n return this.http\n .post('http://localhost:4200/payment-usconnect', newBody, {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Variation, VariationOption } from '../../models/Variations';\nimport { Subscription } from 'rxjs';\nimport {ItemTransferService} from '../../services/item-transfer.service'\n@Component({\n selector: 'app-variation-container',\n templateUrl: './variation-container.component.html',\n styleUrls: ['./variation-container.component.css'],\n})\nexport class VariationContainerComponent implements OnInit, OnDestroy {\n\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n ItemID:string;\n //@Input() ItemID: string = '';\n\n @Output() totalAdditionlPrice: string = '';\n\n @Output() variation: string = '';\n\n @Output() collapsed: boolean = false;\n\n variations: Variation[] = [];\n\n alreadySelected: boolean = false;\n\n @Input() inputVariations: any;\n\n variationOptionsSelected: VariationOption[] = [];\n\n @Output() variationOptionSelectedEmiter: EventEmitter = new EventEmitter();\n\n @Output() isValidEmitter: EventEmitter = new EventEmitter();\n\n constructor(private itemTransferService: ItemTransferService) {\n this.ItemID=this.itemTransferService.itemV2.ItemID;\n }\n\n ngOnInit(): void {\n this.isValidEmitter.emit(true);\n\n if (this.inputVariations && this.inputVariations.length > 0) {\n for (let item of this.inputVariations[0].variationOptions) {\n if (item.isSelected) {\n this.alreadySelected = true;\n this.variationOptionSelectedEmiter.emit([item]);\n break;\n }\n }\n if (!this.alreadySelected) {\n this.inputVariations[0].variationOptions[0].isSelected = true;\n this.variationOptionSelectedEmiter.emit([\n this.inputVariations[0].variationOptions[0]\n ]);\n }\n return;\n }\n }\n\n printThis() {}\n\n setVariationOptionSelected(\n selectedVariation: VariationOption,\n index: number\n ) {\n this.variationOptionsSelected[index] = selectedVariation;\n this.variationOptionSelectedEmiter.emit(\n this.variationOptionsSelected.slice()\n );\n //slice so that it does not lose any data, but ALSO returns a NEW array object that triggers the ngOnChange on the cart compoent\n this.isValidEmitter.emit(true);\n }\n}\n","\n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-item-switch-warning',\n templateUrl: './item-switch-warning.component.html',\n styleUrls: ['./item-switch-warning.component.css'],\n})\nexport class ItemSwitchWarningComponent implements OnInit,OnDestroy {\n modalRef!: NgbModalRef;\nlanguageSub!:Subscription\nattentionText:string=''\nalreadyCustomizedText:string=''\nconfirmationText:string=''\ncancelText:string=''\nstartNewItemText:string=''\n constructor(private language:LanguageService) {}\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.attentionText=this.language.getTextElement('txt_attention')\n this.alreadyCustomizedText=this.language.getTextElement('txt_you_have_already_customised_an_item')\n this.confirmationText=this.language.getTextElement('txt_are_you_sure_you_want_to_clear_it_and_start_a_new_item')\n this.cancelText=this.language.getTextElement('lbl_button_cancel')\n this.startNewItemText=this.language.getTextElement('txt_start_new_item')\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });}\n\n public static open(modalService:NgbModal,){\n const itemSwitchRef = modalService.open(ItemSwitchWarningComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n itemSwitchRef.componentInstance.modalRef = itemSwitchRef;\n return itemSwitchRef;\n }\n\n start() {\n this.modalRef.close('start');\n }\n\n cancel() {\n this.modalRef.close('cancel');\n }\n}\n","\n
{{attentionText}}
\n
{{alreadyCustomizedText}}
\n
{{confirmationText}}
\n
\n {{cancelText}} \n {{startNewItemText}}\n \n
\n
\n","import {\r\n Component, ElementRef, OnDestroy, OnInit, ViewChild\r\n} from '@angular/core'\r\nimport {\r\n FormBuilder, FormControl, FormGroup, Validators\r\n} from '@angular/forms'\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'\r\nimport { Subscription } from 'rxjs'\r\nimport { IsKioskService } from 'src/app/services/is-kiosk.service'\r\nimport { KeyboardService } from 'src/app/services/keyboard.service'\r\nimport { LanguageService } from 'src/app/services/language.service'\r\nimport { loggingData, LogService } from 'src/app/services/log.service'\r\nimport { environment } from 'src/environments/environment'\r\nimport { CommonFunctions } from '../../../services/common'\r\nimport { GeneralSetting } from '../../../services/generalSetting.service'\r\n\r\n@Component({\r\n selector: 'app-custominfo-popup',\r\n templateUrl: './custominfo-popup.component.html',\r\n styleUrls: ['./custominfo-popup.component.css'],\r\n})\r\nexport class CustominfoPopupComponent implements OnInit, OnDestroy {\r\n ngOnDestroy(): void {\r\n if (this.languageSub) {\r\n this.languageSub.unsubscribe();\r\n }\r\n }\r\n\r\n @ViewChild('nameforkeyboard')\r\n nameElement!: ElementRef;\r\n\r\n @ViewChild('mobileNumberforkeyboard')\r\n mobileNumberElement!: ElementRef;\r\n\r\n @ViewChild('emailforkeyboard')\r\n emailElement!: ElementRef;\r\n\r\n form!: FormGroup;\r\n\r\n isUKPhoneFormat: boolean = false;\r\n //flag showing on the screen\r\n customName: string | null = '';\r\n\r\n customPhone: string | null = '';\r\n\r\n customEmail: string | null = '';\r\n\r\n header: string | null = '';\r\n\r\n languageSub!: Subscription;\r\n\r\n mask: string = '000-000-0000';\r\n\r\n mobNumberPattern = '[1-9]d*|0d{11}(?!0+$)'; // '[1-9]\\d*|0\\d+'\r\n\r\n modalReference: any;\r\n\r\n submitText: string = '';\r\n\r\n nameRequiredText: string = '';\r\n\r\n emailRequiredText: string = '';\r\n\r\n invalidNameText: string = '';\r\n\r\n phoneNumberRequiredText: string = '';\r\n\r\n invalidPhoneText: string = '';\r\n\r\n invalidEmailText: string = '';\r\n\r\n isInvalid: boolean = false;\r\n\r\n showSubmit: boolean = false;\r\n\r\n // Custom Fields\r\n orderCustomerNameInfoHeader!: string;\r\n\r\n orderCustomerEmailInfoHint!: string;\r\n\r\n orderCustomerNameInfoHint!: string;\r\n\r\n orderCustomerPhoneInfoHint!: string;\r\n\r\n placeHolderEmailInfoHint!: string;\r\n\r\n placeHolderNameInfoHint!: string;\r\n\r\n placeHolderPhoneInfoHint!: string;\r\n\r\n baseImageUrl = this.isKioskService.isKiosk()\r\n ? environment.imageBaseUrl\r\n : environment.imageBaseUrlRemote;\r\n\r\n isKiosk = this.isKioskService.isKiosk();\r\n\r\n isAllowForMarketingCommunication: boolean = false;\r\n\r\n isOpen: boolean = false;\r\n\r\n constructor(\r\n public modalService: NgbModal,\r\n private formBuilder: FormBuilder,\r\n private logger: LogService,\r\n private isKioskService: IsKioskService,\r\n private KeyboardService: KeyboardService,\r\n private language: LanguageService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.isUKPhoneFormat = GeneralSetting.getCountry() == '230';\r\n\r\n if (this.isUKPhoneFormat) {\r\n this.mobNumberPattern = '[1-9]d*|0d{11}(?!0+$)';\r\n this.mask = '00000-000000';\r\n }\r\n this.setFormDetailes();\r\n this.setAllTexts();\r\n this.setAllDetailes();\r\n //this.showSubmit = false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setEmailValidations();\r\n this.setNameValidations();\r\n this.setPhoneValidations();\r\n this.KeyboardPopup();\r\n }\r\n // add click event on first input field @jay\r\n KeyboardPopup() {\r\n if (this.customName == 'True') {\r\n let nameEle: HTMLElement = this.nameElement.nativeElement as HTMLElement;\r\n nameEle.click();\r\n } else if (this.customPhone == 'True') {\r\n let mobileNumberEle: HTMLElement = this.mobileNumberElement\r\n .nativeElement as HTMLElement;\r\n mobileNumberEle.click();\r\n } else if (this.customEmail == 'True') {\r\n let emailEle: HTMLElement = this.emailElement\r\n .nativeElement as HTMLElement;\r\n emailEle.click();\r\n }\r\n }\r\n\r\n private setAllDetailes() {\r\n //await this.getinfo();\r\n\r\n this.showSubmit = true;\r\n }\r\n\r\n private setAllTexts() {\r\n if (GeneralSetting.getCustomerLoginEmail() != '') {\r\n this.email?.setValue(GeneralSetting.getCustomerLoginEmail());\r\n this.email?.updateValueAndValidity({ onlySelf: true });\r\n }\r\n\r\n this.name?.setValue(\r\n GeneralSetting.getCustomerLoginEmail() === 'Guest'\r\n ? GeneralSetting.getCustomerLoginEmail()\r\n : GeneralSetting.getCustomerName()\r\n );\r\n\r\n this.name?.updateValueAndValidity({ onlySelf: true });\r\n if (GeneralSetting.getCustomerPhone() != '') {\r\n this.mobileNumber?.setValue(GeneralSetting.getCustomerPhone());\r\n this.mobileNumber?.updateValueAndValidity({ onlySelf: true });\r\n }\r\n this.orderCustomerNameInfoHeader =\r\n GeneralSetting.getOrderCustomerNameInfoHeader() != ''\r\n ? GeneralSetting.getOrderCustomerNameInfoHeader()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_name_info_header'\r\n );\r\n this.orderCustomerNameInfoHint =\r\n GeneralSetting.getOrderCustomerNameInfoHint() != ''\r\n ? GeneralSetting.getOrderCustomerNameInfoHint()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_name_info_hint'\r\n );\r\n\r\n this.orderCustomerEmailInfoHint =\r\n GeneralSetting.getOrderCustomerEmailInfoHint() != ''\r\n ? GeneralSetting.getOrderCustomerEmailInfoHint()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_email_info_hint'\r\n );\r\n this.orderCustomerPhoneInfoHint =\r\n GeneralSetting.getOrderCustomerPhoneInfoHint() != ''\r\n ? GeneralSetting.getOrderCustomerPhoneInfoHint()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_phone_info_hint'\r\n );\r\n this.placeHolderEmailInfoHint =\r\n GeneralSetting.getOrderCustomerEmailInfoHint() != ''\r\n ? GeneralSetting.getOrderCustomerEmailInfoHint()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_email_info_hint'\r\n );\r\n this.placeHolderNameInfoHint =\r\n GeneralSetting.getOrderCustomerNameInfoHint() != ''\r\n ? GeneralSetting.getOrderCustomerNameInfoHint()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_name_info_hint'\r\n );\r\n this.placeHolderPhoneInfoHint =\r\n GeneralSetting.getOrderCustomerPhoneInfoHint() != ''\r\n ? GeneralSetting.getOrderCustomerPhoneInfoHint()\r\n : this.language.getCustomMapValues(\r\n 'menu_setting_display__customer_phone_info_hint'\r\n );\r\n\r\n this.submitText = this.language.getTextElement('lbl_submit');\r\n this.nameRequiredText = this.language.getTextElement('name_is_required');\r\n this.invalidNameText = this.language.getTextElement('invalid_name');\r\n this.phoneNumberRequiredText = this.language.getTextElement(\r\n 'phone_number_is_required'\r\n );\r\n this.invalidPhoneText = this.language.getTextElement(\r\n 'invalid_phone_number'\r\n );\r\n this.invalidEmailText = this.language.getTextElement('invalid_email');\r\n this.emailRequiredText = this.language.getTextElement('email_is_required');\r\n // to check whether popup is open or not and check whether user allow to optin for marketing communication or not\r\n if (this.isOpen) {\r\n if (GeneralSetting.getAllowCustomerOptInForMarketing()) {\r\n if (\r\n GeneralSetting.getIsAllowForMarketingCommunication() != '' &&\r\n GeneralSetting.getIsAllowForMarketingCommunication() == 'True'\r\n ) {\r\n this.isAllowForMarketingCommunication = false;\r\n } else {\r\n GeneralSetting.setIsAllowForMarketingCommunication('True');\r\n this.isAllowForMarketingCommunication = true;\r\n }\r\n } else {\r\n this.isAllowForMarketingCommunication = false;\r\n }\r\n }\r\n }\r\n\r\n private setFormDetailes() {\r\n if (!this.form) {\r\n this.form = this.formBuilder.group({\r\n name: new FormControl(''),\r\n mobileNumber: new FormControl(''),\r\n email: new FormControl(''),\r\n });\r\n\r\n if (this.customName == 'True') {\r\n this.form.controls['name'].setValidators([\r\n Validators.pattern('^[a-zA-Z0-9 ]*$'),\r\n Validators.pattern(/^(\\s+\\S+\\s*)*(?!\\s).*$/),\r\n ]);\r\n }\r\n }\r\n }\r\n\r\n getHeader() {\r\n if (\r\n this.customEmail === 'True' &&\r\n this.customName === 'False' &&\r\n !this.customPhone\r\n ) {\r\n this.header = this.language.getTextElement(\r\n 'we_will_email_you_when_ready'\r\n );\r\n }\r\n }\r\n\r\n // getter for each of these form variables\r\n get mobileNumber() {\r\n return this.form.get('mobileNumber');\r\n }\r\n\r\n get name() {\r\n return this.form.get('name');\r\n }\r\n\r\n get email() {\r\n return this.form.get('email');\r\n }\r\n\r\n public static open(\r\n modalService: NgbModal,\r\n name: boolean,\r\n phone: boolean,\r\n email: boolean\r\n ) {\r\n const modalReference = modalService.open(CustominfoPopupComponent, {\r\n backdrop: 'static',\r\n size: 'lg',\r\n centered: true,\r\n });\r\n\r\n modalReference.componentInstance.modalReference = modalReference;\r\n modalReference.componentInstance.customName = name ? 'True' : 'False';\r\n modalReference.componentInstance.customPhone = phone ? 'True' : 'False';\r\n modalReference.componentInstance.customEmail = email ? 'True' : 'False';\r\n modalReference.componentInstance.showSubmit = true;\r\n\r\n return modalReference;\r\n }\r\n\r\n open() {\r\n const modalReference = this.modalService.open(CustominfoPopupComponent, {\r\n backdrop: 'static',\r\n size: 'lg',\r\n centered: true,\r\n });\r\n modalReference.componentInstance.modalReference = modalReference;\r\n modalReference.componentInstance.isOpen = true;\r\n this.modalReference = modalReference;\r\n }\r\n\r\n canceled() {\r\n this.KeyboardService.KeyboardStatus = false;\r\n this.modalReference.close('canceled');\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.status === 'VALID') {\r\n if (this.name && this.name.value.length > 28) {\r\n this.isInvalid = true;\r\n return;\r\n }\r\n this.KeyboardService.KeyboardStatus = false;\r\n\r\n this.isInvalid = false;\r\n\r\n // if (this.name?.value) {\r\n // if (!CommonFunctions.checkName(this.name?.value)) {\r\n // this.isInvalid = false;\r\n // return;\r\n // }\r\n // }\r\n\r\n if (this.mobileNumber?.value) {\r\n if (\r\n !CommonFunctions.checkPhone(\r\n this.mobileNumber?.value,\r\n this.isUKPhoneFormat\r\n )\r\n ) {\r\n this.isInvalid = false;\r\n return;\r\n }\r\n }\r\n\r\n if (this.email?.value) {\r\n if (!CommonFunctions.checkEmail(this.email?.value)) {\r\n this.isInvalid = false;\r\n return;\r\n }\r\n }\r\n GeneralSetting.setCustomerName(this.name?.value.trim());\r\n GeneralSetting.setCustomerPhone(this.mobileNumber?.value);\r\n GeneralSetting.setCustomerLoginEmail(this.email?.value);\r\n GeneralSetting.setCustomerEmail(this.email?.value);\r\n\r\n let customerinfo = [];\r\n if(this.name?.value.trim()) {\r\n customerinfo.push('Name :' + this.name?.value.trim())\r\n }\r\n\r\n if(this.mobileNumber?.value) {\r\n customerinfo.push('Mobile Number :' + this.mobileNumber?.value)\r\n }\r\n\r\n if(this.email?.value) {\r\n customerinfo.push('Email :' + this.email?.value)\r\n }\r\n\r\n var log = new loggingData(\r\n `Order details: Customer info`,\r\n `Order details: Customer info - ${customerinfo.join(', ')}`,\r\n `custominfo-popup.component.ts`,\r\n `Order details: Customer info - ${customerinfo.join(', ')}`,\r\n true\r\n );\r\n this.logger.sendLogToServer(log);\r\n\r\n this.modalReference.close();\r\n } else {\r\n this.isInvalid = true;\r\n }\r\n }\r\n\r\n //get data from database: OrderTypeMappingMasters\r\n //get the order type info\r\n\r\n // getinfo(): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // if (this.customName != '') {\r\n // resolve(true);\r\n // }\r\n // //get eating option from session storage location-preference -- dine in/take out\r\n // var orderTypeId = GeneralSetting.getOrderTypeId();\r\n\r\n // //query\r\n // var sqltext = `\r\n // SELECT\r\n // KioskAskCustomerName,\r\n // KioskAskCustomerPhone,\r\n // KioskAskCustomerEmail\r\n\r\n // FROM\r\n // OrderTypeMappingMasters\r\n\r\n // WHERE\r\n // OrderTypeId = '${orderTypeId}'\r\n // `;\r\n\r\n // //callback handler\r\n // const setInfo = (tx: string, results: any) => {\r\n\r\n // var infoObj = results.rows[0];\r\n\r\n // this.customName = infoObj && infoObj.KioskAskCustomerName;\r\n // this.customPhone = infoObj && infoObj.KioskAskCustomerPhone;\r\n // this.customEmail = infoObj && infoObj.KioskAskCustomerEmail;\r\n\r\n // // if (this.customName === 'True' || this.customPhone === 'True' || this.customEmail === 'True') {\r\n // // this.setEmailValidations();\r\n // // this.setPhoneValidations();\r\n // // this.setNameValidations();\r\n // // }\r\n\r\n // resolve(true);\r\n // };\r\n\r\n // //error\r\n // const errorCallback = (statement: any, error: any) => {\r\n // console.log('Error Getting OrderTypeMappingMasters from sql');\r\n // resolve(true);\r\n // };\r\n\r\n // DatabaseHandler.executeSqlStatement(sqltext, [], setInfo, errorCallback);\r\n // });\r\n // }\r\n\r\n private async setEmailValidations() {\r\n if (this.customEmail === 'True') {\r\n this.form.controls['email'].setValidators([\r\n Validators.required,\r\n Validators.pattern(\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n ),\r\n ]);\r\n if (GeneralSetting.getCustomerLoginEmail() != '') {\r\n this.form.controls['email'].setValue(\r\n GeneralSetting.getCustomerLoginEmail()\r\n );\r\n }\r\n this.form.controls['email'].updateValueAndValidity({ onlySelf: true });\r\n }\r\n }\r\n\r\n private async setPhoneValidations() {\r\n if (this.customPhone === 'True') {\r\n this.form.controls['mobileNumber'].setValidators([\r\n Validators.required,\r\n Validators.pattern(this.mobNumberPattern),\r\n Validators.minLength(10),\r\n ]);\r\n if (GeneralSetting.getCustomerLoginMobile() != '') {\r\n this.form.controls['mobileNumber'].setValue(\r\n GeneralSetting.getCustomerLoginMobile()\r\n );\r\n }\r\n this.form.controls['mobileNumber'].updateValueAndValidity({\r\n onlySelf: true,\r\n });\r\n }\r\n }\r\n\r\n private async setNameValidations() {\r\n if (this.customName === 'True') {\r\n // this.form.controls['name'].setValidators([Validators.required,\r\n // Validators.pattern(/^([A-Za-z]+[,.]?[ ]?|[A-Za-z]+['-]?)+$/),\r\n // ]);\r\n if (GeneralSetting.getCustomerLoginName() != '') {\r\n this.form.controls['name'].setValue(\r\n GeneralSetting.getCustomerLoginName()\r\n );\r\n }\r\n this.form.controls['name'].updateValueAndValidity({ onlySelf: true });\r\n }\r\n }\r\n}\r\n"," \r\n \r\n\r\n\r\n","import { Injectable } from '@angular/core';\nimport {\n ItemV2,\n ModifierV2,\n ModifierIngredientV2,\n ComboGroupV2,\n} from '../models/item';\nimport { VariationOption } from '../models/Variations';\nimport { GeneralSetting } from './generalSetting.service';\nimport { formatDate } from '@angular/common';\nimport { ConcessionaireDiscontDetail } from '../models/ConcessioanireDiscountDetail';\nimport { FixedItemDiscount } from '../models/discounts';\nimport { Item } from '../models/BranchLoginModels';\nimport { CartComponent } from '../components/cart/cart.component';\nimport { element } from 'protractor';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CommonFunctions {\n static isItemSoldOut(data: ItemV2) {\n let flag = false\n if (\n data.CurrentStock != null &&\n Number(data.CurrentStock) <= Number(data.LowThreshold)\n ) {\n flag = true;\n }\n return flag\n }\n static checkVariable(variable: any) {\n if (variable && variable != undefined && variable != null) {\n return true;\n }\n return false;\n }\n\n static getCurrentTime() {\n // var date = new Date();\n // var hours = date.getHours() < 10 ? \"0\" + date.getHours() : date.getHours();\n // var minutes = date.getMinutes() < 10 ? \"0\" + date.getMinutes() : date.getMinutes();\n // var seconds = date.getSeconds() < 10 ? \"0\" + date.getSeconds() : date.getSeconds();\n // var strTime = hours + \":\" + minutes + \":\" + seconds;\n var strTime = formatDate(Date.now(), 'HH:mm:ss', 'en-US');\n return strTime;\n }\n\n // prettier-ignore\n static getFormatedYearDate(date: any) {\n // this function is transferring format from \"M/dd/YYYY, H:mm:ss AM/PM\" -> \"yyyymmdd\"\n var yearDate = date.substring(0, date.indexOf(','));\n var yearDateArray = yearDate.split('/');\n if (yearDateArray) {\n var newMonth = yearDateArray[0];\n var newDate = yearDateArray[1];\n var newYear = yearDateArray[2];\n if (newMonth.length < 2) { newMonth = '0' + newMonth; }\n if (newDate.length < 2) { newDate = '0' + newDate; }\n\n return newYear + newMonth + newDate;\n }\n else {\n return 0;\n }\n }\n\n static getCurrentDateTime() {\n var strTime = formatDate(Date.now(), 'YYYY-MM-dd HH:mm:ss', 'en-US');\n return strTime;\n }\n\n static getCurrentformatedtDate(date: any) {\n var d = new Date(date),\n month = '' + (d.getMonth() + 1),\n day = '' + d.getDate(),\n year = d.getFullYear();\n\n if (month.length < 2) month = '0' + month;\n if (day.length < 2) day = '0' + day;\n\n return [year, month, day].join('-') + ' 00:00:00';\n }\n\n static log(...variables: any) {\n for (let variable of variables) {\n console.log(typeof variable, variable);\n }\n }\n\n static getDateTime(timezone: any) {\n var date = new Date();\n let currentDate = timezone.transform(date, 'MMM M YYYY h:mm');\n const amPm = date.getHours() >= 12 ? 'PM' : 'AM';\n currentDate += amPm;\n return currentDate;\n }\n\n static getTime(date: any) {\n let hours = date.getHours();\n let minutes = date.getMinutes();\n const amPm = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours ? hours : 12;\n minutes = minutes < 10 ? `0${minutes}` : minutes;\n const strTime = hours + ':' + minutes + ' ' + amPm;\n return strTime;\n }\n\n static getDate() {\n const currentDate = new Date();\n const date = currentDate.toDateString() + ' ' + this.getTime(currentDate);\n return date;\n }\n\n static getDateV2() {\n const currentDate = new Date();\n let currentDateV2 = formatDate(currentDate, 'MMM dd YYYY hh:mma', 'en-US');\n const date = currentDateV2.toString();\n return date;\n }\n static getUTCDate() {\n const currentDate = new Date();\n let currentDateV2 = formatDate(new Date(), 'yyyy-MM-dd H:mm:ss', 'en', '+0000');\n const date = currentDateV2.toString();\n return date;\n }\n static getDayName() {\n var dateObj = new Date();\n var weekday = dateObj.toLocaleString('default', { weekday: 'long' });\n return weekday;\n }\n\n static roundDigit(n: number, digits: number) {\n if (digits === undefined) {\n digits = 0;\n }\n\n const multiplicative = Math.pow(10, digits);\n n = parseFloat((n * multiplicative).toFixed(11));\n return Math.round(n) / multiplicative;\n }\n\n static getRandomGuid() {\n function s4() {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n }\n\n return (\n s4() +\n s4() +\n '-' +\n s4() +\n '-4' +\n s4().substr(0, 3) +\n '-' +\n s4() +\n '-' +\n s4() +\n s4() +\n s4()\n ).toLowerCase();\n }\n static fixTwoDigit(num: number) {\n if (num === undefined) {\n return 0.00;\n }\n return Number(this.roundDigit(num, 2).toFixed(2));\n }\n\n static getCommaSepratedStringWithList(ids: string[]) {\n let str_id = '';\n\n for (let i = 0; i < ids.length; i++) {\n if (i == 0) {\n str_id += \"'\" + ids[i] + \"'\";\n } else {\n str_id += \",'\" + ids[i] + \"'\";\n }\n }\n\n return str_id.trim();\n }\n\n static getDayOfWeak() {\n let dayId = new Date().getDay();\n\n if (dayId == 0) {\n dayId = 7;\n }\n\n return dayId;\n }\n\n /**\n * @param {any[]} arr an array of items to be filtered asynchronously\n * @param {Function} callback an asynchronous callback of the format `(data:data type)=>{return Promise.resolve(booleanConditonByWhichToFilter)}`\n */\n static async filter(arr: any[], callback: Function) {\n return (\n await Promise.all(\n arr.map(async (item: any) => {\n return (await callback(item)) ? item : undefined;\n })\n )\n ).filter((i) => i !== undefined);\n }\n\n /**\n * @param {any[]} arr an array of items to perform callback upon asynchronously\n * @param {Function} callback an asynchronous callback\n */\n static async forEach(arr: any[], callback: Function) {\n for (let index = 0; index < arr.length; index++) {\n await callback(arr[index], index);\n }\n }\n\n /**\n *\n * @param {ItemV2} item Data related to the selected item object\n * @param isEdit default false, determines if app should override item behavior for displaying item detail screen\n * @returns {Promise} Promise containing dynamic URL path of the selected item's desired screen\n */\n static getItemType(item: ItemV2, isEdit: boolean = false): string {\n if (item.EnablePricebyWeight && item.EnablePricebyWeight == 'True') {\n return 'itemDescription';\n } else if (\n (item.Modifiers && item.Modifiers.length) ||\n (item.Variations &&\n item.Variations.length) ||\n item.ModifierCount > 0 ||\n item.AttributeCount > 0 ||\n item.IsCombo\n ) {\n if (item.IsBuilderMode.toLowerCase() == 'true') {\n return 'ItemBuilderMode';\n } else if (\n item.IsBoxBuilderMode &&\n item.IsBoxBuilderMode.toLowerCase() == 'true'\n ) {\n return 'ItemBoxBuilderMode';\n } else {\n return 'ItemNormalMode';\n }\n }\n else {\n if (item.IsItemDetailScreenShowKiosk == 'True' || isEdit) {\n return 'itemDescription';\n } else return 'menu';\n }\n }\n\n /**\n *\n * @param {ItemV2} item Data related to the selected item object\n * @returns {Promise} Promise containing dynamic URL path of the selected item's desired screen\n */\n static getItemTypeV2(item: ItemV2): string {\n if (\n (item.Modifiers && item.Modifiers.length > 0) ||\n (item.Variations && item.Variations.length > 0) ||\n (item.ComboGroup && item.ComboGroup.length > 0)\n ) {\n if (item.IsBuilderMode.toLowerCase() == 'true') {\n return 'ItemBuilderMode';\n } else if (\n item.IsBoxBuilderMode &&\n item.IsBoxBuilderMode.toLowerCase() == 'true'\n ) {\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n return 'ItemBoxBuilderMode';\n } else {\n return 'ItemBuilderMode';\n }\n } else {\n return 'ItemNormalMode';\n }\n } else {\n if (item.IsItemDetailScreenShowKiosk == 'True') {\n return 'itemDescription';\n } else return 'menu';\n }\n }\n\n static getVariationPrice(variations: VariationOption[]) {\n let cost = 0;\n for (const variation of variations) {\n cost += Number(variation.Price);\n }\n return cost;\n }\n\n static getModifierPrice(modifiers: ModifierV2[]) {\n let price = 0;\n\n for (let mi = 0; mi < modifiers.length; mi++) {\n const modifier = modifiers[mi];\n\n const ingredients = modifier.Ingredients.filter((x) => x.IsSelected);\n\n if (ingredients.length > 0) {\n for (let ii = 0; ii < ingredients.length; ii++) {\n const ingredient = ingredients[ii];\n\n if (ingredient.IsIngredient) {\n const ing = ingredient;\n if (GeneralSetting.getParBrinkIntegrationID() == '') {\n price += Number(ing.ExtraPrice) * Number(ing.Quantity);\n } else {\n if (ing.IsDefault != 'True') {\n price += Number(ing.ExtraPrice) * Number(ing.Quantity);\n }\n }\n } else {\n const mod = ingredient;\n let modifierPrice = Number(mod.Price);\n let modifierTotalCost = this.getModifierPrice([\n ingredient,\n ]);\n let modifierTotalPrice =\n modifierPrice * Number(mod.Quantity ? mod.Quantity : '1') +\n modifierTotalCost * Number(mod.Quantity ? mod.Quantity : '1');\n price += modifierTotalPrice;\n\n // price += Number(mod.Price);\n // price += this.getModifierPrice([ingredient]);\n }\n }\n }\n }\n\n return price;\n }\n\n static getItemPrice(item: ItemV2, isComboItem: boolean = false) {\n if (GeneralSetting.getIsRemovePricingAndPayments()) return 0;\n\n let itemCost = Number(item.Price); // basePrice\n\n if (isComboItem) {\n if (item.ExtraPrice && item.ExtraPrice != '') {\n itemCost = Number(item.ExtraPrice);\n }\n }\n\n const isCombo = item.IsCombo.toString();\n\n if (\n (isCombo != '0' && isCombo.toLowerCase() == 'true') ||\n item.IsCategory\n ) {\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n for (let ci = 0; ci < item.ComboGroup.length; ci++) {\n const items = item.ComboGroup[ci].Items.filter(\n (x) =>\n x.isSelected ||\n (x.IsInvisibleItem && x.IsInvisibleItem.toLowerCase() == 'true')\n );\n for (let i = 0; i < items.length; i++) {\n let quantity = 1;\n if (items[i].Quantity && items[i].Quantity != 'undefined') {\n quantity = Number(items[i].Quantity);\n }\n itemCost += this.getItemPrice(items[i], true) * quantity;\n }\n }\n }\n } else {\n if (item.Modifiers && item.Modifiers.length > 0) {\n itemCost += this.getModifierPrice(item.Modifiers);\n }\n\n if (item.VariationOption && item.VariationOption.length > 0) {\n if (\n item.VariationOption != undefined &&\n Object.entries(item.Variations).length > 0\n ) {\n itemCost += this.getVariationPrice(item.VariationOption);\n }\n } else {\n if (item.Variations && item.Variations.length) {\n if (\n item.Variations[0].variationOptions &&\n item.Variations[0].variationOptions.length\n ) {\n for (\n let i = 0;\n i < item.Variations[0].variationOptions.length;\n i++\n ) {\n if (item.Variations[0].variationOptions[i].isSelected) {\n itemCost += this.getVariationPrice([\n item.Variations[0].variationOptions[i],\n ]);\n }\n }\n }\n }\n }\n }\n return itemCost;\n }\n\n static getSelectedIngredientCount(modifier: ModifierV2) {\n let count = 0;\n\n const selectedIngredient = modifier.Ingredients.filter((x) => x.IsSelected);\n for (let i = 0; i < selectedIngredient.length; i++) {\n count += Number(selectedIngredient[i].Quantity);\n }\n\n return count;\n }\n\n static getOnlySelectedIngredientCount(modifier: ModifierV2) {\n const selectedIngredient = modifier.Ingredients.filter((x) => x.IsSelected);\n return selectedIngredient.length;\n }\n\n static getSelectedIngredientPosition(modifier: ModifierV2) {\n let selectedPosition = 0;\n\n modifier.Ingredients.forEach((element, index) => {\n if (element.IsSelected) {\n selectedPosition = index;\n }\n });\n\n\n return selectedPosition;\n \n }\n\n static getParentCountItem(parent: ComboGroupV2) {\n parent.count = 0;\n const selectedItems = parent.Items.filter((x) => x.isSelected);\n if (selectedItems.length > 0) {\n for (let i = 0; i < selectedItems.length; i++) {\n let quantity = 1;\n\n if (\n selectedItems[i].Quantity &&\n selectedItems[i].Quantity != 'undefined'\n ) {\n quantity = Number(selectedItems[i].Quantity);\n }\n\n parent.count += quantity;\n }\n }\n\n return parent.count;\n }\n\n static isItemHasModifier(item: ItemV2) {\n if (\n (item.Modifiers && item.Modifiers.length > 0) ||\n (item.Variations &&\n item.Variations.length > 0 &&\n item.Variations[0].variationOptions.length > 0) ||\n (item.ComboGroup && item.ComboGroup.length > 0)\n ) {\n return true;\n }\n\n return false;\n }\n\n static getSelectedModifierIngredientList(\n ingredient: (ModifierV2 | ModifierIngredientV2)[],\n withNegativeModifier: boolean = false\n ) {\n let selectedIngredient = [] as (ModifierV2 | ModifierIngredientV2)[];\n\n if (!ingredient || ingredient.length <= 0) return selectedIngredient;\n\n for (var i = 0; i < ingredient.length; i++) {\n let objIngredient = ingredient[i];\n\n if (objIngredient.IsSelected) {\n selectedIngredient.push(objIngredient);\n } else if (withNegativeModifier) {\n if (objIngredient.IsIngredient) {\n const ing = objIngredient as ModifierIngredientV2;\n if (ing.isNegativeModifier) {\n selectedIngredient.push(ing);\n }\n }\n }\n }\n\n return selectedIngredient;\n }\n\n static getSelectedItemFromComboGroups(\n comboGroups: ComboGroupV2[],\n withModifers: boolean = false\n ) {\n let selectedItems: ItemV2[] = [];\n let selectedModifiers: ModifierV2[] = [];\n let selectedIngridient: ModifierIngredientV2[] = [];\n\n if (comboGroups && comboGroups.length > 0) {\n for (let i = 0; i < comboGroups.length; i++) {\n if (comboGroups[i].Items && comboGroups[i].Items.length > 0) {\n for (let j = 0; j < comboGroups[i].Items.length; j++) {\n if (comboGroups[i].Items[j].isSelected) {\n selectedItems.push(comboGroups[i].Items[j]);\n\n if (withModifers) {\n if (\n comboGroups[i].Items[j].Modifiers &&\n comboGroups[i].Items[j].Modifiers.length > 0\n ) {\n let list_nestedMofier =\n this.getSelectedModifiersWithIngredient(\n comboGroups[i].Items[j].Modifiers\n );\n\n if (list_nestedMofier.length > 0) {\n selectedModifiers.push(\n ...(list_nestedMofier[0] as ModifierV2[])\n );\n selectedIngridient.push(\n ...(list_nestedMofier[1] as ModifierIngredientV2[])\n );\n }\n }\n }\n }\n }\n }\n }\n }\n\n return [selectedItems, selectedModifiers, selectedIngridient];\n }\n\n static getSelectedModifiersWithIngredient(\n modifiers: (ModifierV2 | ModifierIngredientV2)[]\n ) {\n let selectedModifiers = [] as ModifierV2[];\n let selectedIngridient = [] as ModifierIngredientV2[];\n\n if (!modifiers || modifiers.length <= 0) return selectedModifiers;\n\n for (var i = 0; i < modifiers.length; i++) {\n let objModifier = modifiers[i];\n\n if (objModifier.IsSelected) {\n if (objModifier.IsModifier) {\n objModifier = objModifier as ModifierV2;\n\n selectedModifiers.push(objModifier);\n\n if (objModifier && objModifier.Ingredients.length > 0) {\n let list_nestedMofier = this.getSelectedModifiersWithIngredient(\n objModifier.Ingredients\n );\n\n if (list_nestedMofier.length > 0) {\n selectedModifiers.push(...(list_nestedMofier[0] as ModifierV2[]));\n selectedIngridient.push(\n ...(list_nestedMofier[1] as ModifierIngredientV2[])\n );\n }\n }\n } else {\n selectedIngridient.push(objModifier as ModifierIngredientV2);\n }\n }\n }\n\n return [selectedModifiers, selectedIngridient];\n }\n\n static getSelectedItemList(items: ItemV2[]) {\n const selectedItems = [] as ItemV2[];\n\n if (!items || items.length <= 0) return selectedItems;\n\n for (let i = 0; i < items.length; i++) {\n const objItem = items[i];\n\n if (objItem.isSelected) {\n selectedItems.push(objItem);\n }\n }\n\n return selectedItems;\n }\n\n /**\n * @description Disables a button for 1.5 seconds. Used in conjunction with debounce to prevent multiple modals\n * @param {string} id The HTML id of the button to be disabled\n * @param {number} time default 1500, time in milliseconds to disable button\n */\n static disableButton(id: string, time: number = 1500) {\n document.getElementById(`${id}`)?.setAttribute('disabled', 'disabled');\n setTimeout(() => {\n document.getElementById(`${id}`)?.removeAttribute('disabled');\n }, time);\n }\n\n private static deSelectAllNestedIngredient(modifier: ModifierV2) {\n for (let i = 0; i < modifier.Ingredients.length; i++) {\n const ingredient: ModifierIngredientV2 | ModifierV2 =\n modifier.Ingredients[i];\n ingredient.IsSelected = false;\n\n if (ingredient.IsModifier) {\n const mod = ingredient as ModifierV2;\n this.deSelectAllNestedIngredient(mod);\n }\n }\n }\n\n static selectModifierLogic(parent: ModifierV2, IngredientIndex: number) {\n let modifier = parent.Ingredients[IngredientIndex];\n\n if (!modifier) {\n return parent;\n }\n\n modifier = modifier;\n\n if (parent.IsModifier86 == 'False' || modifier.IsModifier86 == 'False') {\n //if out of stock, return and set isSelected to false\n modifier.IsSelected = false;\n\n this.deSelectAllNestedIngredient(modifier);\n return parent;\n } else {\n parent.count = CommonFunctions.getSelectedIngredientCount(parent);\n\n if (parent.count < parent.max) {\n parent.count++;\n\n modifier.IsSelected = true;\n\n parent.IsSelected = true;\n\n if (\n parent.SelectedIngredients.find(\n (x: any) => x.ModifierID == modifier.ModifierID\n ) == undefined\n ) {\n parent.SelectedIngredients.push(modifier);\n }\n } else if (parent.max === 1) {\n // if only 1 selectable switch selection to newly selected object\n parent.count = 1;\n parent.SelectedIngredients = [];\n for (const item of parent.Ingredients) {\n item.IsSelected = false;\n\n // deselect sub group Ingredients if another modifier selected\n if (item.IsModifier && item.ModifierID != modifier.ModifierID) {\n const subGroupModifier = item as ModifierV2;\n\n if (subGroupModifier.IsSubGroup) {\n this.deSelectAllNestedIngredient(subGroupModifier);\n }\n }\n }\n\n modifier.IsSelected = true;\n parent.IsSelected = true;\n\n parent.SelectedIngredients.push(modifier);\n }\n }\n\n parent.count = CommonFunctions.getSelectedIngredientCount(parent);\n\n if (parent.count <= parent.max && parent.count >= parent.min) {\n parent.isValid = true;\n parent.IsSelected = true;\n }\n\n return parent;\n }\n\n static isNonAlcoholicItemAvail(items: ItemV2[]) {\n for (let i = 0; i < items.length; i++) {\n if (\n items[i].ItemCategorySalesTypeID !==\n CategorySalesType.Alcohol.toString()\n ) {\n return true;\n }\n }\n return false;\n }\n\n // static getFormattedModifier(modifier : ModifierV2[] , item : ItemV2) {\n\n // function formatIngredient(ingredient : ModifierIngredientV2, item : ItemV2) {\n // return template;\n // }\n\n // function formatModifier(modifier: ModifierV2 , item : ItemV2) {\n // let template = \"\";\n // if (modifier.IsSelected) {\n // if (modifier.Ingredients && modifier.Ingredients.length > 0) {\n // for (let index = 0; index < modifier.Ingredients.length; index++) {\n // const ing = modifier.Ingredients[index] as any;\n // if (ing.IsIngredient && (ing.IsSelected || ing.isNegativeModifier)) {\n // let ingredient = ing;\n // template += formatIngredient(ingredient, item);\n // } else if (ing.IsModifier) {\n // let mod = ing;\n // template += formatModifier(mod, item);\n // }\n // }\n // }\n // }\n\n // return template;\n // }\n\n // let mainTemplate = \"\";\n // for (let i = 0; i < modifier.length; i++) {\n // mainTemplate += formatModifier(modifier[i], item);\n // }\n // return mainTemplate;\n // }\n\n // Set flow as per General kiosk i.e. modifer 86\n static checkForSoldOutV2(item: ItemV2): Promise {\n const soldOutMod: ModifierV2[] = [];\n const modifierCheck = async (modifier: any) => {\n if (modifier && modifier.IsModifier86 == 'False') {\n soldOutMod.push(modifier);\n }\n return Promise.resolve();\n };\n return new Promise(async (resolve) => {\n if (item.Modifiers && item.Modifiers.length > 0) {\n await CommonFunctions.forEach(item.Modifiers, modifierCheck).then(\n () => {\n resolve(soldOutMod);\n }\n );\n } else {\n resolve(soldOutMod);\n }\n });\n }\n\n // Added new method to show category on day and time based\n // static isDaywise(arr: any, currentDayId: string): boolean {\n // const currentTime = this.getCurrentTime();\n // for (var i = 0; i < arr.DayIDs.length; i++) {\n // if (arr.DayIDs[i] == currentDayId) {\n // return (arr.TimeActives[i] == 'False' ||\n // (arr.StartTimes[i] <= currentTime &&\n // arr.EndTimes[i] >= currentTime))\n // }\n // }\n // return false;\n // }\n\n // Added new method to show category on day and time based\n static getWeightUnit(weightUnit: string): string {\n if (weightUnit == '0') {\n return 'oz';\n } else if (weightUnit == '1') {\n return 'lb';\n } else if (weightUnit == '2') {\n return 'g';\n } else if (weightUnit == '3') {\n return 'kg';\n } else {\n return '';\n }\n }\n static surveyCodeReplacer(data: string) {\n return GeneralSetting.getSurveyLink().replace('[code]', data);\n }\n static surveyCodeScrambler(transactionNumber: string) {\n if (GeneralSetting.getShowSurveyLinkOnReceipt() != 'True') {\n return '';\n }\n if (transactionNumber.length > 4) {\n transactionNumber = transactionNumber.slice(-4);\n }\n let storeID: string = GeneralSetting.getStoreID();\n const dt = new Date();\n let militaryTime = dt.getHours().toString();\n if (militaryTime.length == 1) {\n militaryTime = '0' + militaryTime;\n }\n let month = (dt.getMonth() + 1).toString();\n if (month.length == 1) {\n month = '0' + month;\n }\n let day = dt.getDate().toString();\n if (day.length == 1) {\n day = '0' + day;\n }\n return `${transactionNumber[3]}${militaryTime[1]}${storeID[3]} ${transactionNumber[2]}${storeID[1]}${month[1]} ${transactionNumber[1]}${storeID[0]}${transactionNumber[0]} ${month[0]}${day[1]}${storeID[2]} ${day[0]}${militaryTime[0]}K`;\n }\n\n static getWeightUnitInWords(weightUnit: string): string {\n if (weightUnit == '0') {\n return 'Ounce';\n } else if (weightUnit == '1') {\n return 'Pound';\n } else if (weightUnit == '2') {\n return 'Gram';\n } else if (weightUnit == '3') {\n return 'Kilogram';\n } else {\n return '';\n }\n }\n\n static getStringWithDash(first: string, second: string) {\n let res = '';\n\n if (first != '' && second != '') {\n res = first + '-' + second;\n } else if (first == '' && second != '') {\n res = second;\n } else if (first != '' && second == '') {\n res = first;\n }\n\n return res;\n }\n\n static getLatestAlcoholicCount(\n currentParentQty: number,\n quantity: number,\n isIncrease: boolean,\n isCancel: boolean = false\n ): any {\n let currentAlcoholCount = Number(GeneralSetting.getCurrentCountofAlkol());\n if (currentParentQty == 0) {\n if (isIncrease) {\n currentAlcoholCount++;\n } else {\n currentAlcoholCount--;\n }\n } else {\n if (isCancel) {\n if (isIncrease) {\n currentAlcoholCount =\n currentAlcoholCount + currentParentQty * quantity;\n } else {\n currentAlcoholCount =\n currentAlcoholCount - currentParentQty * quantity;\n }\n } else {\n let currentQty: number = isIncrease ? quantity + 1 : quantity - 1;\n currentAlcoholCount =\n currentAlcoholCount > 0\n ? currentAlcoholCount - currentParentQty * quantity\n : 0;\n currentAlcoholCount =\n currentAlcoholCount + currentParentQty * currentQty;\n }\n }\n return currentAlcoholCount;\n }\n\n static delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n static checkEmail(emailId: string) {\n if (!emailId) return false;\n\n var EMAIL_REGEXP =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (!EMAIL_REGEXP.test(emailId)) {\n return false;\n }\n\n return true;\n }\n\n static checkPhone(phone: string, isUK: boolean = false) {\n if (!phone) {\n return false;\n }\n let num = 10;\n if (isUK) {\n num = 11;\n }\n if (phone.length < num) {\n return false;\n }\n let regPhone = /^[1-9]\\d*|0\\d{10}(?!0+$)/;\n\n if (!regPhone.test(phone)) {\n return false;\n }\n\n return true;\n }\n\n static checkName(name: string) {\n if (!name) return false;\n\n let regName = /^([A-Za-z]+[,.]?[ ]?|[A-Za-z]+['-]?)+$/;\n\n if (!regName.test(name)) {\n return false;\n }\n\n return true;\n }\n\n static isComboAlcoholic(comboItem: ItemV2): number {\n const value = Number(comboItem.Quantity);\n let isItemAlcoholic = false;\n const alkolMax = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n let itemQuanity = 0;\n var isCombo = comboItem.IsCombo.toString();\n\n if (isCombo.toLowerCase() == '0' || isCombo.toLowerCase() == 'true') {\n // loop through all the items if you find any item alcoholic then make isItemAlcoholic as true;\n for (let i = 0; i < comboItem.ComboGroup.length; i++) {\n for (let j = 0; j < comboItem.ComboGroup[i].Items.length; j++) {\n let singleItem = comboItem.ComboGroup[i].Items[j];\n //const alcohol = cartItem.isAlcoholic;\n if (singleItem.isSelected) {\n if (\n singleItem.ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString() &&\n Number(alkolMax) > 0\n ) {\n //this.checkAlkolLimit(singleItem, value);\n itemQuanity += Number(\n singleItem.Quantity ? singleItem.Quantity : 1\n );\n }\n }\n }\n }\n }\n\n return itemQuanity;\n }\n\n static isAlcoholLimitRemainig() {\n return (\n Number(GeneralSetting.getMaxAlcoholicItemsPerOrder()) -\n Number(GeneralSetting.getCurrentCountofAlkol()) >\n 0\n );\n }\n\n static increaseAlcoholicCountForCombo(\n item: ItemV2,\n shouldIncrease: boolean\n ): boolean {\n if (this.isComboAlcoholic(item)) {\n let comboAlcoholCount = 0;\n let currentCountofAlkol = GeneralSetting.getCurrentCountofAlkol();\n let maxOrder = GeneralSetting.getMaxAlcoholicItemsPerOrder();\n\n for (let i = 0; i < item.ComboGroup.length; i++) {\n for (let j = 0; j < item.ComboGroup[i].Items.length; j++) {\n let singleItem = item.ComboGroup[i].Items[j];\n if (singleItem.isSelected) {\n if (\n singleItem.ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString()\n ) {\n comboAlcoholCount +=\n Number(singleItem.Quantity) * Number(item.Quantity);\n }\n }\n }\n }\n if (shouldIncrease) {\n if (\n comboAlcoholCount + Number(currentCountofAlkol) <=\n Number(maxOrder)\n ) {\n GeneralSetting.setCurrentCountofAlkol(\n comboAlcoholCount + Number(currentCountofAlkol)\n );\n return true;\n } else {\n return false;\n }\n } else {\n if (Number(currentCountofAlkol) > 0) {\n sessionStorage.setItem(\n 'currentCountofAlkol',\n (Number(currentCountofAlkol) - comboAlcoholCount).toString()\n );\n }\n return true;\n }\n } else {\n return true;\n }\n }\n\n static getSubTotalByItems(items: ItemV2[]) {\n let subtotal = 0.0;\n\n items.forEach((element: any) => {\n subtotal +=\n Number(this.getItemPrice(element, true)) * Number(element.Quantity);\n });\n\n return subtotal;\n }\n\n static getSubTotalByItemsAfterDiscount(items: ItemV2[]) {\n let subtotal = 0.0;\n\n items.forEach((element: any) => {\n subtotal +=\n (Number(this.getItemPrice(element, true)) * Number(element.Quantity)) - (element.DiscountAmount && element.DiscountAmount != 0 ? element.DiscountAmount : 0);\n });\n\n return subtotal;\n }\n\n static getTotalItemTax(items: ItemV2[]) {\n let itemTax = 0.0;\n\n items.forEach((element: any) => {\n itemTax += Number(element.TaxAmountWithDiscount);\n });\n\n return itemTax;\n }\n\n static increaseVerifonePaymentCounter() {\n let currentCounter = GeneralSetting.getVerifonePaymentCounter() == \"\" ? 1 : Number(GeneralSetting.getVerifonePaymentCounter());\n\n var counterList = GeneralSetting.getVerifoneUsedCounterList();\n\n currentCounter = currentCounter + 1;\n\n if (counterList != null) {\n while (counterList.data.includes(currentCounter)) {\n currentCounter = currentCounter + 1;\n }\n\n try {\n let maxCounter = counterList.data.reduce((a: any, b: any) => {\n return Math.max(a, b);\n });\n\n if (currentCounter < maxCounter) {\n currentCounter = maxCounter + 1;\n }\n }\n catch (e) { }\n }\n\n GeneralSetting.setVerifonePaymentCounter(currentCounter);\n\n try {\n if (counterList != null) {\n counterList.data.push(currentCounter);\n if (counterList.data.length > 50) {\n // counterList.data = counterList.data.slice(-1 * 50);\n let minCounter = counterList.data.reduce((a: any, b: any) => {\n return Math.min(a, b);\n });\n // let minCounter = Math.min(counterList.data);\n\n counterList.data = counterList.data.filter((x: any) => x != minCounter);\n }\n }\n else {\n counterList = {\n data: [currentCounter]\n }\n }\n\n GeneralSetting.setVerifoneUsedCounterList(counterList);\n } catch (e) {\n console.log(\"verifone counter list error\");\n }\n\n return currentCounter;\n }\n\n static capitalizeFirstLetterOfWord(sentence: string): string {\n if (!sentence)\n return \"\";\n\n return sentence\n .toLowerCase()\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n }\n}\n\nexport class CommonCalculations {\n public static getItemTax(\n cartItems: ItemV2[],\n reward: number = 0,\n subtotal: number = 0,\n orderDiscount: number = 0,\n concessionaireDiscountDetails: ConcessionaireDiscontDetail[] = []\n ) {\n let totalTax = 0;\n let percentReward: number;\n if (reward > subtotal) {\n reward = subtotal;\n }\n if (reward != 0) {\n percentReward = reward / subtotal;\n } else {\n percentReward = 0;\n }\n let totalTaxTypes = [] as any[]; //Tax getting blank because of this initialization\n for (let i = 0; i < cartItems.length; i++) {\n const item = cartItems[i];\n let totalItemTax = 0;\n let totalItemTaxWithoutDisc = 0;\n\n let discount = orderDiscount;\n let loaclSubtotal = subtotal;\n\n if (GeneralSetting.getIsConcessionaire().toLowerCase() == 'true') {\n if (concessionaireDiscountDetails.length > 0) {\n if (\n concessionaireDiscountDetails.filter((x) => Number(x.Discount) > 0)\n .length > 0\n ) {\n let conDetail = concessionaireDiscountDetails.filter(\n (x) => x.concessionaireId == item.ConcessionaireId\n );\n\n if (conDetail.length > 0) {\n loaclSubtotal = Number(conDetail[0].SubTotal);\n discount = Number(conDetail[0].Discount);\n }\n }\n }\n }\n\n const itemTotal =\n CommonFunctions.getItemPrice(item) *\n Number(item.Quantity) *\n (1 - percentReward);\n\n const itemLevelDiscountAmount =\n item.DiscountAmount > 0 ? item.DiscountAmount : 0.0;\n\n const discountOnItem =\n ((itemTotal - itemLevelDiscountAmount) * discount) / loaclSubtotal;\n\n const itemTotalWithDiscount = itemTotal - itemLevelDiscountAmount - discountOnItem;\n\n const itemTotalWithoutDiscount = itemTotal - itemLevelDiscountAmount;\n\n if (item.taxDetail.length > 0) {\n for (let j = 0; j < item.taxDetail.length; j++) {\n if (item.totalPrice) {\n const itemTax = (Number(item.taxDetail[j].Percentage) * itemTotalWithDiscount) / 100;\n const itemTaxWithoutDiscount = (Number(item.taxDetail[j].Percentage) * itemTotalWithoutDiscount) / 100;\n\n totalItemTax += itemTax;\n totalTax += itemTax;\n totalItemTaxWithoutDisc += itemTaxWithoutDiscount;\n\n //for showing tax detail in popup component on check out screen\n const popUpTax: any = totalTaxTypes.find(\n (x: any) => x.TaxId == item.taxDetail[j].TaxID\n );\n\n if (popUpTax) {\n popUpTax.TaxAmount += itemTax;\n } else {\n totalTaxTypes.push({\n Name: item.taxDetail[j].TaxName,\n TaxId: item.taxDetail[j].TaxID,\n TaxAmount: itemTax,\n TaxPer: Number(item.taxDetail[j].Percentage),\n });\n }\n }\n }\n }\n\n item.TaxAmount = CommonFunctions.roundDigit(totalItemTaxWithoutDisc, 2);\n item.TaxAmountWithDiscount = CommonFunctions.roundDigit(totalItemTax, 2);\n }\n return {\n totalTax: totalTax,\n totalTaxTypes: totalTaxTypes\n };\n }\n}\n\nexport class Snackbar {\n /**\n * /\n * @param message\n * @param delay\n * Show snackBar on project\n */\n static show(message: string, delay: number) {\n const snackbar = document.getElementById('snackbarV2');\n if (snackbar) snackbar.innerHTML = message;\n if (snackbar) {\n if (snackbar.className == 'show') return;\n snackbar.className = '';\n snackbar.className = 'show';\n (async () => {\n await CommonFunctions.delay(delay);\n snackbar.className = '';\n })();\n }\n }\n\n static delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n}\n\nexport class blankOverlay {\n static show(message: string, withDelay: boolean, delay: number) {\n const overlay = document.getElementById('blank_overlay');\n if (overlay) {\n if (overlay.className == 'show_blank-overlay') return;\n\n overlay.className = '';\n overlay.className = 'show_blank-overlay';\n\n if (withDelay) {\n (async () => {\n await CommonFunctions.delay(delay);\n overlay.className = '';\n })();\n }\n }\n }\n\n static hide() {\n const overlay = document.getElementById('blank_overlay');\n if (overlay) {\n overlay.className = '';\n }\n }\n}\n\nexport enum CategorySalesType {\n Other = 1,\n Food = 2,\n Beverage = 3,\n Alcohol = 4,\n}\n\nexport enum WeightUnit {\n Ounce = 0,\n Pound = 1,\n Gram = 2,\n KiloGram = 3,\n}\n","import { Component, Input, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { ItemV2 as Item, ItemV2, ModifierV2 } from 'src/app/models/item';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { environment } from 'src/environments/environment';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { AlcoholicOver21DialogComponent } from 'src/app/components/dialogs/alcoholic-over21-dialog/alcoholic-over21-dialog.component';\nimport { AlcoholicItemExceedMaxComponent } from 'src/app/components/dialogs/alcoholic-item-exceed-max/alcoholic-item-exceed-max.component';\nimport { UpsellComboMessageComponent } from 'src/app/components/dialogs/upsell-combo-message/upsell-combo-message.component';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from 'src/app/services/common';\nimport { ComboItemPopupComponent } from 'src/app/components/combo-item-popup/combo-item-popup.component';\nimport { OutOfStockComponent } from '../../out-of-stock/out-of-stock.component';\nimport { SoldOutComponent } from '../sold-out/sold-out.component';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { DataService } from 'src/app/services/data.service';\nimport { CurrencyService } from 'src/app/services/currency.service';\n\n@Component({\n selector: 'app-up-sell-dialog',\n templateUrl: './up-sell-dialog.component.html',\n styleUrls: ['./up-sell-dialog.component.css'],\n})\nexport class UpSellDialogComponent implements OnInit, OnDestroy {\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n languageSub!: Subscription;\n\n upsellHeaderText: string | null = this.language.getCustomMapValues('menu_setting_display__upsell_modal_main_text');\n\n upSellItems: Item[] = [] as Item[];\n\n itemId: string = '';\n\n modalReference: any;\n\n negativeColor: string = '';\n\n negativeColorText: string = '';\n\n positiveColor: string = '';\n\n positiveColorText: string = '';\n\n priceColor: string | null = '';\n\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n itemsForCart = [] as Item[];\n\n itemType: number = 1;\n\n currAlcoholAmount: number = 0;\n\n maxAlcoholAmount: number = 9999;\n\n parentItem: ItemV2 = new ItemV2();\n\n imageRadius: string = '';\n\n bordersTypeItem: boolean = false;\n\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n\n parentQuantity: number = 1;\n\n addOnItemText: string = '';\n\n addToOrderText: string = '';\n\n noThanksText: string = '';\n\n placeholderImage: string = '';\n\n textColor: string = '';\n\n maxLimitText: string = 'Maximum limit reached';\n\n constructor(\n private readonly modalService: NgbModal,\n private readonly databaseService: DatabaseService,\n private isKioskService: IsKioskService,\n private language: LanguageService,\n private readonly dataService: DataService,\n private CurrencyService: CurrencyService\n ) { }\n\n ngOnInit(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.getUpsellItemsV2();\n this.negativeColor = GeneralSetting.getNegativeColor();\n this.negativeColorText = GeneralSetting.getNegativeColorText();\n this.positiveColor = GeneralSetting.getPositiveColor();\n this.positiveColorText = GeneralSetting.getPositiveColorText();\n this.priceColor = GeneralSetting.getPriceColor();\n this.textColor = GeneralSetting.getTextColor();\n this.upsellHeaderText =\n GeneralSetting.getUpSellHeaderText() == ''\n ? this.upsellHeaderText\n : GeneralSetting.getUpSellHeaderText();\n this.imageRadius = GeneralSetting.getBorderPercentage();\n this.bordersTypeItem =\n GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n }\n\n loadText() {\n this.addOnItemText = this.language.getCustomMapValues('menu_setting_display__upsell_modal_header_text');\n this.addToOrderText = this.language.getTextElement('lbl_rec_add_to_order');\n this.noThanksText = this.language.getTextElement('lbl_rec_no_thanks');\n this.maxLimitText = this.language.getTextElement('maximum_limit_reached');\n }\n\n getDiscountedPrice(item: any): number {\n\n return item.Price - item.DiscountAmount;\n\n }\n\n getItemPrice(item: any): string {\n let currencySymbol = this.CurrencyService.CurrencySymbol;\n return item.DiscountAmount > 0 ? `(${currencySymbol}${item.Price})` : `${currencySymbol}${item.Price}`;\n }\n\n async getUpsellItemsV2() {\n this.maxAlcoholAmount = Number(\n GeneralSetting.getMaxAlcoholicItemsPerOrder()\n );\n\n if (\n this.parentItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n ) {\n this.currAlcoholAmount =\n Number(GeneralSetting.getCurrentCountofAlkol()) +\n Number(this.parentQuantity);\n } else {\n this.currAlcoholAmount = Number(GeneralSetting.getCurrentCountofAlkol());\n }\n\n const upSellItems = await this.databaseService.getUpSellItemsByItemId(\n this.itemId\n );\n var newupSellItems: ItemV2[] = [];\n if (upSellItems && upSellItems.length > 0) {\n // Added because if only we have single item then alcohol count becomes wrong - Rekha\n if (upSellItems.length == 1) {\n const currUpsellQty =\n upSellItems[0].Quantity == undefined ? '1' : upSellItems[0].Quantity;\n this.currAlcoholAmount += Number(currUpsellQty);\n }\n\n var parentQty =\n this.parentItem.Quantity == undefined ? '1' : this.parentItem.Quantity;\n for (let j = 0; j < upSellItems.length; j++) {\n const item = upSellItems[j];\n // Condition to ignore alcohol item if already satisfies alcohol limit - Rekha\n if (\n !(\n this.currAlcoholAmount > this.maxAlcoholAmount &&\n item.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString() &&\n this.parentItem.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n )\n ) {\n if (\n !(\n this.currAlcoholAmount + Number(item.Quantity) >\n this.maxAlcoholAmount &&\n item.ItemCategorySalesTypeID ===\n CategorySalesType.Alcohol.toString()\n )\n ) {\n if (!item.SoldOut) {\n const isCombo = item.IsCombo.toString();\n\n if (isCombo.toLowerCase() == 'true') {\n const comboItem =\n await this.databaseService.getPersistentComboGroupItemsAsync(\n item.ItemID\n );\n item.ComboGroup = comboItem;\n }\n\n newupSellItems.push(item);\n }\n }\n }\n }\n }\n\n this.upSellItems = newupSellItems;\n if (this.upSellItems.length <= 0) this.dismiss();\n }\n\n private addUpSellOpenItemPopup() {\n if (CommonFunctions.isItemHasModifier(this.upSellItems[0])) {\n const strItemType = CommonFunctions.getItemTypeV2(this.upSellItems[0]);\n let itemType = 1;\n\n if (strItemType == 'ItemBuilderMode') {\n itemType = 2;\n }\n\n let cipm = ComboItemPopupComponent.open(\n this.modalService,\n this.upSellItems[0],\n itemType\n );\n cipm.result.then((result: Item) => {\n this.itemsForCart.push(result);\n this.modalReference.close(this.itemsForCart);\n });\n } else {\n this.itemsForCart = this.upSellItems;\n this.modalReference.close(this.itemsForCart);\n }\n }\n\n private customizePopupOpen(elm: HTMLInputElement, item: Item) {\n let ucmc = UpsellComboMessageComponent.open(this.modalReference);\n ucmc.result.then((data: any) => {\n if (data === 'continue') {\n if (\n item.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()\n ) {\n this.onAlcoholicItem(elm, item);\n } else {\n this.openItemPopup(elm, item);\n }\n } else {\n elm.checked = false;\n return;\n }\n });\n }\n\n flag: boolean = false;\n private openItemPopup(elm: HTMLInputElement, item: Item) {\n if (this.flag) {\n return;\n }\n const inputItem = JSON.parse(JSON.stringify(item));\n\n const itemTypeStr = CommonFunctions.getItemTypeV2(item);\n let itemType = 1;\n\n if (itemTypeStr == 'ItemBuilderMode') {\n itemType = 2;\n }\n this.flag = true;\n\n let cipm = ComboItemPopupComponent.open(\n this.modalService,\n inputItem,\n itemType\n );\n\n cipm.result\n .then((data: any) => {\n if (data == 'cancel') {\n elm.checked = false;\n } else {\n const upsellItem = data as Item;\n let copy = this.itemsForCart.filter(\n (x) => x.ItemID == upsellItem.ItemID\n );\n if (copy.length) {\n this.itemsForCart = this.itemsForCart.filter(\n (x) => x.ItemID != upsellItem.ItemID\n );\n }\n if (\n upsellItem.ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString()\n ) {\n this.currAlcoholAmount += 1;\n }\n\n this.itemsForCart.push(upsellItem);\n }\n })\n .finally(() => {\n this.flag = false;\n });\n }\n\n private onAlcoholicItem(elm: HTMLInputElement, item: Item) {\n let ao21m = AlcoholicOver21DialogComponent.open(this.modalService);\n ao21m.result.then((data: any) => {\n if (data === 'over') {\n if (!this.checkCurrAlcoholMax(elm)) {\n elm.checked = true;\n if (CommonFunctions.isItemHasModifier(item)) {\n this.openItemPopup(elm, item);\n } else {\n if (\n item.ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString()\n ) {\n this.currAlcoholAmount += 1;\n }\n\n this.itemsForCart.push(item);\n }\n }\n } else {\n elm.checked = false;\n }\n });\n }\n\n private checkCurrAlcoholMax(elm: any) {\n if (this.maxAlcoholAmount == this.currAlcoholAmount) {\n AlcoholicItemExceedMaxComponent.open(this.modalService);\n elm.checked = false;\n return true;\n }\n return false;\n }\n\n async onItemSelect(e: Event, item: Item) {\n const elm = e.target as HTMLInputElement;\n const variations = await this.databaseService.getPersistentVariationsAsync(\n item.ItemID\n );\n item.Variations = variations;\n const modifier = await this.databaseService.getPersistentModifiersByIDAsync(\n item.ItemID\n );\n item.Modifiers = modifier;\n if (\n this.maxAlcoholAmount == this.currAlcoholAmount &&\n item.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()\n ) {\n AlcoholicItemExceedMaxComponent.open(this.modalService);\n elm.checked = false;\n return;\n }\n\n if (!CommonFunctions.isItemHasModifier(item)) {\n const newItem = JSON.parse(JSON.stringify(item));\n\n if (\n item.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()\n ) {\n this.onAlcoholicItem(elm, item);\n } else {\n this.addItemsInCart(item);\n }\n } else {\n // this.customizePopupOpen(elm, item);\n if (\n item.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()\n ) {\n this.onAlcoholicItem(elm, item);\n } else {\n this.openItemPopup(elm, item);\n }\n }\n }\n\n private addItemsInCart(item: Item) {\n if (!this.itemsForCart) this.itemsForCart = [] as Item[];\n\n if (this.itemsForCart.length > 0) {\n let hasPreviousItem = this.itemsForCart.filter(\n (x) => x.ItemID == item.ItemID\n );\n if (hasPreviousItem.length > 0) {\n return;\n }\n }\n\n this.itemsForCart.push(item);\n }\n\n private removeItemsFromUpsellCart(item: Item) {\n if (!this.itemsForCart) return;\n\n if (this.itemsForCart.length > 0) {\n this.itemsForCart = this.itemsForCart.filter(\n (x) => !(x.ItemID == item.ItemID && x.CategoryID == item.CategoryID)\n );\n }\n }\n\n onItemRemove(e: Event, item: Item) {\n e.preventDefault();\n e.stopPropagation();\n const cartItem = this.itemsForCart.find(\n (x) => x.ItemID == item.ItemID && x.CategoryID == item.CategoryID\n );\n\n if (!cartItem) return;\n\n if (cartItem.ItemCategorySalesTypeID === '4') {\n this.currAlcoholAmount -= Number(item.Quantity);\n }\n item.Quantity = '1';\n\n this.removeItemsFromUpsellCart(item);\n }\n\n checkItemChecked(itemId: any) {\n for (let i = 0; i < this.itemsForCart.length; i++) {\n if (this.itemsForCart[i].ItemID == itemId) {\n return true;\n }\n }\n return false;\n }\n\n increaseQuantity(e: Event, item: Item) {\n e.preventDefault();\n e.stopPropagation();\n\n let cartItem = this.itemsForCart.find(\n (x) => x.ItemID == item.ItemID && x.CategoryID == item.CategoryID\n );\n\n if (this.upSellItems.length == 1) {\n cartItem = this.upSellItems[0];\n }\n\n if (!cartItem) {\n //add item to itemsForCart\n this.onItemSelect(e, item)\n cartItem = this.itemsForCart.find(\n (x) => x.ItemID == item.ItemID && x.CategoryID == item.CategoryID\n );\n }\n if (!cartItem) return;\n\n if (\n cartItem.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()\n ) {\n if (this.currAlcoholAmount >= this.maxAlcoholAmount) {\n Snackbar.show('Order Maximum alcohol limit reached', 2500);\n return;\n } else {\n this.currAlcoholAmount += 1;\n }\n }\n\n if (\n Number(item.OrderMaximumQuantity) != 0 &&\n Number(item.OrderMaximumQuantity) > Number(item.Quantity)\n ) {\n cartItem.Quantity = (Number(cartItem.Quantity) + 1).toString();\n item.Quantity = cartItem.Quantity;\n if (this.upSellItems.length == 1) {\n this.upSellItems[0].Quantity = cartItem.Quantity;\n }\n } else {\n Snackbar.show(this.maxLimitText, 2500);\n }\n }\n\n decreaseQuantity(e: Event, item: Item) {\n e.preventDefault();\n e.stopPropagation();\n\n let cartItem = this.itemsForCart.find(\n (x) => x.ItemID == item.ItemID && x.CategoryID == item.CategoryID\n );\n\n if (this.upSellItems.length == 1) {\n cartItem = this.upSellItems[0];\n }\n\n if (!cartItem) return;\n\n if (\n cartItem.ItemCategorySalesTypeID == CategorySalesType.Alcohol.toString()\n ) {\n // if (this.upSellItems.length == 1) {\n if (Number(cartItem.Quantity) > 1) {\n this.currAlcoholAmount -= 1;\n // }\n }\n // else{\n // if (this.currAlcoholAmount >= 0) this.currAlcoholAmount -= 1;\n // }\n }\n\n if (Number(cartItem.Quantity) > 1) {\n cartItem.Quantity = (Number(cartItem.Quantity) - 1).toString();\n } else if (Number(cartItem.Quantity) == 1) {\n this.onItemRemove(e, item)\n }\n\n item.Quantity = cartItem.Quantity;\n if (this.upSellItems.length == 1) {\n this.upSellItems[0].Quantity = cartItem.Quantity;\n }\n }\n\n public static open(\n modalService: NgbModal,\n language: LanguageService,\n itemId: string,\n itemQty: number,\n itemType: number = 1,\n parentItem: ItemV2\n ) {\n let modalReference = modalService.open(UpSellDialogComponent, {\n backdrop: 'static',\n size: 'xl',\n centered: true,\n });\n\n let upSellHeaderText =\n GeneralSetting.getUpSellHeaderText() == ''\n ? language.getTextElement('title_recommendation')\n : GeneralSetting.getUpSellHeaderText();\n\n modalReference.componentInstance.itemId = itemId;\n modalReference.componentInstance.upsellHeaderText = upSellHeaderText;\n\n modalReference.componentInstance.itemType = itemType;\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.parentItem = parentItem;\n modalReference.componentInstance.parentQuantity = itemQty;\n\n return modalReference;\n }\n\n open(\n itemId: string,\n itemQty: number,\n itemType: number = 1,\n parentItem: ItemV2\n ) {\n let modalReference = this.modalService.open(UpSellDialogComponent, {\n backdrop: 'static',\n size: 'xl',\n centered: true,\n });\n modalReference.componentInstance.itemId = itemId;\n modalReference.componentInstance.upsellHeaderText =\n this.upsellHeaderText == ''\n ? this.language.getTextElement('title_recommendation')\n : this.upsellHeaderText;\n modalReference.componentInstance.itemType = itemType;\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.parentItem = parentItem;\n modalReference.componentInstance.parentQuantity = itemQty;\n this.modalReference = modalReference;\n return this.modalReference;\n }\n\n dismiss() {\n if (this.modalReference) this.modalReference.close('cancel');\n }\n\n async addUpSellItemToOrderV2() {\n if (this.itemsForCart.length === 0) {\n if (this.upSellItems.length == 1) {\n const variations =\n await this.databaseService.getPersistentVariationsAsync(\n this.upSellItems[0].ItemID\n );\n this.upSellItems[0].Variations = variations;\n const modifier =\n await this.databaseService.getPersistentModifiersByIDAsync(\n this.upSellItems[0].ItemID\n );\n this.upSellItems[0].Modifiers = modifier;\n\n CommonFunctions.checkForSoldOutV2(this.upSellItems[0]).then(\n (data: ModifierV2[]) => {\n if (data.length > 0) {\n if (GeneralSetting.getIsmDoNotAllowAddToCartKiosk() == 'True') {\n OutOfStockComponent.open(this.modalService, this.language, 1);\n } else {\n this.soldOutPath(data, this.upSellItems[0]);\n }\n } else {\n this.checkUpsellItem();\n }\n }\n );\n } else {\n let error = this.language.getTextElement('please_select_item');\n Snackbar.show(error, 3000);\n }\n } else {\n this.modalReference.close(this.itemsForCart);\n }\n }\n\n private checkUpsellItem() {\n if (\n this.upSellItems[0].ItemCategorySalesTypeID ==\n CategorySalesType.Alcohol.toString()\n ) {\n let ao21m = AlcoholicOver21DialogComponent.open(this.modalService);\n ao21m.result.then((data: any) => {\n if (data === 'over') {\n this.addUpSellOpenItemPopup();\n return true;\n }\n\n return false;\n });\n } else {\n this.addUpSellOpenItemPopup();\n }\n }\n\n // Show dialog of 'Allow Add item to cart'\n private soldOutPath(data: ModifierV2[], item: ItemV2) {\n let socm = SoldOutComponent.open(this.modalService, data, item);\n socm.result.then((data: string) => {\n if (data == 'continue') {\n this.checkUpsellItem();\n }\n //else{}\n //no else block\n //if reached, user selected back to menu\n });\n }\n}\n","","\nexport class StringUtils {\n static discount_exced_total = \"The applied discount cannot exceed the subtotal amount. Would you like to remove the discount?\";\n static discount_items_not_available = \"You dont have enough items to apply this discount,do you want to add them to cart?\";\n static only_one_discount_apply_msg = \"We can only apply one discount per order,Do you want to use this discount instead?\";\n static yes = \"Yes\";\n static no = \"No\";\n}\nexport enum ALERT_TYPE {\n DISCOUNT_REMOVE_ALERT = 1,\n DISCOUNT_NOT_APPLY = 2\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-usconnect-balance-low',\n templateUrl: './usconnect-balance-low.component.html',\n styleUrls: ['./usconnect-balance-low.component.css']\n})\nexport class UsconnectBalanceLowComponent implements OnInit,OnDestroy {\n\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n modalReference: any;\n\n checkoutText:string=''\n\n notEnoughBalanceText:string=''\n\n tryDifferentMethodText:string=''\n\n useAnotherMethodText:string=''\n\n languageSub!: Subscription;\n\n constructor(private modalService: NgbModal,private language: LanguageService) {}\n\n loadText() {\n this.checkoutText = this.language.getTextElement('lbl_checkout');\n this.notEnoughBalanceText = this.language.getTextElement('not_enough_balance');\n this.tryDifferentMethodText = this.language.getTextElement('card_insufficient_funds_try_different_method');\n this.useAnotherMethodText = this.language.getTextElement('use_another_method');\n }\n\n ngOnInit(): void { }\n\n public static open(modelService: NgbModal) {\n var modalReference = modelService.open(UsconnectBalanceLowComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n\n close(event: string) {\n this.modalReference.close(event);\n }\n\n}\n","\n \n
\n \n
{{checkoutText}} \n
{{notEnoughBalanceText}} \n
{{tryDifferentMethodText}} \n \n
\n
\n
\n\n \n
\n \n {{useAnotherMethodText|uppercase}}\n \n
\n \n
\n
\n \n\n\n ","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-ask-configure-your-device',\n templateUrl: './ask-configure-your-device.component.html',\n styleUrls: ['./ask-configure-your-device.component.css'],\n})\nexport class AskConfigureYourDeviceComponent implements OnInit,OnDestroy {\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n \n ref: any;\n \n languageSub!: Subscription;\n \n configureText: string = '';\n \n yesText: string = '';\n \n noText: string = '';\n \n constructor(\n private modalService: NgbModal,\n private language: LanguageService\n ) {}\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n loadText() {\n this.configureText = this.language.getTextElement(\n 'txt_do_you_want_to_configure_your_device'\n );\n this.noText = this.language.getTextElement('txt_no');\n this.yesText = this.language.getTextElement('txt_yes');\n }\n\n public static open(modalService: NgbModal) {\n let ref = modalService.open(AskConfigureYourDeviceComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n ref.componentInstance.ref = ref;\n return ref;\n }\n\n open() {\n this.ref = this.modalService.open(AskConfigureYourDeviceComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n this.ref.componentInstance.ref = this.ref;\n }\n\n cancelModal = () => {\n this.ref.close('no');\n };\n \n configureDevice = () => {\n this.ref.close('yes');\n };\n\n}\n","\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { CartService } from 'src/app/services/cart.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\n@Component({\n selector: 'app-level-up-modal',\n templateUrl: './level-up-modal.component.html',\n styleUrls: ['./level-up-modal.component.css']\n})\nexport class LevelUpModalComponent implements OnInit,OnDestroy {\n modalReference!: NgbModalRef;\n languageSub!:Subscription\n branchName:string=GeneralSetting.getBranchName()\n total: number=0\n subtotal: number=0\n tax: number=0\n discount: number=0\n reward: number=0\n shipping: number=0\n case:number=0\n showPayment:boolean=false\n checkoutText:string=''\n totalDueText:string=''\n transactionDeclinedText:string=''\n paymentDeclinedText:string=''\n tryAgainOrUseAnotherMethodText:string=''\n scanQRCodeText:string=''\n tryAgainText:string=''\n tryAnotherMethodText:string=''\n constructor(private readonly modalService: NgbModal, private readonly cart:CartService, private language:LanguageService) {\n \n }\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.checkoutText=this.language.getTextElement('lbl_checkout')\n this.totalDueText=this.language.getTextElement('is_the_total_due').replace('%d',GeneralSetting.getCurrencySymbol()+this.cart.total.toFixed(2).toString() )\n this.transactionDeclinedText=this.language.getTextElement('transaction_declined')\n this.paymentDeclinedText=this.language.getTextElement('your_payment_is_declined')\n this.tryAgainOrUseAnotherMethodText=this.language.getTextElement('please_try_again_or_try_another_payment_method')\n this.scanQRCodeText=this.language.getTextElement('scan_your_qr_code_in_the_loyalty_app_to_use_your_card_on_file_to_complete_payment').replace('%d',this.branchName)\n this.tryAgainText=this.language.getTextElement('try_again')\n this.tryAnotherMethodText=this.language.getTextElement('try_another_method')\n }\n ngOnInit(): void {\n this.total=this.cart.total\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n open(total:number,subtotal:number,tax:number,shipping:number,discount:number,reward:number,c:number=1,showPayment:boolean=false) {\n const modalReference=this.modalService.open(LevelUpModalComponent, {\n backdrop: 'static',\n centered: true,\n size: 'lg',\n });\n modalReference.componentInstance.total=total;\n modalReference.componentInstance.subtotal=subtotal;\n modalReference.componentInstance.tax=tax;\n modalReference.componentInstance.shipping=shipping;\n modalReference.componentInstance.discount=discount;\n modalReference.componentInstance.reward=reward;\n modalReference.componentInstance.case=c;\n modalReference.componentInstance.modalReference=modalReference;\n this.modalReference=modalReference;\n }\n clear(c:number=0) {\n var messageType = 'stopScanner';\n var message = {\n messageType: messageType,\n };\n window.top!.postMessage(message, '*');\n this.modalReference.close(c);\n }\n}\n","\n
\n
\n × \n \n \n
\n
\n
\n
\n
{{ totalDueText }} \n
\n
\n
\n
\n {{ scanQRCodeText }}\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n\n
\n {{tryAgainText|uppercase}}\n \n
\n {{tryAnotherMethodText|uppercase}}\n \n
\n
\n
\n","import { Inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PreloaderService {\n private selector = 'globalLoader';\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n private getElement() {\n return this.document.getElementById(this.selector);\n }\n\n hide() {\n const el = this.getElement();\n if (el) {\n el.addEventListener('transitionend', () => {\n el.className = 'global-loader-hidden';\n });\n\n if (!el.classList.contains('global-loader-hidden')) {\n el.className += ' global-loader-fade-out';\n }\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { RefundSuccessComponent } from './refund-success.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RefundSuccessDialogService {\n constructor(private modalService: NgbModal) {}\n\n public async openRefundSuccessDialog() {\n return new Promise((resolve, reject) => {\n let ref = RefundSuccessComponent.open(this.modalService);\n ref.result.then((data: any) => {\n resolve(data);\n });\n });\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { start } from 'repl';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DateService {\n constructor() {}\n\n todayBetweenDates(startDate: Date, endDate: Date): boolean {\n let today = new Date().getTime();\n if (today <= endDate.getTime() && today >= startDate.getTime()) {\n return true;\n }\n return false;\n }\n\n convertTime12to24 = (time12h: string) => {\n var [month, day, year, time] = time12h.split(' ');\n\n if (!time && !year) {\n time = day;\n }\n\n const modifier = time.slice(0, -2);\n time = time.slice(0, time.length - 2);\n let [hours, minutes] = time.split(':');\n\n if (hours === '12') {\n hours = '00';\n }\n\n if (modifier === 'PM') {\n hours = (parseInt(hours, 10) + 12).toString();\n }\n\n if (!year) {\n var d = new Date(time12h);\n month = '' + (d.getMonth() + 1);\n day = '' + d.getDate();\n year = ''+ d.getFullYear();\n }\n\n return `${month} ${day} ${year} ${hours}:${minutes}`;\n };\n}\n","import {\n state,\n trigger,\n style,\n animate,\n transition,\n query,\n stagger,\n group,\n sequence,\n keyframes,\n animateChild,\n AnimationMetadataType,\n} from '@angular/animations';\n// drop 100px\nlet categoryAnim = trigger('categoryAnim', [\n state('void', style({ opacity: 0 })),\n transition('void => drop', [animate('1s')]),\n]);\nlet drop = trigger('drop', [\n state('void', style({ transform: 'translateY(-100%)' })),\n transition(':enter', [animate('1s')]),\n]);\n// cart items sliding animation\nlet cartSlideIn = trigger('cartSlideIn', [\n transition(':enter', [\n // when each individial item enters\n query(\n ':enter',\n [style({ opacity: 0 }), stagger('200ms', [animate('500ms')])],\n { optional: true }\n ),\n ]),\n]);\n// simple fade animation\nlet fade = trigger('fade', [\n state('void', style({ opacity: 0 })),\n transition(':enter', [animate(1000)]),\n]);\nlet pulse = trigger('pulse', [\n state('inactive', style({ opacity: 0 })),\n state('active', style({ opacity: 1 })),\n transition('* <=> *', [animate(2000)]),\n]);\n// staggering fade animation for order review\nlet fadeInGrow = trigger('fadeInGrow', [\n transition(':enter', [\n query(\n ':enter',\n [style({ opacity: 0 }), stagger('200ms', [animate('500ms')])],\n { optional: true }\n ),\n ]),\n]);\n\nlet modifierFade = trigger('modifierFade', [\n state('ready', style({})),\n transition('* => *', [\n query(\n ':enter',\n [style({ opacity: 0 }), stagger('100ms', [animate('300ms')])],\n { optional: true }\n ),\n ]),\n]);\n\nlet modifierSlideStagger = trigger('modifierSlideStagger', [\n transition('* <=> *', [\n query(':enter', style({ opacity: 0 }), { optional: true }),\n query(\n ':enter',\n stagger('300ms', [\n animate(\n '.5s ease-in',\n keyframes([\n style({ opacity: 0, transform: 'translateX(-50%)', offset: 0 }),\n style({\n opacity: 0.5,\n transform: 'translateX(-10px) scale(1.1)',\n offset: 0.3,\n }),\n style({ opacity: 1, transform: 'translateX(0)', offset: 1 }),\n ])\n ),\n ]),\n { optional: true }\n ),\n ]),\n]);\n\n\nlet buttonAnim = trigger('buttonAnim', [\n state(\n 'void',\n style({\n background: 'linear-gradient(to right, red 50%, green 50%)',\n transition: 'all 0.3s ease-out',\n backgroundPosition: 'right bottom',\n display: 'block',\n backgroundSize: '200% 100%',\n })\n ),\n state(\n 'active',\n style({\n backgroundPosition: 'left bottom',\n })\n ),\n state(\n 'active2',\n style({\n backgroundPosition: 'left bottom',\n })\n ),\n transition('* <=> *', [animate('1s')]),\n]);\n\n// make order here text bigger and smaller continuosly to grab customers attentions\nlet order = trigger('order', [\n state('inactive', style({ fontSize: 100 })),\n state('active', style({ fontSize: 150 })),\n state('void', style({ fontSize: 150 })),\n transition('* <=> *', [animate('1s')]),\n]);\n// slide in for modifier items\nlet modifierSlide = trigger('modifierSlide', [\n state('void', style({ transform: 'translateX(-100%)' })),\n transition('void <=> *', [\n // use key frames to make a bouncing effect\n animate(\n '1.5s',\n keyframes([\n style({ transform: 'translateX(-100%)', offset: 0.6 }),\n style({ transform: 'translateX(30%)', offset: 0.8 }),\n style({ transform: 'translateX(0)', offset: 1 }),\n ])\n ),\n ]),\n]);\n\nlet modifiers = trigger('modifiers', [\n transition(':enter', [\n query('@*', [style({ opacity: 0 }), stagger('200ms', [animate('500ms')])], {\n optional: true,\n }),\n ]),\n]);\n\nfunction leftSlide() {\n var data: any[] = [];\n data.push(\n style({ position: 'relative' }),\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n }),\n ],\n { optional: true }\n ),\n query(':enter', [style({ left: '100%' })], { optional: true }),\n query(':leave', animateChild(), { optional: true }),\n group([\n query(':leave', [animate('300ms ease-out', style({ left: '-100%' }))], {\n optional: true,\n }),\n query(':enter', [animate('300ms ease-out', style({ left: '0%' }))], {\n optional: true,\n }),\n ]),\n query(':enter', animateChild(), { optional: true })\n );\n\n return data;\n}\n\nfunction rightSlide() {\n var data: any[] = [];\n data.push(\n style({ position: 'relative' }),\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n }),\n ],\n { optional: true }\n ),\n query(':enter', [style({ left: '-100%' })], { optional: true }),\n query(':leave', animateChild(), { optional: true }),\n group([\n query(':leave', [animate('300ms ease-out', style({ left: '100%' }))], {\n optional: true,\n }),\n query(':enter', [animate('300ms ease-out', style({ left: '0%' }))], {\n optional: true,\n }),\n ]),\n query(':enter', animateChild(), { optional: true })\n );\n\n return data;\n}\n\nfunction routefade() {\n var data: any[] = [];\n data.push(\n style({ position: 'relative' }),\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n }),\n ],\n { optional: true }\n ),\n query(':enter', [style({ opacity: 0 })], { optional: true }),\n query(':leave', animateChild(), { optional: true }),\n group([\n query(':leave', [animate('1000ms ease-out', style({ opacity: 0 }))], {\n optional: true,\n }),\n query(':enter', [animate('1000ms ease-out', style({ opacity: 1 }))], {\n optional: true,\n }),\n ]),\n query(':enter', animateChild(), { optional: true })\n );\n\n return data;\n}\n\nlet slideInAnimation = trigger('routeAnimations', [\n // transition('managerPasscode => touchToStart', []),\n // transition('* => branchLogin', rightSlide()),\n // transition('settings => managerPasscode', rightSlide()),\n // transition('* => touchToStart', routefade()),\n // transition('touchToStart => menu', []),\n // transition('* => menu', rightSlide()),\n // transition('* <=> *', leftSlide()),\n]);\n\nexport {\n categoryAnim,\n fade,\n cartSlideIn,\n pulse,\n order,\n fadeInGrow,\n modifierSlide,\n drop,\n // positiveButtonChange,\n // negativeButtonChange,\n modifiers,\n modifierFade,\n buttonAnim,\n modifierSlideStagger,\n slideInAnimation,\n};\n","import { PrinterService } from 'src/app/services/printer.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CategoryReport, CreditCardsSalesBreakdownListItem } from 'src/app/models/categoryReport';\nimport { DataService } from 'src/app/services/data.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-settings-z-report',\n templateUrl: './settings-z-report.component.html',\n styleUrls: ['./settings-z-report.component.css'],\n})\nexport class SettingsZReportComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n categories: CategoryReport[] = [];\n totalCategorySales: string = '0.00';\n totalCategoryQty: string = '0.00';\n dataService: DataService;\n @Input() zReport: any;\n\n dt: Date = new Date();\n\n selectedDate: Date = new Date();\n grossSalesDisplay: string = '0.00';\n discounts: string = '0.00';\n refunds: string = '0.00';\n netSales: string = '0.00';\n fees: string = '0.00';\n taxes: string = '0.00';\n tips: string = '0.00';\n amountCollect: string = '0.00';\n openOrders: string = '0.00';\n totalOrders: string = '0.00';\n totalCashOrders: string = '0.00';\n totalCreditOrders: string = '0.00';\n totalCash: string = '0.00';\n totalCredit: string = '0.00';\n kioskSales: string = '0.00';\n totalTenderOrders: string = '0.00';\n totalTenderNetSales: string = '0.00';\n totalTenderOrderTaxes: string = '0.00';\n totalTenderOrderTips: string = '0.00';\n totalTenderOrderFees: string = '0.00';\n totalTenderAmountCollected: string = '0.00';\n totalHouseOrders: string = '0.00';\n totalHouseNetSales: string = '0.00';\n totalHouseOrderTaxes: string = '0.00';\n totalHouseOrderTips: string = '0.00';\n totalHouseOrderFees: string = '0.00';\n totalHouseAmountCollected: string = '0.00';\n totalNetOtherOrders: string = '0.00';\n totalNonCashFees: string = '0.00';\n orderDiscounts: string = '0.00';\n loyaltyDiscounts: string = '0.00';\n totalDiscounts: string = '0.00';\n totalGiftCardRedemptions: string = '0.00';\n complimentary: string = '0.00';\n categoryTotal: string = '0.00';\n totalRefunds: string = '0.00';\n canceledOrdersTotal: string = '0.00';\n cashTips: string = '0.00';\n creditCardTips: string = '0.00';\n tenderTips: string = '0.00';\n houseTips: string = '0.00';\n totalTips: string = '0.00';\n zReportDisplay: any = [];\n creditCardsSales: CreditCardsSalesBreakdownListItem[] = [];\n\n constructor(\n DataService: DataService,\n private logger: LogService,\n private datePipe: DatePipe,\n private printService: PrinterService,\n private language: LanguageService\n ) {\n this.dataService = DataService;\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n )\n }\n grossSalesText:string=''\n zReportText:string=''\n netSalesText:string=''\n totalText:string=''\n printText:string=''\n discountsLoyaltyText:string=''\n refundsText:string=''\n feesText:string=''\n taxesText:string=''\n tipsText:string=''\n amountCollectedText:string=''\n openOrdersText:string=''\n paymentTypesText:string=''\n totalOrdersText:string=''\n totalCashText:string=''\n totalCreditText:string=''\n channelSalesText:string=''\n kioskSalesText:string=''\n otherPaymentSummaryText:string=''\n totalTenderOrdersText:string=''\n totalTenderOrderTaxesText:string=''\n totalTenderNetSalesText:string=''\n totalTenderOrderTipsText:string=''\n totalTenderOrderFeesText:string=''\n totalTenderAmountCollectedText:string=''\n totalHouseOrdersText:string=''\n totalHouseNetSalesText:string=''\n totalHouseOrderTaxesText:string=''\n totalHouseOrderTipsText:string=''\n totalHouseOrderFeesText:string=''\n totalHouseAmountCollectedText:string=''\n totalNetOtherOrdersText:string=''\n feesSummaryText:string=''\n totalNonCashFeesText:string=''\n discountLoyaltySummaryText:string=''\n orderDiscountsText:string=''\n loyaltyDiscountsText:string=''\n totalDiscountsText:string=''\n totalGiftRedemptionsText:string=''\n complimentaryText:string=''\n salesByCategoryText:string=''\n totalSalesText:string=''\n canceledOrdersSummaryText:string=''\n totalRefundsText:string=''\n tipSummaryText:string=''\n cashTipsText:string=''\n creditCardTipsText:string=''\n tenderTipsText:string=''\n houseTipsText:string=''\n totalTipsText:string=''\n creditCardSalesText:string=''\n\n loadText() {\n this.zReportText = this.language.getTextElement('lbl_reports_z')\n this.grossSalesText = this.language.getTextElement('lbl_reports_gross_sales')\n this.netSalesText = this.language.getTextElement('lbl_reports_net_sales')\n this.zReportText = this.language.getTextElement('text_total')\n this.printText = this.language.getTextElement('lbl_print')\n this.discountsLoyaltyText = this.language.getTextElement('lbl_discounts_loyalty')\n this.refundsText = this.language.getTextElement('refunds')\n this.feesText = this.language.getTextElement('lbl_fees')\n this.taxesText = this.language.getTextElement('lbl_taxes')\n this.tipsText = this.language.getTextElement('lbl_tips')\n this.amountCollectedText = this.language.getTextElement('lbl_amount_collected')\n this.openOrdersText = this.language.getTextElement('lbl_open_orders')\n this.paymentTypesText = this.language.getTextElement('payment_types')\n this.totalOrdersText = this.language.getTextElement('lbl_total_orders')\n this.totalCashText = this.language.getTextElement('lbl_total_cash')\n this.totalCreditText = this.language.getTextElement('lbl_total_credit')\n this.channelSalesText = this.language.getTextElement('channel_sales')\n this.kioskSalesText = this.language.getTextElement('lbl_kiosk_sales')\n this.otherPaymentSummaryText = this.language.getTextElement('other_payment_types_summary')\n this.totalTenderOrdersText = this.language.getTextElement('lbl_total_tender_orders')\n this.totalTenderNetSalesText = this.language.getTextElement('lbl_total_tender_net_sales')\n this.totalTenderOrderTaxesText = this.language.getTextElement('total_tender_order_taxes')\n this.totalTenderOrderTipsText = this.language.getTextElement('lbl_total_tender_order_tips')\n this.totalTenderOrderFeesText = this.language.getTextElement('lbl_total_tender_order_fees')\n this.totalTenderAmountCollectedText = this.language.getTextElement('lbl_total_tender_amount_collected')\n this.totalHouseOrdersText = this.language.getTextElement('lbl_total_house_orders')\n this.totalHouseNetSalesText = this.language.getTextElement('lbl_total_house_net_sales')\n this.totalHouseOrderTaxesText = this.language.getTextElement('lbl_total_house_order_taxes')\n this.totalHouseOrderTipsText = this.language.getTextElement('lbl_total_house_order_tips')\n this.totalHouseOrderFeesText = this.language.getTextElement('lbl_total_house_order_fees')\n this.totalHouseAmountCollectedText = this.language.getTextElement('lbl_total_house_amount_collected')\n this.totalNetOtherOrdersText = this.language.getTextElement('lbl_total_net_other_orders')\n this.feesSummaryText = this.language.getTextElement('fees_summary')\n this.totalNonCashFeesText = this.language.getTextElement('lbl_total_non_cash_fees')\n this.discountLoyaltySummaryText = this.language.getTextElement('discount_loyalty_summary')\n this.orderDiscountsText = this.language.getTextElement('lbl_order_discounts')\n this.loyaltyDiscountsText = this.language.getTextElement('lbl_loyalty_discounts')\n this.totalDiscountsText = this.language.getTextElement('lbl_total_discounts')\n this.totalGiftRedemptionsText = this.language.getTextElement('lbl_total_gift_card_redemptions')\n this.complimentaryText = this.language.getTextElement('lbl_complimentary')\n this.salesByCategoryText = this.language.getTextElement('sales_by_category')\n this.totalSalesText = this.language.getTextElement('lbl_total_sales')\n this.canceledOrdersSummaryText = this.language.getTextElement('canceled_orders_summary')\n this.totalRefundsText = this.language.getTextElement('lbl_total_refunds')\n this.tipSummaryText = this.language.getTextElement('tip_summary')\n this.cashTipsText = this.language.getTextElement('lbl_cash_tips')\n this.creditCardTipsText = this.language.getTextElement('lbl_credit_card_tips')\n this.tenderTipsText = this.language.getTextElement('lbl_tender_tips')\n this.houseTipsText = this.language.getTextElement('lbl_house_tips')\n this.totalTipsText = this.language.getTextElement('lbl_total_tips')\n this.totalText = this.language.getTextElement('text_total')\n this.creditCardSalesText = this.language.getTextElement('credit_card_sales_breakdown')\n }\n ngOnInit(): void {\n this.parseData(this.zReport)\n // const input = document.querySelector(\"input[type='date']\");\n // if (input != null) (input).valueAsDate = new Date();\n }\n\n setDate(e: any) {\n // this.dateDisplay = e.target.value;\n this.dt = e;\n const a = this.datePipe.transform(this.dt, 'MMM d YYYY');\n // on date change reset categories array\n this.categories = [];\n this.allSubsCription.push(\n this.dataService\n .getZreport(a!.toString(), a!.toString())\n .subscribe(\n (val) => {\n this.zReport = val;\n this.parseData(JSON.parse(JSON.stringify(val)));\n var log = new loggingData(\n 'Z Report',\n 'Success',\n 'General',\n 'Z report from cloud are successful',\n false\n );\n\n this.logger.sendLogToServer(log);\n },\n (response) => {\n var log = new loggingData(\n 'POS Z report',\n 'POS Z report Api Failed',\n 'POS Z report',\n response,\n true\n );\n\n this.logger.sendLogToServer(log);\n },\n () => { }\n )\n );\n\n var date = Date.parse(e);\n this.selectedDate = new Date(date);\n\n this.dt = this.selectedDate;\n }\n\n dateTime() {}\n\n parseData(data: any): void {\n var zData = data.data.NewZReport.ZReport;\n // console.log(zData);\n\n // let keys = Object.keys(zData);\n // let values = Object.values(zData);\n\n // for (var i = 0; i < keys.length; i++) {\n // keys[i] = keys[i].replace(/([a-z])([A-Z])/g, '$1 $2');\n // this.zReportDisplay.push({ keys: keys[i], values: values[i] });\n // }\n\n // console.log(keys, this.zReportDisplay, zData);\n\n var len = zData.SalesByCategoryList\n ? zData.SalesByCategoryList.length\n : 0;\n for (var i = 0; i < len; i++) {\n var categoryData = zData.SalesByCategoryList[i];\n var category: CategoryReport = {\n name: categoryData.CategoryName,\n quantity: categoryData.TotalItemQty,\n sales: categoryData.TotalItemTotal,\n };\n this.categories.push(category);\n }\n\n if (zData && zData.SalesByCategoryList && zData.SalesByCategoryList[0]) {\n this.totalCategoryQty = zData.SalesByCategoryList\n ? zData.SalesByCategoryList[0].TotalSalesByCategoryQty\n : 0;\n this.totalCategorySales = zData.SalesByCategoryList\n ? zData.SalesByCategoryList[0].TotalSalesByCategoryAmount\n : 0;\n } else {\n this.totalCategorySales = '0.00';\n this.totalCategoryQty = '0.00';\n }\n\n this.grossSalesDisplay = zData.TotalGrossSales;\n this.discounts = zData.TotalDiscounts;\n this.refunds = zData.TotalRefunds;\n this.netSales = zData.TotalNetSales;\n this.fees = zData.TotalFees;\n this.taxes = zData.TotalTaxes;\n this.tips = zData.TotalTips;\n this.amountCollect = zData.AmmountCollected;\n this.openOrders = zData.OpenOrders;\n this.totalOrders = zData.TotalOrders;\n this.totalCashOrders = zData.TotalCashOrders;\n this.totalCreditOrders = zData.TotalCreditOrders;\n this.totalCash = zData.TotalCash;\n this.totalCredit = zData.TotalCredit;\n this.kioskSales = zData.KioskSales;\n this.totalTenderOrders = zData.TotalTenderOrders;\n this.totalTenderNetSales = zData.TotalTenderNetSales;\n this.totalTenderOrderTaxes = zData.TotalTenderOrderTaxes;\n this.totalTenderOrderTips = zData.TotalTenderOrderTips;\n this.totalTenderOrderFees = zData.TotalTenderOrderFees;\n this.totalTenderAmountCollected = zData.TotalTenderGrossSales;\n this.totalHouseOrders = zData.TotalHouseOrders;\n this.totalHouseNetSales = zData.TotalHouseNetSales;\n this.totalHouseOrderTaxes = zData.TotalHouseOrderTaxes;\n this.totalHouseOrderTips = zData.TotalHouseOrderTips;\n this.totalHouseOrderFees = zData.TotalHouseOrderFees;\n this.totalHouseAmountCollected = zData.TotalHouseGrossSales;\n this.totalNetOtherOrders = zData.TotalNetOtherOrders;\n this.totalNonCashFees = zData.TotalNonCashFees;\n this.orderDiscounts = zData.OrderDiscounts;\n this.loyaltyDiscounts = zData.LoyaltyDiscounts;\n this.totalDiscounts = zData.TotalDiscounts;\n this.totalGiftCardRedemptions = zData.TotalGiftCardRedemptions;\n this.complimentary = zData.Complimentary;\n this.totalRefunds = zData.TotalRefunds;\n this.cashTips = zData.CashTips;\n this.creditCardTips = zData.CreditCardTips;\n this.tenderTips = zData.TenderTips;\n this.houseTips = zData.HouseTips;\n this.totalTips = zData.TotalTips;\n this.canceledOrdersTotal = zData.TotalCanceledOrdersSummary;\n\n this.creditCardsSales = [];\n var len = zData.CreditCardsSalesBreakdownList\n ? zData.CreditCardsSalesBreakdownList.length\n : 0;\n for (var i = 0; i < len; i++) {\n var creditCardSalesData = zData.CreditCardsSalesBreakdownList[i];\n var creditCardSales: CreditCardsSalesBreakdownListItem = {\n NetworkName : creditCardSalesData.NetworkName,\n OrderTotal: creditCardSalesData.OrderTotal,\n };\n this.creditCardsSales.push(creditCardSales);\n }\n }\n\n print() {\n let zData = this.zReport.data.NewZReport.ZReport;\n // console.log('printing z report', zData);\n this.printService.KioskDataPrint({\n type: 'ZReport',\n data: zData,\n });\n }\n}\n","\n
{{zReportText}} \n \n \n \n \n \n\n \n\n\n\n
{{grossSalesText}}
\n
\n {{ grossSalesDisplay | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{discountsLoyaltyText}}
\n
\n {{ discounts | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n\n
{{refundsText}}
\n
\n {{ refunds | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{netSalesText}}
\n
\n {{ netSales | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{feesText}}
\n
\n {{ fees | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{taxesText}}
\n
\n {{ taxes | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{tipsText}}
\n
\n {{ tips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{amountCollectedText}}
\n
\n {{ amountCollect | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{openOrdersText}}
\n
\n {{ openOrders | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n {{paymentTypesText}} \n
\n\n
{{totalOrdersText}}
\n
{{ totalOrders }}
\n
\n\n
\n {{totalCashText}} {{ totalCashOrders }} \n
\n
\n {{ totalCash | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
\n {{totalCreditText}} {{ totalCreditOrders }} \n
\n
\n {{ totalCredit | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n \n\n {{channelSalesText}} \n
\n\n
{{kioskSalesText}}
\n
\n {{ kioskSales | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n 0\">\n {{creditCardSalesText}} \n
\n\n
{{ ccSales.NetworkName }}:
\n
\n {{ ccSales.OrderTotal | number: \"1.2-2\" | CurrencyPipe }} \n
\n
\n\n \n\n {{otherPaymentSummaryText}} \n
\n\n\n
{{totalTenderOrdersText}}
\n
{{ totalTenderOrders }}
\n
\n\n
{{totalTenderNetSalesText}}
\n
\n {{ totalTenderNetSales | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalTenderOrderTaxesText}}
\n
\n {{ totalTenderOrderTaxes | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalTenderOrderTipsText}}
\n
\n {{ totalTenderOrderTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalTenderOrderFeesText}}
\n
\n {{ totalTenderOrderFees | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalTenderAmountCollectedText}}
\n
\n {{ totalTenderAmountCollected | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n\n
{{totalHouseOrdersText}}
\n
{{ totalHouseOrders }}
\n
\n\n\n
{{totalHouseNetSalesText}}
\n
\n {{ totalHouseNetSales | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalHouseOrderTaxesText}}
\n
\n {{ totalHouseOrderTaxes | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalHouseOrderTipsText}}
\n
\n {{ totalHouseOrderTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalHouseOrderFeesText}}
\n
\n {{ totalHouseOrderFees | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalHouseAmountCollectedText}}
\n
\n {{ totalHouseAmountCollected | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalNetOtherOrdersText}}
\n
\n {{ totalNetOtherOrders | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n {{feesSummaryText}} \n
\n\n
{{totalNonCashFeesText}}
\n
\n {{ totalNonCashFees | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n {{discountLoyaltySummaryText}} \n
\n\n
{{orderDiscountsText}}
\n
\n {{ orderDiscounts | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{loyaltyDiscountsText}}
\n
\n {{ loyaltyDiscounts | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalDiscountsText}}
\n
\n {{ totalDiscounts | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalGiftRedemptionsText}}
\n
\n {{ totalGiftCardRedemptions | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{complimentaryText}}
\n
\n {{ complimentary | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n\n\n\n {{salesByCategoryText}} \n
\n\n
{{ category.name }}:
\n
\n {{ category.quantity | number: \"1.0\" }} \n ({{ category.sales | number: \"1.2-2\" | CurrencyPipe }}) \n
\n
\n\n\n
{{totalText}}
\n
\n {{ totalCategoryQty | number: \"1.0\" }}\n
\n
\n\n\n
{{totalSalesText}}
\n
\n ({{\n (totalCategorySales ? totalCategorySales : \"\")\n | number: \"1.2-2\"\n | CurrencyPipe\n }})\n
\n
\n\n \n\n\n {{canceledOrdersSummaryText}} \n
\n\n
{{totalRefundsText}}
\n
\n {{ totalRefunds | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalText}}
\n
\n {{ canceledOrdersTotal | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n {{tipSummaryText}} \n
\n\n
{{cashTipsText}}
\n
\n {{ cashTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{creditCardTipsText}}
\n
\n {{ creditCardTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{tenderTipsText}}
\n
\n {{ tenderTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{houseTipsText}}
\n
\n {{ houseTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n
{{totalTipsText}}
\n
\n {{ totalTips | number: \"1.2-2\" | CurrencyPipe }}\n
\n
\n\n{{printText}} \n \n ","import { Injectable } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AskDeviceNameComponent } from './ask-device-name.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AskDeviceNamePopupService {\n\n constructor(private modalService:NgbModal) \n { }\n\n private AskDeviceNameRef:AskDeviceNameComponent | null = null;\n\n public open() {\n this.close();\n\n let modalRef = AskDeviceNameComponent.open(this.modalService);\n modalRef.componentInstance.doit();\n this.AskDeviceNameRef = modalRef.componentInstance;\n return modalRef;\n }\n\n public close(){\n if(this.AskDeviceNameRef && this.AskDeviceNameRef != null){\n this.AskDeviceNameRef.close();\n }\n }\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { defaults } from 'lodash';\nimport { Subscription } from 'rxjs';\nimport Keyboard from 'simple-keyboard';\nimport { Guid } from 'src/app/models/Guid';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { LanguageService } from 'src/app/services/language.service';\n@Component({\n selector: 'app-soft-keyboard',\n templateUrl: './soft-keyboard.component.html',\n styleUrls: ['./soft-keyboard.component.css'],\n})\nexport class SoftKeyboardComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n value = '';\n keyboard: Keyboard | undefined;\n selectedInput: any;\n currentLayout = 'default';\n lockUpperCase = '';\n\n layoutFilters: any = {\n default: function (str: any): String {\n return str;\n },\n shift: function (str: any): String {\n return str;\n },\n defSpan: function (str: any): String {\n return str;\n },\n defSpanAcc: function (str: any): String {\n return str;\n },\n grubbrrLogin: function (str: any): String {\n return str;\n },\n numeric: function (str: any): String {\n return str.replace(/\\D+/g, '');\n },\n alpha: function (str: any): String {\n return str;\n },\n alphaNumeric: function (str: any): String {\n return str;\n },\n };\n setInputCaretPosition(elem:any, pos:any){\n if (elem.setSelectionRange) {\n elem.focus();\n elem.setSelectionRange(pos, pos);\n /**\n * Scrolling when caret is at the end of input\n */\n if (pos === elem.value.length) elem.scrollLeft = elem.scrollWidth;\n }\n };\n\n ngAfterViewInit(): void {\n this.keyboard = new Keyboard({\n onChange: (input) =>\n this.KeyboardService.manual\n ? this.onChange2(input)\n : this.onChange(input),\n onKeyPress: (button: any) => this.onKeyPress(button),\n disableCaretPositioning: true,\n preventMouseDownDefault: true,\n newLineOnEnter: false,\n layoutName: this.currentLayout,\n maxLength: 10,\n buttonTheme: [\n {\n class: 'fas fa-backspace',\n buttons: '{bksp}',\n },\n {\n class: 'empty-class-to-avoid-console-warnings',\n buttons: '{enter}',\n },\n {\n class: 'max100 pad4',\n buttons: `, .`,\n },\n {\n class: 'max100 pad5',\n buttons: `@ , .`,\n },\n {\n class: 'max100 pad3',\n buttons: `\\\\ \" ' ; : = % * ? ! < > - _ * $ & + - ( ) # [ ]`,\n },\n {\n class: 'max150 pad7',\n buttons: '.com',\n },\n {\n class: 'max130',\n buttons: '{alt}',\n },\n {\n class: 'pad3',\n buttons: '{alt2}',\n },\n {\n class: 'max150 pad7',\n buttons: '{default}',\n },\n {\n class: 'max100 fas fa-arrow-up',\n buttons: `{shift}`,\n },\n {\n class: 'max100 fas fa-arrow-up',\n buttons: `{alphaShift}`,\n },\n ],\n layout: {\n numeric: ['1 2 3', '4 5 6', '7 8 9', '{enter} 0 {bksp}'],\n defSpan: [\n 'q w e r t y u i o p {bksp}',\n 'a s d f g h j k l {enter}',\n '{shift} z x c v b n m , .',\n '{alt} {acc} {space} _ - @ .com',\n ],\n defSpanAcc: [\n 'q w é r t y ú í ó p {bksp}',\n 'á s d f g h j k l {enter}',\n '{shift} z x c v b ñ m , .',\n '{alt} {acc2} {space} _ - @ .com',\n ],\n defSpanAccShift: [\n 'Q W É R T Y Ú Í Ó P {bksp}',\n 'Á S D F G H J K L {enter}',\n '{shift} Z X C V B Ñ M , .',\n '{alt} {acc2} {space} _ - @ .com',\n ],\n defSpanShift: [\n 'Q W E R T Y U I O P {bksp}',\n 'A S D F G H J K L {enter}',\n '{shift} Z X C V B N M , .',\n '{alt} {acc2} {space} _ - @ .com',\n ],\n default: this.language.locale == 'fr' ? [\n 'é à è ì ò ù â ê î ô û ç ë ï ü',\n 'q w e r t y u i o p {bksp}',\n 'a s d f g h j k l {enter}',\n '{shift} z x c v b n m , .',\n '{alt} {space} _ - @ .com',\n ] : [\n 'q w e r t y u i o p {bksp}',\n 'a s d f g h j k l {enter}',\n '{shift} z x c v b n m , .',\n this.language.locale == 'es'\n ? '{alt} {acc} {space} _ - @ .com'\n : '{alt} {space} _ - @ .com',\n ],\n shift: this.language.locale == 'fr' ? [\n 'É À È Ì Ò Ù Â Ê Î Ô Û Ç Ë Ï Ü',\n 'Q W E R T Y U I O P {bksp}',\n 'A S D F G H J K L {enter}',\n '{shift} Z X C V B N M , .',\n '{alt} {space} _ - @ .com',\n ] : [\n 'Q W E R T Y U I O P {bksp}',\n 'A S D F G H J K L {enter}',\n '{shift} Z X C V B N M , .',\n this.language.locale == 'es'\n ? '{alt} {acc} {space} _ - @ .com'\n : '{alt} {space} _ - @ .com',\n ],\n alphaShift: [\n 'Q W E R T Y U I O P {bksp}',\n 'A S D F G H J K L {enter}',\n '{alphaShift} Z X C V B N M {space}',\n ],\n alpha: [\n 'q w e r t y u i o p {bksp}',\n 'a s d f g h j k l {enter}',\n '{alphaShift} z x c v b n m {space}',\n ],\n alt: [\n '1 2 3 4 5 6 7 8 9 0 {bksp}',\n `@ # $ & - + ( ) {enter}`,\n `[ ] \\\\ = * \" ' : ; ! ?`,\n '{default} , {space} . {default}',\n ],\n // alt2: [\n // \"~ ` | • √ π ÷ × ¶ ∆ {bksp}\",\n // `£ ¢ € ¥ ^ ° = { } {enter}`,\n // `{altBack} \\\\ © ® ™ ℅ [ ] ¡ ¿ {altBack}`,\n // \"{default} , < {space} > . {default}\"\n // ],\n grubbrrLogin: [\n '1 2 3 4 5 6 7 8 9 0',\n 'q w e r t y u i o p {bksp}',\n 'a s d f g h j k l {enter}',\n 'z x c v b n m ? @ .com',\n '@grubbrr.com {space} .',\n ],\n altAlpha: [\n '1 2 3 4 5 6 7 8 9 0 {bksp}',\n `@ # $ & - + ( ) {enter}`,\n `[ ] \\\\ = * \" ' : ; ! ?`,\n '{alphaNumeric} , {space} . {default}',\n ],\n alphaNumeric: [\n '1 2 3 4 5 6 7 8 9 0',\n 'q w e r t y u i o p {bksp}',\n 'a s d f g h j k l {enter}',\n '{shift} z x c v b n m , .',\n '{altAlpha} {space} _ - @ .com',\n ],\n },\n display: {\n '{acc}': 'áéíóñú',\n '{acc2}': 'aeionu',\n '{bksp}': ' ',\n '{enter}': 'ENTER',\n '{shift}': ' ',\n '{alphaShift}': ' ',\n '{alt}': '?123',\n '{altBack}': '?123',\n '{alt2}': '~[<',\n '{default}': 'ABC',\n '{space}': 'SPACE',\n '{clear}': 'CLEAR',\n '@': '@',\n '?': '?',\n '.com': '.com',\n '{altAlpha}': '?123',\n '{alphaNumeric}': 'ABC',\n },\n });\n\n this.allSubsCription.push(\n this.KeyboardService.ObserveInputChange.subscribe((input: any) => {\n let layoutName = input[1];\n let inputName = input[0].id;\n let inputValue = input[0].value;\n if (this.KeyboardService.manual) {\n this.keyboard?.setOptions({\n inputName: inputName,\n //layoutName: layoutName,\n maxLength: parseInt(input[2]),\n theme: 'hg-theme-default defaultOver',\n });\n } else {\n this.keyboard?.setOptions({\n inputName: inputName,\n layoutName: layoutName,\n maxLength: parseInt(input[2]),\n theme: 'hg-theme-default defaultOver',\n });\n }\n if (input[0]) {\n inputValue = this.layoutFilters[layoutName](inputValue);\n }\n this.keyboard?.setInput(inputValue, inputName);\n this.value = inputValue;\n this.selectedInput = input[0];\n this.currentLayout = layoutName;\n this.lockUpperCase = '';\n if (!this.KeyboardService.manual) {\n this.currentLayout = layoutName;\n }\n })\n );\n }\n valoo: string = '';\n onChange2 = (input: string) => {\n if(this.KeyboardService.maxLength){\n if(input.length>=this.KeyboardService.maxLength){\n input=input.slice(0,this.KeyboardService.maxLength)\n }\n }\n let caretPosition = this.keyboard?.caretPosition;\n if (caretPosition === null) caretPosition = input.length;\n this.setInputCaretPosition(this.selectedInput, caretPosition);\n this.keyboard?.setInput(input)\n this.valoo = input;\n\n this.KeyboardService.stringSub.next(this.valoo);\n };\n onChange = (input: string) => {\n input = this.layoutFilters[this.currentLayout](input);\n this.value = input;\n this.selectedInput.value = this.value;\n let caretPosition = this.keyboard?.caretPosition;\n if (caretPosition === null) caretPosition = input.length;\n this.setInputCaretPosition(this.selectedInput, caretPosition);\n this.selectedInput.dispatchEvent(new Event('input'), { bubbles: true });\n this.keyboard?.setInput(input);\n if (this.value == \"\" || (this.value).trim().slice(-1) == \".\") {\n this.handleUpperCase();\n } else {\n if (!this.lockUpperCase) {\n this.handleLowerCase();\n }\n }\n \n };\n\n clearAll() {\n this.keyboard?.clearInput();\n }\n\n onKeyPress = (button: string) => {\n // console.log(\"Button pressed\", button);\n this.KeyboardService.buttonclicked.next(button);\n this.KeyboardService.handleupperlowercase.subscribe((val)=>{\n if(val){\n this.handleUpperCase();\n }else{\n this.handleLowerCase();\n }\n })\n /**\n * If you want to handle the shift and caps lock buttons\n */\n if (button === '{shift}' || button === '{lock}') {\n this.handleShift();\n }\n if (button === '{alt}') {\n this.handleAlt();\n }\n if (button === '{alt2}') {\n this.handleAlt2();\n }\n if (button === '{altBack}') {\n this.handleAltBack();\n }\n if (button === '{alphaShift}') {\n this.handleAlphaShift();\n }\n if (button === '{default}') {\n this.handleDefault();\n }\n if (button === '{alphaNumeric}') {\n this.handleAlphaNumeric();\n }\n if (button === '{altAlpha}') {\n this.handleAltAlpha();\n }\n if (button === '{clear}') {\n this.clearAll();\n }\n if (button === '{acc}') {\n this.handleAcc();\n }\n if (button === '{acc2}') {\n this.handleAcc();\n }\n if (button === '{enter}') {\n this.KeyboardService.KeyboardStatus = false;\n }\n };\n\n onInputChange = (event: any) => {\n this.keyboard?.setInput(event.target.value);\n };\n\n handleUpperCase() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout;\n if (currentLayout === 'default') {\n altToggle = 'shift'\n }\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n\n handleLowerCase() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout;\n if (currentLayout === 'shift') {\n altToggle = 'default'\n }\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n\n\n\n\n handleAltBack() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout === 'alt2' ? 'alt' : 'alt2';\n\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n handleAlphaShift() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout === 'alpha' ? 'alphaShift' : 'alpha';\n\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n handleAlt2() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout === 'alt' ? 'alt2' : 'alt';\n\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n\n handleAlt() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout === 'default' ? 'alt' : 'alt';\n\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n\n handleShift = () => {\n let currentLayout = this.keyboard?.options.layoutName;\n let shiftToggle = \n currentLayout === 'default' \n ? 'shift' \n : currentLayout=='defSpanAcc' \n ? 'defSpanAccShift'\n : currentLayout=='defSpanAccShift' \n ? 'defSpanAcc' \n :currentLayout=='defSpan' \n ?'defSpanShift'\n :currentLayout=='defSpanShift'\n ?'defSpan' \n :'default';\n\n\n this.lockUpperCase = shiftToggle === 'shift' ? 'lockUpperCase' : '';\n this.keyboard?.setOptions({\n layoutName: shiftToggle,\n });\n };\n handleDefault = () => {\n let currentLayout = this.keyboard?.options.layoutName;\n let defaultToggle = currentLayout === 'alt' ? 'default' : 'shift';\n\n this.keyboard?.setOptions({\n layoutName: defaultToggle,\n });\n };\n\n handleAlphaNumeric = () => {\n let currentLayout = this.keyboard?.options.layoutName;\n let defaultToggle = currentLayout === 'altAlpha' ? 'alphaNumeric' : 'shift';\n\n this.keyboard?.setOptions({\n layoutName: defaultToggle,\n });\n };\n handleAcc() {\n let currentLayout = this.keyboard?.options.layoutName;\n let accToggle =( currentLayout === 'defSpan' || currentLayout ==='default') ? 'defSpanAcc' : (currentLayout=='defSpanAccShift')?'defSpanShift':'defSpan';\n this.keyboard?.setOptions({\n layoutName: accToggle,\n });\n }\n handleAltAlpha() {\n let currentLayout = this.keyboard?.options.layoutName;\n let altToggle = currentLayout === 'alphaNumeric' ? 'altAlpha' : 'altAlpha';\n\n this.keyboard?.setOptions({\n layoutName: altToggle,\n });\n }\n constructor(\n public KeyboardService: KeyboardService,\n private language: LanguageService\n ) {}\n\n ngOnInit(): void {\n this.KeyboardService.newBoardSubject.subscribe((val) => {\n if(val){\n this.currentLayout = val;\n }\n //this.ngOnDestroy();\n this.keyboard?.destroy(); \n this.ngAfterViewInit();\n this.keyboard?.setOptions({inputName:Guid.newGuid()})\n });\n this.allSubsCription.push(\n this.KeyboardService.stringSub.subscribe((val) => {\n this.valoo = val;\n })\n );\n this.allSubsCription.push(\n this.KeyboardService.clearSub.subscribe(() => {\n this.keyboard?.replaceInput({})\n })\n );\n }\n}\n","","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-payment-device',\n templateUrl: './payment-device.component.html',\n styleUrls: ['./payment-device.component.css']\n})\nexport class PaymentDeviceComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","payment-device works!
\n","import { HttpErrorResponse } from '@angular/common/http';\n\nexport enum APIResponses {\n UnAuthorized = 1,\n Offline = 2,\n}\nexport interface APIResponse {\n res: HttpErrorResponse;\n Code: number;\n}\n\nexport interface ReferrizerCustomerResponse {\n data: {\n data: ReferrizerCustomerAPIResponse;\n message: string;\n status: string;\n statusCode: string;\n };\n errArr: APIResponse[];\n}\nexport interface ReferrizerCustomerAPIResponse {\n access_token: null | string;\n app_id: null | string;\n born_at: null | string;\n cause_id: null | string;\n connected_to_facebook: null | string;\n custom_gender: null | string;\n customerID: string;\n debit_card_only: null | string;\n description: string;\n email: string;\n firstName: string;\n firstVisitDate: string;\n gender: null | string;\n global_credit_amount: null | string;\n id: string;\n isAllowForMarketingCommunication: string;\n lastName: string;\n lastVisitDate: string;\n loyaltyPointsCount: number;\n merchants_visited_count: null | string;\n message: string;\n orders_count: null | string;\n phone: string;\n preferred_currency: null | string;\n punchUserDigest: string;\n registrationDate: string;\n terms_accepted_at: null | string;\n total_savings_amount: null | string;\n type: string;\n userId: string;\n visitsCount: number;\n}\nexport interface OLOPaytronixCustomerResponse {\n data: {\n data: OLOPaytronixCustomerAPIResponse;\n message: string;\n status: string;\n statusCode: string;\n };\n errArr: APIResponse[];\n}\nexport interface OLOPaytronixCustomerAPIResponse {\n authorizationcode: string | null;\n authtoken: string;\n basketid: string | null;\n contactnumber: string | null;\n emailaddress: string | null;\n expiresin: string | null;\n firstname: string | null;\n lastname: string | null;\n provider: string;\n providertoken: string;\n provideruserid: string;\n refreshtoken: string | null;\n}\n\nexport interface RemoteInstallNotification{\n deviceIds: string[];\n kioskReleaseInformation: KioskRelease;\n}\n\nexport interface KioskRelease{\n Name: string;\n Version: string;\n ReleaseNotes: string;\n PackageUrl: string;\n}\n\nexport interface RemoteInstallACKNotification {\n status: string;\n deviceId: string;\n locationId: string;\n KioskReleaseInformation: KioskReleaseACK;\n}\n\nexport interface KioskReleaseACK {\n name: string;\n version: string;\n releaseNotes: string;\n packageUrl: string;\n}\n\nexport enum InstallationACKType {\n INSTALLING = \"installing\",\n SUCCESS = \"success\",\n ERROR = \"error\",\n}\n\nexport interface HealthLogModel {\n kioskHealthTime: Date,\n deviceName: string,\n serialNo: string,\n internetConnecationText: string,\n isInternetConnecation: boolean,\n grubbrrCloudText: string,\n isGrubbrrCloud: boolean,\n grubbrrCloverMerchantId: string,\n grubbrrCloverDeviceId: string,\n isGrubbrrClover: boolean,\n kitchenPrinterText: string,\n isKitchenPrinter: boolean,\n ReceiptPrinterStatus: ReceiptPrinterStatus[]\n KIOSKBuildVersion: string,\n isKIOSKBuildVersion: boolean,\n grubbrrCloverApiRes: string,\n locationId?: string\n}\n\nexport interface ReceiptPrinterStatus {\n value: string,\n severity: string\n}\n\nexport enum SystemHealthStatus {\n Success = \"success\",\n Error = \"error\",\n LowWarning = \"low-warning\",\n HighWarning = \"high-warning\",\n Info = \"info\"\n}\n\nexport enum BixolonPrinterStatus {\n Connected = \"Connected\",\n InsufficientPaper = \"Insufficient Paper\",\n OutOfPaper = \"Out Of Paper\",\n CoverIsOpen = \"Cover Is Open\",\n CutterError = \"Cutter Error\",\n OtherError = \"Other Error\"\n}\n\nexport interface HealthLogRequest {\n kioskBuildVersion: string;\n deviceName: string;\n serialNo: string;\n locationId: string;\n isGrubbrrCloud: boolean;\n sendNotification?: boolean;\n kioskHealthTime: Date\n details: LogDetail[];\n}\nexport interface LogDetail {\n label: string;\n labelText?: string;\n value: string;\n severity: string;\n details?: LogRecord[];\n}\n\nexport interface LogRecord {\n value: string,\n severity: string\n}","import { Component, OnInit, ViewChild, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { LogService, loggingData } from 'src/app/services/log.service';\nimport { OrderReviewListComponent } from 'src/app/components/order-review/order-review-list/order-review-list.component';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { DiscountItemMapping, DiscountMaster } from '../../models/DiscountMaster';\nimport { CartService } from '../../services/cart.service';\nimport { Subscription } from 'rxjs';\nimport { OrderReviewPromotionsComponent } from 'src/app/components/order-review/order-review-promotions/order-review-promotions.component';\nimport { PusherService } from 'src/app/services/pusher.service';\nimport { OrderReviewFooterComponent } from 'src/app/components/order-review/order-review-footer/order-review-footer.component';\nimport { GeneralSetting } from '../../services/generalSetting.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { UserService } from 'src/app/services/user.service';\nimport { Router } from '@angular/router';\nimport { CustomerLoginPopupComponent } from '../dialogs/customer-login-popup/customer-login-popup.component';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { CustomerWelcomeModalComponent } from '../dialogs/customer-welcome-modal/customer-welcome-modal.component';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { environment } from 'src/environments/environment';\nimport { LevelUpObject, LoyaltyType } from 'src/app/models/loyaltyModal';\nimport { CustomerLoginModalService } from '../dialogs/customer-login-popup/customer-login-popup.service';\nimport { SMBDiscountsComponent } from './smb-discounts/smb-discounts.component';\nimport { PreloaderService } from 'src/app/services/preloader.service';\n\nenum BogoDiscountType {\n FreeItem = '1',\n Percentage = '2',\n}\n\nenum BogoFlatOrPercentage {\n Percentage = '1',\n Flat = '2',\n}\n\n@Component({\n selector: 'app-order-review',\n templateUrl: './order-review.component.html',\n styleUrls: ['./order-review.component.css'],\n})\nexport class OrderReviewComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n this.modelService.dismissAll();\n }\n\n private allSubsCription: Subscription[] = [];\n\n variableUpSell!: boolean;\n\n modifiableUpSell!: boolean;\n\n bkgdColor: string = '';\n\n textColor: string = '';\n\n // @ViewChild(OrderLevelUpsellDialogComponent)\n // upsellModal!: OrderLevelUpsellDialogComponent;\n @ViewChild(OrderReviewFooterComponent)\n orderReviewFooterChild!: OrderReviewFooterComponent;\n @ViewChild(CustomerWelcomeModalComponent)\n welcome!: CustomerWelcomeModalComponent;\n @ViewChild(OrderReviewListComponent) cart!: OrderReviewListComponent;\n\n @ViewChild(OrderReviewPromotionsComponent)\n promo!: OrderReviewPromotionsComponent;\n\n @ViewChild(SMBDiscountsComponent)\n smbdiscount!: SMBDiscountsComponent;\n\n subtotalOutput: number = 0.0;\n\n totalOutput: number = 0.0;\n\n taxOutput: number = 0.0;\n\n discountOutput: number = 0.0;\n\n listDiscount = [] as DiscountMaster[];\n\n listDiscountItem = [] as DiscountItemMapping[];\n\n hasPromos: boolean = false;\n\n hasPromosCoupon: boolean = false;\n\n loyaltyPromos: boolean = false;\n\n isLoyalty: boolean = false;\n useLoyalty: boolean = false;\n removed: boolean = false;\n\n orderReviewFooter!: OrderReviewFooterComponent;\n\n @ViewChild(CustomerLoginPopupComponent)\n customerLoginPopup!: CustomerLoginPopupComponent;\n\n private min = (a: any, f: any) =>\n a.reduce((m: any, x: any) => (m[f] < x[f] ? m : x));\n private max = (a: any, f: any) =>\n a.reduce((m: any, x: any) => (m[f] > x[f] ? m : x));\n\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n languageSub!: Subscription\n reviewOrderText: string = ''\n\n concessionaireHeaderImage: string = \"\";\n\n imageBaseUrl = this.isKioskService.isKiosk() ? environment.imageBaseUrl : environment.imageBaseUrlRemote;\n\n isShowBranchLogo: boolean = false;\n\n constructor(\n private readonly databaseService: DatabaseService,\n private readonly cartService: CartService,\n private readonly pusherService: PusherService,\n private modelService: NgbModal,\n private userService: UserService,\n private router: Router,\n private readonly loyaltyService: LoyaltyService,\n private language: LanguageService,\n private logger: LogService,\n private isKioskService: IsKioskService,\n private customerLoginService: CustomerLoginModalService,\n private preloader: PreloaderService,\n private cdr: ChangeDetectorRef\n\n ) {\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n )\n }\n loadText() {\n this.reviewOrderText = this.language.getTextElement('lbl_review_order')\n }\n ngOnInit(): void {\n\n this.bkgdColor = GeneralSetting.getPrimaryColor();\n\n this.textColor = GeneralSetting.getTextColor();\n\n this.Initialize();\n\n this.setCalculation();\n }\n\n private Initialize() {\n const items = this.cartService.getCartItems();\n this.isLoyalty = this.loyaltyService.isLoyalty;\n this.useLoyalty = GeneralSetting.getUseLoyaltyKiosk() == \"True\"\n const itemIds = items.map((item: any) => item.ItemID);\n this.concessionaireHeaderImage = GeneralSetting.getConcessionaireHeaderImage();\n\n this.allSubsCription.push(\n this.databaseService.getDiscountItems(itemIds).subscribe((discountItems) => {\n this.listDiscountItem = discountItems;\n\n const discountIds = this.listDiscountItem.map(dis => dis.DiscountID);\n\n this.allSubsCription.push(\n this.databaseService.getDiscountByBogoItem(discountIds).subscribe((discount) => {\n this.listDiscount = discount;\n // this.bogoDiscountCheck();\n })\n );\n })\n );\n }\n\n getUserName() {\n if (this.orderReviewFooterChild && this.orderReviewFooterChild.awaitingLevelUpProposal) {\n return\n }\n if (this.userService.isUserLoggedIn) {\n return this.userService.name ?? 'Guest';\n } else {\n return 'Sign In';\n }\n }\n private setCalculation() {\n (async () => {\n const allCalc = await this.cartService.calculateAll();\n this.subtotalOutput = allCalc[0];\n if (GeneralSetting.getParBrinkIntegrationID() != '') {\n this.taxOutput = allCalc[1];\n }\n this.totalOutput = allCalc[3];\n this.cartService.sub_subtotal.next(allCalc[0]);\n this.cartService.sub_tax.next(allCalc[1]);\n this.cartService.sub_discount.next(allCalc[2]);\n this.cartService.sub_total.next(allCalc[3]);\n this.cartService.sub_shipping.next(allCalc[4])\n if (allCalc[5]) {\n this.cartService.sub_reward.next(allCalc[5])\n }\n\n if (this.totalOutput < 0 || isNaN(this.subtotalOutput)) {\n this.orderReviewFooterChild.removeDiscount();\n let items = this.cartService.getCartItems()\n for (let i = 0; i < items.length; i++) {\n if (items[i].IsLoyaltyDiscountItem) {\n this.cartService.removeFromCart(items[i])\n }\n }\n }\n })();\n }\n onUserClick() {\n if (this.orderReviewFooterChild && this.orderReviewFooterChild.paymentTaken) {\n return\n }\n this.customerLoginService.onUserClick(this.loyaltyService.loyaltyType).then((data: number) => {\n if (data) {\n if (data == 1) {\n this.router.navigateByUrl('/lastfiveorder');\n this.orderReviewFooterChild.removeDiscount();\n } else if (data == 2) {\n this.getUserName();\n if (this.loyaltyService.loyaltyType == LoyaltyType.LevelUp) {\n this.orderReviewFooterChild.ngOnInit()\n }\n this.promo.ngOnInit()\n } else if (data == 3) {\n this.promo.ngOnInit()\n } else {\n //this block should not be reached\n }\n }\n //no else block for top-level if-con\n //where data is falsey, a zero is returned to end execution flow without hanging promise\n }\n //no rejection handler\n //promise resolves 0 on all reject cases\n );\n\n }\n bogoDiscountCheck() {\n let items = this.cartService.getCartItems();\n for (let i = 0; i < items.length; i++) {\n let item = items[i];\n let discountItem = this.listDiscountItem.find(\n (x) => x.ItemID == item.ItemID && x.PurchaseOrGet == '1'\n );\n if (discountItem == null && discountItem == undefined) continue;\n let discountMaster = this.listDiscount.find(\n (x) =>\n x.DiscountID ==\n (discountItem != undefined ? discountItem.DiscountID : '')\n );\n if (discountMaster == null && discountMaster == undefined) continue;\n if (Number(item.Quantity) < Number(discountMaster.BogoPurchaseQuantity))\n continue;\n let freeItemsDiscount = this.listDiscountItem.filter(\n (x) =>\n x.DiscountID ==\n (discountMaster != undefined ? discountMaster.DiscountID : '') &&\n x.PurchaseOrGet == '2'\n );\n let freeItems = [] as any[];\n for (var j = 0; j < freeItemsDiscount.length; j++) {\n let freeItem = items.filter(\n (x: any) => x.ItemID == freeItemsDiscount[j].ItemID\n );\n if (freeItem.length > 0) {\n freeItem.forEach((x: any) => {\n freeItems.push(x);\n });\n }\n }\n const itemQty = Number(item.Quantity);\n const bogoPurchaseQty = Number(discountMaster.BogoPurchaseQuantity);\n let costItem =\n discountMaster.BogoAppliesTo == '1'\n ? this.min(freeItems, 'Price')\n : this.max(freeItems, 'Price');\n const setItem = items.find((x: any) => x.ItemID == costItem.ItemID);\n const bogoDiscountQty = Number(discountMaster.BogoGetQuantity);\n const bogoDiscountAmount = Number(discountMaster.BOGODiscountAmount);\n const bogoDiscountPer = Number(discountMaster.BogoFlatOrPercentage);\n if (setItem == undefined || setItem == null) continue;\n\n const perItemPrice = this.cartService.getItemPrice(setItem, true);\n\n setItem.DiscountTypeID = Number(discountMaster.DiscountTypeID);\n setItem.DiscountID = Number(discountMaster.DiscountID);\n setItem.IsDiscount = true;\n if (discountMaster.BogoDiscountType == BogoDiscountType.FreeItem) {\n let totalDiscountQty = Math.floor(\n (itemQty / bogoPurchaseQty) * bogoDiscountQty\n );\n if (totalDiscountQty > Number(setItem.Quantity))\n totalDiscountQty = Number(setItem.Quantity);\n setItem.DiscountAmount = perItemPrice * totalDiscountQty;\n setItem.DiscountPer =\n (setItem.DiscountAmount * 100) / (perItemPrice * itemQty);\n } else {\n if (\n discountMaster.BogoFlatOrPercentage == BogoFlatOrPercentage.Percentage\n ) {\n let totalDiscountAmount =\n (perItemPrice * itemQty * bogoDiscountPer) / 100;\n setItem.DiscountAmount = totalDiscountAmount;\n setItem.DiscountPer = bogoDiscountPer;\n } else {\n if (bogoDiscountAmount <= perItemPrice * itemQty) {\n setItem.DiscountAmount = bogoDiscountAmount;\n setItem.DiscountPer =\n (setItem.DiscountAmount * 100) / (perItemPrice * itemQty);\n }\n }\n }\n }\n\n this.setCalculation();\n }\n updatePrices() {\n this.setCalculation();\n }\n updateSubtotal(event: any) {\n this.setCalculation();\n }\n updateTotal(event: any) {\n this.setCalculation();\n }\n\n updateTax(event: any) {\n this.setCalculation();\n }\n\n getSubtotal(event: number) {\n this.setCalculation();\n }\n\n getTotal(event: any) {\n this.setCalculation();\n }\n\n getTax(event: any) {\n this.setCalculation();\n }\n\n getPromotion(event: any) {\n this.setCalculation();\n }\n\n checkPromos(event: any) {\n this.hasPromos = event;\n this.cdr.detectChanges();\n }\n\n checkHasPromoCoupon(event: any) {\n this.hasPromosCoupon = event;\n this.cdr.detectChanges();\n }\n\n checkPromosLoyalty(event: any) {\n this.loyaltyPromos = event;\n this.cdr.detectChanges();\n }\n\n removePromo(event: any) {\n this.removed = event;\n this.cdr.detectChanges();\n }\n\n\n\n getHeightOfList(hasPromos: boolean, loyaltyPromos: any, isLoyalty: boolean, hasPromosCoupon: boolean, isRemovePrice: boolean) {\n if (isRemovePrice) {\n return '79.58vh';\n } else {\n if (hasPromos && loyaltyPromos) {\n return '52.4vh';\n }\n else if (hasPromos && hasPromosCoupon && !loyaltyPromos) {\n return '63.58vh';\n }\n else if (hasPromos && !loyaltyPromos) {\n return GeneralSetting.getIsConcessionaire().toLowerCase() == 'true' ? '63vh' : (isLoyalty ? '63.58vh' : '68.58vh');\n }\n else if (!hasPromos && loyaltyPromos) {\n return '65.15vh';\n } else if (hasPromosCoupon && !loyaltyPromos) {\n return '74.35vh';\n } else if (isLoyalty) {\n return '76.35vh';\n } else {\n return '81.35vh';\n }\n\n\n }\n }\n\n\n /**\n * Sets branch header image\n * @param headerImageUrl \n * @param imageBaseUrl \n * @returns \n */\n setHeaderImage(headerImageUrl: string, imageBaseUrl: string) {\n return headerImageUrl && headerImageUrl != '' ? imageBaseUrl + headerImageUrl : \"\";\n }\n\n ngAfterViewInit() {\n this.preloader.hide();\n }\n}\n","\n \n\n \n\n
\n \n\n\n
\n \n
\n\n \n \n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\n\n@Component({\n selector: 'app-payment-success',\n templateUrl: './payment-success.component.html',\n styleUrls: ['./payment-success.component.css'],\n})\nexport class PaymentSuccessComponent implements OnInit {\n\n ngOnDestroy() {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n languageSub!: Subscription;\n\n modalReference: any;\n\n isVerifone!: boolean;\n\n paymentApprovedText: string = '';\n\n constructor(\n private modalService: NgbModal,\n private logger: LogService,\n private language: LanguageService\n ) {}\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => [\n this.loadText(),\n ]);\n }\n\n loadText() {\n this.paymentApprovedText = this.language.getTextElement('payment_approved');\n }\n\n public static open(modalService: NgbModal, isVerifone: boolean = false) {\n let modalReference = modalService.open(PaymentSuccessComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.isVerifone = isVerifone;\n\n return modalReference;\n }\n\n open(isVerifone: boolean) {\n this.modalReference = this.modalService.open(PaymentSuccessComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n this.modalReference.componentInstance.modalReference = this.modalReference;\n this.modalReference.componentInstance.isVerifone = isVerifone;\n }\n\n close() {\n var log = new loggingData(\n 'Payment Success',\n 'Successful Payment Response Received',\n 'Confirmation',\n `Succesfully Received Payment Response`,\n true\n );\n this.logger.sendLogToServer(log);\n this.modalReference.close('close');\n }\n\n}\n","\n \n
\n
{{paymentApprovedText}} \n
\n \n
\n\n \n \n
\n
\n
\n \n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-general-alert',\n templateUrl: './general-alert.component.html',\n styleUrls: ['./general-alert.component.css']\n})\nexport class GeneralAlertComponent implements OnInit {\n languageSub!: Subscription;\n\n ref: any;\n title: string = '';\n titleText:string=''\n subTitle: string = '';\n subTitleText: string = '';\n okText:string=''\n \n constructor(private modalService: NgbModal, private language:LanguageService) { }\n\n loadText(){\n this.okText=this.language.getTextElement('txt_ok')\n this.titleText=this.language.getTextElement('lbl_uh_oh')\n this.subTitleText=this.language.getTextElement('try_again')\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n public static open(modalService:NgbModal,title: string = \"\", subTitle: string = \"\") {\n let ref = modalService.open(GeneralAlertComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n ref.componentInstance.title = title;\n ref.componentInstance.subTitle = subTitle;\n ref.componentInstance.ref = ref;\n return ref\n }\n\n open(title: string = this.titleText, subTitle: string = this.subTitleText) {\n this.ref = this.modalService.open(GeneralAlertComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n this.ref.componentInstance.title = title;\n this.ref.componentInstance.subTitle = subTitle;\n this.ref.componentInstance.ref = this.ref;\n return this.ref\n }\n\n onOkClick() {\n this.ref.close('Ok');\n }\n}\n","\n
\n
\n
{{title}} \n
{{subTitle}}
\n
\n
\n \n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { Kitchen_Ingredient_Mapping, Kitchen_Item_Mapping } from '../models/BranchLoginModels';\nimport { OrderItemMasterReq, OrderItemModifierMasterReq } from '../models/OrderItemMasterReq';\nimport { OrderListReq } from '../models/OrderListReq';\nimport { Printer } from '../models/Printer';\nimport { DatabaseService } from './database.service';\nimport { GeneralSetting } from './generalSetting.service';\nimport { LogService } from './log.service';\nimport { OfflineOrderService } from './offline-order.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class KdsService {\n\n constructor(private http: HttpClient,\n private database: DatabaseService,\n private logger: LogService,\n private offlineOrderService : OfflineOrderService) { }\n\n errorHandler(error: HttpErrorResponse) {\n return throwError(error.message);\n }\n\n callSendDataToKds(orderData: any,ipOfKds : Printer) {\n // const currentCounter = this.increasePaymentCounter();\n\n const body = {\n ipAddressOfKds: JSON.stringify(ipOfKds),\n message: JSON.stringify(orderData),\n \n };\n\n return this.http\n .post(environment.NodeUrl + 'doSendOrderToKds', body)\n .pipe(catchError(this.errorHandler));\n }\n\n async sendToKds(orderData: OrderListReq): Promise {\n return new Promise(async (resolve) => {\n let kdsList = await this.getKdsList();\n if (kdsList && kdsList.length > 0) {\n for (let index = 0; index < kdsList.length; index++) {\n const kds = kdsList[index];\n let orderDataTemp = {} as OrderListReq;\n orderDataTemp = JSON.parse(JSON.stringify(orderData));\n // this.callSendDataToKds(orderData, kds.KDSIPAddress).subscribe((resolve => {\n\n // }))\n let orderItemMasterTemp: OrderItemMasterReq[] = [];\n\n let ingredientKitchenMappingList: Kitchen_Ingredient_Mapping[] = await this.database.getIngredientsFromKitchenMapping(kds.KitchenID);\n let itemLKitchenMappingList: Kitchen_Item_Mapping[] = await this.database.getItemFromKitchenmapping(kds.KitchenID);\n\n if (ingredientKitchenMappingList.length == 0) {\n\n for (let index = 0; index < orderDataTemp.OrderMaster[0].OrderItemMaster.length; index++) {\n const orderItem = orderDataTemp.OrderMaster[0].OrderItemMaster[index];\n const itemLKitchenMapping = itemLKitchenMappingList?.find(\n (x: Kitchen_Item_Mapping) => x.ItemID.toString() == orderItem.ItemID.toString()) as Kitchen_Item_Mapping;\n\n if (itemLKitchenMapping) {\n orderItemMasterTemp.push(orderItem);\n }\n }\n\n } else {\n\n\n for (let index = 0; index < orderDataTemp.OrderMaster[0].OrderItemMaster.length; index++) {\n const orderItem = orderDataTemp.OrderMaster[0].OrderItemMaster[index];\n\n\n const itemLKitchenMapping = itemLKitchenMappingList?.find(\n (x: Kitchen_Item_Mapping) => x.ItemID.toString() == orderItem.ItemID.toString()) as Kitchen_Item_Mapping;\n\n if (itemLKitchenMapping) {\n\n let orderItemModifierMasterTemp: OrderItemModifierMasterReq[] = [];\n\n\n for (let index = 0; index < orderItem.OrderItemModifierMaster.length; index++) {\n const ingredient = orderItem.OrderItemModifierMaster[index];\n\n const orderItemModifierInMapping = ingredientKitchenMappingList?.find(\n (x) => x.IngredientID.toString() == ingredient.IngredientID.toString()\n ) as Kitchen_Ingredient_Mapping;\n\n\n if (orderItemModifierInMapping) {\n orderItemModifierMasterTemp.push(ingredient);\n }\n }\n\n orderItem.OrderItemModifierMaster = orderItemModifierMasterTemp;\n orderItemMasterTemp.push(orderItem);\n }\n\n }\n\n }\n\n orderDataTemp.OrderMaster[0].OrderItemMaster = orderItemMasterTemp;\n // await this.delay(1000);\n this.callSendDataToKds(orderDataTemp, kds).toPromise().then((resolve => {\n\n }));\n resolve(true);\n\n }\n\n }\n });\n\n\n }\n\n \n getKdsList(): Promise{\n return new Promise(async (resolve: any, reject: any) => {\n const getKdsList = ` \n select km.Name as kitchenName,\n kdsm.KDSIPAddress as KDSIPAddress,\n kdsm.Name as KDSName,\n kdsm.IsMapDevice as IsMapDevice ,\n kdsm.KDSID as KDSID ,\n km.KitchenID,\n kdsm.KDSIPAddress as KDSIPAddress,\n km.StaffModuleID,\n kdsm.DeviceID\n from KitchenMasters as km\n inner join KDSMasters as kdsm on km.KDSID = kdsm.KDSID\n where km.IsActive = 'True' and\n km.CompanyID = '${GeneralSetting.getCompanyId()}'\n and kdsm.KDSTypeID ='1' and km.KDSID !=''\n `;\n\n const errorCallback = (statement: any, error: any) => {\n console.log('kds list error', error);\n reject(error);\n };\n\n const showKdsList = (tx: string, results: any) => {\n var data: Printer[] = Array.from(results.rows);\n resolve(data);\n };\n\n DatabaseHandler.executeSqlStatement(\n getKdsList,\n [],\n showKdsList,\n errorCallback\n );\n });\n }\n}\n","import { Component, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { ManagerPinDialogComponent } from 'src/app/components/manager-pin-dialog/manager-pin-dialog.component';\nimport { LanguageService } from 'src/app/services/language.service';\n\nexport interface DialogData {\n animal: string;\n name: string;\n}\n\n@Component({\n selector: 'app-logout-confirmation-dialog',\n templateUrl: './logout-confirmation-dialog.component.html',\n styleUrls: ['./logout-confirmation-dialog.component.css'],\n encapsulation: ViewEncapsulation.None,\n styles: [`.customLogout .modal-content {\n padding: 0;\n border-radius:2rem;\n background-color: rgba(0,0,0,0)\n }`]\n})\nexport class LogoutConfirmationDialogComponent implements OnInit,OnDestroy {\n modalReference: any;\nlanguageSub!:Subscription\n @Input() context: any;\n @ViewChild(ManagerPinDialogComponent) managerPin!: ManagerPinDialogComponent;\nconfirmationText:string=''\ncancelText:string=''\nyesText:string=''\nconfirmLogoutText:string=''\nwipeDataText:string=''\n constructor(private router: Router, public modalService: NgbModal, private language:LanguageService) {\n\n }\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.confirmationText=this.language.getTextElement('txt_confirmation')\n this.cancelText=this.language.getTextElement('lbl_button_cancel')\n this.yesText=this.language.getTextElement('txt_yes')\n this.confirmLogoutText=this.language.getTextElement('confirm_logout')\n this.wipeDataText=this.language.getTextElement('wipe_all_data')\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n open() {\n let ref = this.modalService.open(LogoutConfirmationDialogComponent, {\n centered: true,\n size: 'md',\n windowClass: 'customLogout'\n });\n ref.componentInstance.modalReference = ref;\n this.modalReference = ref;\n }\n\n confirmed() {\n this.modalReference.close();\n this.managerPin.open();\n this.router.navigateByUrl('/settings/logout');\n // window.onmessage = (event: any) => {\n // if (\n // event.data.messageType == 'DeleteFinish' ||\n // event.data.messageType == 'Delete'\n // ) {\n // this.router.navigateByUrl('/settings/logout');\n // }\n // };\n\n // var message = {\n // messageType: 'Delete',\n // };\n // window!.top!.postMessage(message, '*');\n }\n\n canceled() {\n this.modalReference.close();\n }\n}\n","\n \n \n \n \n
\n
\n
\n
{{confirmLogoutText}} \n {{wipeDataText}}\n
\n
\n
\n \n \n \n
\n\n ","import { ItemFooterComponent } from 'src/app/components/item-footer/item-footer.component';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { Component, OnInit, Output, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CartService } from 'src/app/services/cart.service';\nimport { VariationOption, Variation } from 'src/app/models/Variations';\nimport { PusherService } from 'src/app/services/pusher.service';\nimport { ItemTransferService } from 'src/app/services/item-transfer.service';\nimport { Subscription } from 'rxjs';\nimport {\n ItemV2,\n ModifierV2,\n ComboGroupV2 as ComboGroup,\n} from 'src/app/models/item';\nimport { Category } from 'src/app/models/category';\nimport { ModifierContainerComponent } from 'src/app/components/modifier-container/modifier-container.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { ComboGroupContainerComponent } from 'src/app/components/combo-group-container/combo-group-container.component';\nimport { ItemBuilderModeSelectionComponent } from './item-builder-mode-selection/item-builder-mode-selection.component';\nimport { LogService } from 'src/app/services/log.service';\nimport { ChangeDetectorRef } from '@angular/core';\nimport { ItemService } from '../../services/ItemService';\nimport { LoaderService } from 'src/app/services/loader.service';\nimport { Integration, IntegrationService } from 'src/app/services/integration.service';\nimport { ParBrinkService } from 'src/app/services/par-brink.service';\nimport { PreloaderService } from 'src/app/services/preloader.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\n\n@Component({\n selector: 'app-item-builder-mode',\n templateUrl: './item-builder-mode.component.html',\n styleUrls: ['./item-builder-mode.component.css'],\n})\nexport class ItemBuilderModeComponent implements OnInit {\n isComingFromScan: any;\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n\n }\n\n private allSubsCription: Subscription[] = [];\n\n constructor(\n private readonly itemTransferService: ItemTransferService,\n private readonly route: ActivatedRoute,\n private readonly cartService: CartService,\n private readonly pusherService: PusherService,\n private readonly db: DatabaseService,\n private readonly modalService: NgbModal,\n private readonly logger: LogService,\n private readonly cdr: ChangeDetectorRef,\n private readonly itemService: ItemService,\n private loader: LoaderService,\n private parBrink: ParBrinkService,\n private integration: IntegrationService,\n private preloader: PreloaderService,\n private keyboardService: KeyboardService\n ) {\n this.item = null;\n this.variations = [] as Variation[];\n this.modifiers = new Array();\n this.isComingFromScan = this.route.snapshot.queryParams['isComingFromScan'];\n this.ItemID = this.route.snapshot.queryParams['id'];\n this.CategoryID = this.route.snapshot.queryParams['category'];\n this.guid = this.route.snapshot.queryParams['guid'];\n this.isOrderReviewEdit = this.route.snapshot.queryParams['reviewEdit'];\n this.isLoyalty = this.route.snapshot.queryParams['loyalty'];\n this.concessionaireId = this.route.snapshot.queryParams['concessionaireId'];\n }\n\n isLoyalty: string;\n\n modalReference: any;\n\n numInvisibleGroups: number = 0;\n\n ItemID: string;\n\n CategoryID: string;\n\n isReady: boolean = false;\n\n item: ItemV2 | null;\n\n @ViewChild(ModifierContainerComponent)\n modifierContainer!: ModifierContainerComponent;\n\n @ViewChild(ComboGroupContainerComponent)\n comboGroupContainer!: ComboGroupContainerComponent;\n\n @Output()\n @ViewChild(ItemBuilderModeSelectionComponent)\n builderModeSelection!: ItemBuilderModeSelectionComponent;\n\n isModifiersValid!: boolean;\n\n isVariationsValid!: boolean;\n\n isComboGroupValid!: boolean;\n\n setItemTags() {\n setTimeout(() => {\n this.itemService.setItemTagsSub.next(true);\n }, 1);\n }\n\n //mods selected and methods\n setSelectedModifiers(values: {\n inputModifier: ModifierV2[];\n isValid: boolean;\n }) {\n this._selectedModifiers = Array.from(values.inputModifier);\n this.isModifiersValid = values.isValid;\n this.checkIsReady();\n }\n\n //comboGroup selected and methods\n setSelectedComboGroup(values: {\n inputComboGroup: ComboGroup[];\n isValid: boolean;\n }) {\n this._selectedComboGroup = Array.from(values.inputComboGroup);\n this.isComboGroupValid = values.isValid;\n this.setItemTags();\n this.checkIsReady();\n }\n\n //variations selected and methods\n setSelectedVariations(values: VariationOption[]) {\n this._selectedVariations = values;\n\n if (this.item && this.item.Variations && this.item.Variations.length > 0) {\n for (let i = 0; i < this.item.Variations.length; i++) {\n let variation = this.item.Variations[i];\n\n for (let j = 0; j < variation.variationOptions.length; j++) {\n if (\n variation.variationOptions[j] &&\n variation.variationOptions[j].ItemAttributeOptionID ==\n values[0].ItemAttributeOptionID\n ) {\n variation.IsSelected = true;\n variation.variationOptions[j].isSelected = true;\n } else {\n variation.variationOptions[j].isSelected = false;\n }\n }\n }\n }\n\n this.checkIsReady();\n }\n\n headerQuantityChange(quantity: number) {\n this.quantity = quantity;\n this.item!.Quantity = String(this.quantity);\n }\n\n modifiers: ModifierV2[] = [] as ModifierV2[];\n\n variations: Variation[] = [] as Variation[];\n\n comboGroup: ComboGroup[] = [] as ComboGroup[];\n\n _selectedModifiers: ModifierV2[] = [];\n\n _selectedVariations: VariationOption[] = [];\n\n _selectedComboGroup: ComboGroup[] = [];\n\n setModifiersValid(isValid: boolean) {\n this.isModifiersValid = isValid;\n this.checkIsReady();\n }\n\n setVariationsValid(isValid: boolean) {\n this.isVariationsValid = isValid;\n this.checkIsReady();\n }\n\n setComboGroupValid(isValid: boolean) {\n this.isComboGroupValid = isValid;\n this.checkIsReady();\n }\n\n // For Edit Item Feature\n guid: string = '';\n\n isOrderReviewEdit = false;\n // For Edit Item Feature end\n\n totalCost: number = 0;\n\n //For Combo Only to open same component as model\n isComboItem = false;\n\n category: Category = {} as Category;\n\n quantity: number = 1;\n\n cartQuantity: number = 0;\n\n isConcessionaire: boolean = false;\n\n concessionaireId: string = '';\n\n ngOnInit(): void {\n this.isConcessionaire =\n GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n this.initializePage();\n this.BindPusher();\n\n this.keyboardService.KeyboardStatus = false;\n }\n\n private BindPusher() {\n this.allSubsCription.push(\n this.pusherService.CommonModifier86.subscribe((x) => {\n if (x && Object.keys(x).length > 0) {\n this.db.updateItem86Status(\n this.item as ItemV2,\n x.ItemId,\n x.Status,\n true,\n false,\n true\n );\n if (this.builderModeSelection)\n this.builderModeSelection.checkModifierValid();\n }\n })\n );\n\n this.allSubsCription.push(\n this.pusherService.Ingredient86.subscribe((x) => {\n if (x && Object.keys(x).length > 0) {\n this.db.updateItem86Status(\n this.item as ItemV2,\n x.ItemId,\n x.Status,\n false,\n true,\n true\n );\n if (this.builderModeSelection)\n this.builderModeSelection.checkModifierValid();\n }\n })\n );\n\n this.allSubsCription.push(\n this.pusherService.Item86ModifierDetails.subscribe((x) => {\n if (x && Object.keys(x).length > 0) {\n this.db.updateItem86Status(\n this.item as ItemV2,\n x.ItemId,\n x.Status,\n false,\n true,\n true\n );\n if (this.builderModeSelection)\n this.builderModeSelection.checkModifierValid();\n }\n })\n );\n }\n\n private checkIsReady() {\n let isValid = false;\n\n if (\n this.item &&\n (!this.item.ComboGroup || this.item.ComboGroup.length <= 0) &&\n (!this.item.Modifiers || this.item.Modifiers.length <= 0) &&\n (!this.item.Variations || this.item.Variations.length <= 0)\n ) {\n isValid = true;\n } else {\n if (this.comboGroup && this.comboGroup.length > 0) {\n isValid = this.isComboGroupValid;\n } else {\n if (this.modifiers) {\n if (this.isModifiersValid == undefined) {\n isValid = true;\n } else {\n isValid = this.isModifiersValid;\n }\n }\n\n if (\n isValid &&\n this.item?.Variations &&\n this.item.Variations.length > 0 &&\n this.variations &&\n this.variations.length > 0\n ) {\n isValid = this.isVariationsValid;\n }\n }\n }\n this.isReady = isValid;\n this.cdr.detectChanges();\n this.setItemTags();\n }\n\n private initializePage() {\n if (!this.db.hasCategory()) {\n this.db.getPersistentCategoriesAsync(true);\n }\n\n if (this.isComboItem) {\n if (this.item) {\n this.setDetailByItem(this.item);\n this.numInvisibleGroups = this.item.ComboGroup.filter(\n (x) => x.isHidden\n ).length;\n }\n this.checkIsReady();\n return;\n }\n\n const item = this.itemTransferService.getItem();\n\n if (this.guid) {\n this.setEditItemDetail();\n this.numInvisibleGroups = this.item!.ComboGroup.filter(\n (x) => x.isHidden\n ).length;\n\n return;\n }\n\n this.allSubsCription.push(\n this.db.categorySubject.subscribe((categories) => {\n if (!(categories && categories.length > 0)) return;\n\n const category = categories.find(\n (x) => Number(x.CategoryID) == Number(this.CategoryID)\n );\n\n this.category = category ?? ({} as Category);\n })\n );\n\n if (item) {\n this.setDetailByItem(item);\n this.checkIsReady();\n } else {\n if (this.isConcessionaire) {\n this.db.getAllConcessionaireFromSql().then((conList) => { });\n }\n\n this.db\n .getItemsByCategoryIdFromSql(\n this.CategoryID,\n this.isConcessionaire,\n this.concessionaireId,\n true,\n this.ItemID,\n 0,\n 0,\n '',\n '',\n GeneralSetting.getIsShowAllBarcodeItemsMenu()\n )\n .then((items) => {\n if (items.length > 0) {\n this.itemTransferService.snapshotItem(items[0]);\n this.initializePage();\n }\n });\n }\n }\n\n private setEditItemDetail() {\n const cartItem = this.cartService\n .getCartItems()\n .find((x: any) => x.guid == this.guid);\n\n if (cartItem && cartItem != null) {\n const item = JSON.parse(JSON.stringify(cartItem)) as ItemV2;\n\n if (item != undefined) {\n if (item.Modifiers && item.Modifiers.length > 0) {\n this.modifiers = item.Modifiers;\n } else {\n this.getAndSetModifier(item.ItemID);\n }\n\n if (item.Variations && item.Variations.length > 0) {\n this.variations = item.Variations;\n } else {\n this.getAndSetVariations(item.ItemID);\n }\n }\n\n if (item && item != undefined && item.IsCombo) {\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n this.comboGroup = item.ComboGroup;\n } else {\n this.getAndSetComboDetail(item.ItemID);\n }\n }\n\n this.item = item;\n\n if (!this.item || this.item == null) return;\n\n this.itemTransferService.snapshotItemV2(this.item);\n\n this.cartQuantity = parseInt(\n (this.item ? Number(this.item.Quantity) : 1).toString()\n );\n\n this.quantity = this.item ? Number(this.item.Quantity) : 1;\n\n const cartItems = this.cartService\n .getCartItems()\n .filter((x) => x.ItemID == item.ItemID);\n\n if (cartItems && cartItems.length > 0) {\n const cartItemsQuantity = Number(\n cartItems.map((x) => Number(x.Quantity)).reduce((a, b) => a + b, 0)\n );\n\n this.cartQuantity = cartItemsQuantity;\n }\n\n this.cartQuantity = this.quantity - this.cartQuantity;\n }\n\n this.checkIsReady();\n return;\n }\n\n // on getting item from category subscription set all detail in component\n private setDetailByItem(categoryItem: ItemV2) {\n if (!categoryItem) return;\n\n const item = JSON.parse(JSON.stringify(categoryItem)) as ItemV2;\n\n if (!item) return;\n\n if (item.Modifiers && item.Modifiers.length > 0) {\n this.modifiers = item.Modifiers;\n } else {\n this.getAndSetModifier(item.ItemID);\n }\n\n if (item.Variations && item.Variations.length > 0) {\n this.variations = item.Variations;\n } else {\n this.getAndSetVariations(item.ItemID);\n }\n\n if (item.IsCombo) {\n if (item.ComboGroup && item.ComboGroup.length > 0) {\n this.comboGroup = item.ComboGroup;\n } else {\n this.getAndSetComboDetail(item.ItemID);\n }\n }\n\n if (\n this.itemTransferService.itemV2?.OldPrice &&\n this.itemTransferService.itemV2?.OldPrice != undefined\n ) {\n item.Price = this.itemTransferService.itemV2?.Price;\n item.OldPrice = this.itemTransferService.itemV2?.OldPrice;\n }\n\n this.quantity = item?.OrderMinimumQuantity || 1;\n\n this.itemTransferService.snapshotItemV2(item);\n\n this.item = item;\n }\n\n private getAndSetVariations(itemId: string) {\n this.db.getPersistentVariationsAsync(itemId).then((variations) => {\n this.loader.openLoader();\n this.variations = variations;\n\n if (this.item) {\n this.item.Variations = JSON.parse(JSON.stringify(variations));\n }\n this.loader.closeLoader();\n if (this.builderModeSelection) {\n this.builderModeSelection.isFirstTimeLoad = true;\n this.builderModeSelection.variations = variations;\n this.builderModeSelection.init();\n }\n });\n }\n\n private getAndSetModifier(itemId: string) {\n //const modPer = performance.now();\n\n //console.log(\"modifier Performance :- \" + modPer)\n\n this.db\n .getModifierByItemIDFromSql(itemId)\n .then(async (allModifier: ModifierV2[]) => {\n this.loader.openLoader();\n\n this.modifiers = await this.itemService.getAllModifierIngredients(\n allModifier\n );\n if (this.integration.integration == Integration.Parbrink) {\n let parBrinkMods: any = await this.db.parBrinkOverride(this.item, this.modifiers)\n this.modifiers = this.parBrink.parBrinkModifierOverride(parBrinkMods, this.modifiers)\n }\n\n //const modPerEnd = performance.now();\n\n //console.log(\"modifier Performance End :- \" + modPerEnd);\n\n //console.log(\"Category Per End :- \" + ((modPerEnd - modPer) / 1000));\n\n if (this.item) {\n this.item.Modifiers = this.modifiers;\n }\n\n this.loader.closeLoader();\n\n if (this.builderModeSelection) {\n this.cdr.detectChanges();\n this.builderModeSelection.ngOnInit();\n }\n });\n }\n\n private getAndSetComboDetail(itemId: string) {\n let comboItemPer = performance.now();\n\n //console.log(\"Combo Item Performance :- \" + comboItemPer);\n\n this.db\n .getAllComboGroupsFromSQl(itemId)\n .then(async (comboGroup: ComboGroup[]) => {\n this.comboGroup = comboGroup;\n\n this.loader.openLoader();\n\n let comboGroupList = await this.itemService.getAllComboGroupItems(\n comboGroup,\n itemId\n );\n\n const comboItemPerEnd = performance.now();\n\n //console.log(\"Combo Item Performance :End- \" + comboItemPerEnd);\n\n //console.log(\"Combo Item Performance End :- \" + ((comboItemPerEnd - comboItemPer) / 1000));\n\n this.comboGroup = JSON.parse(JSON.stringify(comboGroupList));\n\n this.loader.closeLoader();\n\n if (this.item) {\n this.item.ComboGroup = this.comboGroup;\n this.numInvisibleGroups = this.item.ComboGroup.filter(\n (x) => x.isHidden\n ).length;\n }\n\n if (this.builderModeSelection) {\n this.cdr.detectChanges();\n this.builderModeSelection.ngOnInit();\n }\n });\n }\n\n //OpenItem For Combo Item\n open(item: ItemV2) {\n const modalReference = this.modalService.open(ItemBuilderModeComponent, {\n backdrop: 'static',\n windowClass: 'comboItemModal',\n modalDialogClass: 'comboItemModal',\n centered: true,\n size: 'xl',\n });\n\n this.ItemID = item.ItemID;\n this.CategoryID = '0';\n this.isComboItem = true;\n this.item = item;\n this.modalReference = modalReference;\n this.modalReference.componentInstance.item = item;\n this.modalReference.componentInstance.CategoryID = '0';\n this.modalReference.componentInstance.ItemID = item.ItemID;\n this.modalReference.componentInstance.isComboItem = true;\n this.modalReference.componentInstance.modalReference = this.modalReference;\n\n return this.modalReference;\n }\n\n // for combo mode close signal\n // data type any because it can be a message or data\n closeModel(data: any) {\n this.modalReference.close(data);\n }\n\n ngAfterViewInit() {\n this.preloader.hide();\n }\n\n}\n","\n \n \n\n ","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { timeout } from 'rxjs/operators';\nimport { Printer } from 'src/app/models/Printer';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { loggingData, LogService } from 'src/app/services/log.service';\nimport { PrinterService } from 'src/app/services/printer.service';\nimport { SaveSettingsService } from 'src/app/services/save-settings.service';\n\n@Component({\n selector: 'app-settings-generalsettings',\n templateUrl: './settings-generalsettings.component.html',\n styleUrls: ['./settings-generalsettings.component.css'],\n})\nexport class SettingsGeneralsettingsComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe(); \n }\n }\n }\n\n @Output() printersRefreshFlag = new EventEmitter();\n\n private allSubsCription: Subscription[] = [];\n\n printerThankyouMessage!: string;\n orderPrefix!: string;\n KitchenPrinters: Printer[] = [];\n InvoicePrinters: Printer[] = [];\n hasRefreshed: boolean = false;\n baudRate: boolean = GeneralSetting.getBaudRate() == '115200';\n refreshText: string = '';\n printerNameText: string = '';\n ipAddressText: string = '';\n printerModelText: string = '';\n statusText: string = '';\n kioskText: string = '';\n thankYouText: string = '';\n baudRateText: string = '';\n noPrintersText: string = '';\n readyText: string = '';\n notReadyText: string = '';\n testPrintText: string = '';\n invoiceMerchantText: string = '';\n kitchenPrintersText: string = '';\n printerSettingsText: string = '';\n\n constructor(\n private printerService: PrinterService,\n private saveSettingsService: SaveSettingsService,\n private db: DatabaseService,\n private language: LanguageService,\n private logger: LogService\n ) {\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n loadText() {\n this.refreshText = this.language.getTextElement('lbl_refresh');\n this.printerSettingsText = this.language.getTextElement('printer_settings');\n this.kitchenPrintersText = this.language.getTextElement('kitchen_printers');\n this.invoiceMerchantText = this.language.getTextElement(\n 'invoice_merchant_printers'\n );\n this.testPrintText = this.language.getTextElement('test_print');\n this.readyText = this.language.getTextElement('ready');\n this.notReadyText = this.language.getTextElement('not_ready');\n this.printerNameText = this.language.getTextElement('text_printer_name');\n this.ipAddressText = this.language.getTextElement('text_ip_address');\n this.printerModelText = this.language.getTextElement('text_printer_model');\n this.statusText = this.language.getTextElement('title_status');\n this.kioskText = this.language.getTextElement('kiosk_prefix');\n this.thankYouText = this.language.getTextElement('kiosk_thankyou');\n this.baudRateText = this.language.getTextElement('baud_rate');\n this.noPrintersText = this.language.getTextElement('no_printers_found');\n }\n ngOnInit() {\n this.reloadSelf();\n this.refreshKitchenPrinters();\n if (this.language.getCustomMapValues('menu_setting_receipt__thank_you_message_text')) {\n this.printerThankyouMessage = this.language.getCustomMapValues('menu_setting_receipt__thank_you_message_text'); \n } else {\n this.printerThankyouMessage = GeneralSetting.getThankYouMessage();\n }\n this.orderPrefix = GeneralSetting.getOrderPrefix();\n }\n\n public getKitchenPrinters() {\n this.allSubsCription.push(\n this.db.getKitchenPrinters(false).subscribe((printers) => {\n this.KitchenPrinters = printers.filter(\n (p: Printer) => {\n this.sendPrinterStatus(p);\n return(p.IsKitchenPrinter == 'True')\n }\n );\n this.InvoicePrinters = printers.filter(\n (p: Printer) => {\n this.sendPrinterStatus(p);\n return(p.IsInvoicePrinter == 'True')\n });\n this.hasRefreshed = true;\n this.refreshPrintersFlag(true);\n })\n );\n }\n\n public async refreshKitchenPrinters() {\n this.allSubsCription.push(\n this.db.getKitchenPrinters(true).subscribe((printers) => {\n this.KitchenPrinters = printers.filter(\n (p: Printer) =>{ \n this.sendPrinterStatus(p);\n return(p.IsKitchenPrinter == 'True')\n });\n this.InvoicePrinters = printers.filter(\n (p: Printer) => {\n this.sendPrinterStatus(p);\n return(p.IsInvoicePrinter == 'True')\n }\n );\n this.hasRefreshed = true;\n this.refreshPrintersFlag(true);\n })\n );\n }\n\n refreshPrintersFlag(value: boolean) {\n this.printersRefreshFlag.emit(value);\n }\n\n public sendPrinterStatus(printerData : Printer){\n var log = new loggingData(\n `Printer Status`,\n `Printer Connectivity Status`,\n `${printerData.BrandName ?? ''} Printer`,\n `Type : ${printerData.IsInvoicePrinter == 'True' ? 'Merchant Copy' : 'KOT'}\n Printer IP : ${printerData.IpAddress ?? ''}\n Printer : ${printerData.BrandName ?? ''}\n Printer Model : ${printerData.ModelName ?? ''}\n reason : ${(printerData.isConnected == 'true') ? 'Printer Connected' : 'Printer Disconnected'}`,\n false\n );\n this.logger.sendLogToServer(log);\n }\n\n public refreshKitchenPrintersWrapper() {\n this.hasRefreshed = false;\n this.refreshPrintersFlag(false);\n this.refreshKitchenPrinters();\n }\n\n public testStarPrint(printer: any) {\n this.allSubsCription.push(\n this.printerService\n .doSTARTestPrint(printer)\n .pipe(timeout(10000))\n .subscribe((starPrinter) => {})\n );\n }\n\n public setBaudRate(event: any) {\n let isChecked = event.target.checked;\n if (isChecked) {\n this.baudRate = true; \n GeneralSetting.setBaudRate('115200');\n } else {\n this.baudRate = false;\n GeneralSetting.setBaudRate('9600');\n }\n }\n reloadSelf() {\n this.allSubsCription.push(\n this.saveSettingsService.reloadSelfSubject.subscribe((shouldReload) => {\n if (shouldReload) {\n this.hasRefreshed = false;\n this.refreshPrintersFlag(false);\n this.refreshKitchenPrinters();\n }\n })\n );\n }\n\n}\n","\n
\n {{printerSettingsText}}\n {{refreshText|uppercase}} \n \n
{{kitchenPrintersText}}
\n\n
\n
\n \n \n {{printerNameText}} \n {{ipAddressText}} \n {{printerModelText}} \n {{statusText}} \n \n \n 0; else noPrintersBlock\">\n \n \n {{ printer.Name }} \n {{ printer.IpAddress }} \n \n {{ printer.ModelName }}\n \n \n \n {{testPrintText|uppercase}} \n \n \n \n {{notReadyText|uppercase}}
\n \n \n \n {{readyText|uppercase}}
\n \n \n \n \n\n \n \n \n {{noPrintersText}} \n \n \n
\n
\n\n
\n {{invoiceMerchantText}} \n
\n\n
\n
\n \n \n {{printerNameText}} \n {{ipAddressText}} \n {{printerModelText}} \n {{statusText}} \n \n \n 0; else noPrintersBlock\">\n \n \n {{ printer.Name }} \n {{ printer.IpAddress }} \n \n {{ printer.ModelName }}\n \n \n \n {{testPrintText|uppercase}} \n \n \n \n {{notReadyText|uppercase}}
\n \n \n \n {{readyText|uppercase}}
\n \n \n \n \n\n \n \n \n {{noPrintersText}} \n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n\n
\n
{{baudRateText}}
\n
\n 9600\n \n \n \n 115200\n
\n
\n \n
\n
{{kioskText}}
\n
{{ orderPrefix }}
\n
\n
\n
{{thankYouText}}
\n
{{ printerThankyouMessage }}
\n
\n
\n
\n
\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { CommonFunctions } from './common';\nimport { GeneralSetting } from './generalSetting.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CancelPaymentService {\n\n constructor(\n private readonly http: HttpClient\n ) {}\n\n public doCancelPayment() {\n this.doCancelOrder()\n .toPromise()\n .then(async (data: any) => {\n if (!data.RESPONSE || data.RESPONSE.RESULT_CODE != '-1') {\n console.log('Cancel Response :- ', data);\n }\n }, error => {\n console.log('Cancel Payment Error :- ', error);\n });\n }\n\n doCancelOrder() {\n const currentCounter = CommonFunctions.increaseVerifonePaymentCounter();;\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n };\n\n return this.http\n .post(environment.NodeUrl + 'doCancelOrder', body);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { ConcessionaireFilterTypes } from 'src/app/models/concessionaireTypes';\nimport { ItemTagFilterMasters } from 'src/app/models/ItemTagFilterMaster';\nimport { DatabaseService } from 'src/app/services/database.service';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { ConcessionaireService } from '../../menu/conc-service/concessionaire.service';\n\n@Component({\n selector: 'app-filter-concessionaire',\n templateUrl: './filter-concessionaire.component.html',\n styleUrls: ['./filter-concessionaire.component.css']\n})\n\nexport class FilterConcessionaireComponent implements OnInit {\n languageSub!:Subscription\n modalReference: any;\n concessionaireFilterTypes: ConcessionaireFilterTypes[] = [] as ConcessionaireFilterTypes[];\n positiveButton: string = '';\n positiveButtonText: string = '';\n itemTagsAndGroupFilters : ItemTagFilterMasters[] = [] as ItemTagFilterMasters[];\n secondaryColor: string = '';\n primaryColor: string = '';\n cuisineTypeText: string = ''\n applyText: string = ''\n cancelText: string = ''\n constructor(private readonly modalService: NgbModal,private language:LanguageService, private readonly db: DatabaseService, private readonly conService: ConcessionaireService, ) { }\n loadText(){\n this.cuisineTypeText=this.language.getTextElement('cuisine_type')\n this.applyText =this.language.getTextElement('apply')\n this.cancelText=this.language.getTextElement('lbl_button_cancel')\n }\n ngOnInit(): void {\n this.languageSub=this.language.localeCommunicator.subscribe((val)=>{\n this.loadText()\n })\n this.positiveButton = GeneralSetting.getPositiveColor();\n this.positiveButtonText = GeneralSetting.getPositiveColorText();\n this.secondaryColor = GeneralSetting.getSecondaryColor();\n this.primaryColor = GeneralSetting.getPrimaryColor();\n \n if(this.conService.concessionaireFilterTypes.length <= 0){\n this.db.getConcessionaireTypes().then(con => {\n this.concessionaireFilterTypes = con;\n this.conService.setConcessionaireFilterTypes(this.concessionaireFilterTypes);\n });\n }else{\n this.concessionaireFilterTypes = this.conService.concessionaireFilterTypes;\n }\n\n if(this.conService.itemTagsAndGroupFilters.length <= 0){\n this.db.getItemGroupAndTags().then(filters => {\n this.itemTagsAndGroupFilters = filters;\n this.conService.setItemTagsAndGroupFilters(this.itemTagsAndGroupFilters);\n });\n }else{\n this.itemTagsAndGroupFilters = this.conService.itemTagsAndGroupFilters; \n }\n }\n\n public static open(modalService: NgbModal) {\n var modalReference = modalService.open(FilterConcessionaireComponent, {\n size: 'lg',\n modalDialogClass: \"cons-dialog\",\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n\n open() {\n var modalReference = this.modalService.open(FilterConcessionaireComponent, {\n size: 'lg',\n modalDialogClass: \"cons-dialog\",\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n this.modalReference = modalReference;\n }\n\n cancel(){\n this.modalReference.close('cancel');\n }\n\n apply(){\n this.modalReference.close('apply');\n }\n\n onConcessionaireTypeSelection(filterId : string, isSelected : boolean, event : Event, isItemTag : boolean = false){\n this.conService.onConcessionaireTypeSelection(filterId,isSelected,event,isItemTag); \n }\n}\n","\n \n
\n\n\n
{{cuisineTypeText}} \n
\n
\n {{con.Name}}\n\n \n \n \n \n \n \n
\n
\n\n
\n {{itemTagGroup.ItemTagGroupName}} \n \n
\n \n {{itemTags.FilterName}} \n \n \n \n \n \n
\n \n
\n \n
\n\n \n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-olo-error-popup',\n templateUrl: './olo-error-popup.component.html',\n styleUrls: ['./olo-error-popup.component.css']\n})\nexport class OloErrorPopupComponent implements OnInit,OnDestroy {\n\n ngOnDestroy() {\n if(this.timeOut) clearTimeout(this.timeOut);\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n\n languageSub!: Subscription;\n\n oloErrorMsg: string = \"\";\n\n oloConfirmation : string = \"\";\n\n oloBtnMsg : string = \"\";\n\n modalReference: any;\n\n isTimeOut:boolean= false;\n\n private timeOut:any = null;\n\n uhOhText: string = \"\";\n\n retryText: string = \"\";\n\n defaultConfirmationMessage: string = \"\"\n\n constructor(public modalService: NgbModal, private language: LanguageService) { }\n \n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n if (this.isTimeOut) {\n this.timeOut = setTimeout(() => {\n this.close();\n },5000);\n }\n\n }\n\n loadText() {\n this.uhOhText = this.language.getTextElement('lbl_uh_oh');\n this.retryText = this.language.getTextElement('lbl_retry');\n this.defaultConfirmationMessage = this.language.getTextElement('do_you_want_to_send_the_order_again');\n\n if(this.oloBtnMsg == \"\") {\n this.oloBtnMsg = this.retryText;\n }\n\n if(this.oloConfirmation == \"\") {\n this.oloConfirmation = this.defaultConfirmationMessage;\n }\n if(this.oloConfirmation=='0'){\n this.oloConfirmation = \"\"\n }\n }\n\n public static open(modalService: NgbModal,oloErrorMsg: any, oloConfirmation: string = \"\", oloBtnMsg: string = \"\", isTimeOut: boolean = false) {\n var modalReference = modalService.open(OloErrorPopupComponent, {\n windowClass: \"oloErrorModel\",\n modalDialogClass: \"oloErrorModel\",\n backdrop: 'static',\n size: 'lg',\n centered: true\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n modalReference.componentInstance.oloErrorMsg = oloErrorMsg;\n modalReference.componentInstance.oloConfirmation = oloConfirmation;\n modalReference.componentInstance.oloBtnMsg = oloBtnMsg;\n modalReference.componentInstance.isTimeOut = isTimeOut;\n\n return modalReference;\n }\n\n close() {\n this.modalReference.close('close');\n\n if(this.timeOut) clearTimeout(this.timeOut);\n }\n\n canceled() {\n this.modalReference.close('canceled');\n\n if(this.timeOut) clearTimeout(this.timeOut);\n }\n}\n","","import { Component, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-scanned-item-added',\n templateUrl: './scanned-item-added.component.html',\n styleUrls: ['./scanned-item-added.component.css']\n})\nexport class ScannedItemAddedComponent implements OnInit {\n\n modalReference: any;\n\n constructor(private modalService: NgbModal) { }\n\n ngOnInit(): void {\n }\n\n public static open(modalService: NgbModal) {\n var modalReference = modalService.open(ScannedItemAddedComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n windowClass: \"scanDialig\",\n modalDialogClass: \"scanContent\",\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n\n open() {\n var modalReference = this.modalService.open(ScannedItemAddedComponent, { \n backdrop: 'static',\n size: 'lg',\n centered: true,\n windowClass: \"scanDialig\",\n modalDialogClass: \"scanContent\",\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n this.modalReference = modalReference;\n }\n close() {\n this.modalReference.close();\n }\n}\n","\n
\n
\n","import { catchError } from 'rxjs/operators';\r\nimport { environment } from './../../environments/environment';\r\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\r\nimport {\r\n HttpHeaders,\r\n HttpClient,\r\n HttpErrorResponse,\r\n} from '@angular/common/http';\r\nimport { ItemV2, ModifierIngredientV2, ModifierV2 } from 'src/app/models/item';\r\nimport { Variation, VariationOption } from './../models/Variations';\r\nimport { DatabaseService } from 'src/app/services/database.service';\r\nimport { forEach } from 'lodash';\r\nimport { Injectable } from '@angular/core';\r\nimport { rejects } from 'assert';\r\nimport { from, Observable, throwError } from 'rxjs';\r\nimport { DatabaseHandler } from '../DatabaseHandler';\r\nimport { order } from '../models/order';\r\nimport {\r\n OrderItemMasterReq,\r\n OrderItemModifierGroupMasterReq,\r\n OrderItemModifierMasterReq,\r\n} from '../models/OrderItemMasterReq';\r\nimport { LogService, loggingData } from '../services/log.service';\r\nimport { OrderMasterRes } from '../models/OrderUpRes';\r\nimport { ConcessioniareOrderSplitBill } from '../models/ConcessioniareOrderSplitBill';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OrderHistoryService {\r\n constructor(\r\n private logger: LogService,\r\n private databaseService: DatabaseService,\r\n private http: HttpClient\r\n ) { }\r\n orders: order[] = [];\r\n\r\n formatCombo(items: any) {\r\n // console.log('the items are', items);\r\n items.forEach((item: any) => {\r\n if (item.isCombo == 'False' && item.ComboID != '0' && !item.comboItems) {\r\n item.ComboGroup.push({ Items: [] });\r\n item.ComboGroup[0].Items = items.filter(\r\n (x: any) => x.isCombo == 'True' && x.ComboID == item.ComboID\r\n );\r\n // console.log('the combo items are', item.comboItems);\r\n }\r\n });\r\n\r\n let itemsReturn = items.filter((x: any) => x.isCombo.toString().toLowerCase() == 'false');\r\n itemsReturn.forEach((item: any) => {\r\n if (item.isCombo == 'False' &&\r\n item.ComboGroup &&\r\n item.ComboGroup.length > 0 &&\r\n item.ComboGroup[0].Items &&\r\n item.ComboGroup[0].Items.length > 0) {\r\n item.IsCombo = 'True'\r\n }\r\n });\r\n return itemsReturn;\r\n }\r\n\r\n formatModifiers(\r\n modifiers: ModifierV2[],\r\n ingredients: ModifierIngredientV2[]\r\n ) {\r\n ingredients.forEach((ing: ModifierIngredientV2) => {\r\n let index = modifiers.findIndex(\r\n (x: ModifierV2) => x.ModifierID == ing.ModifierID\r\n );\r\n if (index != -1 && ing.Name != '') {\r\n modifiers[index].Ingredients.push(ing);\r\n }\r\n });\r\n\r\n modifiers.forEach((mod: ModifierV2) => {\r\n if (mod.ParentID != '0' || mod.SelectionParentID != '0') {\r\n let index = modifiers.findIndex(\r\n (x: ModifierV2) =>\r\n x.ModifierID == mod.ParentID ||\r\n x.ModifierID == mod.SelectionParentID\r\n );\r\n if (index != -1) modifiers[index].Ingredients.push(mod);\r\n }\r\n });\r\n\r\n return modifiers.filter(\r\n (x: ModifierV2) => x.ParentID == '0' || x.SelectionParentID == '0'\r\n );\r\n }\r\n\r\n hasParent(ing: ModifierIngredientV2, ingredients: ModifierIngredientV2[]) {\r\n return (\r\n (ing.SelectionParentID &&\r\n ing.SelectionParentID != '0' &&\r\n !ingredients.some((x: any) => x.ModifierID == ing.SelectionParentID)) ||\r\n (ing.ParentID &&\r\n ing.ParentID != '0' &&\r\n !ingredients.some((x: any) => x.ModifierID == ing.ParentID))\r\n );\r\n }\r\n\r\n async getOrders(date: string) {\r\n this.orders = await this.getOrderHistoryFromSql(date);\r\n\r\n for (const order of this.orders) {\r\n order.items = await this.getOrderItemHistoryFromSql(order.OrderID, order.AppRefID);\r\n\r\n let isRefund = order.IsRefunded.toString();\r\n order.IsRefunded = (isRefund == 'True' || isRefund == 'true') ? \"True\" : \"False\";\r\n\r\n for (const item of order.items) {\r\n item.Modifiers = [];\r\n item.ComboGroup = [];\r\n item.isSelected = true;\r\n\r\n // temporarily store ingredients in item because that is how orders are structured\r\n item.Ingredients = await this.getOrderModifierHistoryFromSql(\r\n item.OrderItemID ? item.OrderItemID : ''\r\n );\r\n for (const ing of item.Ingredients) {\r\n ing.IsSelected = true;\r\n ing.isNegativeModifier = ing.IsNegativeModifier == 'True';\r\n ing.IsIngredient = true;\r\n ing.IsModifier = false;\r\n\r\n // console.log('ingredients!!!!', ing, item.Modifiers);\r\n\r\n // for nested mods find nested mods from SQL and push to ingredients array since orders don't store nested mods\r\n if (this.hasParent(ing, item.Ingredients)) {\r\n // console.log('mod with parent', ing, ing.SelectionParentID);\r\n\r\n item.Ingredients.push(\r\n ...(await this.getNestedModifierByModifierIDFromSql(\r\n ing.SelectionParentID || ing.ParentID, item.ItemID\r\n ))\r\n );\r\n }\r\n\r\n // orders also don't store modifiers so find modifier from Ingredients\r\n if (\r\n !item.Modifiers.some((x: any) => x.ModifierID == ing.ModifierID)\r\n ) {\r\n item.Modifiers.push(\r\n ...(await this.getNestedModifierByModifierIDFromSql(\r\n ing.ModifierID, item.ItemID\r\n ))\r\n );\r\n // initialize the ingredients array for each modifier\r\n if (item.Modifiers && item.Modifiers.length > 0) {\r\n item.Modifiers[item.Modifiers.length - 1].Ingredients = [];\r\n }\r\n }\r\n }\r\n // put nested mods in proper format\r\n item.Modifiers = this.formatModifiers(item.Modifiers, item.Ingredients);\r\n item.Ingredients = [];\r\n item.Variations =\r\n await this.databaseService.getVariationsByItemIDFromSql(\r\n item.ItemID.toString()\r\n );\r\n item.VariationOption =\r\n await this.databaseService.getVariationOptionByOptionID(\r\n item.ItemAttributeOptionID || ''\r\n );\r\n\r\n if (item.VariationOption && item.VariationOption[0]) {\r\n item.VariationOption[0].isSelected = true;\r\n }\r\n\r\n if (item.Variations && item.Variations[0]) {\r\n item.Variations[0].variationOptions = item.VariationOption;\r\n }\r\n item.VariationOption = [];\r\n }\r\n order.items = this.formatCombo(order.items) as ItemV2[];\r\n }\r\n return this.orders;\r\n }\r\n\r\n getOrderHistory(date: string): Observable {\r\n return from(this.getOrderHistoryFromSql(date));\r\n }\r\n\r\n getOrderHistoryFromSql(date: string) {\r\n const dateSplit = date.split(' ');\r\n\r\n return new Promise((resolve: any, reject: any) => {\r\n var historyQuery = `\r\n SELECT\r\n *\r\n FROM\r\n OrderMasters\r\n WHERE\r\n CreatedDate LIKE '${dateSplit[0]}% %${dateSplit[1]}% ${dateSplit[2]}%'\r\n ORDER BY\r\n rowid DESC\r\n `;\r\n\r\n const errorCallback = (statement: any, error: any) => {\r\n // const log = new loggingData(\r\n // 'Get OrderHistory',\r\n // 'Fail to get order History',\r\n // 'Get OrderHistory',\r\n // error.message,\r\n // true\r\n // );\r\n // this.logger.sendLogToServer(log);\r\n reject(error);\r\n };\r\n\r\n const setItems = (tx: string, results: any) => {\r\n var data: order[] = Array.from(results.rows);\r\n resolve(data);\r\n };\r\n\r\n DatabaseHandler.executeSqlStatement(\r\n historyQuery,\r\n [],\r\n setItems,\r\n errorCallback\r\n );\r\n });\r\n }\r\n\r\n getOrderItemHistory(OrderID: string, appRefOrderId: string): Observable {\r\n return from(this.getOrderItemHistoryFromSql(OrderID, appRefOrderId));\r\n }\r\n\r\n getOrderItemHistoryFromSql(OrderID: string, appRefOrderId: string) {\r\n return new Promise((resolve: any, reject: any) => {\r\n let sqlString = `SELECT ItemQuantity AS Quantity, ItemPrice as Price, ItemName as Name, TaxPer as TaxPercentage,\r\n ItemTotal as totalPrice, OrderItemComment as specialRequest, IsCombo as isCombo, ItemPrice as ExtraPrice,OrderReviewDisplayName,BranchSectionConcessionaireID as ConcessionaireId,\r\n * FROM OrderItemMasters WHERE OrderID = '${OrderID}' OR AppRefIDOrder = '${appRefOrderId}'`;\r\n\r\n const errorCallback = (statement: any, error: any) => {\r\n // const log = new loggingData(\r\n // 'Get OrderItemHistory',\r\n // 'Fail to get order item History',\r\n // 'Get OrderItemHistory',\r\n // error.message,\r\n // true\r\n // );\r\n // this.logger.sendLogToServer(log);\r\n resolve([]);\r\n };\r\n\r\n const setItem = (tx: string, results: any) => {\r\n // console.log(results.rows);\r\n resolve(Array.from(results.rows));\r\n };\r\n\r\n DatabaseHandler.executeSqlStatement(\r\n sqlString,\r\n [],\r\n setItem,\r\n errorCallback\r\n );\r\n });\r\n }\r\n\r\n getOrderModifierHistoryFromSql(OrderItemID: string) {\r\n return new Promise((res: any, rej: any) => {\r\n let create =\r\n 'CREATE TABLE IF NOT EXISTS OrderItemModifierMasters (id unique, log)';\r\n let sqlString = `SELECT IngredientName as Name, IngredientName as DisplayName, * FROM OrderItemModifierMasters WHERE OrderItemID = '${OrderItemID}'`;\r\n\r\n const errorCallback = (statement: any, error: any) => {\r\n // const log = new loggingData(\r\n // 'Get OrderModifierHistory',\r\n // 'Fail to get order modifier history',\r\n // 'Get OrderModifierHistory',\r\n // error.message,\r\n // true\r\n // );\r\n // this.logger.sendLogToServer(log);\r\n res([]);\r\n rej(error);\r\n };\r\n\r\n const setMods = (tx: string, results: any) => {\r\n // console.log('order mods', results.rows);\r\n res(Array.from(results.rows));\r\n };\r\n\r\n DatabaseHandler.executeSqlStatement(create, [], () => { }, errorCallback);\r\n\r\n DatabaseHandler.executeSqlStatement(\r\n sqlString,\r\n [],\r\n setMods,\r\n errorCallback\r\n );\r\n });\r\n }\r\n\r\n getNestedModifierByModifierIDFromSql(modifierId: string, ItemID: string) {\r\n return new Promise((resolve: any, reject: any) => {\r\n const getModifier = `\r\n SELECT\r\n MM.ModifierID AS ModifierID\r\n ,MM.IsModifier86 as IsModifier86\r\n ,MM.IsForced AS IsForced\r\n ,MM.CountOption AS CountOption\r\n ,MM.MinNoOfSelection AS MinNoOfSelection\r\n ,MM.Category AS Category\r\n ,MM.Price AS Price\r\n ,CAST(MM.DisplayOrder AS INT) AS DisplayOrder\r\n ,MM.DisplayName AS DisplayName\r\n ,MM.Description AS Description\r\n ,MM.IngredientID AS IngredientID\r\n ,MM.ParentID AS ParentID\r\n ,MM.RefModifierid\r\n ,MM.SelectedImage\r\n ,MM.DeselectedImage\r\n ,I.ImageUrl\r\n ,'0' as ParentModifierID\r\n\r\n FROM\r\n ModifierMasters as MM\r\n LEFT JOIN Ingredients as I\r\n ON MM.IngredientID = I.IngredientID\r\n WHERE\r\n MM.ModifierID = '${modifierId}'\r\n AND MM.ItemID = '${ItemID}'\r\n AND MM.IsActive = 'True'\r\n AND MM.IsShowOnKIOSK = 'True'\r\n\r\n UNION\r\n SELECT\r\n MM.ModifierID AS ModifierID\r\n ,MM.IsModifier86 as IsModifier86\r\n ,MM.IsForced AS IsForced\r\n ,MM.CountOption AS CountOption\r\n ,MM.MinNoOfSelection AS MinNoOfSelection\r\n ,MM.Category AS Category\r\n ,MM.Price AS Price\r\n ,CAST((Case when cmim.DisplayOrder = '0' then MM.DisplayOrder else cmim.DisplayOrder end) AS INT) AS DisplayOrder\r\n ,MM.DisplayName AS DisplayName\r\n ,MM.Description AS Description\r\n ,MM.IngredientID AS IngredientID\r\n ,case when MM.ParentID = '0' then cmim.ParentModifierID else mm.ParentID end as ParentID\r\n ,MM.RefModifierid\r\n ,MM.SelectedImage\r\n ,MM.DeselectedImage\r\n ,I.ImageUrl\r\n ,CMIM.ParentModifierID\r\n\r\n FROM\r\n CommonModifier_Item_Mappings as CMIM\r\n LEFT JOIN\r\n ModifierDetailMasters as MDM\r\n ON CMIM.ModifierID = MDM.ModifierID\r\n LEFT JOIN\r\n ModifierMasters as MM\r\n ON( CMIM.ModifierID = MM.ModifierID)\r\n LEFT JOIN Ingredients as I\r\n ON MM.IngredientID = I.IngredientID\r\n WHERE\r\n (cmim.ModifierID = '${modifierId}')\r\n AND cmim.ItemID = '${ItemID}'\r\n AND MM.IsActive = 'True'\r\n AND MM.IsShowOnKIOSK = 'True'\r\n ORDER BY DisplayOrder\r\n `;\r\n\r\n const logError = (statement: any, error: any) => {\r\n\r\n console.log('Order History Service, Error getNestedModifierByModifierIDFromSql :- ', error);\r\n\r\n resolve([]);\r\n };\r\n\r\n const setItems = (transaction: String, results: any) => {\r\n var data: ModifierV2[] = [];\r\n\r\n for (var i = 0; i < results.rows.length; i++) {\r\n let md = results.rows[i];\r\n\r\n let modifier = new ModifierV2();\r\n modifier.ModifierID = md.ModifierID;\r\n modifier.IsModifier86 = md.IsModifier86;\r\n modifier.IsForced = md.IsForced;\r\n modifier.CountOption = md.CountOption;\r\n modifier.MinNoOfSelection = md.MinNoOfSelection;\r\n modifier.Category = md.Category;\r\n modifier.Price = md.Price;\r\n modifier.DisplayOrder = md.DisplayOrder;\r\n modifier.DisplayName = md.DisplayName;\r\n modifier.Description = md.Description;\r\n modifier.IngredientID = md.IngredientID;\r\n modifier.ParentID = md.ParentID;\r\n modifier.RefModifierId = md.RefModifierid;\r\n modifier.SelectedImage = md.SelectedImage;\r\n modifier.DeselectedImage = md.DeselectedImage;\r\n modifier.ImageUrl = md.ImageUrl;\r\n modifier.count = 0;\r\n modifier.Ingredients = [];\r\n modifier.max = Number.MAX_SAFE_INTEGER;\r\n modifier.isValid = true;\r\n modifier.min = Number.MIN_SAFE_INTEGER;\r\n modifier.rule = '';\r\n modifier.IsSelected = true;\r\n modifier.ParentModifierID = md.ParentModifierID;\r\n //modifier.IsModifier86 = md.IsModifier86 == \"True\"? \"False\" : \"True\";\r\n\r\n let max = Number(modifier.CountOption);\r\n let min = Number(modifier.MinNoOfSelection);\r\n if (min > 0 || max > 0) {\r\n if (min) {\r\n // has min\r\n if (max > 0) {\r\n // has min and max\r\n if (min == max) {\r\n modifier.rule = `Choose exactly ${modifier.MinNoOfSelection}`; // min and max are the same\r\n modifier.max = max;\r\n modifier.min = min;\r\n } else {\r\n modifier.rule = `Choose between ${modifier.MinNoOfSelection} and ${modifier.CountOption}`; // min and max are different\r\n modifier.max = max;\r\n modifier.min = min;\r\n }\r\n } else {\r\n modifier.rule = `Choose at least ${modifier.MinNoOfSelection}`; // only has min\r\n modifier.min = min;\r\n }\r\n } else if (max > 0) {\r\n // has max\r\n if (modifier.IsForced == 'True' && max == 1) {\r\n modifier.rule = `Choose exactly ${modifier.CountOption}`;\r\n modifier.max = max;\r\n modifier.min = 1;\r\n } else {\r\n modifier.max = max;\r\n modifier.min = min;\r\n modifier.rule = `Choose up to ${modifier.CountOption}`;\r\n }\r\n }\r\n } else {\r\n modifier.min = 0;\r\n modifier.max = 0;\r\n }\r\n\r\n data.push(modifier);\r\n }\r\n // //console.log('modifier data', data);\r\n resolve(data);\r\n };\r\n\r\n DatabaseHandler.executeSqlStatement(getModifier, [], setItems, logError);\r\n });\r\n }\r\n\r\n getConcesisonaireOrderSplitBillByInvoiceNoFromSql(OrderId: string, InvoiceNo: string) {\r\n return new Promise((resolve: any, reject: any) => {\r\n let getOrderConcessionaireSplitBill = '';\r\n\r\n //if (!OrderId || OrderId == \"\") {\r\n getOrderConcessionaireSplitBill = `select * from OrderConcessionaireSplitBill where SplitInvoiceNo like '%${InvoiceNo}%'`;\r\n //}\r\n //else {\r\n // getOrderConcessionaireSplitBill = `select * from OrderConcessionaireSplitBill where OrderId like \"%${OrderId}%\"`;\r\n //}\r\n\r\n const logError = (statement: any, error: any) => {\r\n\r\n console.log('Concessionaire Order Split Bill Data , Error getConcesisonaireOrderSplitBillByInvoiceNoFromSql :- ', error);\r\n\r\n resolve([] as ConcessioniareOrderSplitBill[]);\r\n };\r\n\r\n const setItems = (transaction: String, results: any) => {\r\n var data: ConcessioniareOrderSplitBill[] = Array.from(results.rows);\r\n\r\n // //console.log('modifier data', data);\r\n resolve(data);\r\n };\r\n\r\n DatabaseHandler.executeSqlStatement(getOrderConcessionaireSplitBill, [], setItems, logError);\r\n });\r\n }\r\n\r\n sendRefundOrderAPI(order: order | OrderMasterRes) {\r\n const headers = new HttpHeaders()\r\n .set('Version', '1.0')\r\n .set('Content-Type', 'application/json')\r\n .set('CompanyID', GeneralSetting.getCompanyId())\r\n .set('BranchID', GeneralSetting.getBranchId())\r\n .set('DeviceID', GeneralSetting.getSerialNo());\r\n\r\n const body = JSON.stringify(order);\r\n // console.log('Order API body', body);\r\n\r\n return this.http\r\n .post(environment.apiUrl + 'RefundOrder', body, {\r\n headers,\r\n })\r\n .pipe(catchError(this.errorHandler));\r\n }\r\n\r\n /**\r\n * error handler\r\n * @param error\r\n * @returns error message\r\n */\r\n errorHandler(error: HttpErrorResponse) {\r\n var log = new loggingData(\r\n 'Data Error',\r\n 'Encountered Error on send Refund Data Fetch',\r\n `Error`,\r\n `Encountered Error: ${error}`,\r\n true\r\n );\r\n this.logger.sendLogToServer(log);\r\n return throwError(error.message);\r\n }\r\n\r\n}\r\n","\n
\n
\n
{{discountText}} \n
{{messageText}}
\n
\n
\n \n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-discount-confirmation',\n templateUrl: './discount-confirmation.component.html',\n styleUrls: ['./discount-confirmation.component.css']\n})\nexport class DiscountConfirmationComponent implements OnInit,OnDestroy {\n\n modalReference: any;\nlanguageSub!:Subscription\n constructor(private modalService: NgbModal,private language:LanguageService) { }\n\n messageText: string = '';\n positiveBtnText: string = '';\n negativeBtnText: string = '';\n discountText:string=''\n alertFor: number = 0;\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText(){\n this.discountText=this.language.getTextElement('txt_discount')\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n\n public static open(modalService:NgbModal, msg: string, positiveButtonText: string, negativeButtonText: string, alertFor: number) {\n let modalReference = modalService.open(DiscountConfirmationComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.messageText = msg;\n modalReference.componentInstance.positiveBtnText = positiveButtonText;\n modalReference.componentInstance.negativeBtnText = negativeButtonText;\n modalReference.componentInstance.alertFor = alertFor\n modalReference.componentInstance.modalReference = modalReference;\n return modalReference;\n }\n\n open(msg: string, positiveButtonText: string, negativeButtonText: string, alertFor: number) {\n this.modalReference = this.modalService.open(DiscountConfirmationComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n this.modalReference.componentInstance.messageText = msg;\n this.modalReference.componentInstance.positiveBtnText = positiveButtonText;\n this.modalReference.componentInstance.negativeBtnText = negativeButtonText;\n this.modalReference.componentInstance.alertFor = alertFor;\n\n this.modalReference.componentInstance.modalReference = this.modalReference;\n }\n\n onYesClick() {\n this.modalReference.close('Yes');\n }\n onNoClick() {\n this.modalReference.close('No');\n }\n}\n","import {\n HttpClient,\n HttpErrorResponse,\n HttpHeaders,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { environment } from 'src/environments/environment';\nimport { PaymentCredential } from '../models/BranchLoginModels';\nimport { StaffModuleMaster } from '../models/BranchLoginModels';\nimport { HttpConnection, IHttpHeaders } from './http.service';\nimport { IsKioskService } from './is-kiosk.service';\nimport { IVerifoneGeneralRes, IVerifoneTransactionRes } from '../models/VerifoneResponse';\nimport { PaymentErrorDialogService } from '../components/dialogs/payment-error/payment-error-dialog.service';\nimport { LanguageService } from './language.service';\nimport { PaymentInsertService } from '../components/dialogs/payment-insert/payment-insert.service';\nimport { loggingData, LogService } from './log.service';\nimport { PaymentService } from './payment.service';\nimport { CommonFunctions } from './common';\nimport { PaymentSuccessDialogService } from '../components/dialogs/payment-success/payment-success-dialog.service';\nimport { LoaderService } from './loader.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VerifoneService {\n authTokenURL: string = 'https://cst1.test-vam.vfims.com/oauth2/realms/root/realms/VerifoneServices/access_token';\n verifoneURL: string = 'https://cst2.test-gsc.vfims.com/oidc/poscloud/nexo';\n verifoneRefundPaymentApi: string = 'RefundVerifonePayment';\n\n isKiosk: boolean = true;\n\n private lastTransactionCounter = 0;\n\n private isPaymentConfigured: boolean = false;\n\n verifoneErrorResponseCodes: any[] = [\n '43',\n '44',\n '55',\n '61',\n '68',\n '30001',\n '30002',\n '30003',\n '30004',\n '30005',\n '23',\n '24',\n '74',\n '59024',\n '59025',\n '59026',\n ];\n\n constructor(private http: HttpClient,\n private kioskService: IsKioskService,\n private paymentErrorDialog: PaymentErrorDialogService,\n private paymentInsertModal: PaymentInsertService,\n private readonly paymentSuccessModel: PaymentSuccessDialogService,\n private language: LanguageService,\n private readonly logger: LogService,\n private paymentService: PaymentService,\n private loader: LoaderService\n ) {\n this.isKiosk = kioskService.isKiosk();\n }\n\n public increasePaymentCounter() {\n return CommonFunctions.increaseVerifonePaymentCounter();\n }\n\n getAuthToken(obj: any) {\n let body = {\n url: obj.url,\n username: obj.username,\n secret: obj.secret,\n };\n\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n\n return this.http\n .post(environment.NodeUrl + 'proxy', JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n getStatus(authToken: string, url: string) {\n const body = { authToken: authToken, url: url };\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http\n .post(environment.NodeUrl + 'status', JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n getStatusV2(authToken: string, url: string) {\n const body = { authToken: authToken, url: url };\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http\n .post(environment.NodeUrl + 'verifoneStatus', JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n doPayment(authToken: string, amount: string, paymentId: string, url: string) {\n const body = { authToken: authToken, amount: amount, paymentId: paymentId, url: url };\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http\n .post(environment.NodeUrl + 'payment', JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n doPaymentV2(authToken: string, amount: string, paymentId: string, url: string) {\n const body = { authToken: authToken, amount: amount, paymentId: paymentId, url: url };\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this.http\n .post(environment.NodeUrl + 'paymentV2', JSON.stringify(body), {\n headers,\n responseType: 'text',\n })\n .pipe(catchError(this.errorHandler));\n }\n\n getPaymentCredentialsFromSql(): Promise {\n return new Promise((resolve, reject) => {\n const query = 'SELECT * FROM PaymentCredentials';\n\n function callback(tx: string, data: any) {\n if (data.rows && data.rows.length > 0) {\n resolve(data.rows[0]);\n }\n else {\n resolve({} as PaymentCredential);\n }\n }\n\n function errorCallback(tx: string, data: any) {\n resolve({} as PaymentCredential);\n }\n\n DatabaseHandler.executeSqlStatement(query, [], callback, errorCallback);\n });\n }\n\n //getPaymentDevice(): Observable {\n // return from(this.getPaymentDeviceFromSql());\n //}\n\n getPaymentDeviceFromSql(): Promise {\n return new Promise((resolve, reject) => {\n const query = `SELECT hsn FROM StaffModuleMasters WHERE DeviceID = '${GeneralSetting.getSerialNo()}'`;\n\n function callback(tx: string, data: any) {\n if (data.rows && data.rows.length > 0) {\n resolve(data.rows[0]);\n }\n else {\n resolve({} as StaffModuleMaster);\n }\n }\n\n function errorCallback(tx: string, data: any) {\n resolve({} as StaffModuleMaster);\n }\n DatabaseHandler.executeSqlStatement(query, [], callback, errorCallback);\n });\n }\n\n errorHandler(error: HttpErrorResponse) {\n return throwError(error.message);\n }\n\n // Verifone Offline \n getKeyPairFromServer() {\n // let url = \"https://localhost:44367/Home/GenerateKeysV2\";\n const url = environment.apiUrl + \"CryptoGenerateKeysRSA\";\n\n const headers = new HttpHeaders()\n .set('CompanyID', GeneralSetting.getCompanyId())\n .set('BranchID', GeneralSetting.getBranchId())\n .set('Version', '2.0');\n\n return this.http.post(url, '', { headers })\n .pipe(catchError(this.errorHandler));\n }\n\n getDecryptWithPrivateKey() {\n\n return this.http.post(environment.NodeUrl + 'doDecryptVerifoneMacKey', {\n macKey: GeneralSetting.getVerifoneMacKey(),\n }).pipe(catchError(this.errorHandler));\n }\n\n connectAndRegisterVerifoneClient(body: any) {\n return this.http\n .post(environment.NodeUrl + 'verifoneRegisterDevice', body)\n .pipe(catchError(this.errorHandler));\n }\n\n testMac() {\n\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n return this.http.post(environment.NodeUrl + 'testMacVerifone', body)\n .pipe(catchError(this.errorHandler));\n }\n\n startSession(invoiceNo: string) {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n Invoice: invoiceNo.substr(invoiceNo.length - 6),\n posIp: GeneralSetting.getVerifonePosIp()\n };\n\n return this.http\n .post(environment.NodeUrl + 'doStartVerifoneSession', body)\n .pipe(catchError(this.errorHandler));\n }\n\n doOfflineTransaction(amount: string) {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n amount: amount\n };\n\n return this.http\n .post(environment.NodeUrl + 'doVerifoneTransaction', body)\n .pipe(catchError(this.errorHandler));\n }\n\n finishSession() {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n return this.http\n .post(environment.NodeUrl + 'doEndVerifoneSession', body)\n .pipe(catchError(this.errorHandler));\n }\n\n getCounter() {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n return this.http\n .post(environment.NodeUrl + 'doVerifoneCounter', body)\n .pipe(catchError(this.errorHandler));\n }\n\n getQueryVerifoneOfflineTransaction() {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n return this.http\n .post(environment.NodeUrl + 'doQueryVerifoneOfflineTransaction', body)\n .pipe(catchError(this.errorHandler));\n }\n\n refundTransaction(amount: string, ctrouid: string) {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n transactionId: ctrouid,\n amount: amount.trim()\n };\n\n return this.http\n .post(environment.NodeUrl + 'doRefundVerifoneTransaction', body)\n .pipe(catchError(this.errorHandler));\n }\n\n unRegisterDevice() {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n };\n\n return this.http\n .post(environment.NodeUrl + 'doUnRegisterDevice', body)\n .pipe(catchError(this.errorHandler));\n }\n\n getLastTransaction() {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n return this.http\n .post(environment.NodeUrl + 'getLastTransaction', body)\n .pipe(catchError(this.errorHandler));\n }\n\n doVoidTransaction(CTROUTD: string) {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n ctroutd: CTROUTD\n };\n\n return this.http\n .post(environment.NodeUrl + 'doVoidTransaction', body)\n .pipe(catchError(this.errorHandler));\n }\n\n getDeviceVersion() {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n };\n\n return this.http\n .post(environment.NodeUrl + 'getDeviceVersion', body)\n .pipe(catchError(this.errorHandler));\n }\n\n doCancelOrder() {\n\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n };\n\n return this.http\n .post(environment.NodeUrl + 'doCancelOrder', body)\n .pipe(catchError(this.errorHandler));\n }\n\n doConnectVerifoneDevice() {\n const body = {\n posPort: '5015',\n posIp: GeneralSetting.getVerifonePosIp()\n };\n\n return this.http\n .post(environment.NodeUrl + 'verifoneConnectDevice', body)\n .pipe(catchError(this.errorHandler));\n }\n\n //Verifone Offline End\n\n onlineCheck() {\n // let url = \"https://localhost:44367/Home/GenerateKeysV2\";\n const url = environment.apiUrl + \"CryptoGenerateKeysRSA\";\n\n const headers = new HttpHeaders()\n .set('CompanyID', \"\")\n .set('BranchID', \"\")\n .set('Version', '2.0');\n\n return this.http.post(url, '', { headers })\n .pipe(catchError(this.errorHandler));\n }\n\n /**\n * Verifone refund payment\n */\n doVerifonePaymentRefund(orderId: string, refundedAmount: string) {\n var headers = [] as IHttpHeaders[];\n headers.push({ key: \"Content-Type\", value: \"application/json\" } as IHttpHeaders);\n headers.push({ key: \"Accept\", value: \"application/json\" } as IHttpHeaders);\n const body = {\n OrderID: Number(orderId),\n RefundAmount: Number(refundedAmount)\n };\n\n return HttpConnection.Connection(this.http, this.isKiosk)\n .addUrl(environment.apiUrl + this.verifoneRefundPaymentApi)\n .addMethod(\"POST\")\n .addHeader(headers)\n .addBody(body)\n .post();\n }\n\n\n doConnectAndTryLastTransactionOneTime() {\n return new Promise(async (resolve) => {\n\n this.doConnectVerifoneDevice()\n .pipe(timeout(20000))\n .toPromise()\n .then(\n (data: any) => {\n if (!data.isError) {\n this.getLastTransaction()\n .pipe(timeout(50000))\n .toPromise()\n .then(\n (lastTranRes: IVerifoneTransactionRes) => {\n if (lastTranRes.RESPONSE.RESULT_CODE == '59003') {\n resolve(null);\n } else {\n resolve(lastTranRes);\n }\n },\n (error: any) => {\n resolve(null);\n }\n );\n } else {\n resolve(null);\n }\n },\n (error: any) => {\n resolve(null);\n }\n );\n\n\n });\n }\n\n public async startPayment(amount: number) {\n console.log(\"verifone startPayment Called \");\n\n let orderInvoiceNo = this.paymentService.getRandomOrderNo();\n\n let errorTxt = this.language.getTextElement('txt_kiosk_payment_device_not_set_up');\n this.lastTransactionCounter = 0;\n\n if (!GeneralSetting.getIsHasVerifoneDetailes()) {\n console.log(\"Verifone has no detailes\");\n\n await this.paymentErrorDialog.openPaymentErrorDialog(true, errorTxt).then();\n\n return false;\n }\n\n this.paymentInsertModal.openPaymentInsetModel(true, false, false, \"Connecting To Payment Device\");\n\n console.log(\"doVerifonePosConnection called\");\n\n if (!(await this.doVerifonePosConnection())) {\n console.log(\"doVerifonePosConnection failed\");\n this.paymentInsertModal.closePaymentInsertModel();\n await this.paymentErrorDialog.openPaymentErrorDialog(true, errorTxt).then();\n return false;\n }\n\n console.log(\"getTransactionCounter Called\");\n\n if (!(await this.getTransactionCounter())) {\n console.log(\"getTransactionCounter failed\");\n this.paymentInsertModal.closePaymentInsertModel();\n await this.paymentErrorDialog.openPaymentErrorDialog(true, errorTxt).then();\n return false;\n }\n\n console.log(\"doTestMac Called\");\n if (!(await this.doTestMac())) {\n console.log(\"doTestMac failed\");\n this.paymentInsertModal.closePaymentInsertModel();\n await this.paymentErrorDialog.openPaymentErrorDialog(true, errorTxt).then();\n return false;\n }\n\n console.log(\"doStartSession Called\");\n if (!(await this.doStartSession(this.paymentService.getRandomOrderNo()))) {\n console.log(\"doStartSession failed\");\n this.paymentInsertModal.closePaymentInsertModel();\n await this.paymentErrorDialog.openPaymentErrorDialog(true, errorTxt).then();\n return false;\n }\n\n console.log(\"doVerifonePayment Called\");\n let paymentRes = await this.doVerifonePayment(amount, orderInvoiceNo);\n\n await this.doFinishSession();\n\n this.paymentInsertModal.closePaymentInsertModel();\n\n if (!paymentRes.IsSuccess) {\n console.log(\"doVerifonePayment failed\");\n await this.paymentErrorDialog.openPaymentErrorDialog(true, paymentRes.Message).then();\n return false;\n }\n\n console.log(\"doVerifonePayment Success\");\n this.paymentSuccessModel.openPaymentSuccessModel(true);\n\n await CommonFunctions.delay(1000);\n\n this.paymentSuccessModel.closePaymentSuccessModel();\n\n return true;\n }\n\n private async doVerifonePosConnection() {\n return new Promise(async (resolve) => {\n const body = {\n posPort: '5015',\n posIp: GeneralSetting.getVerifonePosIp()\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Pos Conncectin Called',\n 'Verifone do Pos Conncectin Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Pos Conncectin Called',\n JSON.stringify(body),\n true\n ));\n\n\n this.http\n .post(environment.NodeUrl + 'verifoneConnectDevice', body)\n .pipe(catchError(this.errorHandler))\n .toPromise().then(data => {\n if (!data.isError) {\n resolve(true);\n } else {\n this.closePaymentModelAndFinishVerifoneSession();\n resolve(false);\n }\n }, error => {\n resolve(false);\n });\n });\n }\n\n private async getTransactionCounter() {\n return new Promise(async (resolve) => {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone get Transaction Counter Called',\n 'Verifone get Transaction Counter Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone get Transaction Counter Called',\n JSON.stringify(body),\n true\n ));\n\n this.http\n .post(environment.NodeUrl + 'doVerifoneCounter', body)\n .pipe(catchError(this.errorHandler))\n .toPromise().then(counterRes => {\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Counter Res',\n 'Verifone get Counter Res orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Error Payment Verifone',\n JSON.stringify(counterRes),\n true\n ));\n\n if (\n !counterRes.RESPONSE.RESULT_CODE ||\n counterRes.RESPONSE.RESULT_CODE != '1'\n ) {\n if (counterRes.RESPONSE.COUNTER && counterRes.RESPONSE.COUNTER != \"\") {\n GeneralSetting.setVerifonePaymentCounter(\n counterRes.RESPONSE.COUNTER\n );\n }\n\n this.increasePaymentCounter();\n } else {\n this.increasePaymentCounter();\n }\n\n this.paymentInsertModal.setHeaderText(\"\");\n\n resolve(true);\n }, error => {\n this.closePaymentModelAndFinishVerifoneSession();\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Counter Res Error',\n 'Verifone get Counter Res Error orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Error Payment Verifone',\n JSON.stringify(error),\n true\n ));\n\n resolve(false);\n });\n });\n }\n\n private async doTestMac() {\n return new Promise(async (resolve) => {\n\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Test Mac Called',\n 'Verifone do Test Mac Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Test Mac Called',\n JSON.stringify(body),\n true\n ));\n\n this.http.post(environment.NodeUrl + 'testMacVerifone', body)\n .pipe(catchError(this.errorHandler))\n .toPromise().then((testMacRes: IVerifoneGeneralRes) => {\n\n if (\n !testMacRes.RESPONSE.RESULT_CODE ||\n testMacRes.RESPONSE.RESULT_CODE != '-1'\n ) {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Test Mac Error',\n 'Verifone Encountered Error Doing TestMac orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Error Payment Verifone',\n JSON.stringify(testMacRes) + \" \" + JSON.stringify(body),\n true\n ));\n\n this.closePaymentModelAndFinishVerifoneSession();\n resolve(false);\n }\n else {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Test Mac Succeess',\n 'Verifone Test Mac Succeess orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone Test Mac',\n JSON.stringify(testMacRes) + \" \" + JSON.stringify(body),\n true\n ));\n\n resolve(true);\n }\n }, error => {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Test Mac Error',\n 'Verifone Encountered Test Mac Error orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n JSON.stringify(body),\n 'Test Mac Error',\n true\n ));\n\n this.closePaymentModelAndFinishVerifoneSession();\n\n resolve(false);\n });\n\n });\n }\n\n private async doStartSession(invoiceNo: string) {\n return new Promise(async (resolve) => {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n Invoice: invoiceNo.substr(invoiceNo.length - 6),\n posIp: GeneralSetting.getVerifonePosIp()\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Start Session Called',\n 'Verifone Start Session Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone Start Session Called',\n JSON.stringify(body),\n true\n ));\n\n this.http\n .post(environment.NodeUrl + 'doStartVerifoneSession', body)\n .pipe(catchError(this.errorHandler)).toPromise().then(\n (sessionStartRes: IVerifoneGeneralRes) => {\n if (\n !sessionStartRes.RESPONSE.RESULT_CODE ||\n sessionStartRes.RESPONSE.RESULT_CODE != '-1'\n ) {\n this.closePaymentModelAndFinishVerifoneSession();\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Start Session Error',\n 'Verifone Encountered Error Doing Start Session orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Error Payment Verifone',\n JSON.stringify(sessionStartRes) + \" Req Data \" + JSON.stringify(body),\n true\n ));\n\n resolve(false);\n }\n else {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Start Session Res ',\n 'Verifone Start Session Res Success orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone Start Session Res Success',\n JSON.stringify(sessionStartRes),\n true\n ));\n\n resolve(true);\n }\n }, error => {\n this.closePaymentModelAndFinishVerifoneSession();\n\n const log = new loggingData(\n 'Verifone Session Start Error',\n 'Verifone Session Start Error orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n \"Error Verifone Session Start\",\n JSON.stringify(body),\n true\n );\n\n resolve(false);\n });\n });\n }\n\n private async doVerifonePayment(amount: number, orderInvoiceNo: string) {\n return new Promise<{\n IsSuccess: boolean,\n Message: string\n }>(async (resolve) => {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n amount: CommonFunctions.roundDigit(amount, 2).toFixed(2)\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Payment Called ',\n 'Verifone do Payment Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Payment Called',\n JSON.stringify(body),\n true\n ));\n\n this.http\n .post(environment.NodeUrl + 'doVerifoneTransaction', body)\n .pipe(catchError(this.errorHandler))\n .toPromise().then(async (transactionRes: IVerifoneTransactionRes) => {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Payment Res ',\n 'Verifone do Payment Res orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Payment Res ',\n JSON.stringify(transactionRes),\n true\n ));\n\n resolve(await this.onVerifoneTransactionRes(transactionRes, orderInvoiceNo));\n }, async (error: any) => {\n let stringError = '';\n\n try {\n stringError = JSON.stringify(error);\n } catch (e) { }\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Transaction Time Out Error',\n 'Verifone Encountered Transaction Error orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Error Payment Verifone',\n stringError,\n true\n ));\n\n await this.doFinishSession();\n\n resolve(await this.doLastTransactionLoop(orderInvoiceNo));\n });\n });\n }\n\n private async onVerifoneTransactionRes(\n transactionRes: IVerifoneTransactionRes,\n orderInvoiceNo: string,\n isLastTransaction: boolean = false\n ) {\n\n let resData = {\n IsSuccess: false,\n Message: \"\"\n }\n\n if (\n transactionRes &&\n transactionRes.RESPONSE &&\n (transactionRes.RESPONSE.RESULT_CODE == '2' ||\n transactionRes.RESPONSE.RESULT_CODE == '4' ||\n transactionRes.RESPONSE.RESULT_CODE == '5')\n ) {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Transaction Approved',\n 'Verifone Encountered Transaction Approved orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Approve Payment Verifone',\n JSON.stringify(transactionRes),\n true\n ));\n\n if (!transactionRes.RESPONSE.TROUTD\n || transactionRes.RESPONSE.TROUTD == undefined\n || transactionRes.RESPONSE.TROUTD == null\n || transactionRes.RESPONSE.TROUTD == ''\n ) {\n GeneralSetting.setIsVerifoneOfflineOrder('true');\n } else {\n GeneralSetting.setIsVerifoneOfflineOrder('false');\n }\n\n GeneralSetting.setPaymentResponse(\n JSON.stringify(transactionRes.RESPONSE)\n );\n\n GeneralSetting.setCardType(transactionRes.RESPONSE.PAYMENT_MEDIA);\n\n resData.IsSuccess = true;\n resData.Message = \"Payment Successful\";\n\n return resData;\n } else if (\n transactionRes &&\n transactionRes.RESPONSE &&\n transactionRes.RESPONSE.RESULT_CODE &&\n this.verifoneErrorResponseCodes.find(\n (x) => x == transactionRes.RESPONSE.RESULT_CODE\n ) &&\n !isLastTransaction\n ) {\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone Transaction Error',\n 'Verifone Encountered Transaction Error orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Error Payment Verifone',\n JSON.stringify(transactionRes),\n true\n ));\n\n await this.doFinishSession();\n if (isLastTransaction) {\n resData =\n {\n IsSuccess: false,\n Message: \"Transaction Failed\"\n }\n return resData;\n }\n return await this.doLastTransactionLoop(orderInvoiceNo);\n } else {\n var tranResMessage = await this.getTransactionResMessage(transactionRes.RESPONSE.RESULT_CODE, transactionRes);\n\n if (!tranResMessage.isKnownResCode) {\n const log = new loggingData(\n 'Verifone Transaction Declined',\n 'Verifone Encountered Transaction Declined orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Decline Payment Verifone',\n JSON.stringify(transactionRes),\n true\n );\n\n this.logger.sendLogToServer(log);\n\n await this.doFinishSession();\n if (isLastTransaction) {\n resData =\n {\n IsSuccess: false,\n Message: \"Transaction Failed\"\n }\n return resData;\n }\n\n return await this.doLastTransactionLoop(orderInvoiceNo, true);\n } else {\n resData =\n {\n IsSuccess: false,\n Message: \"Transaction Failed\"\n }\n return resData;\n }\n }\n }\n\n private async getTransactionResMessage(ResultCode: string, transactionRes: IVerifoneTransactionRes) {\n let transactionMessage = 'Transaction Declined';\n\n let isKnownResCode = false;\n\n switch (ResultCode) {\n case '59001':\n isKnownResCode = true;\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Transaction Canceled By Customer',\n 'Verifone Encountered Transaction Cancel orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Decline Payment Verifone',\n JSON.stringify(transactionRes),\n true\n )\n );\n\n transactionMessage = 'Canceled By Customer';\n\n break;\n case '56783':\n isKnownResCode = true;\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone DUPLICATE TRANSACTION ',\n 'Verifone Encountered DUPLICATE TRANSACTION orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Decline Payment Verifone',\n JSON.stringify(transactionRes),\n true\n )\n );\n\n transactionMessage = 'Duplicate Transaction';\n\n break;\n case '999998':\n isKnownResCode = true;\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Decline TRANSACTION ',\n 'Verifone Encountered Decline TRANSACTION orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Decline Payment Verifone',\n JSON.stringify(transactionRes),\n true\n )\n );\n\n transactionMessage = 'Transaction Decline';\n\n break;\n }\n\n return {\n isKnownResCode: isKnownResCode,\n transactionMessage: transactionMessage\n };\n }\n\n private doConnectDevice() {\n return new Promise((resolve, reject) => {\n const body = {\n posPort: '5015',\n posIp: GeneralSetting.getVerifonePosIp()\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Connect Device Called',\n 'Verifone do Connect Device Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Connect Device Called ',\n JSON.stringify(body),\n true\n ));\n\n this.http\n .post(environment.NodeUrl + 'verifoneConnectDevice', body)\n .pipe(catchError(this.errorHandler)).toPromise()\n .then(data => {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Connect Device Res',\n 'Verifone do Connect Device Res orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Connect Device Res ',\n JSON.stringify(data),\n true\n ));\n if (!data.isError) {\n resolve(true);\n } else {\n resolve(false);\n }\n }, error => {\n resolve(false);\n });\n });\n }\n\n private async doLastTransactionLoop(orderInvoiceNo: string, IsOneTime: boolean = false) {\n return new Promise<{\n IsSuccess: boolean,\n Message: string\n }>(async (resolve, reject) => {\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Last Transaction Inititated',\n 'Verifone Refund Order Invoice no :- ' + orderInvoiceNo,\n 'Verifon Last Transaction Inititated',\n \"\",\n true\n )\n );\n\n await this.doFinishSession();\n\n await this.doConnectDevice();\n\n await CommonFunctions.delay(10000);\n\n let lastTransactionRes = await this.doVerifoneLastTransaction(orderInvoiceNo, IsOneTime);\n\n if (lastTransactionRes.IsSuccess) {\n resolve({\n IsSuccess: true,\n Message: \"Payment Successful\"\n });\n }\n else if (lastTransactionRes.DoRetry) {\n if (this.lastTransactionCounter > 0) {\n resolve({\n IsSuccess: false,\n Message: \"Payment Failed\"\n });\n }\n else {\n await this.doFinishSession();\n\n this.lastTransactionCounter++;\n\n if (!IsOneTime) {\n await CommonFunctions.delay(10000 * this.lastTransactionCounter * 2);\n\n resolve(await this.doLastTransactionLoop(orderInvoiceNo, false));\n }\n }\n }\n\n resolve({\n IsSuccess: false,\n Message: \"Payment Failed\"\n });\n });\n }\n\n private doVerifoneLastTransaction(orderInvoiceNo: string, IsOneTime: boolean) {\n return new Promise<{\n IsSuccess: boolean,\n Message: string,\n DoRetry: boolean\n }>((resolve) => {\n\n let resData =\n {\n IsSuccess: false,\n Message: \"Transaction Failed\",\n DoRetry: false\n }\n\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Verifone Last Transaction Called',\n 'Verifone do Verifone Last Transaction Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Verifone Last Transaction Called ',\n JSON.stringify(body),\n true\n ));\n\n this.http\n .post(environment.NodeUrl + 'getLastTransaction', body)\n .pipe(catchError(this.errorHandler)).toPromise()\n .then(async (lastTranRes: IVerifoneTransactionRes) => {\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Last Transaction Response',\n 'Verifone Refund Order Invoice no :- ' + orderInvoiceNo,\n 'Verifone Last Transaction Response',\n JSON.stringify(lastTranRes),\n true\n )\n );\n\n await this.doFinishSession();\n\n if (lastTranRes.RESPONSE.RESULT_CODE == '59003') {\n resData.IsSuccess = false;\n resData.Message = \"Transaction Failed\";\n resData.DoRetry = true;\n resolve(resData);\n }\n else {\n let transactionInvoicNo = orderInvoiceNo;\n\n if (lastTranRes.RESPONSE.INVOICE == transactionInvoicNo.substr(transactionInvoicNo.length - 6)\n ) {\n let res = await this.onVerifoneTransactionRes(lastTranRes, orderInvoiceNo, true)\n resData.IsSuccess = res?.IsSuccess ?? false;\n resData.Message = res?.Message ?? \"Transaction Failed\";\n resData.DoRetry = false;\n resolve(resData);\n } else {\n resData.IsSuccess = false;\n resData.Message = \"Transaction Failed\";\n resData.DoRetry = false;\n resolve(resData);\n }\n }\n }, error => {\n resData.IsSuccess = false;\n resData.Message = \"Transaction Failed\";\n resData.DoRetry = true;\n resolve(resData);\n });\n\n });\n }\n\n private async closePaymentModelAndFinishVerifoneSession() {\n await this.doFinishSession();\n\n this.paymentInsertModal.closePaymentInsertModel();\n }\n\n private async doFinishSession() {\n return new Promise((resolve, reject) => {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel()\n };\n\n \n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Finish Session Called',\n 'Verifone do Finish Session Called orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Finish Session Called',\n JSON.stringify(body),\n true\n ));\n\n return this.http\n .post(environment.NodeUrl + 'doEndVerifoneSession', body)\n .pipe(catchError(this.errorHandler)).toPromise().then(data => {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Finish Session Res',\n 'Verifone do Finish Session Res orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Finish Session Res',\n JSON.stringify(data),\n true\n ));\n resolve(true);\n }, error => {\n this.logger.sendLogToServer(new loggingData(\n 'Verifone do Finish Session Res Error',\n 'Verifone do Finish Session Res Error orderInvoiceNo :- ' + this.paymentService.getRandomOrderNo(),\n 'Verifone do Finish Session Res Error',\n JSON.stringify(error),\n true\n ));\n resolve(false);\n });\n })\n }\n\n private onlineCheckAsync() {\n return new Promise((resolve, reject) => {\n\n const url = environment.apiUrl + \"IsOnlineCheckSK\";\n\n this.http.get(url)\n .toPromise()\n .then(() => {\n resolve(true);\n }, () => {\n resolve(false);\n });\n });\n }\n\n public async doRefundAsync(amount: number, transactionId: string, orderInvoiceNo: string) {\n this.lastTransactionCounter = 0;\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Refund Started',\n 'Verifone Refund Order Invoice no :- ' + orderInvoiceNo,\n 'Verifon Refund Started',\n JSON.stringify({\n orderInvoiceNo: orderInvoiceNo,\n transactionId: transactionId,\n amount: amount\n }),\n true\n )\n );\n\n let res = {\n isSuccess: false,\n Error: \"\",\n Data: {}\n };\n\n if (!GeneralSetting.getIsHasVerifoneDetailes()) {\n res.isSuccess = false;\n res.Error = this.language.getTextElement('refund_declined_network_issue');\n return res;\n }\n\n if (!(await this.doVerifonePosConnection())) {\n this.paymentInsertModal.closePaymentInsertModel();\n res.isSuccess = false;\n res.Error = this.language.getTextElement('refund_declined_network_issue');\n return res;\n }\n\n\n if (!await this.onlineCheckAsync()) {\n res.isSuccess = false;\n res.Error = this.language.getTextElement('refund_declined_network_issue');\n return res;\n }\n\n if (!await this.doStartSession(orderInvoiceNo)) {\n res.isSuccess = false;\n res.Error = this.language.getTextElement('refund_declined_device_issue');\n return res;\n }\n\n let refundRes = await this.doRefundTransaction(CommonFunctions.roundDigit(amount, 2).toFixed(2), transactionId, orderInvoiceNo);\n\n if (!refundRes) {\n let lastTranRes = await this.doLastTransactionLoop(orderInvoiceNo, true);\n\n if (lastTranRes.IsSuccess) {\n refundRes = true;\n }\n else {\n refundRes = false;\n }\n }\n\n this.doFinishSession().then();\n\n res.isSuccess = refundRes;\n\n return res;\n }\n\n private doRefundTransaction(amount: string, transactionId: string, orderInvoiceNo: string) {\n return new Promise((resolve) => {\n const currentCounter = this.increasePaymentCounter();\n\n const body = {\n message: GeneralSetting.getVerifoneDecryptedMessage(),\n counter: currentCounter,\n macLable: GeneralSetting.getVerifoneMacLabel(),\n transactionId: transactionId,\n amount: amount.trim()\n };\n\n this.http\n .post(environment.NodeUrl + 'doRefundVerifoneTransaction', body)\n .pipe(catchError(this.errorHandler))\n .toPromise()\n .then(refundRes => {\n\n\n if (\n !refundRes.RESPONSE ||\n !refundRes.RESPONSE.RESULT_CODE ||\n (refundRes.RESPONSE &&\n refundRes.RESPONSE.RESULT_CODE &&\n !(\n refundRes.RESPONSE.RESULT_CODE == '4' ||\n refundRes.RESPONSE.RESULT_CODE == '5'\n ))\n ) {\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Refund Response Error',\n 'Verifone Refund Order Invoice no :- ' + orderInvoiceNo,\n 'Verifon Refund Response Error',\n JSON.stringify(refundRes),\n true\n )\n );\n\n resolve(false);\n return;\n }\n\n this.logger.sendLogToServer(\n new loggingData(\n 'Verifone Refund Response Success',\n 'Verifone Refund Order Invoice no :- ' + orderInvoiceNo,\n 'Verifon Refund Response Success',\n JSON.stringify(refundRes),\n true\n )\n );\n\n resolve(true);\n\n return;\n }, error => {\n resolve(false);\n });\n });\n }\n\n private doConnectAndRegisterVerifoneClient(posIp: string) {\n return new Promise<{\n IsError: boolean,\n data: any\n }>((resolve) => {\n\n var registerClientReq = {\n posPort: \"5015\",\n posIp: posIp,\n code: 1111,\n publicKey: GeneralSetting.getVerifonePublicKey(),\n };\n\n this.http\n .post(environment.NodeUrl + 'verifoneRegisterDevice', registerClientReq)\n .pipe(catchError(this.errorHandler))\n .toPromise()\n .then(data => {\n resolve({\n IsError: false,\n data: data\n });\n }, error => {\n resolve({\n IsError: true,\n data: error\n });\n })\n });\n }\n\n private doDecryptWithPrivateKey() {\n return new Promise<{\n IsError: boolean,\n data: any\n }>((resolve) => {\n\n this.http.post(environment.NodeUrl + 'doDecryptVerifoneMacKey', {\n macKey: GeneralSetting.getVerifoneMacKey(),\n }).pipe(catchError(this.errorHandler))\n .toPromise().then(data => {\n resolve({\n IsError: false,\n data: data\n });\n }, error => {\n resolve({\n IsError: true,\n data: error\n });\n });\n });\n }\n\n public async doRegisterDevice(isForced: boolean = false) {\n\n const paymentCred = await this.getPaymentDeviceFromSql();\n\n if (!isForced) {\n if (paymentCred.HSN == GeneralSetting.getVerifonePosIp() && this.isPaymentConfigured && GeneralSetting.getIsHasVerifoneDetailes()) {\n return true;\n }\n }\n\n GeneralSetting.setVerifonePrivateKey('');\n GeneralSetting.setVerifonePublicKey('');\n GeneralSetting.setVerifoneDecryptedMessage('');\n\n //paymentCred.HSN = \"10.10.90.239\";\n\n GeneralSetting.setVerifonePosIp(paymentCred.HSN);\n\n if (Object.entries(paymentCred).length < 0 || paymentCred.HSN == \"\") {\n return false;\n }\n\n let connetAndRegisterRes = await this.doConnectAndRegisterVerifoneClient(paymentCred.HSN);\n\n if (connetAndRegisterRes.IsError ||\n !(connetAndRegisterRes.data &&\n connetAndRegisterRes.data != '' &&\n connetAndRegisterRes.data.RESPONSE &&\n connetAndRegisterRes.data.RESPONSE.RESULT_CODE == '-1'\n )) {\n return false;\n }\n\n const macKey = connetAndRegisterRes.data.RESPONSE.MAC_KEY;\n const macLabel = connetAndRegisterRes.data.RESPONSE.MAC_LABEL;\n\n GeneralSetting.setVerifoneMacLabel(macLabel);\n GeneralSetting.setVerifoneMacKey(macKey);\n\n let decriptionRes = await this.doDecryptWithPrivateKey();\n\n if (decriptionRes.IsError) {\n return false;\n }\n\n GeneralSetting.setVerifoneDecryptedMessage(decriptionRes.data.decryptedMessage);\n this.isPaymentConfigured = true;\n return true;\n }\n\n}\n\n\n","import { ItemFooterComponent } from './../item-footer/item-footer.component';\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { CartService } from 'src/app/services/cart.service';\nimport { environment } from '../../../environments/environment';\nimport { Subscription } from 'rxjs';\nimport { drop } from 'src/app/animations';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { ItemTransferService } from 'src/app/services/item-transfer.service';\nimport { AlcoholicItemsExceedMaxComponent } from '../dialogs/alcoholic-items-exceed-max/alcoholic-items-exceed-max.component';\nimport { PusherService } from 'src/app/services/pusher.service';\nimport { DatabaseService } from '../../services/database.service';\nimport { GeneralSetting } from '../../services/generalSetting.service';\nimport { ItemV2 } from 'src/app/models/item';\nimport { Category } from 'src/app/models/category';\nimport {\n CategorySalesType,\n CommonFunctions,\n Snackbar,\n} from '../../services/common';\nimport { DataService } from 'src/app/services/data.service';\nimport { ErrorMsgPopupComponent } from '../dialogs/error-msg-popup/error-msg-popup.component';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { timeout } from 'rxjs/operators';\nimport { GeneralAlertComponent } from '../dialogs/general-alert/general-alert.component';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { DiscountService } from 'src/app/services/discount.service';\nimport { FixedItemDiscount } from 'src/app/models/discounts';\n\n@Component({\n selector: 'app-item-individual',\n templateUrl: './item-individual.component.html',\n styleUrls: ['./item-individual.component.css'],\n animations: [drop],\n})\nexport class ItemIndividualComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n private allSubsCription: Subscription[] = [];\n @ViewChild(ItemFooterComponent) itemFooter!: ItemFooterComponent;\n bkgdColor: string = '';\n isLoyalty: string;\n branchLogo: string = '';\n priceColor: string | null = '';\n baseImageUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n ItemID: string = '';\n CategoryID: string = '';\n totalCost: number = 0.0;\n quantity: number = 1;\n guid: string = '';\n item: ItemV2 | null;\n category: Category = {} as Category;\n cartItem?: ItemV2;\n isOrderReviewEdit = false;\n cartQuantity: number = 0;\n @ViewChild(AlcoholicItemsExceedMaxComponent)\n alcoholicExceedMaxPopup!: AlcoholicItemsExceedMaxComponent;\n isEdit = false;\n positiveButton: string | null = '';\n positiveButtonText: string | null = '';\n imageRadius: string = '';\n bordersTypeItem: boolean = false;\n isRemovePricingAndPayments = GeneralSetting.getIsRemovePricingAndPayments();\n isgettingData = false;\n productDescriptionText: string = '';\n quantityText: string = '';\n loadingText: string = '';\n recalculateText: string = '';\n weightText: string = '';\n itemWeightText: string = '';\n totalPriceText: string = '';\n perOzText: string = '';\n perPoundText: string = '';\n perGramText: string = '';\n perKilogramText: string = '';\n ozText: string = '';\n poundText: string = '';\n gramText: string = '';\n kilogramText: string = '';\n isConcessionaire: boolean = false;\n concessionaireHeaderImage: string = '';\n isShowBranchLogo: boolean = false;\n placeholderImage : string = '';\n fixedItemDisc : FixedItemDiscount[] = [] as FixedItemDiscount[];\n\n constructor(\n route: ActivatedRoute,\n private readonly itemTransferService: ItemTransferService,\n private readonly cartService: CartService,\n private readonly isKioskService: IsKioskService,\n private databaseService: DatabaseService,\n private dataService: DataService,\n public modalService: NgbModal,\n private language: LanguageService,\n private discountService: DiscountService\n ) {\n this.item = null;\n this.ItemID = route.snapshot.queryParams['id'];\n this.CategoryID = route.snapshot.queryParams['category'];\n this.guid = route.snapshot.queryParams['guid'];\n this.isOrderReviewEdit = route.snapshot.queryParams['reviewEdit'];\n this.isLoyalty = route.snapshot.queryParams['loyalty'];\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n loadText() {\n this.productDescriptionText = this.language.getTextElement( 'lbl_product_description' );\n this.quantityText = this.language.getTextElement('quantity');\n this.loadingText = this.language.getTextElement('txt_loading');\n this.recalculateText = this.language.getTextElement('re-calculate_weight');\n this.weightText = this.language.getTextElement('weight');\n this.itemWeightText = this.language.getTextElement('lbl_item_weight');\n this.totalPriceText = this.language.getTextElement('lbl_total_price');\n this.perOzText= this.language.getTextElement('per_oz');\n this.perPoundText= this.language.getTextElement('per_pound');\n this.perGramText= this.language.getTextElement('per_gram');\n this.perKilogramText= this.language.getTextElement('per_kilogram');\n this.ozText= this.language.getTextElement('lbl_oz');\n this.poundText= this.language.getTextElement('lbl_pound');\n this.gramText= this.language.getTextElement('lbl_gram');\n this.kilogramText= this.language.getTextElement('lbl_kilogram');\n }\n ngOnInit(): void {\n this.Init();\n this.placeholderImage = this.dataService.getPlaceholderImage();\n\n this.setItemTags();\n this.bordersTypeItem = GeneralSetting.getBorderTypeItems().toLowerCase() == 'true';\n this.setFixedItemDisc();\n }\n\n async setFixedItemDisc(){\n this.fixedItemDisc = await this.discountService.getFixedItemDisc();\n }\n\n \n setItemTags() {\n setTimeout(() => {\n if (this.itemFooter) {\n this.itemFooter.setItemTags();\n this.itemFooter.itemTagsKeyComponent.setItemTags();\n }\n }, 1);\n }\n private Init(){\n this.positiveButton = GeneralSetting.getPositiveColor();\n this.positiveButtonText = GeneralSetting.getPositiveColorText();\n if (!this.databaseService.hasCategory()) {\n this.databaseService.getPersistentCategoriesAsync(true);\n }\n this.allSubsCription.push(\n this.databaseService.categorySubject.subscribe((categories) => {\n const category = categories.find((x) => x.CategoryID == this.CategoryID);\n this.category = category ?? ({} as Category);\n if (this.guid) {\n this.isEdit = true;\n this.setEditItemDetail();\n return;\n }\n this.isEdit = false;\n const item = this.itemTransferService.getItemV2();\n if (item) {\n this.setDetailByItem(item);\n }\n })\n );\n this.bkgdColor = GeneralSetting.getPrimaryColor();\n this.branchLogo = GeneralSetting.getBranchLogo();\n this.priceColor = GeneralSetting.getPriceColor();\n this.imageRadius = GeneralSetting.getBorderPercentage();\n this.isConcessionaire = GeneralSetting.getIsConcessionaire().toLowerCase() == 'true';\n if (this.isConcessionaire){\n this.concessionaireHeaderImage = GeneralSetting.getConcessionaireHeaderImage();\n this.isShowBranchLogo = GeneralSetting.getHideLogo();\n }\n }\n private setEditItemDetail() {\n const cartItem = this.cartService.getCartItems().find((x: any) => x.guid == this.guid)\n if (cartItem && cartItem != null) {\n const item = JSON.parse(JSON.stringify(cartItem)) as ItemV2\n this.item = item\n if (!this.item || this.item == null) return\n this.itemTransferService.snapshotItemV2(this.item)\n this.cartQuantity = parseInt( (this.item ? Number(this.item.Quantity) : 1).toString() )\n this.quantity = this.item ? Number(this.item.Quantity) : 1\n const cartItems = this.cartService.getCartItems().filter((x) => x.ItemID == item.ItemID)\n if (cartItems && cartItems.length > 0) {\n const cartItemsQuantity = Number(cartItems.map((x) => Number(x.Quantity)).reduce((a, b) => a + b, 0))\n this.cartQuantity = cartItemsQuantity\n }\n this.cartQuantity = Number(this.quantity) - this.cartQuantity\n }\n return\n }\n private setDetailByItem(categoryItem: ItemV2) {\n if(!categoryItem) return\n // categoryItem = await this.databaseService.getItemDetails(categoryItem);\n const item = JSON.parse(JSON.stringify(categoryItem)) as ItemV2\n if(!item) return\n if(this.itemTransferService.itemV2?.OldPrice && this.itemTransferService.itemV2?.OldPrice != undefined) {\n item.Price = this.itemTransferService.itemV2?.Price;\n item.OldPrice = this.itemTransferService.itemV2?.OldPrice;\n }\n this.quantity = Number(item?.Quantity) || 1;\n this.itemTransferService.snapshotItemV2(item);\n this.item = item;\n // console.log(this.item);\n }\n private checkQtyOfAlcohol() {\n const alcoholMaxQuantity =\n GeneralSetting.getMaxAlcoholicItemsPerOrder() == null ||\n GeneralSetting.getMaxAlcoholicItemsPerOrder() == ''\n ? 9999\n : Number(GeneralSetting.getMaxAlcoholicItemsPerOrder())\n if (!this.item) return;\n const itemMax = this.item.OrderMaximumQuantity\n const currentCountofAlkol: number = Number( GeneralSetting.getCurrentCountofAlkol() );\n if (alcoholMaxQuantity <= 0 || currentCountofAlkol >= alcoholMaxQuantity) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService)\n return;\n }\n const remaining = Number(alcoholMaxQuantity) - Number(this.quantity)\n const currentValue = this.quantity\n if (Number(itemMax) > 0) {\n if (Number(currentValue) < Number(itemMax) && remaining > 0) {\n this.quantity = Number(this.quantity) + 1\n } else if (remaining <= 0) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService)\n }\n } else {\n if (remaining > 0) {\n this.quantity = Number(this.quantity) + 1\n } else {\n AlcoholicItemsExceedMaxComponent.open(this.modalService)\n }\n }\n }\n increaseQuantity(): void {\n if (!this.item) return;\n this.increaseAmount(this.item);\n }\n decreaseQuantity(): void {\n if (!this.item) return;\n if (Number(this.quantity) > 1) {\n if (this.item.OrderMinimumQuantity != Number('')) {\n if (Number(this.quantity) > Number(this.item.OrderMinimumQuantity)) {\n this.quantity = Number(this.quantity) - 1\n }\n } else {\n this.quantity = Number(this.quantity) - 1\n }\n }\n }\n // Added to resolve Alcohol quantity issue in Increment as well as in item edit mode - Rekha\n increaseAmount(item: any) {\n // Checks fixed item quantity limit\n if(this.fixedItemDisc != undefined && this.fixedItemDisc.length > 0){\n var isFixedItemAvail = this.discountService.isFixedItemAvail(this.fixedItemDisc[0],item, this.quantity);\n if(isFixedItemAvail){\n return;\n }\n }\n\n let currentAlcoholCount = Number(GeneralSetting.getCurrentCountofAlkol());\n let currentQty = Number(item.Quantity == undefined ? '1' : item.Quantity);\n let maxNo = Number(item.OrderMaximumQuantity);\n let alkolMax = Number(GeneralSetting.getMaxAlcoholicItemsPerOrder());\n if (!maxNo) {\n if (item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString() && alkolMax > 0) {\n let currentAlcohol = 1\n if (this.isEdit) {\n currentAlcohol = currentAlcoholCount - currentQty\n currentAlcohol += this.quantity;\n } else {\n currentAlcohol = currentAlcoholCount + this.quantity\n }\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService)\n } else {\n // GeneralSetting.increaseAlcohol(1);\n this.quantity = Number(this.quantity) + 1;\n }\n } else {\n this.quantity = Number(this.quantity) + 1;\n }\n } else {\n if (item.ItemCategorySalesTypeID === CategorySalesType.Alcohol.toString() && alkolMax > 0) {\n let currItemQty = this.isEdit\n ? this.quantity - Number(item.Quantity)\n : this.quantity;\n const currentAlcohol: number = currentAlcoholCount + currItemQty;\n if (currentAlcohol + 1 > alkolMax) {\n AlcoholicItemsExceedMaxComponent.open(this.modalService);\n } else {\n this.quantity = Number(this.quantity) + 1;\n }\n } else {\n this.quantity = Number(this.quantity) + 1;\n }\n }\n }\n onRecalculate() {\n this.isgettingData = true;\n this.allSubsCription.push(\n this.dataService\n .getWeight('W', GeneralSetting.getRaspberryPiIPAddress())\n .pipe(timeout(10000))\n .subscribe(\n (response: any) => {\n //console.log(response);\n this.isgettingData = false;\n if (response && response != '') {\n if (response == 'error') {\n let errorModel = new GeneralAlertComponent( this.modalService, this.language );\n let title=this.language.getTextElement('titile_uh_oh')\n let subTitle=this.language.getTextElement('server_communiation_error')\n errorModel.open(title, subTitle);\n return;\n }\n if (this.item) {\n // response = response.slice(1);\n let weightArray = response.replace(/ /g, '').match(/[a-z]+|[^a-z]+/gi) ?? ''; /** will seperate number and weight unit like g,kg */\n if (weightArray.length > 1) {\n let weightUnitFromServer = weightArray[weightArray.length - 1]\n let weightCountFromServer = weightArray[0];\n // weightCountFromServer = weightCountFromServer.slice(1);\n if (weightUnitFromServer.toLowerCase() == CommonFunctions.getWeightUnit(this.item.WeightUnitID)) {\n this.item.Weight = Number(weightCountFromServer.trim())\n this.item.Quantity = weightCountFromServer.trim()\n } else {\n let errorModel = new GeneralAlertComponent( this.modalService, this.language );\n let title=this.language.getTextElement('titile_uh_oh')\n let subTitle=this.language.getTextElement('change_weight_unit').replace('%d',CommonFunctions.getWeightUnitInWords( this.item.WeightUnitID ))\n errorModel.open(title, subTitle);\n }\n } else {\n if (weightArray.length > 0) {\n let errorModel = new GeneralAlertComponent( this.modalService, this.language );\n let title=this.language.getTextElement('titile_uh_oh')\n let subTitle=this.language.getTextElement('exceeded_weight_limit') \n errorModel.open( title, subTitle ); \n }\n }\n }\n } else {\n let errorModel = new GeneralAlertComponent( this.modalService, this.language );\n let title=this.language.getTextElement('titile_uh_oh')\n let subTitle=this.language.getTextElement('server_communiation_error')\n errorModel.open(title, subTitle);\n }\n },\n (error) => {\n //console.log(error);\n this.isgettingData = false;\n let errorModel = new GeneralAlertComponent( this.modalService, this.language );\n let title=this.language.getTextElement('titile_uh_oh')\n let subTitle=this.language.getTextElement('server_communiation_error')\n errorModel.open(title, subTitle);\n }\n )\n );\n }\n /**\n * Sets branch header image\n * @param headerImageUrl\n * @param imageBaseUrl\n * @returns\n */\n setHeaderImage(headerImageUrl: string, imageBaseUrl: string) {\n return headerImageUrl && headerImageUrl != ''\n ? imageBaseUrl + headerImageUrl\n : '';\n }\n\n}\n","\n \n \n
\n
\n
\n\n
\n
\n {{ category.DisplayName | uppercase }}\n
\n
\n
\n\n \n\n \n
\n
{{ category.DisplayName | uppercase }} \n
\n {{ item.Name }}\n \n
{{ item.Price |\n CurrencyPipe }}\n \n \n {{perOzText}} \n {{perPoundText}} \n {{perGramText}} \n {{perKilogramText}} \n \n \n \n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
0\" [ngStyle]=\"{ color: bkgdColor }\">\n {{productDescriptionText}}\n \n
{{ item.FullDescription }}
\n
\n
\n
\n
{{quantityText}} \n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{weightText|uppercase}} \n
{{itemWeightText}}\n {{item.Weight}}\n \n {{ozText}} \n {{poundText}} \n {{gramText}} \n {{kilogramText}} \n \n \n \n
\n
{{totalPriceText}} {{ ((item.Price | numberConvert) *\n item.Weight) | number: \"1.2-2\" | CurrencyPipe }}
\n
\n\n
\n {{loadingText}} \n
\n\n
\n {{recalculateText}}\n \n
\n
\n \n
\n
\n\n \n \n\n \n ","import { Injectable } from '@angular/core';\nimport { Tip } from '../models/tip';\nimport { DatabaseHandler } from 'src/app/DatabaseHandler';\nimport { LogService } from './log.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TipService {\n tipsPercent!: Tip[];\n tipsFixed!: Tip[];\n selectedTip!: Tip;\n isNoTipSelected: string = 'false';\n\n constructor(private logger: LogService) { }\n\n getTipMaster() {\n //Remove this condition because we didnt get updated value after sync in tippopup\n // if (this.tipsPercent === undefined) {\n var sqlString = `SELECT DISTINCT * FROM TipMasters WHERE IsPercentage = 'True'`;\n const callback = (tx: string, result: any) => {\n this.tipsPercent = Array.from(result.rows);\n\n this.tipsPercent.forEach((element) => {\n if (element.IsDefault == 'True') {\n this.selectedTip = element;\n }\n });\n };\n\n const errorCallback = (tx: string, result: any) => {\n\n console.log('Tip Service, Error getTipMaster :- ', result);\n\n };\n\n DatabaseHandler.executeSqlStatement(\n sqlString,\n [],\n callback,\n errorCallback\n );\n // }\n }\n\n getTipFixed() {\n // if (this.tipsFixed === undefined){\n const sqlString = `SELECT DISTINCT * FROM TipMasters WHERE IsPercentage = 'False'`;\n\n const callback = (tx: string, result: any) => {\n this.tipsFixed = Array.from(result.rows);\n\n this.tipsFixed.forEach((element) => {\n if (element.IsDefault == 'True') {\n this.selectedTip = element;\n }\n });\n };\n\n const errorCallback = (tx: string, result: any) => {\n console.log('Tip Service, Error getTipFixed :- ', result);\n };\n\n DatabaseHandler.executeSqlStatement(sqlString, [], callback, errorCallback);\n // }\n }\n}\n","\n\n
{{grossSalesText}} \n \n \n \n \n \n\n \n\n
\n \n \n {{tokenNoText}} \n {{refOrderNoText}} \n {{invoiceNoText}} \n {{subtotalText}} \n {{taxText}} \n {{tipText}} \n {{upchargeText}} \n {{discountText}} \n {{totalText}} \n \n \n\n \n \n {{ orders.T_TokenCount }} \n {{ orders.InvoiceRefNo }} \n {{ orders.OrderInvoiceNo }} \n {{ orders.Subtotal | number: \"1.2-2\" | CurrencyPipe }} \n {{ orders.OrderTax | number: \"1.2-2\" | CurrencyPipe }} \n {{ orders.OrderTip | number: \"1.2-2\" | CurrencyPipe }} \n \n -{{naText|uppercase}}-\n \n \n {{ orders.UpChargeAmountCard | number: \"1.2-2\" | CurrencyPipe }} \n \n \n -{{naText|uppercase}}-\n \n \n {{ orders.OrderDiscount | number: \"1.2-2\" | CurrencyPipe }} \n \n {{ orders.OrderTotal | number: \"1.2-2\" | CurrencyPipe }} \n \n \n
\n
\n \n \n","import { DatePipe } from '@angular/common';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { order } from 'src/app/models/order';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { OrderHistoryService } from 'src/app/services/order-history.service';\n\n@Component({\n selector: 'app-settings-gross-sales',\n templateUrl: './settings-gross-sales.component.html',\n styleUrls: ['./settings-gross-sales.component.css'],\n})\nexport class SettingsGrossSalesComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private allSubsCription: Subscription[] = [];\n\n orderHistoryService: OrderHistoryService;\n grossSalesOrders: order[] = [];\n dt: Date = new Date();\n\n\n languageSub!:Subscription\n grossSalesText:string=''\n refOrderNoText:string=''\n invoiceNoText:string=''\n subtotalText:string=''\n taxText:string=''\n tipText:string=''\n upchargeText:string=''\n discountText:string=''\n totalText:string=''\n tokenNoText:string=''\n naText:string=''\n constructor(\n OrderHistoryService: OrderHistoryService,\n private datePipe: DatePipe,\n private language: LanguageService\n ) {\n this.orderHistoryService = OrderHistoryService;\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n )\n }\n loadText(){\n this.grossSalesText=this.language.getTextElement('lbl_reports_gross_sales')\n this.refOrderNoText=this.language.getTextElement('txt_reference_order_no')\n this.invoiceNoText=this.language.getTextElement('txt_invoice_no')\n this.subtotalText=this.language.getTextElement('subtotal')\n this.taxText=this.language.getTextElement('txt_tax')\n this.tipText=this.language.getTextElement('txt_tip')\n this.upchargeText=this.language.getTextElement('txt_upcharge')\n this.discountText=this.language.getTextElement('txt_discount')\n this.totalText=this.language.getTextElement('lbl_total')\n this.tokenNoText=this.language.getTextElement('txt_token_no')\n this.naText=this.language.getTextElement('text_na')\n }\n ngOnInit(): void {\n this.grossSalesReport();\n }\n\n grossSalesReport() {\n const date = this.datePipe.transform(new Date(), 'MMM d YYYY');\n\n this.allSubsCription.push(\n this.orderHistoryService\n .getOrderHistory(date!.toString())\n .subscribe((item) => {\n this.grossSalesOrders = item;\n })\n );\n }\n\n setGrossDate(event: any) {\n this.dt = event;\n const date = this.datePipe.transform(this.dt, 'MMM d YYYY');\n\n this.allSubsCription.push(\n this.orderHistoryService\n .getOrderHistory(date!.toString())\n .subscribe((item) => {\n this.grossSalesOrders = item;\n })\n );\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core'\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap'\nimport { interval, Subscription } from 'rxjs'\nimport { LanguageService } from 'src/app/services/language.service'\n\n@Component({\n selector: 'app-update-menu',\n templateUrl: './update-menu.component.html',\n styleUrls: ['./update-menu.component.css'],\n})\nexport class UpdateMenuComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n if (this.allSubsCription.length > 0) {\n for (let i = 0; i < this.allSubsCription.length; i++) {\n this.allSubsCription[i].unsubscribe();\n }\n }\n }\n\n private modalRef: any;\n\n private allSubsCription: Subscription[] = [];\n\n ref: any;\n headerText: string = '';\n descriptions: string[] = [];\n description: string = '';\n index: number = 0;\n\n currentStateText: string = '...';\n indexText: string = '';\n path: string = '';\n\n constructor(private language: LanguageService) {\n this.allSubsCription.push(\n this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n })\n );\n }\n\n loadText() {\n this.descriptions = [];\n this.currentStateText = this.language.getTextElement('loading_menu');\n this.descriptions.push(this.language.getTextElement('updating_your_menu'));\n this.descriptions.push(this.language.getTextElement('adding_new_items'));\n this.descriptions.push(\n this.language.getTextElement('checking_for_updates')\n );\n this.descriptions.push(this.language.getTextElement('verifying_prices'));\n this.descriptions.push(\n this.language.getTextElement('getting_really_hungry')\n );\n this.headerText = this.language.getTextElement('txt_please_wait');\n }\n\n ngOnInit(): void {\n this.description = this.language.getTextElement('loading_menu');\n const source = interval(1000);\n this.allSubsCription.push(\n source.subscribe((val) => {\n this.description = this.descriptions[this.index];\n this.index =\n this.index > this.descriptions.length - 2 ? 0 : this.index + 1;\n })\n );\n }\n\n public static open(modalService: NgbModal) {\n const ref = modalService.open(UpdateMenuComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n ref.componentInstance.modalRef = ref;\n\n return ref;\n }\n\n clear() {\n this.ngOnDestroy();\n\n if (this.modalRef && this.modalRef != null) {\n this.modalRef.close();\n }\n }\n\n public setCurrentStateMessage(message: string) {\n this.currentStateText = message;\n }\n\n public setIndexText(message: string) {\n this.indexText = message;\n }\n}\n","\n
\n {{headerText}}\n \n
\n {{ currentStateText }}\n \n
\n {{ indexText }}\n
\n
\n {{ path }}\n
\n
\n
\n
\n\n
\n","import { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from \"@angular/common/http\"\nimport { Injectable } from \"@angular/core\"\nimport { Observable } from \"rxjs\"\nimport { environment } from \"../../environments/environment.prod\";\nimport { IHttpHeaders } from \"../services/http.service\";\nimport { IsKioskService } from \"../services/is-kiosk.service\";\n\n\n@Injectable()\nexport class postInterceptor implements HttpInterceptor {\n\n constructor(private isKiosk: IsKioskService) {\n\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n\n //if (!this.isKiosk.isKiosk()) {\n return next.handle(req);\n //}\n\n //let reqBody = null;\n\n //if (req.body) {\n // let serializeBody = req.serializeBody();\n // if (serializeBody != null && typeof (serializeBody) == 'string') {\n // reqBody = JSON.parse(serializeBody);\n // }\n //}\n\n //let httpHeader = req.headers as HttpHeaders;\n\n //var headers = this.getHeaderFromHttpHeader(httpHeader);\n\n //let url = environment.NodeUrl + 'ProxyBackendApiCall';\n\n //let method = req.method;\n\n //const nodeReqBody = {\n // url: req.urlWithParams,\n // body: reqBody,\n // header: headers,\n // method: method\n //};\n\n //const reqCopy = req.clone({\n // body: nodeReqBody,\n // url: url,\n // headers:new HttpHeaders()\n //}) as HttpRequest;\n \n //return next.handle(reqCopy);\n }\n\n\n private getHeaderFromHttpHeader(httpHeader: HttpHeaders) {\n let allHeader = httpHeader.keys();\n var headers = [] as IHttpHeaders[];\n\n if (allHeader.length > 0) {\n let key = \"\";\n let value = \"\";\n\n for (let i = 0; i < allHeader.length; i++) {\n\n key = allHeader[i];\n let values = httpHeader.getAll(allHeader[i]);\n\n if (values != null && values.length > 0) {\n value = values[0];\n\n headers.push({ key: key, value: value } as IHttpHeaders);\n }\n }\n }\n\n return headers;\n }\n \n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport class HttpConnection implements IAddUrl, IAddHeader, IAddBody, IApiCall, IApiMethod {\n\n private localUrl: string = environment.NodeUrl;\n private url: string = '';\n private method: (\"POST\" | \"GET\") = 'POST';\n private header: IHttpHeaders[];\n private body: any;\n private isKiosk: boolean = true;\n\n private constructor(private readonly http: HttpClient) {\n this.header = [];\n }\n\n static Connection(http: HttpClient, isKiosk: boolean): IAddUrl {\n const conn = new HttpConnection(http);\n conn.url = '';\n conn.body = null;\n conn.header = [] as IHttpHeaders[];\n conn.method = 'POST';\n conn.isKiosk = isKiosk;\n\n return conn;\n }\n\n addUrl(url: string): IApiMethod {\n this.url = url;\n return this;\n }\n\n addMethod(method: (\"POST\" | \"GET\")): IAddHeader {\n this.method = method;\n return this;\n }\n\n addHeader(myHeader: IHttpHeaders[]): IAddBody {\n this.header = myHeader;\n return this;\n }\n\n addBody(body: any): IApiCall {\n this.body = body;\n return this;\n }\n\n post(): Observable {\n const nodeReqBody = {\n url: this.url,\n body: this.body,\n header: this.header,\n method: this.method\n };\n\n if (this.isKiosk) {\n return this.http.post(this.localUrl + 'ProxyBackendApiCall', nodeReqBody)\n .pipe(catchError(this.errorHandler));\n }\n else {\n let headers = new HttpHeaders();\n\n for (let i = 0; i < this.header.length; i++) {\n const header = this.header[i];\n headers = headers.append(header.key, header.value);\n }\n\n if (this.method == \"POST\") {\n return this.http.post(this.url, this.body, { headers })\n .pipe(catchError(this.errorHandler));\n }\n else {\n return this.http.get(this.url, { headers: headers })\n .pipe(catchError(this.errorHandler));\n }\n }\n }\n\n private errorHandler(error: HttpErrorResponse) {\n return throwError(error);\n }\n}\n\nexport interface IHttpHeaders {\n key: string;\n value: string;\n}\n\ninterface IAddUrl {\n addUrl(url: string): IApiMethod;\n}\n\ninterface IApiMethod {\n addMethod(method: (\"POST\" | \"GET\")): IAddHeader;\n}\n\ninterface IAddHeader {\n addHeader(myHeader: IHttpHeaders[]): IAddBody\n}\n\ninterface IAddBody {\n addBody(body: any): IApiCall\n}\n\ninterface IApiCall {\n post(): Observable;\n}\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { GeneralSetting } from 'src/app/services/generalSetting.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-scanning-item',\n templateUrl: './scanning-item.component.html',\n styleUrls: ['./scanning-item.component.css'],\n})\nexport class ScanningItemComponent implements OnInit {\n\n ngOnDestroy() {\n //Clearing interval\n var countInterval = this.intervalID != undefined ? this.intervalID : 0;\n for (var a = 1; a <= countInterval; a++) {\n clearInterval(a);\n }\n\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n private clearAllIntervel() {\n var countInterval = this.intervalID != undefined ? this.intervalID : 0;\n for (var a = 1; a <= countInterval; a++) {\n clearInterval(a);\n }\n }\n\n modalReference: any;\n\n positiveColor: string | null = '';\n positiveColorText: string | null = '';\n negativeColor: string | null = '';\n negativeColorText: string | null = '';\n\n scanDialogTitle: string | null = '';\n scanDialogDesc: string | null = '';\n scanDialogGifLink: string | null = '';\n\n barWidth = 0;\n intervalID: any;\n languageSub!: Subscription;\n itemSelectionHelperText: string = '';\n itemsWithoutBarcodeText: string = '';\n closeText: string = '';\n constructor(\n private modalService: NgbModal,\n private language: LanguageService\n ) {}\n loadText() {\n this.itemSelectionHelperText = this.language.getTextElement('item_selection_helper');\n this.itemsWithoutBarcodeText = this.language.getTextElement('items_without_barcode');\n this.closeText = this.language.getTextElement('close');\n }\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.negativeColorText = GeneralSetting.getNegativeColorText();\n this.negativeColor = GeneralSetting.getNegativeColor();\n this.positiveColor = GeneralSetting.getPositiveColor();\n this.positiveColorText = GeneralSetting.getPositiveColorText();\n this.setScanContent();\n this.intervalID = setInterval(() => {\n if (this.barWidth >= 7) {\n this.barWidth = 0;\n } else if (this.barWidth <= 3) {\n this.barWidth++;\n this.setScanContent();\n } else {\n this.barWidth++;\n this.setSelectContent();\n }\n }, 1000);\n }\n\n open() {\n var modalReference = this.modalService.open(ScanningItemComponent, {\n backdrop: 'static',\n size: 'lg',\n centered: true,\n });\n\n modalReference.componentInstance.modalReference = modalReference;\n this.modalReference = modalReference;\n }\n\n close() {\n this.clearAllIntervel();\n this.modalReference.close('continue');\n }\n\n setScanContent() {\n this.scanDialogTitle = this.language.getTextElement('scanning_an_item');\n this.scanDialogDesc = this.language.getTextElement('scan_item_description');\n this.scanDialogGifLink = \"../../../assets/images/product-scan.gif\";\n }\n\n setSelectContent() {\n this.scanDialogTitle = this.language.getTextElement('selecting_an_item');\n this.scanDialogDesc = this.language.getTextElement('select_item_description');\n this.scanDialogGifLink = \"../../../assets/images/Select-product.gif\";\n }\n\n\n}\n","\n
\n
{{itemSelectionHelperText}} \n
{{scanDialogTitle}} \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{itemsWithoutBarcodeText}}
\n
\n \n
\n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\nimport {\n FormBuilder,\n FormGroup,\n FormControl,\n Validators,\n} from '@angular/forms';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\nimport { KeyboardService } from 'src/app/services/keyboard.service';\nimport { IsKioskService } from 'src/app/services/is-kiosk.service';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\n\n@Component({\n selector: 'app-promo-code',\n templateUrl: './promo-code.component.html',\n styleUrls: ['./promo-code.component.css'],\n})\nexport class PromoCodeComponent implements OnInit,OnDestroy {\n submitted = false;\n promoform!: FormGroup;\n modalReference: NgbModalRef = {} as NgbModalRef;\n promoInput: string = '';\n positiveColor: string | null = GeneralSetting.getPositiveColor();\n negativeColor: string | null = GeneralSetting.getNegativeColor();\n positiveTextColor: string | null = GeneralSetting.getPositiveColorText();\n negativeTextColor: string | null = GeneralSetting.getNegativeColorText();\n isKiosk = this.isKioskService.isKiosk();\n languageSub!: Subscription;\n promoCodeText: string = '';\n enterPromoCodeText: string = '';\n cancelText: string = '';\n applyCodeText: string = '';\n keySub!:Subscription\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText() {\n this.promoCodeText = this.language.getTextElement('txt_promo_code');\n this.enterPromoCodeText = this.language.getTextElement(\n 'txt_please_enter_promo_code'\n );\n this.cancelText = this.language.getTextElement('lbl_button_cancel');\n this.applyCodeText=this.language.getTextElement('apply_code')\n }\n constructor(\n private modal: NgbModal,\n private KeyboardService: KeyboardService,\n private readonly isKioskService: IsKioskService,\n private formBuilder: FormBuilder,\n private language: LanguageService\n ) {}\n\n ngOnInit(): void {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.promoform = this.formBuilder.group({\n promoCode: ['', Validators.required],\n });\n }\n get f() {\n return this.promoform.controls;\n }\n open() {\n this.modalReference = this.modal.open(PromoCodeComponent, {\n size: 'lg',\n centered: true,\n });\n this.modalReference.componentInstance.modalReference = this.modalReference;\n return this.modalReference;\n }\n\n doit2(){\n if(this.keySub){\n this.keySub.unsubscribe()\n }\n this.KeyboardService.newBoardSubject.next()\n }\n\n \n // used to open keyboard based on dialog required layout, maxlength and assign value to dialog/screen input field @jay\n doit(){\n this.KeyboardService.manual=true\n this.KeyboardService.maxLength=50\n this.KeyboardService.clearSub.next()\n this.KeyboardService.open(\"shift\");\n this.KeyboardService.stringSub.next()\n this.keySub=this.KeyboardService.stringSub.subscribe((val)=>{\n this.handlepromoInputChange(val);\n })\n }\n // to handle dialog/screen input field value as a first character and character after \".\" upercase\n handlepromoInputChange(val:string){\n this.modalReference.componentInstance.promoInput=val\n if(this.modalReference.componentInstance.promoInput == \"\" || (this.modalReference.componentInstance.promoInput).trim().slice(-1) == \".\"){\n this.KeyboardService.handleupperlowercase.next(true)\n }else{\n this.KeyboardService.handleupperlowercase.next(false)\n }\n }\n\n apply() {\n this.submitted = true;\n // stop here if form is invalid\n if (this.promoform.invalid) {\n return;\n }\n this.KeyboardService.KeyboardStatus = false;\n this.modalReference.close(this.promoInput);\n }\n\n cancel() {\n this.KeyboardService.KeyboardStatus = false;\n this.modalReference.close('canceled');\n }\n}\n","\n","import { Injectable } from '@angular/core';\nimport { DatabaseHandler } from '../DatabaseHandler';\nimport { eatOption } from 'src/app/models/eat-option';\nimport { LogService } from 'src/app/services/log.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EatOptionsService {\n selectedOption!: eatOption;\nlength:number=0;\n\nconstructor(private logger: LogService) {}\n\n \n getEatOptions(): Promise {\n return (this.getEatOptionsFromSql());\n }\n\n getCurrentEatOption(): eatOption {\n return this.selectedOption;\n }\n\n setEatOption(option: eatOption): void {\n this.selectedOption = option;\n }\n\n getEatOptionsFromSql() {\n return new Promise((resolve: any, reject: any) => {\n const getEatOptionsStatement = `SELECT DISTINCT * FROM OrderTypeMappingMasters WHERE KioskIsActive = 'True' ORDER BY CAST(DisplayOrder AS INT)`;\n\n const errorCallback = (statement: any, error: any) => {\n resolve([]);\n };\n\n const setEatOptions = (tx: string, results: any) => {\n var data: eatOption[] = Array.from(results.rows);\n this.length = data.length;\n resolve(data);\n };\n\n DatabaseHandler.executeSqlStatement(\n getEatOptionsStatement,\n [],\n setEatOptions,\n errorCallback\n );\n });\n }\n\n getEatOptionsForOrderTypeIdFromSql(orderTypeId : string) {\n return new Promise((resolve: any, reject: any) => {\n const getEatOptionsStatement = `SELECT DISTINCT * FROM OrderTypeMappingMasters WHERE OrderTypeID = '${orderTypeId}'`;\n\n const errorCallback = (statement: any, error: any) => {\n console.log('Eat options Service , Error getEatOptionsFromSql :- ', error);\n\n resolve([]);\n };\n\n const setEatOptions = (tx: string, results: any) => {\n var data: eatOption[] = Array.from(results.rows);\n resolve(data);\n };\n\n DatabaseHandler.executeSqlStatement(\n getEatOptionsStatement,\n [],\n setEatOptions,\n errorCallback\n );\n });\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { ConcessionaireFilterTypes } from 'src/app/models/concessionaireTypes';\nimport { LoyaltyType } from 'src/app/models/loyaltyModal';\nimport { CartService } from 'src/app/services/cart.service';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { LoyaltyService } from 'src/app/services/loyalty.service';\nimport { UserService } from 'src/app/services/user.service';\nimport { environment } from '../../../environments/environment';\nimport { Concessionaire } from '../../models/Concessionaire';\nimport { DatabaseService } from '../../services/database.service';\nimport { GeneralSetting } from '../../services/generalSetting.service';\nimport { IsKioskService } from '../../services/is-kiosk.service';\nimport { PusherService } from '../../services/pusher.service';\nimport { CustomerLoginPopupComponent } from '../dialogs/customer-login-popup/customer-login-popup.component';\nimport { CustomerLoginModalService } from '../dialogs/customer-login-popup/customer-login-popup.service';\nimport { CustomerWelcomeModalComponent } from '../dialogs/customer-welcome-modal/customer-welcome-modal.component';\nimport { FilterConcessionaireComponent } from '../dialogs/filter-concessionaire/filter-concessionaire.component';\nimport { ConcessionaireService } from '../menu/conc-service/concessionaire.service';\n\n@Component({\n selector: 'app-concessionaire-grid',\n templateUrl: './concessionaire-grid.component.html',\n styleUrls: ['./concessionaire-grid.component.css'],\n})\nexport class ConcessionaireGridComponent implements OnInit, OnDestroy {\n ngOnDestroy() {\n try {\n if (this.conActiveSub) {\n this.conActiveSub.unsubscribe();\n }\n } catch (e) {}\n }\n\n conActiveSub!: Subscription;\n\n constructor(\n private readonly db: DatabaseService,\n private readonly isKioskService: IsKioskService,\n private readonly router: Router,\n private readonly loyaltyService: LoyaltyService,\n private userService: UserService,\n private readonly conService: ConcessionaireService,\n private readonly pusherService: PusherService,\n private language: LanguageService,\n private cartService: CartService,\n private modalService: NgbModal,\n private customerLoginService:CustomerLoginModalService\n ) {\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n }\n languageSub!: Subscription;\n branchLogo: string = '';\n\n concessionaire: Concessionaire[] = [] as Concessionaire[];\n\n concessionaireBaseUrl: string = '/uploads/ConcessionaireLogo/';\n\n isShowSolidColor: boolean = false;\n\n solidBackgroundColor: string = '';\n\n isShowImageBackground: boolean = false;\n\n backgroundImageUrl: string = '';\n\n imageBaseUrl = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n @ViewChild(FilterConcessionaireComponent)\n filterConcessionaireComponent!: FilterConcessionaireComponent;\n\n @ViewChild(CustomerLoginPopupComponent)\n customerLoginPopup!: CustomerLoginPopupComponent;\n\n //@ViewChild(OrderReviewPromotionsComponent) promo!: OrderReviewPromotionsComponent;\n\n @ViewChild('itemContainerDiv') itemContainerDiv!: any;\n\n isLoyalty: boolean = false;\n\n concessionaireHeaderImage: string = '';\n\n primaryColor: string = '';\n\n isShowBranchLogo: boolean = false;\n\n checkScrollCheck: boolean = false;\n\n isBottom: boolean = false;\n\n isNearBottom: boolean = false;\n isFilterApplied: string = '';\n\n selConcessionaireTypes: ConcessionaireFilterTypes[] =\n [] as ConcessionaireFilterTypes[];\n\n positiveBtnColor: string = '';\n\n positiveButtonText: string = '';\n\n isItemTagsSelected: string = '';\n\n userName: string = '';\n\n secondaryColor: string = '';\n\n useLoyalty: boolean = false;\n\n categorySideColor: string = '';\n foodFilterText: string = '';\n tapToStartOrderText: string = '';\n multipleRestaurantsText: string = '';\n payAllChecksAtOnceText: string = '';\n noResultsText: string = '';\n differentFilterText: string = '';\n signInText: string = '';\n loadText() {\n this.foodFilterText = this.language.getTextElement('food_filters');\n this.tapToStartOrderText =\n this.language.getTextElement('tap_to_start_order');\n this.multipleRestaurantsText = this.language.getTextElement(\n 'select_from_multiple_restaurants'\n );\n this.payAllChecksAtOnceText = this.language.getTextElement(\n 'pay_all_checks_at_once'\n );\n this.noResultsText = this.language.getTextElement('no_results');\n this.differentFilterText = this.language.getTextElement(\n 'try_different_filter'\n );\n this.signInText = this.language.getTextElement('action_sign_in');\n }\n ngOnInit(): void {\n this.branchLogo =\n GeneralSetting.getBranchLogo() != ''\n ? this.imageBaseUrl + GeneralSetting.getBranchLogo()\n : 'assets/images/Image_21.png';\n\n this.isShowSolidColor =\n GeneralSetting.getShowSolidColorBGKiosk().toLowerCase() == 'true';\n\n this.isShowImageBackground =\n GeneralSetting.getShowImageBGKiosk().toLowerCase() == 'true';\n\n this.backgroundImageUrl = GeneralSetting.getImageBGKiosk();\n\n this.solidBackgroundColor = GeneralSetting.getColorCodeKiosk();\n\n this.getConcessionaireList(this.isFilterApplied, this.isItemTagsSelected);\n\n this.isLoyalty = this.loyaltyService.isLoyalty;\n\n this.concessionaireHeaderImage =\n GeneralSetting.getConcessionaireHeaderImage();\n\n this.primaryColor = GeneralSetting.getPrimaryColor();\n\n this.isShowBranchLogo = GeneralSetting.getHideLogo();\n\n this.positiveBtnColor = GeneralSetting.getPositiveColor();\n\n this.positiveButtonText = GeneralSetting.getPositiveColorText();\n\n this.secondaryColor = GeneralSetting.getSecondaryColor();\n\n this.getUserName();\n\n this.useLoyalty = GeneralSetting.getUseLoyaltyKiosk() == 'True';\n\n this.categorySideColor = GeneralSetting.getCategoryColor();\n\n this.pusherBind();\n }\n\n pusherBind() {\n this.conActiveSub = this.pusherService.ConcessionaireIsActive.subscribe(\n (res) => {\n let conId = res.ItemId;\n\n let con = this.concessionaire.filter(\n (x) => x.ConcessionaireID == conId\n );\n if (con.length > 0) {\n if (res.Status && res.Status != '') {\n if (res.Status.toLowerCase() == 'true') {\n con[0].IsClosed = false;\n } else {\n con[0].IsClosed = true;\n }\n }\n\n this.concessionaire.sort((a, b) =>\n a.IsClosed > b.IsClosed ? 1 : -1\n );\n }\n }\n );\n }\n\n onConcessionaireClick(con: Concessionaire) {\n if (con.IsClosed || !con.IsActive) return;\n\n this.router.navigate([`/menu`], {\n queryParams: { concessionaireId: con.ConcessionaireID },\n });\n }\n\n getImageOrColor(\n isShowImageBackground: boolean,\n isShowSolidColor: boolean,\n solidColor: string,\n backgroundImageUrl: string,\n imageBaseUrl: string\n ) {\n function getBackgroundImage() {\n if (\n isShowImageBackground &&\n backgroundImageUrl &&\n backgroundImageUrl != ''\n ) {\n return backgroundImageUrl;\n }\n\n return '';\n }\n\n let image = getBackgroundImage();\n\n if (image == '') {\n if (isShowSolidColor) {\n return (\n 'background-color: ' + solidColor + \";background-image: url('');\"\n );\n } else {\n return '';\n }\n } else {\n return \"background-image: url('\" + imageBaseUrl + image + \"')\";\n }\n }\n\n /**\n * Sets branch logo\n * @param con\n * @param imageBaseUrl\n * @param concessionaireBaseUrl\n * @returns\n */\n getConcessionaireLogo(\n con: Concessionaire,\n imageBaseUrl: string,\n concessionaireBaseUrl: string\n ) {\n return con.Logo && con.Logo != ''\n ? imageBaseUrl + concessionaireBaseUrl + con.Logo\n : '../../../assets/images/Image_21.png';\n }\n\n /**\n * Sets branch header image\n * @param headerImageUrl\n * @param imageBaseUrl\n * @returns\n */\n setHeaderImage(headerImageUrl: string, imageBaseUrl: string) {\n return headerImageUrl && headerImageUrl != ''\n ? imageBaseUrl + headerImageUrl\n : '';\n }\n\n /**\n * Opens up the Filter dialog\n */\n clickFilter(event: any) {\n this.filterConcessionaireComponent.open();\n\n var constConTypes = JSON.parse(\n JSON.stringify(this.conService.concessionaireFilterTypes)\n );\n var constSelConTypes = JSON.parse(\n JSON.stringify(this.conService.selectedConcessionaireTypes)\n );\n var constSelItemTags = JSON.parse(\n JSON.stringify(this.conService.selectedItemTags)\n );\n var consItemTagsAndGroupFilters = JSON.parse(\n JSON.stringify(this.conService.itemTagsAndGroupFilters)\n );\n event.target.disabled = true;\n this.filterConcessionaireComponent.modalReference.result.then(\n (data: string) => {\n event.target.disabled = false;\n if (data == 'apply') {\n this.getSelConcessionaireTypes();\n } else {\n canceFilter(this.conService);\n }\n },\n (reject: any) => {\n event.target.disabled = false;\n setTimeout(() => {\n canceFilter(this.conService);\n }, 500);\n }\n );\n\n function canceFilter(conService: ConcessionaireService) {\n conService.setConcessionaireFilterTypes(constConTypes);\n conService.setSelectedConcessionaireTypes(\n constSelConTypes,\n constSelItemTags\n );\n conService.setItemTagsAndGroupFilters(consItemTagsAndGroupFilters);\n }\n }\n\n /**\n * Clicks on user login\n */\n onUserClick() {\n this.customerLoginService.onUserClick(this.loyaltyService.loyaltyType).then((data: number) => {\n if (data) {\n if (data == 1) {\n this.router.navigateByUrl('/lastfiveorder');\n } else if (data == 2) {\n this.getUserName()\n } else {\n //this block should not be reached\n }\n }\n //no else block for top-level if-con\n //where data is falsey, a zero is returned to end execution flow without hanging promise\n }\n //no rejection handler\n //promise resolves 0 on all reject cases\n );\n }\n\n /**\n * Gets user name\n * @returns\n */\n getUserName() {\n if (this.userService.isUserLoggedIn) {\n this.userName = this.userService.name;\n } else {\n this.userName = this.signInText;\n }\n }\n\n /**\n * Scrolls down the view\n * @returns\n */\n scrollDown() {\n if (!this.itemContainerDiv) {\n return;\n }\n\n let element = this.itemContainerDiv.nativeElement;\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n this.isBottom = true;\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(element?.scrollHeight - element?.clientHeight, 300);\n }\n /**\n * @author om kanada\n * @description This method is used to navigate back to the previous page\n * @returns void\n */\n back(){\n this.router.navigateByUrl('/touchToStart');\n }\n /**\n *\n * @returns Scrolls up the view\n */\n scrollTop() {\n if (!this.itemContainerDiv) {\n return;\n }\n\n let element = this.itemContainerDiv.nativeElement;\n\n const smoothScrollTo = (to: number, duration: number) => {\n const start = (element as HTMLElement).scrollTop,\n change = to - start,\n startDate = +new Date();\n /**\n * @param {any} t current time\n * @param {any} b start value\n * @param {any} c change in value\n * @param {any} d duration\n */\n const easeInOutQuad = (t: any, b: any, c: any, d: any) => {\n t /= d / 2;\n if (t < 1) return (c / 2) * t * t + b;\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n const currentDate = +new Date();\n const currentTime = currentDate - startDate;\n (element as HTMLElement).scrollTop = parseInt(\n easeInOutQuad(currentTime, start, change, duration)\n );\n if (currentTime < duration) {\n requestAnimationFrame(animateScroll);\n } else {\n (element as HTMLElement).scrollTop = to;\n }\n this.isBottom = false;\n };\n animateScroll();\n };\n // if (bottom) bottom.scrollIntoView({ behavior: 'smooth' });\n smoothScrollTo(0, 300);\n }\n\n /**\n * Selects concessionaire as per filter selection\n */\n getSelConcessionaireTypes() {\n this.isFilterApplied = this.conService.getSelectedConcessionaireTypes(1);\n this.isItemTagsSelected = this.conService.getSelectedConcessionaireTypes(2);\n this.selConcessionaireTypes = this.conService.getSelectedFilterList();\n this.getConcessionaireList(this.isFilterApplied, this.isItemTagsSelected);\n }\n\n /**\n * Gets concessionaire list\n * @param isFilterApplied\n * @param isItemTagsSelected\n */\n getConcessionaireList(\n isFilterApplied: string = '',\n isItemTagsSelected: string = ''\n ) {\n this.db\n .getAllConcessionaireFromSql(isFilterApplied, isItemTagsSelected)\n .then((con) => {\n this.concessionaire = con;\n this.checkScrollCheck = this.concessionaire.length > 28;\n });\n }\n\n /**\n * Updates concessionaire as per selection and deselection of filter\n * @param concessionaireTypeId\n * @param isSelected\n * @param event\n * @param isItemTag\n */\n onConcessionaireTypeSelection(\n concessionaireTypeId: string,\n isSelected: boolean,\n event: Event,\n isItemTag: boolean = false\n ) {\n this.conService.onConcessionaireTypeSelection(\n concessionaireTypeId,\n isSelected,\n event,\n isItemTag\n );\n this.getSelConcessionaireTypes();\n }\n\n /**\n * Deducts manual scroll position\n * @param event\n */\n onScroll(event: any) {\n setTimeout(() => {\n this.isBottom =\n event.target.offsetHeight + event.target.scrollTop >=\n event.target.scrollHeight;\n }, 300);\n }\n}\n","\n\n\n\n\n \n\n
\n
\n
\n
\n
\n
\n
{{tapToStartOrderText}}\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n
{{multipleRestaurantsText}}\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n
{{payAllChecksAtOnceText}} \n \n
\n
\n
\n
\n \n {{selcon.Name}}\n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n keyboard_double_arrow_down\n \n \n keyboard_double_arrow_up\n \n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
{{noResultsText}} \n
{{differentFilterText}}
\n
\n \n
\n
\n
\n
\n
\n
\n\n \n\n
\n\n\n \n \n ","\n
\n
\n \n \n \n \n \n \n
\n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CurrencyPipe } from 'src/app/CustomTools/currency.pipe';\nimport { LanguageService } from 'src/app/services/language.service';\n@Component({\n selector: 'app-payment-total-row',\n templateUrl: './payment-total-row.component.html',\n styleUrls: ['./payment-total-row.component.css']\n})\nexport class PaymentTotalRowComponent implements OnInit, OnDestroy {\n @Input() total!:number\n @Input() subtotal!:number\n @Input() tax!:number\n @Input() discount!:number\n @Input() reward!:number\n @Input() shipping!:number\n @Input() tip!:number\n \n totalText:string=''\n subtotalText:string=''\n tipText:string=''\n taxesAndFeesText:string = ''\n taxText:string=''\n discountText:string=''\n rewardText:string=''\n shippingFeeText:string=''\n collapsed:boolean=true\n languageSub!:Subscription\n constructor(private language:LanguageService) { }\nngOnDestroy(): void {\n if(this.languageSub){\n this.languageSub.unsubscribe()\n }\n}\nloadText(){\n this.totalText=this.language.getTextElement('text_total')\n this.subtotalText=this.language.getTextElement('lbl_subtotal')\n this.tipText=this.language.getTextElement('lbl_tip')\n this.taxesAndFeesText=this.language.getTextElement('lbl_taxes_and_fees')\n this.taxText=this.language.getTextElement('lbl_tax')\n this.discountText=this.language.getTextElement('lbl_discount')\n this.rewardText=this.language.getTextElement('reward')\n this.shippingFeeText=this.language.getTextElement('lbl_shipping_fee')\n}\n ngOnInit(): void {\n this.languageSub=this.language.localeCommunicator.subscribe((val)=>{\n this.loadText()\n })\n }\n swap(){\n this.collapsed=!this.collapsed\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConcessionaireSelectComponent } from 'src/app/shared/concessionaire-select/concessionaire-select.component';\nimport { SharedRoutingModule } from 'src/app/shared/shared-routing.module';\nimport { FormsModule } from '@angular/forms';\nimport { FunctionCallPipe } from 'src/app/CustomTools/function-call.pipe';\nimport { OrderCustomMessagesComponent } from './order-custom-messages/order-custom-messages.component';\n\n@NgModule({\n declarations: [\n ConcessionaireSelectComponent,\n FunctionCallPipe,\n OrderCustomMessagesComponent\n ],\n imports: [\n CommonModule,\n SharedRoutingModule,\n FormsModule\n ],\n exports: [\n ConcessionaireSelectComponent,\n FunctionCallPipe,\n OrderCustomMessagesComponent\n ]\n})\nexport class SharedModule { }\n","import { IsKioskService } from '../../../services/is-kiosk.service';\nimport { GeneralSetting } from '../../../services/generalSetting.service';\nimport {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { ModifierV2, ComboGroupV2 } from '../../../models/item';\nimport { Variation, VariationOption } from '../../../models/Variations';\nimport { CommonFunctions } from '../../../services/common';\nimport { DatabaseService } from '../../../services/database.service';\nimport { Subscription } from 'rxjs';\nimport { LanguageService } from 'src/app/services/language.service';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-item-builder-mode-selection',\n templateUrl: './item-builder-mode-selection.component.html',\n styleUrls: ['./item-builder-mode-selection.component.css'],\n})\nexport class ItemBuilderModeSelectionComponent implements OnInit, OnDestroy {\n currentModifier: ModifierV2 | null = null;\n @Input() modifiers: ModifierV2[] = [];\n @Input() parentQuantity: number = 1;\n currentVariation: Variation | null = null;\n @Input() variations: Variation[] = [] as Variation[];\n\n currentComboGroup: ComboGroupV2 | null = null;\n @Input() comboGroups: ComboGroupV2[] = [] as ComboGroupV2[];\n\n @Input() isCombo: boolean = false;\n @Input() numInvisibleGroups: number = 0\n @Input() IsComboPopupComponent = false;\n\n @Input() ItemName: string = '';\n @Input() ItemDescription: string = '';\n\n @Input() ItemId: string = '';\n\n @Output() emitSelectedVariation: EventEmitter =\n new EventEmitter();\n\n @Output() emitSelectedModifier: EventEmitter<{\n inputModifier: ModifierV2[];\n isValid: boolean;\n }> = new EventEmitter<{ inputModifier: ModifierV2[]; isValid: boolean }>();\n\n @Output() emitComboGroup: EventEmitter<{\n inputComboGroup: ComboGroupV2[];\n isValid: boolean;\n }> = new EventEmitter<{\n inputComboGroup: ComboGroupV2[];\n isValid: boolean;\n }>();\n\n @Output() setVariationsValid: EventEmitter =\n new EventEmitter();\n\n @Output() isModifierValid: boolean = false;\n\n @ViewChild('selectionComponent') selectionComponent!: ElementRef;\n\n IsComboGroupValid: boolean = false;\n\n selectedVariation: VariationOption = {} as VariationOption;\n\n imageUrl: string = this.isKioskService.isKiosk()\n ? environment.imageBaseUrl\n : environment.imageBaseUrlRemote;\n\n primaryColor: string = '';\n\n primaryTextColor: string = '';\n\n showNegativeModifiers: string = '';\n\n noAnimation: boolean = true;\n\n modifierStartingIndex: number = 0;\n\n isFirstTimeLoad = true;\n\n isVariationValid: boolean = false;\n\n showFixItemButton: boolean = false;\n\n isVariationSelected = false;\n\n isModifierSelected = false;\n\n modifierSelectedIndex = 0;\n\n comboGroupSelectedIndex = 0;\n\n IsComboGroupSelected = false;\n\n categoryCards!: HTMLCollection;\n\n hasSubCategory = false;\n\n //firstLevel\n selectedModifierSubGroup: ModifierV2 | null = null;\n\n //selectedModifierSubGroup Second level\n selectedModifierSubGroupLevel2: ModifierV2 = {} as ModifierV2;\n\n hasSecondLevelSubgroup: boolean = false;\n\n subGroupIndex: number = 0;\n\n languageSub!: Subscription\n requiredText: string = ''\n ofText: string = ''\n backText: string = ''\n nextText: string = ''\n fixItemsText: string = ''\n placeholderImage: string = '';\n chooseOneText: string = ''\n\n showAggregateRule: boolean = false;\n deselectText: string = ''\n isAggregate = false;\n lastSelectedIngPostion: number = 0;\n\n constructor(private readonly isKioskService: IsKioskService, private readonly db: DatabaseService, private language: LanguageService, private readonly dataService: DataService) { }\n ngOnDestroy(): void {\n if (this.languageSub) {\n this.languageSub.unsubscribe();\n }\n }\n loadText() {\n this.requiredText = this.language.getTextElement('txt_required')\n this.ofText = this.language.getTextElement('txt_of')\n this.backText = this.language.getTextElement('back')\n this.nextText = this.language.getTextElement('next')\n this.fixItemsText = this.language.getTextElement('lbl_choices_required')\n this.chooseOneText = this.language.getTextElement('choose_exactly_one')\n }\n ngOnInit(): void {\n this.isAggregate = this.modifiers.length > 0 ? (this.modifiers[this.modifierSelectedIndex].UseAdvancedModifierQuantitySettings == 'True') ? true : false : false;\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.categoryCards = document.getElementsByClassName('row');\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.primaryTextColor = GeneralSetting.getPositiveColorText();\n this.showNegativeModifiers = GeneralSetting.getShowNegativeModifiers();\n // console.log(this.categoryCards);\n this.setDefault();\n if (this.isCombo) {\n this.checkItemValid();\n }\n else this.checkModifierValid();\n\n this.getModifierRules();\n }\n\n init(): void {\n this.placeholderImage = this.dataService.getPlaceholderImage();\n this.languageSub = this.language.localeCommunicator.subscribe((val) => {\n this.loadText();\n });\n this.categoryCards = document.getElementsByClassName('row');\n this.primaryColor = GeneralSetting.getPrimaryColor();\n this.primaryTextColor = GeneralSetting.getPositiveColorText();\n this.showNegativeModifiers = GeneralSetting.getShowNegativeModifiers();\n // console.log(this.categoryCards);\n this.setDefault();\n if (this.isCombo) {\n this.checkItemValid();\n }\n else this.checkModifierValid();\n\n this.getModifierRules();\n }\n\n public setDefault() {\n let isCombo = this.isCombo.toString();\n\n if (isCombo.toLowerCase() == 'true') {\n if (this.comboGroups.length > 0) {\n this.onItemSelect(0);\n }\n } else {\n this.setDefaultVariation();\n }\n this.isFirstTimeLoad = false;\n }\n\n private setDefaultVariation() {\n if (this.variations && this.variations.length > 0) {\n if (this.variations[0].variationOptions.length > 0) {\n const selectedVariation = this.variations[0].variationOptions.find(\n (x: VariationOption) => x.isSelected\n );\n\n if (selectedVariation) {\n this.selectedVariation = selectedVariation;\n this.isVariationValid = true;\n this.setVariationsValid.emit(true);\n this.emitSelectedVariation.emit([this.selectedVariation]);\n } else {\n this.variations[0].variationOptions[0].isSelected = true;\n this.selectedVariation = this.variations[0].variationOptions[0];\n this.isVariationValid = true;\n this.setVariationsValid.emit(true);\n this.emitSelectedVariation.emit([this.selectedVariation]);\n }\n }\n } else {\n this.isVariationSelected = false;\n }\n\n if (this.variations && Object.entries(this.variations).length > 0) {\n this.modifierStartingIndex = 1;\n if (this.isFirstTimeLoad) {\n this.onVariationSelect();\n }\n } else {\n this.modifierStartingIndex = 0;\n if (this.isFirstTimeLoad) {\n this.onModifierSelect(0);\n }\n }\n }\n\n showFixedItemButton() {\n let isValid = true;\n\n if (this.isCombo) {\n if (\n this.comboGroups.length > 0 &&\n this.comboGroupSelectedIndex == this.comboGroups.length - (this.numInvisibleGroups + 1) &&\n !this.IsComboGroupValid\n ) {\n isValid = false;\n }\n } else {\n if (this.variations.length > 0 && !this.isVariationValid) {\n if (this.modifiers.length <= 0) {\n isValid = false;\n } else if (\n this.modifiers.length > 0 &&\n this.modifierSelectedIndex == this.modifiers.length - 1 &&\n !this.isModifierValid\n ) {\n isValid = false;\n }\n } else {\n if (\n this.modifiers.length > 0 &&\n this.modifierSelectedIndex == this.modifiers.length - 1 &&\n !this.isModifierValid\n ) {\n isValid = false;\n }\n }\n }\n\n this.showFixItemButton = !isValid;\n }\n\n\n //for subgroup selection \n private setSubGroupModifierSelection(modifier: ModifierV2) {\n\n\n if (modifier.Ingredients.length == 1 && modifier.Ingredients[0].IsModifier) {\n const childModifier = modifier.Ingredients[0] as ModifierV2;\n\n const selectedIngredient = CommonFunctions.getSelectedIngredientCount(childModifier);\n\n if (selectedIngredient > 0) {\n modifier.IsSelected = true;\n childModifier.IsSelected = true;\n }\n else {\n modifier.IsSelected = false;\n childModifier.IsSelected = false;\n }\n\n if (\n selectedIngredient >= childModifier.min &&\n selectedIngredient <= childModifier.max\n ) {\n childModifier.isValid = true;\n } else {\n childModifier.isValid = false;\n if (selectedIngredient > 0) this.isModifierValid = false;\n }\n }\n else {\n const selectedIngredient = CommonFunctions.getSelectedIngredientCount(modifier);\n\n if (selectedIngredient > 0) {\n modifier.IsSelected = true;\n }\n else {\n modifier.IsSelected = false;\n }\n\n if (\n selectedIngredient >= modifier.min &&\n selectedIngredient <= modifier.max\n ) {\n modifier.isValid = true;\n } else {\n modifier.isValid = false;\n if (selectedIngredient > 0) this.isModifierValid = false;\n }\n }\n\n\n }\n\n // for checking and removing parent selection on modifier selection logic \n private subGroupParentDeselectionLogic(modifier: ModifierV2, index: number) {\n if (modifier.IsSubGroup) {\n this.setSubGroupModifierSelection(modifier);\n }\n\n if (modifier.Ingredients.length > 0) {\n for (let j = 0; j < modifier.Ingredients.length; j++) {\n const checkSubGroupModifiers = modifier.Ingredients;\n\n const childModifiers = checkSubGroupModifiers.filter(x => x.IsModifier) as ModifierV2[];\n\n if (childModifiers && childModifiers.length > 0) {\n\n for (let i = 0; i < childModifiers.length; i++) {\n if (childModifiers[i].IsSubGroup) {\n\n if (childModifiers[i].IsSelected) {\n CommonFunctions.selectModifierLogic(childModifiers[i], i);\n }\n\n this.setSubGroupModifierSelection(childModifiers[i]);\n }\n }\n\n modifier.count = CommonFunctions.getSelectedIngredientCount(modifier);\n }\n }\n }\n }\n\n async checkModifierValid(openNext: boolean = false) {\n // is valid by default\n this.isModifierValid = true;\n\n if (this.modifiers && this.modifiers.length > 0) {\n for (let i = 0; i < this.modifiers.length; i++) {\n const modifier = this.modifiers[i];\n //For changing parent if subgroup fails\n this.subGroupParentDeselectionLogic(modifier, i);\n\n /**\n * Check modifier validate based on min max aggregate @nilesh\n */\n\n let selectedIngredient = 0\n modifier.UseAdvancedModifierQuantitySettings == 'False'\n ? selectedIngredient = CommonFunctions.getSelectedIngredientCount(modifier)\n : selectedIngredient = CommonFunctions.getOnlySelectedIngredientCount(modifier)\n\n if (modifier.IsSelected) {\n\n\n\n //if (modifier.Ingredients.length > 0) {\n\n let aggregateCondition = modifier.MaxAggregateQty && modifier.MinAggregateQty && modifier.MaxAggregateQty != 0 && modifier.MinAggregateQty != 0\n ? modifier.countAggregate <= Number(modifier.MaxAggregateQty) && modifier.countAggregate >= Number(modifier.MinAggregateQty)\n : true;\n let condition = true;\n if (modifier.UseAdvancedModifierQuantitySettings == 'False') {\n condition = selectedIngredient >= modifier.min &&\n selectedIngredient <= modifier.max;\n } else {\n\n condition = (selectedIngredient >= modifier.min &&\n selectedIngredient <= modifier.max)\n && aggregateCondition;\n }\n if (condition) {\n modifier.isValid = true;\n modifier.IsSelected = true;\n } else {\n modifier.isValid = false;\n this.isModifierValid = false;\n }\n //}\n } else {\n\n\n\n if (selectedIngredient > 0) {\n if (selectedIngredient >= modifier.min && selectedIngredient <= modifier.max) {\n modifier.isValid = true;\n modifier.IsSelected = true;\n } else {\n modifier.isValid = false;\n this.isModifierValid = false;\n }\n } else if (modifier.min != 0) {\n modifier.isValid = false;\n this.isModifierValid = false;\n } else {\n modifier.isValid = true;\n modifier.IsSelected = true;\n }\n }\n\n /**\n * https://grubbrr.atlassian.net/browse/SK-1920 - Modifier group isselected flag update @nilesh\n */\n if (selectedIngredient == 0) {\n modifier.IsSelected = false;\n }\n\n if (openNext) {\n if (modifier.isValid) {\n if (i == this.modifierSelectedIndex) {\n if (this.modifierSelectedIndex != this.modifiers.length - 1) {\n this.onModifierSelect(this.modifierSelectedIndex + 1);\n } else {\n this.onModifierSelect(this.modifierSelectedIndex);\n }\n }\n } else {\n this.onModifierSelect(i);\n break;\n }\n }\n }\n\n this.emitSelectedModifier.emit({\n inputModifier: this.modifiers,\n isValid: this.isModifierValid,\n });\n }\n\n this.showFixedItemButton();\n }\n\n isObjectEmpty(obj: any) {\n return Object.keys(obj).length === 0;\n }\n\n setVariationOptionSelected(selectedVariation: VariationOption) {\n this.selectedVariation = selectedVariation;\n this.isVariationValid = true;\n\n setTimeout(() => {\n this.onNextClick();\n }, 50);\n\n this.emitSelectedVariation.emit([this.selectedVariation]);\n this.setVariationsValid.emit(true);\n }\n\n onVariationSelect() {\n this.nullifySelections();\n this.currentVariation = this.variations[0];\n this.isVariationSelected = true;\n this.isModifierSelected = false;\n }\n\n async onModifierSelect(index: number) {\n this.modifierSelectedIndex = index;\n\n this.nullifySelections();\n this.currentModifier = this.modifiers[index];\n\n this.isModifierSelected = true;\n this.isVariationSelected = false;\n\n this.isAggregate = this.modifiers.length > 0 ? (this.modifiers[this.modifierSelectedIndex].UseAdvancedModifierQuantitySettings == 'True') ? true : false : false;\n const isHasSubGroup = this.checkIfHaveSubGroup(index);\n if (this.modifiers.length > 0 && this.modifiers[this.modifierSelectedIndex].UseAdvancedModifierQuantitySettings == 'True') {\n this.showAggregateRule = CommonFunctions.getOnlySelectedIngredientCount(this.modifiers[this.modifierSelectedIndex]) > 0\n }\n else {\n this.showAggregateRule = false;\n }\n if (isHasSubGroup) {\n\n const isSubGroupHaveSingleModifier = this.checkIfSubGroupHaveModifier(isHasSubGroup);\n\n if (isSubGroupHaveSingleModifier) {\n this.selectedModifierSubGroupLevel2 = isHasSubGroup.Ingredients[0] as ModifierV2;\n\n if (!this.selectedModifierSubGroupLevel2.Ingredients || this.selectedModifierSubGroupLevel2.Ingredients.length <= 0) {\n\n this.selectedModifierSubGroupLevel2.Ingredients = await this.db.getNestedModifierByItemAndModifier(this.selectedModifierSubGroupLevel2.ItemID, this.selectedModifierSubGroupLevel2.ModifierID);\n }\n\n this.hasSecondLevelSubgroup = true;\n }\n\n this.hasSubCategory = true;\n this.selectedModifierSubGroup = isHasSubGroup;\n this.subGroupIndex = 0;\n\n } else {\n this.hasSubCategory = false;\n }\n\n\n this.checkModifierValid();\n this.getModifierRules();\n\n this.scrollToCard();\n }\n\n private checkIfSubGroupHaveModifier(subGroup: ModifierV2) {\n\n if (subGroup.Ingredients.length == 1 && subGroup.Ingredients[0].IsModifier) {\n return true;\n }\n\n return false;\n }\n\n private checkIfHaveSubGroup(index: number) {\n const modifer = this.modifiers[index];\n if (!modifer || !modifer.Ingredients || modifer.Ingredients.length <= 0) {\n return null;\n }\n\n for (let i = 0; i < modifer.Ingredients.length; i++) {\n const ing = modifer.Ingredients[i];\n\n if (ing.IsModifier) {\n const mod = ing as ModifierV2;\n\n if (mod.IsSubGroup) {\n this.subGroupIndex = i;\n return mod;\n }\n }\n }\n\n return null;\n }\n\n parentChangeIngredient(modifier: ModifierV2) {\n this.modifiers[this.modifierSelectedIndex] = modifier;\n if (modifier.UseAdvancedModifierQuantitySettings == 'True') {\n this.showAggregateRule = CommonFunctions.getOnlySelectedIngredientCount(modifier) > 0\n }\n else {\n this.showAggregateRule = false;\n }\n setTimeout(() => {\n // const selectedIngredient =\n // CommonFunctions.getSelectedIngredientCount(modifier);\n // if (modifier.max == selectedIngredient) {\n // this.onNextClick();\n // return;\n // }\n\n if (modifier.UseAdvancedModifierQuantitySettings != 'True') {\n if (modifier.max == modifier.count) {\n this.onNextClick();\n return;\n }\n } else {\n if (Number(modifier.MaxAggregateQty) == modifier.countAggregate) {\n this.onNextClick();\n return;\n }\n }\n }, 50);\n this.getModifierRules();\n this.checkModifierValid();\n }\n\n onNextClick() {\n\n // try {\n // this.lastSelectedIngPostion = CommonFunctions.getSelectedIngredientPosition(this.modifiers[this.modifierSelectedIndex + 1]);\n // //console.log(\"Next --------\" + this.lastSelectedIngPostion);\n // } catch (ex) {\n // console.log(\"Exception while getSelectedIngredientPosition\" + ex);\n // }\n\n\n if (this.isCombo) {\n if (this.comboGroups.length > 0) {\n if (this.IsComboGroupSelected) {\n if (\n this.comboGroups[this.comboGroupSelectedIndex].isValid &&\n this.comboGroupSelectedIndex != this.comboGroups.length - (this.numInvisibleGroups + 1)\n ) {\n this.onItemSelect(this.comboGroupSelectedIndex + 1);\n }\n } else {\n this.onItemSelect(0);\n }\n }\n\n this.checkItemValid();\n } else {\n if (this.isVariationSelected && this.variations.length > 0) {\n if (\n this.selectedVariation &&\n Object.entries(this.selectedVariation).length > 0\n ) {\n if (this.modifiers.length > 0) {\n this.onModifierSelect(0);\n }\n }\n } else if (this.modifiers.length > 0) {\n if (this.isModifierSelected) {\n if (\n this.modifiers[this.modifierSelectedIndex].isValid &&\n this.modifierSelectedIndex != this.modifiers.length - 1\n ) {\n this.onModifierSelect(this.modifierSelectedIndex + 1);\n }\n } else {\n this.onModifierSelect(0);\n }\n }\n\n this.checkModifierValid();\n }\n\n\n\n this.scrollToCard();\n }\n\n scrollToCard() {\n // have to add these together to get index of card\n // if (!this.isFirstTimeLoad) {\n // let index =\n // this.modifierSelectedIndex +\n // this.comboGroupSelectedIndex +\n // this.modifierStartingIndex;\n // // console.log(index);\n // this.categoryCards[index].scrollIntoView({\n // block: 'center',\n // inline: 'center',\n // });\n // }\n\n setTimeout(() => {\n this.categoryCards[this.lastSelectedIngPostion].scrollIntoView();\n }, 15);\n\n }\n\n onPreviousClick() {\n\n // try {\n // this.lastSelectedIngPostion = CommonFunctions.getSelectedIngredientPosition(this.modifiers[this.modifierSelectedIndex - 1]);\n // //console.log(\"previous--------\" + this.lastSelectedIngPostion);\n // } catch (ex) {\n // console.log(\"Exception while getSelectedIngredientPosition\" + ex);\n // }\n\n if (this.isCombo) {\n if (this.IsComboGroupSelected && this.comboGroups.length > 0) {\n if (this.comboGroupSelectedIndex == 0) {\n return;\n } else {\n this.onItemSelect(this.comboGroupSelectedIndex - 1);\n }\n }\n } else {\n if (this.isVariationSelected && this.variations.length > 0) return;\n\n if (this.isModifierSelected && this.modifiers.length > 0) {\n if (this.modifierSelectedIndex == 0) {\n if (this.variations.length > 0) this.onVariationSelect();\n return;\n } else {\n this.onModifierSelect(this.modifierSelectedIndex - 1);\n }\n }\n }\n\n this.scrollToCard();\n this.showFixedItemButton();\n }\n\n onFixItemsClick() {\n if (this.isCombo) {\n this.checkItemValid(true);\n } else {\n if (this.variations.length > 0 && !this.isVariationValid) {\n this.onVariationSelect();\n }\n\n this.checkModifierValid(true);\n }\n\n this.scrollToCard();\n\n // shake animation to grab users attention\n\n if (this.selectionComponent) {\n const selections = this.selectionComponent.nativeElement.querySelector(\n '#selections'\n ) as HTMLElement;\n selections.className += ' animated shake';\n setTimeout(() => {\n selections.className = 'modifier-list ng-star-inserted';\n }, 1000);\n }\n }\n\n //combo Related methods\n\n async checkItemValid(openNext: boolean = false) {\n // is valid by default\n this.IsComboGroupValid = true;\n\n if (this.comboGroups && this.comboGroups.length > 0) {\n for (let i = 0; i < this.comboGroups.length; i++) {\n const comboGroup = this.comboGroups[i];\n\n const groupSelectedItem =\n CommonFunctions.getParentCountItem(comboGroup);\n\n // min and max data can be not correct to fix them and check\n if (comboGroup.min != 0 && comboGroup.min < 0) {\n comboGroup.min = 0;\n }\n\n if (comboGroup.max <= 0) {\n comboGroup.max = 99999;\n }\n\n if (comboGroup.IsSelected) {\n if (comboGroup.Items.length > 0) {\n if (\n groupSelectedItem >= comboGroup.min &&\n groupSelectedItem <= comboGroup.max\n ) {\n comboGroup.isValid = true;\n } else {\n this.IsComboGroupValid = false;\n comboGroup.isValid = false;\n }\n }\n } else {\n if (\n groupSelectedItem >= comboGroup.min &&\n groupSelectedItem <= comboGroup.max\n ) {\n comboGroup.isValid = true;\n comboGroup.isSelected = true;\n } else {\n comboGroup.isSelected = false;\n this.IsComboGroupValid = false;\n }\n }\n\n //direct to error item page\n if (openNext) {\n if (comboGroup.isValid) {\n if (i == this.comboGroupSelectedIndex) {\n if (this.comboGroupSelectedIndex != this.comboGroups.length - (this.numInvisibleGroups + 1)) {\n this.onItemSelect(this.comboGroupSelectedIndex + 1);\n } else {\n this.onItemSelect(this.comboGroupSelectedIndex);\n }\n }\n } else {\n this.onItemSelect(i);\n break;\n }\n }\n }\n\n this.emitComboGroup.emit({\n inputComboGroup: this.comboGroups,\n isValid: this.IsComboGroupValid,\n });\n }\n\n this.showFixedItemButton();\n }\n\n nullifySelections() {\n this.currentComboGroup = null;\n this.currentModifier = null;\n this.currentVariation = null;\n }\n\n onItemSelect(index: number) {\n this.comboGroupSelectedIndex = index;\n\n this.nullifySelections();\n this.currentComboGroup = this.comboGroups[index];\n\n this.IsComboGroupSelected = true;\n this.isVariationSelected = false;\n this.isModifierSelected = false;\n\n this.scrollToCard();\n this.checkItemValid();\n }\n\n parentChangeItem(comboGroup: ComboGroupV2) {\n this.comboGroups[this.comboGroupSelectedIndex] = comboGroup;\n // 50 millisecond delay to allow user to see selection\n setTimeout(() => {\n const groupSelectedItem = CommonFunctions.getParentCountItem(comboGroup);\n if (comboGroup.max == groupSelectedItem) {\n this.onNextClick();\n }\n }, 50);\n\n this.checkItemValid();\n }\n\n //combo Related methods end\n\n getSelectedIngredientArrayByModifier(modifier: ModifierV2) {\n return modifier.Ingredients.filter((x) => x.IsSelected).slice(0, 6);\n }\n\n getSelectedItemArrayByComboGroup(comboGroup: ComboGroupV2) {\n return comboGroup.Items.filter((x) => x.isSelected).slice(0, 6);\n }\n\n subGroupIngredientChange(modifier: ModifierV2) {\n const selectedModifier = this.modifiers[this.modifierSelectedIndex];\n\n const parentCount = CommonFunctions.getSelectedIngredientCount(modifier);\n\n if (parentCount == 0) {\n modifier.IsSelected = false;\n }\n\n for (let i = 0; i < selectedModifier.Ingredients.length; i++) {\n const ing = selectedModifier.Ingredients[i];\n\n if (ing.IsModifier) {\n let mod = ing as ModifierV2;\n\n if (mod.IsSubGroup) {\n mod = modifier;\n }\n }\n }\n\n this.checkModifierValid();\n }\n\n rules = \"\"\n isRequired = false;\n isCompleted = false;\n getModifierRules() {\n let modifier = this.modifiers[this.modifierSelectedIndex];\n if (!this.isAggregate) {\n if (modifier && modifier.rule != '') {\n this.rules = modifier.rule;\n this.isRequired = false;\n this.isCompleted = false;\n } else {\n this.isRequired = false;\n this.isCompleted = false;\n this.rules = '';\n }\n } else {\n const selectedIngredients = CommonFunctions.getOnlySelectedIngredientCount(modifier);\n if (selectedIngredients > 0) {\n if (modifier.UseAdvancedModifierQuantitySettings == 'True') {\n this.showAggregateRule = true;\n }\n if (modifier.countAggregate <= modifier.MaxAggregateQty\n && modifier.countAggregate >= modifier.MinAggregateQty) {\n this.rules = 'Complete'\n this.isRequired = false;\n this.isCompleted = true;\n } else {\n this.rules = 'Required';\n this.isCompleted = false;\n this.isRequired = true;\n }\n\n } else {\n if (modifier.rule != '') {\n this.rules = modifier.rule;\n this.isRequired = false;\n this.isCompleted = false;\n } else {\n this.rules = '';\n this.isRequired = false;\n this.isCompleted = false;\n }\n }\n }\n }\n}\n","\n
\n \n
\n
0\">\n \n
\n
\n
\n \n
{{requiredText|uppercase}}
\n
\n\n \n
\n\n
\n