{"version":3,"file":"chillnn-abr-core-Du9DJHs0.js","sources":["../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/type.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/isJsonParseExecutable.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/class/ChillnnError.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/class/ChillnnErrorForServer.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/pattern/observer.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/pattern/debounce.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/node_modules/buffer/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/cryptoUtil.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/pattern/throttle.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/pattern/decorator.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/compare.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/dateUtil.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/getI18nString.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/getUniqueID.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/HTMLUtil.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/isInteger.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/number.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/range.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/sleep.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/stringConvert.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/util/stringUtil.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/common/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/base.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/repository/companyMastRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/repository/imageMastRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/repository/paymentSummaryRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/repository/receiptMastRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/repository/userMastHostRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/repository/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/memoryLeakHandler.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/adaptor/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/companyMastRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/imageMastRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/paymentAchievementRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/paymentSummaryRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/receiptMastRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/userMastHostRepository.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/repository/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/base.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/companyMast.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/paymentAchivement.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/paymentSummary.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/receiptMast.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/userMastHost.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/resource/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/entity/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/host/interactor/companyInteractor.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/host/interactor/imageInteractor.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/host/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/guest/interactor/receiptInteractor.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/guest/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/admin/interactor/paymentSummaryInteractor.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/admin/interactor/imageInteractor.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/users/admin/index.js","../../../../node_modules/@CHILLNN-Inc/chillnn-abr-core/dist/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserTypeHost = exports.TimeZone = exports.SaleTypeForTerm = exports.ResourceType = exports.QuestionType = exports.PaymentType = exports.PaymentStatus = exports.PaymentMethod = exports.PaymentCancelFeeType = exports.PaymentAgencyType = exports.LocalPaymentCancelStatus = exports.LangCode = exports.ErrorCode = exports.DiscountType = exports.DayOfTheWeek = exports.CurrencyType = void 0;\nvar CurrencyType;\n(function (CurrencyType) {\n CurrencyType[\"jpy\"] = \"jpy\";\n CurrencyType[\"usd\"] = \"usd\";\n})(CurrencyType || (exports.CurrencyType = CurrencyType = {}));\nvar DayOfTheWeek;\n(function (DayOfTheWeek) {\n DayOfTheWeek[\"FRI\"] = \"FRI\";\n DayOfTheWeek[\"MON\"] = \"MON\";\n DayOfTheWeek[\"SAT\"] = \"SAT\";\n DayOfTheWeek[\"SUN\"] = \"SUN\";\n DayOfTheWeek[\"THU\"] = \"THU\";\n DayOfTheWeek[\"TUE\"] = \"TUE\";\n DayOfTheWeek[\"WED\"] = \"WED\";\n})(DayOfTheWeek || (exports.DayOfTheWeek = DayOfTheWeek = {}));\nvar DiscountType;\n(function (DiscountType) {\n DiscountType[\"ratio\"] = \"ratio\";\n DiscountType[\"static\"] = \"static\";\n})(DiscountType || (exports.DiscountType = DiscountType = {}));\nvar ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"beds24_400_roomIdNotDefined\"] = \"beds24_400_roomIdNotDefined\";\n ErrorCode[\"beds24_404_roomNotFound\"] = \"beds24_404_roomNotFound\";\n ErrorCode[\"beds24_auth_unAuthorize\"] = \"beds24_auth_unAuthorize\";\n ErrorCode[\"chillnn_400_hotelIDIsNotSet\"] = \"chillnn_400_hotelIDIsNotSet\";\n ErrorCode[\"chillnn_400_lastDtIsPassed\"] = \"chillnn_400_lastDtIsPassed\";\n ErrorCode[\"chillnn_400_startDtIsOverEndDt\"] = \"chillnn_400_startDtIsOverEndDt\";\n ErrorCode[\"chillnn_400_startDtIsPassed\"] = \"chillnn_400_startDtIsPassed\";\n ErrorCode[\"chillnn_401_notSignIn\"] = \"chillnn_401_notSignIn\";\n ErrorCode[\"chillnn_404_notFound\"] = \"chillnn_404_notFound\";\n ErrorCode[\"chillnn_500_systemError\"] = \"chillnn_500_systemError\";\n ErrorCode[\"chillnn_auth_confirmationCodeIsNotCorrect\"] = \"chillnn_auth_confirmationCodeIsNotCorrect\";\n ErrorCode[\"chillnn_auth_emailIsAlreadyRegistered\"] = \"chillnn_auth_emailIsAlreadyRegistered\";\n ErrorCode[\"chillnn_auth_emailIsNotRegistered\"] = \"chillnn_auth_emailIsNotRegistered\";\n ErrorCode[\"chillnn_auth_emailOrPasswordIsNotCorrect\"] = \"chillnn_auth_emailOrPasswordIsNotCorrect\";\n ErrorCode[\"chillnn_auth_notConfirmed\"] = \"chillnn_auth_notConfirmed\";\n ErrorCode[\"chillnn_auth_passwordIsNotCorrect\"] = \"chillnn_auth_passwordIsNotCorrect\";\n ErrorCode[\"chillnn_auth_unAuthorize\"] = \"chillnn_auth_unAuthorize\";\n ErrorCode[\"chillnn_auth_userNotFound\"] = \"chillnn_auth_userNotFound\";\n ErrorCode[\"chillnn_billing_basicPlanPassedButProTicketIssueFaild\"] = \"chillnn_billing_basicPlanPassedButProTicketIssueFaild\";\n ErrorCode[\"chillnn_billing_basicPlanUpdateAndProTicketIssueFaild\"] = \"chillnn_billing_basicPlanUpdateAndProTicketIssueFaild\";\n ErrorCode[\"chillnn_billing_basicPlanUpdateFaild\"] = \"chillnn_billing_basicPlanUpdateFaild\";\n ErrorCode[\"chillnn_billing_proTicketIssueFaild\"] = \"chillnn_billing_proTicketIssueFaild\";\n ErrorCode[\"chillnn_check_reservation_additionalFee_totalPrice_doNotMatch\"] = \"chillnn_check_reservation_additionalFee_totalPrice_doNotMatch\";\n ErrorCode[\"chillnn_check_reservation_containsChildrenOfInaccessibleAge\"] = \"chillnn_check_reservation_containsChildrenOfInaccessibleAge\";\n ErrorCode[\"chillnn_check_reservation_discount_totalPrice_doNotMatch\"] = \"chillnn_check_reservation_discount_totalPrice_doNotMatch\";\n ErrorCode[\"chillnn_check_reservation_option_requiredOption_notSelected\"] = \"chillnn_check_reservation_option_requiredOption_notSelected\";\n ErrorCode[\"chillnn_check_reservation_option_totalPrice_doNotMatch\"] = \"chillnn_check_reservation_option_totalPrice_doNotMatch\";\n ErrorCode[\"chillnn_check_reservation_plan_totalPrice_doNotMatch\"] = \"chillnn_check_reservation_plan_totalPrice_doNotMatch\";\n ErrorCode[\"chillnn_check_reservation_room_totalPrice_doNotMatch\"] = \"chillnn_check_reservation_room_totalPrice_doNotMatch\";\n ErrorCode[\"chillnn_check_reservation_totalPrice_doNotMatch\"] = \"chillnn_check_reservation_totalPrice_doNotMatch\";\n ErrorCode[\"chillnn_discount_discountCodeDuplicate\"] = \"chillnn_discount_discountCodeDuplicate\";\n ErrorCode[\"chillnn_discount_invalid\"] = \"chillnn_discount_invalid\";\n ErrorCode[\"chillnn_discount_notExist\"] = \"chillnn_discount_notExist\";\n ErrorCode[\"chillnn_discount_notUnavailableDate\"] = \"chillnn_discount_notUnavailableDate\";\n ErrorCode[\"chillnn_discount_priceLimit\"] = \"chillnn_discount_priceLimit\";\n ErrorCode[\"chillnn_discount_ratioIsInvalid\"] = \"chillnn_discount_ratioIsInvalid\";\n ErrorCode[\"chillnn_discount_ratioNotSet\"] = \"chillnn_discount_ratioNotSet\";\n ErrorCode[\"chillnn_discount_staticNotSet\"] = \"chillnn_discount_staticNotSet\";\n ErrorCode[\"chillnn_giftvoucher_notGuestMailAddress\"] = \"chillnn_giftvoucher_notGuestMailAddress\";\n ErrorCode[\"chillnn_giftvoucher_notGuestName\"] = \"chillnn_giftvoucher_notGuestName\";\n ErrorCode[\"chillnn_hotelBillingPaymentMast_notCorrect\"] = \"chillnn_hotelBillingPaymentMast_notCorrect\";\n ErrorCode[\"chillnn_hotelBillingPaymentMast_validDtEndIsInvalid\"] = \"chillnn_hotelBillingPaymentMast_validDtEndIsInvalid\";\n ErrorCode[\"chillnn_hotelPolicy_bankInfoNotFilled\"] = \"chillnn_hotelPolicy_bankInfoNotFilled\";\n ErrorCode[\"chillnn_hotelPolicy_creditCardNotRegistered\"] = \"chillnn_hotelPolicy_creditCardNotRegistered\";\n ErrorCode[\"chillnn_hotelPolicy_kidsPolicyNotCorrect\"] = \"chillnn_hotelPolicy_kidsPolicyNotCorrect\";\n ErrorCode[\"chillnn_hotel_branding_domainAlreadyRegistered\"] = \"chillnn_hotel_branding_domainAlreadyRegistered\";\n ErrorCode[\"chillnn_hotel_fraudAccountUpgrade\"] = \"chillnn_hotel_fraudAccountUpgrade\";\n ErrorCode[\"chillnn_hotel_notDeleted\"] = \"chillnn_hotel_notDeleted\";\n ErrorCode[\"chillnn_hotel_notInSale\"] = \"chillnn_hotel_notInSale\";\n ErrorCode[\"chillnn_option_alreadyDeleted\"] = \"chillnn_option_alreadyDeleted\";\n ErrorCode[\"chillnn_option_dateNotSet\"] = \"chillnn_option_dateNotSet\";\n ErrorCode[\"chillnn_option_notAnsweredRequiredQuestion\"] = \"chillnn_option_notAnsweredRequiredQuestion\";\n ErrorCode[\"chillnn_option_overMaxBuyableNumPerTarget\"] = \"chillnn_option_overMaxBuyableNumPerTarget\";\n ErrorCode[\"chillnn_option_stockIsNotSufficient\"] = \"chillnn_option_stockIsNotSufficient\";\n ErrorCode[\"chillnn_payment_agentNotExist\"] = \"chillnn_payment_agentNotExist\";\n ErrorCode[\"chillnn_payment_capturedFaild\"] = \"chillnn_payment_capturedFaild\";\n ErrorCode[\"chillnn_payment_currencyNotSupport\"] = \"chillnn_payment_currencyNotSupport\";\n ErrorCode[\"chillnn_payment_freeIsNotAvailable\"] = \"chillnn_payment_freeIsNotAvailable\";\n ErrorCode[\"chillnn_payment_tokenNotFound\"] = \"chillnn_payment_tokenNotFound\";\n ErrorCode[\"chillnn_plan_alreadyDeleted\"] = \"chillnn_plan_alreadyDeleted\";\n ErrorCode[\"chillnn_plan_notInSale\"] = \"chillnn_plan_notInSale\";\n ErrorCode[\"chillnn_plan_requiredMinGroup\"] = \"chillnn_plan_requiredMinGroup\";\n ErrorCode[\"chillnn_plan_stockIsNotSufficient\"] = \"chillnn_plan_stockIsNotSufficient\";\n ErrorCode[\"chillnn_plan_unCancelable\"] = \"chillnn_plan_unCancelable\";\n ErrorCode[\"chillnn_plan_unChangeable\"] = \"chillnn_plan_unChangeable\";\n ErrorCode[\"chillnn_referralCode_invalid\"] = \"chillnn_referralCode_invalid\";\n ErrorCode[\"chillnn_reservation_alreadyApplyed\"] = \"chillnn_reservation_alreadyApplyed\";\n ErrorCode[\"chillnn_reservation_alreadyCanceled\"] = \"chillnn_reservation_alreadyCanceled\";\n ErrorCode[\"chillnn_reservation_busy\"] = \"chillnn_reservation_busy\";\n ErrorCode[\"chillnn_reservation_dateNotSet\"] = \"chillnn_reservation_dateNotSet\";\n ErrorCode[\"chillnn_reservation_dateRangeTooLong\"] = \"chillnn_reservation_dateRangeTooLong\";\n ErrorCode[\"chillnn_reservation_dateRangeTooShort\"] = \"chillnn_reservation_dateRangeTooShort\";\n ErrorCode[\"chillnn_reservation_exceedActualCancelPrice\"] = \"chillnn_reservation_exceedActualCancelPrice\";\n ErrorCode[\"chillnn_reservation_groupNotExist\"] = \"chillnn_reservation_groupNotExist\";\n ErrorCode[\"chillnn_reservation_groupNotSet\"] = \"chillnn_reservation_groupNotSet\";\n ErrorCode[\"chillnn_reservation_guestInfoIsNotFilled\"] = \"chillnn_reservation_guestInfoIsNotFilled\";\n ErrorCode[\"chillnn_reservation_guestInfoNotChangeable\"] = \"chillnn_reservation_guestInfoNotChangeable\";\n ErrorCode[\"chillnn_reservation_localPayment_guestNotPaidCancelPrice\"] = \"chillnn_reservation_localPayment_guestNotPaidCancelPrice\";\n ErrorCode[\"chillnn_reservation_notExist\"] = \"chillnn_reservation_notExist\";\n ErrorCode[\"chillnn_reservation_notInitiated\"] = \"chillnn_reservation_notInitiated\";\n ErrorCode[\"chillnn_reservation_notValid\"] = \"chillnn_reservation_notValid\";\n ErrorCode[\"chillnn_reservation_paymentMethodNotChangeable\"] = \"chillnn_reservation_paymentMethodNotChangeable\";\n ErrorCode[\"chillnn_reservation_request_alreadyReplied\"] = \"chillnn_reservation_request_alreadyReplied\";\n ErrorCode[\"chillnn_reservation_request_notSupportedStatus\"] = \"chillnn_reservation_request_notSupportedStatus\";\n ErrorCode[\"chillnn_reservation_request_not_updatable\"] = \"chillnn_reservation_request_not_updatable\";\n ErrorCode[\"chillnn_reservation_reservedOptionNotFound\"] = \"chillnn_reservation_reservedOptionNotFound\";\n ErrorCode[\"chillnn_reservation_reservedRoomNotFound\"] = \"chillnn_reservation_reservedRoomNotFound\";\n ErrorCode[\"chillnn_reservation_roomNotSufficient\"] = \"chillnn_reservation_roomNotSufficient\";\n ErrorCode[\"chillnn_reservation_systemMasterRefunded\"] = \"chillnn_reservation_systemMasterRefunded\";\n ErrorCode[\"chillnn_reservation_uncancelable\"] = \"chillnn_reservation_uncancelable\";\n ErrorCode[\"chillnn_reservation_unchangeable\"] = \"chillnn_reservation_unchangeable\";\n ErrorCode[\"chillnn_reservation_voucherReservationIsNotCancelable\"] = \"chillnn_reservation_voucherReservationIsNotCancelable\";\n ErrorCode[\"chillnn_room_alreadyDeleted\"] = \"chillnn_room_alreadyDeleted\";\n ErrorCode[\"chillnn_room_notExistTargetGroup\"] = \"chillnn_room_notExistTargetGroup\";\n ErrorCode[\"chillnn_room_overCapacityAdult\"] = \"chillnn_room_overCapacityAdult\";\n ErrorCode[\"chillnn_room_stockIsNotSufficient\"] = \"chillnn_room_stockIsNotSufficient\";\n ErrorCode[\"chillnn_snack_domainAlreadyRegistered\"] = \"chillnn_snack_domainAlreadyRegistered\";\n ErrorCode[\"chillnn_studio_slugAlreadyInUse\"] = \"chillnn_studio_slugAlreadyInUse\";\n ErrorCode[\"chillnn_studio_slugNotValid\"] = \"chillnn_studio_slugNotValid\";\n ErrorCode[\"chillnn_tll_reservation_invalid\"] = \"chillnn_tll_reservation_invalid\";\n ErrorCode[\"chillnn_userECReceipt_invalid\"] = \"chillnn_userECReceipt_invalid\";\n ErrorCode[\"chillnn_voucher_alreadyUsed\"] = \"chillnn_voucher_alreadyUsed\";\n ErrorCode[\"chillnn_voucher_cinStartOrCinEndIsNotSet\"] = \"chillnn_voucher_cinStartOrCinEndIsNotSet\";\n ErrorCode[\"chillnn_voucher_giftWrongPassword\"] = \"chillnn_voucher_giftWrongPassword\";\n ErrorCode[\"chillnn_voucher_intervalNotSet\"] = \"chillnn_voucher_intervalNotSet\";\n ErrorCode[\"chillnn_voucher_notAvailablePrice\"] = \"chillnn_voucher_notAvailablePrice\";\n ErrorCode[\"chillnn_voucher_notInSale\"] = \"chillnn_voucher_notInSale\";\n ErrorCode[\"chillnn_voucher_notInUse\"] = \"chillnn_voucher_notInUse\";\n ErrorCode[\"chillnn_voucher_notSufficientStock\"] = \"chillnn_voucher_notSufficientStock\";\n ErrorCode[\"chillnn_voucher_notUsed\"] = \"chillnn_voucher_notUsed\";\n ErrorCode[\"chillnn_voucher_outOfDate\"] = \"chillnn_voucher_outOfDate\";\n ErrorCode[\"chillnn_voucher_saleEndIsEarlierThanCinEnd\"] = \"chillnn_voucher_saleEndIsEarlierThanCinEnd\";\n ErrorCode[\"chillnn_voucher_saleStartOrSaleEndIsNotSet\"] = \"chillnn_voucher_saleStartOrSaleEndIsNotSet\";\n ErrorCode[\"payjp_already_canceled\"] = \"payjp_already_canceled\";\n ErrorCode[\"payjp_already_captured\"] = \"payjp_already_captured\";\n ErrorCode[\"payjp_already_exist_id\"] = \"payjp_already_exist_id\";\n ErrorCode[\"payjp_already_have_card\"] = \"payjp_already_have_card\";\n ErrorCode[\"payjp_already_have_the_same_card\"] = \"payjp_already_have_the_same_card\";\n ErrorCode[\"payjp_already_paused\"] = \"payjp_already_paused\";\n ErrorCode[\"payjp_already_refunded\"] = \"payjp_already_refunded\";\n ErrorCode[\"payjp_already_subscribed\"] = \"payjp_already_subscribed\";\n ErrorCode[\"payjp_apple_pay_disabled_in_livemode\"] = \"payjp_apple_pay_disabled_in_livemode\";\n ErrorCode[\"payjp_billing_day_for_non_monthly_plan\"] = \"payjp_billing_day_for_non_monthly_plan\";\n ErrorCode[\"payjp_cannot_change_prorate_status\"] = \"payjp_cannot_change_prorate_status\";\n ErrorCode[\"payjp_cant_capture_refunded_charge\"] = \"payjp_cant_capture_refunded_charge\";\n ErrorCode[\"payjp_cant_reauth_refunded_charge\"] = \"payjp_cant_reauth_refunded_charge\";\n ErrorCode[\"payjp_capture_amount_gt_net\"] = \"payjp_capture_amount_gt_net\";\n ErrorCode[\"payjp_card_declined\"] = \"payjp_card_declined\";\n ErrorCode[\"payjp_charge_expired\"] = \"payjp_charge_expired\";\n ErrorCode[\"payjp_doesnt_have_card\"] = \"payjp_doesnt_have_card\";\n ErrorCode[\"payjp_dont_has_this_card\"] = \"payjp_dont_has_this_card\";\n ErrorCode[\"payjp_exist_subscribers\"] = \"payjp_exist_subscribers\";\n ErrorCode[\"payjp_expired_card\"] = \"payjp_expired_card\";\n ErrorCode[\"payjp_failed_payment\"] = \"payjp_failed_payment\";\n ErrorCode[\"payjp_incorrect_card_data\"] = \"payjp_incorrect_card_data\";\n ErrorCode[\"payjp_invalid_access_mode\"] = \"payjp_invalid_access_mode\";\n ErrorCode[\"payjp_invalid_address_city\"] = \"payjp_invalid_address_city\";\n ErrorCode[\"payjp_invalid_address_line\"] = \"payjp_invalid_address_line\";\n ErrorCode[\"payjp_invalid_address_state\"] = \"payjp_invalid_address_state\";\n ErrorCode[\"payjp_invalid_address_zip\"] = \"payjp_invalid_address_zip\";\n ErrorCode[\"payjp_invalid_amount\"] = \"payjp_invalid_amount\";\n ErrorCode[\"payjp_invalid_amount_to_not_captured\"] = \"payjp_invalid_amount_to_not_captured\";\n ErrorCode[\"payjp_invalid_api_key\"] = \"payjp_invalid_api_key\";\n ErrorCode[\"payjp_invalid_apple_pay_token\"] = \"payjp_invalid_apple_pay_token\";\n ErrorCode[\"payjp_invalid_bank_account_holder_name\"] = \"payjp_invalid_bank_account_holder_name\";\n ErrorCode[\"payjp_invalid_bank_account_number\"] = \"payjp_invalid_bank_account_number\";\n ErrorCode[\"payjp_invalid_bank_account_type\"] = \"payjp_invalid_bank_account_type\";\n ErrorCode[\"payjp_invalid_bank_branch_code\"] = \"payjp_invalid_bank_branch_code\";\n ErrorCode[\"payjp_invalid_bank_code\"] = \"payjp_invalid_bank_code\";\n ErrorCode[\"payjp_invalid_billing_day\"] = \"payjp_invalid_billing_day\";\n ErrorCode[\"payjp_invalid_boolean\"] = \"payjp_invalid_boolean\";\n ErrorCode[\"payjp_invalid_business_type\"] = \"payjp_invalid_business_type\";\n ErrorCode[\"payjp_invalid_card\"] = \"payjp_invalid_card\";\n ErrorCode[\"payjp_invalid_card_address_city\"] = \"payjp_invalid_card_address_city\";\n ErrorCode[\"payjp_invalid_card_address_line\"] = \"payjp_invalid_card_address_line\";\n ErrorCode[\"payjp_invalid_card_address_state\"] = \"payjp_invalid_card_address_state\";\n ErrorCode[\"payjp_invalid_card_address_zip\"] = \"payjp_invalid_card_address_zip\";\n ErrorCode[\"payjp_invalid_card_country\"] = \"payjp_invalid_card_country\";\n ErrorCode[\"payjp_invalid_card_name\"] = \"payjp_invalid_card_name\";\n ErrorCode[\"payjp_invalid_character\"] = \"payjp_invalid_character\";\n ErrorCode[\"payjp_invalid_charge_type\"] = \"payjp_invalid_charge_type\";\n ErrorCode[\"payjp_invalid_country\"] = \"payjp_invalid_country\";\n ErrorCode[\"payjp_invalid_currency\"] = \"payjp_invalid_currency\";\n ErrorCode[\"payjp_invalid_customer\"] = \"payjp_invalid_customer\";\n ErrorCode[\"payjp_invalid_cvc\"] = \"payjp_invalid_cvc\";\n ErrorCode[\"payjp_invalid_email\"] = \"payjp_invalid_email\";\n ErrorCode[\"payjp_invalid_expiration_date\"] = \"payjp_invalid_expiration_date\";\n ErrorCode[\"payjp_invalid_expiry_days\"] = \"payjp_invalid_expiry_days\";\n ErrorCode[\"payjp_invalid_expiry_month\"] = \"payjp_invalid_expiry_month\";\n ErrorCode[\"payjp_invalid_expiry_year\"] = \"payjp_invalid_expiry_year\";\n ErrorCode[\"payjp_invalid_file\"] = \"payjp_invalid_file\";\n ErrorCode[\"payjp_invalid_file_id\"] = \"payjp_invalid_file_id\";\n ErrorCode[\"payjp_invalid_flexible_id\"] = \"payjp_invalid_flexible_id\";\n ErrorCode[\"payjp_invalid_format_string\"] = \"payjp_invalid_format_string\";\n ErrorCode[\"payjp_invalid_gender\"] = \"payjp_invalid_gender\";\n ErrorCode[\"payjp_invalid_id\"] = \"payjp_invalid_id\";\n ErrorCode[\"payjp_invalid_interval\"] = \"payjp_invalid_interval\";\n ErrorCode[\"payjp_invalid_key_type\"] = \"payjp_invalid_key_type\";\n ErrorCode[\"payjp_invalid_metadata_key\"] = \"payjp_invalid_metadata_key\";\n ErrorCode[\"payjp_invalid_metadata_value\"] = \"payjp_invalid_metadata_value\";\n ErrorCode[\"payjp_invalid_number\"] = \"payjp_invalid_number\";\n ErrorCode[\"payjp_invalid_numerical_value\"] = \"payjp_invalid_numerical_value\";\n ErrorCode[\"payjp_invalid_param_key\"] = \"payjp_invalid_param_key\";\n ErrorCode[\"payjp_invalid_param_length\"] = \"payjp_invalid_param_length\";\n ErrorCode[\"payjp_invalid_phone\"] = \"payjp_invalid_phone\";\n ErrorCode[\"payjp_invalid_plan\"] = \"payjp_invalid_plan\";\n ErrorCode[\"payjp_invalid_plan_amount\"] = \"payjp_invalid_plan_amount\";\n ErrorCode[\"payjp_invalid_product_type\"] = \"payjp_invalid_product_type\";\n ErrorCode[\"payjp_invalid_querystring\"] = \"payjp_invalid_querystring\";\n ErrorCode[\"payjp_invalid_refund_amount\"] = \"payjp_invalid_refund_amount\";\n ErrorCode[\"payjp_invalid_refund_reason\"] = \"payjp_invalid_refund_reason\";\n ErrorCode[\"payjp_invalid_string_length\"] = \"payjp_invalid_string_length\";\n ErrorCode[\"payjp_invalid_timestamp\"] = \"payjp_invalid_timestamp\";\n ErrorCode[\"payjp_invalid_timing\"] = \"payjp_invalid_timing\";\n ErrorCode[\"payjp_invalid_trial_days\"] = \"payjp_invalid_trial_days\";\n ErrorCode[\"payjp_invalid_trial_end\"] = \"payjp_invalid_trial_end\";\n ErrorCode[\"payjp_invalid_url\"] = \"payjp_invalid_url\";\n ErrorCode[\"payjp_missing_card\"] = \"payjp_missing_card\";\n ErrorCode[\"payjp_missing_param\"] = \"payjp_missing_param\";\n ErrorCode[\"payjp_no_allowed_param\"] = \"payjp_no_allowed_param\";\n ErrorCode[\"payjp_no_api_key\"] = \"payjp_no_api_key\";\n ErrorCode[\"payjp_no_param\"] = \"payjp_no_param\";\n ErrorCode[\"payjp_no_payment_method\"] = \"payjp_no_payment_method\";\n ErrorCode[\"payjp_not_activated_account\"] = \"payjp_not_activated_account\";\n ErrorCode[\"payjp_not_allowed_method\"] = \"payjp_not_allowed_method\";\n ErrorCode[\"payjp_not_found\"] = \"payjp_not_found\";\n ErrorCode[\"payjp_payjp_wrong\"] = \"payjp_payjp_wrong\";\n ErrorCode[\"payjp_payment_method_duplicate\"] = \"payjp_payment_method_duplicate\";\n ErrorCode[\"payjp_payment_method_duplicate_including_customer\"] = \"payjp_payment_method_duplicate_including_customer\";\n ErrorCode[\"payjp_pg_wrong\"] = \"payjp_pg_wrong\";\n ErrorCode[\"payjp_platform_fee_limit\"] = \"payjp_platform_fee_limit\";\n ErrorCode[\"payjp_processing_error\"] = \"payjp_processing_error\";\n ErrorCode[\"payjp_refund_amount_gt_net\"] = \"payjp_refund_amount_gt_net\";\n ErrorCode[\"payjp_subscription_worked\"] = \"payjp_subscription_worked\";\n ErrorCode[\"payjp_test_card_on_livemode\"] = \"payjp_test_card_on_livemode\";\n ErrorCode[\"payjp_token_already_used\"] = \"payjp_token_already_used\";\n ErrorCode[\"payjp_too_many_metadata_keys\"] = \"payjp_too_many_metadata_keys\";\n ErrorCode[\"payjp_too_many_test_request\"] = \"payjp_too_many_test_request\";\n ErrorCode[\"payjp_unacceptable_brand\"] = \"payjp_unacceptable_brand\";\n ErrorCode[\"payjp_unnecessary_expiry_days\"] = \"payjp_unnecessary_expiry_days\";\n})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));\nvar LangCode;\n(function (LangCode) {\n LangCode[\"default\"] = \"default\";\n LangCode[\"en\"] = \"en\";\n LangCode[\"ja\"] = \"ja\";\n})(LangCode || (exports.LangCode = LangCode = {}));\nvar LocalPaymentCancelStatus;\n(function (LocalPaymentCancelStatus) {\n LocalPaymentCancelStatus[\"CAPTURED\"] = \"CAPTURED\";\n LocalPaymentCancelStatus[\"PRE_CAPTURED\"] = \"PRE_CAPTURED\";\n})(LocalPaymentCancelStatus || (exports.LocalPaymentCancelStatus = LocalPaymentCancelStatus = {}));\nvar PaymentAgencyType;\n(function (PaymentAgencyType) {\n PaymentAgencyType[\"MOCK_FOR_FRONT\"] = \"MOCK_FOR_FRONT\";\n PaymentAgencyType[\"PAYJP\"] = \"PAYJP\";\n PaymentAgencyType[\"payjp\"] = \"payjp\";\n})(PaymentAgencyType || (exports.PaymentAgencyType = PaymentAgencyType = {}));\nvar PaymentCancelFeeType;\n(function (PaymentCancelFeeType) {\n PaymentCancelFeeType[\"actual\"] = \"actual\";\n PaymentCancelFeeType[\"initial\"] = \"initial\";\n})(PaymentCancelFeeType || (exports.PaymentCancelFeeType = PaymentCancelFeeType = {}));\nvar PaymentMethod;\n(function (PaymentMethod) {\n PaymentMethod[\"CREDIT\"] = \"CREDIT\";\n PaymentMethod[\"FREE\"] = \"FREE\";\n PaymentMethod[\"LOCAL\"] = \"LOCAL\";\n PaymentMethod[\"TEST\"] = \"TEST\";\n})(PaymentMethod || (exports.PaymentMethod = PaymentMethod = {}));\nvar PaymentStatus;\n(function (PaymentStatus) {\n PaymentStatus[\"AUTHORIZED\"] = \"AUTHORIZED\";\n PaymentStatus[\"CAPTURED\"] = \"CAPTURED\";\n PaymentStatus[\"PRE_AUTHORIZED\"] = \"PRE_AUTHORIZED\";\n PaymentStatus[\"REFUNDED\"] = \"REFUNDED\";\n})(PaymentStatus || (exports.PaymentStatus = PaymentStatus = {}));\nvar PaymentType;\n(function (PaymentType) {\n PaymentType[\"BILLING\"] = \"BILLING\";\n PaymentType[\"BILLING_BASIC\"] = \"BILLING_BASIC\";\n PaymentType[\"EC\"] = \"EC\";\n PaymentType[\"IMMEDIATE\"] = \"IMMEDIATE\";\n PaymentType[\"RESERVATION\"] = \"RESERVATION\";\n})(PaymentType || (exports.PaymentType = PaymentType = {}));\nvar QuestionType;\n(function (QuestionType) {\n QuestionType[\"CHECK\"] = \"CHECK\";\n QuestionType[\"FREE\"] = \"FREE\";\n QuestionType[\"RADIO\"] = \"RADIO\";\n QuestionType[\"SELECT\"] = \"SELECT\";\n})(QuestionType || (exports.QuestionType = QuestionType = {}));\nvar ResourceType;\n(function (ResourceType) {\n ResourceType[\"CompanyMast\"] = \"CompanyMast\";\n ResourceType[\"PaymentAchivement\"] = \"PaymentAchivement\";\n ResourceType[\"PaymentSummary\"] = \"PaymentSummary\";\n ResourceType[\"ReceiptMast\"] = \"ReceiptMast\";\n ResourceType[\"UserMastHost\"] = \"UserMastHost\";\n ResourceType[\"VoucherMast\"] = \"VoucherMast\";\n})(ResourceType || (exports.ResourceType = ResourceType = {}));\nvar SaleTypeForTerm;\n(function (SaleTypeForTerm) {\n SaleTypeForTerm[\"ALWAYS\"] = \"ALWAYS\";\n SaleTypeForTerm[\"LIMITED\"] = \"LIMITED\";\n})(SaleTypeForTerm || (exports.SaleTypeForTerm = SaleTypeForTerm = {}));\nvar TimeZone;\n(function (TimeZone) {\n TimeZone[\"America__New_York\"] = \"America__New_York\";\n TimeZone[\"Asia__Tokyo\"] = \"Asia__Tokyo\";\n TimeZone[\"Europe__London\"] = \"Europe__London\";\n})(TimeZone || (exports.TimeZone = TimeZone = {}));\nvar UserTypeHost;\n(function (UserTypeHost) {\n UserTypeHost[\"OWNER\"] = \"OWNER\";\n})(UserTypeHost || (exports.UserTypeHost = UserTypeHost = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isJsonParseExecutable = isJsonParseExecutable;\n/**\n * 引数をJSON.parse()できるかどうかをBooleanで返す関数\n * @param arg\n * @returns\n */\nfunction isJsonParseExecutable(arg) {\n try {\n JSON.parse(arg);\n }\n catch (err) {\n return false;\n }\n return true;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ChillnnError = void 0;\nconst type_1 = require(\"../../entity/type\");\nconst isJsonParseExecutable_1 = require(\"../util/isJsonParseExecutable\");\nclass ChillnnError extends Error {\n constructor(\n // ABR-coreで定義されたエラー\n errCode, //\n options) {\n super(errCode);\n this.isChillnnError = true;\n if ((0, isJsonParseExecutable_1.isJsonParseExecutable)(errCode)) {\n try {\n const json = JSON.parse(errCode);\n this.chillnnErrorCode = json.chillnnErrorCode;\n this.err = json.err;\n this.customErrMessage = json.customErrMessage;\n super.message = this.chillnnErrorCode;\n }\n catch (err) {\n throw new ChillnnError(type_1.ErrorCode.chillnn_500_systemError);\n }\n }\n else {\n this.chillnnErrorCode = errCode;\n this.err = options === null || options === void 0 ? void 0 : options.err;\n this.customErrMessage = options === null || options === void 0 ? void 0 : options.customErrMessage;\n }\n }\n /**\n * 引数としてcustomErrMessageを渡した場合、customErrMessageが最優先で返される。\n * customErrMessageが存在しない場合は、原則errCode(errorMessagesで定義されているもの)が返される\n * @returns\n */\n getMessage() {\n if (this.customErrMessage) {\n return this.customErrMessage;\n }\n else {\n return exports.errorMessages[this.chillnnErrorCode] || exports.errorMessages[type_1.ErrorCode.chillnn_500_systemError];\n }\n }\n}\nexports.ChillnnError = ChillnnError;\n/**\n * 良いエラーメッセージは、次のアクションまでを指示する。\n */\nexports.errorMessages = {\n // billing\n chillnn_billing_proTicketIssueFaild: {\n default: \"決済エラーにより、Proチケットの発行に失敗しました。クレジットカード情報の更新を行ってください。\",\n },\n chillnn_billing_basicPlanUpdateFaild: {\n default: \"決済エラーにより、基本プランの更新に失敗しました。クレジットカード情報の更新を行ってください。\",\n },\n chillnn_billing_basicPlanUpdateAndProTicketIssueFaild: {\n default: \"決済エラーにより、プランの更新に失敗しました。クレジットカード情報の更新を行ってください。\",\n },\n chillnn_billing_basicPlanPassedButProTicketIssueFaild: {\n default: \"カードの限度額に達しました。基本プランの更新は成功しましたが、Proチケットの発行に失敗しました。クレジットカード情報の更新を行ってください。\",\n },\n // snack\n chillnn_snack_domainAlreadyRegistered: {\n default: \"すでに登録済みのドメインです\",\n },\n // hotel branding\n chillnn_hotel_branding_domainAlreadyRegistered: {\n default: \"すでに登録済みのドメインです\",\n },\n // discount\n chillnn_discount_discountCodeDuplicate: {\n default: \"ディスカウントコードが重複しています。\",\n },\n chillnn_discount_ratioNotSet: {\n default: \"比率が入力されていません\",\n },\n chillnn_discount_ratioIsInvalid: {\n default: \"比率は0〜100の整数を入力してください。\",\n },\n chillnn_discount_staticNotSet: {\n default: \"固定値が入力されていません\",\n },\n chillnn_discount_invalid: {\n default: \"ディスカウントが利用できません\",\n },\n chillnn_discount_notExist: {\n default: \"指定されたディスカウントが期限切れか、適応不可能のプランを選択している、または存在しません。\",\n },\n chillnn_discount_notUnavailableDate: {\n default: \"指定された日程で利用不可能なディスカウントです。\",\n },\n chillnn_discount_priceLimit: {\n default: \"ディスカウント金額が上限に達しています。\",\n },\n // reservation\n chillnn_reservation_busy: {\n default: \"申し訳ございません。ただいまサーバーが大変混み合っております。時間を置いてもう一度お試しください。\",\n },\n chillnn_reservation_dateRangeTooShort: {\n default: \"予約日数が短すぎます。\",\n },\n chillnn_reservation_dateRangeTooLong: {\n default: \"予約日数が長すぎます。\",\n },\n chillnn_reservation_alreadyCanceled: {\n default: \"キャンセル済みの予約です。\",\n },\n chillnn_reservation_alreadyApplyed: {\n default: \"すでに実行された予約です。実行された予約は変更できません。\",\n },\n chillnn_reservation_groupNotExist: {\n default: \"指定されたお部屋が存在しません。\",\n },\n chillnn_reservation_guestInfoNotChangeable: {\n default: \"ゲスト情報は変更できません。\",\n },\n chillnn_reservation_reservedRoomNotFound: {\n default: \"指定のお部屋が選択されていません。\",\n },\n chillnn_reservation_reservedOptionNotFound: {\n default: \"指定のオプションが指定されていません。\",\n },\n chillnn_reservation_notExist: {\n default: \"指定の予約は存在していません。\",\n },\n chillnn_reservation_notValid: {\n default: \"入力に不正な情報がある予約です。\",\n },\n chillnn_reservation_notInitiated: {\n default: \"予約が初期化されていません。\",\n },\n chillnn_reservation_roomNotSufficient: {\n default: \"十分にお部屋が選択されていません。\",\n },\n chillnn_reservation_guestInfoIsNotFilled: {\n default: \"ゲスト情報が入力されていません。\",\n },\n chillnn_reservation_dateNotSet: {\n default: \"日付が入力されていません。\",\n },\n chillnn_reservation_groupNotSet: {\n default: \"グループが設定されていません。\",\n },\n chillnn_reservation_exceedActualCancelPrice: {\n default: \"キャンセルポリシーで規定した金額以上の徴収は行えません。\",\n },\n chillnn_reservation_voucherReservationIsNotCancelable: {\n default: \"バウチャーを利用した予約はお客様がキャンセルすることはできません。ホテルにお問い合わせください。\",\n },\n chillnn_reservation_paymentMethodNotChangeable: {\n default: \"決済方法の変更はできません。\",\n },\n chillnn_reservation_uncancelable: {\n default: \"キャンセル不可能な予約です。詳しくはホテルにお問い合わせください。\",\n },\n chillnn_reservation_unchangeable: {\n default: \"変更不可能な予約です。詳しくはホテルにお問い合わせください。\",\n },\n chillnn_reservation_systemMasterRefunded: {\n default: \"金額に変更のあった予約です。ゲスト様からのキャンセル及び予約の変更はできません。\",\n },\n chillnn_reservation_localPayment_guestNotPaidCancelPrice: {\n default: \"お客様から支払いの確認申請が来ていないため、非承認は選択できません。\",\n },\n chillnn_tll_reservation_invalid: {\n default: \"希望する予約内容の在庫がありません。予約確定時に在庫の確保が行われるため、操作中に在庫がなくなる可能性があります。\",\n },\n // check reservation\n chillnn_check_reservation_totalPrice_doNotMatch: {\n default: \"予約更新中に「合計料金」に関するエラーが発生しました。お手数おかけして大変申し訳ございません。問合せ画面より、お問い合わせください。\",\n },\n chillnn_check_reservation_additionalFee_totalPrice_doNotMatch: {\n default: \"予約更新中に「基本料金」に関するエラーが発生しました。お手数おかけして大変申し訳ございません。お問合せ画面より、お問い合わせください。\",\n },\n chillnn_check_reservation_discount_totalPrice_doNotMatch: {\n default: \"予約更新中に「ディスカウント」に関するエラーが発生しました。お手数おかけして大変申し訳ございません。お問合せ画面より、お問い合わせください。\",\n },\n chillnn_check_reservation_option_requiredOption_notSelected: {\n default: \"必須のオプションが選択されていません。必須のオプションをご選択ください。\",\n },\n chillnn_check_reservation_option_totalPrice_doNotMatch: {\n default: \"予約更新中に「オプション」に関するエラーが発生しました。お手数おかけして大変申し訳ございません。お問合せ画面より、お問い合わせください。\",\n },\n chillnn_check_reservation_plan_totalPrice_doNotMatch: {\n default: \"予約更新中に「プラン」に関するエラーが発生しました。お手数おかけして大変申し訳ございません。お問合せ画面より、お問い合わせください。\",\n },\n chillnn_check_reservation_room_totalPrice_doNotMatch: {\n default: \"予約更新中に「お部屋」に関するエラーが発生しました。お手数おかけして大変申し訳ございません。お問合せ画面より、お問い合わせください。\",\n },\n chillnn_check_reservation_containsChildrenOfInaccessibleAge: {\n default: \"利用不可に設定している年齢のお子様が含まれています。予約内容をもう一度ご確認ください。\",\n },\n // reservation request\n chillnn_reservation_request_alreadyReplied: {\n default: \"このリクエストは既に対応済みです。\",\n },\n chillnn_reservation_request_notSupportedStatus: {\n default: \"不正なリクエスト変更です。\",\n },\n chillnn_reservation_request_not_updatable: {\n default: \"申請予約は、申請内容を変更できません。\",\n },\n // hotel\n chillnn_hotel_notInSale: {\n default: \"ホテルの販売を開始していません。\",\n },\n chillnn_hotel_fraudAccountUpgrade: {\n default: \"不正なアカウントのアップグレードをしています。\",\n },\n chillnn_hotel_notDeleted: {\n default: \"ホテルが削除されていません\",\n },\n // hotel policy\n chillnn_hotelPolicy_kidsPolicyNotCorrect: {\n default: \"キッズポリシーが間違っています。\",\n },\n chillnn_hotelPolicy_creditCardNotRegistered: {\n default: \"現地決済を有効にするためには、ホテルのクレジットカードの登録が必須です。\",\n },\n chillnn_hotelPolicy_bankInfoNotFilled: {\n default: \"現地決済キャンセル時のお客様の振込先口座情報が記入されていません。\",\n },\n // plan\n chillnn_plan_stockIsNotSufficient: {\n default: \"希望するプランの在庫がありません。予約確定時に在庫の確保が行われるため、操作中に在庫がなくなる可能性があります。\",\n },\n chillnn_plan_notInSale: {\n default: \"プランが販売中ではありません。\",\n },\n chillnn_plan_alreadyDeleted: {\n default: \"すでに削除済みのプランです。\",\n },\n chillnn_plan_unCancelable: {\n default: \"このプランはキャンセルできません。\",\n },\n chillnn_plan_unChangeable: {\n default: \"このプランの予約情報は更新できません。\",\n },\n chillnn_plan_requiredMinGroup: {\n default: \"このプランではこれ以上お部屋数を減らすことはできません。\",\n },\n // room\n chillnn_room_notExistTargetGroup: {\n default: \"指定のグループが存在していません。\",\n },\n chillnn_room_stockIsNotSufficient: {\n default: \"希望するお部屋の在庫がありません。予約確定時に在庫の確保が行われるため、操作中に在庫がなくなる可能性があります。\",\n },\n chillnn_room_alreadyDeleted: {\n default: \"すでに削除済みのお部屋です。\",\n },\n chillnn_room_overCapacityAdult: {\n default: \"大人の上限人数を超えています。\",\n },\n // option\n chillnn_option_dateNotSet: {\n default: \"日付が設定されていません。\",\n },\n chillnn_option_notAnsweredRequiredQuestion: {\n default: \"必須の質問に答えていません。\",\n },\n chillnn_option_overMaxBuyableNumPerTarget: {\n default: \"個人あたりの購入可能上限数を超えています。\",\n },\n chillnn_option_stockIsNotSufficient: {\n default: \"希望するオプションの在庫がありません。予約確定時に在庫の確保が行われるため、操作中に在庫がなくなる可能性があります。\",\n },\n chillnn_option_alreadyDeleted: {\n default: \"すでに削除済みのオプションです。\",\n },\n // payment for billing\n chillnn_hotelBillingPaymentMast_notCorrect: {\n default: \"カード情報が登録されていないかご利用できません。登録カード情報の更新をしてください。\",\n },\n chillnn_hotelBillingPaymentMast_validDtEndIsInvalid: {\n default: \"期限が本日よりも前、または既に適応されているチケットの終了予定日よりも前になっています。\",\n },\n // payment\n chillnn_payment_tokenNotFound: {\n default: \"クレジットカード決済のトークンが見つかりません。\",\n },\n chillnn_payment_agentNotExist: {\n default: \"決済代行業者が存在していません。\",\n },\n chillnn_payment_currencyNotSupport: {\n default: \"通貨が対応していません。\",\n },\n chillnn_payment_capturedFaild: {\n default: \"キャプチャが失敗しています。\",\n },\n chillnn_payment_freeIsNotAvailable: {\n default: \"無料の予約は更新できません。予約のキャンセルを行い、再度予約を行ってください。\",\n en: \"Free reservation cannot be updated. Please cancel the reservation and make a new reservation again.\",\n },\n // user EC Receipt\n chillnn_userECReceipt_invalid: {\n default: \"レシートが不正です。\",\n },\n // voucher\n chillnn_voucher_notInSale: {\n default: \"指定のバウチャーが販売期間外です。\",\n },\n chillnn_voucher_notInUse: {\n default: \"指定のバウチャーは現在利用できません。\",\n },\n chillnn_voucher_alreadyUsed: {\n default: \"指定のバウチャーはすでに使われています。\",\n },\n chillnn_voucher_notUsed: {\n default: \"指定のバウチャーはまだ使われていません。\",\n },\n chillnn_voucher_notSufficientStock: {\n default: \"希望するバウチャーの在庫がありません。予約確定時に在庫の確保が行われるため、操作中に在庫がなくなる可能性があります。\",\n },\n chillnn_voucher_outOfDate: {\n default: \"指定された宿泊日程では指定のバウチャーが適応期間外です。\",\n },\n chillnn_voucher_notAvailablePrice: {\n default: \"バウチャーの適応可能金額に満たしていません。\",\n },\n chillnn_voucher_intervalNotSet: {\n default: \"バウチャーが有効になるまでの期限が設定されていません。\",\n },\n chillnn_voucher_cinStartOrCinEndIsNotSet: {\n default: \"バウチャーの宿泊可能期間が設定されていません。\",\n },\n chillnn_voucher_saleEndIsEarlierThanCinEnd: {\n default: \"宿泊可能期間の最終日よりも、販売期間の最終日が後に設定されています。\",\n },\n chillnn_voucher_saleStartOrSaleEndIsNotSet: {\n default: \"販売開始日、または販売終了日が設定されていません。\",\n },\n chillnn_voucher_giftWrongPassword: {\n default: \"ご入力されたパスワードに誤りがあります。\",\n },\n chillnn_giftvoucher_notGuestName: {\n default: \"顧客情報に’名前’がありません。\",\n },\n chillnn_giftvoucher_notGuestMailAddress: {\n default: \"顧客情報に’メールアドレス’がありません。\",\n },\n // referral\n chillnn_referralCode_invalid: {\n default: \"招待コードが間違っています。\",\n },\n // auth\n chillnn_auth_unAuthorize: {\n default: \"許可されていない操作です。\",\n },\n chillnn_auth_userNotFound: {\n default: \"Eメールアドレスが正しくありません。または、登録されていないEメールアドレスです。\",\n },\n chillnn_auth_passwordIsNotCorrect: {\n default: \"パスワードが間違っています。\",\n },\n chillnn_auth_emailOrPasswordIsNotCorrect: {\n default: \"Eメールアドレスまたは、パスワードが間違っています。\",\n },\n chillnn_auth_emailIsAlreadyRegistered: {\n default: \"Eメールアドレスがすでに登録されています。\",\n },\n chillnn_auth_emailIsNotRegistered: {\n default: \"Eメールアドレスが登録されていません。\",\n },\n chillnn_auth_confirmationCodeIsNotCorrect: {\n default: \"認証コードが間違っています。\",\n },\n chillnn_auth_notConfirmed: {\n default: \"メール認証が行われていません。サインアップ後に送信されたメールのURLをクリックしてください。\",\n },\n // studio\n chillnn_studio_slugAlreadyInUse: {\n default: \"指定のスラッグは別のページで利用されています。\",\n },\n chillnn_studio_slugNotValid: {\n default: \"スラッグのフォーマットが違います。\",\n },\n // common(事前に対応可能なエラー)\n chillnn_500_systemError: {\n default: \"申し訳ありません。システムエラーが発生しました。しばらく時間をおいてもご利用いただけない場合はシステム管理者までお問合せください。\",\n },\n chillnn_400_startDtIsOverEndDt: {\n default: \"開始日が終了日よりも遅くなっています。\",\n },\n chillnn_400_startDtIsPassed: {\n default: \"チェックイン日が現在の日付より前に設定されています。\",\n },\n chillnn_400_lastDtIsPassed: {\n default: \"チェックアウト日が現在の日付より前に設定されています。\",\n },\n chillnn_400_hotelIDIsNotSet: {\n default: \"ホテルIDが指定されていません。\",\n },\n chillnn_401_notSignIn: {\n default: \"サインインしていません。\",\n },\n chillnn_404_notFound: {\n default: \"指定されたページ、またはリソースは存在していません。\",\n },\n // beds24\n beds24_auth_unAuthorize: {\n default: \"Beds24のAPIKeyまたはPropKeyが間違っているか、設定が間違っています。\",\n },\n beds24_400_roomIdNotDefined: {\n default: \"部屋IDが定義されていません。\",\n },\n beds24_404_roomNotFound: {\n default: \"紐付けられているBeds24の部屋の中に存在していない部屋が含まれています。\",\n },\n // payjp\n payjp_invalid_number: {\n default: \"不正なカード番号です。\",\n },\n payjp_invalid_cvc: {\n default: \"不正なCVCです。\",\n },\n payjp_invalid_expiration_date: {\n default: \"不正な有効期限年、または月です。\",\n },\n payjp_incorrect_card_data: {\n default: \"カード情報が不正です\",\n },\n payjp_invalid_expiry_month: {\n default: \"不正な有効期限月です。\",\n },\n payjp_invalid_expiry_year: {\n default: \"不正な有効期限年です。\",\n },\n payjp_expired_card: {\n default: \"有効期限切れです。\",\n },\n payjp_card_declined: {\n default: \"カード会社によって拒否されたカードです。\",\n },\n payjp_processing_error: {\n default: \"決済ネットワーク上で生じたエラーです。\",\n },\n payjp_missing_card: {\n default: \"顧客がカードを保持していないです。\",\n },\n payjp_unacceptable_brand: {\n default: \"対象のカードブランドが許可されていないです。\",\n },\n payjp_invalid_id: {\n default: \"不正なIDです。\",\n },\n payjp_no_api_key: {\n default: \"APIキーがセットされていません。\",\n },\n payjp_invalid_api_key: {\n default: \"不正なAPIキーです。\",\n },\n payjp_invalid_plan: {\n default: \"不正なプランです。\",\n },\n payjp_invalid_expiry_days: {\n default: \"不正な失効日数です。\",\n },\n payjp_unnecessary_expiry_days: {\n default: \"失効日数が不要なパラメーターである場合です。\",\n },\n payjp_invalid_flexible_id: {\n default: \"不正なID指定です。\",\n },\n payjp_invalid_timestamp: {\n default: \"不正なUnixタイムスタンプです。\",\n },\n payjp_invalid_trial_end: {\n default: \"不正なトライアル終了日です。\",\n },\n payjp_invalid_string_length: {\n default: \"不正な文字列長です。\",\n },\n payjp_invalid_country: {\n default: \"不正な国名コードです。\",\n },\n payjp_invalid_currency: {\n default: \"不正な通貨コードです。\",\n },\n payjp_invalid_address_zip: {\n default: \"不正な郵便番号です。\",\n },\n payjp_invalid_amount: {\n default: \"不正な支払い金額です。\",\n },\n payjp_invalid_plan_amount: {\n default: \"不正なプラン金額です。\",\n },\n payjp_invalid_card: {\n default: \"不正なカードです。\",\n },\n payjp_invalid_card_name: {\n default: \"不正なカードホルダー名です。\",\n },\n payjp_invalid_card_country: {\n default: \"不正なカード請求先国名コードです。\",\n },\n payjp_invalid_card_address_zip: {\n default: \"不正なカード請求先住所(郵便番号)です。\",\n },\n payjp_invalid_card_address_state: {\n default: \"不正なカード請求先住所(都道府県)です。\",\n },\n payjp_invalid_card_address_city: {\n default: \"不正なカード請求先住所(市区町村)です。\",\n },\n payjp_invalid_card_address_line: {\n default: \"不正なカード請求先住所(番地など)です。\",\n },\n payjp_invalid_customer: {\n default: \"不正な顧客です。\",\n },\n payjp_invalid_boolean: {\n default: \"不正な論理値です。\",\n },\n payjp_invalid_email: {\n default: \"不正なメールアドレスです。\",\n },\n payjp_no_allowed_param: {\n default: \"パラメーターが許可されていない場合です。\",\n },\n payjp_no_param: {\n default: \"パラメーターが何もセットされていないです。\",\n },\n payjp_invalid_querystring: {\n default: \"不正なクエリー文字列です。\",\n },\n payjp_missing_param: {\n default: \"必要なパラメーターがセットされていないです。\",\n },\n payjp_invalid_param_key: {\n default: \"指定できない不正なパラメーターがあります。\",\n },\n payjp_no_payment_method: {\n default: \"支払い手段がセットされていないです。\",\n },\n payjp_payment_method_duplicate: {\n default: \"支払い手段が重複してセットされていません。\",\n },\n payjp_payment_method_duplicate_including_customer: {\n default: \"支払い手段が重複してセットされていません。(顧客IDを含む)\",\n },\n payjp_failed_payment: {\n default: \"指定した支払いが失敗している場合です。\",\n },\n payjp_invalid_refund_amount: {\n default: \"不正な返金額です。\",\n },\n payjp_already_refunded: {\n default: \"すでに返金済みです。\",\n },\n payjp_invalid_amount_to_not_captured: {\n default: \"確定されていない支払いに対して部分返金ができないです。\",\n },\n payjp_refund_amount_gt_net: {\n default: \"返金額が元の支払い額より大きいです。\",\n },\n payjp_capture_amount_gt_net: {\n default: \"支払い確定額が元の支払い額より大きいです。\",\n },\n payjp_invalid_refund_reason: {\n default: \"不正な返金理由です。\",\n },\n payjp_already_captured: {\n default: \"すでに支払いが確定済みです。\",\n },\n payjp_cant_capture_refunded_charge: {\n default: \"返金済みの支払いに対して支払い確定はできないです。\",\n },\n payjp_cant_reauth_refunded_charge: {\n default: \"返金済みの支払いに対して再認証はできないです。\",\n },\n payjp_charge_expired: {\n default: \"認証が失効している支払いです。\",\n },\n payjp_already_exist_id: {\n default: \"すでに存在しているIDです。\",\n },\n payjp_token_already_used: {\n default: \"すでに使用済みのトークンです。\",\n },\n payjp_already_have_card: {\n default: \"指定した顧客がすでに保持しているカードです。\",\n },\n payjp_dont_has_this_card: {\n default: \"顧客が指定したカードを保持していないです。\",\n },\n payjp_doesnt_have_card: {\n default: \"顧客がカードを何も保持していないです。\",\n },\n payjp_already_have_the_same_card: {\n default: \"すでに同じカード番号、有効期限のカードを保持している状態です。\",\n },\n payjp_invalid_interval: {\n default: \"不正な課金周期です。\",\n },\n payjp_invalid_trial_days: {\n default: \"不正なトライアル日数です。\",\n },\n payjp_invalid_billing_day: {\n default: \"不正な支払い実行日です。\",\n },\n payjp_billing_day_for_non_monthly_plan: {\n default: \"支払い実行日は月次プランにしか指定できないです。\",\n },\n payjp_exist_subscribers: {\n default: \"購入者が存在するプランは削除できないです。\",\n },\n payjp_already_subscribed: {\n default: \"すでに定期課金済みの顧客です。\",\n },\n payjp_already_canceled: {\n default: \"すでにキャンセル済みの定期課金です。\",\n },\n payjp_already_paused: {\n default: \"すでに停止済みの定期課金です。\",\n },\n payjp_subscription_worked: {\n default: \"すでに稼働している定期課金です。\",\n },\n payjp_cannot_change_prorate_status: {\n default: \"日割り課金の設定はプラン変更時のみ可能です。\",\n },\n payjp_too_many_metadata_keys: {\n default: \"metadataキーの登録上限(20)を超過しています。\",\n },\n payjp_invalid_metadata_key: {\n default: \"不正なmetadataキーです。\",\n },\n payjp_invalid_metadata_value: {\n default: \"不正なmetadataバリューです。\",\n },\n payjp_apple_pay_disabled_in_livemode: {\n default: \"本番モードのApple Pay利用が許可されていないです。\",\n },\n payjp_invalid_apple_pay_token: {\n default: \"不正なApple Payトークンです。\",\n },\n payjp_test_card_on_livemode: {\n default: \"本番モードのリクエストにテストカードが使用されていません。\",\n },\n payjp_not_activated_account: {\n default: \"本番モードが許可されていないアカウントです。\",\n },\n payjp_too_many_test_request: {\n default: \"テストモードのリクエストリミットを超過している状態です。\",\n },\n payjp_payjp_wrong: {\n default: \"PAY.JPのサーバー側でエラーが発生している状態です。\",\n },\n payjp_pg_wrong: {\n default: \"決済代行会社のサーバー側でエラーが発生している状態です。\",\n },\n payjp_not_found: {\n default: \"リクエスト先が存在しないです。\",\n },\n payjp_not_allowed_method: {\n default: \"許可されていないHTTPメソッドです。\",\n },\n // payjp plat form\n payjp_invalid_character: {\n default: \"不正な文字です。\",\n },\n payjp_invalid_url: {\n default: \"不正なURLです。\",\n },\n payjp_invalid_format_string: {\n default: \"不正な文字列形式です。\",\n },\n payjp_invalid_file: {\n default: \"不正なファイルです。\",\n },\n payjp_invalid_file_id: {\n default: \"不正なファイルIDがセットされている状態です。\",\n },\n payjp_invalid_business_type: {\n default: \"不正な事業形態です。\",\n },\n payjp_invalid_numerical_value: {\n default: \"不正な数値です。\",\n },\n payjp_invalid_gender: {\n default: \"不正な性別です。\",\n },\n payjp_invalid_address_state: {\n default: \"不正な都道府県です。\",\n },\n payjp_invalid_address_city: {\n default: \"不正な市区町村です。\",\n },\n payjp_invalid_address_line: {\n default: \"不正な番地等です。\",\n },\n payjp_invalid_phone: {\n default: \"不正な電話番号です。\",\n },\n payjp_invalid_bank_code: {\n default: \"不正な銀行コードです。\",\n },\n payjp_invalid_bank_branch_code: {\n default: \"不正な銀行支店コードです。\",\n },\n payjp_invalid_bank_account_type: {\n default: \"不正な口座種別です。\",\n },\n payjp_invalid_bank_account_holder_name: {\n default: \"不正な口座名義です。\",\n },\n payjp_invalid_bank_account_number: {\n default: \"不正な口座番号です。\",\n },\n payjp_invalid_param_length: {\n default: \"パラメーターの長さが不正です。\",\n },\n payjp_invalid_product_type: {\n default: \"不正な商材種類です。\",\n },\n payjp_invalid_charge_type: {\n default: \"不正な課金種類です。\",\n },\n payjp_invalid_key_type: {\n default: \"不正なキータイプです。\",\n },\n payjp_invalid_access_mode: {\n default: \"不正なアクセスモードです。\",\n },\n payjp_invalid_timing: {\n default: \"不正な更新タイミングです。\",\n },\n payjp_platform_fee_limit: {\n default: \"プラットフォーム利用料は支払い金額の95%以下の金額をセットしてください。\",\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChillnnErrorForServer = void 0;\nconst ChillnnError_1 = require(\"./ChillnnError\");\nclass ChillnnErrorForServer extends ChillnnError_1.ChillnnError {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(errCode, err) {\n super(errCode);\n this.isChillnnErrorForServer = true;\n if (!ChillnnError_1.errorMessages[errCode]) {\n throw err;\n }\n }\n}\nexports.ChillnnErrorForServer = ChillnnErrorForServer;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Observer = void 0;\nclass Observer {\n constructor() {\n this.cbs = [];\n }\n add(cb) {\n this.cbs.push(cb);\n }\n delete(cb) {\n this.cbs = this.cbs.filter((fn) => fn !== cb);\n }\n emit() {\n this.cbs.forEach((cb) => __awaiter(this, void 0, void 0, function* () {\n yield cb();\n }));\n }\n}\nexports.Observer = Observer;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Debounce = void 0;\nclass Debounce {\n constructor(waitFor) {\n this.waitFor = waitFor;\n }\n /**\n * @todo promiseが溜まってしまうので、どこかのタイミングでクリアしないといけない。\n * 指定時間分だけリクエスト前に待機する\n * @param func 関数\n */\n debounceForDtRange(func) {\n // debounce化された関数内で状態として扱われる変数(インスタンス変数のようなもの。別の関数を作ると異なる状態が作られる。)\n let timer;\n let startDtLocal;\n let endDtLocal;\n if (this.waitFor === 0) {\n return func;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const promises = [];\n const debounced = (startDt, endDt, ...args) => __awaiter(this, void 0, void 0, function* () {\n // 日付の変更\n startDtLocal = startDtLocal || startDt;\n endDtLocal = endDtLocal || endDt;\n startDtLocal = startDtLocal < startDt ? startDtLocal : startDt;\n endDtLocal = endDtLocal > endDt ? endDtLocal : endDt;\n return new Promise((resolveFunc) => {\n // timeoutの指定\n clearTimeout(timer);\n timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n const result = func(startDtLocal, endDtLocal, ...args);\n startDtLocal = \"\";\n endDtLocal = \"\";\n yield Promise.all(promises.map((r) => __awaiter(this, void 0, void 0, function* () { return yield r(result); })));\n promises.splice(0);\n }), this.waitFor);\n resolveFunc(new Promise((r) => promises.push(r)));\n });\n });\n return debounced;\n }\n /**\n * @todo promiseが溜まってしまうので、どこかのタイミングでクリアしないといけない。\n * 指定時間分だけリクエスト前に待機する\n * @param func 関数\n */\n debounceForMast(func) {\n // debounce化された関数内で状態として扱われる変数(インスタンス変数のようなもの。別の関数を作ると異なる状態が作られる。)\n let timer;\n if (this.waitFor === 0) {\n return func;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const promises = [];\n const debounced = (...args) => __awaiter(this, void 0, void 0, function* () {\n // 日付の変更\n return new Promise((resolveFunc) => {\n // timeoutの指定\n clearTimeout(timer);\n timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n const result = func(...args);\n yield Promise.all(promises.map((r) => __awaiter(this, void 0, void 0, function* () { return yield r(result); })));\n promises.splice(0);\n }), this.waitFor);\n resolveFunc(new Promise((r) => promises.push(r)));\n });\n });\n return debounced;\n }\n}\nexports.Debounce = Debounce;\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encrypto = encrypto;\nexports.getDecodableEncryptedString = getDecodableEncryptedString;\nexports.getDecodableDecryptedString = getDecodableDecryptedString;\nexports.getEncryptedStringWithPasswordForOldVoucher = getEncryptedStringWithPasswordForOldVoucher;\nexports.getDecryptedStringWithPasswordForOldVoucher = getDecryptedStringWithPasswordForOldVoucher;\nexports.getEncryptedStringWithPasswordForVoucher = getEncryptedStringWithPasswordForVoucher;\nexports.getDecryptedStringWithPasswordForVoucher = getDecryptedStringWithPasswordForVoucher;\nexports.getEncryptedStringWithPassword = getEncryptedStringWithPassword;\nexports.getDecryptedStringWithPassword = getDecryptedStringWithPassword;\nconst buffer_1 = require(\"buffer\");\nconst crypto_browserify_1 = __importDefault(require(\"crypto-browserify\"));\nconst crypto_js_1 = require(\"crypto-js\");\nfunction encrypto(password) {\n // TODO update to more robust algorithm\n return (0, crypto_js_1.SHA512)(password).toString(crypto_js_1.enc.Hex);\n}\n// crypto-jsのAESでは「PKCS#7パディング」と「CBCモード」がデフォルトで設定されている\n// 宿泊券用\nconst INITIAL_VECTOR_KEY__VOUCHER = crypto_js_1.enc.Hex.parse(\"CCKDCqzmlWQi5gLc\"); // 初期化ベクトル(18バイト)\nconst KEY = crypto_js_1.enc.Utf8.parse(\"18DxgCS5ckUsqc8b0dbVPiM2wttUFbhX\"); // 鍵(32バイト)\nconst INITIAL_VECTOR_KEY = crypto_js_1.enc.Utf8.parse(\"CCKDCqzmlWQi5gLc\"); // 初期化ベクトル(18バイト)\nconst ENCODING_STRATEGY = crypto_js_1.enc.Utf8;\nfunction getDecodableEncryptedString(raw) {\n const iv = INITIAL_VECTOR_KEY;\n return crypto_js_1.AES.encrypt(raw, KEY, { iv }).toString();\n}\nfunction getDecodableDecryptedString(encrypted) {\n const iv = INITIAL_VECTOR_KEY;\n return crypto_js_1.AES.decrypt(encrypted, KEY, { iv }).toString(ENCODING_STRATEGY);\n}\nconst ENCRYPTION_KEY = \"18DxgCS5ckUsqc8b0dbVPiM2wttUFbhX\"; // 32Byte.\nconst BUFFER_KEY = \"CCKDCqzmlWQi5gLc\"; // 16Byte.\nconst ENCRYPT_METHOD = \"aes-256-cbc\"; // 暗号化方式\nconst ENCODING = \"hex\"; // 暗号化時のencoding\n/**\n * 宿泊券用(旧)\n * 昔に発行された「未来に泊まれる宿泊券」の場合使用される\n */\nfunction getEncryptedStringWithPasswordForOldVoucher(raw, password) {\n const iv = buffer_1.Buffer.from(BUFFER_KEY);\n if (password.length > 32) {\n password = password.slice(0, 32);\n }\n else {\n const requiredLength = 32 - password.length;\n password = password + ENCRYPTION_KEY.slice(0, requiredLength);\n }\n const cipher = crypto_browserify_1.default.createCipheriv(ENCRYPT_METHOD, buffer_1.Buffer.from(password), iv);\n let encrypted = cipher.update(raw);\n encrypted = buffer_1.Buffer.concat([encrypted, cipher.final()]);\n return encrypted.toString(ENCODING);\n}\n/**\n * 宿泊券用(旧)\n * 昔に発行された「未来に泊まれる宿泊券」の場合使用される\n */\nfunction getDecryptedStringWithPasswordForOldVoucher(encrypted, password) {\n const iv = buffer_1.Buffer.from(BUFFER_KEY);\n if (password.length > 32) {\n password = password.slice(0, 32);\n }\n else {\n const requiredLength = 32 - password.length;\n password = password + ENCRYPTION_KEY.slice(0, requiredLength);\n }\n const encryptedText = buffer_1.Buffer.from(encrypted, ENCODING);\n const decipher = crypto_browserify_1.default.createDecipheriv(ENCRYPT_METHOD, buffer_1.Buffer.from(password), iv);\n let decrypted = decipher.update(encryptedText);\n decrypted = buffer_1.Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString();\n}\n/**\n * 宿泊券用\n */\nfunction getEncryptedStringWithPasswordForVoucher(raw, password) {\n if (password.length > 32) {\n password = password.slice(0, 32);\n }\n const iv = INITIAL_VECTOR_KEY__VOUCHER;\n const key = crypto_js_1.enc.Hex.parse(password).toString();\n return crypto_js_1.AES.encrypt(raw, key, { iv }).toString();\n}\n/**\n * 宿泊券用\n */\nfunction getDecryptedStringWithPasswordForVoucher(encrypted, password) {\n if (password.length > 32) {\n password = password.slice(0, 32);\n }\n const iv = INITIAL_VECTOR_KEY__VOUCHER;\n const key = crypto_js_1.enc.Hex.parse(password).toString();\n return crypto_js_1.AES.decrypt(encrypted, key, { iv }).toString(ENCODING_STRATEGY);\n}\n/**\n * @todo IV(初期化ベクトル)に関しては都度生成し第3引数に含めるのが望ましい\n */\nfunction getEncryptedStringWithPassword(raw, password) {\n return crypto_js_1.AES.encrypt(raw, password).toString();\n}\n/**\n * @todo IV(初期化ベクトル)に関しては都度生成し第3引数に含めるのが望ましい\n */\nfunction getDecryptedStringWithPassword(encrypted, password) {\n return crypto_js_1.AES.decrypt(encrypted, password).toString(ENCODING_STRATEGY);\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Throttle = void 0;\nconst cryptoUtil_1 = require(\"../util/cryptoUtil\");\nclass Throttle {\n constructor(waitFor) {\n this.waitFor = waitFor;\n }\n /**\n * 待機時間分だけrequestを間引く\n * @param func スロットルで間引く関数\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n throttleForMast(func) {\n const isCalled = {};\n if (this.waitFor === 0) {\n return func;\n }\n const fn = {};\n const getKey = this.getKeys;\n const throttle = (...args) => __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolveFunc) => {\n const key = getKey(args);\n if (!fn[key]) {\n fn[key] = func(...args);\n }\n if (!isCalled[key]) {\n isCalled[key] = true;\n setTimeout(() => {\n fn[key] = undefined;\n isCalled[key] = false;\n }, this.waitFor);\n }\n resolveFunc(fn[key]);\n });\n });\n return throttle;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n throttleForMastAndResponse(func) {\n const isCalled = {};\n if (this.waitFor === 0) {\n return func;\n }\n const fn = {};\n const getKey = this.getKeys;\n const throttle = (...args) => __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolveFunc) => {\n const key = getKey(args);\n if (!fn[key]) {\n fn[key] = func(...args);\n }\n if (!isCalled[key]) {\n isCalled[key] = true;\n setTimeout(() => {\n fn[key] = undefined;\n isCalled[key] = false;\n }, this.waitFor);\n }\n resolveFunc(fn[key]);\n });\n });\n return throttle;\n }\n getKeys(args) {\n return (0, cryptoUtil_1.encrypto)(JSON.stringify(args));\n }\n}\nexports.Throttle = Throttle;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ThrottleForMast = ThrottleForMast;\nexports.DebounceForDtRange = DebounceForDtRange;\nconst type_1 = require(\"../../entity/type\");\nconst ChillnnError_1 = require(\"../class/ChillnnError\");\nconst debounce_1 = require(\"./debounce\");\nconst throttle_1 = require(\"./throttle\");\nfunction ThrottleForMast(waitFor) {\n return (target, name, descriptor) => {\n const throttle = new throttle_1.Throttle(waitFor);\n const method = descriptor.value; // もともとのメソッドを退避しておきます。\n if (method) {\n descriptor.value = throttle.throttleForMastAndResponse(method);\n }\n else {\n throw new ChillnnError_1.ChillnnError(type_1.ErrorCode.chillnn_500_systemError);\n }\n };\n}\nfunction DebounceForDtRange(waitFor) {\n return (target, name, descriptor) => {\n const debounce = new debounce_1.Debounce(waitFor);\n const method = descriptor.value;\n if (method) {\n descriptor.value = debounce.debounceForDtRange(method);\n return descriptor;\n }\n else {\n throw new ChillnnError_1.ChillnnError(type_1.ErrorCode.chillnn_500_systemError);\n }\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.compareNumAsc = compareNumAsc;\nexports.compareNumDesc = compareNumDesc;\nexports.compareStrAsc = compareStrAsc;\nexports.compareStrDesc = compareStrDesc;\n/**\n * 数値比較のコンパレーター(昇順)\n * @param a 前者\n * @param b 比較対象\n */\nfunction compareNumAsc(a, b) {\n return a - b;\n}\n/**\n * 数値比較のコンパレーター(降順)\n * @param a 前者\n * @param b 比較対象\n */\nfunction compareNumDesc(a, b) {\n return b - a;\n}\n/**\n * 文字列比較のコンパレーター(昇順)\n * @param a 前者\n * @param b 比較対象\n */\nfunction compareStrAsc(a, b) {\n if (a > b) {\n return 1;\n }\n else {\n return -1;\n }\n}\n/**\n * 文字列比較のコンパレーター(降順)\n * @param a 前者\n * @param b 比較対象\n */\nfunction compareStrDesc(a, b) {\n if (a < b) {\n return 1;\n }\n else {\n return -1;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDateRangeArray = getDateRangeArray;\nexports.getDateTimeRangeArray = getDateTimeRangeArray;\nexports.getDayOfTheWeek = getDayOfTheWeek;\nexports.format = format;\nexports.getCurrentTimeStamp = getCurrentTimeStamp;\nexports.getMilliSecBySpecificDateAndTime = getMilliSecBySpecificDateAndTime;\nexports.getCurrentDate = getCurrentDate;\nexports.getCurrentDateTime = getCurrentDateTime;\nexports.DateTimeToDate = DateTimeToDate;\nexports.DateTimeToTime = DateTimeToTime;\nexports.getEndOfDateMilli = getEndOfDateMilli;\nexports.getSubOfEndOfDates = getSubOfEndOfDates;\nexports.getSubOfDateAMinusDateB = getSubOfDateAMinusDateB;\nexports.addDate = addDate;\nexports.addYear = addYear;\nexports.addMinutes = addMinutes;\nexports.validDateFormat = validDateFormat;\nexports.getMMDDFromYYYYMMDD = getMMDDFromYYYYMMDD;\nconst dayjs = require(\"dayjs\");\nconst type_1 = require(\"../../entity/type\");\nconst ChillnnError_1 = require(\"../class/ChillnnError\");\nfunction getDateRangeArray(startDt, endDt) {\n if (startDt > endDt) {\n throw new ChillnnError_1.ChillnnError(type_1.ErrorCode.chillnn_400_startDtIsOverEndDt);\n }\n const dateArray = [];\n let currentDate = dayjs(startDt);\n const stopDate = dayjs(endDt);\n while (currentDate <= stopDate) {\n dateArray.push(dayjs(currentDate).format(\"YYYY-MM-DD\"));\n currentDate = dayjs(currentDate).add(1, \"day\");\n }\n return dateArray;\n}\nfunction getDateTimeRangeArray(startAt, endAt, stepMin) {\n if (startAt > endAt) {\n throw new ChillnnError_1.ChillnnError(type_1.ErrorCode.chillnn_400_startDtIsOverEndDt);\n }\n const dateArray = [];\n let currentDate = dayjs(startAt);\n const stopDate = dayjs(endAt);\n while (currentDate <= stopDate) {\n dateArray.push(dayjs(currentDate).format(\"YYYY-MM-DDTHH:mm\"));\n currentDate = dayjs(currentDate).add(stepMin, \"minute\");\n }\n return dateArray;\n}\nfunction getDayOfTheWeek(date) {\n const dayOfTheWeek = dayjs(date).format(\"ddd\").toUpperCase();\n switch (dayOfTheWeek) {\n case type_1.DayOfTheWeek.SUN:\n return type_1.DayOfTheWeek.SUN;\n case type_1.DayOfTheWeek.MON:\n return type_1.DayOfTheWeek.MON;\n case type_1.DayOfTheWeek.TUE:\n return type_1.DayOfTheWeek.TUE;\n case type_1.DayOfTheWeek.WED:\n return type_1.DayOfTheWeek.WED;\n case type_1.DayOfTheWeek.THU:\n return type_1.DayOfTheWeek.THU;\n case type_1.DayOfTheWeek.FRI:\n return type_1.DayOfTheWeek.FRI;\n case type_1.DayOfTheWeek.SAT:\n return type_1.DayOfTheWeek.SAT;\n default:\n throw new ChillnnError_1.ChillnnError(type_1.ErrorCode.chillnn_500_systemError);\n }\n}\n/**\n * タイムゾーンを受け取ることで現地時間にパースする。\n * @param timestamp タイムスタンプ\n * @param timezone タイムゾーン\n * @param formatVar フォーマッティング\n */\nfunction format(timestamp, timezone, formatVar) {\n const tz = timezone.split(\"__\").join(\"/\");\n return dayjs(new Date(timestamp).toLocaleString(\"en-US\", { timeZone: tz })).format(formatVar);\n}\n/**\n * 標準時刻で1970/01/01 00:00:00からの経過㎳を返す。\n * @param timeZone タイムゾーン\n */\nfunction getCurrentTimeStamp() {\n return new Date().getTime();\n}\n/**\n * @param date 日付\n * @param time 時間\n */\nfunction getMilliSecBySpecificDateAndTime(date, time, timezone) {\n return new Date(`${date.split(\"-\").join(\"/\")} ${time}`).getTime() + getDiff(timezone);\n}\n/**\n * 現地(ホテルの存在するタイムゾーン)の現在の日付を返す\n * @param timeZone タイムゾーン\n */\nfunction getCurrentDate(timeZone) {\n const tz = timeZone.split(\"__\").join(\"/\");\n return dayjs(new Date().toLocaleString(\"en-US\", { timeZone: tz })).format(\"YYYY-MM-DD\");\n}\n/**\n * 現地(ホテルの存在するタイムゾーン)の現在の日付を返す\n * @param timeZone タイムゾーン\n */\nfunction getCurrentDateTime(timeZone) {\n const tz = timeZone.split(\"__\").join(\"/\");\n return dayjs(new Date().toLocaleString(\"en-US\", { timeZone: tz })).format(\"YYYY-MM-DDTHH:mm\");\n}\nfunction DateTimeToDate(dateTime) {\n return dateTime.split(\"T\")[0];\n}\nfunction DateTimeToTime(dateTime) {\n return dateTime.split(\"T\")[1];\n}\n/**\n * 現地の23:59:59の1970/01/01 00:00:00からの経過㎳を返す。\n * @param date 指定日\n */\nfunction getEndOfDateMilli(date, timezone) {\n const dayStr = `${date.split(\"-\").join(\"/\")} 23:59:59`;\n return new Date(dayStr).getTime() + getDiff(timezone);\n}\nfunction getDiff(timeZone) {\n const tz = timeZone.split(\"__\").join(\"/\");\n // 現地環境の時間\n const targetDate = dayjs(new Date().toLocaleString(\"en-US\", { timeZone: tz }))\n .toDate()\n .getTime();\n // 操作環境の時間\n const localDate = new Date().getTime();\n // 時差\n return localDate - targetDate;\n}\nfunction getSubOfEndOfDates(HH, mm) {\n const HHInt = Number(HH);\n const mmInt = Number(mm);\n const sub = HHInt * 60 * 60 * 1000 + mmInt * 60 * 1000;\n const last = 23 * 60 * 60 * 1000 + 59 * 60 * 1000 + 59 * 1000;\n return last - sub;\n}\nfunction getSubOfDateAMinusDateB(dateA, dateB) {\n return dayjs(dateA).diff(dayjs(dateB)) / (24 * 60 * 60 * 1000);\n}\n/**\n * 日付を加算する\n * @param target ターゲットの日付\n * @param inc 増加数\n */\nfunction addDate(target, inc) {\n return dayjs(target).add(inc, \"day\").format(\"YYYY-MM-DD\");\n}\nfunction addYear(target, inc) {\n return dayjs(target).add(inc, \"year\").format(\"YYYY\");\n}\nfunction addMinutes(target, inc) {\n return dayjs(target).add(inc, \"minute\").format(\"YYYY-MM-DDTHH:mm\");\n}\nfunction validDateFormat(date) {\n const formatStatement = \"YYYY-MM-DD\";\n const isValidFormat = dayjs(date, formatStatement).isValid();\n const isValidDate = dayjs(date, formatStatement).format(formatStatement) === date;\n return isValidDate && isValidFormat;\n}\nfunction getMMDDFromYYYYMMDD(date) {\n const splited = date.split(\"-\");\n if (splited.length !== 3) {\n throw new ChillnnError_1.ChillnnError(type_1.ErrorCode.chillnn_500_systemError);\n }\n return `${splited[1]}-${splited[2]}`;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getI18nString = getI18nString;\nconst type_1 = require(\"../../entity/type\");\nfunction getI18nString(input, lang) {\n lang = lang || type_1.LangCode.default;\n return input[lang] || input[type_1.LangCode.default];\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUniqueID = getUniqueID;\nexports.getShortID = getShortID;\nexports.getReservationID = getReservationID;\nexports.getRoomUniqueID = getRoomUniqueID;\nexports.getOptionUniqueID = getOptionUniqueID;\nexports.generateUuid = generateUuid;\nexports.isUuid = isUuid;\nconst shortid_1 = __importDefault(require(\"shortid\"));\nshortid_1.default.characters(\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\");\n/**\n * @todo ロジック実装\n * @param digits IDのバイト数\n */\nfunction getUniqueID(digit) {\n let strong = 1000;\n if (digit) {\n strong = Math.pow(10, digit);\n }\n return new Date().getTime().toString(16) + Math.floor(strong * Math.random()).toString(16);\n}\n/**\n * uniquidを生成\n * @param maxLength\n */\nfunction getShortID(maxLength) {\n const id = shortid_1.default.generate();\n // do {\n // id = shortid.generate();\n // } while (id.length > maxLength);\n if (id.length <= maxLength) {\n return id;\n }\n else {\n return id.slice(0, maxLength);\n }\n}\n/**\n * 手間いらずの関係で頭の文字が、「0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ」で始まる必要がある。\n */\nfunction getReservationID() {\n const prefix = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n let reservationID = getShortID(10);\n while (!prefix.includes(reservationID.slice(0, 1))) {\n reservationID = getShortID(10);\n }\n return reservationID;\n}\n/**\n * 手間いらずの関係で、reservationIDとroomのuniqueIDのlengthが合計で17を超えてはいけない。\n */\nfunction getRoomUniqueID() {\n return getShortID(7);\n}\nfunction getOptionUniqueID() {\n return getShortID(7);\n}\n/**\n * UUIDの生成\n */\nfunction generateUuid() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\" //\n .replace(/x/g, () => Math.floor(Math.random() * 16).toString(16))\n .replace(/y/g, () => (Math.floor(Math.random() * 4) + 8).toString(16));\n}\nfunction isUuid(uuid) {\n const uuidRegex = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);\n return !!uuid.match(uuidRegex);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stripHTML = stripHTML;\nfunction stripHTML(html) {\n return html.replace(/<[^>]+>/g, \"\");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isInteger = isInteger;\nfunction isInteger(input) {\n if (!input && input !== 0) {\n return false;\n }\n return Number.isInteger(Number(input));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.castNumberOrNull = castNumberOrNull;\nfunction castNumberOrNull(input, //\ninit) {\n if (input == null) {\n return null;\n }\n const result = Number(input);\n if (isNaN(result)) {\n return init || 0;\n }\n else {\n return result;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getNumArray = getNumArray;\nfunction getNumArray(startNum, step, length) {\n return Array.from(Array(length), (_, index) => index * step + startNum);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.chillnnSleep = chillnnSleep;\nfunction chillnnSleep(msec) {\n return new Promise((_) => setTimeout(_, msec));\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zenkana2Hankana = zenkana2Hankana;\nconst kanaMap = {\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 ヒ: \"ヒ\",\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};\nfunction zenkana2Hankana(str) {\n const reg = new RegExp(\"(\" + Object.keys(kanaMap).join(\"|\") + \")\", \"g\");\n const inverse = new RegExp(\"[^(ヲ-゚|\\x20)]\", \"g\");\n return str\n .replace(reg, (match) => {\n return kanaMap[match];\n })\n .replace(inverse, () => \"\")\n .replace(/゛/g, \"゙\")\n .replace(/゜/g, \"゚\");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeControllString = escapeControllString;\nexports.escapeObject = escapeObject;\nfunction escapeControllString(str) {\n // eslint-disable-next-line no-useless-escape\n return str.replace(/[\\0]|[\\b]|[\\t]|[\\v]|[\\r]|\\\"|\\'|\\\\/g, \"\"); // .replace(/^[\\0\\b\\t\\n\\v\\r\\\"\\'\\\\]/g,'');\n}\nfunction escapeObject(object) {\n Object.keys(object).map((key) => {\n if (!object[key]) {\n return;\n }\n else if (typeof object[key] === \"string\") {\n object[key] = escapeControllString(object[key]);\n }\n else if (typeof object[key] === \"object\") {\n escapeObject(object[key]);\n }\n });\n return object;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// class\n__exportStar(require(\"./class/ChillnnError\"), exports);\n__exportStar(require(\"./class/ChillnnErrorForServer\"), exports);\n// pattern\n__exportStar(require(\"./pattern/observer\"), exports);\n__exportStar(require(\"./pattern/debounce\"), exports);\n__exportStar(require(\"./pattern/throttle\"), exports);\n__exportStar(require(\"./pattern/decorator\"), exports);\n// util\n__exportStar(require(\"./util/compare\"), exports);\n__exportStar(require(\"./util/cryptoUtil\"), exports);\n__exportStar(require(\"./util/dateUtil\"), exports);\n__exportStar(require(\"./util/getI18nString\"), exports);\n__exportStar(require(\"./util/getUniqueID\"), exports);\n__exportStar(require(\"./util/HTMLUtil\"), exports);\n__exportStar(require(\"./util/isInteger\"), exports);\n__exportStar(require(\"./util/number\"), exports);\n__exportStar(require(\"./util/range\"), exports);\n__exportStar(require(\"./util/sleep\"), exports);\n__exportStar(require(\"./util/stringConvert\"), exports);\n__exportStar(require(\"./util/stringUtil\"), exports);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mutation = exports.Query = exports.CacheAdaptorBase = void 0;\nconst ChillnnError_1 = require(\"../common/class/ChillnnError\");\nconst type_1 = require(\"../entity/type\");\n/**\n * ABRのinterceptor\n */\nclass CacheAdaptorDecorator {\n Query() {\n const res = function (target, name, descriptor) {\n const method = descriptor.value; // もともとのメソッドを退避しておきます。\n descriptor.value = function () {\n var arguments_1 = arguments;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // methodの実行\n // eslint-disable-next-line prefer-rest-params\n const ret = yield method.apply(this, arguments_1);\n return ret;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }\n catch (err) {\n console.error(err);\n let errorCode = err.message;\n if (!ChillnnError_1.errorMessages[errorCode]) {\n errorCode = type_1.ErrorCode.chillnn_404_notFound;\n }\n throw new ChillnnError_1.ChillnnError(errorCode, err);\n }\n });\n };\n };\n return res;\n }\n Mutation() {\n const res = function (target, name, descriptor) {\n const method = descriptor.value; // もともとのメソッドを退避しておきます。\n descriptor.value = function () {\n var arguments_2 = arguments;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // methodの実行\n // eslint-disable-next-line prefer-rest-params\n const ret = yield method.apply(this, arguments_2);\n return ret;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }\n catch (err) {\n console.error(err);\n let errorCode = err.message;\n if (!ChillnnError_1.errorMessages[errorCode]) {\n errorCode = type_1.ErrorCode.chillnn_500_systemError;\n }\n throw new ChillnnError_1.ChillnnError(errorCode, err);\n }\n });\n };\n };\n return res;\n }\n}\nclass CacheAdaptorBase {\n}\nexports.CacheAdaptorBase = CacheAdaptorBase;\nconst decorator = new CacheAdaptorDecorator();\nexports.Query = decorator.Query();\nexports.Mutation = decorator.Mutation();\n","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CompanyMastReposiotryCacheAdapter = void 0;\nconst throttle_1 = require(\"../../common/pattern/throttle\");\nconst base_1 = require(\"../base\");\nclass CompanyMastReposiotryCacheAdapter extends base_1.CacheAdaptorBase {\n constructor(companyRepository, waitForDebounce) {\n super();\n /**\n * オンメモリキャッシュ\n */\n this.cache = {};\n // ============= private ==============\n this.fetchCompanyForCache = (companyID) => __awaiter(this, void 0, void 0, function* () {\n const retval = yield this.companyRepoisotry.fetchCompanyByCompanyId(companyID);\n this.updateCache(retval);\n });\n this.throttle = new throttle_1.Throttle(waitForDebounce);\n this.companyRepoisotry = companyRepository;\n this.debounceFetchCompany = this.throttle.throttleForMast(this.fetchCompanyForCache);\n }\n cacheClear() {\n this.cache = {};\n }\n /**\n * 特定の企業の情報を取得する\n * @param companyID 企業ID\n */\n fetchCompanyByCompanyId(companyID) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.cache[companyID]) {\n return this.cache[companyID];\n }\n yield this.debounceFetchCompany(companyID);\n return this.cache[companyID];\n });\n }\n /**\n * 特定の企業の情報を新規登録する\n * @param companyMast 企業のマスタ情報\n */\n add(companyMast, hostUserID) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.companyRepoisotry.add(companyMast, hostUserID);\n this.updateCache(companyMast);\n return companyMast;\n });\n }\n /**\n * 特定の企業の情報を情報を編集する\n * @param companyMast 企業のマスタ情報\n */\n update(companyMast) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.companyRepoisotry.update(companyMast);\n this.updateCache(companyMast);\n return companyMast;\n });\n }\n /**\n * キャッシュの更新\n * @param companyMast キャッシュする企業情報\n */\n updateCache(companyMast) {\n this.cache[companyMast.companyID] = companyMast;\n }\n}\nexports.CompanyMastReposiotryCacheAdapter = CompanyMastReposiotryCacheAdapter;\n__decorate([\n base_1.Query\n], CompanyMastReposiotryCacheAdapter.prototype, \"fetchCompanyByCompanyId\", null);\n__decorate([\n base_1.Mutation\n], CompanyMastReposiotryCacheAdapter.prototype, \"add\", null);\n__decorate([\n base_1.Mutation\n], CompanyMastReposiotryCacheAdapter.prototype, \"update\", null);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageMastRepositoryCacheAdaptor = void 0;\nconst common_1 = require(\"../../common\");\nconst base_1 = require(\"../base\");\nclass ImageMastRepositoryCacheAdaptor extends base_1.CacheAdaptorBase {\n constructor(imageRepository) {\n super();\n this.imageRepository = imageRepository;\n this.cache = {};\n }\n cacheClear() {\n this.cache = {};\n }\n add(input) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield this.imageRepository.add(input);\n this.updateCacheDetail(response);\n return response;\n });\n }\n delete(ownerID, uuid) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield this.imageRepository.delete(ownerID, uuid);\n this.updateCacheDetail(Object.assign(Object.assign({}, response), { deletedAt: new Date().getTime() }));\n return response;\n });\n }\n fetchImages(ownerID) {\n return __awaiter(this, void 0, void 0, function* () {\n const images = this.fetchMasts(ownerID);\n if (images) {\n return images;\n }\n const response = yield this.imageRepository.fetchImages(ownerID);\n this.updateCacheBulk(ownerID, response);\n return response;\n });\n }\n // =========================== private ============================\n updateCacheBulk(ownerID, imageMasts) {\n this.cache[ownerID] = { masts: {} };\n imageMasts.forEach((item) => {\n this.cache[ownerID].masts[item.uuid] = item;\n });\n }\n updateCacheDetail(imageMast) {\n const cache = this.cache[imageMast.ownerID];\n if (cache) {\n cache.masts[imageMast.uuid] = imageMast;\n }\n }\n fetchMasts(ownerID) {\n const cache = this.cache[ownerID];\n if (!cache) {\n return null;\n }\n return Object.keys(cache.masts)\n .map((uuid) => cache.masts[uuid])\n .filter((item) => !item.deletedAt)\n .sort((a, b) => (0, common_1.compareNumDesc)(a.createdAt, b.createdAt));\n }\n}\nexports.ImageMastRepositoryCacheAdaptor = ImageMastRepositoryCacheAdaptor;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PaymentSummaryRepositoryCacheAdaptor = void 0;\nconst common_1 = require(\"../../common\");\nclass PaymentSummaryRepositoryCacheAdaptor {\n constructor(implementedRepository, TTL, waitFor, fetchStartDtAndEndDt) {\n this.cache = {};\n // ====================== private =====================\n this.fetchRange = (startDt, endDt) => __awaiter(this, void 0, void 0, function* () {\n const res = yield this.fetchStartDtAndEndDt(startDt, endDt);\n const dates = (0, common_1.getDateRangeArray)(startDt, endDt);\n const now = new Date().getTime();\n this.updateCachePrepare(dates, now);\n res.forEach((item) => {\n this.updateCache(item.date, item, now);\n });\n });\n this.updateCachePrepare = (dates, createdAt) => {\n dates.forEach((date) => {\n this.cache[date] = {\n mast: null,\n createdAt,\n };\n });\n };\n this.updateCache = (date, input, createdAt) => {\n this.cache[date] = {\n mast: input,\n createdAt,\n };\n };\n this.getDailyData = (date) => {\n if (this.cache[date]) {\n const LIMIT = this.cache[date].createdAt + this.TTL;\n if (LIMIT >= new Date().getTime()) {\n return this.cache[date].mast || \"EMPTY\";\n }\n }\n return null;\n };\n this.implementedRepository = implementedRepository;\n this.TTL = TTL;\n this.fetchStartDtAndEndDt = fetchStartDtAndEndDt;\n this.debounceFetchDts = new common_1.Debounce(waitFor).debounceForDtRange(this.fetchRange);\n }\n add(input) {\n return __awaiter(this, void 0, void 0, function* () {\n const res = yield this.implementedRepository.add(input);\n this.updateCache(input.date, res, new Date().getTime());\n return res;\n });\n }\n fetchByDate(date) {\n return __awaiter(this, void 0, void 0, function* () {\n const cache = this.getDailyData(date);\n if (cache === \"EMPTY\") {\n return null;\n }\n else if (cache) {\n return cache;\n }\n yield this.debounceFetchDts(date, (0, common_1.addDate)(date, 3));\n const cacheAfterUpdate = this.getDailyData(date);\n if (cacheAfterUpdate === \"EMPTY\") {\n return null;\n }\n return cacheAfterUpdate;\n });\n }\n}\nexports.PaymentSummaryRepositoryCacheAdaptor = PaymentSummaryRepositoryCacheAdaptor;\n","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReceiptMastRepositoryCacheAdapter = void 0;\nconst base_1 = require(\"../base\");\nclass ReceiptMastRepositoryCacheAdapter extends base_1.CacheAdaptorBase {\n /**\n * debounce\n */\n constructor(receiptMastRepository, cacheTimeMilli) {\n super();\n this.receiptCache = {};\n this.receiptMastRepository = receiptMastRepository;\n this.cacheTimeMilli = cacheTimeMilli;\n }\n cacheClear() {\n this.receiptCache = {};\n }\n addReceipt(input) {\n return __awaiter(this, void 0, void 0, function* () {\n const receiptMast = yield this.receiptMastRepository.addReceipt(input);\n const createdAt = new Date().getTime();\n this.updateCache(receiptMast, createdAt);\n return receiptMast;\n });\n }\n updateReceipt(input) {\n return __awaiter(this, void 0, void 0, function* () {\n const receiptMast = yield this.receiptMastRepository.updateReceipt(input);\n const createdAt = new Date().getTime();\n this.updateCache(receiptMast, createdAt);\n return receiptMast;\n });\n }\n /**\n * @param hotelID ホテルID\n * @param resourceID リソースID\n */\n fetchReceiptByOwnerIDAndResourceID(ownerID, resourceID) {\n return __awaiter(this, void 0, void 0, function* () {\n const uniqueID = ownerID + \"-\" + resourceID;\n const cache = this.receiptCache[uniqueID];\n const now = new Date().getTime();\n if (cache) {\n if (now < cache.createdAt + this.cacheTimeMilli) {\n return cache.mast;\n }\n }\n const receiptMast = yield this.receiptMastRepository.fetchReceiptByOwnerIDAndResourceID(ownerID, resourceID);\n if (receiptMast) {\n this.updateCache(receiptMast, now);\n }\n return receiptMast;\n });\n }\n // ==================== private ====================\n updateCache(receiptMast, createdAt) {\n // cacheが存在していたら更新する。\n const uniqueID = receiptMast.ownerID + \"-\" + receiptMast.resourceID;\n const cache = this.receiptCache[uniqueID];\n if (cache) {\n cache.mast = receiptMast;\n cache.createdAt = createdAt;\n }\n else {\n // cacheが存在しない場合は作成\n this.receiptCache[uniqueID] = {\n mast: receiptMast,\n createdAt: createdAt,\n };\n }\n }\n}\nexports.ReceiptMastRepositoryCacheAdapter = ReceiptMastRepositoryCacheAdapter;\n__decorate([\n base_1.Mutation\n], ReceiptMastRepositoryCacheAdapter.prototype, \"addReceipt\", null);\n__decorate([\n base_1.Mutation\n], ReceiptMastRepositoryCacheAdapter.prototype, \"updateReceipt\", null);\n__decorate([\n base_1.Query\n], ReceiptMastRepositoryCacheAdapter.prototype, \"fetchReceiptByOwnerIDAndResourceID\", null);\n","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserMastHostCacheAdapter = void 0;\nconst __1 = require(\"../..\");\nconst base_1 = require(\"../base\");\nclass UserMastHostCacheAdapter extends base_1.CacheAdaptorBase {\n constructor(userMastRepository) {\n super();\n /**\n * オンメモリキャッシュ\n */\n this.serverCache = {};\n this.frontCache = null;\n this.userMastRepository = userMastRepository;\n }\n cacheClear() {\n this.serverCache = {};\n this.frontCache = null;\n }\n fetchMyUserMast(hostUserID) {\n return __awaiter(this, void 0, void 0, function* () {\n const cache = this.getCache(hostUserID);\n if (cache) {\n return cache;\n }\n const retval = yield this.userMastRepository.fetchMyUserMast(hostUserID);\n this.updateCache(retval, hostUserID);\n return retval;\n });\n }\n addSameCompanyIDUserMast(companyID, email, hostUserID) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.userMastRepository.addSameCompanyIDUserMast(companyID, email, hostUserID);\n const retval = yield this.userMastRepository.fetchMyUserMast(hostUserID);\n this.updateCache(retval, hostUserID);\n return retval;\n });\n }\n // ================ private ===============\n getCache(hostUserID) {\n if (!hostUserID) {\n return this.frontCache;\n }\n if (this.serverCache[hostUserID]) {\n return this.serverCache[hostUserID];\n }\n return null;\n }\n updateCache(userMastHost, hostUserID) {\n if (!hostUserID) {\n this.frontCache = userMastHost;\n }\n else {\n this.serverCache[userMastHost.hostUserID] = userMastHost;\n }\n }\n}\nexports.UserMastHostCacheAdapter = UserMastHostCacheAdapter;\n__decorate([\n __1.Query\n], UserMastHostCacheAdapter.prototype, \"fetchMyUserMast\", null);\n__decorate([\n __1.Mutation\n], UserMastHostCacheAdapter.prototype, \"addSameCompanyIDUserMast\", null);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./companyMastRepository\"), exports);\n__exportStar(require(\"./imageMastRepository\"), exports);\n__exportStar(require(\"./paymentSummaryRepository\"), exports);\n__exportStar(require(\"./receiptMastRepository\"), exports);\n__exportStar(require(\"./userMastHostRepository\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CacheAdaptorMemoryLeakHandler = void 0;\nclass CacheAdaptorMemoryLeakHandler {\n constructor(adaptors) {\n this.adaptors = adaptors;\n }\n clear() {\n Object.keys(this.adaptors).forEach((key) => {\n this.adaptors[key].cacheClear();\n });\n }\n}\nexports.CacheAdaptorMemoryLeakHandler = CacheAdaptorMemoryLeakHandler;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./base\"), exports);\n__exportStar(require(\"./repository\"), exports);\n__exportStar(require(\"./memoryLeakHandler\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./companyMastRepository\"), exports);\n__exportStar(require(\"./imageMastRepository\"), exports);\n__exportStar(require(\"./paymentAchievementRepository\"), exports);\n__exportStar(require(\"./paymentSummaryRepository\"), exports);\n__exportStar(require(\"./receiptMastRepository\"), exports);\n__exportStar(require(\"./userMastHostRepository\"), exports);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ValidateDecorator = ValidateDecorator;\nconst clean = (o, keys) => {\n const validKeys = Object.keys(keys);\n Object.keys(o).forEach((key) => {\n if (!validKeys.includes(key)) {\n delete o[key];\n }\n });\n return o;\n};\nfunction ValidateDecorator(keys) {\n const res = function (target, name, descriptor) {\n const method = descriptor.value; // もともとのメソッドを退避しておきます。\n descriptor.value = function () {\n var arguments_1 = arguments;\n return __awaiter(this, void 0, void 0, function* () {\n // methodの実行\n // eslint-disable-next-line prefer-rest-params\n const ret = yield method.apply(this, arguments_1);\n if (ret === null) {\n return ret;\n }\n else if (Object.prototype.toString.call(ret) === \"[object Array]\") {\n // 配列の場合\n return ret.map((item) => {\n return clean(item, keys);\n });\n }\n else {\n // 配列ではない場合\n return clean(ret, keys);\n }\n });\n };\n };\n return res;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CompanyMastValidator = void 0;\nconst base_1 = require(\"./base\");\nexports.CompanyMastValidator = (0, base_1.ValidateDecorator)({\n resourceType: true,\n companyID: true,\n name: true,\n email: true,\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PaymentAchivementValidator = void 0;\nconst base_1 = require(\"./base\");\nexports.PaymentAchivementValidator = (0, base_1.ValidateDecorator)({\n uniqueID: true,\n ownerID: true,\n ownerName: true,\n resourceID: true,\n guestName: true,\n channel: false,\n createdAt: true,\n method: true,\n status: true,\n paymentType: true,\n price: true,\n totalChillnnCharge: true,\n totalPaymentCharge: true,\n refundPrice: false,\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PaymentSummaryValidator = void 0;\nconst base_1 = require(\"./base\");\nexports.PaymentSummaryValidator = (0, base_1.ValidateDecorator)({\n date: true,\n paymentTypeRecords: true,\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReceiptMastValidator = void 0;\nconst base_1 = require(\"./base\");\nexports.ReceiptMastValidator = (0, base_1.ValidateDecorator)({\n resourceType: true,\n ownerID: true,\n resourceID: true,\n receiptAddress: true,\n totalGuestCharge: true,\n numberOfIssues: true,\n capturedAt: true,\n updatedAt: true,\n isAlreadyIssued: true,\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserMastHostValidator = void 0;\nconst base_1 = require(\"./base\");\nexports.UserMastHostValidator = (0, base_1.ValidateDecorator)({\n companyID: true,\n hostUserID: true,\n userType: true,\n email: false,\n});\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./base\"), exports);\n__exportStar(require(\"./companyMast\"), exports);\n__exportStar(require(\"./paymentAchivement\"), exports);\n__exportStar(require(\"./paymentSummary\"), exports);\n__exportStar(require(\"./receiptMast\"), exports);\n__exportStar(require(\"./userMastHost\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./repository\"), exports);\n__exportStar(require(\"./resource\"), exports);\n__exportStar(require(\"./type\"), exports);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostCompanyInteractor = void 0;\nconst __1 = require(\"../../..\");\nconst type_1 = require(\"../../../entity/type\");\nclass HostCompanyInteractor {\n constructor(userMastHostRepository) {\n this.userMastHostRepository = userMastHostRepository;\n }\n getBlancMast() {\n return {\n resourceType: type_1.ResourceType.CompanyMast,\n companyID: (0, __1.getUniqueID)(3),\n };\n }\n fetchMyCompanyID(hostUserID) {\n return __awaiter(this, void 0, void 0, function* () {\n const userMastHost = yield this.userMastHostRepository.fetchMyUserMast(hostUserID);\n return userMastHost.companyID;\n });\n }\n}\nexports.HostCompanyInteractor = HostCompanyInteractor;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HostImageInteractor = void 0;\nconst common_1 = require(\"../../../common\");\nclass HostImageInteractor {\n constructor(imageRepository) {\n this.imageRepository = imageRepository;\n }\n addNewImage(ownerID, image) {\n return __awaiter(this, void 0, void 0, function* () {\n const createdAt = new Date().getTime();\n const imageMast = {\n ownerID,\n uuid: `${createdAt}#${(0, common_1.generateUuid)()}`,\n createdAt,\n image,\n };\n return this.imageRepository.add(imageMast);\n });\n }\n deleteImage(ownerID, uuid) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.imageRepository.delete(ownerID, uuid);\n });\n }\n fetchMast(ownerID) {\n return __awaiter(this, void 0, void 0, function* () {\n return (yield this.imageRepository.fetchImages(ownerID)).sort((a, b) => (0, common_1.compareNumDesc)(a.createdAt, b.createdAt));\n });\n }\n}\nexports.HostImageInteractor = HostImageInteractor;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./interactor/companyInteractor\"), exports);\n__exportStar(require(\"./interactor/imageInteractor\"), exports);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GuestReceiptInteractor = void 0;\nclass GuestReceiptInteractor {\n constructor(receiptMastRepository) {\n this.receiptRepository = receiptMastRepository;\n }\n fetchReceiptMastByOwnerIDAndResourceID(ownerID, resourceID) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.receiptRepository.fetchReceiptByOwnerIDAndResourceID(ownerID, resourceID);\n });\n }\n addReceiptMast(receiptMast) {\n return __awaiter(this, void 0, void 0, function* () {\n const now = new Date().getTime();\n receiptMast.isAlreadyIssued = true;\n receiptMast.updatedAt = now;\n receiptMast.numberOfIssues = 1;\n // 永続化\n return yield this.receiptRepository.addReceipt(receiptMast);\n });\n }\n updateReceiptMast(receiptMast) {\n return __awaiter(this, void 0, void 0, function* () {\n const now = new Date().getTime();\n receiptMast.isAlreadyIssued = true;\n receiptMast.updatedAt = now;\n receiptMast.numberOfIssues += 1;\n // 永続化\n return yield this.receiptRepository.updateReceipt(receiptMast);\n });\n }\n}\nexports.GuestReceiptInteractor = GuestReceiptInteractor;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./interactor/receiptInteractor\"), exports);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PaymentSummaryInteractor = void 0;\nclass PaymentSummaryInteractor {\n constructor(paymentSummaryRepository) {\n this.paymentSummaryRepository = paymentSummaryRepository;\n }\n fetchSummaryByDate(date) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.paymentSummaryRepository.fetchByDate(date);\n });\n }\n}\nexports.PaymentSummaryInteractor = PaymentSummaryInteractor;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdminImageInteractor = void 0;\nconst common_1 = require(\"../../../common\");\nclass AdminImageInteractor {\n constructor(imageRepository) {\n this.imageRepository = imageRepository;\n }\n addNewImage(image) {\n return __awaiter(this, void 0, void 0, function* () {\n const createdAt = new Date().getTime();\n const imageMast = {\n ownerID: \"admin\",\n uuid: `${createdAt}#${(0, common_1.generateUuid)()}`,\n createdAt,\n image,\n };\n return this.imageRepository.add(imageMast);\n });\n }\n deleteImage(uuid) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.imageRepository.delete(\"admin\", uuid);\n });\n }\n fetchMast() {\n return __awaiter(this, void 0, void 0, function* () {\n return (yield this.imageRepository.fetchImages(\"admin\")).sort((a, b) => (0, common_1.compareNumDesc)(a.createdAt, b.createdAt));\n });\n }\n}\nexports.AdminImageInteractor = AdminImageInteractor;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./interactor/paymentSummaryInteractor\"), exports);\n__exportStar(require(\"./interactor/imageInteractor\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./common\"), exports);\n__exportStar(require(\"./adaptor\"), exports);\n__exportStar(require(\"./entity\"), exports);\n__exportStar(require(\"./users/host\"), exports);\n__exportStar(require(\"./users/guest\"), exports);\n__exportStar(require(\"./users/admin\"), exports);\n"],"names":["type","CurrencyType","DayOfTheWeek","DiscountType","ErrorCode","LangCode","LocalPaymentCancelStatus","PaymentAgencyType","PaymentCancelFeeType","PaymentMethod","PaymentStatus","PaymentType","QuestionType","ResourceType","SaleTypeForTerm","TimeZone","UserTypeHost","isJsonParseExecutable_1","isJsonParseExecutable","arg","exports","type_1","require$$0","require$$1","ChillnnError","errCode","options","json","ChillnnErrorForServer_1","ChillnnError_1","ChillnnErrorForServer$1","err","ChillnnErrorForServer","__awaiter","this","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","observer","Observer","cb","fn","debounce","Debounce","waitFor","func","timer","startDtLocal","endDtLocal","promises","startDt","endDt","args","resolveFunc","r","base64","ieee754","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","typedArraySupport","arr","proto","createBuffer","length","buf","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","b","fromObject","assertSize","size","alloc","fill","encoding","checked","string","byteLength","actual","fromArrayLike","array","i","arrayView","copy","byteOffset","obj","len","numberIsNaN","a","x","y","list","buffer","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","str","max","target","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","code","errors","E","sym","getMessage","Base","name","range","input","msg","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","c","src","dst","alphabet","table","i16","BufferBigIntNotDefined","__importDefault","mod","cryptoUtil","encrypto","getDecodableEncryptedString","getDecodableDecryptedString","getEncryptedStringWithPasswordForOldVoucher","getDecryptedStringWithPasswordForOldVoucher","getEncryptedStringWithPasswordForVoucher","getDecryptedStringWithPasswordForVoucher","getEncryptedStringWithPassword","getDecryptedStringWithPassword","buffer_1","crypto_browserify_1","crypto_js_1","require$$2","password","INITIAL_VECTOR_KEY__VOUCHER","KEY","INITIAL_VECTOR_KEY","ENCODING_STRATEGY","raw","iv","encrypted","ENCRYPTION_KEY","BUFFER_KEY","ENCRYPT_METHOD","ENCODING","requiredLength","cipher","encryptedText","decipher","decrypted","key","throttle","cryptoUtil_1","Throttle","isCalled","getKey","decorator","ThrottleForMast","DebounceForDtRange","debounce_1","throttle_1","require$$3","descriptor","method","compare","compareNumAsc","compareNumDesc","compareStrAsc","compareStrDesc","dateUtil","getDateRangeArray","getDateTimeRangeArray","getDayOfTheWeek","format","getCurrentTimeStamp","getMilliSecBySpecificDateAndTime","getCurrentDate","getCurrentDateTime","DateTimeToDate","DateTimeToTime","getEndOfDateMilli","getSubOfEndOfDates","getSubOfDateAMinusDateB","addDate","addYear","addMinutes","validDateFormat","getMMDDFromYYYYMMDD","dayjs","dateArray","currentDate","stopDate","startAt","endAt","stepMin","date","timestamp","timezone","formatVar","tz","time","getDiff","timeZone","dateTime","dayStr","targetDate","HH","mm","HHInt","mmInt","dateA","dateB","inc","formatStatement","isValidFormat","splited","getI18nString_1","getI18nString","lang","getUniqueID_1","getUniqueID","getShortID","getReservationID","getRoomUniqueID","getOptionUniqueID","generateUuid","isUuid","shortid_1","digit","strong","maxLength","id","prefix","reservationID","uuid","uuidRegex","HTMLUtil","stripHTML","html","isInteger_1","isInteger","number","castNumberOrNull","init","getNumArray","startNum","_","index","sleep","chillnnSleep","msec","stringConvert","zenkana2Hankana","kanaMap","reg","inverse","match","stringUtil","escapeControllString","escapeObject","object","__createBinding","o","k","k2","desc","__exportStar","p","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","base","CacheAdaptorDecorator","arguments_1","errorCode","arguments_2","CacheAdaptorBase","__decorate","decorators","d","companyMastRepository","base_1","CompanyMastReposiotryCacheAdapter","companyRepository","waitForDebounce","companyID","retval","companyMast","hostUserID","imageMastRepository","common_1","ImageMastRepositoryCacheAdaptor","imageRepository","response","ownerID","images","imageMasts","item","imageMast","cache","paymentSummaryRepository","PaymentSummaryRepositoryCacheAdaptor","implementedRepository","TTL","fetchStartDtAndEndDt","dates","now","createdAt","cacheAfterUpdate","receiptMastRepository","ReceiptMastRepositoryCacheAdapter","cacheTimeMilli","receiptMast","resourceID","uniqueID","userMastHostRepository","__1","UserMastHostCacheAdapter","userMastRepository","email","userMastHost","memoryLeakHandler","CacheAdaptorMemoryLeakHandler","adaptors","paymentAchievementRepository","ValidateDecorator","clean","keys","validKeys","paymentAchivement","paymentSummary","companyInteractor","HostCompanyInteractor","imageInteractor","HostImageInteractor","image","receiptInteractor","GuestReceiptInteractor","paymentSummaryInteractor","PaymentSummaryInteractor","AdminImageInteractor"],"mappings":"qJACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,aAAuBA,EAAA,SAAmBA,EAAA,gBAA0BA,EAAoB,aAAGA,EAAoB,aAAGA,EAAmB,YAAGA,EAAqB,cAAGA,gBAAwBA,EAAA,qBAA+BA,EAAA,kBAA4BA,EAAA,yBAAmCA,EAAA,SAAmBA,EAAiB,UAAGA,EAAoB,aAAGA,EAAoB,aAAGA,EAAoB,aAAG,OAClY,IAAIC,GACH,SAAUA,EAAc,CACrBA,EAAa,IAAS,MACtBA,EAAa,IAAS,KACzB,GAAEA,IAAiBD,EAAA,aAAuBC,EAAe,CAAE,EAAC,EAC7D,IAAIC,GACH,SAAUA,EAAc,CACrBA,EAAa,IAAS,MACtBA,EAAa,IAAS,MACtBA,EAAa,IAAS,MACtBA,EAAa,IAAS,MACtBA,EAAa,IAAS,MACtBA,EAAa,IAAS,MACtBA,EAAa,IAAS,KACzB,GAAEA,IAAiBF,EAAA,aAAuBE,EAAe,CAAE,EAAC,EAC7D,IAAIC,GACH,SAAUA,EAAc,CACrBA,EAAa,MAAW,QACxBA,EAAa,OAAY,QAC5B,GAAEA,IAAiBH,EAAA,aAAuBG,EAAe,CAAE,EAAC,EAC7D,IAAIC,GACH,SAAUA,EAAW,CAClBA,EAAU,4BAAiC,8BAC3CA,EAAU,wBAA6B,0BACvCA,EAAU,wBAA6B,0BACvCA,EAAU,4BAAiC,8BAC3CA,EAAU,2BAAgC,6BAC1CA,EAAU,+BAAoC,iCAC9CA,EAAU,4BAAiC,8BAC3CA,EAAU,sBAA2B,wBACrCA,EAAU,qBAA0B,uBACpCA,EAAU,wBAA6B,0BACvCA,EAAU,0CAA+C,4CACzDA,EAAU,sCAA2C,wCACrDA,EAAU,kCAAuC,oCACjDA,EAAU,yCAA8C,2CACxDA,EAAU,0BAA+B,4BACzCA,EAAU,kCAAuC,oCACjDA,EAAU,yBAA8B,2BACxCA,EAAU,0BAA+B,4BACzCA,EAAU,sDAA2D,wDACrEA,EAAU,sDAA2D,wDACrEA,EAAU,qCAA0C,uCACpDA,EAAU,oCAAyC,sCACnDA,EAAU,8DAAmE,gEAC7EA,EAAU,4DAAiE,8DAC3EA,EAAU,yDAA8D,2DACxEA,EAAU,4DAAiE,8DAC3EA,EAAU,uDAA4D,yDACtEA,EAAU,qDAA0D,uDACpEA,EAAU,qDAA0D,uDACpEA,EAAU,gDAAqD,kDAC/DA,EAAU,uCAA4C,yCACtDA,EAAU,yBAA8B,2BACxCA,EAAU,0BAA+B,4BACzCA,EAAU,oCAAyC,sCACnDA,EAAU,4BAAiC,8BAC3CA,EAAU,gCAAqC,kCAC/CA,EAAU,6BAAkC,+BAC5CA,EAAU,8BAAmC,gCAC7CA,EAAU,wCAA6C,0CACvDA,EAAU,iCAAsC,mCAChDA,EAAU,2CAAgD,6CAC1DA,EAAU,oDAAyD,sDACnEA,EAAU,sCAA2C,wCACrDA,EAAU,4CAAiD,8CAC3DA,EAAU,yCAA8C,2CACxDA,EAAU,+CAAoD,iDAC9DA,EAAU,kCAAuC,oCACjDA,EAAU,yBAA8B,2BACxCA,EAAU,wBAA6B,0BACvCA,EAAU,8BAAmC,gCAC7CA,EAAU,0BAA+B,4BACzCA,EAAU,2CAAgD,6CAC1DA,EAAU,0CAA+C,4CACzDA,EAAU,oCAAyC,sCACnDA,EAAU,8BAAmC,gCAC7CA,EAAU,8BAAmC,gCAC7CA,EAAU,mCAAwC,qCAClDA,EAAU,mCAAwC,qCAClDA,EAAU,8BAAmC,gCAC7CA,EAAU,4BAAiC,8BAC3CA,EAAU,uBAA4B,yBACtCA,EAAU,8BAAmC,gCAC7CA,EAAU,kCAAuC,oCACjDA,EAAU,0BAA+B,4BACzCA,EAAU,0BAA+B,4BACzCA,EAAU,6BAAkC,+BAC5CA,EAAU,mCAAwC,qCAClDA,EAAU,oCAAyC,sCACnDA,EAAU,yBAA8B,2BACxCA,EAAU,+BAAoC,iCAC9CA,EAAU,qCAA0C,uCACpDA,EAAU,sCAA2C,wCACrDA,EAAU,4CAAiD,8CAC3DA,EAAU,kCAAuC,oCACjDA,EAAU,gCAAqC,kCAC/CA,EAAU,yCAA8C,2CACxDA,EAAU,2CAAgD,6CAC1DA,EAAU,yDAA8D,2DACxEA,EAAU,6BAAkC,+BAC5CA,EAAU,iCAAsC,mCAChDA,EAAU,6BAAkC,+BAC5CA,EAAU,+CAAoD,iDAC9DA,EAAU,2CAAgD,6CAC1DA,EAAU,+CAAoD,iDAC9DA,EAAU,0CAA+C,4CACzDA,EAAU,2CAAgD,6CAC1DA,EAAU,yCAA8C,2CACxDA,EAAU,sCAA2C,wCACrDA,EAAU,yCAA8C,2CACxDA,EAAU,iCAAsC,mCAChDA,EAAU,iCAAsC,mCAChDA,EAAU,sDAA2D,wDACrEA,EAAU,4BAAiC,8BAC3CA,EAAU,iCAAsC,mCAChDA,EAAU,+BAAoC,iCAC9CA,EAAU,kCAAuC,oCACjDA,EAAU,sCAA2C,wCACrDA,EAAU,gCAAqC,kCAC/CA,EAAU,4BAAiC,8BAC3CA,EAAU,gCAAqC,kCAC/CA,EAAU,8BAAmC,gCAC7CA,EAAU,4BAAiC,8BAC3CA,EAAU,yCAA8C,2CACxDA,EAAU,kCAAuC,oCACjDA,EAAU,+BAAoC,iCAC9CA,EAAU,kCAAuC,oCACjDA,EAAU,0BAA+B,4BACzCA,EAAU,yBAA8B,2BACxCA,EAAU,mCAAwC,qCAClDA,EAAU,wBAA6B,0BACvCA,EAAU,0BAA+B,4BACzCA,EAAU,2CAAgD,6CAC1DA,EAAU,2CAAgD,6CAC1DA,EAAU,uBAA4B,yBACtCA,EAAU,uBAA4B,yBACtCA,EAAU,uBAA4B,yBACtCA,EAAU,wBAA6B,0BACvCA,EAAU,iCAAsC,mCAChDA,EAAU,qBAA0B,uBACpCA,EAAU,uBAA4B,yBACtCA,EAAU,yBAA8B,2BACxCA,EAAU,qCAA0C,uCACpDA,EAAU,uCAA4C,yCACtDA,EAAU,mCAAwC,qCAClDA,EAAU,mCAAwC,qCAClDA,EAAU,kCAAuC,oCACjDA,EAAU,4BAAiC,8BAC3CA,EAAU,oBAAyB,sBACnCA,EAAU,qBAA0B,uBACpCA,EAAU,uBAA4B,yBACtCA,EAAU,yBAA8B,2BACxCA,EAAU,wBAA6B,0BACvCA,EAAU,mBAAwB,qBAClCA,EAAU,qBAA0B,uBACpCA,EAAU,0BAA+B,4BACzCA,EAAU,0BAA+B,4BACzCA,EAAU,2BAAgC,6BAC1CA,EAAU,2BAAgC,6BAC1CA,EAAU,4BAAiC,8BAC3CA,EAAU,0BAA+B,4BACzCA,EAAU,qBAA0B,uBACpCA,EAAU,qCAA0C,uCACpDA,EAAU,sBAA2B,wBACrCA,EAAU,8BAAmC,gCAC7CA,EAAU,uCAA4C,yCACtDA,EAAU,kCAAuC,oCACjDA,EAAU,gCAAqC,kCAC/CA,EAAU,+BAAoC,iCAC9CA,EAAU,wBAA6B,0BACvCA,EAAU,0BAA+B,4BACzCA,EAAU,sBAA2B,wBACrCA,EAAU,4BAAiC,8BAC3CA,EAAU,mBAAwB,qBAClCA,EAAU,gCAAqC,kCAC/CA,EAAU,gCAAqC,kCAC/CA,EAAU,iCAAsC,mCAChDA,EAAU,+BAAoC,iCAC9CA,EAAU,2BAAgC,6BAC1CA,EAAU,wBAA6B,0BACvCA,EAAU,wBAA6B,0BACvCA,EAAU,0BAA+B,4BACzCA,EAAU,sBAA2B,wBACrCA,EAAU,uBAA4B,yBACtCA,EAAU,uBAA4B,yBACtCA,EAAU,kBAAuB,oBACjCA,EAAU,oBAAyB,sBACnCA,EAAU,8BAAmC,gCAC7CA,EAAU,0BAA+B,4BACzCA,EAAU,2BAAgC,6BAC1CA,EAAU,0BAA+B,4BACzCA,EAAU,mBAAwB,qBAClCA,EAAU,sBAA2B,wBACrCA,EAAU,0BAA+B,4BACzCA,EAAU,4BAAiC,8BAC3CA,EAAU,qBAA0B,uBACpCA,EAAU,iBAAsB,mBAChCA,EAAU,uBAA4B,yBACtCA,EAAU,uBAA4B,yBACtCA,EAAU,2BAAgC,6BAC1CA,EAAU,6BAAkC,+BAC5CA,EAAU,qBAA0B,uBACpCA,EAAU,8BAAmC,gCAC7CA,EAAU,wBAA6B,0BACvCA,EAAU,2BAAgC,6BAC1CA,EAAU,oBAAyB,sBACnCA,EAAU,mBAAwB,qBAClCA,EAAU,0BAA+B,4BACzCA,EAAU,2BAAgC,6BAC1CA,EAAU,0BAA+B,4BACzCA,EAAU,4BAAiC,8BAC3CA,EAAU,4BAAiC,8BAC3CA,EAAU,4BAAiC,8BAC3CA,EAAU,wBAA6B,0BACvCA,EAAU,qBAA0B,uBACpCA,EAAU,yBAA8B,2BACxCA,EAAU,wBAA6B,0BACvCA,EAAU,kBAAuB,oBACjCA,EAAU,mBAAwB,qBAClCA,EAAU,oBAAyB,sBACnCA,EAAU,uBAA4B,yBACtCA,EAAU,iBAAsB,mBAChCA,EAAU,eAAoB,iBAC9BA,EAAU,wBAA6B,0BACvCA,EAAU,4BAAiC,8BAC3CA,EAAU,yBAA8B,2BACxCA,EAAU,gBAAqB,kBAC/BA,EAAU,kBAAuB,oBACjCA,EAAU,+BAAoC,iCAC9CA,EAAU,kDAAuD,oDACjEA,EAAU,eAAoB,iBAC9BA,EAAU,yBAA8B,2BACxCA,EAAU,uBAA4B,yBACtCA,EAAU,2BAAgC,6BAC1CA,EAAU,0BAA+B,4BACzCA,EAAU,4BAAiC,8BAC3CA,EAAU,yBAA8B,2BACxCA,EAAU,6BAAkC,+BAC5CA,EAAU,4BAAiC,8BAC3CA,EAAU,yBAA8B,2BACxCA,EAAU,8BAAmC,+BAChD,GAAEA,IAAcJ,EAAA,UAAoBI,EAAY,CAAE,EAAC,EACpD,IAAIC,GACH,SAAUA,EAAU,CACjBA,EAAS,QAAa,UACtBA,EAAS,GAAQ,KACjBA,EAAS,GAAQ,IACpB,GAAEA,IAAaL,EAAA,SAAmBK,EAAW,CAAE,EAAC,EACjD,IAAIC,GACH,SAAUA,EAA0B,CACjCA,EAAyB,SAAc,WACvCA,EAAyB,aAAkB,cAC9C,GAAEA,IAA6BN,EAAA,yBAAmCM,EAA2B,CAAE,EAAC,EACjG,IAAIC,GACH,SAAUA,EAAmB,CAC1BA,EAAkB,eAAoB,iBACtCA,EAAkB,MAAW,QAC7BA,EAAkB,MAAW,OAChC,GAAEA,IAAsBP,EAAA,kBAA4BO,EAAoB,CAAE,EAAC,EAC5E,IAAIC,GACH,SAAUA,EAAsB,CAC7BA,EAAqB,OAAY,SACjCA,EAAqB,QAAa,SACrC,GAAEA,IAAyBR,EAAA,qBAA+BQ,EAAuB,CAAE,EAAC,EACrF,IAAIC,GACH,SAAUA,EAAe,CACtBA,EAAc,OAAY,SAC1BA,EAAc,KAAU,OACxBA,EAAc,MAAW,QACzBA,EAAc,KAAU,MAC3B,GAAEA,IAAkBT,EAAA,cAAwBS,EAAgB,CAAE,EAAC,EAChE,IAAIC,GACH,SAAUA,EAAe,CACtBA,EAAc,WAAgB,aAC9BA,EAAc,SAAc,WAC5BA,EAAc,eAAoB,iBAClCA,EAAc,SAAc,UAC/B,GAAEA,IAAkBV,EAAA,cAAwBU,EAAgB,CAAE,EAAC,EAChE,IAAIC,GACH,SAAUA,EAAa,CACpBA,EAAY,QAAa,UACzBA,EAAY,cAAmB,gBAC/BA,EAAY,GAAQ,KACpBA,EAAY,UAAe,YAC3BA,EAAY,YAAiB,aAChC,GAAEA,IAAgBX,EAAA,YAAsBW,EAAc,CAAE,EAAC,EAC1D,IAAIC,GACH,SAAUA,EAAc,CACrBA,EAAa,MAAW,QACxBA,EAAa,KAAU,OACvBA,EAAa,MAAW,QACxBA,EAAa,OAAY,QAC5B,GAAEA,IAAiBZ,EAAA,aAAuBY,EAAe,CAAE,EAAC,EAC7D,IAAIC,GACH,SAAUA,EAAc,CACrBA,EAAa,YAAiB,cAC9BA,EAAa,kBAAuB,oBACpCA,EAAa,eAAoB,iBACjCA,EAAa,YAAiB,cAC9BA,EAAa,aAAkB,eAC/BA,EAAa,YAAiB,aACjC,GAAEA,IAAiBb,EAAA,aAAuBa,EAAe,CAAE,EAAC,EAC7D,IAAIC,GACH,SAAUA,EAAiB,CACxBA,EAAgB,OAAY,SAC5BA,EAAgB,QAAa,SAChC,GAAEA,IAAoBd,EAAA,gBAA0Bc,EAAkB,CAAE,EAAC,EACtE,IAAIC,GACH,SAAUA,EAAU,CACjBA,EAAS,kBAAuB,oBAChCA,EAAS,YAAiB,cAC1BA,EAAS,eAAoB,gBAChC,GAAEA,IAAaf,EAAA,SAAmBe,EAAW,CAAE,EAAC,EACjD,IAAIC,EACJ,OAAC,SAAUA,EAAc,CACrBA,EAAa,MAAW,OAC3B,EAAEA,IAAiBhB,EAAA,aAAuBgB,EAAe,CAAE,EAAC,oDC/T7D,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,sBAAgCC,EAMhC,SAASA,EAAsBC,EAAK,CAChC,GAAI,CACA,KAAK,MAAMA,CAAG,CACtB,MACgB,CACR,MAAO,EACf,CACI,MAAO,EACX,6DCfA,OAAO,eAAcC,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAwB,cAAAA,EAAA,aAAuB,OAC/C,MAAMC,EAASC,GAA4B,EACrCL,EAA0BM,GAAwC,EACxE,MAAMC,UAAqB,KAAM,CAC7B,YAEAC,EACAC,EAAS,CAGL,GAFA,MAAMD,CAAO,EACb,KAAK,eAAiB,MACdR,EAAwB,uBAAuBQ,CAAO,EAC1D,GAAI,CACA,MAAME,EAAO,KAAK,MAAMF,CAAO,EAC/B,KAAK,iBAAmBE,EAAK,iBAC7B,KAAK,IAAMA,EAAK,IAChB,KAAK,iBAAmBA,EAAK,iBAC7B,MAAM,QAAU,KAAK,gBACrC,MACwB,CACR,MAAM,IAAIH,EAAaH,EAAO,UAAU,uBAAuB,CAC/E,MAGY,KAAK,iBAAmBI,EACxB,KAAK,IAAMC,GAAY,KAA6B,OAASA,EAAQ,IACrE,KAAK,iBAAmBA,GAAY,KAA6B,OAASA,EAAQ,gBAE9F,CAMI,YAAa,CACT,OAAI,KAAK,iBACE,KAAK,iBAGLN,EAAQ,cAAc,KAAK,gBAAgB,GAAKA,EAAQ,cAAcC,EAAO,UAAU,uBAAuB,CAEjI,CACA,CACAD,EAAA,aAAuBI,EAIvBJ,EAAwB,cAAA,CAEpB,oCAAqC,CACjC,QAAS,mDACZ,EACD,qCAAsC,CAClC,QAAS,iDACZ,EACD,sDAAuD,CACnD,QAAS,+CACZ,EACD,sDAAuD,CACnD,QAAS,yEACZ,EAED,sCAAuC,CACnC,QAAS,gBACZ,EAED,+CAAgD,CAC5C,QAAS,gBACZ,EAED,uCAAwC,CACpC,QAAS,qBACZ,EACD,6BAA8B,CAC1B,QAAS,cACZ,EACD,gCAAiC,CAC7B,QAAS,uBACZ,EACD,8BAA+B,CAC3B,QAAS,eACZ,EACD,yBAA0B,CACtB,QAAS,iBACZ,EACD,0BAA2B,CACvB,QAAS,gDACZ,EACD,oCAAqC,CACjC,QAAS,0BACZ,EACD,4BAA6B,CACzB,QAAS,sBACZ,EAED,yBAA0B,CACtB,QAAS,mDACZ,EACD,sCAAuC,CACnC,QAAS,aACZ,EACD,qCAAsC,CAClC,QAAS,aACZ,EACD,oCAAqC,CACjC,QAAS,eACZ,EACD,mCAAoC,CAChC,QAAS,+BACZ,EACD,kCAAmC,CAC/B,QAAS,kBACZ,EACD,2CAA4C,CACxC,QAAS,gBACZ,EACD,yCAA0C,CACtC,QAAS,mBACZ,EACD,2CAA4C,CACxC,QAAS,qBACZ,EACD,6BAA8B,CAC1B,QAAS,iBACZ,EACD,6BAA8B,CAC1B,QAAS,kBACZ,EACD,iCAAkC,CAC9B,QAAS,gBACZ,EACD,sCAAuC,CACnC,QAAS,mBACZ,EACD,yCAA0C,CACtC,QAAS,kBACZ,EACD,+BAAgC,CAC5B,QAAS,eACZ,EACD,gCAAiC,CAC7B,QAAS,iBACZ,EACD,4CAA6C,CACzC,QAAS,8BACZ,EACD,sDAAuD,CACnD,QAAS,kDACZ,EACD,+CAAgD,CAC5C,QAAS,gBACZ,EACD,iCAAkC,CAC9B,QAAS,mCACZ,EACD,iCAAkC,CAC9B,QAAS,gCACZ,EACD,yCAA0C,CACtC,QAAS,0CACZ,EACD,yDAA0D,CACtD,QAAS,oCACZ,EACD,gCAAiC,CAC7B,QAAS,2DACZ,EAED,gDAAiD,CAC7C,QAAS,oEACZ,EACD,8DAA+D,CAC3D,QAAS,qEACZ,EACD,yDAA0D,CACtD,QAAS,wEACZ,EACD,4DAA6D,CACzD,QAAS,sCACZ,EACD,uDAAwD,CACpD,QAAS,sEACZ,EACD,qDAAsD,CAClD,QAAS,oEACZ,EACD,qDAAsD,CAClD,QAAS,oEACZ,EACD,4DAA6D,CACzD,QAAS,6CACZ,EAED,2CAA4C,CACxC,QAAS,mBACZ,EACD,+CAAgD,CAC5C,QAAS,eACZ,EACD,0CAA2C,CACvC,QAAS,qBACZ,EAED,wBAAyB,CACrB,QAAS,kBACZ,EACD,kCAAmC,CAC/B,QAAS,yBACZ,EACD,yBAA0B,CACtB,QAAS,eACZ,EAED,yCAA0C,CACtC,QAAS,kBACZ,EACD,4CAA6C,CACzC,QAAS,sCACZ,EACD,sCAAuC,CACnC,QAAS,mCACZ,EAED,kCAAmC,CAC/B,QAAS,0DACZ,EACD,uBAAwB,CACpB,QAAS,iBACZ,EACD,4BAA6B,CACzB,QAAS,gBACZ,EACD,0BAA2B,CACvB,QAAS,mBACZ,EACD,0BAA2B,CACvB,QAAS,qBACZ,EACD,8BAA+B,CAC3B,QAAS,8BACZ,EAED,iCAAkC,CAC9B,QAAS,mBACZ,EACD,kCAAmC,CAC/B,QAAS,0DACZ,EACD,4BAA6B,CACzB,QAAS,gBACZ,EACD,+BAAgC,CAC5B,QAAS,iBACZ,EAED,0BAA2B,CACvB,QAAS,eACZ,EACD,2CAA4C,CACxC,QAAS,gBACZ,EACD,0CAA2C,CACvC,QAAS,uBACZ,EACD,oCAAqC,CACjC,QAAS,4DACZ,EACD,8BAA+B,CAC3B,QAAS,kBACZ,EAED,2CAA4C,CACxC,QAAS,4CACZ,EACD,oDAAqD,CACjD,QAAS,8CACZ,EAED,8BAA+B,CAC3B,QAAS,0BACZ,EACD,8BAA+B,CAC3B,QAAS,kBACZ,EACD,mCAAoC,CAChC,QAAS,cACZ,EACD,8BAA+B,CAC3B,QAAS,gBACZ,EACD,mCAAoC,CAChC,QAAS,0CACT,GAAI,qGACP,EAED,8BAA+B,CAC3B,QAAS,YACZ,EAED,0BAA2B,CACvB,QAAS,mBACZ,EACD,yBAA0B,CACtB,QAAS,qBACZ,EACD,4BAA6B,CACzB,QAAS,sBACZ,EACD,wBAAyB,CACrB,QAAS,sBACZ,EACD,mCAAoC,CAChC,QAAS,4DACZ,EACD,0BAA2B,CACvB,QAAS,8BACZ,EACD,kCAAmC,CAC/B,QAAS,wBACZ,EACD,+BAAgC,CAC5B,QAAS,6BACZ,EACD,yCAA0C,CACtC,QAAS,yBACZ,EACD,2CAA4C,CACxC,QAAS,oCACZ,EACD,2CAA4C,CACxC,QAAS,2BACZ,EACD,kCAAmC,CAC/B,QAAS,sBACZ,EACD,iCAAkC,CAC9B,QAAS,kBACZ,EACD,wCAAyC,CACrC,QAAS,uBACZ,EAED,6BAA8B,CAC1B,QAAS,gBACZ,EAED,yBAA0B,CACtB,QAAS,eACZ,EACD,0BAA2B,CACvB,QAAS,2CACZ,EACD,kCAAmC,CAC/B,QAAS,gBACZ,EACD,yCAA0C,CACtC,QAAS,4BACZ,EACD,sCAAuC,CACnC,QAAS,uBACZ,EACD,kCAAmC,CAC/B,QAAS,qBACZ,EACD,0CAA2C,CACvC,QAAS,gBACZ,EACD,0BAA2B,CACvB,QAAS,iDACZ,EAED,gCAAiC,CAC7B,QAAS,yBACZ,EACD,4BAA6B,CACzB,QAAS,mBACZ,EAED,wBAAyB,CACrB,QAAS,mEACZ,EACD,+BAAgC,CAC5B,QAAS,qBACZ,EACD,4BAA6B,CACzB,QAAS,4BACZ,EACD,2BAA4B,CACxB,QAAS,6BACZ,EACD,4BAA6B,CACzB,QAAS,kBACZ,EACD,sBAAuB,CACnB,QAAS,cACZ,EACD,qBAAsB,CAClB,QAAS,4BACZ,EAED,wBAAyB,CACrB,QAAS,6CACZ,EACD,4BAA6B,CACzB,QAAS,iBACZ,EACD,wBAAyB,CACrB,QAAS,wCACZ,EAED,qBAAsB,CAClB,QAAS,aACZ,EACD,kBAAmB,CACf,QAAS,WACZ,EACD,8BAA+B,CAC3B,QAAS,kBACZ,EACD,0BAA2B,CACvB,QAAS,YACZ,EACD,2BAA4B,CACxB,QAAS,aACZ,EACD,0BAA2B,CACvB,QAAS,aACZ,EACD,mBAAoB,CAChB,QAAS,WACZ,EACD,oBAAqB,CACjB,QAAS,sBACZ,EACD,uBAAwB,CACpB,QAAS,qBACZ,EACD,mBAAoB,CAChB,QAAS,mBACZ,EACD,yBAA0B,CACtB,QAAS,wBACZ,EACD,iBAAkB,CACd,QAAS,UACZ,EACD,iBAAkB,CACd,QAAS,mBACZ,EACD,sBAAuB,CACnB,QAAS,aACZ,EACD,mBAAoB,CAChB,QAAS,WACZ,EACD,0BAA2B,CACvB,QAAS,YACZ,EACD,8BAA+B,CAC3B,QAAS,wBACZ,EACD,0BAA2B,CACvB,QAAS,YACZ,EACD,wBAAyB,CACrB,QAAS,mBACZ,EACD,wBAAyB,CACrB,QAAS,gBACZ,EACD,4BAA6B,CACzB,QAAS,YACZ,EACD,sBAAuB,CACnB,QAAS,aACZ,EACD,uBAAwB,CACpB,QAAS,aACZ,EACD,0BAA2B,CACvB,QAAS,YACZ,EACD,qBAAsB,CAClB,QAAS,aACZ,EACD,0BAA2B,CACvB,QAAS,aACZ,EACD,mBAAoB,CAChB,QAAS,WACZ,EACD,wBAAyB,CACrB,QAAS,gBACZ,EACD,2BAA4B,CACxB,QAAS,mBACZ,EACD,+BAAgC,CAC5B,QAAS,sBACZ,EACD,iCAAkC,CAC9B,QAAS,sBACZ,EACD,gCAAiC,CAC7B,QAAS,sBACZ,EACD,gCAAiC,CAC7B,QAAS,sBACZ,EACD,uBAAwB,CACpB,QAAS,UACZ,EACD,sBAAuB,CACnB,QAAS,WACZ,EACD,oBAAqB,CACjB,QAAS,eACZ,EACD,uBAAwB,CACpB,QAAS,sBACZ,EACD,eAAgB,CACZ,QAAS,uBACZ,EACD,0BAA2B,CACvB,QAAS,eACZ,EACD,oBAAqB,CACjB,QAAS,wBACZ,EACD,wBAAyB,CACrB,QAAS,uBACZ,EACD,wBAAyB,CACrB,QAAS,oBACZ,EACD,+BAAgC,CAC5B,QAAS,uBACZ,EACD,kDAAmD,CAC/C,QAAS,gCACZ,EACD,qBAAsB,CAClB,QAAS,qBACZ,EACD,4BAA6B,CACzB,QAAS,WACZ,EACD,uBAAwB,CACpB,QAAS,YACZ,EACD,qCAAsC,CAClC,QAAS,6BACZ,EACD,2BAA4B,CACxB,QAAS,oBACZ,EACD,4BAA6B,CACzB,QAAS,uBACZ,EACD,4BAA6B,CACzB,QAAS,YACZ,EACD,uBAAwB,CACpB,QAAS,gBACZ,EACD,mCAAoC,CAChC,QAAS,2BACZ,EACD,kCAAmC,CAC/B,QAAS,yBACZ,EACD,qBAAsB,CAClB,QAAS,iBACZ,EACD,uBAAwB,CACpB,QAAS,gBACZ,EACD,yBAA0B,CACtB,QAAS,iBACZ,EACD,wBAAyB,CACrB,QAAS,wBACZ,EACD,yBAA0B,CACtB,QAAS,uBACZ,EACD,uBAAwB,CACpB,QAAS,qBACZ,EACD,iCAAkC,CAC9B,QAAS,iCACZ,EACD,uBAAwB,CACpB,QAAS,YACZ,EACD,yBAA0B,CACtB,QAAS,eACZ,EACD,0BAA2B,CACvB,QAAS,cACZ,EACD,uCAAwC,CACpC,QAAS,0BACZ,EACD,wBAAyB,CACrB,QAAS,uBACZ,EACD,yBAA0B,CACtB,QAAS,iBACZ,EACD,uBAAwB,CACpB,QAAS,oBACZ,EACD,qBAAsB,CAClB,QAAS,iBACZ,EACD,0BAA2B,CACvB,QAAS,kBACZ,EACD,mCAAoC,CAChC,QAAS,wBACZ,EACD,6BAA8B,CAC1B,QAAS,8BACZ,EACD,2BAA4B,CACxB,QAAS,kBACZ,EACD,6BAA8B,CAC1B,QAAS,oBACZ,EACD,qCAAsC,CAClC,QAAS,+BACZ,EACD,8BAA+B,CAC3B,QAAS,qBACZ,EACD,4BAA6B,CACzB,QAAS,+BACZ,EACD,4BAA6B,CACzB,QAAS,wBACZ,EACD,4BAA6B,CACzB,QAAS,8BACZ,EACD,kBAAmB,CACf,QAAS,8BACZ,EACD,eAAgB,CACZ,QAAS,8BACZ,EACD,gBAAiB,CACb,QAAS,iBACZ,EACD,yBAA0B,CACtB,QAAS,qBACZ,EAED,wBAAyB,CACrB,QAAS,UACZ,EACD,kBAAmB,CACf,QAAS,WACZ,EACD,4BAA6B,CACzB,QAAS,aACZ,EACD,mBAAoB,CAChB,QAAS,YACZ,EACD,sBAAuB,CACnB,QAAS,yBACZ,EACD,4BAA6B,CACzB,QAAS,YACZ,EACD,8BAA+B,CAC3B,QAAS,UACZ,EACD,qBAAsB,CAClB,QAAS,UACZ,EACD,4BAA6B,CACzB,QAAS,YACZ,EACD,2BAA4B,CACxB,QAAS,YACZ,EACD,2BAA4B,CACxB,QAAS,WACZ,EACD,oBAAqB,CACjB,QAAS,YACZ,EACD,wBAAyB,CACrB,QAAS,aACZ,EACD,+BAAgC,CAC5B,QAAS,eACZ,EACD,gCAAiC,CAC7B,QAAS,YACZ,EACD,uCAAwC,CACpC,QAAS,YACZ,EACD,kCAAmC,CAC/B,QAAS,YACZ,EACD,2BAA4B,CACxB,QAAS,iBACZ,EACD,2BAA4B,CACxB,QAAS,YACZ,EACD,0BAA2B,CACvB,QAAS,YACZ,EACD,uBAAwB,CACpB,QAAS,aACZ,EACD,0BAA2B,CACvB,QAAS,eACZ,EACD,qBAAsB,CAClB,QAAS,eACZ,EACD,yBAA0B,CACtB,QAAS,uCACZ,4DC3tBL,OAAO,eAAeQ,GAAS,aAAc,CAAE,MAAO,GAAM,EAC/BA,GAAA,sBAAG,OAChC,MAAMC,EAAiBP,GAAyB,EAChD,IAAAQ,EAAA,cAAoCD,EAAe,YAAa,CAE5D,YAAYJ,EAASM,EAAK,CAGtB,GAFA,MAAMN,CAAO,EACb,KAAK,wBAA0B,GAC3B,CAACI,EAAe,cAAcJ,CAAO,EACrC,MAAMM,CAElB,CACA,EACAH,OAAAA,GAAA,sBAAgCI,mDCbhC,IAAIC,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAeY,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5CA,EAAA,SAAG,OACnB,MAAMC,CAAS,CACX,aAAc,CACV,KAAK,IAAM,CAAE,CACrB,CACI,IAAIC,EAAI,CACJ,KAAK,IAAI,KAAKA,CAAE,CACxB,CACI,OAAOA,EAAI,CACP,KAAK,IAAM,KAAK,IAAI,OAAQC,GAAOA,IAAOD,CAAE,CACpD,CACI,MAAO,CACH,KAAK,IAAI,QAASA,GAAOjB,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAClE,MAAMiB,EAAI,CACtB,CAAS,CAAC,CACV,CACA,CACA,OAAAF,EAAA,SAAmBC,kDC3BnB,IAAIhB,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAegB,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5CA,EAAA,SAAG,OACnB,MAAMC,CAAS,CACX,YAAYC,EAAS,CACjB,KAAK,QAAUA,CACvB,CAMI,mBAAmBC,EAAM,CAErB,IAAIC,EACAC,EACAC,EACJ,GAAI,KAAK,UAAY,EACjB,OAAOH,EAGX,MAAMI,EAAW,CAAE,EAoBnB,MAnBkB,CAACC,EAASC,KAAUC,IAAS7B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAExF,OAAAwB,EAAeA,GAAgBG,EAC/BF,EAAaA,GAAcG,EAC3BJ,EAAeA,EAAeG,EAAUH,EAAeG,EACvDF,EAAaA,EAAaG,EAAQH,EAAaG,EACxC,IAAI,QAASE,GAAgB,CAEhC,aAAaP,CAAK,EAClBA,EAAQ,WAAW,IAAMvB,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAClE,MAAMc,EAASQ,EAAKE,EAAcC,EAAY,GAAGI,CAAI,EACrDL,EAAe,GACfC,EAAa,GACb,MAAM,QAAQ,IAAIC,EAAS,IAAKK,GAAM/B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAAE,OAAO,MAAM+B,EAAEjB,CAAM,CAAI,CAAA,CAAC,CAAC,EAChHY,EAAS,OAAO,CAAC,CACrC,CAAiB,EAAG,KAAK,OAAO,EAChBI,EAAY,IAAI,QAASC,GAAML,EAAS,KAAKK,CAAC,CAAC,CAAC,CAChE,CAAa,CACb,CAAS,CAET,CAMI,gBAAgBT,EAAM,CAElB,IAAIC,EACJ,GAAI,KAAK,UAAY,EACjB,OAAOD,EAGX,MAAMI,EAAW,CAAE,EAcnB,MAbkB,IAAIG,IAAS7B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAExE,OAAO,IAAI,QAAS8B,GAAgB,CAEhC,aAAaP,CAAK,EAClBA,EAAQ,WAAW,IAAMvB,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAClE,MAAMc,EAASQ,EAAK,GAAGO,CAAI,EAC3B,MAAM,QAAQ,IAAIH,EAAS,IAAKK,GAAM/B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAAE,OAAO,MAAM+B,EAAEjB,CAAM,CAAI,CAAA,CAAC,CAAC,EAChHY,EAAS,OAAO,CAAC,CACrC,CAAiB,EAAG,KAAK,OAAO,EAChBI,EAAY,IAAI,QAASC,GAAML,EAAS,KAAKK,CAAC,CAAC,CAAC,CAChE,CAAa,CACb,CAAS,CAET,CACA,CACA,OAAAZ,EAAA,SAAmBC;;;;;qDCvEnB,MAAMY,EAAS3C,GAAA,EACT4C,EAAU3C,GAAA,EACV4C,EACH,OAAO,QAAW,YAAc,OAAO,OAAO,KAAW,WACtD,OAAO,IAAO,4BAA4B,EAC1C,KAEN/C,EAAiB,OAAAgD,EACjBhD,EAAqB,WAAAiD,GACrBjD,EAA4B,kBAAA,GAE5B,MAAMkD,EAAe,WACrBlD,EAAqB,WAAAkD,EAgBrBF,EAAO,oBAAsBG,EAAiB,EAE1C,CAACH,EAAO,qBAAuB,OAAO,QAAY,KAClD,OAAO,QAAQ,OAAU,YAC3B,QAAQ,MACN,+IAEJ,EAGA,SAASG,GAAqB,CAE5B,GAAI,CACF,MAAMC,EAAM,IAAI,WAAW,CAAC,EACtBC,EAAQ,CAAE,IAAK,UAAY,CAAE,MAAO,GAAI,CAAA,EAC9C,cAAO,eAAeA,EAAO,WAAW,SAAS,EACjD,OAAO,eAAeD,EAAKC,CAAK,EACzBD,EAAI,QAAU,EACtB,MAAW,CACV,MAAO,EACX,CACA,CAEA,OAAO,eAAeJ,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,MAChB,CACC,CAAA,EAED,OAAO,eAAeA,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,UAChB,CACC,CAAA,EAED,SAASM,EAAcC,EAAQ,CAC7B,GAAIA,EAASL,EACX,MAAM,IAAI,WAAW,cAAgBK,EAAS,gCAAgC,EAGhF,MAAMC,EAAM,IAAI,WAAWD,CAAM,EACjC,cAAO,eAAeC,EAAKR,EAAO,SAAS,EACpCQ,CACT,CAYA,SAASR,EAAQjD,EAAK0D,EAAkBF,EAAQ,CAE9C,GAAI,OAAOxD,GAAQ,SAAU,CAC3B,GAAI,OAAO0D,GAAqB,SAC9B,MAAM,IAAI,UACR,oEACR,EAEI,OAAOC,EAAY3D,CAAG,CAC1B,CACE,OAAO4D,EAAK5D,EAAK0D,EAAkBF,CAAM,CAC3C,CAEAP,EAAO,SAAW,KAElB,SAASW,EAAMvC,EAAOqC,EAAkBF,EAAQ,CAC9C,GAAI,OAAOnC,GAAU,SACnB,OAAOwC,EAAWxC,EAAOqC,CAAgB,EAG3C,GAAI,YAAY,OAAOrC,CAAK,EAC1B,OAAOyC,EAAczC,CAAK,EAG5B,GAAIA,GAAS,KACX,MAAM,IAAI,UACR,kHAC0C,OAAOA,CACvD,EAQE,GALI0C,EAAW1C,EAAO,WAAW,GAC5BA,GAAS0C,EAAW1C,EAAM,OAAQ,WAAW,GAI9C,OAAO,kBAAsB,MAC5B0C,EAAW1C,EAAO,iBAAiB,GACnCA,GAAS0C,EAAW1C,EAAM,OAAQ,iBAAiB,GACtD,OAAO2C,EAAgB3C,EAAOqC,EAAkBF,CAAM,EAGxD,GAAI,OAAOnC,GAAU,SACnB,MAAM,IAAI,UACR,uEACN,EAGE,MAAM4C,EAAU5C,EAAM,SAAWA,EAAM,QAAO,EAC9C,GAAI4C,GAAW,MAAQA,IAAY5C,EACjC,OAAO4B,EAAO,KAAKgB,EAASP,EAAkBF,CAAM,EAGtD,MAAMU,EAAIC,EAAW9C,CAAK,EAC1B,GAAI6C,EAAG,OAAOA,EAEd,GAAI,OAAO,OAAW,KAAe,OAAO,aAAe,MACvD,OAAO7C,EAAM,OAAO,WAAW,GAAM,WACvC,OAAO4B,EAAO,KAAK5B,EAAM,OAAO,WAAW,EAAE,QAAQ,EAAGqC,EAAkBF,CAAM,EAGlF,MAAM,IAAI,UACR,kHAC0C,OAAOnC,CACrD,CACA,CAUA4B,EAAO,KAAO,SAAU5B,EAAOqC,EAAkBF,EAAQ,CACvD,OAAOI,EAAKvC,EAAOqC,EAAkBF,CAAM,CAC7C,EAIA,OAAO,eAAeP,EAAO,UAAW,WAAW,SAAS,EAC5D,OAAO,eAAeA,EAAQ,UAAU,EAExC,SAASmB,EAAYC,EAAM,CACzB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UAAU,wCAAwC,EACvD,GAAIA,EAAO,EAChB,MAAM,IAAI,WAAW,cAAgBA,EAAO,gCAAgC,CAEhF,CAEA,SAASC,EAAOD,EAAME,EAAMC,EAAU,CAEpC,OADAJ,EAAWC,CAAI,EACXA,GAAQ,EACHd,EAAac,CAAI,EAEtBE,IAAS,OAIJ,OAAOC,GAAa,SACvBjB,EAAac,CAAI,EAAE,KAAKE,EAAMC,CAAQ,EACtCjB,EAAac,CAAI,EAAE,KAAKE,CAAI,EAE3BhB,EAAac,CAAI,CAC1B,CAMApB,EAAO,MAAQ,SAAUoB,EAAME,EAAMC,EAAU,CAC7C,OAAOF,EAAMD,EAAME,EAAMC,CAAQ,CACnC,EAEA,SAASb,EAAaU,EAAM,CAC1B,OAAAD,EAAWC,CAAI,EACRd,EAAac,EAAO,EAAI,EAAII,EAAQJ,CAAI,EAAI,CAAC,CACtD,CAKApB,EAAO,YAAc,SAAUoB,EAAM,CACnC,OAAOV,EAAYU,CAAI,CACzB,EAIApB,EAAO,gBAAkB,SAAUoB,EAAM,CACvC,OAAOV,EAAYU,CAAI,CACzB,EAEA,SAASR,EAAYa,EAAQF,EAAU,CAKrC,IAJI,OAAOA,GAAa,UAAYA,IAAa,MAC/CA,EAAW,QAGT,CAACvB,EAAO,WAAWuB,CAAQ,EAC7B,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAGrD,MAAMhB,EAASmB,GAAWD,EAAQF,CAAQ,EAAI,EAC9C,IAAIf,EAAMF,EAAaC,CAAM,EAE7B,MAAMoB,EAASnB,EAAI,MAAMiB,EAAQF,CAAQ,EAEzC,OAAII,IAAWpB,IAIbC,EAAMA,EAAI,MAAM,EAAGmB,CAAM,GAGpBnB,CACT,CAEA,SAASoB,EAAeC,EAAO,CAC7B,MAAMtB,EAASsB,EAAM,OAAS,EAAI,EAAIL,EAAQK,EAAM,MAAM,EAAI,EACxDrB,EAAMF,EAAaC,CAAM,EAC/B,QAASuB,EAAI,EAAGA,EAAIvB,EAAQuB,GAAK,EAC/BtB,EAAIsB,CAAC,EAAID,EAAMC,CAAC,EAAI,IAEtB,OAAOtB,CACT,CAEA,SAASK,EAAekB,EAAW,CACjC,GAAIjB,EAAWiB,EAAW,UAAU,EAAG,CACrC,MAAMC,EAAO,IAAI,WAAWD,CAAS,EACrC,OAAOhB,EAAgBiB,EAAK,OAAQA,EAAK,WAAYA,EAAK,UAAU,CACxE,CACE,OAAOJ,EAAcG,CAAS,CAChC,CAEA,SAAShB,EAAiBc,EAAOI,EAAY1B,EAAQ,CACnD,GAAI0B,EAAa,GAAKJ,EAAM,WAAaI,EACvC,MAAM,IAAI,WAAW,sCAAsC,EAG7D,GAAIJ,EAAM,WAAaI,GAAc1B,GAAU,GAC7C,MAAM,IAAI,WAAW,sCAAsC,EAG7D,IAAIC,EACJ,OAAIyB,IAAe,QAAa1B,IAAW,OACzCC,EAAM,IAAI,WAAWqB,CAAK,EACjBtB,IAAW,OACpBC,EAAM,IAAI,WAAWqB,EAAOI,CAAU,EAEtCzB,EAAM,IAAI,WAAWqB,EAAOI,EAAY1B,CAAM,EAIhD,OAAO,eAAeC,EAAKR,EAAO,SAAS,EAEpCQ,CACT,CAEA,SAASU,EAAYgB,EAAK,CACxB,GAAIlC,EAAO,SAASkC,CAAG,EAAG,CACxB,MAAMC,EAAMX,EAAQU,EAAI,MAAM,EAAI,EAC5B1B,EAAMF,EAAa6B,CAAG,EAE5B,OAAI3B,EAAI,SAAW,GAInB0B,EAAI,KAAK1B,EAAK,EAAG,EAAG2B,CAAG,EAChB3B,CACX,CAEE,GAAI0B,EAAI,SAAW,OACjB,OAAI,OAAOA,EAAI,QAAW,UAAYE,GAAYF,EAAI,MAAM,EACnD5B,EAAa,CAAC,EAEhBsB,EAAcM,CAAG,EAG1B,GAAIA,EAAI,OAAS,UAAY,MAAM,QAAQA,EAAI,IAAI,EACjD,OAAON,EAAcM,EAAI,IAAI,CAEjC,CAEA,SAASV,EAASjB,EAAQ,CAGxB,GAAIA,GAAUL,EACZ,MAAM,IAAI,WAAW,0DACaA,EAAa,SAAS,EAAE,EAAI,QAAQ,EAExE,OAAOK,EAAS,CAClB,CAEA,SAASN,GAAYM,EAAQ,CAC3B,MAAI,CAACA,GAAUA,IACbA,EAAS,GAEJP,EAAO,MAAM,CAACO,CAAM,CAC7B,CAEAP,EAAO,SAAW,SAAmBiB,EAAG,CACtC,OAAOA,GAAK,MAAQA,EAAE,YAAc,IAClCA,IAAMjB,EAAO,SACjB,EAEAA,EAAO,QAAU,SAAkBqC,EAAGpB,EAAG,CAGvC,GAFIH,EAAWuB,EAAG,UAAU,IAAGA,EAAIrC,EAAO,KAAKqC,EAAGA,EAAE,OAAQA,EAAE,UAAU,GACpEvB,EAAWG,EAAG,UAAU,IAAGA,EAAIjB,EAAO,KAAKiB,EAAGA,EAAE,OAAQA,EAAE,UAAU,GACpE,CAACjB,EAAO,SAASqC,CAAC,GAAK,CAACrC,EAAO,SAASiB,CAAC,EAC3C,MAAM,IAAI,UACR,uEACN,EAGE,GAAIoB,IAAMpB,EAAG,MAAO,GAEpB,IAAIqB,EAAID,EAAE,OACNE,EAAItB,EAAE,OAEV,QAASa,EAAI,EAAGK,EAAM,KAAK,IAAIG,EAAGC,CAAC,EAAGT,EAAIK,EAAK,EAAEL,EAC/C,GAAIO,EAAEP,CAAC,IAAMb,EAAEa,CAAC,EAAG,CACjBQ,EAAID,EAAEP,CAAC,EACPS,EAAItB,EAAEa,CAAC,EACP,KACN,CAGE,OAAIQ,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAEAtC,EAAO,WAAa,SAAqBuB,EAAU,CACjD,OAAQ,OAAOA,CAAQ,EAAE,YAAa,EAAA,CACpC,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,GACT,QACE,MAAO,EACb,CACA,EAEAvB,EAAO,OAAS,SAAiBwC,EAAMjC,EAAQ,CAC7C,GAAI,CAAC,MAAM,QAAQiC,CAAI,EACrB,MAAM,IAAI,UAAU,6CAA6C,EAGnE,GAAIA,EAAK,SAAW,EAClB,OAAOxC,EAAO,MAAM,CAAC,EAGvB,IAAI8B,EACJ,GAAIvB,IAAW,OAEb,IADAA,EAAS,EACJuB,EAAI,EAAGA,EAAIU,EAAK,OAAQ,EAAEV,EAC7BvB,GAAUiC,EAAKV,CAAC,EAAE,OAItB,MAAMW,EAASzC,EAAO,YAAYO,CAAM,EACxC,IAAImC,EAAM,EACV,IAAKZ,EAAI,EAAGA,EAAIU,EAAK,OAAQ,EAAEV,EAAG,CAChC,IAAItB,EAAMgC,EAAKV,CAAC,EAChB,GAAIhB,EAAWN,EAAK,UAAU,EACxBkC,EAAMlC,EAAI,OAASiC,EAAO,QACvBzC,EAAO,SAASQ,CAAG,IAAGA,EAAMR,EAAO,KAAKQ,CAAG,GAChDA,EAAI,KAAKiC,EAAQC,CAAG,GAEpB,WAAW,UAAU,IAAI,KACvBD,EACAjC,EACAkC,CACV,UAEgB1C,EAAO,SAASQ,CAAG,EAG7BA,EAAI,KAAKiC,EAAQC,CAAG,MAFpB,OAAM,IAAI,UAAU,6CAA6C,EAInEA,GAAOlC,EAAI,MACf,CACE,OAAOiC,CACT,EAEA,SAASf,GAAYD,EAAQF,EAAU,CACrC,GAAIvB,EAAO,SAASyB,CAAM,EACxB,OAAOA,EAAO,OAEhB,GAAI,YAAY,OAAOA,CAAM,GAAKX,EAAWW,EAAQ,WAAW,EAC9D,OAAOA,EAAO,WAEhB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAI,UACR,2FACmB,OAAOA,CAChC,EAGE,MAAMU,EAAMV,EAAO,OACbkB,EAAa,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,GAC5D,GAAI,CAACA,GAAaR,IAAQ,EAAG,MAAO,GAGpC,IAAIS,EAAc,GAClB,OACE,OAAQrB,EAAQ,CACd,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOY,EACT,IAAK,OACL,IAAK,QACH,OAAOU,GAAYpB,CAAM,EAAE,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOU,EAAM,EACf,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOW,GAAcrB,CAAM,EAAE,OAC/B,QACE,GAAImB,EACF,OAAOD,EAAY,GAAKE,GAAYpB,CAAM,EAAE,OAE9CF,GAAY,GAAKA,GAAU,YAAW,EACtCqB,EAAc,EACtB,CAEA,CACA5C,EAAO,WAAa0B,GAEpB,SAASqB,GAAcxB,EAAUyB,EAAOC,EAAK,CAC3C,IAAIL,EAAc,GA8BlB,IArBII,IAAU,QAAaA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ,KAAK,UAIbC,IAAQ,QAAaA,EAAM,KAAK,UAClCA,EAAM,KAAK,QAGTA,GAAO,KAKXA,KAAS,EACTD,KAAW,EAEPC,GAAOD,GACT,MAAO,GAKT,IAFKzB,IAAUA,EAAW,UAGxB,OAAQA,EAAQ,CACd,IAAK,MACH,OAAO2B,GAAS,KAAMF,EAAOC,CAAG,EAElC,IAAK,OACL,IAAK,QACH,OAAOE,GAAU,KAAMH,EAAOC,CAAG,EAEnC,IAAK,QACH,OAAOG,GAAW,KAAMJ,EAAOC,CAAG,EAEpC,IAAK,SACL,IAAK,SACH,OAAOI,GAAY,KAAML,EAAOC,CAAG,EAErC,IAAK,SACH,OAAOK,GAAY,KAAMN,EAAOC,CAAG,EAErC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOM,GAAa,KAAMP,EAAOC,CAAG,EAEtC,QACE,GAAIL,EAAa,MAAM,IAAI,UAAU,qBAAuBrB,CAAQ,EACpEA,GAAYA,EAAW,IAAI,YAAW,EACtCqB,EAAc,EACtB,CAEA,CAQA5C,EAAO,UAAU,UAAY,GAE7B,SAASwD,EAAMvC,EAAGwC,EAAGC,EAAG,CACtB,MAAM5B,EAAIb,EAAEwC,CAAC,EACbxC,EAAEwC,CAAC,EAAIxC,EAAEyC,CAAC,EACVzC,EAAEyC,CAAC,EAAI5B,CACT,CAEA9B,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMmC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASL,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5B0B,EAAK,KAAM1B,EAAGA,EAAI,CAAC,EAErB,OAAO,IACT,EAEA9B,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMmC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASL,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5B0B,EAAK,KAAM1B,EAAGA,EAAI,CAAC,EACnB0B,EAAK,KAAM1B,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEA9B,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMmC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASL,EAAI,EAAGA,EAAIK,EAAKL,GAAK,EAC5B0B,EAAK,KAAM1B,EAAGA,EAAI,CAAC,EACnB0B,EAAK,KAAM1B,EAAI,EAAGA,EAAI,CAAC,EACvB0B,EAAK,KAAM1B,EAAI,EAAGA,EAAI,CAAC,EACvB0B,EAAK,KAAM1B,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEA9B,EAAO,UAAU,SAAW,UAAqB,CAC/C,MAAMO,EAAS,KAAK,OACpB,OAAIA,IAAW,EAAU,GACrB,UAAU,SAAW,EAAU4C,GAAU,KAAM,EAAG5C,CAAM,EACrDwC,GAAa,MAAM,KAAM,SAAS,CAC3C,EAEA/C,EAAO,UAAU,eAAiBA,EAAO,UAAU,SAEnDA,EAAO,UAAU,OAAS,SAAiBiB,EAAG,CAC5C,GAAI,CAACjB,EAAO,SAASiB,CAAC,EAAG,MAAM,IAAI,UAAU,2BAA2B,EACxE,OAAI,OAASA,EAAU,GAChBjB,EAAO,QAAQ,KAAMiB,CAAC,IAAM,CACrC,EAEAjB,EAAO,UAAU,QAAU,UAAoB,CAC7C,IAAI2D,EAAM,GACV,MAAMC,EAAM5G,EAAQ,kBACpB,OAAA2G,EAAM,KAAK,SAAS,MAAO,EAAGC,CAAG,EAAE,QAAQ,UAAW,KAAK,EAAE,KAAI,EAC7D,KAAK,OAASA,IAAKD,GAAO,SACvB,WAAaA,EAAM,GAC5B,EACI5D,IACFC,EAAO,UAAUD,CAAmB,EAAIC,EAAO,UAAU,SAG3DA,EAAO,UAAU,QAAU,SAAkB6D,EAAQb,EAAOC,EAAKa,EAAWC,EAAS,CAInF,GAHIjD,EAAW+C,EAAQ,UAAU,IAC/BA,EAAS7D,EAAO,KAAK6D,EAAQA,EAAO,OAAQA,EAAO,UAAU,GAE3D,CAAC7D,EAAO,SAAS6D,CAAM,EACzB,MAAM,IAAI,UACR,iFACoB,OAAOA,CACjC,EAgBE,GAbIb,IAAU,SACZA,EAAQ,GAENC,IAAQ,SACVA,EAAMY,EAASA,EAAO,OAAS,GAE7BC,IAAc,SAChBA,EAAY,GAEVC,IAAY,SACdA,EAAU,KAAK,QAGbf,EAAQ,GAAKC,EAAMY,EAAO,QAAUC,EAAY,GAAKC,EAAU,KAAK,OACtE,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAID,GAAaC,GAAWf,GAASC,EACnC,MAAO,GAET,GAAIa,GAAaC,EACf,MAAO,GAET,GAAIf,GAASC,EACX,MAAO,GAQT,GALAD,KAAW,EACXC,KAAS,EACTa,KAAe,EACfC,KAAa,EAET,OAASF,EAAQ,MAAO,GAE5B,IAAIvB,EAAIyB,EAAUD,EACdvB,EAAIU,EAAMD,EACd,MAAMb,EAAM,KAAK,IAAIG,EAAGC,CAAC,EAEnByB,EAAW,KAAK,MAAMF,EAAWC,CAAO,EACxCE,EAAaJ,EAAO,MAAMb,EAAOC,CAAG,EAE1C,QAASnB,EAAI,EAAGA,EAAIK,EAAK,EAAEL,EACzB,GAAIkC,EAASlC,CAAC,IAAMmC,EAAWnC,CAAC,EAAG,CACjCQ,EAAI0B,EAASlC,CAAC,EACdS,EAAI0B,EAAWnC,CAAC,EAChB,KACN,CAGE,OAAIQ,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAWA,SAAS4B,EAAsBzB,EAAQ0B,EAAKlC,EAAYV,EAAU6C,EAAK,CAErE,GAAI3B,EAAO,SAAW,EAAG,MAAO,GAmBhC,GAhBI,OAAOR,GAAe,UACxBV,EAAWU,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,EAAa,cACtBA,EAAa,aAEfA,EAAa,CAACA,EACVG,GAAYH,CAAU,IAExBA,EAAamC,EAAM,EAAK3B,EAAO,OAAS,GAItCR,EAAa,IAAGA,EAAaQ,EAAO,OAASR,GAC7CA,GAAcQ,EAAO,OAAQ,CAC/B,GAAI2B,EAAK,MAAO,GACXnC,EAAaQ,EAAO,OAAS,CACtC,SAAaR,EAAa,EACtB,GAAImC,EAAKnC,EAAa,MACjB,OAAO,GASd,GALI,OAAOkC,GAAQ,WACjBA,EAAMnE,EAAO,KAAKmE,EAAK5C,CAAQ,GAI7BvB,EAAO,SAASmE,CAAG,EAErB,OAAIA,EAAI,SAAW,EACV,GAEFE,EAAa5B,EAAQ0B,EAAKlC,EAAYV,EAAU6C,CAAG,EACrD,GAAI,OAAOD,GAAQ,SAExB,OADAA,EAAMA,EAAM,IACR,OAAO,WAAW,UAAU,SAAY,WACtCC,EACK,WAAW,UAAU,QAAQ,KAAK3B,EAAQ0B,EAAKlC,CAAU,EAEzD,WAAW,UAAU,YAAY,KAAKQ,EAAQ0B,EAAKlC,CAAU,EAGjEoC,EAAa5B,EAAQ,CAAC0B,CAAG,EAAGlC,EAAYV,EAAU6C,CAAG,EAG9D,MAAM,IAAI,UAAU,sCAAsC,CAC5D,CAEA,SAASC,EAAcjE,EAAK+D,EAAKlC,EAAYV,EAAU6C,EAAK,CAC1D,IAAIE,EAAY,EACZC,EAAYnE,EAAI,OAChBoE,EAAYL,EAAI,OAEpB,GAAI5C,IAAa,SACfA,EAAW,OAAOA,CAAQ,EAAE,YAAW,EACnCA,IAAa,QAAUA,IAAa,SACpCA,IAAa,WAAaA,IAAa,YAAY,CACrD,GAAInB,EAAI,OAAS,GAAK+D,EAAI,OAAS,EACjC,MAAO,GAETG,EAAY,EACZC,GAAa,EACbC,GAAa,EACbvC,GAAc,CACpB,CAGE,SAASwC,EAAMjE,EAAKsB,EAAG,CACrB,OAAIwC,IAAc,EACT9D,EAAIsB,CAAC,EAELtB,EAAI,aAAasB,EAAIwC,CAAS,CAE3C,CAEE,IAAIxC,EACJ,GAAIsC,EAAK,CACP,IAAIM,EAAa,GACjB,IAAK5C,EAAIG,EAAYH,EAAIyC,EAAWzC,IAClC,GAAI2C,EAAKrE,EAAK0B,CAAC,IAAM2C,EAAKN,EAAKO,IAAe,GAAK,EAAI5C,EAAI4C,CAAU,GAEnE,GADIA,IAAe,KAAIA,EAAa5C,GAChCA,EAAI4C,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtDI,IAAe,KAAI5C,GAAKA,EAAI4C,GAChCA,EAAa,EAGrB,KAEI,KADIzC,EAAauC,EAAYD,IAAWtC,EAAasC,EAAYC,GAC5D1C,EAAIG,EAAYH,GAAK,EAAGA,IAAK,CAChC,IAAI6C,EAAQ,GACZ,QAASC,EAAI,EAAGA,EAAIJ,EAAWI,IAC7B,GAAIH,EAAKrE,EAAK0B,EAAI8C,CAAC,IAAMH,EAAKN,EAAKS,CAAC,EAAG,CACrCD,EAAQ,GACR,KACV,CAEM,GAAIA,EAAO,OAAO7C,CACxB,CAGE,MAAO,EACT,CAEA9B,EAAO,UAAU,SAAW,SAAmBmE,EAAKlC,EAAYV,EAAU,CACxE,OAAO,KAAK,QAAQ4C,EAAKlC,EAAYV,CAAQ,IAAM,EACrD,EAEAvB,EAAO,UAAU,QAAU,SAAkBmE,EAAKlC,EAAYV,EAAU,CACtE,OAAO2C,EAAqB,KAAMC,EAAKlC,EAAYV,EAAU,EAAI,CACnE,EAEAvB,EAAO,UAAU,YAAc,SAAsBmE,EAAKlC,EAAYV,EAAU,CAC9E,OAAO2C,EAAqB,KAAMC,EAAKlC,EAAYV,EAAU,EAAK,CACpE,EAEA,SAASsD,EAAUrE,EAAKiB,EAAQqD,EAAQvE,EAAQ,CAC9CuE,EAAS,OAAOA,CAAM,GAAK,EAC3B,MAAMC,EAAYvE,EAAI,OAASsE,EAC1BvE,GAGHA,EAAS,OAAOA,CAAM,EAClBA,EAASwE,IACXxE,EAASwE,IAJXxE,EAASwE,EAQX,MAAMC,EAASvD,EAAO,OAElBlB,EAASyE,EAAS,IACpBzE,EAASyE,EAAS,GAEpB,IAAIlD,EACJ,IAAKA,EAAI,EAAGA,EAAIvB,EAAQ,EAAEuB,EAAG,CAC3B,MAAMmD,EAAS,SAASxD,EAAO,OAAOK,EAAI,EAAG,CAAC,EAAG,EAAE,EACnD,GAAIM,GAAY6C,CAAM,EAAG,OAAOnD,EAChCtB,EAAIsE,EAAShD,CAAC,EAAImD,CACtB,CACE,OAAOnD,CACT,CAEA,SAASoD,EAAW1E,EAAKiB,EAAQqD,EAAQvE,EAAQ,CAC/C,OAAO4E,GAAWtC,GAAYpB,EAAQjB,EAAI,OAASsE,CAAM,EAAGtE,EAAKsE,EAAQvE,CAAM,CACjF,CAEA,SAAS6E,EAAY5E,EAAKiB,EAAQqD,EAAQvE,EAAQ,CAChD,OAAO4E,GAAWE,GAAa5D,CAAM,EAAGjB,EAAKsE,EAAQvE,CAAM,CAC7D,CAEA,SAAS+E,GAAa9E,EAAKiB,EAAQqD,EAAQvE,EAAQ,CACjD,OAAO4E,GAAWrC,GAAcrB,CAAM,EAAGjB,EAAKsE,EAAQvE,CAAM,CAC9D,CAEA,SAASgF,GAAW/E,EAAKiB,EAAQqD,EAAQvE,EAAQ,CAC/C,OAAO4E,GAAWK,GAAe/D,EAAQjB,EAAI,OAASsE,CAAM,EAAGtE,EAAKsE,EAAQvE,CAAM,CACpF,CAEAP,EAAO,UAAU,MAAQ,SAAgByB,EAAQqD,EAAQvE,EAAQgB,EAAU,CAEzE,GAAIuD,IAAW,OACbvD,EAAW,OACXhB,EAAS,KAAK,OACduE,EAAS,UAEAvE,IAAW,QAAa,OAAOuE,GAAW,SACnDvD,EAAWuD,EACXvE,EAAS,KAAK,OACduE,EAAS,UAEA,SAASA,CAAM,EACxBA,EAASA,IAAW,EAChB,SAASvE,CAAM,GACjBA,EAASA,IAAW,EAChBgB,IAAa,SAAWA,EAAW,UAEvCA,EAAWhB,EACXA,EAAS,YAGX,OAAM,IAAI,MACR,yEACN,EAGE,MAAMwE,EAAY,KAAK,OAASD,EAGhC,IAFIvE,IAAW,QAAaA,EAASwE,KAAWxE,EAASwE,GAEpDtD,EAAO,OAAS,IAAMlB,EAAS,GAAKuE,EAAS,IAAOA,EAAS,KAAK,OACrE,MAAM,IAAI,WAAW,wCAAwC,EAG1DvD,IAAUA,EAAW,QAE1B,IAAIqB,EAAc,GAClB,OACE,OAAQrB,EAAQ,CACd,IAAK,MACH,OAAOsD,EAAS,KAAMpD,EAAQqD,EAAQvE,CAAM,EAE9C,IAAK,OACL,IAAK,QACH,OAAO2E,EAAU,KAAMzD,EAAQqD,EAAQvE,CAAM,EAE/C,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO6E,EAAW,KAAM3D,EAAQqD,EAAQvE,CAAM,EAEhD,IAAK,SAEH,OAAO+E,GAAY,KAAM7D,EAAQqD,EAAQvE,CAAM,EAEjD,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOgF,GAAU,KAAM9D,EAAQqD,EAAQvE,CAAM,EAE/C,QACE,GAAIqC,EAAa,MAAM,IAAI,UAAU,qBAAuBrB,CAAQ,EACpEA,GAAY,GAAKA,GAAU,YAAW,EACtCqB,EAAc,EACtB,CAEA,EAEA5C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAO,CACL,KAAM,SACN,KAAM,MAAM,UAAU,MAAM,KAAK,KAAK,MAAQ,KAAM,CAAC,CACzD,CACA,EAEA,SAASsD,GAAa9C,EAAKwC,EAAOC,EAAK,CACrC,OAAID,IAAU,GAAKC,IAAQzC,EAAI,OACtBX,EAAO,cAAcW,CAAG,EAExBX,EAAO,cAAcW,EAAI,MAAMwC,EAAOC,CAAG,CAAC,CAErD,CAEA,SAASE,GAAW3C,EAAKwC,EAAOC,EAAK,CACnCA,EAAM,KAAK,IAAIzC,EAAI,OAAQyC,CAAG,EAC9B,MAAMwC,EAAM,CAAA,EAEZ,IAAI3D,EAAIkB,EACR,KAAOlB,EAAImB,GAAK,CACd,MAAMyC,EAAYlF,EAAIsB,CAAC,EACvB,IAAI6D,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI5D,EAAI8D,GAAoB3C,EAAK,CAC/B,IAAI4C,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,EAAgB,CACtB,IAAK,GACCF,EAAY,MACdC,EAAYD,GAEd,MACF,IAAK,GACHG,EAAarF,EAAIsB,EAAI,CAAC,GACjB+D,EAAa,OAAU,MAC1BG,GAAiBN,EAAY,KAAS,EAAOG,EAAa,GACtDG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAarF,EAAIsB,EAAI,CAAC,EACtBgE,EAAYtF,EAAIsB,EAAI,CAAC,GAChB+D,EAAa,OAAU,MAASC,EAAY,OAAU,MACzDE,GAAiBN,EAAY,KAAQ,IAAOG,EAAa,KAAS,EAAOC,EAAY,GACjFE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAarF,EAAIsB,EAAI,CAAC,EACtBgE,EAAYtF,EAAIsB,EAAI,CAAC,EACrBiE,EAAavF,EAAIsB,EAAI,CAAC,GACjB+D,EAAa,OAAU,MAASC,EAAY,OAAU,MAASC,EAAa,OAAU,MACzFC,GAAiBN,EAAY,KAAQ,IAAQG,EAAa,KAAS,IAAOC,EAAY,KAAS,EAAOC,EAAa,GAC/GC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,GAG1B,CACA,CAEQL,IAAc,MAGhBA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI,KAAKE,IAAc,GAAK,KAAQ,KAAM,EAC1CA,EAAY,MAASA,EAAY,MAGnCF,EAAI,KAAKE,CAAS,EAClB7D,GAAK8D,CACT,CAEE,OAAOK,GAAsBR,CAAG,CAClC,CAKA,MAAMS,GAAuB,KAE7B,SAASD,GAAuBE,EAAY,CAC1C,MAAMhE,EAAMgE,EAAW,OACvB,GAAIhE,GAAO+D,GACT,OAAO,OAAO,aAAa,MAAM,OAAQC,CAAU,EAIrD,IAAIV,EAAM,GACN3D,EAAI,EACR,KAAOA,EAAIK,GACTsD,GAAO,OAAO,aAAa,MACzB,OACAU,EAAW,MAAMrE,EAAGA,GAAKoE,EAAoB,CACnD,EAEE,OAAOT,CACT,CAEA,SAASrC,GAAY5C,EAAKwC,EAAOC,EAAK,CACpC,IAAImD,EAAM,GACVnD,EAAM,KAAK,IAAIzC,EAAI,OAAQyC,CAAG,EAE9B,QAASnB,EAAIkB,EAAOlB,EAAImB,EAAK,EAAEnB,EAC7BsE,GAAO,OAAO,aAAa5F,EAAIsB,CAAC,EAAI,GAAI,EAE1C,OAAOsE,CACT,CAEA,SAAS/C,GAAa7C,EAAKwC,EAAOC,EAAK,CACrC,IAAImD,EAAM,GACVnD,EAAM,KAAK,IAAIzC,EAAI,OAAQyC,CAAG,EAE9B,QAASnB,EAAIkB,EAAOlB,EAAImB,EAAK,EAAEnB,EAC7BsE,GAAO,OAAO,aAAa5F,EAAIsB,CAAC,CAAC,EAEnC,OAAOsE,CACT,CAEA,SAASlD,GAAU1C,EAAKwC,EAAOC,EAAK,CAClC,MAAMd,EAAM3B,EAAI,QAEZ,CAACwC,GAASA,EAAQ,KAAGA,EAAQ,IAC7B,CAACC,GAAOA,EAAM,GAAKA,EAAMd,KAAKc,EAAMd,GAExC,IAAIkE,EAAM,GACV,QAASvE,EAAIkB,EAAOlB,EAAImB,EAAK,EAAEnB,EAC7BuE,GAAOC,GAAoB9F,EAAIsB,CAAC,CAAC,EAEnC,OAAOuE,CACT,CAEA,SAAS9C,GAAc/C,EAAKwC,EAAOC,EAAK,CACtC,MAAMsD,EAAQ/F,EAAI,MAAMwC,EAAOC,CAAG,EAClC,IAAIwC,EAAM,GAEV,QAAS3D,EAAI,EAAGA,EAAIyE,EAAM,OAAS,EAAGzE,GAAK,EACzC2D,GAAO,OAAO,aAAac,EAAMzE,CAAC,EAAKyE,EAAMzE,EAAI,CAAC,EAAI,GAAI,EAE5D,OAAO2D,CACT,CAEAzF,EAAO,UAAU,MAAQ,SAAgBgD,EAAOC,EAAK,CACnD,MAAMd,EAAM,KAAK,OACjBa,EAAQ,CAAC,CAACA,EACVC,EAAMA,IAAQ,OAAYd,EAAM,CAAC,CAACc,EAE9BD,EAAQ,GACVA,GAASb,EACLa,EAAQ,IAAGA,EAAQ,IACdA,EAAQb,IACjBa,EAAQb,GAGNc,EAAM,GACRA,GAAOd,EACHc,EAAM,IAAGA,EAAM,IACVA,EAAMd,IACfc,EAAMd,GAGJc,EAAMD,IAAOC,EAAMD,GAEvB,MAAMwD,EAAS,KAAK,SAASxD,EAAOC,CAAG,EAEvC,cAAO,eAAeuD,EAAQxG,EAAO,SAAS,EAEvCwG,CACT,EAKA,SAASC,EAAa3B,EAAQ4B,EAAKnG,EAAQ,CACzC,GAAKuE,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,EAC/E,GAAIA,EAAS4B,EAAMnG,EAAQ,MAAM,IAAI,WAAW,uCAAuC,CACzF,CAEAP,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqB8E,EAAQpD,EAAYiF,EAAU,CAC/E7B,EAASA,IAAW,EACpBpD,EAAaA,IAAe,EACvBiF,GAAUF,EAAY3B,EAAQpD,EAAY,KAAK,MAAM,EAE1D,IAAIyC,EAAM,KAAKW,CAAM,EACjB8B,EAAM,EACN9E,EAAI,EACR,KAAO,EAAEA,EAAIJ,IAAekF,GAAO,MACjCzC,GAAO,KAAKW,EAAShD,CAAC,EAAI8E,EAG5B,OAAOzC,CACT,EAEAnE,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqB8E,EAAQpD,EAAYiF,EAAU,CAC/E7B,EAASA,IAAW,EACpBpD,EAAaA,IAAe,EACvBiF,GACHF,EAAY3B,EAAQpD,EAAY,KAAK,MAAM,EAG7C,IAAIyC,EAAM,KAAKW,EAAS,EAAEpD,CAAU,EAChCkF,EAAM,EACV,KAAOlF,EAAa,IAAMkF,GAAO,MAC/BzC,GAAO,KAAKW,EAAS,EAAEpD,CAAU,EAAIkF,EAGvC,OAAOzC,CACT,EAEAnE,EAAO,UAAU,UACjBA,EAAO,UAAU,UAAY,SAAoB8E,EAAQ6B,EAAU,CACjE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,CACpB,EAEA9E,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuB8E,EAAQ6B,EAAU,CACvE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,CAC7C,EAEA9E,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuB8E,EAAQ6B,EAAU,CACvE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EACzC,KAAKA,CAAM,GAAK,EAAK,KAAKA,EAAS,CAAC,CAC9C,EAEA9E,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuB8E,EAAQ6B,EAAU,CACvE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,GAExC,KAAKA,CAAM,EACf,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,IACpB,KAAKA,EAAS,CAAC,EAAI,QAC1B,EAEA9E,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuB8E,EAAQ6B,EAAU,CACvE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAAI,UACnB,KAAKA,EAAS,CAAC,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,EACrB,KAAKA,EAAS,CAAC,EACnB,EAEA9E,EAAO,UAAU,gBAAkB6G,EAAmB,SAA0B/B,EAAQ,CACtFA,EAASA,IAAW,EACpBgC,GAAehC,EAAQ,QAAQ,EAC/B,MAAMiC,EAAQ,KAAKjC,CAAM,EACnBkC,EAAO,KAAKlC,EAAS,CAAC,GACxBiC,IAAU,QAAaC,IAAS,SAClCC,GAAYnC,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMoC,EAAKH,EACT,KAAK,EAAEjC,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GAElBqC,EAAK,KAAK,EAAErC,CAAM,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtBkC,EAAO,GAAK,GAEd,OAAO,OAAOE,CAAE,GAAK,OAAOC,CAAE,GAAK,OAAO,EAAE,EAC7C,CAAA,EAEDnH,EAAO,UAAU,gBAAkB6G,EAAmB,SAA0B/B,EAAQ,CACtFA,EAASA,IAAW,EACpBgC,GAAehC,EAAQ,QAAQ,EAC/B,MAAMiC,EAAQ,KAAKjC,CAAM,EACnBkC,EAAO,KAAKlC,EAAS,CAAC,GACxBiC,IAAU,QAAaC,IAAS,SAClCC,GAAYnC,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMqC,EAAKJ,EAAQ,GAAK,GACtB,KAAK,EAAEjC,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAEToC,EAAK,KAAK,EAAEpC,CAAM,EAAI,GAAK,GAC/B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtBkC,EAEF,OAAQ,OAAOG,CAAE,GAAK,OAAO,EAAE,GAAK,OAAOD,CAAE,CAC9C,CAAA,EAEDlH,EAAO,UAAU,UAAY,SAAoB8E,EAAQpD,EAAYiF,EAAU,CAC7E7B,EAASA,IAAW,EACpBpD,EAAaA,IAAe,EACvBiF,GAAUF,EAAY3B,EAAQpD,EAAY,KAAK,MAAM,EAE1D,IAAIyC,EAAM,KAAKW,CAAM,EACjB8B,EAAM,EACN9E,EAAI,EACR,KAAO,EAAEA,EAAIJ,IAAekF,GAAO,MACjCzC,GAAO,KAAKW,EAAShD,CAAC,EAAI8E,EAE5B,OAAAA,GAAO,IAEHzC,GAAOyC,IAAKzC,GAAO,KAAK,IAAI,EAAG,EAAIzC,CAAU,GAE1CyC,CACT,EAEAnE,EAAO,UAAU,UAAY,SAAoB8E,EAAQpD,EAAYiF,EAAU,CAC7E7B,EAASA,IAAW,EACpBpD,EAAaA,IAAe,EACvBiF,GAAUF,EAAY3B,EAAQpD,EAAY,KAAK,MAAM,EAE1D,IAAII,EAAIJ,EACJkF,EAAM,EACNzC,EAAM,KAAKW,EAAS,EAAEhD,CAAC,EAC3B,KAAOA,EAAI,IAAM8E,GAAO,MACtBzC,GAAO,KAAKW,EAAS,EAAEhD,CAAC,EAAI8E,EAE9B,OAAAA,GAAO,IAEHzC,GAAOyC,IAAKzC,GAAO,KAAK,IAAI,EAAG,EAAIzC,CAAU,GAE1CyC,CACT,EAEAnE,EAAO,UAAU,SAAW,SAAmB8E,EAAQ6B,EAAU,CAG/D,OAFA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC3C,KAAKA,CAAM,EAAI,KACZ,IAAO,KAAKA,CAAM,EAAI,GAAK,GADA,KAAKA,CAAM,CAEjD,EAEA9E,EAAO,UAAU,YAAc,SAAsB8E,EAAQ6B,EAAU,CACrE7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAMX,EAAM,KAAKW,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,EAChD,OAAQX,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEAnE,EAAO,UAAU,YAAc,SAAsB8E,EAAQ6B,EAAU,CACrE7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAMX,EAAM,KAAKW,EAAS,CAAC,EAAK,KAAKA,CAAM,GAAK,EAChD,OAAQX,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEAnE,EAAO,UAAU,YAAc,SAAsB8E,EAAQ6B,EAAU,CACrE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAChB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACzB,EAEA9E,EAAO,UAAU,YAAc,SAAsB8E,EAAQ6B,EAAU,CACrE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,CACpB,EAEA9E,EAAO,UAAU,eAAiB6G,EAAmB,SAAyB/B,EAAQ,CACpFA,EAASA,IAAW,EACpBgC,GAAehC,EAAQ,QAAQ,EAC/B,MAAMiC,EAAQ,KAAKjC,CAAM,EACnBkC,EAAO,KAAKlC,EAAS,CAAC,GACxBiC,IAAU,QAAaC,IAAS,SAClCC,GAAYnC,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMX,EAAM,KAAKW,EAAS,CAAC,EACzB,KAAKA,EAAS,CAAC,EAAI,GAAK,EACxB,KAAKA,EAAS,CAAC,EAAI,GAAK,IACvBkC,GAAQ,IAEX,OAAQ,OAAO7C,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO4C,EACP,KAAK,EAAEjC,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EAAE,CAC3B,CAAA,EAED9E,EAAO,UAAU,eAAiB6G,EAAmB,SAAyB/B,EAAQ,CACpFA,EAASA,IAAW,EACpBgC,GAAehC,EAAQ,QAAQ,EAC/B,MAAMiC,EAAQ,KAAKjC,CAAM,EACnBkC,EAAO,KAAKlC,EAAS,CAAC,GACxBiC,IAAU,QAAaC,IAAS,SAClCC,GAAYnC,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMX,GAAO4C,GAAS,IACpB,KAAK,EAAEjC,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAEf,OAAQ,OAAOX,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO,KAAK,EAAEW,CAAM,EAAI,GAAK,GAC7B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtBkC,CAAI,CACP,CAAA,EAEDhH,EAAO,UAAU,YAAc,SAAsB8E,EAAQ6B,EAAU,CACrE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC1ChF,EAAQ,KAAK,KAAMgF,EAAQ,GAAM,GAAI,CAAC,CAC/C,EAEA9E,EAAO,UAAU,YAAc,SAAsB8E,EAAQ6B,EAAU,CACrE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC1ChF,EAAQ,KAAK,KAAMgF,EAAQ,GAAO,GAAI,CAAC,CAChD,EAEA9E,EAAO,UAAU,aAAe,SAAuB8E,EAAQ6B,EAAU,CACvE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC1ChF,EAAQ,KAAK,KAAMgF,EAAQ,GAAM,GAAI,CAAC,CAC/C,EAEA9E,EAAO,UAAU,aAAe,SAAuB8E,EAAQ6B,EAAU,CACvE,OAAA7B,EAASA,IAAW,EACf6B,GAAUF,EAAY3B,EAAQ,EAAG,KAAK,MAAM,EAC1ChF,EAAQ,KAAK,KAAMgF,EAAQ,GAAO,GAAI,CAAC,CAChD,EAEA,SAASsC,EAAU5G,EAAKpC,EAAO0G,EAAQ4B,EAAK9C,EAAKyD,EAAK,CACpD,GAAI,CAACrH,EAAO,SAASQ,CAAG,EAAG,MAAM,IAAI,UAAU,6CAA6C,EAC5F,GAAIpC,EAAQwF,GAAOxF,EAAQiJ,EAAK,MAAM,IAAI,WAAW,mCAAmC,EACxF,GAAIvC,EAAS4B,EAAMlG,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,CAC1E,CAEAR,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsB5B,EAAO0G,EAAQpD,EAAYiF,EAAU,CAIxF,GAHAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACpBpD,EAAaA,IAAe,EACxB,CAACiF,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAI5F,CAAU,EAAI,EAC/C0F,EAAS,KAAMhJ,EAAO0G,EAAQpD,EAAY4F,EAAU,CAAC,CACzD,CAEE,IAAIV,EAAM,EACN9E,EAAI,EAER,IADA,KAAKgD,CAAM,EAAI1G,EAAQ,IAChB,EAAE0D,EAAIJ,IAAekF,GAAO,MACjC,KAAK9B,EAAShD,CAAC,EAAK1D,EAAQwI,EAAO,IAGrC,OAAO9B,EAASpD,CAClB,EAEA1B,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsB5B,EAAO0G,EAAQpD,EAAYiF,EAAU,CAIxF,GAHAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACpBpD,EAAaA,IAAe,EACxB,CAACiF,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAI5F,CAAU,EAAI,EAC/C0F,EAAS,KAAMhJ,EAAO0G,EAAQpD,EAAY4F,EAAU,CAAC,CACzD,CAEE,IAAIxF,EAAIJ,EAAa,EACjBkF,EAAM,EAEV,IADA,KAAK9B,EAAShD,CAAC,EAAI1D,EAAQ,IACpB,EAAE0D,GAAK,IAAM8E,GAAO,MACzB,KAAK9B,EAAShD,CAAC,EAAK1D,EAAQwI,EAAO,IAGrC,OAAO9B,EAASpD,CAClB,EAEA1B,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqB5B,EAAO0G,EAAQ6B,EAAU,CAC1E,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,IAAM,CAAC,EACvD,KAAKA,CAAM,EAAK1G,EAAQ,IACjB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwB5B,EAAO0G,EAAQ6B,EAAU,CAChF,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAK1G,EAAQ,IACxB,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,EACvB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwB5B,EAAO0G,EAAQ6B,EAAU,CAChF,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAK1G,IAAU,EAC1B,KAAK0G,EAAS,CAAC,EAAK1G,EAAQ,IACrB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwB5B,EAAO0G,EAAQ6B,EAAU,CAChF,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,EAAS,CAAC,EAAK1G,IAAU,GAC9B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,GAC9B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,EAC9B,KAAK0G,CAAM,EAAK1G,EAAQ,IACjB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwB5B,EAAO0G,EAAQ6B,EAAU,CAChF,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,CAAM,EAAK1G,IAAU,GAC1B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,GAC9B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,EAC9B,KAAK0G,EAAS,CAAC,EAAK1G,EAAQ,IACrB0G,EAAS,CAClB,EAEA,SAASyC,GAAgB/G,EAAKpC,EAAO0G,EAAQuC,EAAKzD,EAAK,CACrD4D,GAAWpJ,EAAOiJ,EAAKzD,EAAKpD,EAAKsE,EAAQ,CAAC,EAE1C,IAAIoC,EAAK,OAAO9I,EAAQ,OAAO,UAAU,CAAC,EAC1CoC,EAAIsE,GAAQ,EAAIoC,EAChBA,EAAKA,GAAM,EACX1G,EAAIsE,GAAQ,EAAIoC,EAChBA,EAAKA,GAAM,EACX1G,EAAIsE,GAAQ,EAAIoC,EAChBA,EAAKA,GAAM,EACX1G,EAAIsE,GAAQ,EAAIoC,EAChB,IAAIC,EAAK,OAAO/I,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAAoC,EAAIsE,GAAQ,EAAIqC,EAChBA,EAAKA,GAAM,EACX3G,EAAIsE,GAAQ,EAAIqC,EAChBA,EAAKA,GAAM,EACX3G,EAAIsE,GAAQ,EAAIqC,EAChBA,EAAKA,GAAM,EACX3G,EAAIsE,GAAQ,EAAIqC,EACTrC,CACT,CAEA,SAAS2C,GAAgBjH,EAAKpC,EAAO0G,EAAQuC,EAAKzD,EAAK,CACrD4D,GAAWpJ,EAAOiJ,EAAKzD,EAAKpD,EAAKsE,EAAQ,CAAC,EAE1C,IAAIoC,EAAK,OAAO9I,EAAQ,OAAO,UAAU,CAAC,EAC1CoC,EAAIsE,EAAS,CAAC,EAAIoC,EAClBA,EAAKA,GAAM,EACX1G,EAAIsE,EAAS,CAAC,EAAIoC,EAClBA,EAAKA,GAAM,EACX1G,EAAIsE,EAAS,CAAC,EAAIoC,EAClBA,EAAKA,GAAM,EACX1G,EAAIsE,EAAS,CAAC,EAAIoC,EAClB,IAAIC,EAAK,OAAO/I,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAAoC,EAAIsE,EAAS,CAAC,EAAIqC,EAClBA,EAAKA,GAAM,EACX3G,EAAIsE,EAAS,CAAC,EAAIqC,EAClBA,EAAKA,GAAM,EACX3G,EAAIsE,EAAS,CAAC,EAAIqC,EAClBA,EAAKA,GAAM,EACX3G,EAAIsE,CAAM,EAAIqC,EACPrC,EAAS,CAClB,CAEA9E,EAAO,UAAU,iBAAmB6G,EAAmB,SAA2BzI,EAAO0G,EAAS,EAAG,CACnG,OAAOyC,GAAe,KAAMnJ,EAAO0G,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACnF,CAAA,EAED9E,EAAO,UAAU,iBAAmB6G,EAAmB,SAA2BzI,EAAO0G,EAAS,EAAG,CACnG,OAAO2C,GAAe,KAAMrJ,EAAO0G,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACnF,CAAA,EAED9E,EAAO,UAAU,WAAa,SAAqB5B,EAAO0G,EAAQpD,EAAYiF,EAAU,CAGtF,GAFAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EAChB,CAAC6B,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAIhG,EAAc,CAAC,EAE9C0F,EAAS,KAAMhJ,EAAO0G,EAAQpD,EAAYgG,EAAQ,EAAG,CAACA,CAAK,CAC/D,CAEE,IAAI5F,EAAI,EACJ8E,EAAM,EACNe,EAAM,EAEV,IADA,KAAK7C,CAAM,EAAI1G,EAAQ,IAChB,EAAE0D,EAAIJ,IAAekF,GAAO,MAC7BxI,EAAQ,GAAKuJ,IAAQ,GAAK,KAAK7C,EAAShD,EAAI,CAAC,IAAM,IACrD6F,EAAM,GAER,KAAK7C,EAAShD,CAAC,GAAM1D,EAAQwI,GAAQ,GAAKe,EAAM,IAGlD,OAAO7C,EAASpD,CAClB,EAEA1B,EAAO,UAAU,WAAa,SAAqB5B,EAAO0G,EAAQpD,EAAYiF,EAAU,CAGtF,GAFAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EAChB,CAAC6B,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAIhG,EAAc,CAAC,EAE9C0F,EAAS,KAAMhJ,EAAO0G,EAAQpD,EAAYgG,EAAQ,EAAG,CAACA,CAAK,CAC/D,CAEE,IAAI5F,EAAIJ,EAAa,EACjBkF,EAAM,EACNe,EAAM,EAEV,IADA,KAAK7C,EAAShD,CAAC,EAAI1D,EAAQ,IACpB,EAAE0D,GAAK,IAAM8E,GAAO,MACrBxI,EAAQ,GAAKuJ,IAAQ,GAAK,KAAK7C,EAAShD,EAAI,CAAC,IAAM,IACrD6F,EAAM,GAER,KAAK7C,EAAShD,CAAC,GAAM1D,EAAQwI,GAAQ,GAAKe,EAAM,IAGlD,OAAO7C,EAASpD,CAClB,EAEA1B,EAAO,UAAU,UAAY,SAAoB5B,EAAO0G,EAAQ6B,EAAU,CACxE,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,IAAM,IAAK,EACvD1G,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC,KAAK0G,CAAM,EAAK1G,EAAQ,IACjB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,aAAe,SAAuB5B,EAAO0G,EAAQ6B,EAAU,CAC9E,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAK1G,EAAQ,IACxB,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,EACvB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,aAAe,SAAuB5B,EAAO0G,EAAQ6B,EAAU,CAC9E,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAK1G,IAAU,EAC1B,KAAK0G,EAAS,CAAC,EAAK1G,EAAQ,IACrB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,aAAe,SAAuB5B,EAAO0G,EAAQ6B,EAAU,CAC9E,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,WAAY,WAAW,EACvE,KAAKA,CAAM,EAAK1G,EAAQ,IACxB,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,EAC9B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,GAC9B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,GACvB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,aAAe,SAAuB5B,EAAO0G,EAAQ6B,EAAU,CAC9E,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GAAUS,EAAS,KAAMhJ,EAAO0G,EAAQ,EAAG,WAAY,WAAW,EACnE1G,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,KAAK0G,CAAM,EAAK1G,IAAU,GAC1B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,GAC9B,KAAK0G,EAAS,CAAC,EAAK1G,IAAU,EAC9B,KAAK0G,EAAS,CAAC,EAAK1G,EAAQ,IACrB0G,EAAS,CAClB,EAEA9E,EAAO,UAAU,gBAAkB6G,EAAmB,SAA0BzI,EAAO0G,EAAS,EAAG,CACjG,OAAOyC,GAAe,KAAMnJ,EAAO0G,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACvG,CAAA,EAED9E,EAAO,UAAU,gBAAkB6G,EAAmB,SAA0BzI,EAAO0G,EAAS,EAAG,CACjG,OAAO2C,GAAe,KAAMrJ,EAAO0G,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACvG,CAAA,EAED,SAAS8C,GAAcpH,EAAKpC,EAAO0G,EAAQ4B,EAAK9C,EAAKyD,EAAK,CACxD,GAAIvC,EAAS4B,EAAMlG,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EACxE,GAAIsE,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,CAC3D,CAEA,SAAS+C,GAAYrH,EAAKpC,EAAO0G,EAAQgD,EAAcnB,EAAU,CAC/D,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GACHiB,GAAapH,EAAKpC,EAAO0G,EAAQ,CAAkD,EAErFhF,EAAQ,MAAMU,EAAKpC,EAAO0G,EAAQgD,EAAc,GAAI,CAAC,EAC9ChD,EAAS,CAClB,CAEA9E,EAAO,UAAU,aAAe,SAAuB5B,EAAO0G,EAAQ6B,EAAU,CAC9E,OAAOkB,GAAW,KAAMzJ,EAAO0G,EAAQ,GAAM6B,CAAQ,CACvD,EAEA3G,EAAO,UAAU,aAAe,SAAuB5B,EAAO0G,EAAQ6B,EAAU,CAC9E,OAAOkB,GAAW,KAAMzJ,EAAO0G,EAAQ,GAAO6B,CAAQ,CACxD,EAEA,SAASoB,GAAavH,EAAKpC,EAAO0G,EAAQgD,EAAcnB,EAAU,CAChE,OAAAvI,EAAQ,CAACA,EACT0G,EAASA,IAAW,EACf6B,GACHiB,GAAapH,EAAKpC,EAAO0G,EAAQ,CAAoD,EAEvFhF,EAAQ,MAAMU,EAAKpC,EAAO0G,EAAQgD,EAAc,GAAI,CAAC,EAC9ChD,EAAS,CAClB,CAEA9E,EAAO,UAAU,cAAgB,SAAwB5B,EAAO0G,EAAQ6B,EAAU,CAChF,OAAOoB,GAAY,KAAM3J,EAAO0G,EAAQ,GAAM6B,CAAQ,CACxD,EAEA3G,EAAO,UAAU,cAAgB,SAAwB5B,EAAO0G,EAAQ6B,EAAU,CAChF,OAAOoB,GAAY,KAAM3J,EAAO0G,EAAQ,GAAO6B,CAAQ,CACzD,EAGA3G,EAAO,UAAU,KAAO,SAAe6D,EAAQmE,EAAahF,EAAOC,EAAK,CACtE,GAAI,CAACjD,EAAO,SAAS6D,CAAM,EAAG,MAAM,IAAI,UAAU,6BAA6B,EAS/E,GARKb,IAAOA,EAAQ,GAChB,CAACC,GAAOA,IAAQ,IAAGA,EAAM,KAAK,QAC9B+E,GAAenE,EAAO,SAAQmE,EAAcnE,EAAO,QAClDmE,IAAaA,EAAc,GAC5B/E,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,GACRa,EAAO,SAAW,GAAK,KAAK,SAAW,EAAG,MAAO,GAGrD,GAAImE,EAAc,EAChB,MAAM,IAAI,WAAW,2BAA2B,EAElD,GAAIhF,EAAQ,GAAKA,GAAS,KAAK,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EAChF,GAAIC,EAAM,EAAG,MAAM,IAAI,WAAW,yBAAyB,EAGvDA,EAAM,KAAK,SAAQA,EAAM,KAAK,QAC9BY,EAAO,OAASmE,EAAc/E,EAAMD,IACtCC,EAAMY,EAAO,OAASmE,EAAchF,GAGtC,MAAMb,EAAMc,EAAMD,EAElB,OAAI,OAASa,GAAU,OAAO,WAAW,UAAU,YAAe,WAEhE,KAAK,WAAWmE,EAAahF,EAAOC,CAAG,EAEvC,WAAW,UAAU,IAAI,KACvBY,EACA,KAAK,SAASb,EAAOC,CAAG,EACxB+E,CACN,EAGS7F,CACT,EAMAnC,EAAO,UAAU,KAAO,SAAemE,EAAKnB,EAAOC,EAAK1B,EAAU,CAEhE,GAAI,OAAO4C,GAAQ,SAAU,CAS3B,GARI,OAAOnB,GAAU,UACnBzB,EAAWyB,EACXA,EAAQ,EACRC,EAAM,KAAK,QACF,OAAOA,GAAQ,WACxB1B,EAAW0B,EACXA,EAAM,KAAK,QAET1B,IAAa,QAAa,OAAOA,GAAa,SAChD,MAAM,IAAI,UAAU,2BAA2B,EAEjD,GAAI,OAAOA,GAAa,UAAY,CAACvB,EAAO,WAAWuB,CAAQ,EAC7D,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAErD,GAAI4C,EAAI,SAAW,EAAG,CACpB,MAAM8D,EAAO9D,EAAI,WAAW,CAAC,GACxB5C,IAAa,QAAU0G,EAAO,KAC/B1G,IAAa,YAEf4C,EAAM8D,EAEd,CACA,MAAa,OAAO9D,GAAQ,SACxBA,EAAMA,EAAM,IACH,OAAOA,GAAQ,YACxBA,EAAM,OAAOA,CAAG,GAIlB,GAAInB,EAAQ,GAAK,KAAK,OAASA,GAAS,KAAK,OAASC,EACpD,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAIA,GAAOD,EACT,OAAO,KAGTA,EAAQA,IAAU,EAClBC,EAAMA,IAAQ,OAAY,KAAK,OAASA,IAAQ,EAE3CkB,IAAKA,EAAM,GAEhB,IAAIrC,EACJ,GAAI,OAAOqC,GAAQ,SACjB,IAAKrC,EAAIkB,EAAOlB,EAAImB,EAAK,EAAEnB,EACzB,KAAKA,CAAC,EAAIqC,MAEP,CACL,MAAMoC,EAAQvG,EAAO,SAASmE,CAAG,EAC7BA,EACAnE,EAAO,KAAKmE,EAAK5C,CAAQ,EACvBY,EAAMoE,EAAM,OAClB,GAAIpE,IAAQ,EACV,MAAM,IAAI,UAAU,cAAgBgC,EAClC,mCAAmC,EAEvC,IAAKrC,EAAI,EAAGA,EAAImB,EAAMD,EAAO,EAAElB,EAC7B,KAAKA,EAAIkB,CAAK,EAAIuD,EAAMzE,EAAIK,CAAG,CAErC,CAEE,OAAO,IACT,EAMA,MAAM+F,GAAS,CAAA,EACf,SAASC,GAAGC,EAAKC,EAAYC,EAAM,CACjCJ,GAAOE,CAAG,EAAI,cAAwBE,CAAK,CACzC,aAAe,CACb,MAAK,EAEL,OAAO,eAAe,KAAM,UAAW,CACrC,MAAOD,EAAW,MAAM,KAAM,SAAS,EACvC,SAAU,GACV,aAAc,EACf,CAAA,EAGD,KAAK,KAAO,GAAG,KAAK,IAAI,KAAKD,CAAG,IAGhC,KAAK,MAEL,OAAO,KAAK,IAClB,CAEI,IAAI,MAAQ,CACV,OAAOA,CACb,CAEI,IAAI,KAAMhK,EAAO,CACf,OAAO,eAAe,KAAM,OAAQ,CAClC,aAAc,GACd,WAAY,GACZ,MAAAA,EACA,SAAU,EACX,CAAA,CACP,CAEI,UAAY,CACV,MAAO,GAAG,KAAK,IAAI,KAAKgK,CAAG,MAAM,KAAK,OAAO,EACnD,CACA,CACA,CAEAD,GAAE,2BACA,SAAUI,EAAM,CACd,OAAIA,EACK,GAAGA,CAAI,+BAGT,gDACX,EAAK,UAAU,EACfJ,GAAE,uBACA,SAAUI,EAAM5G,EAAQ,CACtB,MAAO,QAAQ4G,CAAI,oDAAoD,OAAO5G,CAAM,EACxF,EAAK,SAAS,EACdwG,GAAE,mBACA,SAAUxE,EAAK6E,EAAOC,EAAO,CAC3B,IAAIC,EAAM,iBAAiB/E,CAAG,qBAC1BgF,EAAWF,EACf,OAAI,OAAO,UAAUA,CAAK,GAAK,KAAK,IAAIA,CAAK,EAAI,GAAK,GACpDE,EAAWC,GAAsB,OAAOH,CAAK,CAAC,EACrC,OAAOA,GAAU,WAC1BE,EAAW,OAAOF,CAAK,GACnBA,EAAQ,OAAO,CAAC,GAAK,OAAO,EAAE,GAAKA,EAAQ,EAAE,OAAO,CAAC,GAAK,OAAO,EAAE,MACrEE,EAAWC,GAAsBD,CAAQ,GAE3CA,GAAY,KAEdD,GAAO,eAAeF,CAAK,cAAcG,CAAQ,GAC1CD,CACX,EAAK,UAAU,EAEf,SAASE,GAAuBzE,EAAK,CACnC,IAAIsB,EAAM,GACN3D,EAAIqC,EAAI,OACZ,MAAMnB,EAAQmB,EAAI,CAAC,IAAM,IAAM,EAAI,EACnC,KAAOrC,GAAKkB,EAAQ,EAAGlB,GAAK,EAC1B2D,EAAM,IAAItB,EAAI,MAAMrC,EAAI,EAAGA,CAAC,CAAC,GAAG2D,CAAG,GAErC,MAAO,GAAGtB,EAAI,MAAM,EAAGrC,CAAC,CAAC,GAAG2D,CAAG,EACjC,CAKA,SAASoD,GAAarI,EAAKsE,EAAQpD,EAAY,CAC7CoF,GAAehC,EAAQ,QAAQ,GAC3BtE,EAAIsE,CAAM,IAAM,QAAatE,EAAIsE,EAASpD,CAAU,IAAM,SAC5DuF,GAAYnC,EAAQtE,EAAI,QAAUkB,EAAa,EAAE,CAErD,CAEA,SAAS8F,GAAYpJ,EAAOiJ,EAAKzD,EAAKpD,EAAKsE,EAAQpD,EAAY,CAC7D,GAAItD,EAAQwF,GAAOxF,EAAQiJ,EAAK,CAC9B,MAAM5D,EAAI,OAAO4D,GAAQ,SAAW,IAAM,GAC1C,IAAImB,EAEF,MAAInB,IAAQ,GAAKA,IAAQ,OAAO,CAAC,EAC/BmB,EAAQ,OAAO/E,CAAC,WAAWA,CAAC,QAAQ/B,EAAa,GAAK,CAAC,GAAG+B,CAAC,GAE3D+E,EAAQ,SAAS/E,CAAC,QAAQ/B,EAAa,GAAK,EAAI,CAAC,GAAG+B,CAAC,iBACzC/B,EAAa,GAAK,EAAI,CAAC,GAAG+B,CAAC,GAKrC,IAAIyE,GAAO,iBAAiB,QAASM,EAAOpK,CAAK,CAC3D,CACEyK,GAAYrI,EAAKsE,EAAQpD,CAAU,CACrC,CAEA,SAASoF,GAAgB1I,EAAOmK,EAAM,CACpC,GAAI,OAAOnK,GAAU,SACnB,MAAM,IAAI8J,GAAO,qBAAqBK,EAAM,SAAUnK,CAAK,CAE/D,CAEA,SAAS6I,GAAa7I,EAAOmC,EAAQ3E,EAAM,CACzC,MAAI,KAAK,MAAMwC,CAAK,IAAMA,GACxB0I,GAAe1I,EAAOxC,CAAI,EACpB,IAAIsM,GAAO,iBAAyB,SAAU,aAAc9J,CAAK,GAGrEmC,EAAS,EACL,IAAI2H,GAAO,yBAGb,IAAIA,GAAO,iBAAyB,SACR,eAA6B3H,CAAM,GACnCnC,CAAK,CACzC,CAKA,MAAM0K,GAAoB,oBAE1B,SAASC,GAAapF,EAAK,CAMzB,GAJAA,EAAMA,EAAI,MAAM,GAAG,EAAE,CAAC,EAEtBA,EAAMA,EAAI,KAAM,EAAC,QAAQmF,GAAmB,EAAE,EAE1CnF,EAAI,OAAS,EAAG,MAAO,GAE3B,KAAOA,EAAI,OAAS,IAAM,GACxBA,EAAMA,EAAM,IAEd,OAAOA,CACT,CAEA,SAASd,GAAapB,EAAQuH,EAAO,CACnCA,EAAQA,GAAS,IACjB,IAAIrD,EACJ,MAAMpF,EAASkB,EAAO,OACtB,IAAIwH,EAAgB,KACpB,MAAM1C,EAAQ,CAAA,EAEd,QAASzE,EAAI,EAAGA,EAAIvB,EAAQ,EAAEuB,EAAG,CAI/B,GAHA6D,EAAYlE,EAAO,WAAWK,CAAC,EAG3B6D,EAAY,OAAUA,EAAY,MAAQ,CAE5C,GAAI,CAACsD,EAAe,CAElB,GAAItD,EAAY,MAAQ,EAEjBqD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACV,SAAmBzE,EAAI,IAAMvB,EAAQ,EAEtByI,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACV,CAGQ0C,EAAgBtD,EAEhB,QACR,CAGM,GAAIA,EAAY,MAAQ,EACjBqD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD0C,EAAgBtD,EAChB,QACR,CAGMA,GAAasD,EAAgB,OAAU,GAAKtD,EAAY,OAAU,KACnE,MAAUsD,IAEJD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAMpD,GAHA0C,EAAgB,KAGZtD,EAAY,IAAM,CACpB,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KAAKZ,CAAS,CAC1B,SAAeA,EAAY,KAAO,CAC5B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,EAAM,IACnBA,EAAY,GAAO,GAC3B,CACA,SAAeA,EAAY,MAAS,CAC9B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GAC3B,CACA,SAAeA,EAAY,QAAU,CAC/B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GAC3B,CACA,KACM,OAAM,IAAI,MAAM,oBAAoB,CAE1C,CAEE,OAAOY,CACT,CAEA,SAASlB,GAAc1B,EAAK,CAC1B,MAAMuF,EAAY,CAAA,EAClB,QAASpH,EAAI,EAAGA,EAAI6B,EAAI,OAAQ,EAAE7B,EAEhCoH,EAAU,KAAKvF,EAAI,WAAW7B,CAAC,EAAI,GAAI,EAEzC,OAAOoH,CACT,CAEA,SAAS1D,GAAgB7B,EAAKqF,EAAO,CACnC,IAAIG,EAAGhC,EAAID,EACX,MAAMgC,EAAY,CAAA,EAClB,QAASpH,EAAI,EAAGA,EAAI6B,EAAI,QACjB,GAAAqF,GAAS,GAAK,GADW,EAAElH,EAGhCqH,EAAIxF,EAAI,WAAW7B,CAAC,EACpBqF,EAAKgC,GAAK,EACVjC,EAAKiC,EAAI,IACTD,EAAU,KAAKhC,CAAE,EACjBgC,EAAU,KAAK/B,CAAE,EAGnB,OAAO+B,CACT,CAEA,SAASpG,GAAea,EAAK,CAC3B,OAAO9D,EAAO,YAAYkJ,GAAYpF,CAAG,CAAC,CAC5C,CAEA,SAASwB,GAAYiE,EAAKC,EAAKvE,EAAQvE,EAAQ,CAC7C,IAAIuB,EACJ,IAAKA,EAAI,EAAGA,EAAIvB,GACT,EAAAuB,EAAIgD,GAAUuE,EAAI,QAAYvH,GAAKsH,EAAI,QADtB,EAAEtH,EAExBuH,EAAIvH,EAAIgD,CAAM,EAAIsE,EAAItH,CAAC,EAEzB,OAAOA,CACT,CAKA,SAAShB,EAAYoB,EAAKtG,EAAM,CAC9B,OAAOsG,aAAetG,GACnBsG,GAAO,MAAQA,EAAI,aAAe,MAAQA,EAAI,YAAY,MAAQ,MACjEA,EAAI,YAAY,OAAStG,EAAK,IACpC,CACA,SAASwG,GAAaF,EAAK,CAEzB,OAAOA,IAAQA,CACjB,CAIA,MAAMoE,GAAuB,UAAY,CACvC,MAAMgD,EAAW,mBACXC,EAAQ,IAAI,MAAM,GAAG,EAC3B,QAASzH,EAAI,EAAGA,EAAI,GAAI,EAAEA,EAAG,CAC3B,MAAM0H,EAAM1H,EAAI,GAChB,QAAS8C,EAAI,EAAGA,EAAI,GAAI,EAAEA,EACxB2E,EAAMC,EAAM5E,CAAC,EAAI0E,EAASxH,CAAC,EAAIwH,EAAS1E,CAAC,CAE/C,CACE,OAAO2E,CACR,EAAA,EAGD,SAAS1C,EAAoB9H,EAAI,CAC/B,OAAO,OAAO,OAAW,IAAc0K,GAAyB1K,CAClE,CAEA,SAAS0K,IAA0B,CACjC,MAAM,IAAI,MAAM,sBAAsB,CACxC,oDCxjEA,IAAIC,EAAmB5L,GAAQA,EAAK,iBAAoB,SAAU6L,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,CAAK,CAC5D,EACD,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,SAAmBC,EACnBD,EAAA,4BAAsCE,EACtCF,EAAA,4BAAsCG,EACtCH,EAAA,4CAAsDI,EACtDJ,EAAA,4CAAsDK,EACtDL,EAAA,yCAAmDM,EACnDN,EAAA,yCAAmDO,GACnDP,EAAA,+BAAyCQ,GACzCR,EAAA,+BAAyCS,GACzC,MAAMC,EAAWpN,GAAiB,EAC5BqN,EAAsBb,MAA4C,EAClEc,EAAcC,GAAoB,EACxC,SAASZ,EAASa,EAAU,CAExB,SAAWF,EAAY,QAAQE,CAAQ,EAAE,SAASF,EAAY,IAAI,GAAG,CACzE,CAGA,MAAMG,EAA8BH,EAAY,IAAI,IAAI,MAAM,kBAAkB,EAC1EI,EAAMJ,EAAY,IAAI,KAAK,MAAM,kCAAkC,EACnEK,EAAqBL,EAAY,IAAI,KAAK,MAAM,kBAAkB,EAClEM,EAAoBN,EAAY,IAAI,KAC1C,SAASV,EAA4BiB,EAAK,CACtC,MAAMC,EAAKH,EACX,OAAOL,EAAY,IAAI,QAAQO,EAAKH,EAAK,CAAE,GAAAI,EAAI,EAAE,SAAU,CAC/D,CACA,SAASjB,EAA4BkB,EAAW,CAC5C,MAAMD,EAAKH,EACX,OAAOL,EAAY,IAAI,QAAQS,EAAWL,EAAK,CAAE,GAAAI,CAAI,CAAA,EAAE,SAASF,CAAiB,CACrF,CACA,MAAMI,EAAiB,mCACjBC,EAAa,mBACbC,EAAiB,cACjBC,EAAW,MAKjB,SAASrB,EAA4Ce,EAAKL,EAAU,CAChE,MAAMM,EAAKV,EAAS,OAAO,KAAKa,CAAU,EAC1C,GAAIT,EAAS,OAAS,GAClBA,EAAWA,EAAS,MAAM,EAAG,EAAE,MAE9B,CACD,MAAMY,EAAiB,GAAKZ,EAAS,OACrCA,EAAWA,EAAWQ,EAAe,MAAM,EAAGI,CAAc,CACpE,CACI,MAAMC,EAAShB,EAAoB,QAAQ,eAAea,EAAgBd,EAAS,OAAO,KAAKI,CAAQ,EAAGM,CAAE,EAC5G,IAAIC,EAAYM,EAAO,OAAOR,CAAG,EACjC,OAAAE,EAAYX,EAAS,OAAO,OAAO,CAACW,EAAWM,EAAO,MAAK,CAAE,CAAC,EACvDN,EAAU,SAASI,CAAQ,CACtC,CAKA,SAASpB,EAA4CgB,EAAWP,EAAU,CACtE,MAAMM,EAAKV,EAAS,OAAO,KAAKa,CAAU,EAC1C,GAAIT,EAAS,OAAS,GAClBA,EAAWA,EAAS,MAAM,EAAG,EAAE,MAE9B,CACD,MAAMY,GAAiB,GAAKZ,EAAS,OACrCA,EAAWA,EAAWQ,EAAe,MAAM,EAAGI,EAAc,CACpE,CACI,MAAME,EAAgBlB,EAAS,OAAO,KAAKW,EAAWI,CAAQ,EACxDI,EAAWlB,EAAoB,QAAQ,iBAAiBa,EAAgBd,EAAS,OAAO,KAAKI,CAAQ,EAAGM,CAAE,EAChH,IAAIU,EAAYD,EAAS,OAAOD,CAAa,EAC7C,OAAAE,EAAYpB,EAAS,OAAO,OAAO,CAACoB,EAAWD,EAAS,MAAK,CAAE,CAAC,EACzDC,EAAU,SAAU,CAC/B,CAIA,SAASxB,EAAyCa,EAAKL,EAAU,CACzDA,EAAS,OAAS,KAClBA,EAAWA,EAAS,MAAM,EAAG,EAAE,GAEnC,MAAMM,EAAKL,EACLgB,EAAMnB,EAAY,IAAI,IAAI,MAAME,CAAQ,EAAE,SAAU,EAC1D,OAAOF,EAAY,IAAI,QAAQO,EAAKY,EAAK,CAAE,GAAAX,EAAI,EAAE,SAAU,CAC/D,CAIA,SAASb,GAAyCc,EAAWP,EAAU,CAC/DA,EAAS,OAAS,KAClBA,EAAWA,EAAS,MAAM,EAAG,EAAE,GAEnC,MAAMM,EAAKL,EACLgB,EAAMnB,EAAY,IAAI,IAAI,MAAME,CAAQ,EAAE,SAAU,EAC1D,OAAOF,EAAY,IAAI,QAAQS,EAAWU,EAAK,CAAE,GAAAX,CAAI,CAAA,EAAE,SAASF,CAAiB,CACrF,CAIA,SAASV,GAA+BW,EAAKL,EAAU,CACnD,OAAOF,EAAY,IAAI,QAAQO,EAAKL,CAAQ,EAAE,SAAU,CAC5D,CAIA,SAASL,GAA+BY,EAAWP,EAAU,CACzD,OAAOF,EAAY,IAAI,QAAQS,EAAWP,CAAQ,EAAE,SAASI,CAAiB,CAClF,mDC5GA,IAAIjN,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe4N,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5CA,EAAA,SAAG,OACnB,MAAMC,EAAe3O,GAA6B,EAClD,MAAM4O,CAAS,CACX,YAAY5M,EAAS,CACjB,KAAK,QAAUA,CACvB,CAMI,gBAAgBC,EAAM,CAClB,MAAM4M,EAAW,CAAE,EACnB,GAAI,KAAK,UAAY,EACjB,OAAO5M,EAEX,MAAMJ,EAAK,CAAE,EACPiN,EAAS,KAAK,QAiBpB,MAhBiB,IAAItM,IAAS7B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CACvE,OAAO,IAAI,QAAS8B,GAAgB,CAChC,MAAMgM,EAAMK,EAAOtM,CAAI,EAClBX,EAAG4M,CAAG,IACP5M,EAAG4M,CAAG,EAAIxM,EAAK,GAAGO,CAAI,GAErBqM,EAASJ,CAAG,IACbI,EAASJ,CAAG,EAAI,GAChB,WAAW,IAAM,CACb5M,EAAG4M,CAAG,EAAI,OACVI,EAASJ,CAAG,EAAI,EACxC,EAAuB,KAAK,OAAO,GAEnBhM,EAAYZ,EAAG4M,CAAG,CAAC,CACnC,CAAa,CACb,CAAS,CAET,CAEI,2BAA2BxM,EAAM,CAC7B,MAAM4M,EAAW,CAAE,EACnB,GAAI,KAAK,UAAY,EACjB,OAAO5M,EAEX,MAAMJ,EAAK,CAAE,EACPiN,EAAS,KAAK,QAiBpB,MAhBiB,IAAItM,IAAS7B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CACvE,OAAO,IAAI,QAAS8B,GAAgB,CAChC,MAAMgM,EAAMK,EAAOtM,CAAI,EAClBX,EAAG4M,CAAG,IACP5M,EAAG4M,CAAG,EAAIxM,EAAK,GAAGO,CAAI,GAErBqM,EAASJ,CAAG,IACbI,EAASJ,CAAG,EAAI,GAChB,WAAW,IAAM,CACb5M,EAAG4M,CAAG,EAAI,OACVI,EAASJ,CAAG,EAAI,EACxC,EAAuB,KAAK,OAAO,GAEnBhM,EAAYZ,EAAG4M,CAAG,CAAC,CACnC,CAAa,CACb,CAAS,CAET,CACI,QAAQjM,EAAM,CACV,SAAWmM,EAAa,UAAU,KAAK,UAAUnM,CAAI,CAAC,CAC9D,CACA,CACA,OAAAkM,EAAA,SAAmBE,oDC5EnB,OAAO,eAAeG,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,gBAA0BC,EAC1BD,GAAA,mBAA6BE,EAC7B,MAAMlP,EAASC,GAA4B,EACrCO,EAAiBN,GAAgC,EACjDiP,EAAa3B,GAAqB,EAClC4B,EAAaC,GAAqB,EACxC,SAASJ,EAAgBhN,EAAS,CAC9B,MAAO,CAAC2E,EAAQ0E,EAAMgE,IAAe,CACjC,MAAMX,EAAW,IAAIS,EAAW,SAASnN,CAAO,EAC1CsN,EAASD,EAAW,MAC1B,GAAIC,EACAD,EAAW,MAAQX,EAAS,2BAA2BY,CAAM,MAG7D,OAAM,IAAI/O,EAAe,aAAaR,EAAO,UAAU,uBAAuB,CAErF,CACL,CACA,SAASkP,EAAmBjN,EAAS,CACjC,MAAO,CAAC2E,EAAQ0E,EAAMgE,IAAe,CACjC,MAAMvN,EAAW,IAAIoN,EAAW,SAASlN,CAAO,EAC1CsN,EAASD,EAAW,MAC1B,GAAIC,EACA,OAAAD,EAAW,MAAQvN,EAAS,mBAAmBwN,CAAM,EAC9CD,EAGP,MAAM,IAAI9O,EAAe,aAAaR,EAAO,UAAU,uBAAuB,CAErF,CACL,yDC/BA,OAAO,eAAewP,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,cAAwBC,EACxBD,EAAA,eAAyBE,EACzBF,EAAA,cAAwBG,EACxBH,EAAA,eAAyBI,EAMzB,SAASH,EAAcrK,EAAGpB,EAAG,CACzB,OAAOoB,EAAIpB,CACf,CAMA,SAAS0L,EAAetK,EAAGpB,EAAG,CAC1B,OAAOA,EAAIoB,CACf,CAMA,SAASuK,EAAcvK,EAAGpB,EAAG,CACzB,OAAIoB,EAAIpB,EACG,EAGA,EAEf,CAMA,SAAS4L,EAAexK,EAAGpB,EAAG,CAC1B,OAAIoB,EAAIpB,EACG,EAGA,EAEf,wDC9CA,OAAO,eAAe6L,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,kBAA4BC,EAC5BD,EAAA,sBAAgCE,EAChCF,EAAA,gBAA0BG,EAC1BH,EAAA,OAAiBI,EACjBJ,EAAA,oBAA8BK,EAC9BL,EAAA,iCAA2CM,EAC3CN,EAAA,eAAyBO,EACzBP,EAAA,mBAA6BQ,EAC7BR,EAAA,eAAyBS,EACzBT,EAAA,eAAyBU,EACzBV,EAAA,kBAA4BW,EAC5BX,EAAA,mBAA6BY,EAC7BZ,EAAA,wBAAkCa,EAClCb,EAAA,QAAkBc,EAClBd,EAAA,QAAkBe,GAClBf,EAAA,WAAqBgB,GACrBhB,EAAA,gBAA0BiB,GAC1BjB,EAAA,oBAA8BkB,EAC9B,MAAMC,EAAQ/Q,GAAgB,EACxBD,EAASE,GAA4B,EACrCM,EAAiBgN,GAAgC,EACvD,SAASsC,EAAkBvN,EAASC,EAAO,CACvC,GAAID,EAAUC,EACV,MAAM,IAAIhC,EAAe,aAAaR,EAAO,UAAU,8BAA8B,EAEzF,MAAMiR,EAAY,CAAE,EACpB,IAAIC,EAAcF,EAAMzO,CAAO,EAC/B,MAAM4O,EAAWH,EAAMxO,CAAK,EAC5B,KAAO0O,GAAeC,GAClBF,EAAU,KAAKD,EAAME,CAAW,EAAE,OAAO,YAAY,CAAC,EACtDA,EAAcF,EAAME,CAAW,EAAE,IAAI,EAAG,KAAK,EAEjD,OAAOD,CACX,CACA,SAASlB,EAAsBqB,EAASC,EAAOC,EAAS,CACpD,GAAIF,EAAUC,EACV,MAAM,IAAI7Q,EAAe,aAAaR,EAAO,UAAU,8BAA8B,EAEzF,MAAMiR,EAAY,CAAE,EACpB,IAAIC,EAAcF,EAAMI,CAAO,EAC/B,MAAMD,GAAWH,EAAMK,CAAK,EAC5B,KAAOH,GAAeC,IAClBF,EAAU,KAAKD,EAAME,CAAW,EAAE,OAAO,kBAAkB,CAAC,EAC5DA,EAAcF,EAAME,CAAW,EAAE,IAAII,EAAS,QAAQ,EAE1D,OAAOL,CACX,CACA,SAASjB,EAAgBuB,EAAM,CAE3B,OADqBP,EAAMO,CAAI,EAAE,OAAO,KAAK,EAAE,YAAa,EACxC,CAChB,KAAKvR,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,KAAKA,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,KAAKA,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,KAAKA,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,KAAKA,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,KAAKA,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,KAAKA,EAAO,aAAa,IACrB,OAAOA,EAAO,aAAa,IAC/B,QACI,MAAM,IAAIQ,EAAe,aAAaR,EAAO,UAAU,uBAAuB,CAC1F,CACA,CAOA,SAASiQ,EAAOuB,EAAWC,EAAUC,EAAW,CAC5C,MAAMC,EAAKF,EAAS,MAAM,IAAI,EAAE,KAAK,GAAG,EACxC,OAAOT,EAAM,IAAI,KAAKQ,CAAS,EAAE,eAAe,QAAS,CAAE,SAAUG,CAAI,CAAA,CAAC,EAAE,OAAOD,CAAS,CAChG,CAKA,SAASxB,GAAsB,CAC3B,OAAO,IAAI,KAAM,EAAC,QAAS,CAC/B,CAKA,SAASC,EAAiCoB,EAAMK,EAAMH,EAAU,CAC5D,OAAO,IAAI,KAAK,GAAGF,EAAK,MAAM,GAAG,EAAE,KAAK,GAAG,CAAC,IAAIK,CAAI,EAAE,EAAE,QAAS,EAAGC,EAAQJ,CAAQ,CACxF,CAKA,SAASrB,EAAe0B,EAAU,CAC9B,MAAMH,EAAKG,EAAS,MAAM,IAAI,EAAE,KAAK,GAAG,EACxC,OAAOd,EAAM,IAAI,KAAM,EAAC,eAAe,QAAS,CAAE,SAAUW,CAAI,CAAA,CAAC,EAAE,OAAO,YAAY,CAC1F,CAKA,SAAStB,EAAmByB,EAAU,CAClC,MAAMH,EAAKG,EAAS,MAAM,IAAI,EAAE,KAAK,GAAG,EACxC,OAAOd,EAAM,IAAI,KAAM,EAAC,eAAe,QAAS,CAAE,SAAUW,CAAI,CAAA,CAAC,EAAE,OAAO,kBAAkB,CAChG,CACA,SAASrB,EAAeyB,EAAU,CAC9B,OAAOA,EAAS,MAAM,GAAG,EAAE,CAAC,CAChC,CACA,SAASxB,EAAewB,EAAU,CAC9B,OAAOA,EAAS,MAAM,GAAG,EAAE,CAAC,CAChC,CAKA,SAASvB,EAAkBe,EAAME,EAAU,CACvC,MAAMO,EAAS,GAAGT,EAAK,MAAM,GAAG,EAAE,KAAK,GAAG,CAAC,YAC3C,OAAO,IAAI,KAAKS,CAAM,EAAE,QAAS,EAAGH,EAAQJ,CAAQ,CACxD,CACA,SAASI,EAAQC,EAAU,CACvB,MAAMH,EAAKG,EAAS,MAAM,IAAI,EAAE,KAAK,GAAG,EAElCG,EAAajB,EAAM,IAAI,KAAM,EAAC,eAAe,QAAS,CAAE,SAAUW,EAAI,CAAC,EACxE,OAAM,EACN,QAAS,EAId,OAFkB,IAAI,KAAM,EAAC,QAAS,EAEnBM,CACvB,CACA,SAASxB,EAAmByB,EAAIC,EAAI,CAChC,MAAMC,EAAQ,OAAOF,CAAE,EACjBG,EAAQ,OAAOF,CAAE,EACjBzH,EAAM0H,EAAQ,GAAK,GAAK,IAAOC,EAAQ,GAAK,IAElD,MADa,IAAK,GAAK,GAAK,IAAO,GAAK,GAAK,IAAO,GAAK,IAC3C3H,CAClB,CACA,SAASgG,EAAwB4B,EAAOC,EAAO,CAC3C,OAAOvB,EAAMsB,CAAK,EAAE,KAAKtB,EAAMuB,CAAK,CAAC,GAAK,GAAK,GAAK,GAAK,IAC7D,CAMA,SAAS5B,EAAQ/J,EAAQ4L,EAAK,CAC1B,OAAOxB,EAAMpK,CAAM,EAAE,IAAI4L,EAAK,KAAK,EAAE,OAAO,YAAY,CAC5D,CACA,SAAS5B,GAAQhK,EAAQ4L,EAAK,CAC1B,OAAOxB,EAAMpK,CAAM,EAAE,IAAI4L,EAAK,MAAM,EAAE,OAAO,MAAM,CACvD,CACA,SAAS3B,GAAWjK,EAAQ4L,EAAK,CAC7B,OAAOxB,EAAMpK,CAAM,EAAE,IAAI4L,EAAK,QAAQ,EAAE,OAAO,kBAAkB,CACrE,CACA,SAAS1B,GAAgBS,EAAM,CAC3B,MAAMkB,EAAkB,aAClBC,EAAgB1B,EAAMO,EAAMkB,CAAe,EAAE,QAAS,EAE5D,OADoBzB,EAAMO,EAAMkB,CAAe,EAAE,OAAOA,CAAe,IAAMlB,GACvDmB,CAC1B,CACA,SAAS3B,EAAoBQ,EAAM,CAC/B,MAAMoB,EAAUpB,EAAK,MAAM,GAAG,EAC9B,GAAIoB,EAAQ,SAAW,EACnB,MAAM,IAAInS,EAAe,aAAaR,EAAO,UAAU,uBAAuB,EAElF,MAAO,GAAG2S,EAAQ,CAAC,CAAC,IAAIA,EAAQ,CAAC,CAAC,EACtC,0DC1KA,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,cAAwBC,EACxB,MAAM7S,EAASC,GAA4B,EAC3C,SAAS4S,EAAcrH,EAAOsH,EAAM,CAChC,OAAAA,EAAOA,GAAQ9S,EAAO,SAAS,QACxBwL,EAAMsH,CAAI,GAAKtH,EAAMxL,EAAO,SAAS,OAAO,CACvD,yDCNA,IAAIyM,EAAmB5L,GAAQA,EAAK,iBAAoB,SAAU6L,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,CAAK,CAC5D,EACD,OAAO,eAAeqG,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,YAAsBC,EACtBD,EAAA,WAAqBE,EACrBF,EAAA,iBAA2BG,EAC3BH,EAAA,gBAA0BI,EAC1BJ,EAAA,kBAA4BK,EAC5BL,EAAA,aAAuBM,EACvBN,EAAA,OAAiBO,EACjB,MAAMC,EAAY9G,EAAgBxM,IAAkB,EACpDsT,EAAU,QAAQ,WAAW,kEAAkE,EAK/F,SAASP,EAAYQ,EAAO,CACxB,IAAIC,EAAS,IACb,OAAID,IACAC,EAAS,KAAK,IAAI,GAAID,CAAK,GAExB,IAAI,KAAI,EAAG,QAAS,EAAC,SAAS,EAAE,EAAI,KAAK,MAAMC,EAAS,KAAK,OAAQ,CAAA,EAAE,SAAS,EAAE,CAC7F,CAKA,SAASR,EAAWS,EAAW,CAC3B,MAAMC,EAAKJ,EAAU,QAAQ,SAAU,EAIvC,OAAII,EAAG,QAAUD,EACNC,EAGAA,EAAG,MAAM,EAAGD,CAAS,CAEpC,CAIA,SAASR,GAAmB,CACxB,MAAMU,EAAS,iEACf,IAAIC,EAAgBZ,EAAW,EAAE,EACjC,KAAO,CAACW,EAAO,SAASC,EAAc,MAAM,EAAG,CAAC,CAAC,GAC7CA,EAAgBZ,EAAW,EAAE,EAEjC,OAAOY,CACX,CAIA,SAASV,GAAkB,CACvB,OAAOF,EAAW,CAAC,CACvB,CACA,SAASG,GAAoB,CACzB,OAAOH,EAAW,CAAC,CACvB,CAIA,SAASI,GAAe,CACpB,MAAO,uCACF,QAAQ,KAAM,IAAM,KAAK,MAAM,KAAK,OAAM,EAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAC/D,QAAQ,KAAM,KAAO,KAAK,MAAM,KAAK,OAAQ,EAAG,CAAC,EAAI,GAAG,SAAS,EAAE,CAAC,CAC7E,CACA,SAASC,EAAOQ,EAAM,CAClB,MAAMC,EAAY,IAAI,OAAO,0EAA0E,EACvG,MAAO,CAAC,CAACD,EAAK,MAAMC,CAAS,CACjC,0DCvEA,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,UAAoBC,EACpB,SAASA,EAAUC,EAAM,CACrB,OAAOA,EAAK,QAAQ,WAAY,EAAE,CACtC,2DCJA,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,UAAoBC,EACpB,SAASA,EAAU5I,EAAO,CACtB,MAAI,CAACA,GAASA,IAAU,EACb,GAEJ,OAAO,UAAU,OAAOA,CAAK,CAAC,CACzC,2DCPA,OAAO,eAAe6I,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,iBAA2BC,EAC3B,SAASA,EAAiB9I,EAC1B+I,EAAM,CACF,GAAI/I,GAAS,KACT,OAAO,KAEX,MAAM9J,EAAS,OAAO8J,CAAK,EAC3B,OAAI,MAAM9J,CAAM,EACL6S,GAAQ,EAGR7S,CAEf,2DCdA,OAAO,eAAe6J,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,YAAsBiJ,EACtB,SAASA,EAAYC,EAAUlT,EAAM+B,EAAQ,CACzC,OAAO,MAAM,KAAK,MAAMA,CAAM,EAAG,CAACoR,EAAGC,IAAUA,EAAQpT,EAAOkT,CAAQ,CAC1E,2DCJA,OAAO,eAAeG,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,aAAuBC,EACvB,SAASA,EAAaC,EAAM,CACxB,OAAO,IAAI,QAASJ,GAAM,WAAWA,EAAGI,CAAI,CAAC,CACjD,2DCJA,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,gBAA0BC,EAC1B,MAAMC,EAAU,CACZ,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,EAAG,IACH,IAAK,IACL,IAAK,IACL,EAAG,IACH,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,GACR,EACD,SAASD,EAAgBtO,EAAK,CAC1B,MAAMwO,EAAM,IAAI,OAAO,IAAM,OAAO,KAAKD,CAAO,EAAE,KAAK,GAAG,EAAI,IAAK,GAAG,EAChEE,EAAU,IAAI,OAAO,aAAiB,GAAG,EAC/C,OAAOzO,EACF,QAAQwO,EAAME,GACRH,EAAQG,CAAK,CACvB,EACI,QAAQD,EAAS,IAAM,EAAE,EACzB,QAAQ,KAAM,GAAG,EACjB,QAAQ,KAAM,GAAG,CAC1B,2DCxGA,OAAO,eAAeE,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,qBAA+BC,EAC/BD,GAAA,aAAuBE,EACvB,SAASD,EAAqB5O,EAAK,CAE/B,OAAOA,EAAI,QAAQ,qCAAsC,EAAE,CAC/D,CACA,SAAS6O,EAAaC,EAAQ,CAC1B,cAAO,KAAKA,CAAM,EAAE,IAAK9G,GAAQ,CAC7B,GAAK8G,EAAO9G,CAAG,EAGN,OAAO8G,EAAO9G,CAAG,GAAM,SAC5B8G,EAAO9G,CAAG,EAAI4G,EAAqBE,EAAO9G,CAAG,CAAC,EAEzC,OAAO8G,EAAO9G,CAAG,GAAM,UAC5B6G,EAAaC,EAAO9G,CAAG,CAAC,MANxB,OAQZ,CAAK,EACM8G,CACX,6DCpBA,IAAIC,EAAmB5U,GAAQA,EAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,GAAQA,EAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAE5D+V,EAAa7V,GAA+B,EAAEF,CAAO,EACrD+V,EAAa5V,GAAwC,EAAEH,CAAO,EAE9D+V,EAAatI,GAA6B,EAAEzN,CAAO,EACnD+V,EAAazG,GAA6B,EAAEtP,CAAO,EACnD+V,EAAaE,GAA6B,EAAEjW,CAAO,EACnD+V,EAAaG,GAA8B,EAAElW,CAAO,EAEpD+V,EAAaI,GAAyB,EAAEnW,CAAO,EAC/C+V,EAAaK,GAA4B,EAAEpW,CAAO,EAClD+V,EAAaM,GAA0B,EAAErW,CAAO,EAChD+V,EAAaO,GAA+B,EAAEtW,CAAO,EACrD+V,EAAaQ,GAA6B,EAAEvW,CAAO,EACnD+V,EAAaS,GAA0B,EAAExW,CAAO,EAChD+V,EAAaU,GAA2B,EAAEzW,CAAO,EACjD+V,EAAaW,GAAwB,EAAE1W,CAAO,EAC9C+V,EAAaY,GAAuB,EAAE3W,CAAO,EAC7C+V,EAAaa,GAAuB,EAAE5W,CAAO,EAC7C+V,EAAac,GAA+B,EAAE7W,CAAO,EACrD+V,EAAae,KAA8B9W,CAAO,6DCnClD,IAAIa,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe+V,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,SAAmBA,EAAa,MAAGA,EAAwB,iBAAG,OAC9D,MAAMtW,EAAiBP,GAAuC,EACxDD,EAASE,GAAyB,EAIxC,MAAM6W,CAAsB,CACxB,OAAQ,CAwBJ,OAvBY,SAAUnQ,EAAQ0E,EAAMgE,EAAY,CAC5C,MAAMC,EAASD,EAAW,MAC1BA,EAAW,MAAQ,UAAY,CAC3B,IAAI0H,EAAc,UAClB,OAAOpW,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,GAAI,CAIA,OADY,MAAM2O,EAAO,MAAM,KAAMyH,CAAW,CAGxE,OAC2BtW,EAAK,CACR,QAAQ,MAAMA,CAAG,EACjB,IAAIuW,EAAYvW,EAAI,QACpB,MAAKF,EAAe,cAAcyW,CAAS,IACvCA,EAAYjX,EAAO,UAAU,sBAE3B,IAAIQ,EAAe,aAAayW,EAAWvW,CAAG,CAC5E,CACA,CAAiB,CACJ,CACJ,CAET,CACI,UAAW,CAwBP,OAvBY,SAAUkG,EAAQ0E,EAAMgE,EAAY,CAC5C,MAAMC,EAASD,EAAW,MAC1BA,EAAW,MAAQ,UAAY,CAC3B,IAAI4H,EAAc,UAClB,OAAOtW,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,GAAI,CAIA,OADY,MAAM2O,EAAO,MAAM,KAAM2H,CAAW,CAGxE,OAC2BxW,EAAK,CACR,QAAQ,MAAMA,CAAG,EACjB,IAAIuW,EAAYvW,EAAI,QACpB,MAAKF,EAAe,cAAcyW,CAAS,IACvCA,EAAYjX,EAAO,UAAU,yBAE3B,IAAIQ,EAAe,aAAayW,EAAWvW,CAAG,CAC5E,CACA,CAAiB,CACJ,CACJ,CAET,CACA,CACA,MAAMyW,CAAiB,CACvB,CACAL,EAAA,iBAA2BK,EAC3B,MAAMnI,EAAY,IAAI+H,EACtBD,OAAAA,EAAA,MAAgB9H,EAAU,MAAO,EACjC8H,EAAA,SAAmB9H,EAAU,SAAU,wDC3EvC,IAAIoI,EAAcvW,GAAQA,EAAK,YAAe,SAAUwW,EAAYzQ,EAAQ8H,EAAKmH,EAAM,CACnF,IAAI3J,EAAI,UAAU,OAAQvJ,EAAIuJ,EAAI,EAAItF,EAASiP,IAAS,KAAOA,EAAO,OAAO,yBAAyBjP,EAAQ8H,CAAG,EAAImH,EAAMyB,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY3U,EAAI,QAAQ,SAAS0U,EAAYzQ,EAAQ8H,EAAKmH,CAAI,MACxH,SAAShR,EAAIwS,EAAW,OAAS,EAAGxS,GAAK,EAAGA,KAASyS,EAAID,EAAWxS,CAAC,KAAGlC,GAAKuJ,EAAI,EAAIoL,EAAE3U,CAAC,EAAIuJ,EAAI,EAAIoL,EAAE1Q,EAAQ8H,EAAK/L,CAAC,EAAI2U,EAAE1Q,EAAQ8H,CAAG,IAAM/L,GAChJ,OAAOuJ,EAAI,GAAKvJ,GAAK,OAAO,eAAeiE,EAAQ8H,EAAK/L,CAAC,EAAGA,CAC/D,EACG/B,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAewW,EAAS,aAAc,CAAE,MAAO,GAAM,EACnBA,EAAA,kCAAG,OAC5C,MAAMnI,EAAanP,GAAwC,EACrDuX,EAAStX,GAAkB,EACjC,MAAMuX,UAA0CD,EAAO,gBAAiB,CACpE,YAAYE,EAAmBC,EAAiB,CAC5C,MAAO,EAIP,KAAK,MAAQ,CAAE,EAEf,KAAK,qBAAwBC,GAAchX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CACpF,MAAMiX,EAAS,MAAM,KAAK,kBAAkB,wBAAwBD,CAAS,EAC7E,KAAK,YAAYC,CAAM,CACnC,CAAS,EACD,KAAK,SAAW,IAAIzI,EAAW,SAASuI,CAAe,EACvD,KAAK,kBAAoBD,EACzB,KAAK,qBAAuB,KAAK,SAAS,gBAAgB,KAAK,oBAAoB,CAC3F,CACI,YAAa,CACT,KAAK,MAAQ,CAAE,CACvB,CAKI,wBAAwBE,EAAW,CAC/B,OAAOhX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAI,KAAK,MAAMgX,CAAS,EACb,KAAK,MAAMA,CAAS,GAE/B,MAAM,KAAK,qBAAqBA,CAAS,EAClC,KAAK,MAAMA,CAAS,EACvC,CAAS,CACT,CAKI,IAAIE,EAAaC,EAAY,CACzB,OAAOnX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,aAAM,KAAK,kBAAkB,IAAIkX,EAAaC,CAAU,EACxD,KAAK,YAAYD,CAAW,EACrBA,CACnB,CAAS,CACT,CAKI,OAAOA,EAAa,CAChB,OAAOlX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,aAAM,KAAK,kBAAkB,OAAOkX,CAAW,EAC/C,KAAK,YAAYA,CAAW,EACrBA,CACnB,CAAS,CACT,CAKI,YAAYA,EAAa,CACrB,KAAK,MAAMA,EAAY,SAAS,EAAIA,CAC5C,CACA,CACAP,OAAAA,EAAA,kCAA4CE,EAC5CL,EAAW,CACPI,EAAO,KACV,EAAEC,EAAkC,UAAW,0BAA2B,IAAI,EAC/EL,EAAW,CACPI,EAAO,QACV,EAAEC,EAAkC,UAAW,MAAO,IAAI,EAC3DL,EAAW,CACPI,EAAO,QACV,EAAEC,EAAkC,UAAW,SAAU,IAAI,oDC1F9D,IAAI7W,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAeiX,GAAS,aAAc,CAAE,MAAO,GAAM,EACrBA,GAAA,gCAAG,OAC1C,MAAMC,EAAWhY,GAAuB,EAClCuX,EAAStX,GAAkB,EACjC,MAAMgY,UAAwCV,EAAO,gBAAiB,CAClE,YAAYW,EAAiB,CACzB,MAAO,EACP,KAAK,gBAAkBA,EACvB,KAAK,MAAQ,CAAE,CACvB,CACI,YAAa,CACT,KAAK,MAAQ,CAAE,CACvB,CACI,IAAI3M,EAAO,CACP,OAAO5K,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMwX,EAAW,MAAM,KAAK,gBAAgB,IAAI5M,CAAK,EACrD,YAAK,kBAAkB4M,CAAQ,EACxBA,CACnB,CAAS,CACT,CACI,OAAOC,EAASvE,EAAM,CAClB,OAAOlT,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMwX,EAAW,MAAM,KAAK,gBAAgB,OAAOC,EAASvE,CAAI,EAChE,YAAK,kBAAkB,OAAO,OAAO,OAAO,OAAO,CAAE,EAAEsE,CAAQ,EAAG,CAAE,UAAW,IAAI,KAAM,EAAC,QAAO,CAAI,CAAA,CAAC,EAC/FA,CACnB,CAAS,CACT,CACI,YAAYC,EAAS,CACjB,OAAOzX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM0X,EAAS,KAAK,WAAWD,CAAO,EACtC,GAAIC,EACA,OAAOA,EAEX,MAAMF,EAAW,MAAM,KAAK,gBAAgB,YAAYC,CAAO,EAC/D,YAAK,gBAAgBA,EAASD,CAAQ,EAC/BA,CACnB,CAAS,CACT,CAEI,gBAAgBC,EAASE,EAAY,CACjC,KAAK,MAAMF,CAAO,EAAI,CAAE,MAAO,CAAA,CAAI,EACnCE,EAAW,QAASC,GAAS,CACzB,KAAK,MAAMH,CAAO,EAAE,MAAMG,EAAK,IAAI,EAAIA,CACnD,CAAS,CACT,CACI,kBAAkBC,EAAW,CACzB,MAAMC,EAAQ,KAAK,MAAMD,EAAU,OAAO,EACtCC,IACAA,EAAM,MAAMD,EAAU,IAAI,EAAIA,EAE1C,CACI,WAAWJ,EAAS,CAChB,MAAMK,EAAQ,KAAK,MAAML,CAAO,EAChC,OAAKK,EAGE,OAAO,KAAKA,EAAM,KAAK,EACzB,IAAK5E,GAAS4E,EAAM,MAAM5E,CAAI,CAAC,EAC/B,OAAQ0E,GAAS,CAACA,EAAK,SAAS,EAChC,KAAK,CAACpT,EAAGpB,OAAUiU,EAAS,gBAAgB7S,EAAE,UAAWpB,EAAE,SAAS,CAAC,EAL/D,IAMnB,CACA,CACAgU,OAAAA,GAAA,gCAA0CE,qDCvE1C,IAAItX,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe4X,GAAS,aAAc,CAAE,MAAO,GAAM,EAChBA,GAAA,qCAAG,OAC/C,MAAMV,EAAWhY,GAAuB,EACxC,MAAM2Y,CAAqC,CACvC,YAAYC,EAAuBC,EAAK7W,EAAS8W,EAAsB,CACnE,KAAK,MAAQ,CAAE,EAEf,KAAK,WAAa,CAACxW,EAASC,IAAU5B,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAC/E,MAAM4H,EAAM,MAAM,KAAK,qBAAqBjG,EAASC,CAAK,EACpDwW,KAAYf,EAAS,mBAAmB1V,EAASC,CAAK,EACtDyW,EAAM,IAAI,KAAM,EAAC,QAAS,EAChC,KAAK,mBAAmBD,EAAOC,CAAG,EAClCzQ,EAAI,QAASgQ,GAAS,CAClB,KAAK,YAAYA,EAAK,KAAMA,EAAMS,CAAG,CACrD,CAAa,CACb,CAAS,EACD,KAAK,mBAAqB,CAACD,EAAOE,IAAc,CAC5CF,EAAM,QAASzH,GAAS,CACpB,KAAK,MAAMA,CAAI,EAAI,CACf,KAAM,KACN,UAAA2H,CACH,CACjB,CAAa,CACJ,EACD,KAAK,YAAc,CAAC3H,EAAM/F,EAAO0N,IAAc,CAC3C,KAAK,MAAM3H,CAAI,EAAI,CACf,KAAM/F,EACN,UAAA0N,CACH,CACJ,EACD,KAAK,aAAgB3H,GACb,KAAK,MAAMA,CAAI,GACD,KAAK,MAAMA,CAAI,EAAE,UAAY,KAAK,KACnC,IAAI,KAAM,EAAC,QAAO,EACpB,KAAK,MAAMA,CAAI,EAAE,MAAQ,QAGjC,KAEX,KAAK,sBAAwBsH,EAC7B,KAAK,IAAMC,EACX,KAAK,qBAAuBC,EAC5B,KAAK,iBAAmB,IAAId,EAAS,SAAShW,CAAO,EAAE,mBAAmB,KAAK,UAAU,CACjG,CACI,IAAIuJ,EAAO,CACP,OAAO5K,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM4H,EAAM,MAAM,KAAK,sBAAsB,IAAIgD,CAAK,EACtD,YAAK,YAAYA,EAAM,KAAMhD,EAAK,IAAI,KAAI,EAAG,SAAS,EAC/CA,CACnB,CAAS,CACT,CACI,YAAY+I,EAAM,CACd,OAAO3Q,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM8X,EAAQ,KAAK,aAAanH,CAAI,EACpC,GAAImH,IAAU,QACV,OAAO,KAEN,GAAIA,EACL,OAAOA,EAEX,MAAM,KAAK,iBAAiBnH,KAAU0G,EAAS,SAAS1G,EAAM,CAAC,CAAC,EAChE,MAAM4H,EAAmB,KAAK,aAAa5H,CAAI,EAC/C,OAAI4H,IAAqB,QACd,KAEJA,CACnB,CAAS,CACT,CACA,CACAR,OAAAA,GAAA,qCAA+CC,mDC9E/C,IAAIxB,EAAcvW,GAAQA,EAAK,YAAe,SAAUwW,EAAYzQ,EAAQ8H,EAAKmH,EAAM,CACnF,IAAI3J,EAAI,UAAU,OAAQvJ,EAAIuJ,EAAI,EAAItF,EAASiP,IAAS,KAAOA,EAAO,OAAO,yBAAyBjP,EAAQ8H,CAAG,EAAImH,EAAMyB,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY3U,EAAI,QAAQ,SAAS0U,EAAYzQ,EAAQ8H,EAAKmH,CAAI,MACxH,SAAShR,EAAIwS,EAAW,OAAS,EAAGxS,GAAK,EAAGA,KAASyS,EAAID,EAAWxS,CAAC,KAAGlC,GAAKuJ,EAAI,EAAIoL,EAAE3U,CAAC,EAAIuJ,EAAI,EAAIoL,EAAE1Q,EAAQ8H,EAAK/L,CAAC,EAAI2U,EAAE1Q,EAAQ8H,CAAG,IAAM/L,GAChJ,OAAOuJ,EAAI,GAAKvJ,GAAK,OAAO,eAAeiE,EAAQ8H,EAAK/L,CAAC,EAAGA,CAC/D,EACG/B,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAeqY,EAAS,aAAc,CAAE,MAAO,GAAM,EACnBA,EAAA,kCAAG,OAC5C,MAAM5B,EAASvX,GAAkB,EACjC,MAAMoZ,UAA0C7B,EAAO,gBAAiB,CAIpE,YAAY4B,EAAuBE,EAAgB,CAC/C,MAAO,EACP,KAAK,aAAe,CAAE,EACtB,KAAK,sBAAwBF,EAC7B,KAAK,eAAiBE,CAC9B,CACI,YAAa,CACT,KAAK,aAAe,CAAE,CAC9B,CACI,WAAW9N,EAAO,CACd,OAAO5K,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM2Y,EAAc,MAAM,KAAK,sBAAsB,WAAW/N,CAAK,EAC/D0N,EAAY,IAAI,KAAM,EAAC,QAAS,EACtC,YAAK,YAAYK,EAAaL,CAAS,EAChCK,CACnB,CAAS,CACT,CACI,cAAc/N,EAAO,CACjB,OAAO5K,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM2Y,EAAc,MAAM,KAAK,sBAAsB,cAAc/N,CAAK,EAClE0N,EAAY,IAAI,KAAM,EAAC,QAAS,EACtC,YAAK,YAAYK,EAAaL,CAAS,EAChCK,CACnB,CAAS,CACT,CAKI,mCAAmClB,EAASmB,EAAY,CACpD,OAAO5Y,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM6Y,EAAWpB,EAAU,IAAMmB,EAC3Bd,EAAQ,KAAK,aAAae,CAAQ,EAClCR,EAAM,IAAI,KAAM,EAAC,QAAS,EAChC,GAAIP,GACIO,EAAMP,EAAM,UAAY,KAAK,eAC7B,OAAOA,EAAM,KAGrB,MAAMa,EAAc,MAAM,KAAK,sBAAsB,mCAAmClB,EAASmB,CAAU,EAC3G,OAAID,GACA,KAAK,YAAYA,EAAaN,CAAG,EAE9BM,CACnB,CAAS,CACT,CAEI,YAAYA,EAAaL,EAAW,CAEhC,MAAMO,EAAWF,EAAY,QAAU,IAAMA,EAAY,WACnDb,EAAQ,KAAK,aAAae,CAAQ,EACpCf,GACAA,EAAM,KAAOa,EACbb,EAAM,UAAYQ,GAIlB,KAAK,aAAaO,CAAQ,EAAI,CAC1B,KAAMF,EACN,UAAWL,CACd,CAEb,CACA,CACAE,OAAAA,EAAA,kCAA4CC,EAC5CjC,EAAW,CACPI,EAAO,QACV,EAAE6B,EAAkC,UAAW,aAAc,IAAI,EAClEjC,EAAW,CACPI,EAAO,QACV,EAAE6B,EAAkC,UAAW,gBAAiB,IAAI,EACrEjC,EAAW,CACPI,EAAO,KACV,EAAE6B,EAAkC,UAAW,qCAAsC,IAAI,kDC/F1F,IAAIjC,EAAcvW,GAAQA,EAAK,YAAe,SAAUwW,EAAYzQ,EAAQ8H,EAAKmH,EAAM,CACnF,IAAI3J,EAAI,UAAU,OAAQvJ,EAAIuJ,EAAI,EAAItF,EAASiP,IAAS,KAAOA,EAAO,OAAO,yBAAyBjP,EAAQ8H,CAAG,EAAImH,EAAMyB,EAC3H,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY3U,EAAI,QAAQ,SAAS0U,EAAYzQ,EAAQ8H,EAAKmH,CAAI,MACxH,SAAShR,EAAIwS,EAAW,OAAS,EAAGxS,GAAK,EAAGA,KAASyS,EAAID,EAAWxS,CAAC,KAAGlC,GAAKuJ,EAAI,EAAIoL,EAAE3U,CAAC,EAAIuJ,EAAI,EAAIoL,EAAE1Q,EAAQ8H,EAAK/L,CAAC,EAAI2U,EAAE1Q,EAAQ8H,CAAG,IAAM/L,GAChJ,OAAOuJ,EAAI,GAAKvJ,GAAK,OAAO,eAAeiE,EAAQ8H,EAAK/L,CAAC,EAAGA,CAC/D,EACG/B,EAAaC,GAAQA,EAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe2Y,EAAS,aAAc,CAAE,MAAO,GAAM,EAC5BA,EAAA,yBAAG,OACnC,MAAMC,EAAM1Z,GAAgB,EACtBuX,EAAStX,GAAkB,EACjC,MAAM0Z,UAAiCpC,EAAO,gBAAiB,CAC3D,YAAYqC,EAAoB,CAC5B,MAAO,EAIP,KAAK,YAAc,CAAE,EACrB,KAAK,WAAa,KAClB,KAAK,mBAAqBA,CAClC,CACI,YAAa,CACT,KAAK,YAAc,CAAE,EACrB,KAAK,WAAa,IAC1B,CACI,gBAAgB9B,EAAY,CACxB,OAAOnX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM8X,EAAQ,KAAK,SAASX,CAAU,EACtC,GAAIW,EACA,OAAOA,EAEX,MAAMb,EAAS,MAAM,KAAK,mBAAmB,gBAAgBE,CAAU,EACvE,YAAK,YAAYF,EAAQE,CAAU,EAC5BF,CACnB,CAAS,CACT,CACI,yBAAyBD,EAAWkC,EAAO/B,EAAY,CACnD,OAAOnX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAM,KAAK,mBAAmB,yBAAyBgX,EAAWkC,EAAO/B,CAAU,EACnF,MAAMF,EAAS,MAAM,KAAK,mBAAmB,gBAAgBE,CAAU,EACvE,YAAK,YAAYF,EAAQE,CAAU,EAC5BF,CACnB,CAAS,CACT,CAEI,SAASE,EAAY,CACjB,OAAKA,EAGD,KAAK,YAAYA,CAAU,EACpB,KAAK,YAAYA,CAAU,EAE/B,KALI,KAAK,UAMxB,CACI,YAAYgC,EAAchC,EAAY,CAC7BA,EAID,KAAK,YAAYgC,EAAa,UAAU,EAAIA,EAH5C,KAAK,WAAaA,CAK9B,CACA,CACAL,OAAAA,EAAA,yBAAmCE,EACnCxC,EAAW,CACPuC,EAAI,KACP,EAAEC,EAAyB,UAAW,kBAAmB,IAAI,EAC9DxC,EAAW,CACPuC,EAAI,QACP,EAAEC,EAAyB,UAAW,2BAA4B,IAAI,sDC7EvE,IAAInE,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAkC,EAAEF,CAAO,EACxD+V,EAAa5V,GAAgC,EAAEH,CAAO,EACtD+V,EAAatI,GAAqC,EAAEzN,CAAO,EAC3D+V,EAAazG,GAAkC,EAAEtP,CAAO,EACxD+V,EAAaE,KAAqCjW,CAAO,2DCnBzD,OAAO,eAAeia,GAAS,aAAc,CAAE,MAAO,GAAM,EACvBA,GAAA,8BAAG,OACxC,MAAMC,CAA8B,CAChC,YAAYC,EAAU,CAClB,KAAK,SAAWA,CACxB,CACI,OAAQ,CACJ,OAAO,KAAK,KAAK,QAAQ,EAAE,QAASxL,GAAQ,CACxC,KAAK,SAASA,CAAG,EAAE,WAAY,CAC3C,CAAS,CACT,CACA,CACA,OAAAsL,GAAA,8BAAwCC,uDCZxC,IAAIxE,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAiB,EAAEF,CAAO,EACvC+V,EAAa5V,GAAuB,EAAEH,CAAO,EAC7C+V,EAAatI,KAAgCzN,CAAO,mECjBpD,OAAO,eAAewX,GAAS,aAAc,CAAE,MAAO,GAAM,kDCA5D,OAAO,eAAeS,GAAS,aAAc,CAAE,MAAO,GAAM,kDCA5D,OAAO,eAAemC,GAAS,aAAc,CAAE,MAAO,GAAM,kDCA5D,OAAO,eAAexB,GAAS,aAAc,CAAE,MAAO,GAAM,kDCA5D,OAAO,eAAeS,GAAS,aAAc,CAAE,MAAO,GAAM,kDCA5D,OAAO,eAAeM,GAAS,aAAc,CAAE,MAAO,GAAM,wDCA5D,IAAIjE,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAkC,EAAEF,CAAO,EACxD+V,EAAa5V,GAAgC,EAAEH,CAAO,EACtD+V,EAAatI,GAAyC,EAAEzN,CAAO,EAC/D+V,EAAazG,GAAqC,EAAEtP,CAAO,EAC3D+V,EAAaE,GAAkC,EAAEjW,CAAO,EACxD+V,EAAaG,KAAqClW,CAAO,iECpBzD,IAAIa,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe+V,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,kBAA4BsD,EAC5B,MAAMC,EAAQ,CAAC3E,EAAG4E,IAAS,CACvB,MAAMC,EAAY,OAAO,KAAKD,CAAI,EAClC,cAAO,KAAK5E,CAAC,EAAE,QAAShH,GAAQ,CACvB6L,EAAU,SAAS7L,CAAG,GACvB,OAAOgH,EAAEhH,CAAG,CAExB,CAAK,EACMgH,CACV,EACD,SAAS0E,EAAkBE,EAAM,CAyB7B,OAxBY,SAAU1T,EAAQ0E,EAAMgE,EAAY,CAC5C,MAAMC,EAASD,EAAW,MAC1BA,EAAW,MAAQ,UAAY,CAC3B,IAAI0H,EAAc,UAClB,OAAOpW,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAGhD,MAAMuI,EAAM,MAAMoG,EAAO,MAAM,KAAMyH,CAAW,EAChD,OAAI7N,IAAQ,KACDA,EAEF,OAAO,UAAU,SAAS,KAAKA,CAAG,IAAM,iBAEtCA,EAAI,IAAKqP,GACL6B,EAAM7B,EAAM8B,CAAI,CAC1B,EAIMD,EAAMlR,EAAKmR,CAAI,CAE1C,CAAa,CACJ,CACJ,CAEL,2DC9CA,OAAO,eAAexC,GAAS,aAAc,CAAE,MAAO,GAAM,EAChCA,GAAA,qBAAG,OAC/B,MAAMN,EAASvX,GAAiB,EAChC,OAAA6X,GAAA,wBAAmCN,EAAO,mBAAmB,CACzD,aAAc,GACd,UAAW,GACX,KAAM,GACN,MAAO,EACX,CAAC,qDCRD,OAAO,eAAegD,GAAS,aAAc,CAAE,MAAO,GAAM,EAC1BA,GAAA,2BAAG,OACrC,MAAMhD,EAASvX,GAAiB,EAChC,OAAAua,GAAA,8BAAyChD,EAAO,mBAAmB,CAC/D,SAAU,GACV,QAAS,GACT,UAAW,GACX,WAAY,GACZ,UAAW,GACX,QAAS,GACT,UAAW,GACX,OAAQ,GACR,OAAQ,GACR,YAAa,GACb,MAAO,GACP,mBAAoB,GACpB,mBAAoB,GACpB,YAAa,EACjB,CAAC,qDClBD,OAAO,eAAeiD,GAAS,aAAc,CAAE,MAAO,GAAM,EAC7BA,GAAA,wBAAG,OAClC,MAAMjD,EAASvX,GAAiB,EAChC,OAAAwa,GAAA,2BAAsCjD,EAAO,mBAAmB,CAC5D,KAAM,GACN,mBAAoB,EACxB,CAAC,qDCND,OAAO,eAAe+B,GAAS,aAAc,CAAE,MAAO,GAAM,EAChCA,GAAA,qBAAG,OAC/B,MAAM/B,EAASvX,GAAiB,EAChC,OAAAsZ,GAAA,wBAAmC/B,EAAO,mBAAmB,CACzD,aAAc,GACd,QAAS,GACT,WAAY,GACZ,eAAgB,GAChB,iBAAkB,GAClB,eAAgB,GAChB,WAAY,GACZ,UAAW,GACX,gBAAiB,EACrB,CAAC,qDCbD,OAAO,eAAeuC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC/BA,GAAA,sBAAG,OAChC,MAAMvC,EAASvX,GAAiB,EAChC,OAAA8Z,GAAA,yBAAoCvC,EAAO,mBAAmB,CAC1D,UAAW,GACX,WAAY,GACZ,SAAU,GACV,MAAO,EACX,CAAC,uDCRD,IAAI/B,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAiB,EAAEF,CAAO,EACvC+V,EAAa5V,GAAwB,EAAEH,CAAO,EAC9C+V,EAAatI,GAA8B,EAAEzN,CAAO,EACpD+V,EAAazG,GAA2B,EAAEtP,CAAO,EACjD+V,EAAaE,GAAwB,EAAEjW,CAAO,EAC9C+V,EAAaG,KAA2BlW,CAAO,6DCpB/C,IAAI0V,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAuB,EAAEF,CAAO,EAC7C+V,EAAa5V,GAAqB,EAAEH,CAAO,EAC3C+V,EAAatI,KAAmBzN,CAAO,iECjBvC,IAAIa,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe2Z,GAAS,aAAc,CAAE,MAAO,GAAM,EAC/BA,GAAA,sBAAG,OAChC,MAAMf,EAAM1Z,GAAmB,EACzBD,EAASE,GAA+B,EAC9C,MAAMya,CAAsB,CACxB,YAAYjB,EAAwB,CAChC,KAAK,uBAAyBA,CACtC,CACI,cAAe,CACX,MAAO,CACH,aAAc1Z,EAAO,aAAa,YAClC,aAAe2Z,EAAI,aAAa,CAAC,CACpC,CACT,CACI,iBAAiB5B,EAAY,CACzB,OAAOnX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAEhD,OADqB,MAAM,KAAK,uBAAuB,gBAAgBmX,CAAU,GAC7D,SAChC,CAAS,CACT,CACA,CACA,OAAA2C,GAAA,sBAAgCC,qDC9BhC,IAAI/Z,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe6Z,GAAS,aAAc,CAAE,MAAO,GAAM,EACjCA,GAAA,oBAAG,OAC9B,MAAM3C,EAAWhY,GAA0B,EAC3C,MAAM4a,CAAoB,CACtB,YAAY1C,EAAiB,CACzB,KAAK,gBAAkBA,CAC/B,CACI,YAAYE,EAASyC,EAAO,CACxB,OAAOla,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMsY,EAAY,IAAI,KAAM,EAAC,QAAS,EAChCT,EAAY,CACd,QAAAJ,EACA,KAAM,GAAGa,CAAS,OAAQjB,EAAS,cAAY,CAAG,GAClD,UAAAiB,EACA,MAAA4B,CACH,EACD,OAAO,KAAK,gBAAgB,IAAIrC,CAAS,CACrD,CAAS,CACT,CACI,YAAYJ,EAASvE,EAAM,CACvB,OAAOlT,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAO,MAAM,KAAK,gBAAgB,OAAOyX,EAASvE,CAAI,CAClE,CAAS,CACT,CACI,UAAUuE,EAAS,CACf,OAAOzX,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAQ,MAAM,KAAK,gBAAgB,YAAYyX,CAAO,GAAG,KAAK,CAAC,EAAGrU,OAAUiU,EAAS,gBAAgB,EAAE,UAAWjU,EAAE,SAAS,CAAC,CAC1I,CAAS,CACT,CACA,CACA4W,OAAAA,GAAA,oBAA8BC,uDCvC9B,IAAIpF,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAyC,EAAEF,CAAO,EAC/D+V,EAAa5V,KAAyCH,CAAO,iEChB7D,IAAIa,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAega,GAAS,aAAc,CAAE,MAAO,GAAM,EAC9BA,GAAA,uBAAG,OACjC,MAAMC,CAAuB,CACzB,YAAY5B,EAAuB,CAC/B,KAAK,kBAAoBA,CACjC,CACI,uCAAuCf,EAASmB,EAAY,CACxD,OAAO5Y,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAO,MAAM,KAAK,kBAAkB,mCAAmCyX,EAASmB,CAAU,CACtG,CAAS,CACT,CACI,eAAeD,EAAa,CACxB,OAAO3Y,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMqY,EAAM,IAAI,KAAM,EAAC,QAAS,EAChC,OAAAM,EAAY,gBAAkB,GAC9BA,EAAY,UAAYN,EACxBM,EAAY,eAAiB,EAEtB,MAAM,KAAK,kBAAkB,WAAWA,CAAW,CACtE,CAAS,CACT,CACI,kBAAkBA,EAAa,CAC3B,OAAO3Y,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMqY,EAAM,IAAI,KAAM,EAAC,QAAS,EAChC,OAAAM,EAAY,gBAAkB,GAC9BA,EAAY,UAAYN,EACxBM,EAAY,gBAAkB,EAEvB,MAAM,KAAK,kBAAkB,cAAcA,CAAW,CACzE,CAAS,CACT,CACA,CACA,OAAAwB,GAAA,uBAAiCC,uDCzCjC,IAAIvF,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,KAA2CF,CAAO,iECf/D,IAAIa,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAeka,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5BA,GAAA,yBAAG,OACnC,MAAMC,CAAyB,CAC3B,YAAYvC,EAA0B,CAClC,KAAK,yBAA2BA,CACxC,CACI,mBAAmBpH,EAAM,CACrB,OAAO3Q,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAO,KAAK,yBAAyB,YAAY2Q,CAAI,CACjE,CAAS,CACT,CACA,CACA,OAAA0J,GAAA,yBAAmCC,qDCrBnC,IAAIta,EAAaC,IAAQA,GAAK,WAAc,SAAUC,EAASC,EAAYC,EAAGC,EAAW,CACrF,SAASC,EAAMC,EAAO,CAAE,OAAOA,aAAiBH,EAAIG,EAAQ,IAAIH,EAAE,SAAUI,EAAS,CAAEA,EAAQD,CAAK,CAAI,CAAA,CAAE,CAC1G,OAAO,IAAKH,IAAMA,EAAI,UAAU,SAAUI,EAASC,EAAQ,CACvD,SAASC,EAAUH,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,KAAKE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CACzF,SAASC,EAASN,EAAO,CAAE,GAAI,CAAEI,EAAKN,EAAU,MAASE,CAAK,CAAC,CAAI,OAAQK,EAAG,CAAEH,EAAOG,CAAC,CAAI,CAAA,CAC5F,SAASD,EAAKG,EAAQ,CAAEA,EAAO,KAAON,EAAQM,EAAO,KAAK,EAAIR,EAAMQ,EAAO,KAAK,EAAE,KAAKJ,EAAWG,CAAQ,CAAE,CAC5GF,GAAMN,EAAYA,EAAU,MAAMH,EAASC,GAAc,CAAA,CAAE,GAAG,MAAM,CAC5E,CAAK,CACJ,EACD,OAAO,eAAe6Z,GAAS,aAAc,CAAE,MAAO,GAAM,EAChCA,GAAA,qBAAG,OAC/B,MAAM3C,EAAWhY,GAA0B,EAC3C,MAAMkb,CAAqB,CACvB,YAAYhD,EAAiB,CACzB,KAAK,gBAAkBA,CAC/B,CACI,YAAY2C,EAAO,CACf,OAAOla,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,MAAMsY,EAAY,IAAI,KAAM,EAAC,QAAS,EAChCT,EAAY,CACd,QAAS,QACT,KAAM,GAAGS,CAAS,OAAQjB,EAAS,cAAY,CAAG,GAClD,UAAAiB,EACA,MAAA4B,CACH,EACD,OAAO,KAAK,gBAAgB,IAAIrC,CAAS,CACrD,CAAS,CACT,CACI,YAAY3E,EAAM,CACd,OAAOlT,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAO,MAAM,KAAK,gBAAgB,OAAO,QAASkT,CAAI,CAClE,CAAS,CACT,CACI,WAAY,CACR,OAAOlT,EAAU,KAAM,OAAQ,OAAQ,WAAa,CAChD,OAAQ,MAAM,KAAK,gBAAgB,YAAY,OAAO,GAAG,KAAK,CAACwE,EAAGpB,OAAUiU,EAAS,gBAAgB7S,EAAE,UAAWpB,EAAE,SAAS,CAAC,CAC1I,CAAS,CACT,CACA,CACA,OAAA4W,GAAA,qBAA+BO,uDCvC/B,IAAI1F,EAAmB5U,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,IAAQA,GAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAgD,EAAEF,CAAO,EACtE+V,EAAa5V,KAAyCH,CAAO,6DChB7D,IAAI0V,EAAmB5U,GAAQA,EAAK,kBAAqB,OAAO,OAAU,SAAS6U,EAAGjP,EAAGkP,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBpP,EAAGkP,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACpP,EAAE,WAAaoP,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOpP,EAAEkP,CAAC,EAAM,GAE/D,OAAO,eAAeD,EAAGE,EAAIC,CAAI,CACpC,EAAK,SAASH,EAAGjP,EAAGkP,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BD,EAAEE,CAAE,EAAInP,EAAEkP,CAAC,CACf,GACIG,EAAgBjV,GAAQA,EAAK,cAAiB,SAAS4F,EAAG1G,EAAS,CACnE,QAASgW,KAAKtP,EAAOsP,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKhW,EAASgW,CAAC,GAAGN,EAAgB1V,EAAS0G,EAAGsP,CAAC,CAC3H,EACD,OAAO,eAAchW,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D+V,EAAa7V,GAAmB,EAAEF,CAAO,EACzC+V,EAAa5V,GAAoB,EAAEH,CAAO,EAC1C+V,EAAatI,GAAmB,EAAEzN,CAAO,EACzC+V,EAAazG,GAAuB,EAAEtP,CAAO,EAC7C+V,EAAaE,GAAwB,EAAEjW,CAAO,EAC9C+V,EAAaG,KAA0BlW,CAAO","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]}