taxtank-core 0.30.25 → 0.30.28
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/subscription/service-price.collection.mjs +7 -5
- package/esm2020/lib/forms/transaction/allocation-rule-transaction.form.mjs +3 -2
- package/esm2020/lib/models/service-subscription/service-price.mjs +5 -1
- package/esm2020/lib/models/service-subscription/service-subscription.mjs +8 -1
- package/fesm2015/taxtank-core.mjs +18 -4
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +18 -4
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/subscription/service-price.collection.d.ts +2 -2
- package/lib/models/service-subscription/service-price.d.ts +1 -0
- package/lib/models/service-subscription/service-subscription.d.ts +2 -0
- package/package.json +1 -1
|
@@ -15,10 +15,11 @@ export class ServicePriceCollection extends Collection {
|
|
|
15
15
|
get monthlyPackage() {
|
|
16
16
|
return this.filterBy('type', ServicePriceTypeEnum.MONTHLY_PACKAGE);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
getMonthlyPackageSum(propertyQuantity) {
|
|
19
19
|
const property = this.monthlyPackage.findBy('product.id', ServiceProductIdEnum.PROPERTIES);
|
|
20
20
|
// @TODO move to const
|
|
21
|
-
|
|
21
|
+
// default number of properties should be 5
|
|
22
|
+
return this.monthlyPackage.sumBy('amount') + property.amount * (propertyQuantity - 1);
|
|
22
23
|
}
|
|
23
24
|
get annual() {
|
|
24
25
|
return this.filterBy('type', ServicePriceTypeEnum.YEARLY);
|
|
@@ -26,10 +27,11 @@ export class ServicePriceCollection extends Collection {
|
|
|
26
27
|
get annualPackage() {
|
|
27
28
|
return this.filterBy('type', ServicePriceTypeEnum.YEARLY_PACKAGE);
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
getAnnualPackageSum(propertyQuantity) {
|
|
30
31
|
const property = this.annualPackage.findBy('product.id', ServiceProductIdEnum.PROPERTIES);
|
|
31
32
|
// @TODO move to const
|
|
32
|
-
|
|
33
|
+
// the default number of properties should be 5.
|
|
34
|
+
return this.annualPackage.sumBy('amount') + property.amount * (propertyQuantity - 1);
|
|
33
35
|
}
|
|
34
36
|
getProperty(isAnnual, isPackage) {
|
|
35
37
|
let type;
|
|
@@ -45,4 +47,4 @@ export class ServicePriceCollection extends Collection {
|
|
|
45
47
|
return new ServiceProductCollection(this.mapBy('product'));
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wcmljZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV0RTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUF3QjtJQUNsRSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELG9CQUFvQixDQUFDLGdCQUFnQjtRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0Ysc0JBQXNCO1FBQ3RCLDJDQUEyQztRQUMzQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsZ0JBQWdCO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxRixzQkFBc0I7UUFDdEIsZ0RBQWdEO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBaUIsRUFBRSxTQUFrQjtRQUMvQyxJQUFJLElBQUksQ0FBQztRQUVULElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7U0FDdEY7YUFBTTtZQUNMLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDO1NBQ3hGO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VQcmljZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1NlcnZpY2VQcmljZVR5cGVFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZS10eXBlLmVudW0nO1xuaW1wb3J0IHtTZXJ2aWNlUHJvZHVjdElkRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJvZHVjdC1pZC5lbnVtJztcbmltcG9ydCB7U2VydmljZVByb2R1Y3RDb2xsZWN0aW9ufSBmcm9tICcuL3NlcnZpY2UtcHJvZHVjdC5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBAVE9ETyB2aWsgcmVmYWN0b3JcbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VQcmljZUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFNlcnZpY2VQcmljZT4ge1xuICBnZXRBY3RpdmUoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ2lzQWN0aXZlJywgdHJ1ZSk7XG4gIH1cblxuICBnZXQgbW9udGhseSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndHlwZScsIFNlcnZpY2VQcmljZVR5cGVFbnVtLk1PTlRITFkpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlQYWNrYWdlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0eXBlJywgU2VydmljZVByaWNlVHlwZUVudW0uTU9OVEhMWV9QQUNLQUdFKTtcbiAgfVxuXG4gIGdldE1vbnRobHlQYWNrYWdlU3VtKHByb3BlcnR5UXVhbnRpdHkpOiBudW1iZXIge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5tb250aGx5UGFja2FnZS5maW5kQnkoJ3Byb2R1Y3QuaWQnLCBTZXJ2aWNlUHJvZHVjdElkRW51bS5QUk9QRVJUSUVTKTtcblxuICAgIC8vIEBUT0RPIG1vdmUgdG8gY29uc3RcbiAgICAvLyBkZWZhdWx0IG51bWJlciBvZiBwcm9wZXJ0aWVzIHNob3VsZCBiZSA1XG4gICAgcmV0dXJuIHRoaXMubW9udGhseVBhY2thZ2Uuc3VtQnkoJ2Ftb3VudCcpICsgcHJvcGVydHkuYW1vdW50ICogKHByb3BlcnR5UXVhbnRpdHkgLSAxKTtcbiAgfVxuXG4gIGdldCBhbm51YWwoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUnLCBTZXJ2aWNlUHJpY2VUeXBlRW51bS5ZRUFSTFkpO1xuICB9XG5cbiAgZ2V0IGFubnVhbFBhY2thZ2UoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUnLCBTZXJ2aWNlUHJpY2VUeXBlRW51bS5ZRUFSTFlfUEFDS0FHRSk7XG4gIH1cblxuICBnZXRBbm51YWxQYWNrYWdlU3VtKHByb3BlcnR5UXVhbnRpdHkpOiBudW1iZXIge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5hbm51YWxQYWNrYWdlLmZpbmRCeSgncHJvZHVjdC5pZCcsIFNlcnZpY2VQcm9kdWN0SWRFbnVtLlBST1BFUlRJRVMpO1xuXG4gICAgLy8gQFRPRE8gbW92ZSB0byBjb25zdFxuICAgIC8vIHRoZSBkZWZhdWx0IG51bWJlciBvZiBwcm9wZXJ0aWVzIHNob3VsZCBiZSA1LlxuICAgIHJldHVybiB0aGlzLmFubnVhbFBhY2thZ2Uuc3VtQnkoJ2Ftb3VudCcpICsgcHJvcGVydHkuYW1vdW50ICogKHByb3BlcnR5UXVhbnRpdHkgLSAxKTtcbiAgfVxuXG4gIGdldFByb3BlcnR5KGlzQW5udWFsOiBib29sZWFuLCBpc1BhY2thZ2U6IGJvb2xlYW4pOiBTZXJ2aWNlUHJpY2Uge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGlzQW5udWFsKSB7XG4gICAgICB0eXBlID0gaXNQYWNrYWdlID8gU2VydmljZVByaWNlVHlwZUVudW0uWUVBUkxZX1BBQ0tBR0UgOiBTZXJ2aWNlUHJpY2VUeXBlRW51bS5ZRUFSTFk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR5cGUgPSBpc1BhY2thZ2UgPyBTZXJ2aWNlUHJpY2VUeXBlRW51bS5NT05USExZX1BBQ0tBR0UgOiBTZXJ2aWNlUHJpY2VUeXBlRW51bS5NT05USExZO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0eXBlJywgdHlwZSkuZmluZEJ5KCdwcm9kdWN0LmlkJywgU2VydmljZVByb2R1Y3RJZEVudW0uUFJPUEVSVElFUyk7XG4gIH1cblxuICBnZXQgcHJvZHVjdHMoKTogU2VydmljZVByb2R1Y3RDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFNlcnZpY2VQcm9kdWN0Q29sbGVjdGlvbih0aGlzLm1hcEJ5KCdwcm9kdWN0JykpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractForm } from '../abstract.form';
|
|
2
|
-
import { AllocationRuleTransactionMetaField } from '../../models';
|
|
2
|
+
import { AllocationRuleTransactionMetaField, } from '../../models';
|
|
3
3
|
import { UntypedFormArray, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
|
4
4
|
import { conditionalValidator } from '../../validators';
|
|
5
5
|
import { AllocationRuleTransactionMetaFieldForm } from './allocation-rule-transaction-meta-field.form';
|
|
@@ -83,6 +83,7 @@ export class AllocationRuleTransactionForm extends AbstractForm {
|
|
|
83
83
|
*/
|
|
84
84
|
listenTankTypeChanges() {
|
|
85
85
|
this.get('tankType').valueChanges.subscribe(() => {
|
|
86
|
+
this.get('chartAccounts').reset();
|
|
86
87
|
this.childTransactionsArray.reset();
|
|
87
88
|
});
|
|
88
89
|
}
|
|
@@ -122,4 +123,4 @@ export class AllocationRuleTransactionForm extends AbstractForm {
|
|
|
122
123
|
claimPercentControl.setValue(this.currentValue.calculateClaimPercent());
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFHTCxrQ0FBa0MsRUFHbkMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsWUFBdUM7SUFDeEYsWUFDRSxXQUFzQztJQUN0Qyx1Q0FBdUM7SUFDdkMsS0FBYztRQUVkLEtBQUssQ0FBQztZQUNKLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUNwQyxHQUFHLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxZQUFZLElBQUksR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVB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LENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFO1lBQzVELG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzlCO1FBRUQsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgQ2hhcnRBY2NvdW50cyxcbiAgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCxcbiAgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCxcbiAgUHJvcGVydHlcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvbmRpdGlvbmFsVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLW1ldGEtZmllbGQuZm9ybSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5cbi8qKlxuICogQFRPRE8gQWxleDogZXh0ZW5kIHRyYW5zYWN0aW9uIGZvcm0ocykgd2hlbiB0cmFuc2FjdGlvbiBmb3JtcyByZWZhY3RvcmVkXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb246IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24sXG4gICAgLy8gRmxhZyB0byBlbmFibGUgdHJhbnNhY3Rpb24gR1NUIGZpZWxkXG4gICAgaXNHU1Q6IGJvb2xlYW5cbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwpLFxuICAgICAgdGF4OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnRheCB8fCAwLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNsYWltUGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5jbGFpbVBlcmNlbnQgfHwgMTAwLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldKSxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IHRyYW5zYWN0aW9uLmlzR1NUIHx8IGZhbHNlLCBkaXNhYmxlZDogIWlzR1NUfSksXG4gICAgICBsb2FuOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmxvYW4pLFxuICAgICAgaW5jb21lU291cmNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmluY29tZVNvdXJjZSwgY29uZGl0aW9uYWxWYWxpZGF0b3IoKCkgPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cz8uaXNXb3JrSW5jb21lKCksIFZhbGlkYXRvcnMucmVxdWlyZWQpKSxcbiAgICAgIG1ldGFGaWVsZHM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5tZXRhRmllbGRzIHx8IFtdKS5tYXAoKG1ldGFGaWVsZDogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCkgPT4gbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKG1ldGFGaWVsZCkpKSxcbiAgICAgIGJ1c2luZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmJ1c2luZXNzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLnByb3BlcnR5LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIC8vIFNob3cgbnVsbCBhcyBkZWZhdWx0IHZhbHVlIGZvciBuZXcgdHJhbnNhY3Rpb24gdG8gYXZvaWQgcHJlc2VsZWN0aW5nIG9mIG5vdCBhbGxvd2VkIHRhbmsgdHlwZXNcbiAgICAgIHRhbmtUeXBlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmlkID8gdHJhbnNhY3Rpb24udGFua1R5cGUgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNoaWxkVHJhbnNhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1BcnJheSgodHJhbnNhY3Rpb24uY2hpbGRUcmFuc2FjdGlvbnMgfHwgW10pLm1hcCgoY2hpbGRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbikgPT4gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChjaGlsZFRyYW5zYWN0aW9uLmFtb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pKSlcbiAgICB9LCB0cmFuc2FjdGlvbik7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IG1vdmUgdG8gYWJzdHJhY3QgZm9ybSwgdW5pdmVyc2FsIG1ldGhvZCBnZXRBcnJheShhcnJheU5hbWUpXG4gICAqL1xuICBnZXQgbWV0YUZpZWxkc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnbWV0YUZpZWxkcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBnZXQgY2hpbGRUcmFuc2FjdGlvbnNBcnJheSgpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NoaWxkVHJhbnNhY3Rpb25zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGFkZENoaWxkVHJhbnNhY3Rpb25Gb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRUcmFuc2FjdGlvbnNBcnJheS5wdXNoKFxuICAgICAgbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgICBjaGFydEFjY291bnRzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBhbW91bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgbWV0YUZpZWxkczogdGhpcy5tZXRhRmllbGRzQXJyYXkuY29udHJvbHMubWFwKChtZXRhRmllbGRGb3JtOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkRm9ybSkgPT4gbWV0YUZpZWxkRm9ybS5zdWJtaXQoKSlcbiAgICB9O1xuXG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdChkYXRhKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5UYW5rVHlwZUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlbkluY29tZVNvdXJjZUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5DaGFydEFjY291bnRzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuXG4gICAgICBpZiAoIWNoYXJ0QWNjb3VudHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVwZGF0ZUNsYWltUGVyY2VudCgpO1xuXG4gICAgICAvLyBVc2VyIGhhdmUgdG8gc2VsZWN0IGluY29tZSBzb3VyY2UgZm9yIHdvcmsgaW5jb21lXG4gICAgICBpZiAoY2hhcnRBY2NvdW50cy5pc1dvcmtJbmNvbWUoKSkge1xuICAgICAgICB0aGlzLmdldCgnaW5jb21lU291cmNlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVidWlsZCBtZXRhIGZpZWxkc1xuICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkuY2xlYXIoKTtcbiAgICAgIGNoYXJ0QWNjb3VudHMubWV0YUZpZWxkcy5mb3JFYWNoKChjaGFydEFjY291bnRzTWV0YUZpZWxkOiBDaGFydEFjY291bnRzTWV0YUZpZWxkKSA9PiB7XG4gICAgICAgIHRoaXMubWV0YUZpZWxkc0FycmF5LnB1c2goXG4gICAgICAgICAgbmV3IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKFxuICAgICAgICAgICAgcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGQsIHsgY2hhcnRBY2NvdW50c01ldGFGaWVsZCB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQ2hpbGQgdHJhbnNhY3Rpb24gYWxsb3dhbmNlIGRlcGVuZHMgb24gdGFuayB0eXBlLlxuICAgKiBBbHNvIGNoYXJ0IGFjY291bnRzIGFyZSBkaWZmZXJlbnQsIHNvIHdlIGp1c3QgcmVzZXQgY2hpbGQgdHJhbnNhY3Rpb25zIHdoZW4gdGFuayB0eXBlIGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVGFua1R5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCd0YW5rVHlwZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnJlc2V0KCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGF4IGF1dG9tYXRpY2FsbHkgd2hlbiBzYWxhcnkgaW5jb21lIHNvdXJjZSBzZWxlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JbmNvbWVTb3VyY2VDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGlmICghaW5jb21lU291cmNlKSB7XG4gICAgICAgIHRoaXMuZ2V0KCd0YXgnKS5zZXRWYWx1ZSgwKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIHByZWZpbGwgc2FsYXJ5IHRheCB3aXRoIGl0cyBpbmNvbWUgc291cmNlIGZvcmVjYXN0XG4gICAgICBpZiAoaW5jb21lU291cmNlIGluc3RhbmNlb2YgSW5jb21lU291cmNlICYmIGluY29tZVNvdXJjZS5pc1NhbGFyeUluY29tZSgpICYmICF0aGlzLmdldCgndGF4JykudmFsdWUpIHtcbiAgICAgICAgdGhpcy5nZXQoJ3RheCcpLnNldFZhbHVlKGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0udGF4V2l0aGhlbGQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBwcml2YXRlIGxpc3RlblByb3BlcnR5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdldCgncHJvcGVydHknKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNsYWltIHBlcmNlbnQgdmFsdWUgYW5kIHN0YXRlIGRlcGVuZHMgb24gYnVzaW5lc3MgbG9naWNcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlQ2xhaW1QZXJjZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGNsYWltUGVyY2VudENvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCA9IHRoaXMuZ2V0KCdjbGFpbVBlcmNlbnQnKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgICAvLyBjbGFpbSBwZXJjZW50IGlzIGNoYW5nZWFibGUgb25seSBmb3Igd29yayBhbmQgc29sZSBleHBlbnNlcyBleGNlcHQgdmVoaWNsZSBhbmQgcGVyc29uYWxcbiAgICBjbGFpbVBlcmNlbnRDb250cm9sLmRpc2FibGUoKTtcblxuICAgIGlmICghdGhpcy5jdXJyZW50VmFsdWUuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzLmlzQ2xhaW1QZXJjZW50RWRpdGFibGUoKSkge1xuICAgICAgY2xhaW1QZXJjZW50Q29udHJvbC5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBjbGFpbVBlcmNlbnRDb250cm9sLnNldFZhbHVlKHRoaXMuY3VycmVudFZhbHVlLmNhbGN1bGF0ZUNsYWltUGVyY2VudCgpKTtcbiAgfVxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFHTCxrQ0FBa0MsR0FFbkMsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsWUFBdUM7SUFDeEYsWUFDRSxXQUFzQztJQUN0Qyx1Q0FBdUM7SUFDdkMsS0FBYztRQUVkLEtBQUssQ0FBQztZQUNKLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUNwQyxHQUFHLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxZQUFZLElBQUksR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVB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LENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRTtZQUNwQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLEVBQUU7WUFDNUQsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUI7UUFFRCxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uLFxuICBDaGFydEFjY291bnRzLFxuICBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkLFxuICBDaGFydEFjY291bnRzTWV0YUZpZWxkLFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29uZGl0aW9uYWxWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtIH0gZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24tbWV0YS1maWVsZC5mb3JtJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBAVE9ETyBBbGV4OiBleHRlbmQgdHJhbnNhY3Rpb24gZm9ybShzKSB3aGVuIHRyYW5zYWN0aW9uIGZvcm1zIHJlZmFjdG9yZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICB0cmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbixcbiAgICAvLyBGbGFnIHRvIGVuYWJsZSB0cmFuc2FjdGlvbiBHU1QgZmllbGRcbiAgICBpc0dTVDogYm9vbGVhblxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICBhbW91bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCksXG4gICAgICB0YXg6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24udGF4IHx8IDAsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2xhaW1QZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRyYW5zYWN0aW9uLmNsYWltUGVyY2VudCB8fCAxMDAsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwKSwgVmFsaWRhdG9ycy5tYXgoMTAwKV0pLFxuICAgICAgY2hhcnRBY2NvdW50czogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGlzR1NUOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogdHJhbnNhY3Rpb24uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXNHU1R9KSxcbiAgICAgIGxvYW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24ubG9hbiksXG4gICAgICBpbmNvbWVTb3VyY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uaW5jb21lU291cmNlLCBjb25kaXRpb25hbFZhbGlkYXRvcigoKSA9PiB0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzPy5pc1dvcmtJbmNvbWUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCkpLFxuICAgICAgbWV0YUZpZWxkczogbmV3IFVudHlwZWRGb3JtQXJyYXkoKHRyYW5zYWN0aW9uLm1ldGFGaWVsZHMgfHwgW10pLm1hcCgobWV0YUZpZWxkOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uTWV0YUZpZWxkKSA9PiBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0obWV0YUZpZWxkKSkpLFxuICAgICAgYnVzaW5lc3M6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uYnVzaW5lc3MsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcHJvcGVydHk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24ucHJvcGVydHksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgLy8gU2hvdyBudWxsIGFzIGRlZmF1bHQgdmFsdWUgZm9yIG5ldyB0cmFuc2FjdGlvbiB0byBhdm9pZCBwcmVzZWxlY3Rpbmcgb2Ygbm90IGFsbG93ZWQgdGFuayB0eXBlc1xuICAgICAgdGFua1R5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodHJhbnNhY3Rpb24uaWQgPyB0cmFuc2FjdGlvbi50YW5rVHlwZSA6IG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2hpbGRUcmFuc2FjdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KCh0cmFuc2FjdGlvbi5jaGlsZFRyYW5zYWN0aW9ucyB8fCBbXSkubWFwKChjaGlsZFRyYW5zYWN0aW9uOiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKSA9PiBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woY2hpbGRUcmFuc2FjdGlvbi5jaGFydEFjY291bnRzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYW1vdW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGNoaWxkVHJhbnNhY3Rpb24uYW1vdW50LCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSkpKVxuICAgIH0sIHRyYW5zYWN0aW9uKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogbW92ZSB0byBhYnN0cmFjdCBmb3JtLCB1bml2ZXJzYWwgbWV0aG9kIGdldEFycmF5KGFycmF5TmFtZSlcbiAgICovXG4gIGdldCBtZXRhRmllbGRzQXJyYXkoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdtZXRhRmllbGRzJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldCBjaGlsZFRyYW5zYWN0aW9uc0FycmF5KCk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiB0aGlzLmdldCgnY2hpbGRUcmFuc2FjdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICB9XG5cbiAgYWRkQ2hpbGRUcmFuc2FjdGlvbkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jaGlsZFRyYW5zYWN0aW9uc0FycmF5LnB1c2goXG4gICAgICBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgICAgIGNoYXJ0QWNjb3VudHM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGFtb3VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3VibWl0KCk6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHNBcnJheS5jb250cm9scy5tYXAoKG1ldGFGaWVsZEZvcm06IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRGb3JtKSA9PiBtZXRhRmllbGRGb3JtLnN1Ym1pdCgpKVxuICAgIH07XG5cbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KGRhdGEpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ2hhcnRBY2NvdW50c0NoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRhbmtUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuSW5jb21lU291cmNlQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkNoYXJ0QWNjb3VudHNDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cykgPT4ge1xuICAgICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG5cbiAgICAgIGlmICghY2hhcnRBY2NvdW50cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlQ2xhaW1QZXJjZW50KCk7XG5cbiAgICAgIC8vIFVzZXIgaGF2ZSB0byBzZWxlY3QgaW5jb21lIHNvdXJjZSBmb3Igd29yayBpbmNvbWVcbiAgICAgIGlmIChjaGFydEFjY291bnRzLmlzV29ya0luY29tZSgpKSB7XG4gICAgICAgIHRoaXMuZ2V0KCdpbmNvbWVTb3VyY2UnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWJ1aWxkIG1ldGEgZmllbGRzXG4gICAgICB0aGlzLm1ldGFGaWVsZHNBcnJheS5jbGVhcigpO1xuICAgICAgY2hhcnRBY2NvdW50cy5tZXRhRmllbGRzLmZvckVhY2goKGNoYXJ0QWNjb3VudHNNZXRhRmllbGQ6IENoYXJ0QWNjb3VudHNNZXRhRmllbGQpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhRmllbGRzQXJyYXkucHVzaChcbiAgICAgICAgICBuZXcgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZEZvcm0oXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbk1ldGFGaWVsZCwgeyBjaGFydEFjY291bnRzTWV0YUZpZWxkIH0pXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGlsZCB0cmFuc2FjdGlvbiBhbGxvd2FuY2UgZGVwZW5kcyBvbiB0YW5rIHR5cGUuXG4gICAqIEFsc28gY2hhcnQgYWNjb3VudHMgYXJlIGRpZmZlcmVudCwgc28gd2UganVzdCByZXNldCBjaGlsZCB0cmFuc2FjdGlvbnMgd2hlbiB0YW5rIHR5cGUgY2hhbmdlZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5UYW5rVHlwZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ3RhbmtUeXBlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmdldCgnY2hhcnRBY2NvdW50cycpLnJlc2V0KCk7XG4gICAgICB0aGlzLmNoaWxkVHJhbnNhY3Rpb25zQXJyYXkucmVzZXQoKTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0YXggYXV0b21hdGljYWxseSB3aGVuIHNhbGFyeSBpbmNvbWUgc291cmNlIHNlbGVjdGVkXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkluY29tZVNvdXJjZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoJ2luY29tZVNvdXJjZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGluY29tZVNvdXJjZT86IEluY29tZVNvdXJjZSkgPT4ge1xuICAgICAgaWYgKCFpbmNvbWVTb3VyY2UpIHtcbiAgICAgICAgdGhpcy5nZXQoJ3RheCcpLnNldFZhbHVlKDApO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gcHJlZmlsbCBzYWxhcnkgdGF4IHdpdGggaXRzIGluY29tZSBzb3VyY2UgZm9yZWNhc3RcbiAgICAgIGlmIChpbmNvbWVTb3VyY2UgaW5zdGFuY2VvZiBJbmNvbWVTb3VyY2UgJiYgaW5jb21lU291cmNlLmlzU2FsYXJ5SW5jb21lKCkgJiYgIXRoaXMuZ2V0KCd0YXgnKS52YWx1ZSkge1xuICAgICAgICB0aGlzLmdldCgndGF4Jykuc2V0VmFsdWUoaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXS50YXhXaXRoaGVsZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0KCdwcm9wZXJ0eScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDbGFpbVBlcmNlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xhaW0gcGVyY2VudCB2YWx1ZSBhbmQgc3RhdGUgZGVwZW5kcyBvbiBidXNpbmVzcyBsb2dpY1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDbGFpbVBlcmNlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgY2xhaW1QZXJjZW50Q29udHJvbDogVW50eXBlZEZvcm1Db250cm9sID0gdGhpcy5nZXQoJ2NsYWltUGVyY2VudCcpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAgIC8vIGNsYWltIHBlcmNlbnQgaXMgY2hhbmdlYWJsZSBvbmx5IGZvciB3b3JrIGFuZCBzb2xlIGV4cGVuc2VzIGV4Y2VwdCB2ZWhpY2xlIGFuZCBwZXJzb25hbFxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuZGlzYWJsZSgpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZS5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudFZhbHVlLmNoYXJ0QWNjb3VudHMuaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpKSB7XG4gICAgICBjbGFpbVBlcmNlbnRDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIGNsYWltUGVyY2VudENvbnRyb2wuc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUuY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -11,8 +11,12 @@ export class ServicePrice extends BaseServicePrice {
|
|
|
11
11
|
isAnnual() {
|
|
12
12
|
return [ServicePriceTypeEnum.YEARLY, ServicePriceTypeEnum.YEARLY_PACKAGE].includes(this.type);
|
|
13
13
|
}
|
|
14
|
+
discountPrice(stripePromoCode) {
|
|
15
|
+
const discountAmount = this.amount - this.amount * (stripePromoCode.percentOff / 100);
|
|
16
|
+
return discountAmount;
|
|
17
|
+
}
|
|
14
18
|
}
|
|
15
19
|
__decorate([
|
|
16
20
|
Type(() => ServiceProduct)
|
|
17
21
|
], ServicePrice.prototype, "product", void 0);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wcmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBSWhELGtCQUFrQjtRQUNoQixPQUFPLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsYUFBYSxDQUFDLGVBQWU7UUFDM0IsTUFBTSxjQUFjLEdBQVcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM5RixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFkQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7NkNBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlUHJpY2UgYXMgQmFzZVNlcnZpY2VQcmljZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZSc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJvZHVjdCB9IGZyb20gJy4vc2VydmljZS1wcm9kdWN0JztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzLCBUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1NlcnZpY2VTdWJzY3JpcHRpb25JdGVtfSBmcm9tICcuL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuaW1wb3J0IHtTZXJ2aWNlUHJpY2VUeXBlRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2UtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VQcmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlUHJpY2Uge1xuICBAVHlwZSgoKSA9PiBTZXJ2aWNlUHJvZHVjdClcbiAgcHJvZHVjdDogU2VydmljZVByb2R1Y3Q7XG5cbiAgdG9TdWJzY3JpcHRpb25JdGVtKCk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtLCB7cHJpY2U6IHRoaXMsIHF1YW50aXR5OiB0aGlzLnByb2R1Y3QubWluUXR5fSk7XG4gIH1cblxuICBpc0FubnVhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1NlcnZpY2VQcmljZVR5cGVFbnVtLllFQVJMWSwgU2VydmljZVByaWNlVHlwZUVudW0uWUVBUkxZX1BBQ0tBR0VdLmluY2x1ZGVzKHRoaXMudHlwZSk7XG4gIH1cblxuICBkaXNjb3VudFByaWNlKHN0cmlwZVByb21vQ29kZSk6IG51bWJlciB7XG4gICAgY29uc3QgZGlzY291bnRBbW91bnQ6IG51bWJlciA9IHRoaXMuYW1vdW50IC0gdGhpcy5hbW91bnQgKiAoc3RyaXBlUHJvbW9Db2RlLnBlcmNlbnRPZmYgLyAxMDApO1xuICAgIHJldHVybiBkaXNjb3VudEFtb3VudDtcbiAgfVxufVxuIl19
|
|
@@ -19,6 +19,13 @@ export class ServiceSubscription extends ServiceSubscriptionBase {
|
|
|
19
19
|
get isPaid() {
|
|
20
20
|
return !!this.stripeId;
|
|
21
21
|
}
|
|
22
|
+
get initialPrice() {
|
|
23
|
+
let price = this.items.reduce((sum, item) => sum + item.total, 0);
|
|
24
|
+
return price;
|
|
25
|
+
}
|
|
26
|
+
get discountAmount() {
|
|
27
|
+
return this.initialPrice - this.price;
|
|
28
|
+
}
|
|
22
29
|
get price() {
|
|
23
30
|
let price = this.items.reduce((sum, item) => sum + item.total, 0);
|
|
24
31
|
if (!!this.stripePromoCode) {
|
|
@@ -124,4 +131,4 @@ __decorate([
|
|
|
124
131
|
__decorate([
|
|
125
132
|
Expose()
|
|
126
133
|
], ServiceSubscription.prototype, "promoCodeId", null);
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1zdWJzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHL0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQWdCOUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLElBQUksS0FBSyxHQUFX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SSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsMkJBQTJCLENBQUMsWUFBcUMsRUFBRSxhQUFxQjtRQUN0RixNQUFNLEdBQUcsR0FBVyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFdEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUE3SUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NEQUNEO0FBR2hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztvREFDSDtBQUdkO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2tEQUNIO0FBUWpDO0lBREMsTUFBTSxFQUFFO3NEQUdSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbiBhcyBTZXJ2aWNlU3Vic2NyaXB0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0gfSBmcm9tICcuL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgVXNlclJvbGVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5pbXBvcnQgeyBFeHBvc2UsIFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJvZHVjdCB9IGZyb20gJy4vc2VydmljZS1wcm9kdWN0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkl0ZW1Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgU3RyaXBlUHJvbW9Db2RlIH0gZnJvbSAnLi9zdHJpcGUtcHJvbW8tY29kZSc7XG5cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlU3Vic2NyaXB0aW9uIGV4dGVuZHMgU2VydmljZVN1YnNjcmlwdGlvbkJhc2Uge1xuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBzdGFydERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZW5kRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSlcbiAgaXRlbXM6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtW107XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IHdhaXRpbmcgZm9yIGJhY2tlbmQgd2lsbCBrZWVwIGNvdXBvbnNcbiAgICovXG4gIHN0cmlwZVByb21vQ29kZTogU3RyaXBlUHJvbW9Db2RlO1xuXG4gIEBFeHBvc2UoKVxuICBnZXQgcHJvbW9Db2RlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpcGVQcm9tb0NvZGU/LmlkIHx8IG51bGw7XG4gIH1cblxuICBnZXQgZnJlcXVlbmN5KCk6ICdtb250aCcgfCAneWVhcicge1xuICAgIHJldHVybiB0aGlzLmlzQW5udWFsKCkgPyAneWVhcicgOiAnbW9udGgnO1xuICB9XG5cbiAgZ2V0IGlzVHJpYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnN0cmlwZUlkO1xuICB9XG5cbiAgZ2V0IGlzUGFpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN0cmlwZUlkO1xuICB9XG5cbiAgZ2V0IHByaWNlKCk6IG51bWJlciB7XG4gICAgbGV0IHByaWNlOiBudW1iZXIgPSB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBzdW0gKyBpdGVtLnRvdGFsLCAwKTtcblxuICAgIGlmICghIXRoaXMuc3RyaXBlUHJvbW9Db2RlKSB7XG4gICAgICBpZiAodGhpcy5zdHJpcGVQcm9tb0NvZGUuaXNBbW91bnQoKSkge1xuICAgICAgICBwcmljZSA9IHByaWNlIC0gdGhpcy5zdHJpcGVQcm9tb0NvZGUuYW1vdW50T2ZmO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJpY2UgPSBwcmljZSAtIHByaWNlICogKHRoaXMuc3RyaXBlUHJvbW9Db2RlLnBlcmNlbnRPZmYgLyAxMDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHByb21vIGNvZGUgY2FuJ3QgbWFrZSBwcmljZSA8IDBcbiAgICByZXR1cm4gcHJpY2UgPiAwID8gcHJpY2UgOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0aXRsZSBvZiBzdWJzY3JpcHRpb25cbiAgICovXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5wcmljZS5wcm9kdWN0LnRpdGxlKS5qb2luKCcgKyAnKTtcbiAgICAvLyByZXR1cm4gdGhpcy5pc1RyaWFsID8gJ1RyaWFsIHBlcmlvZCcgOiB0aGlzLml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5wcmljZS5wcm9kdWN0LnRpdGxlKS5qb2luKCcgKyAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHN1YnNjcmlwdGlvbiBpcyBjb25zaWRlcmVkIGFjdGl2ZSBpZiB0aGUgZW5kIGRhdGUgaGFzIG5vdCB5ZXQgYXJyaXZlZCBhbmQgaXRzIHN0YXR1cyBpcyBcIkFjdGl2ZVwiIG9yIFwiUGFzdCBkdWVcIlxuICAgKi9cbiAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzRXhwaXJlZDogYm9vbGVhbiA9IG5ldyBEYXRlKHRoaXMuZW5kRGF0ZSkuZ2V0VGltZSgpIDwgbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICByZXR1cm4gIWlzRXhwaXJlZCAmJiAoW1NlcnZpY2VTdWJzY3JpcHRpb25TdGF0dXNFbnVtLkFDVElWRSwgU2VydmljZVN1YnNjcmlwdGlvblN0YXR1c0VudW0uUEFTVF9EVUVdLmluY2x1ZGVzKHRoaXMuc3RhdHVzKSk7XG4gIH1cblxuICBpc1JlbmV3YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNUcmlhbCAmJiB0aGlzLmlzQWN0aXZlO1xuICB9XG5cbiAgZ2V0SXRlbXMoKTogU3Vic2NyaXB0aW9uSXRlbUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgU3Vic2NyaXB0aW9uSXRlbUNvbGxlY3Rpb24odGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXQgd29ya1RhbmtJdGVtKCk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4gPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzV29ya1RhbmsoKSk7XG4gIH1cblxuICBnZXQgc29sZVRhbmtJdGVtKCk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4gPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzU29sZVRhbmsoKSk7XG4gIH1cblxuICBnZXQgcHJvcGVydHlUYW5rSXRlbSgpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pc1Byb3BlcnRpZXMoKSk7XG4gIH1cblxuICBoYXNQcm9wZXJ0eVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChzdWJzY3JpcHRpb25JdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbkl0ZW0ucHJpY2UucHJvZHVjdC5yb2xlLmluY2x1ZGVzKFVzZXJSb2xlc0VudW0uUFJPUEVSVFlfVEFOSyk7XG4gICAgfSk7XG4gIH1cblxuICBoYXNXb3JrVGFuaygpIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uSXRlbS5wcmljZS5wcm9kdWN0LnJvbGUuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5XT1JLX1RBTkspO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGJvdWdodCBiZWZvcmUgcHJpY2UgdXBkYXRlcywgYWN0aXZlIGZvciBzb21lIHRpbWUgdG8gbGV0IGN1c3RvbWVyIHNlbGVjdCBhIG5ldyBwbGFuXG4gICAqIGltcG9zc2libGUgdG8gdXBkYXRlLCBvbmx5IHByb2xvbmcgb3IgYnV5IG5ld1xuICAgKi9cbiAgaXNBcmNoaXZlZCgpOiBib29sZWFuIHtcbiAgICAvLyBzdWJzY3JpcHRpb24gd2l0aCBhdCBsZWFzdCBvbmUgYXJjaGl2ZWQgcHJvZHVjdCBjb25zaWRlcmVkIGFzIGFyY2hpdmVkXG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pc0FyY2hpdmVkKCkpLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXNlIHdoZW4gcGF5bWVudCB3YXMgZmFpbGVkLCBidXQgdXNlciBoYXMgYSB0aW1lIHRvIHVwZGF0ZSBwYXltZW50IG1ldGhvZFxuICAgKi9cbiAgaXNQYXN0RHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU2VydmljZVN1YnNjcmlwdGlvblN0YXR1c0VudW0uUEFTVF9EVUU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY3VycmVudCBzdWJzY3JpcHRpb24gaGFzIHByb3ZpZGVkIHN1YnNjcmlwdGlvbiBpdGVtXG4gICAqL1xuICBoYXNJdGVtKGl0ZW1Ub0NoZWNrOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UuaWQgPT09IGl0ZW1Ub0NoZWNrLnByaWNlLmlkKTtcbiAgfVxuXG4gIGhhc1Byb2R1Y3QocHJvZHVjdDogU2VydmljZVByb2R1Y3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKTogYm9vbGVhbiA9PiBpdGVtLnByaWNlLnByb2R1Y3QuaWQgPT09IHByb2R1Y3QuaWQpO1xuICB9XG5cbiAgaXNQYWNrYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gU2VydmljZVByb2R1Y3QucXVhbnRpdHk7XG4gIH1cblxuICBpc0FubnVhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5nZXRJdGVtcygpLnByaWNlcy5hbm51YWwubGVuZ3RoIHx8IHRoaXMuZ2V0SXRlbXMoKS5wcmljZXMuYW5udWFsUGFja2FnZS5sZW5ndGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY29tbWVuZGVkIG51bWJlciBvZiBwcm9wZXJ0aWVzIHRvIGJ1eSxcbiAgICogYmFzZWQgb24gdGhlIHByb3BlcnR5IHNlcnZpY2UgcHJvZHVjdCBhbmQgdGhlIG51bWJlciBvZiBwcm9wZXJ0aWVzIHRoZSB1c2VyIGhhc1xuICAgKi9cbiAgZ2V0UmVjb21tZW5kZWRQcm9wZXJ0aWVzUXR5KHByb3BlcnR5SXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0sIHByb3BlcnRpZXNRdHk6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgbWluOiBudW1iZXIgPSBwcm9wZXJ0eUl0ZW0ucHJpY2UucHJvZHVjdC5taW5RdHk7XG5cbiAgICByZXR1cm4gTWF0aC5tYXgobWluLCBwcm9wZXJ0aWVzUXR5KTtcbiAgfVxufVxuIl19
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1zdWJzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsbUJBQW1CLElBQUksdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHL0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQWdCOUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksS0FBSyxHQUFX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QUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRDs7O09BR0c7SUFDSCwyQkFBMkIsQ0FBQyxZQUFxQyxFQUFFLGFBQXFCO1FBQ3RGLE1BQU0sR0FBRyxHQUFXLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUV0RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQXRKQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0RBQ0Q7QUFHaEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO29EQUNIO0FBR2Q7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7a0RBQ0g7QUFRakM7SUFEQyxNQUFNLEVBQUU7c0RBR1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uIGFzIFNlcnZpY2VTdWJzY3JpcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSB9IGZyb20gJy4vc2VydmljZS1zdWJzY3JpcHRpb24taXRlbSc7XG5pbXBvcnQgeyBVc2VyUm9sZXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdXNlci1yb2xlcy5lbnVtJztcbmltcG9ydCB7IEV4cG9zZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb25TdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFNlcnZpY2VQcm9kdWN0IH0gZnJvbSAnLi9zZXJ2aWNlLXByb2R1Y3QnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uSXRlbUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBTdHJpcGVQcm9tb0NvZGUgfSBmcm9tICcuL3N0cmlwZS1wcm9tby1jb2RlJztcblxuZXhwb3J0IGNsYXNzIFNlcnZpY2VTdWJzY3JpcHRpb24gZXh0ZW5kcyBTZXJ2aWNlU3Vic2NyaXB0aW9uQmFzZSB7XG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHN0YXJ0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBlbmREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKVxuICBpdGVtczogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW1bXTtcblxuICAvKipcbiAgICogQFRPRE8gQWxleDogd2FpdGluZyBmb3IgYmFja2VuZCB3aWxsIGtlZXAgY291cG9uc1xuICAgKi9cbiAgc3RyaXBlUHJvbW9Db2RlOiBTdHJpcGVQcm9tb0NvZGU7XG5cbiAgQEV4cG9zZSgpXG4gIGdldCBwcm9tb0NvZGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0cmlwZVByb21vQ29kZT8uaWQgfHwgbnVsbDtcbiAgfVxuXG4gIGdldCBmcmVxdWVuY3koKTogJ21vbnRoJyB8ICd5ZWFyJyB7XG4gICAgcmV0dXJuIHRoaXMuaXNBbm51YWwoKSA/ICd5ZWFyJyA6ICdtb250aCc7XG4gIH1cblxuICBnZXQgaXNUcmlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc3RyaXBlSWQ7XG4gIH1cblxuICBnZXQgaXNQYWlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3RyaXBlSWQ7XG4gIH1cblxuICBnZXQgaW5pdGlhbFByaWNlKCk6IG51bWJlciB7XG4gICAgbGV0IHByaWNlOiBudW1iZXIgPSB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiBzdW0gKyBpdGVtLnRvdGFsLCAwKTtcbiAgICByZXR1cm4gcHJpY2U7XG4gIH1cblxuICBnZXQgZGlzY291bnRBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsUHJpY2UgLSB0aGlzLnByaWNlXG4gIH1cblxuICBnZXQgcHJpY2UoKTogbnVtYmVyIHtcbiAgICBsZXQgcHJpY2U6IG51bWJlciA9IHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pID0+IHN1bSArIGl0ZW0udG90YWwsIDApO1xuXG4gICAgaWYgKCEhdGhpcy5zdHJpcGVQcm9tb0NvZGUpIHtcbiAgICAgIGlmICh0aGlzLnN0cmlwZVByb21vQ29kZS5pc0Ftb3VudCgpKSB7XG4gICAgICAgIHByaWNlID0gcHJpY2UgLSB0aGlzLnN0cmlwZVByb21vQ29kZS5hbW91bnRPZmY7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmljZSA9IHByaWNlIC0gcHJpY2UgKiAodGhpcy5zdHJpcGVQcm9tb0NvZGUucGVyY2VudE9mZiAvIDEwMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcHJvbW8gY29kZSBjYW4ndCBtYWtlIHByaWNlIDwgMFxuICAgIHJldHVybiBwcmljZSA+IDAgPyBwcmljZSA6IDA7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHRpdGxlIG9mIHN1YnNjcmlwdGlvblxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnByaWNlLnByb2R1Y3QudGl0bGUpLmpvaW4oJyArICcpO1xuICAgIC8vIHJldHVybiB0aGlzLmlzVHJpYWwgPyAnVHJpYWwgcGVyaW9kJyA6IHRoaXMuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnByaWNlLnByb2R1Y3QudGl0bGUpLmpvaW4oJyArICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3Vic2NyaXB0aW9uIGlzIGNvbnNpZGVyZWQgYWN0aXZlIGlmIHRoZSBlbmQgZGF0ZSBoYXMgbm90IHlldCBhcnJpdmVkIGFuZCBpdHMgc3RhdHVzIGlzIFwiQWN0aXZlXCIgb3IgXCJQYXN0IGR1ZVwiXG4gICAqL1xuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNFeHBpcmVkOiBib29sZWFuID0gbmV3IERhdGUodGhpcy5lbmREYXRlKS5nZXRUaW1lKCkgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgIHJldHVybiAhaXNFeHBpcmVkICYmIChbU2VydmljZVN1YnNjcmlwdGlvblN0YXR1c0VudW0uQUNUSVZFLCBTZXJ2aWNlU3Vic2NyaXB0aW9uU3RhdHVzRW51bS5QQVNUX0RVRV0uaW5jbHVkZXModGhpcy5zdGF0dXMpKTtcbiAgfVxuXG4gIGlzUmVuZXdhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc1RyaWFsICYmIHRoaXMuaXNBY3RpdmU7XG4gIH1cblxuICBnZXRJdGVtcygpOiBTdWJzY3JpcHRpb25JdGVtQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb25JdGVtQ29sbGVjdGlvbih0aGlzLml0ZW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBtb3ZlIHRvIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCB3b3JrVGFua0l0ZW0oKTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKTogYm9vbGVhbiA9PiBpdGVtLnByaWNlLnByb2R1Y3QuaXNXb3JrVGFuaygpKTtcbiAgfVxuXG4gIGdldCBzb2xlVGFua0l0ZW0oKTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKTogYm9vbGVhbiA9PiBpdGVtLnByaWNlLnByb2R1Y3QuaXNTb2xlVGFuaygpKTtcbiAgfVxuXG4gIGdldCBwcm9wZXJ0eVRhbmtJdGVtKCk6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4gPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzUHJvcGVydGllcygpKTtcbiAgfVxuXG4gIGhhc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKHN1YnNjcmlwdGlvbkl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uSXRlbS5wcmljZS5wcm9kdWN0LnJvbGUuaW5jbHVkZXMoVXNlclJvbGVzRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhc1dvcmtUYW5rKCkge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoc3Vic2NyaXB0aW9uSXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25JdGVtLnByaWNlLnByb2R1Y3Qucm9sZS5pbmNsdWRlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogYm91Z2h0IGJlZm9yZSBwcmljZSB1cGRhdGVzLCBhY3RpdmUgZm9yIHNvbWUgdGltZSB0byBsZXQgY3VzdG9tZXIgc2VsZWN0IGEgbmV3IHBsYW5cbiAgICogaW1wb3NzaWJsZSB0byB1cGRhdGUsIG9ubHkgcHJvbG9uZyBvciBidXkgbmV3XG4gICAqL1xuICBpc0FyY2hpdmVkKCk6IGJvb2xlYW4ge1xuICAgIC8vIHN1YnNjcmlwdGlvbiB3aXRoIGF0IGxlYXN0IG9uZSBhcmNoaXZlZCBwcm9kdWN0IGNvbnNpZGVyZWQgYXMgYXJjaGl2ZWRcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5wcmljZS5wcm9kdWN0LmlzQXJjaGl2ZWQoKSkubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENhc2Ugd2hlbiBwYXltZW50IHdhcyBmYWlsZWQsIGJ1dCB1c2VyIGhhcyBhIHRpbWUgdG8gdXBkYXRlIHBheW1lbnQgbWV0aG9kXG4gICAqL1xuICBpc1Bhc3REdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTZXJ2aWNlU3Vic2NyaXB0aW9uU3RhdHVzRW51bS5QQVNUX0RVRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjdXJyZW50IHN1YnNjcmlwdGlvbiBoYXMgcHJvdmlkZWQgc3Vic2NyaXB0aW9uIGl0ZW1cbiAgICovXG4gIGhhc0l0ZW0oaXRlbVRvQ2hlY2s6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChpdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSk6IGJvb2xlYW4gPT4gaXRlbS5wcmljZS5pZCA9PT0gaXRlbVRvQ2hlY2sucHJpY2UuaWQpO1xuICB9XG5cbiAgaGFzUHJvZHVjdChwcm9kdWN0OiBTZXJ2aWNlUHJvZHVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoaXRlbTogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0pOiBib29sZWFuID0+IGl0ZW0ucHJpY2UucHJvZHVjdC5pZCA9PT0gcHJvZHVjdC5pZCk7XG4gIH1cblxuICBpc1BhY2thZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoID09PSBTZXJ2aWNlUHJvZHVjdC5xdWFudGl0eTtcbiAgfVxuXG4gIGlzQW5udWFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmdldEl0ZW1zKCkucHJpY2VzLmFubnVhbC5sZW5ndGggfHwgdGhpcy5nZXRJdGVtcygpLnByaWNlcy5hbm51YWxQYWNrYWdlLmxlbmd0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmVjb21tZW5kZWQgbnVtYmVyIG9mIHByb3BlcnRpZXMgdG8gYnV5LFxuICAgKiBiYXNlZCBvbiB0aGUgcHJvcGVydHkgc2VydmljZSBwcm9kdWN0IGFuZCB0aGUgbnVtYmVyIG9mIHByb3BlcnRpZXMgdGhlIHVzZXIgaGFzXG4gICAqL1xuICBnZXRSZWNvbW1lbmRlZFByb3BlcnRpZXNRdHkocHJvcGVydHlJdGVtOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSwgcHJvcGVydGllc1F0eTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBtaW46IG51bWJlciA9IHByb3BlcnR5SXRlbS5wcmljZS5wcm9kdWN0Lm1pblF0eTtcblxuICAgIHJldHVybiBNYXRoLm1heChtaW4sIHByb3BlcnRpZXNRdHkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1502,6 +1502,10 @@ class ServicePrice extends ServicePrice$1 {
|
|
|
1502
1502
|
isAnnual() {
|
|
1503
1503
|
return [ServicePriceTypeEnum.YEARLY, ServicePriceTypeEnum.YEARLY_PACKAGE].includes(this.type);
|
|
1504
1504
|
}
|
|
1505
|
+
discountPrice(stripePromoCode) {
|
|
1506
|
+
const discountAmount = this.amount - this.amount * (stripePromoCode.percentOff / 100);
|
|
1507
|
+
return discountAmount;
|
|
1508
|
+
}
|
|
1505
1509
|
}
|
|
1506
1510
|
__decorate([
|
|
1507
1511
|
Type(() => ServiceProduct)
|
|
@@ -6033,10 +6037,11 @@ class ServicePriceCollection extends Collection {
|
|
|
6033
6037
|
get monthlyPackage() {
|
|
6034
6038
|
return this.filterBy('type', ServicePriceTypeEnum.MONTHLY_PACKAGE);
|
|
6035
6039
|
}
|
|
6036
|
-
|
|
6040
|
+
getMonthlyPackageSum(propertyQuantity) {
|
|
6037
6041
|
const property = this.monthlyPackage.findBy('product.id', ServiceProductIdEnum.PROPERTIES);
|
|
6038
6042
|
// @TODO move to const
|
|
6039
|
-
|
|
6043
|
+
// default number of properties should be 5
|
|
6044
|
+
return this.monthlyPackage.sumBy('amount') + property.amount * (propertyQuantity - 1);
|
|
6040
6045
|
}
|
|
6041
6046
|
get annual() {
|
|
6042
6047
|
return this.filterBy('type', ServicePriceTypeEnum.YEARLY);
|
|
@@ -6044,10 +6049,11 @@ class ServicePriceCollection extends Collection {
|
|
|
6044
6049
|
get annualPackage() {
|
|
6045
6050
|
return this.filterBy('type', ServicePriceTypeEnum.YEARLY_PACKAGE);
|
|
6046
6051
|
}
|
|
6047
|
-
|
|
6052
|
+
getAnnualPackageSum(propertyQuantity) {
|
|
6048
6053
|
const property = this.annualPackage.findBy('product.id', ServiceProductIdEnum.PROPERTIES);
|
|
6049
6054
|
// @TODO move to const
|
|
6050
|
-
|
|
6055
|
+
// the default number of properties should be 5.
|
|
6056
|
+
return this.annualPackage.sumBy('amount') + property.amount * (propertyQuantity - 1);
|
|
6051
6057
|
}
|
|
6052
6058
|
getProperty(isAnnual, isPackage) {
|
|
6053
6059
|
let type;
|
|
@@ -7057,6 +7063,13 @@ class ServiceSubscription extends ServiceSubscription$1 {
|
|
|
7057
7063
|
get isPaid() {
|
|
7058
7064
|
return !!this.stripeId;
|
|
7059
7065
|
}
|
|
7066
|
+
get initialPrice() {
|
|
7067
|
+
let price = this.items.reduce((sum, item) => sum + item.total, 0);
|
|
7068
|
+
return price;
|
|
7069
|
+
}
|
|
7070
|
+
get discountAmount() {
|
|
7071
|
+
return this.initialPrice - this.price;
|
|
7072
|
+
}
|
|
7060
7073
|
get price() {
|
|
7061
7074
|
let price = this.items.reduce((sum, item) => sum + item.total, 0);
|
|
7062
7075
|
if (!!this.stripePromoCode) {
|
|
@@ -19317,6 +19330,7 @@ class AllocationRuleTransactionForm extends AbstractForm {
|
|
|
19317
19330
|
*/
|
|
19318
19331
|
listenTankTypeChanges() {
|
|
19319
19332
|
this.get('tankType').valueChanges.subscribe(() => {
|
|
19333
|
+
this.get('chartAccounts').reset();
|
|
19320
19334
|
this.childTransactionsArray.reset();
|
|
19321
19335
|
});
|
|
19322
19336
|
}
|