taxtank-core 0.30.28 → 0.30.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/collections/holding.collection.mjs +28 -0
- package/esm2020/lib/collections/index.mjs +2 -1
- package/esm2020/lib/collections/property/property-sale/property-sale.collection.mjs +3 -3
- package/esm2020/lib/db/Enums/holding/holding-type-category.enum.mjs +1 -1
- package/esm2020/lib/db/Enums/index.mjs +2 -1
- package/esm2020/lib/db/Models/client/annual-client-details.mjs +3 -0
- package/esm2020/lib/db/Models/client/client-details.mjs +4 -0
- package/esm2020/lib/db/Models/client/client-income-types.mjs +4 -0
- package/esm2020/lib/db/Models/client/index.mjs +5 -0
- package/esm2020/lib/db/Models/client/occupation.mjs +4 -0
- package/esm2020/lib/db/Models/index.mjs +2 -4
- package/esm2020/lib/db/Models/property/property-sale/property-sale.mjs +1 -1
- package/esm2020/lib/db/Models/user/user.mjs +1 -1
- package/esm2020/lib/forms/client/annual-client-details.form.mjs +37 -0
- package/esm2020/lib/forms/client/index.mjs +3 -0
- package/esm2020/lib/forms/holding/holding-sale.form.mjs +39 -0
- package/esm2020/lib/forms/holding/holding-type.form.mjs +16 -0
- package/esm2020/lib/forms/holding/holding.form.mjs +17 -0
- package/esm2020/lib/forms/holding/index.mjs +4 -0
- package/esm2020/lib/forms/index.mjs +3 -2
- package/esm2020/lib/forms/property/property-sale/property-sale-cost-sale.form.mjs +11 -25
- package/esm2020/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +18 -7
- package/esm2020/lib/forms/report/my-tax/my-tax-cgt.form.mjs +4 -1
- package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +3 -1
- package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
- package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
- package/esm2020/lib/messages/index.mjs +2 -0
- package/esm2020/lib/messages/messages.enum.mjs +16 -0
- package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +4 -1
- package/esm2020/lib/models/client/annual-client-details.mjs +15 -0
- package/esm2020/lib/models/client/client-details.mjs +2 -2
- package/esm2020/lib/models/client/client-income-types.mjs +2 -2
- package/esm2020/lib/models/client/index.mjs +8 -0
- package/esm2020/lib/models/endpoint/endpoints.const.mjs +17 -1
- package/esm2020/lib/models/holding/holding-sale.mjs +18 -1
- package/esm2020/lib/models/holding/holding-type-exchange.mjs +13 -0
- package/esm2020/lib/models/holding/holding-type.mjs +37 -1
- package/esm2020/lib/models/holding/holding.mjs +32 -1
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/property/property-sale/property-sale.mjs +19 -6
- package/esm2020/lib/models/property/property-sale/tax-exemption.mjs +5 -1
- package/esm2020/lib/models/property/property.mjs +38 -18
- package/esm2020/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.mjs +7 -6
- package/esm2020/lib/models/user/occupation.mjs +2 -2
- package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
- package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
- package/esm2020/lib/services/asset/assets.service.mjs +3 -3
- package/esm2020/lib/services/auth/auth.service.mjs +3 -3
- package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
- package/esm2020/lib/services/event/sse.service.mjs +3 -3
- package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
- package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
- package/esm2020/lib/services/http/address/address.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
- package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +24 -0
- package/esm2020/lib/services/http/client/index.mjs +3 -0
- package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +45 -0
- package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document.service.mjs +3 -3
- package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
- package/esm2020/lib/services/http/file/file.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +4 -4
- package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
- package/esm2020/lib/services/http/google/google.service.mjs +3 -3
- package/esm2020/lib/services/http/holding/holding-sale.service.mjs +4 -7
- package/esm2020/lib/services/http/holding/holding-type.service.mjs +4 -7
- package/esm2020/lib/services/http/holding/holding.service.mjs +6 -9
- package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/index.mjs +2 -1
- package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
- package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property.service.mjs +3 -3
- package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
- package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
- package/esm2020/lib/services/http/user/index.mjs +2 -2
- package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user.service.mjs +5 -14
- package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
- package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
- package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
- package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
- package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
- package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
- package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
- package/esm2020/lib/services/toast/toast.service.mjs +3 -3
- package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
- package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
- package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
- package/esm2020/lib/tt-core.module.mjs +4 -4
- package/esm2020/lib/validators/transactions-meta-fields.validator.mjs +34 -0
- package/esm2020/public-api.mjs +5 -1
- package/fesm2015/taxtank-core.mjs +943 -601
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +937 -596
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/holding.collection.d.ts +10 -0
- package/lib/collections/index.d.ts +1 -0
- package/lib/collections/property/property-sale/property-sale.collection.d.ts +1 -1
- package/lib/db/Enums/index.d.ts +1 -0
- package/lib/db/Models/client/annual-client-details.d.ts +12 -0
- package/lib/db/Models/{user → client}/client-details.d.ts +1 -2
- package/lib/db/Models/client/index.d.ts +4 -0
- package/lib/db/Models/index.d.ts +1 -3
- package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -3
- package/lib/db/Models/user/user.d.ts +1 -1
- package/lib/forms/client/annual-client-details.form.d.ts +8 -0
- package/lib/forms/client/index.d.ts +2 -0
- package/lib/forms/holding/holding-sale.form.d.ts +11 -0
- package/lib/forms/holding/holding-type.form.d.ts +5 -0
- package/lib/forms/holding/holding.form.d.ts +5 -0
- package/lib/forms/holding/index.d.ts +3 -0
- package/lib/forms/index.d.ts +2 -1
- package/lib/forms/property/property-sale/property-sale-cost-sale.form.d.ts +1 -3
- package/lib/forms/property/property-sale/property-sale-exemptions.form.d.ts +6 -6
- package/lib/forms/report/my-tax/my-tax-cgt.form.d.ts +4 -1
- package/lib/messages/index.d.ts +1 -0
- package/lib/messages/messages.enum.d.ts +14 -0
- package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
- package/lib/models/client/annual-client-details.d.ts +12 -0
- package/lib/models/client/client-details.d.ts +1 -1
- package/lib/models/client/client-income-types.d.ts +1 -1
- package/lib/models/client/index.d.ts +7 -0
- package/lib/models/holding/holding-sale.d.ts +6 -1
- package/lib/models/holding/holding-type-exchange.d.ts +11 -0
- package/lib/models/holding/holding-type.d.ts +31 -8
- package/lib/models/holding/holding.d.ts +16 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/property/property-sale/property-sale.d.ts +7 -2
- package/lib/models/property/property-sale/tax-exemption.d.ts +1 -0
- package/lib/models/property/property.d.ts +12 -6
- package/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.d.ts +2 -2
- package/lib/models/user/occupation.d.ts +1 -1
- package/lib/services/http/client/capital-gain/annual-client-details.service.d.ts +14 -0
- package/lib/services/http/client/index.d.ts +2 -0
- package/lib/services/http/firm/client-income/client-income-types.service.d.ts +1 -1
- package/lib/services/http/holding/holding-sale.service.d.ts +0 -3
- package/lib/services/http/holding/holding-type.service.d.ts +0 -3
- package/lib/services/http/holding/holding.service.d.ts +3 -6
- package/lib/services/http/index.d.ts +1 -0
- package/lib/services/http/user/index.d.ts +1 -1
- package/lib/services/http/user/user.service.d.ts +0 -4
- package/lib/validators/transactions-meta-fields.validator.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/esm2020/lib/db/Models/user/client-details.mjs +0 -4
- package/esm2020/lib/db/Models/user/client-income-types.mjs +0 -4
- package/esm2020/lib/db/Models/user/occupation.mjs +0 -4
- package/esm2020/lib/services/http/user/occupation/occupation.service.mjs +0 -45
- /package/lib/db/Models/{user → client}/client-income-types.d.ts +0 -0
- /package/lib/db/Models/{user → client}/occupation.d.ts +0 -0
- /package/lib/services/http/{user → client}/occupation/occupation.service.d.ts +0 -0
|
@@ -39,6 +39,10 @@ export const ENDPOINTS = {
|
|
|
39
39
|
CLIENT_INCOME_TYPES_POST: new Endpoint('POST', '\\/client-income-types'),
|
|
40
40
|
COUNTRIES_GET: new Endpoint('GET', '\\/countries'),
|
|
41
41
|
CORELOGIC_TOKEN_GET: new Endpoint('GET', '/access\\/oauth\\/token.*$'),
|
|
42
|
+
ANNUAL_CLIENT_DETAILS_GET: new Endpoint('GET', '\\/annual-client-details'),
|
|
43
|
+
ANNUAL_CLIENT_DETAILS_POST: new Endpoint('POST', '\\/annual-client-details'),
|
|
44
|
+
ANNUAL_CLIENT_DETAILS_PUT: new Endpoint('PUT', '\\/annual-client-details\\/\\d+'),
|
|
45
|
+
ANNUAL_CLIENT_DETAILS_DELETE: new Endpoint('DELETE', '\\/annual-client-details\\/\\d+'),
|
|
42
46
|
DEPRECIATIONS_OPENING_GET: new Endpoint('GET', '\\/depreciations\\/\\opening-balance\.\*'),
|
|
43
47
|
DEPRECIATIONS_GET: new Endpoint('GET', '\\/depreciations'),
|
|
44
48
|
DEPRECIATIONS_POST: new Endpoint('POST', '\\/depreciations'),
|
|
@@ -81,6 +85,18 @@ export const ENDPOINTS = {
|
|
|
81
85
|
LOANS_PAYOUT_DELETE: new Endpoint('DELETE', '\\/loans\\/\\d+\\/payout\\/\\d+'),
|
|
82
86
|
LOANS_CALCULATION_POST: new Endpoint('POST', '\\/bank-accounts\\/loans\\/calculation'),
|
|
83
87
|
LOGIN_POST: new Endpoint('POST', '\\/login'),
|
|
88
|
+
HOLDINGS_GET: new Endpoint('GET', '\\/holdings'),
|
|
89
|
+
HOLDINGS_POST: new Endpoint('POST', '\\/holdings'),
|
|
90
|
+
HOLDINGS_PUT: new Endpoint('PUT', '\\/holdings\\/\\d+'),
|
|
91
|
+
HOLDINGS_DELETE: new Endpoint('DELETE', '\\/holdings\\/\\d+'),
|
|
92
|
+
HOLDING_TYPES_GET: new Endpoint('GET', '\\/holding-types'),
|
|
93
|
+
HOLDING_TYPES_POST: new Endpoint('POST', '\\/holding-types'),
|
|
94
|
+
HOLDING_TYPES_PUT: new Endpoint('PUT', '\\/holding-types\\/\\d+'),
|
|
95
|
+
HOLDING_TYPES_DELETE: new Endpoint('DELETE', '\\/holding-types\\/\\d+'),
|
|
96
|
+
HOLDING_SALES_GET: new Endpoint('GET', '\\/holding-sales'),
|
|
97
|
+
HOLDING_SALES_POST: new Endpoint('POST', '\\/holding-sales'),
|
|
98
|
+
HOLDING_SALES_PUT: new Endpoint('PUT', '\\/holding-sales\\/\\d+'),
|
|
99
|
+
HOLDING_SALES_DELETE: new Endpoint('DELETE', '\\/holding-sales\\/\\d+'),
|
|
84
100
|
NOTIFICATIONS_GET: new Endpoint('GET', '\\/service-notifications'),
|
|
85
101
|
OCCUPATIONS_GET: new Endpoint('GET', '\\/occupations'),
|
|
86
102
|
PROPERTIES_GET: new Endpoint('GET', '\\/properties'),
|
|
@@ -206,4 +222,4 @@ export const ENDPOINTS = {
|
|
|
206
222
|
VEHICLE_CLAIM_DETAILS_POST: new Endpoint('POST', '\\/vehicle-claim-details'),
|
|
207
223
|
VEHICLE_CLAIM_DETAILS_PUT: new Endpoint('PUT', '\\/vehicle-claim-details\\/\\d+'),
|
|
208
224
|
};
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCO0lBQ2xELFVBQVUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQUM7SUFFMUQsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNsRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLENBQUM7SUFDdkUsdUJBQXVCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLDRCQUE0QixDQUFDO0lBRTdFLFNBQVMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQzFDLGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQztJQUMxRCxrQkFBa0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7SUFDNUQsaUJBQWlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHlCQUF5QixDQUFDO0lBQ2pFLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNqRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7SUFDaEUscUJBQXFCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHNC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QW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDO0lBQ25FLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQztJQUNyRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsK0JBQStCLENBQUM7SUFDMUUsdUJBQXVCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLCtCQUErQixDQUFDO0lBQ2hGLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQztJQUMxRSwwQkFBMEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsMEJBQTBCLENBQUM7SUFDNUUseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGlDQUFpQyxDQUFDO0NBQ2xGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJy4vZW5kcG9pbnQnO1xyXG5cclxuLyoqXHJcbiAqIExpc3Qgb2YgYWxsIGFwcCBlbmRwb2ludHNcclxuICogQFRPRE8gQWxleC9WaWs6IENyZWF0ZSBzb21lIHNtYXJ0IHN5c3RlbSBmb3IgcHJlbG9hZGVyIGVuZHBvaW50cy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBFTkRQT0lOVFM6IHtba2V5OiBzdHJpbmddOiBFbmRwb2ludH0gPSB7XHJcbiAgQVNTRVRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9hc3NldHNcXFxcL1xcLlxcKlxcXFwvXFxcXGQrJyksXHJcblxyXG4gIEFMTE9DQVRJT05fUlVMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2FsbG9jYXRpb24tcnVsZXMnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2FsbG9jYXRpb24tcnVsZXMnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzXFxcXC9cXFxcZCsnKSxcclxuICBBTExPQ0FUSU9OX1JVTEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgQkFOS1NfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JhbmtzJyksXHJcbiAgQkFOS19BQ0NPVU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1hY2NvdW50cycpLFxyXG4gIEJBTktfQUNDT1VOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvYmFuay1hY2NvdW50cycpLFxyXG4gIEJBTktfQUNDT1VOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL1xcXFxkKycpLFxyXG4gIEJBTktfQ09OTkVDVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYW5rLWNvbm5lY3Rpb25zJyksXHJcbiAgQkFOS19DT05ORUNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1jb25uZWN0aW9ucycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9ucycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgQkFOS19UUkFOU0FDVElPTlNfSU1QT1JUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCtcXFxcL2ltcG9ydCcpLFxyXG4gIEJBU0lRX0FDQ09VTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYXNpcVxcXFwvYWNjb3VudHMnKSxcclxuICBCQVNJUV9UT0tFTl9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFzaXFcXFxcL3Rva2VucycpLFxyXG5cclxuICBCT1JST1dJTkdfRVhQRU5TRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JvcnJvd2luZy1leHBlbnNlcycpLFxyXG5cclxuICBDSEFSVFNfSU5DT01FX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9jaGFydHNcXFxcL1xcXFxpbmNvbWVzJyksXHJcbiAgQ0hBUlRTX0VYUEVOU0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9jaGFydHNcXFxcL1xcXFxleHBlbnNlcycpLFxyXG4gIENIQVJUX0FDQ09VTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9jaGFydC1hY2NvdW50cycpLFxyXG4gIENMSUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NsaWVudHMnKSxcclxuICBDTElFTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9jbGllbnRzJyksXHJcbiAgQ0xJRU5UU19FWENMVURFX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9jbGllbnRzXFxcXC9cXFxcZCtcXFxcL2V4Y2x1ZGUnKSxcclxuICBDTElFTlRTX0lOVklURVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NsaWVudHNcXFxcL1xcXFxpbnZpdGVzJyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2NsaWVudHNcXFxcL1xcXFxpbnZpdGVzJyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9jbGllbnRzXFxcXC9cXFxcaW52aXRlc1xcXFwvXFxcXGQrJyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX0FDQ0VQVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9jbGllbnRzXFxcXC9cXFxcaW52aXRlc1xcXFwvXFxcXGQrXFxcXC9hY2NlcHQnKSxcclxuICBDTElFTlRTX0lOVklURVNfUkVKRUNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2NsaWVudHNcXFxcL1xcXFxpbnZpdGVzXFxcXC9cXFxcZCtcXFxcL3JlamVjdCcpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19SRVNFTkRfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50c1xcXFwvXFxcXGludml0ZXNcXFxcL1xcXFxkK1xcXFwvcmVzZW5kJyksXHJcbiAgQ0xJRU5UX01PVkVNRU5UU19DTE9TRTogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9jbGllbnQtbW92ZW1lbnRzXFxcXC9cXFxcZCtcXFxcL2Nsb3NlJyksXHJcbiAgQ0xJRU5UX01PVkVNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50cycpLFxyXG4gIENMSUVOVF9NT1ZFTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50cycpLFxyXG4gIENMSUVOVF9JTkNPTUVfVFlQRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50LWluY29tZS10eXBlcycpLFxyXG4gIENPVU5UUklFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY291bnRyaWVzJyksXHJcbiAgQ09SRUxPR0lDX1RPS0VOX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnL2FjY2Vzc1xcXFwvb2F1dGhcXFxcL3Rva2VuLiokJyksXHJcblxyXG4gIERFUFJFQ0lBVElPTlNfT1BFTklOR19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXG9wZW5pbmctYmFsYW5jZVxcLlxcKicpLFxyXG4gIERFUFJFQ0lBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2RlcHJlY2lhdGlvbnMnKSxcclxuICBERVBSRUNJQVRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2RlcHJlY2lhdGlvbnMnKSxcclxuICBERVBSRUNJQVRJT05TX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9kZXByZWNpYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBERVBSRUNJQVRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9kZXByZWNpYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBERVBSRUNJQVRJT05fUkVDRUlQVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXGQrXFxcXC9yZWNlaXB0cycpLFxyXG4gIERFUFJFQ0lBVElPTl9SRUNFSVBUU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXGQrXFxcXC9yZWNlaXB0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEVNUExPWUVFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZW1wbG95ZWVzJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2VtcGxveWVlc1xcXFwvXFxcXGludml0ZXMnKSxcclxuICBFTVBMT1lFRVNfSU5WSVRFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcaW52aXRlc1xcXFwvXFxcXGQrJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9lbXBsb3llZXNcXFxcL1xcXFxpbnZpdGVzJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfUkVKRUNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2VtcGxveWVlc1xcXFwvXFxcXGludml0ZXNcXFxcL1xcXFxkK1xcXFwvXFxcXHJlamVjdCcpLFxyXG4gIEVNUExPWUVFU19JTlZJVEVTX1JFU0VORF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9lbXBsb3llZXNcXFxcL1xcXFxpbnZpdGVzXFxcXC9cXFxcZCtcXFxcL1xcXFxyZXNlbmQnKSxcclxuXHJcbiAgRkFDRUJPT0tfTE9HSU5fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL2F1dGhlbnRpY2F0aW9uXFxcXC9mYWNlYm9vaycpLFxyXG4gIEZJUk1fR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Zpcm1zJyksXHJcbiAgRklSTV9DVVJSRU5UX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9maXJtc1xcXFwvY3VycmVudCcpLFxyXG4gIEZJUk1fQ1VSUkVOVF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZmlybXNcXFxcL2N1cnJlbnRcXC5cXConKSxcclxuICBGSVJNX0lOVklURV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9maXJtc1xcXFwvaW52aXRlJyksXHJcbiAgRklSTV9SRUdJU1RSQVRJT05fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZmlybXNcXFxcL3JlZ2lzdHJhdGlvbicpLFxyXG4gIEZJUk1fVVBEQVRFX1BIT1RPX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Zpcm1zXFxcXC9waG90b1xcLlxcKicpLFxyXG4gIEZPTERFUlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2ZvbGRlcnMnKSxcclxuICBGT0xERVJTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2ZvbGRlcnMnKSxcclxuICBGT0xERVJTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9mb2xkZXJzXFxcXC9cXFxcZCsnKSxcclxuICBGT0xERVJTX0RPQ1VNRU5UU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9mb2xkZXJzXFxcXC9cXFxcZCtcXFxcL2RvY3VtZW50cycpLFxyXG4gIEZPTERFUlNfRE9DVU1FTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9mb2xkZXJzXFxcXC9cXFxcZCtcXFxcL2RvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIElOQ09NRV9TT1VSQ0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlcycpLFxyXG4gIElOQ09NRV9TT1VSQ0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2luY29tZS1zb3VyY2VzJyksXHJcbiAgSU5DT01FX1NPVVJDRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2luY29tZS1zb3VyY2VzJyksXHJcbiAgSU5DT01FX1NPVVJDRVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2luY29tZS1zb3VyY2VzXFxcXC9cXFxcZCsnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0cycpLFxyXG4gIElOQ09NRV9TT1VSQ0VfRk9SRUNBU1RfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaW5jb21lLXNvdXJjZS1mb3JlY2FzdHMnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0cycpLFxyXG4gIElOQ09NRV9TT1VSQ0VfRk9SRUNBU1RfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2luY29tZS1zb3VyY2UtZm9yZWNhc3RzXFxcXC9cXFxcZCsnKSxcclxuICBJTkNPTUVfU09VUkNFX1RZUEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9pbmNvbWUtc291cmNlLXR5cGVzJyksXHJcblxyXG4gIExPQU5TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9sb2FucycpLFxyXG4gIExPQU5TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zJyksXHJcbiAgTE9BTlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zL1xcXFxkKycpLFxyXG4gIExPQU5TX1BBWU9VVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXQnKSxcclxuICBMT0FOU19QQVlPVVRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2xvYW5zXFxcXC9cXFxcZCtcXFxcL3BheW91dFxcXFwvXFxcXGQrJyksXHJcbiAgTE9BTlNfUEFZT1VUX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXRcXFxcL1xcXFxkKycpLFxyXG4gIExPQU5TX0NBTENVTEFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHNcXFxcL2xvYW5zXFxcXC9jYWxjdWxhdGlvbicpLFxyXG4gIExPR0lOX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2xvZ2luJyksXHJcblxyXG4gIE5PVElGSUNBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2Utbm90aWZpY2F0aW9ucycpLFxyXG5cclxuICBPQ0NVUEFUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvb2NjdXBhdGlvbnMnKSxcclxuXHJcbiAgUFJPUEVSVElFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllcycpLFxyXG4gIFBST1BFUlRJRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydGllcycpLFxyXG4gIFBST1BFUlRZX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzL1xcXFxkKycpLFxyXG4gIFBST1BFUlRZX1NVQlNDUklQVElPTlNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3Byb3BlcnR5LXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRZX1NVQlNDUklQVElPTlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydHktc3Vic2NyaXB0aW9ucycpLFxyXG4gIFBST1BFUlRJRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JJRVNfRVFVSVRZX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9jYXRlZ29yaWVzXFxcXC9lcXVpdHknKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JJRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2NhdGVnb3JpZXMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JJRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2NhdGVnb3JpZXNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUklFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9jYXRlZ29yaWVzJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX01PVkVNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9jYXRlZ29yeS1tb3ZlbWVudHMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JZX01PVkVNRU5UU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2NhdGVnb3J5LW1vdmVtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUllfTU9WRU1FTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2NhdGVnb3J5LW1vdmVtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19TSEFSRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL3NoYXJlc1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19TSEFSRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL3NoYXJlcycpLFxyXG4gIFBST1BFUlRJRVNfU0hBUkVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL3NoYXJlcycpLFxyXG4gIFBST1BFUlRJRVNfREVBQ1RJVkFURV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9kZWFjdGl2YXRlJyksXHJcbiAgUFJPUEVSVElFU19ERVBSRUNJQVRJT05fQ0FQSVRBTF9QUk9KRUNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzJyksXHJcbiAgUFJPUEVSVElFU19ERVBSRUNJQVRJT05fQ0FQSVRBTF9QUk9KRUNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdHMnKSxcclxuICBQUk9QRVJUSUVTX0RFUFJFQ0lBVElPTl9DQVBJVEFMX1BST0pFQ1RfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfREVQUkVDSUFUSU9OX0NBUElUQUxfUFJPSkVDVF9ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2RvY3VtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvZG9jdW1lbnRzJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2RvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19ET0NVTUVOVFNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3Byb3BlcnRpZXNcXFxcL2RvY3VtZW50c1xcXFwvXFxcXGQrJyksXHJcbiAgUFJPUEVSVElFU19QSE9UT19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL3Bob3RvXFwuXFwqJyksXHJcbiAgUFJPUEVSVElFU19TQUxFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvc2FsZXMnKSxcclxuICBQUk9QRVJUSUVTX1NVR0dFU1RJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnL3Byb3BlcnR5XFxcXC9cXFxcdytcXFxcL3YyXFxcXC8uKiQnKSxcclxuICBQUk9QRVJUSUVTX1ZBTFVBVElPTlNfRE9DVU1FTlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvdmFsdWF0aW9uc1xcXFwvXFxcXGQrXFxcXC9kb2N1bWVudHMnKSxcclxuXHJcbiAgLy8gQFRPRE8gcmVuYW1lXHJcbiAgUFJPUkFUSU9OX0NPU1RfUE9TVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkK1xcXFwvcHJvcmF0aW9uLWNvc3QnKSxcclxuXHJcbiAgU0FMQVJZX0ZPUkVDQVNUX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zYWxhcnktZm9yZWNhc3RzJyksXHJcbiAgU0FMQVJZX0ZPUkVDQVNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NhbGFyeS1mb3JlY2FzdHMnKSxcclxuICBTQUxBUllfRk9SRUNBU1RfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NhbGFyeS1mb3JlY2FzdHMnKSxcclxuICBTRVJWSUNFX1BSSUNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wcmljZXMnKSxcclxuICBTRVJWSUNFX1BST0RVQ1RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXByb2R1Y3RzJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wYXltZW50cycpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zJyksXHJcbiAgU0VSVklDRV9TVUJTQ1JJUFRJT05TX0NBTkNFTDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkK1xcXFwvY2FuY2VsJyksXHJcbiAgU0VSVklDRV9TVUJTQ1JJUFRJT05TX1JFTkVXOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9uc1xcXFwvXFxcXGQrXFxcXC9yZW5ld2FsJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UX0lOVk9JQ0VfVVJMX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnRzXFxcXC9cXFxcZCtcXFxcL2ludm9pY2UtdXJsJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UX01FVEhPRFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudC1tZXRob2RzJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UX01FVEhPRFNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3NlcnZpY2UtcGF5bWVudC1tZXRob2RzXFxcXC9cXFxcZCsnKSxcclxuICBTRVJWSUNFX1BBWU1FTlRfTUVUSE9EU19HRVRfU0VDUkVUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudC1tZXRob2RzXFxcXC9zZXR1cC1pbnRlbnQtc2VjcmV0JyksXHJcbiAgU0VSVklDRV9QQVlNRU5UX01FVEhPRFNfREVGQVVMVF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1wYXltZW50LW1ldGhvZHNcXFxcL1xcXFxkK1xcXFwvZGVmYXVsdCcpLFxyXG4gIFNVQlNDUklQVElPTl9JVEVNU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCtcXFxcL2l0ZW1zJyksXHJcblxyXG4gIFNPTEVfQlVTSU5FU1NFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1idXNpbmVzc2VzJyksXHJcbiAgU09MRV9CVVNJTkVTU0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtYnVzaW5lc3NlcycpLFxyXG4gIFNPTEVfQlVTSU5FU1NFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1idXNpbmVzc2VzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPU1NFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1sb3NzZXMnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPU1NFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWJ1c2luZXNzLWxvc3NlcycpLFxyXG4gIFNPTEVfQlVTSU5FU1NfTE9TU0VTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWJ1c2luZXNzLWxvc3Nlc1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT1NTX09GRlNFVF9SVUxFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1sb3NzLW9mZnNldC1ydWxlcycpLFxyXG4gIFNPTEVfQlVTSU5FU1NfTE9HT19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWJ1c2luZXNzZXNcXFxcL1xcXFxkK1xcXFwvbG9nbycpLFxyXG5cclxuICBTT0xFX0NPTlRBQ1RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWNvbnRhY3RzJyksXHJcbiAgU09MRV9DT05UQUNUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWNvbnRhY3RzJyksXHJcbiAgU09MRV9DT05UQUNUU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1jb250YWN0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEJBU19SRVBPUlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYXMtcmVwb3J0cycpLFxyXG4gIEJBU19SRVBPUlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Jhcy1yZXBvcnRzJyksXHJcbiAgQkFTX1JFUE9SVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2Jhcy1yZXBvcnRzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgQlVTSU5FU1NfQUNUSVZJVElFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1hY3Rpdml0aWVzJyksXHJcblxyXG4gIFNPTEVfREVQUkVDSUFUSU9OX01FVEhPRFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZHMnKSxcclxuICBTT0xFX0RFUFJFQ0lBVElPTl9NRVRIT0RTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2RzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgU09MRV9ERVRBSUxTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWRldGFpbHMnKSxcclxuICBTT0xFX0RFVEFJTFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtZGV0YWlsc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIFNPTEVfRk9SRUNBU1RTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtZm9yZWNhc3RzJyksXHJcbiAgU09MRV9GT1JFQ0FTVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtZm9yZWNhc3RzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgU09MRV9JTlZPSUNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1pbnZvaWNlcycpLFxyXG4gIFNPTEVfSU5WT0lDRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1pbnZvaWNlcycpLFxyXG4gIFNPTEVfSU5WT0lDRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtaW52b2ljZXNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfSU5WT0lDRVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3NvbGUtaW52b2ljZXNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfSU5WT0lDRVNfRU1BSUxfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1pbnZvaWNlc1xcXFwvXFxcXGQrXFxcXC9zZW5kJyksXHJcbiAgU09MRV9JTlZPSUNFX1RFTVBMQVRFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1pbnZvaWNlLXRlbXBsYXRlcycpLFxyXG4gIFNPTEVfSU5WT0lDRV9URU1QTEFURVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1pbnZvaWNlLXRlbXBsYXRlcycpLFxyXG4gIFNPTEVfSU5WT0lDRV9URU1QTEFURVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtaW52b2ljZS10ZW1wbGF0ZXNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfSU5WT0lDRV9URU1QTEFURVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3NvbGUtaW52b2ljZS10ZW1wbGF0ZXNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBUQVhfRVhFTVBUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdGF4LWV4ZW1wdGlvbnMnKSxcclxuXHJcbiAgVEFYX0NBTENVTEFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RheC1jYWxjdWxhdGlvbicpLFxyXG4gIFRBWF9SRVZJRVdTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC90YXgtcmV2aWV3cycpLFxyXG4gIFRBWF9SRVZJRVdTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC90YXgtcmV2aWV3c1xcXFwvXFxcXGQrJyksXHJcbiAgVEFYX1JFVklFV1NfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdGF4LXJldmlld3MnKSxcclxuICBUQVhfUkVWSUVXU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdGF4LXJldmlld3NcXFxcL1xcXFxkKycpLFxyXG4gIFRBWF9TVU1NQVJZX0FDVFVBTF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdGF4LXN1bW1hcnlcXFxcL2FjdHVhbHMnKSxcclxuICBUQVhfU1VNTUFSWV9GT1JFQ0FTVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdGF4LXN1bW1hcnlcXFxcL2ZvcmVjYXN0cycpLFxyXG4gIFRSQU5TQUNUSU9OX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC90cmFuc2FjdGlvbnNcXFxcL1xcXFxkKycpLFxyXG4gIFRSQU5TQUNUSU9OX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC90cmFuc2FjdGlvbnNcXFxcL1xcXFxkKycpLFxyXG4gIFRSQU5TQUNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdHJhbnNhY3Rpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RyYW5zYWN0aW9ucycpLFxyXG4gIFRSQU5TQUNUSU9OU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdHJhbnNhY3Rpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX0FMTE9DQVRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC90cmFuc2FjdGlvbnMtYWxsb2NhdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfQUxMT0NBVElPTlNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdHJhbnNhY3Rpb25zLWFsbG9jYXRpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX0FMTE9DQVRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC90cmFuc2FjdGlvbnMtYWxsb2NhdGlvbnNcXFxcL1xcXFxkKycpLFxyXG4gIFRSQU5TQUNUSU9OX1JFQ0VJUFRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RyYW5zYWN0aW9uc1xcXFwvXFxcXGQrXFxcXC9yZWNlaXB0cycpLFxyXG4gIFRSQU5TQUNUSU9OX1JFQ0VJUFRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC90cmFuc2FjdGlvbnNcXFxcL1xcXFxkK1xcXFwvcmVjZWlwdHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBVU0VSX0NPTkZJUk1BVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvY29uZmlybWF0aW9uJyksXHJcbiAgVVNFUl9DT05GSVJNQVRJT05fUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9jb25maXJtYXRpb25cXFxcL3Jlc2VuZCcpLFxyXG4gIFVTRVJfQ1VSUkVOVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdXNlcnNcXFxcL2N1cnJlbnQnKSxcclxuICBVU0VSX0NVUlJFTlRfUEFTU1dPUkRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9jdXJyZW50XFxcXC9wYXNzd29yZFxcLlxcKicpLFxyXG4gIFVTRVJfRVZFTlRfU0VUVElOR1NfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3VzZXItZXZlbnQtc2V0dGluZ3MnKSxcclxuICBVU0VSX0VWRU5UX1RZUEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC91c2VyLWV2ZW50LXR5cGVzJyksXHJcbiAgVVNFUl9JTlZJVEVfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3VzZXJzXFxcXC9pbnZpdGVcXFxcL1xcXFxkKycpLFxyXG4gIFVTRVJfSU5WSVRFX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9pbnZpdGUnKSxcclxuICBVU0VSX0lOVklURV9SRVNFTkRfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL2ludml0ZS9cXFxcZCtcXFxcL3Jlc2VuZCcpLFxyXG4gIFVTRVJfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9cXFxcZCsnKSxcclxuICBVU0VSX1JFR0lTVFJBVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvcmVnaXN0cmF0aW9uJyksXHJcbiAgVVNFUl9SRVNFVF9QQVNTV09SRF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdXNlcnNcXFxcL3Jlc2V0LXBhc3N3b3JkJyksXHJcbiAgVVNFUl9TRUFSQ0hfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3VzZXJzXFxcXC9zZWFyY2hcXC5cXConKSxcclxuICBVU0VSX1VQREFURV9QSE9UT19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvcGhvdG9cXC5cXConKSxcclxuICBVU0VSX1NUQVRVU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdXNlcnNcXFxcL3N0YXR1cycpLFxyXG5cclxuICBWRUhJQ0xFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdmVoaWNsZXMnKSxcclxuICBWRUhJQ0xFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC92ZWhpY2xlcycpLFxyXG4gIFZFSElDTEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC92ZWhpY2xlc1xcXFwvXFxcXGQrJyksXHJcbiAgVkVISUNMRV9DTEFJTVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGUtY2xhaW1zJyksXHJcbiAgVkVISUNMRV9DTEFJTVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbXMnKSxcclxuICBWRUhJQ0xFX0NMQUlNU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbXNcXFxcL1xcXFxkKycpLFxyXG4gIFZFSElDTEVfTE9HQk9PS1NfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGVzXFxcXC9sb2dib29rcycpLFxyXG4gIFZFSElDTEVfTE9HQk9PS1NfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdmVoaWNsZXNcXFxcL2xvZ2Jvb2tzJyksXHJcbiAgVkVISUNMRV9MT0dCT09LU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdmVoaWNsZXNcXFxcL2xvZ2Jvb2tzXFxcXC9cXFxcZCsnKSxcclxuICBWRUhJQ0xFX0xPR0JPT0tTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC92ZWhpY2xlc1xcXFwvbG9nYm9va3NcXFxcL1xcXFxkKycpLFxyXG4gIFZFSElDTEVfQ0xBSU1fREVUQUlMU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbS1kZXRhaWxzJyksXHJcbiAgVkVISUNMRV9DTEFJTV9ERVRBSUxTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3ZlaGljbGUtY2xhaW0tZGV0YWlscycpLFxyXG4gIFZFSElDTEVfQ0xBSU1fREVUQUlMU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdmVoaWNsZS1jbGFpbS1kZXRhaWxzXFxcXC9cXFxcZCsnKSxcclxufTtcclxuIl19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnRzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9lbmRwb2ludC9lbmRwb2ludHMuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQThCO0lBQ2xELFVBQVUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQUM7SUFFMUQsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNsRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLENBQUM7SUFDdkUsdUJBQXVCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLDRCQUE0QixDQUFDO0lBRTdFLFNBQVMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQzFDLGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQztJQUMxRCxrQkFBa0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7SUFDNUQsaUJBQWlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHlCQUF5QixDQUFDO0lBQ2pFLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNqRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7SUFDaEUscUJBQXFCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHNCQUFzQixDQUFDO0lBQ2xFLHdCQUF3QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQztJQUMvRSw2QkFBNkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsc0NBQXNDLENBQUM7SUFDM0Ysa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQzlELGVBQWUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUM7SUFFekQsc0JBQXNCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO0lBRXBFLGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQztJQUMvRCxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7SUFDbEUsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0lBQzVELFdBQVcsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO0lBQzlDLFdBQVcsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO0lBQzlDLG1CQUFtQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsQ0FBQztJQUN2RSxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7SUFDbEUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLHdCQUF3QixDQUFDO0lBQ3BFLHNCQUFzQixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSwrQkFBK0IsQ0FBQztJQUMvRSwyQkFBMkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0NBQXdDLENBQUM7SUFDM0YsMkJBQTJCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLHdDQUF3QyxDQUFDO0lBQzNGLDJCQUEyQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSx3Q0FBd0MsQ0FBQztJQUMzRixzQkFBc0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsb0NBQW9DLENBQUM7SUFDakYsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNsRSx3QkFBd0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7SUFDeEUsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUM7SUFDbEQsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDO0lBRXRFLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQztJQUMxRSwwQkFBMEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsMEJBQTBCLENBQUM7SUFDNUUseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGlDQUFpQyxDQUFDO0lBQ2pGLDRCQUE0QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQztJQUV2Rix5QkFBeUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMENBQTBDLENBQUM7SUFDMUYsaUJBQWlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDO0lBQzFELGtCQUFrQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztJQUM1RCxpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQUM7SUFDakUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDO0lBQ3ZFLDBCQUEwQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQztJQUN0Riw0QkFBNEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsMkNBQTJDLENBQUM7SUFFakcsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUM7SUFDbEQscUJBQXFCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDO0lBQ3RFLHdCQUF3QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQztJQUNuRixxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsMEJBQTBCLENBQUM7SUFDdkUsNkJBQTZCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDRDQUE0QyxDQUFDO0lBQ2pHLDZCQUE2QixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSw0Q0FBNEMsQ0FBQztJQUVqRyxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsc0NBQXNDLENBQUM7SUFDakYsUUFBUSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUM7SUFDekMsZ0JBQWdCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO0lBQzNELGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQztJQUMvRCxnQkFBZ0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUM7SUFDM0Qsc0JBQXNCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDO0lBQ3ZFLHNCQUFzQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQztJQUNwRSxXQUFXLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUM5QyxZQUFZLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNoRCxXQUFXLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0lBQ3JELHNCQUFzQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSwrQkFBK0IsQ0FBQztJQUM3RSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsc0NBQXNDLENBQUM7SUFFbEYsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0lBQzVELG1CQUFtQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQztJQUM5RCxrQkFBa0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUM7SUFDNUQscUJBQXFCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDO0lBQ3pFLDBCQUEwQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSw0QkFBNEIsQ0FBQztJQUM3RSwyQkFBMkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsNEJBQTRCLENBQUM7SUFDL0UsMEJBQTBCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDO0lBQzdFLDZCQUE2QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxtQ0FBbUMsQ0FBQztJQUMxRix1QkFBdUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7SUFFdEUsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQztJQUMxRCxVQUFVLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDO0lBQzVELFNBQVMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsK0JBQStCLENBQUM7SUFDL0QsaUJBQWlCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDO0lBQ25FLGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsQ0FBQztJQUN4RSxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsaUNBQWlDLENBQUM7SUFDOUUsc0JBQXNCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLHdDQUF3QyxDQUFDO0lBQ3RGLFVBQVUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO0lBRTVDLFlBQVksRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDO0lBQ2hELGFBQWEsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDO0lBQ2xELFlBQVksRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUM7SUFDdkQsZUFBZSxFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQztJQUM3RCxpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUM7SUFDMUQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO0lBQzVELGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUNqRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUM7SUFDdkUsaUJBQWlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDO0lBQzFELGtCQUFrQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztJQUM1RCxpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQUM7SUFDakUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLHlCQUF5QixDQUFDO0lBRXZFLGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQztJQUVsRSxlQUFlLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDO0lBRXRELGNBQWMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDO0lBQ3BELGVBQWUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDO0lBQ3RELFlBQVksRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLENBQUM7SUFDdkQsNkJBQTZCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLGtDQUFrQyxDQUFDO0lBQ3pGLDJCQUEyQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQztJQUM5RSxjQUFjLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQztJQUNwRCxnQ0FBZ0MsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUscUNBQXFDLENBQUM7SUFDNUYseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDO0lBQzVFLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxtQ0FBbUMsQ0FBQztJQUNuRiwwQkFBMEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsNEJBQTRCLENBQUM7SUFDOUUsbUNBQW1DLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDJDQUEyQyxDQUFDO0lBQ3JHLGtDQUFrQyxFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSwyQ0FBMkMsQ0FBQztJQUNyRyxpQ0FBaUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0RBQWtELENBQUM7SUFDMUcscUJBQXFCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLCtCQUErQixDQUFDO0lBQzNFLHFCQUFxQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQztJQUNwRSxzQkFBc0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7SUFDdEUseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG1DQUFtQyxDQUFDO0lBQ25GLDJDQUEyQyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxzREFBc0QsQ0FBQztJQUN4SCw0Q0FBNEMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsc0RBQXNELENBQUM7SUFDMUgsMkNBQTJDLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDZEQUE2RCxDQUFDO0lBQy9ILDhDQUE4QyxFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSw2REFBNkQsQ0FBQztJQUNySSx3QkFBd0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMkJBQTJCLENBQUM7SUFDMUUseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtDQUFrQyxDQUFDO0lBQ25GLHdCQUF3QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxrQ0FBa0MsQ0FBQztJQUNqRiwyQkFBMkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsa0NBQWtDLENBQUM7SUFDdkYscUJBQXFCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtDQUFrQyxDQUFDO0lBQy9FLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQztJQUNsRSwwQkFBMEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsNkJBQTZCLENBQUM7SUFDOUUsb0NBQW9DLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLHNEQUFzRCxDQUFDO0lBRWxILGVBQWU7SUFDZixtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0RBQWtELENBQUM7SUFFNUYsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO0lBQy9ELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUNqRSxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7SUFDL0Qsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0lBQzVELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUNoRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7SUFDaEUseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDO0lBQzFFLDRCQUE0QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQ0FBMEMsQ0FBQztJQUM3RiwyQkFBMkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMkNBQTJDLENBQUM7SUFDN0YsK0JBQStCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDBDQUEwQyxDQUFDO0lBQ2hHLDJCQUEyQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSw0QkFBNEIsQ0FBQztJQUM5RSw4QkFBOEIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsbUNBQW1DLENBQUM7SUFDM0Ysa0NBQWtDLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGtEQUFrRCxDQUFDO0lBQzNHLG1DQUFtQyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSw2Q0FBNkMsQ0FBQztJQUN2RyxzQkFBc0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUseUNBQXlDLENBQUM7SUFFdEYsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO0lBQzlELG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQztJQUNoRSxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMkJBQTJCLENBQUM7SUFDckUsd0JBQXdCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHlCQUF5QixDQUFDO0lBQ3hFLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQztJQUMxRSx3QkFBd0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsZ0NBQWdDLENBQUM7SUFDL0UsbUNBQW1DLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG9DQUFvQyxDQUFDO0lBQzlGLHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxrQ0FBa0MsQ0FBQztJQUVqRixpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUM7SUFDMUQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO0lBQzVELGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUVqRSxlQUFlLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDO0lBQ3RELGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztJQUN4RCxlQUFlLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO0lBRTdELHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsQ0FBQztJQUUzRSw2QkFBNkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsOEJBQThCLENBQUM7SUFDbEYsNkJBQTZCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHFDQUFxQyxDQUFDO0lBRXpGLGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQztJQUN4RCxnQkFBZ0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7SUFFL0QsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDO0lBQzlELGtCQUFrQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQztJQUVuRSxpQkFBaUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUM7SUFDMUQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO0lBQzVELGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUNqRSxvQkFBb0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUM7SUFDdkUsd0JBQXdCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGdDQUFnQyxDQUFDO0lBQ2hGLDBCQUEwQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwyQkFBMkIsQ0FBQztJQUM1RSwyQkFBMkIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLENBQUM7SUFDOUUsMEJBQTBCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGtDQUFrQyxDQUFDO0lBQ25GLDZCQUE2QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxrQ0FBa0MsQ0FBQztJQUV6RixrQkFBa0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLENBQUM7SUFFNUQsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDO0lBQ2hFLGVBQWUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUM7SUFDdEQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLHVCQUF1QixDQUFDO0lBQ25FLGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztJQUN4RCxlQUFlLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO0lBQzdELHNCQUFzQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSwwQkFBMEIsQ0FBQztJQUN2RSx3QkFBd0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLENBQUM7SUFDM0Usa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDO0lBQ3BFLGVBQWUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUM7SUFDOUQsZ0JBQWdCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDO0lBQ3hELGlCQUFpQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQztJQUMxRCxnQkFBZ0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUM7SUFDeEQsNEJBQTRCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDZCQUE2QixDQUFDO0lBQ2hGLDZCQUE2QixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSw2QkFBNkIsQ0FBQztJQUNsRiwrQkFBK0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsb0NBQW9DLENBQUM7SUFDN0YseUJBQXlCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLG1DQUFtQyxDQUFDO0lBQ3BGLDJCQUEyQixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSwwQ0FBMEMsQ0FBQztJQUUvRixzQkFBc0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQUM7SUFDdkUsNkJBQTZCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGtDQUFrQyxDQUFDO0lBQ3ZGLGdCQUFnQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQztJQUMzRCx5QkFBeUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsbUNBQW1DLENBQUM7SUFDbkYsdUJBQXVCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDO0lBQ3RFLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUNoRSxrQkFBa0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUM7SUFDdEUsZ0JBQWdCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDO0lBQzNELHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxpQ0FBaUMsQ0FBQztJQUNoRixRQUFRLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDO0lBQ2hELHNCQUFzQixFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQztJQUN2RSx1QkFBdUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMkJBQTJCLENBQUM7SUFDekUsZUFBZSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQztJQUM3RCxzQkFBc0IsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUM7SUFDcEUsZUFBZSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztJQUV6RCxZQUFZLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztJQUNoRCxhQUFhLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQztJQUNsRCxZQUFZLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO0lBQ3ZELGtCQUFrQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztJQUM1RCxtQkFBbUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUM7SUFDOUQsa0JBQWtCLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDO0lBQ25FLG9CQUFvQixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQztJQUNuRSxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7SUFDckUsb0JBQW9CLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLCtCQUErQixDQUFDO0lBQzFFLHVCQUF1QixFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSwrQkFBK0IsQ0FBQztJQUNoRix5QkFBeUIsRUFBRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7SUFDMUUsMEJBQTBCLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLDBCQUEwQixDQUFDO0lBQzVFLHlCQUF5QixFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsQ0FBQztDQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICcuL2VuZHBvaW50JztcclxuXHJcbi8qKlxyXG4gKiBMaXN0IG9mIGFsbCBhcHAgZW5kcG9pbnRzXHJcbiAqIEBUT0RPIEFsZXgvVmlrOiBDcmVhdGUgc29tZSBzbWFydCBzeXN0ZW0gZm9yIHByZWxvYWRlciBlbmRwb2ludHMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRU5EUE9JTlRTOiB7W2tleTogc3RyaW5nXTogRW5kcG9pbnR9ID0ge1xyXG4gIEFTU0VUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYXNzZXRzXFxcXC9cXC5cXCpcXFxcL1xcXFxkKycpLFxyXG5cclxuICBBTExPQ0FUSU9OX1JVTEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzJyksXHJcbiAgQUxMT0NBVElPTl9SVUxFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9hbGxvY2F0aW9uLXJ1bGVzJyksXHJcbiAgQUxMT0NBVElPTl9SVUxFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvYWxsb2NhdGlvbi1ydWxlc1xcXFwvXFxcXGQrJyksXHJcbiAgQUxMT0NBVElPTl9SVUxFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvYWxsb2NhdGlvbi1ydWxlc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEJBTktTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9iYW5rcycpLFxyXG4gIEJBTktfQUNDT1VOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JhbmstYWNjb3VudHMnKSxcclxuICBCQU5LX0FDQ09VTlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2JhbmstYWNjb3VudHMnKSxcclxuICBCQU5LX0FDQ09VTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9cXFxcZCsnKSxcclxuICBCQU5LX0NPTk5FQ1RJT05fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvYmFuay1jb25uZWN0aW9ucycpLFxyXG4gIEJBTktfQ09OTkVDVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2JhbmstY29ubmVjdGlvbnMnKSxcclxuICBCQU5LX1RSQU5TQUNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay10cmFuc2FjdGlvbnMnKSxcclxuICBCQU5LX1RSQU5TQUNUSU9OU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvYmFuay10cmFuc2FjdGlvbnNcXFxcL1xcXFxkKycpLFxyXG4gIEJBTktfVFJBTlNBQ1RJT05TX0lNUE9SVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYW5rLXRyYW5zYWN0aW9uc1xcXFwvXFxcXGQrXFxcXC9pbXBvcnQnKSxcclxuICBCQVNJUV9BQ0NPVU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFzaXFcXFxcL2FjY291bnRzJyksXHJcbiAgQkFTSVFfVE9LRU5fR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2Jhc2lxXFxcXC90b2tlbnMnKSxcclxuXHJcbiAgQk9SUk9XSU5HX0VYUEVOU0VTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ib3Jyb3dpbmctZXhwZW5zZXMnKSxcclxuXHJcbiAgQ0hBUlRTX0lOQ09NRV9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2hhcnRzXFxcXC9cXFxcaW5jb21lcycpLFxyXG4gIENIQVJUU19FWFBFTlNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2hhcnRzXFxcXC9cXFxcZXhwZW5zZXMnKSxcclxuICBDSEFSVF9BQ0NPVU5UU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvY2hhcnQtYWNjb3VudHMnKSxcclxuICBDTElFTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9jbGllbnRzJyksXHJcbiAgQ0xJRU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2xpZW50cycpLFxyXG4gIENMSUVOVFNfRVhDTFVERV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2xpZW50c1xcXFwvXFxcXGQrXFxcXC9leGNsdWRlJyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9jbGllbnRzXFxcXC9cXFxcaW52aXRlcycpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9jbGllbnRzXFxcXC9cXFxcaW52aXRlcycpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvY2xpZW50c1xcXFwvXFxcXGludml0ZXNcXFxcL1xcXFxkKycpLFxyXG4gIENMSUVOVFNfSU5WSVRFU19BQ0NFUFRfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvY2xpZW50c1xcXFwvXFxcXGludml0ZXNcXFxcL1xcXFxkK1xcXFwvYWNjZXB0JyksXHJcbiAgQ0xJRU5UU19JTlZJVEVTX1JFSkVDVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9jbGllbnRzXFxcXC9cXFxcaW52aXRlc1xcXFwvXFxcXGQrXFxcXC9yZWplY3QnKSxcclxuICBDTElFTlRTX0lOVklURVNfUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2NsaWVudHNcXFxcL1xcXFxpbnZpdGVzXFxcXC9cXFxcZCtcXFxcL3Jlc2VuZCcpLFxyXG4gIENMSUVOVF9NT1ZFTUVOVFNfQ0xPU0U6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvY2xpZW50LW1vdmVtZW50c1xcXFwvXFxcXGQrXFxcXC9jbG9zZScpLFxyXG4gIENMSUVOVF9NT1ZFTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NsaWVudC1tb3ZlbWVudHMnKSxcclxuICBDTElFTlRfTU9WRU1FTlRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2NsaWVudC1tb3ZlbWVudHMnKSxcclxuICBDTElFTlRfSU5DT01FX1RZUEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2NsaWVudC1pbmNvbWUtdHlwZXMnKSxcclxuICBDT1VOVFJJRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2NvdW50cmllcycpLFxyXG4gIENPUkVMT0dJQ19UT0tFTl9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJy9hY2Nlc3NcXFxcL29hdXRoXFxcXC90b2tlbi4qJCcpLFxyXG5cclxuICBBTk5VQUxfQ0xJRU5UX0RFVEFJTFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2FubnVhbC1jbGllbnQtZGV0YWlscycpLFxyXG4gIEFOTlVBTF9DTElFTlRfREVUQUlMU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9hbm51YWwtY2xpZW50LWRldGFpbHMnKSxcclxuICBBTk5VQUxfQ0xJRU5UX0RFVEFJTFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2FubnVhbC1jbGllbnQtZGV0YWlsc1xcXFwvXFxcXGQrJyksXHJcbiAgQU5OVUFMX0NMSUVOVF9ERVRBSUxTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9hbm51YWwtY2xpZW50LWRldGFpbHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBERVBSRUNJQVRJT05TX09QRU5JTkdfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2RlcHJlY2lhdGlvbnNcXFxcL1xcXFxvcGVuaW5nLWJhbGFuY2VcXC5cXConKSxcclxuICBERVBSRUNJQVRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9kZXByZWNpYXRpb25zJyksXHJcbiAgREVQUkVDSUFUSU9OU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9kZXByZWNpYXRpb25zJyksXHJcbiAgREVQUkVDSUFUSU9OU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgREVQUkVDSUFUSU9OU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvZGVwcmVjaWF0aW9uc1xcXFwvXFxcXGQrJyksXHJcbiAgREVQUkVDSUFUSU9OX1JFQ0VJUFRTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2RlcHJlY2lhdGlvbnNcXFxcL1xcXFxkK1xcXFwvcmVjZWlwdHMnKSxcclxuICBERVBSRUNJQVRJT05fUkVDRUlQVFNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2RlcHJlY2lhdGlvbnNcXFxcL1xcXFxkK1xcXFwvcmVjZWlwdHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBFTVBMT1lFRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL2VtcGxveWVlcycpLFxyXG4gIEVNUExPWUVFU19JTlZJVEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9lbXBsb3llZXNcXFxcL1xcXFxpbnZpdGVzJyksXHJcbiAgRU1QTE9ZRUVTX0lOVklURVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2VtcGxveWVlc1xcXFwvXFxcXGludml0ZXNcXFxcL1xcXFxkKycpLFxyXG4gIEVNUExPWUVFU19JTlZJVEVfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcaW52aXRlcycpLFxyXG4gIEVNUExPWUVFU19JTlZJVEVTX1JFSkVDVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9lbXBsb3llZXNcXFxcL1xcXFxpbnZpdGVzXFxcXC9cXFxcZCtcXFxcL1xcXFxyZWplY3QnKSxcclxuICBFTVBMT1lFRVNfSU5WSVRFU19SRVNFTkRfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZW1wbG95ZWVzXFxcXC9cXFxcaW52aXRlc1xcXFwvXFxcXGQrXFxcXC9cXFxccmVzZW5kJyksXHJcblxyXG4gIEZBQ0VCT09LX0xPR0lOX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9hdXRoZW50aWNhdGlvblxcXFwvZmFjZWJvb2snKSxcclxuICBGSVJNX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9maXJtcycpLFxyXG4gIEZJUk1fQ1VSUkVOVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvZmlybXNcXFxcL2N1cnJlbnQnKSxcclxuICBGSVJNX0NVUlJFTlRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2Zpcm1zXFxcXC9jdXJyZW50XFwuXFwqJyksXHJcbiAgRklSTV9JTlZJVEVfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZmlybXNcXFxcL2ludml0ZScpLFxyXG4gIEZJUk1fUkVHSVNUUkFUSU9OX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2Zpcm1zXFxcXC9yZWdpc3RyYXRpb24nKSxcclxuICBGSVJNX1VQREFURV9QSE9UT19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9maXJtc1xcXFwvcGhvdG9cXC5cXConKSxcclxuICBGT0xERVJTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9mb2xkZXJzJyksXHJcbiAgRk9MREVSU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9mb2xkZXJzJyksXHJcbiAgRk9MREVSU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZm9sZGVyc1xcXFwvXFxcXGQrJyksXHJcbiAgRk9MREVSU19ET0NVTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvZm9sZGVyc1xcXFwvXFxcXGQrXFxcXC9kb2N1bWVudHMnKSxcclxuICBGT0xERVJTX0RPQ1VNRU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvZm9sZGVyc1xcXFwvXFxcXGQrXFxcXC9kb2N1bWVudHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBJTkNPTUVfU09VUkNFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaW5jb21lLXNvdXJjZXMnKSxcclxuICBJTkNPTUVfU09VUkNFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9pbmNvbWUtc291cmNlcycpLFxyXG4gIElOQ09NRV9TT1VSQ0VTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9pbmNvbWUtc291cmNlcycpLFxyXG4gIElOQ09NRV9TT1VSQ0VTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9pbmNvbWUtc291cmNlc1xcXFwvXFxcXGQrJyksXHJcbiAgSU5DT01FX1NPVVJDRV9GT1JFQ0FTVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaW5jb21lLXNvdXJjZS1mb3JlY2FzdHMnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL2luY29tZS1zb3VyY2UtZm9yZWNhc3RzJyksXHJcbiAgSU5DT01FX1NPVVJDRV9GT1JFQ0FTVF9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvaW5jb21lLXNvdXJjZS1mb3JlY2FzdHMnKSxcclxuICBJTkNPTUVfU09VUkNFX0ZPUkVDQVNUX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9pbmNvbWUtc291cmNlLWZvcmVjYXN0c1xcXFwvXFxcXGQrJyksXHJcbiAgSU5DT01FX1NPVVJDRV9UWVBFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaW5jb21lLXNvdXJjZS10eXBlcycpLFxyXG5cclxuICBMT0FOU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFuay1hY2NvdW50c1xcXFwvbG9hbnMnKSxcclxuICBMT0FOU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9sb2FucycpLFxyXG4gIExPQU5TX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9sb2Fucy9cXFxcZCsnKSxcclxuICBMT0FOU19QQVlPVVRfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvbG9hbnNcXFxcL1xcXFxkK1xcXFwvcGF5b3V0JyksXHJcbiAgTE9BTlNfUEFZT1VUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9sb2Fuc1xcXFwvXFxcXGQrXFxcXC9wYXlvdXRcXFxcL1xcXFxkKycpLFxyXG4gIExPQU5TX1BBWU9VVF9ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvbG9hbnNcXFxcL1xcXFxkK1xcXFwvcGF5b3V0XFxcXC9cXFxcZCsnKSxcclxuICBMT0FOU19DQUxDVUxBVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYW5rLWFjY291bnRzXFxcXC9sb2Fuc1xcXFwvY2FsY3VsYXRpb24nKSxcclxuICBMT0dJTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9sb2dpbicpLFxyXG5cclxuICBIT0xESU5HU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaG9sZGluZ3MnKSxcclxuICBIT0xESU5HU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ob2xkaW5ncycpLFxyXG4gIEhPTERJTkdTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9ob2xkaW5nc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR1NfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2hvbGRpbmdzXFxcXC9cXFxcZCsnKSxcclxuICBIT0xESU5HX1RZUEVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9ob2xkaW5nLXR5cGVzJyksXHJcbiAgSE9MRElOR19UWVBFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9ob2xkaW5nLXR5cGVzJyksXHJcbiAgSE9MRElOR19UWVBFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvaG9sZGluZy10eXBlc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR19UWVBFU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvaG9sZGluZy10eXBlc1xcXFwvXFxcXGQrJyksXHJcbiAgSE9MRElOR19TQUxFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvaG9sZGluZy1zYWxlcycpLFxyXG4gIEhPTERJTkdfU0FMRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvaG9sZGluZy1zYWxlcycpLFxyXG4gIEhPTERJTkdfU0FMRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL2hvbGRpbmctc2FsZXNcXFxcL1xcXFxkKycpLFxyXG4gIEhPTERJTkdfU0FMRVNfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL2hvbGRpbmctc2FsZXNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBOT1RJRklDQVRJT05TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLW5vdGlmaWNhdGlvbnMnKSxcclxuXHJcbiAgT0NDVVBBVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL29jY3VwYXRpb25zJyksXHJcblxyXG4gIFBST1BFUlRJRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXMnKSxcclxuICBQUk9QRVJUSUVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnRpZXMnKSxcclxuICBQUk9QRVJUWV9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllcy9cXFxcZCsnKSxcclxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05TX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9wcm9wZXJ0eS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3Byb3BlcnR5LXN1YnNjcmlwdGlvbnMnKSxcclxuICBQUk9QRVJUSUVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX0VRVUlUWV9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvY2F0ZWdvcmllc1xcXFwvZXF1aXR5JyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9jYXRlZ29yaWVzJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SSUVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9jYXRlZ29yaWVzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JJRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvY2F0ZWdvcmllcycpLFxyXG4gIFBST1BFUlRJRVNfQ0FURUdPUklFU19NT1ZFTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvY2F0ZWdvcnktbW92ZW1lbnRzJyksXHJcbiAgUFJPUEVSVElFU19DQVRFR09SWV9NT1ZFTUVOVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9jYXRlZ29yeS1tb3ZlbWVudHMnKSxcclxuICBQUk9QRVJUSUVTX0NBVEVHT1JZX01PVkVNRU5UU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9jYXRlZ29yeS1tb3ZlbWVudHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfU0hBUkVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9zaGFyZXNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfU0hBUkVTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9zaGFyZXMnKSxcclxuICBQUk9QRVJUSUVTX1NIQVJFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9zaGFyZXMnKSxcclxuICBQUk9QRVJUSUVTX0RFQUNUSVZBVEVfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvZGVhY3RpdmF0ZScpLFxyXG4gIFBST1BFUlRJRVNfREVQUkVDSUFUSU9OX0NBUElUQUxfUFJPSkVDVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9kZXByZWNpYXRpb24tY2FwaXRhbC1wcm9qZWN0cycpLFxyXG4gIFBST1BFUlRJRVNfREVQUkVDSUFUSU9OX0NBUElUQUxfUFJPSkVDVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzJyksXHJcbiAgUFJPUEVSVElFU19ERVBSRUNJQVRJT05fQ0FQSVRBTF9QUk9KRUNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3RzXFxcXC9cXFxcZCsnKSxcclxuICBQUk9QRVJUSUVTX0RFUFJFQ0lBVElPTl9DQVBJVEFMX1BST0pFQ1RfREVMRVRFOiBuZXcgRW5kcG9pbnQoJ0RFTEVURScsICdcXFxcL3Byb3BlcnRpZXNcXFxcL1xcXFxkK1xcXFwvZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9kb2N1bWVudHMnKSxcclxuICBQUk9QRVJUSUVTX0RPQ1VNRU5UU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL2RvY3VtZW50cycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9kb2N1bWVudHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfRE9DVU1FTlRTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9kb2N1bWVudHNcXFxcL1xcXFxkKycpLFxyXG4gIFBST1BFUlRJRVNfUEhPVE9fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvcHJvcGVydGllc1xcXFwvXFxcXGQrXFxcXC9waG90b1xcLlxcKicpLFxyXG4gIFBST1BFUlRJRVNfU0FMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3Byb3BlcnRpZXNcXFxcL3NhbGVzJyksXHJcbiAgUFJPUEVSVElFU19TVUdHRVNUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJy9wcm9wZXJ0eVxcXFwvXFxcXHcrXFxcXC92MlxcXFwvLiokJyksXHJcbiAgUFJPUEVSVElFU19WQUxVQVRJT05TX0RPQ1VNRU5UU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9wcm9wZXJ0aWVzXFxcXC9cXFxcZCtcXFxcL3ZhbHVhdGlvbnNcXFxcL1xcXFxkK1xcXFwvZG9jdW1lbnRzJyksXHJcblxyXG4gIC8vIEBUT0RPIHJlbmFtZVxyXG4gIFBST1JBVElPTl9DT1NUX1BPU1Q6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCtcXFxcL3Byb3JhdGlvbi1jb3N0JyksXHJcblxyXG4gIFNBTEFSWV9GT1JFQ0FTVF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2FsYXJ5LWZvcmVjYXN0cycpLFxyXG4gIFNBTEFSWV9GT1JFQ0FTVF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zYWxhcnktZm9yZWNhc3RzJyksXHJcbiAgU0FMQVJZX0ZPUkVDQVNUX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zYWxhcnktZm9yZWNhc3RzJyksXHJcbiAgU0VSVklDRV9QUklDRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcHJpY2VzJyksXHJcbiAgU0VSVklDRV9QUk9EVUNUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wcm9kdWN0cycpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudHMnKSxcclxuICBTRVJWSUNFX1NVQlNDUklQVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9ucycpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19DQU5DRUw6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc2VydmljZS1zdWJzY3JpcHRpb25zXFxcXC9cXFxcZCtcXFxcL2NhbmNlbCcpLFxyXG4gIFNFUlZJQ0VfU1VCU0NSSVBUSU9OU19SRU5FVzogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zZXJ2aWNlLXN1YnNjcmlwdGlvbnNcXFxcL1xcXFxkK1xcXFwvcmVuZXdhbCcpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9JTlZPSUNFX1VSTF9HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc2VydmljZS1wYXltZW50c1xcXFwvXFxcXGQrXFxcXC9pbnZvaWNlLXVybCcpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kcycpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kc1xcXFwvXFxcXGQrJyksXHJcbiAgU0VSVklDRV9QQVlNRU5UX01FVEhPRFNfR0VUX1NFQ1JFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zZXJ2aWNlLXBheW1lbnQtbWV0aG9kc1xcXFwvc2V0dXAtaW50ZW50LXNlY3JldCcpLFxyXG4gIFNFUlZJQ0VfUEFZTUVOVF9NRVRIT0RTX0RFRkFVTFRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NlcnZpY2UtcGF5bWVudC1tZXRob2RzXFxcXC9cXFxcZCtcXFxcL2RlZmF1bHQnKSxcclxuICBTVUJTQ1JJUFRJT05fSVRFTVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NlcnZpY2Utc3Vic2NyaXB0aW9uc1xcXFwvXFxcXGQrXFxcXC9pdGVtcycpLFxyXG5cclxuICBTT0xFX0JVU0lORVNTRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3NlcycpLFxyXG4gIFNPTEVfQlVTSU5FU1NFU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWJ1c2luZXNzZXMnKSxcclxuICBTT0xFX0JVU0lORVNTRVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtYnVzaW5lc3Nlc1xcXFwvXFxcXGQrJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT1NTRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtbG9zc2VzJyksXHJcbiAgU09MRV9CVVNJTkVTU19MT1NTRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1sb3NzZXMnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPU1NFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1idXNpbmVzcy1sb3NzZXNcXFxcL1xcXFxkKycpLFxyXG4gIFNPTEVfQlVTSU5FU1NfTE9TU19PRkZTRVRfUlVMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtbG9zcy1vZmZzZXQtcnVsZXMnKSxcclxuICBTT0xFX0JVU0lORVNTX0xPR09fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1idXNpbmVzc2VzXFxcXC9cXFxcZCtcXFxcL2xvZ28nKSxcclxuXHJcbiAgU09MRV9DT05UQUNUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1jb250YWN0cycpLFxyXG4gIFNPTEVfQ09OVEFDVFNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvc29sZS1jb250YWN0cycpLFxyXG4gIFNPTEVfQ09OVEFDVFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3NvbGUtY29udGFjdHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBCQVNfUkVQT1JUU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvYmFzLXJlcG9ydHMnKSxcclxuICBCQVNfUkVQT1JUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9iYXMtcmVwb3J0cycpLFxyXG4gIEJBU19SRVBPUlRTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9iYXMtcmVwb3J0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIEJVU0lORVNTX0FDVElWSVRJRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtYnVzaW5lc3MtYWN0aXZpdGllcycpLFxyXG5cclxuICBTT0xFX0RFUFJFQ0lBVElPTl9NRVRIT0RTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2RzJyksXHJcbiAgU09MRV9ERVBSRUNJQVRJT05fTUVUSE9EU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kc1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIFNPTEVfREVUQUlMU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvc29sZS1kZXRhaWxzJyksXHJcbiAgU09MRV9ERVRBSUxTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWRldGFpbHNcXFxcL1xcXFxkKycpLFxyXG5cclxuICBTT0xFX0ZPUkVDQVNUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC9zb2xlLWZvcmVjYXN0cycpLFxyXG4gIFNPTEVfRk9SRUNBU1RTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWZvcmVjYXN0c1xcXFwvXFxcXGQrJyksXHJcblxyXG4gIFNPTEVfSU5WT0lDRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtaW52b2ljZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtaW52b2ljZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWludm9pY2VzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0lOVk9JQ0VTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9zb2xlLWludm9pY2VzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0lOVk9JQ0VTX0VNQUlMX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtaW52b2ljZXNcXFxcL1xcXFxkK1xcXFwvc2VuZCcpLFxyXG4gIFNPTEVfSU5WT0lDRV9URU1QTEFURVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3NvbGUtaW52b2ljZS10ZW1wbGF0ZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3NvbGUtaW52b2ljZS10ZW1wbGF0ZXMnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC9zb2xlLWludm9pY2UtdGVtcGxhdGVzXFxcXC9cXFxcZCsnKSxcclxuICBTT0xFX0lOVk9JQ0VfVEVNUExBVEVTX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC9zb2xlLWludm9pY2UtdGVtcGxhdGVzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgVEFYX0VYRU1QVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1leGVtcHRpb25zJyksXHJcblxyXG4gIFRBWF9DQUxDVUxBVElPTl9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90YXgtY2FsY3VsYXRpb24nKSxcclxuICBUQVhfUkVWSUVXU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdGF4LXJldmlld3MnKSxcclxuICBUQVhfUkVWSUVXU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdGF4LXJldmlld3NcXFxcL1xcXFxkKycpLFxyXG4gIFRBWF9SRVZJRVdTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RheC1yZXZpZXdzJyksXHJcbiAgVEFYX1JFVklFV1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3RheC1yZXZpZXdzXFxcXC9cXFxcZCsnKSxcclxuICBUQVhfU1VNTUFSWV9BQ1RVQUxfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1zdW1tYXJ5XFxcXC9hY3R1YWxzJyksXHJcbiAgVEFYX1NVTU1BUllfRk9SRUNBU1RfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RheC1zdW1tYXJ5XFxcXC9mb3JlY2FzdHMnKSxcclxuICBUUkFOU0FDVElPTl9ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCsnKSxcclxuICBUUkFOU0FDVElPTl9QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCsnKSxcclxuICBUUkFOU0FDVElPTlNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3RyYW5zYWN0aW9ucycpLFxyXG4gIFRSQU5TQUNUSU9OU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90cmFuc2FjdGlvbnMnKSxcclxuICBUUkFOU0FDVElPTlNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3RyYW5zYWN0aW9ucycpLFxyXG4gIFRSQU5TQUNUSU9OU19BTExPQ0FUSU9OU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdHJhbnNhY3Rpb25zLWFsbG9jYXRpb25zJyksXHJcbiAgVFJBTlNBQ1RJT05TX0FMTE9DQVRJT05TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3RyYW5zYWN0aW9ucy1hbGxvY2F0aW9ucycpLFxyXG4gIFRSQU5TQUNUSU9OU19BTExPQ0FUSU9OU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdHJhbnNhY3Rpb25zLWFsbG9jYXRpb25zXFxcXC9cXFxcZCsnKSxcclxuICBUUkFOU0FDVElPTl9SRUNFSVBUU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC90cmFuc2FjdGlvbnNcXFxcL1xcXFxkK1xcXFwvcmVjZWlwdHMnKSxcclxuICBUUkFOU0FDVElPTl9SRUNFSVBUU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdHJhbnNhY3Rpb25zXFxcXC9cXFxcZCtcXFxcL3JlY2VpcHRzXFxcXC9cXFxcZCsnKSxcclxuXHJcbiAgVVNFUl9DT05GSVJNQVRJT05fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL2NvbmZpcm1hdGlvbicpLFxyXG4gIFVTRVJfQ09ORklSTUFUSU9OX1JFU0VORF9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvY29uZmlybWF0aW9uXFxcXC9yZXNlbmQnKSxcclxuICBVU0VSX0NVUlJFTlRfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3VzZXJzXFxcXC9jdXJyZW50JyksXHJcbiAgVVNFUl9DVVJSRU5UX1BBU1NXT1JEX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC91c2Vyc1xcXFwvY3VycmVudFxcXFwvcGFzc3dvcmRcXC5cXConKSxcclxuICBVU0VSX0VWRU5UX1NFVFRJTkdTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC91c2VyLWV2ZW50LXNldHRpbmdzJyksXHJcbiAgVVNFUl9FVkVOVF9UWVBFU19HRVQ6IG5ldyBFbmRwb2ludCgnR0VUJywgJ1xcXFwvdXNlci1ldmVudC10eXBlcycpLFxyXG4gIFVTRVJfSU5WSVRFX0RFTEVURTogbmV3IEVuZHBvaW50KCdERUxFVEUnLCAnXFxcXC91c2Vyc1xcXFwvaW52aXRlXFxcXC9cXFxcZCsnKSxcclxuICBVU0VSX0lOVklURV9QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC91c2Vyc1xcXFwvaW52aXRlJyksXHJcbiAgVVNFUl9JTlZJVEVfUkVTRU5EX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3VzZXJzXFxcXC9pbnZpdGUvXFxcXGQrXFxcXC9yZXNlbmQnKSxcclxuICBVU0VSX1BVVDogbmV3IEVuZHBvaW50KCdQVVQnLCAnXFxcXC91c2Vyc1xcXFwvXFxcXGQrJyksXHJcbiAgVVNFUl9SRUdJU1RSQVRJT05fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL3JlZ2lzdHJhdGlvbicpLFxyXG4gIFVTRVJfUkVTRVRfUEFTU1dPUkRfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9yZXNldC1wYXNzd29yZCcpLFxyXG4gIFVTRVJfU0VBUkNIX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC91c2Vyc1xcXFwvc2VhcmNoXFwuXFwqJyksXHJcbiAgVVNFUl9VUERBVEVfUEhPVE9fUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdXNlcnNcXFxcL3Bob3RvXFwuXFwqJyksXHJcbiAgVVNFUl9TVEFUVVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3VzZXJzXFxcXC9zdGF0dXMnKSxcclxuXHJcbiAgVkVISUNMRVNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGVzJyksXHJcbiAgVkVISUNMRVNfUE9TVDogbmV3IEVuZHBvaW50KCdQT1NUJywgJ1xcXFwvdmVoaWNsZXMnKSxcclxuICBWRUhJQ0xFU19QVVQ6IG5ldyBFbmRwb2ludCgnUFVUJywgJ1xcXFwvdmVoaWNsZXNcXFxcL1xcXFxkKycpLFxyXG4gIFZFSElDTEVfQ0xBSU1TX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC92ZWhpY2xlLWNsYWltcycpLFxyXG4gIFZFSElDTEVfQ0xBSU1TX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3ZlaGljbGUtY2xhaW1zJyksXHJcbiAgVkVISUNMRV9DTEFJTVNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3ZlaGljbGUtY2xhaW1zXFxcXC9cXFxcZCsnKSxcclxuICBWRUhJQ0xFX0xPR0JPT0tTX0dFVDogbmV3IEVuZHBvaW50KCdHRVQnLCAnXFxcXC92ZWhpY2xlc1xcXFwvbG9nYm9va3MnKSxcclxuICBWRUhJQ0xFX0xPR0JPT0tTX1BPU1Q6IG5ldyBFbmRwb2ludCgnUE9TVCcsICdcXFxcL3ZlaGljbGVzXFxcXC9sb2dib29rcycpLFxyXG4gIFZFSElDTEVfTE9HQk9PS1NfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3ZlaGljbGVzXFxcXC9sb2dib29rc1xcXFwvXFxcXGQrJyksXHJcbiAgVkVISUNMRV9MT0dCT09LU19ERUxFVEU6IG5ldyBFbmRwb2ludCgnREVMRVRFJywgJ1xcXFwvdmVoaWNsZXNcXFxcL2xvZ2Jvb2tzXFxcXC9cXFxcZCsnKSxcclxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfR0VUOiBuZXcgRW5kcG9pbnQoJ0dFVCcsICdcXFxcL3ZlaGljbGUtY2xhaW0tZGV0YWlscycpLFxyXG4gIFZFSElDTEVfQ0xBSU1fREVUQUlMU19QT1NUOiBuZXcgRW5kcG9pbnQoJ1BPU1QnLCAnXFxcXC92ZWhpY2xlLWNsYWltLWRldGFpbHMnKSxcclxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfUFVUOiBuZXcgRW5kcG9pbnQoJ1BVVCcsICdcXFxcL3ZlaGljbGUtY2xhaW0tZGV0YWlsc1xcXFwvXFxcXGQrJyksXHJcbn07XHJcbiJdfQ==
|
|
@@ -3,8 +3,25 @@ import { Type } from 'class-transformer';
|
|
|
3
3
|
import { AppFile } from '../file';
|
|
4
4
|
import { AbstractModel } from '../../db/Models';
|
|
5
5
|
export class HoldingSale extends AbstractModel {
|
|
6
|
+
getCapitalGain(holding) {
|
|
7
|
+
if (!this.price || !this.holding) {
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
|
+
return (this.price - holding.price) * this.quantity;
|
|
11
|
+
}
|
|
12
|
+
getNetCapitalGain(holding) {
|
|
13
|
+
const capitalGain = this.getCapitalGain(holding);
|
|
14
|
+
// 50% discount for holdings purchased over a year ago
|
|
15
|
+
if (holding.heldMoreYear()) {
|
|
16
|
+
return capitalGain / 2;
|
|
17
|
+
}
|
|
18
|
+
return capitalGain;
|
|
19
|
+
}
|
|
6
20
|
}
|
|
21
|
+
__decorate([
|
|
22
|
+
Type(() => Date)
|
|
23
|
+
], HoldingSale.prototype, "date", void 0);
|
|
7
24
|
__decorate([
|
|
8
25
|
Type(() => AppFile)
|
|
9
26
|
], HoldingSale.prototype, "file", void 0);
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctc2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxXQUFZLFNBQVEsYUFBYTtJQWdCNUMsY0FBYyxDQUFDLE9BQWdCO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQWdCO1FBQ2hDLE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekQsc0RBQXNEO1FBQ3RELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzFCLE9BQU8sV0FBVyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQXZCQTtJQURFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ1A7QUFHVjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtIb2xkaW5nfSBmcm9tICcuL2hvbGRpbmcnO1xuaW1wb3J0IHtBcHBGaWxlfSBmcm9tICcuLi9maWxlJztcbmltcG9ydCB7QWJzdHJhY3RNb2RlbH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdTYWxlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG5cdHF1YW50aXR5OiBudW1iZXI7XG5cdHByaWNlOiBudW1iZXI7XG5cdGZlZTogbnVtYmVyO1xuXHR0b3RhbDogbnVtYmVyO1xuXHR0b3RhbENhcGl0YWxHYWluOiBudW1iZXI7XG5cdGdyb3NzQ2FwaXRhbEdhaW46IG51bWJlcjtcblx0bmV0Q2FwaXRhbEdhaW46IG51bWJlcjtcblx0aG9sZGluZz86IEhvbGRpbmc7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcblx0ZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIGdldENhcGl0YWxHYWluKGhvbGRpbmc6IEhvbGRpbmcpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5wcmljZSB8fCAhdGhpcy5ob2xkaW5nKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gKHRoaXMucHJpY2UgLSBob2xkaW5nLnByaWNlKSAqIHRoaXMucXVhbnRpdHk7XG4gIH1cblxuICBnZXROZXRDYXBpdGFsR2Fpbihob2xkaW5nOiBIb2xkaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBjYXBpdGFsR2FpbjogbnVtYmVyID0gdGhpcy5nZXRDYXBpdGFsR2Fpbihob2xkaW5nKTtcblxuICAgIC8vIDUwJSBkaXNjb3VudCBmb3IgaG9sZGluZ3MgcHVyY2hhc2VkIG92ZXIgYSB5ZWFyIGFnb1xuICAgIGlmIChob2xkaW5nLmhlbGRNb3JlWWVhcigpKSB7XG4gICAgICByZXR1cm4gY2FwaXRhbEdhaW4gLyAyO1xuICAgIH1cblxuICAgIHJldHVybiBjYXBpdGFsR2FpbjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
3
|
+
import { AbstractModel } from '../../db/Models';
|
|
4
|
+
import { HoldingType } from './holding-type';
|
|
5
|
+
export class HoldingTypeExchange extends AbstractModel {
|
|
6
|
+
}
|
|
7
|
+
__decorate([
|
|
8
|
+
Type(() => Date)
|
|
9
|
+
], HoldingTypeExchange.prototype, "updateDate", void 0);
|
|
10
|
+
__decorate([
|
|
11
|
+
Type(() => HoldingType)
|
|
12
|
+
], HoldingTypeExchange.prototype, "holdingTypes", void 0);
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLWV4Y2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS1leGNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7Q0FZckQ7QUFKQTtJQURFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7dURBQ0E7QUFHbEI7SUFERSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO3lEQUNJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHtIb2xkaW5nVHlwZX0gZnJvbSAnLi9ob2xkaW5nLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1R5cGVFeGNoYW5nZSBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuXHRjb2RlPzogc3RyaW5nO1xuXHRuYW1lPzogc3RyaW5nO1xuXHRjdXJyZW5jeT86IHN0cmluZztcblx0Y2xvc2VUaW1lPzogc3RyaW5nO1xuXHR0aW1lem9uZT86IHN0cmluZztcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuXHR1cGRhdGVEYXRlPzogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcblx0aG9sZGluZ1R5cGVzPzogSG9sZGluZ1R5cGVbXTtcbn0iXX0=
|
|
@@ -1,10 +1,46 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Type } from 'class-transformer';
|
|
3
|
+
import { HoldingTypeCategoryEnum } from '../../db/Enums';
|
|
3
4
|
import { User } from '../user';
|
|
4
5
|
import { AbstractModel } from '../../db/Models';
|
|
6
|
+
import { HoldingTypeExchange } from './holding-type-exchange';
|
|
5
7
|
export class HoldingType extends AbstractModel {
|
|
8
|
+
get categoryLabel() {
|
|
9
|
+
switch (this.category) {
|
|
10
|
+
case HoldingTypeCategoryEnum.STOCK:
|
|
11
|
+
return 'Shares';
|
|
12
|
+
case HoldingTypeCategoryEnum.CRYPTO:
|
|
13
|
+
return 'Cryptos';
|
|
14
|
+
case HoldingTypeCategoryEnum.COLLECTIBLE:
|
|
15
|
+
return 'Collectibles';
|
|
16
|
+
case HoldingTypeCategoryEnum.UNLISTED_STOCK:
|
|
17
|
+
return 'Unlisted stock';
|
|
18
|
+
case HoldingTypeCategoryEnum.UNLISTED_UNIT:
|
|
19
|
+
return 'Unlisted unit';
|
|
20
|
+
case HoldingTypeCategoryEnum.OTHER:
|
|
21
|
+
return 'Other';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
isOther() {
|
|
25
|
+
return !this.isShare() && !this.isCrypto();
|
|
26
|
+
}
|
|
27
|
+
isShare() {
|
|
28
|
+
return this.category === HoldingTypeCategoryEnum.STOCK;
|
|
29
|
+
}
|
|
30
|
+
isCrypto() {
|
|
31
|
+
return this.category === HoldingTypeCategoryEnum.CRYPTO;
|
|
32
|
+
}
|
|
6
33
|
}
|
|
34
|
+
__decorate([
|
|
35
|
+
Type(() => Date)
|
|
36
|
+
], HoldingType.prototype, "lastUpdateDateOnExchange", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
Type(() => Date)
|
|
39
|
+
], HoldingType.prototype, "updatedAt", void 0);
|
|
7
40
|
__decorate([
|
|
8
41
|
Type(() => User)
|
|
9
42
|
], HoldingType.prototype, "user", void 0);
|
|
10
|
-
|
|
43
|
+
__decorate([
|
|
44
|
+
Type(() => HoldingTypeExchange)
|
|
45
|
+
], HoldingType.prototype, "exchange", void 0);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE1BQU0sT0FBTyxXQUFZLFNBQVEsYUFBYTtJQW1DNUMsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssdUJBQXVCLENBQUMsS0FBSztnQkFDaEMsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyx1QkFBdUIsQ0FBQyxNQUFNO2dCQUNqQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLHVCQUF1QixDQUFDLFdBQVc7Z0JBQ3RDLE9BQU8sY0FBYyxDQUFDO1lBQ3hCLEtBQUssdUJBQXVCLENBQUMsY0FBYztnQkFDekMsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLHVCQUF1QixDQUFDLGFBQWE7Z0JBQ3hDLE9BQU8sZUFBZSxDQUFDO1lBQ3pCLEtBQUssdUJBQXVCLENBQUMsS0FBSztnQkFDaEMsT0FBTyxPQUFPLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF2Q0E7SUFERSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzZEQUNjO0FBR2hDO0lBREUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDRDtBQUdqQjtJQURFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWjtJQURFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs2Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGVFeGNoYW5nZSB9IGZyb20gJy4vaG9sZGluZy10eXBlLWV4Y2hhbmdlJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdUeXBlIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG5cdGNhdGVnb3J5PzogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW07XG5cdG5hbWU/OiBzdHJpbmc7XG5cdHRpY2tlcj86IHN0cmluZztcblx0ZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cdHByaWNlPzogbnVtYmVyO1xuXHRjdXJyZW5jeT86IHN0cmluZztcblx0ZGl2aWRlbmRQZXJjZW50PzogbnVtYmVyO1xuXHRvcGVuUHJpY2U/OiBudW1iZXI7XG5cdGhpZ2hQcmljZT86IG51bWJlcjtcblx0bG93UHJpY2U/OiBudW1iZXI7XG4gIHZvbHVtZT86IG51bWJlcjtcblx0ZW1hNTBkPzogbnVtYmVyO1xuXHRlbWEyMDBkPzogbnVtYmVyO1xuXHRoaTI1MGQ/OiBudW1iZXI7XG5cdGxvMjUwZD86IG51bWJlcjtcblx0YXZnVm9sdW1lMTRkPzogbnVtYmVyO1xuXHRhdmdWb2x1bWU1MGQ/OiBudW1iZXI7XG5cdGF2Z1ZvbHVtZTIwMGQ/OiBudW1iZXI7XG5cdG1hcmtldENhcGl0YWxpemF0aW9uPzogbnVtYmVyO1xuXHRiZXRhPzogbnVtYmVyO1xuXHRhZGp1c3RlZENsb3NlPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG5cdGxhc3RVcGRhdGVEYXRlT25FeGNoYW5nZT86IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcblx0dXBkYXRlZEF0PzogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuXHR1c2VyPzogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZUV4Y2hhbmdlKVxuXHRleGNoYW5nZT86IEhvbGRpbmdUeXBlRXhjaGFuZ2U7XG5cbiAgZ2V0IGNhdGVnb3J5TGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuY2F0ZWdvcnkpIHtcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uU1RPQ0s6XG4gICAgICAgIHJldHVybiAnU2hhcmVzJztcbiAgICAgIGNhc2UgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ1JZUFRPOlxuICAgICAgICByZXR1cm4gJ0NyeXB0b3MnO1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DT0xMRUNUSUJMRTpcbiAgICAgICAgcmV0dXJuICdDb2xsZWN0aWJsZXMnO1xuICAgICAgY2FzZSBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSzpcbiAgICAgICAgcmV0dXJuICdVbmxpc3RlZCBzdG9jayc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQ6XG4gICAgICAgIHJldHVybiAnVW5saXN0ZWQgdW5pdCc7XG4gICAgICBjYXNlIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLk9USEVSOlxuICAgICAgICByZXR1cm4gJ090aGVyJztcbiAgICB9XG4gIH1cblxuICBpc090aGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc1NoYXJlKCkgJiYgIXRoaXMuaXNDcnlwdG8oKTtcbiAgfVxuXG4gIGlzU2hhcmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLO1xuICB9XG5cbiAgaXNDcnlwdG8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTztcbiAgfVxufVxuIl19
|
|
@@ -6,7 +6,38 @@ import { AppFile } from '../file';
|
|
|
6
6
|
import { HoldingSale } from './holding-sale';
|
|
7
7
|
import { Collection } from '../../collections';
|
|
8
8
|
import { AbstractModel } from '../../db/Models';
|
|
9
|
+
import { FinancialYear } from '../financial-year';
|
|
9
10
|
export class Holding extends AbstractModel {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.isTaxFree = false;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get total purchasing price
|
|
17
|
+
*/
|
|
18
|
+
get purchaseValue() {
|
|
19
|
+
// Price and entity may be empty when we use HoldingForm.currentValue
|
|
20
|
+
if (!this.price || !this.quantity) {
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
return this.price * this.quantity;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get current market price
|
|
27
|
+
*/
|
|
28
|
+
getMarketValue(holdingType) {
|
|
29
|
+
return this.quantity * holdingType.price;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get percent difference between current and buy price
|
|
33
|
+
*/
|
|
34
|
+
getGrowthCoefficient(holdingType) {
|
|
35
|
+
return holdingType.price / this.price - 1;
|
|
36
|
+
}
|
|
37
|
+
heldMoreYear() {
|
|
38
|
+
const yearTime = 1000 * 60 * 60 * 24 * 365;
|
|
39
|
+
return (new FinancialYear().startDate.getTime() - this.date.getTime()) > yearTime;
|
|
40
|
+
}
|
|
10
41
|
}
|
|
11
42
|
__decorate([
|
|
12
43
|
Type(() => Date)
|
|
@@ -24,4 +55,4 @@ __decorate([
|
|
|
24
55
|
Type(() => HoldingSale),
|
|
25
56
|
Transform(({ value }) => new Collection(value))
|
|
26
57
|
], Holding.prototype, "sales", void 0);
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sT0FBTyxPQUFRLFNBQVEsYUFBYTtJQUExQzs7UUFDRSxjQUFTLEdBQVksS0FBSyxDQUFDO0lBc0Q3QixDQUFDO0lBL0JDOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQXdCO1FBQzNDLE9BQU8sV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sUUFBUSxHQUFXLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFFbkQsT0FBTyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7SUFDcEYsQ0FBQztDQUNGO0FBOUNDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztxQ0FDTjtBQUdsQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7cUNBQ047QUFJZDtJQUZDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDdkIsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxVQUFVLENBQWMsS0FBSyxDQUFDLENBQUM7c0NBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSwgVHJhbnNmb3JtIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGUgfSBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBIb2xkaW5nU2FsZSB9IGZyb20gJy4vaG9sZGluZy1zYWxlJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGlzVGF4RnJlZTogYm9vbGVhbiA9IGZhbHNlO1xuICBxdWFudGl0eTogbnVtYmVyO1xuICBjdXJyZW50UXVhbnRpdHk6IG51bWJlcjtcblx0b3duZXJzaGlwUGVyY2VudD86IG51bWJlcjtcbiAgcHJpY2U6IG51bWJlcjtcbiAgZmVlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUeXBlKVxuICB0eXBlOiBIb2xkaW5nVHlwZTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIEBUeXBlKCgpID0+IEhvbGRpbmdTYWxlKVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IG5ldyBDb2xsZWN0aW9uPEhvbGRpbmdTYWxlPih2YWx1ZSkpXG4gIHNhbGVzOiBDb2xsZWN0aW9uPEhvbGRpbmdTYWxlPjtcblxuICAvKipcbiAgICogR2V0IHRvdGFsIHB1cmNoYXNpbmcgcHJpY2VcbiAgICovXG4gIGdldCBwdXJjaGFzZVZhbHVlKCk6IG51bWJlciB7XG4gICAgLy8gUHJpY2UgYW5kIGVudGl0eSBtYXkgYmUgZW1wdHkgd2hlbiB3ZSB1c2UgSG9sZGluZ0Zvcm0uY3VycmVudFZhbHVlXG4gICAgaWYgKCF0aGlzLnByaWNlIHx8ICF0aGlzLnF1YW50aXR5KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcmljZSAqIHRoaXMucXVhbnRpdHk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGN1cnJlbnQgbWFya2V0IHByaWNlXG4gICAqL1xuICBnZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZTogSG9sZGluZ1R5cGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnF1YW50aXR5ICogaG9sZGluZ1R5cGUucHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHBlcmNlbnQgZGlmZmVyZW5jZSBiZXR3ZWVuIGN1cnJlbnQgYW5kIGJ1eSBwcmljZVxuICAgKi9cbiAgZ2V0R3Jvd3RoQ29lZmZpY2llbnQoaG9sZGluZ1R5cGU6IEhvbGRpbmdUeXBlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaG9sZGluZ1R5cGUucHJpY2UgLyB0aGlzLnByaWNlIC0gMTtcbiAgfVxuXG4gIGhlbGRNb3JlWWVhcigpOiBib29sZWFuIHtcbiAgICBjb25zdCB5ZWFyVGltZTogbnVtYmVyID0gMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTtcblxuICAgIHJldHVybiAobmV3IEZpbmFuY2lhbFllYXIoKS5zdGFydERhdGUuZ2V0VGltZSgpIC0gdGhpcy5kYXRlLmdldFRpbWUoKSkgPiB5ZWFyVGltZTtcbiAgfVxufVxuIl19
|
|
@@ -18,4 +18,5 @@ export * from './property';
|
|
|
18
18
|
export * from './transaction';
|
|
19
19
|
export * from './user';
|
|
20
20
|
export * from './holding';
|
|
21
|
-
|
|
21
|
+
export * from './client';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vYmFuayc7XG5leHBvcnQgKiBmcm9tICcuL2JvcnJvd2luZy1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vZGVwcmVjaWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdGlvbmFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmFuY2lhbC15ZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hbic7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2NsaWVudCc7XG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { PropertySale as BasePropertySale } from '../../../db/Models/property/pr
|
|
|
3
3
|
import { Type } from 'class-transformer';
|
|
4
4
|
import { PropertySaleTaxExemptionMetaField } from '../../../db/Models';
|
|
5
5
|
import { TaxExemptionEnum } from '../../../db/Enums/property/property-sale/tax-exemption.enum';
|
|
6
|
+
import { TaxExemption } from './tax-exemption';
|
|
6
7
|
export class PropertySale extends BasePropertySale {
|
|
7
8
|
get saleCostsTotalAmount() {
|
|
8
9
|
return this.commission + this.legalFees + this.otherCost;
|
|
@@ -14,13 +15,22 @@ export class PropertySale extends BasePropertySale {
|
|
|
14
15
|
isCGTApplicable() {
|
|
15
16
|
return this.taxExemption?.id !== TaxExemptionEnum.PPR;
|
|
16
17
|
}
|
|
17
|
-
get
|
|
18
|
-
return this.
|
|
19
|
-
}
|
|
20
|
-
get grossCGTAfterLoss() {
|
|
21
|
-
return this.grossCGT - this.lossApplied;
|
|
18
|
+
get netPrice() {
|
|
19
|
+
return this.price - this.saleCostsTotalAmount;
|
|
22
20
|
}
|
|
23
21
|
}
|
|
22
|
+
__decorate([
|
|
23
|
+
Type(() => Number)
|
|
24
|
+
], PropertySale.prototype, "holdingCosts", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
Type(() => Number)
|
|
27
|
+
], PropertySale.prototype, "structuralImprovementsWDV", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
Type(() => Number)
|
|
30
|
+
], PropertySale.prototype, "buildingAtCostClaimed", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
Type(() => Number)
|
|
33
|
+
], PropertySale.prototype, "price", void 0);
|
|
24
34
|
__decorate([
|
|
25
35
|
Type(() => Number)
|
|
26
36
|
], PropertySale.prototype, "commission", void 0);
|
|
@@ -36,7 +46,10 @@ __decorate([
|
|
|
36
46
|
__decorate([
|
|
37
47
|
Type(() => Date)
|
|
38
48
|
], PropertySale.prototype, "contractDate", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
Type(() => TaxExemption)
|
|
51
|
+
], PropertySale.prototype, "taxExemption", void 0);
|
|
39
52
|
__decorate([
|
|
40
53
|
Type(() => PropertySaleTaxExemptionMetaField)
|
|
41
54
|
], PropertySale.prototype, "taxExemptionMetaFields", void 0);
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0csT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDbEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFrQ2hELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxLQUFLLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUEvQ0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO2tEQUNFO0FBR3JCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrREFDZTtBQUdsQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkRBQ1c7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNMO0FBR2Q7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO2dEQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDRDtBQUdsQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ0Q7QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO29EQUNJO0FBR3JCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztrREFDRTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7a0RBQ0U7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUNBQWlDLENBQUM7NERBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eVNhbGUgYXMgQmFzZVByb3BlcnR5U2FsZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7XG4gIFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZFxufSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7VGF4RXhlbXB0aW9ufSBmcm9tICcuL3RheC1leGVtcHRpb24nO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlTYWxlIGV4dGVuZHMgQmFzZVByb3BlcnR5U2FsZSB7XG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgaG9sZGluZ0Nvc3RzOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBzdHJ1Y3R1cmFsSW1wcm92ZW1lbnRzV0RWOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBidWlsZGluZ0F0Q29zdENsYWltZWQ6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHByaWNlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBjb21taXNzaW9uOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBsZWdhbEZlZXM6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ29zdDogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvbnRyYWN0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBUYXhFeGVtcHRpb24pXG4gIHRheEV4ZW1wdGlvbjogVGF4RXhlbXB0aW9uO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZClcbiAgdGF4RXhlbXB0aW9uTWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkW107XG5cbiAgZ2V0IHNhbGVDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29tbWlzc2lvbiArIHRoaXMubGVnYWxGZWVzICsgdGhpcy5vdGhlckNvc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBzYWxlcyB3aXRoIFwiUHJpbmNpcGxlIHBsYWNlIG9mIHJlc2lkZW5jZVwiIGV4ZW1wdGlvbiB0eXBlLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YXhFeGVtcHRpb24/LmlkICE9PSBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgfVxuXG4gIGdldCBuZXRQcmljZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnByaWNlIC0gdGhpcy5zYWxlQ29zdHNUb3RhbEFtb3VudDtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { TaxExemption as BaseTaxExemption } from '../../../db/Models/property/property-sale/tax-exemption';
|
|
2
|
+
import { TaxExemptionEnum } from '../../../db/Enums/property/property-sale/tax-exemption.enum';
|
|
2
3
|
export class TaxExemption extends BaseTaxExemption {
|
|
4
|
+
isPartial() {
|
|
5
|
+
return [TaxExemptionEnum.INVESTMENT_TO_PPR, TaxExemptionEnum.PPR_TO_INVESTMENT].includes(this.id);
|
|
6
|
+
}
|
|
3
7
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWV4ZW1wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLElBQUksZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUU3RixNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUNoRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RheEV4ZW1wdGlvbiBhcyBCYXNlVGF4RXhlbXB0aW9ufSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uJztcbmltcG9ydCB7VGF4RXhlbXB0aW9uRW51bX0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktc2FsZS90YXgtZXhlbXB0aW9uLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgVGF4RXhlbXB0aW9uIGV4dGVuZHMgQmFzZVRheEV4ZW1wdGlvbiB7XG4gIGlzUGFydGlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1RheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFIsIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlRdLmluY2x1ZGVzKHRoaXMuaWQpO1xuICB9XG59XG4iXX0=
|