@esolve/ng-esolve-connect 0.5.1
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/README.md +23 -0
- package/bundles/esolve-ng-esolve-connect.umd.js +3032 -0
- package/bundles/esolve-ng-esolve-connect.umd.js.map +1 -0
- package/esm2015/esolve-ng-esolve-connect.js +5 -0
- package/esm2015/lib/auth/esolve-account.service.js +60 -0
- package/esm2015/lib/auth/esolve-address-record.js +2 -0
- package/esm2015/lib/auth/esolve-address.js +19 -0
- package/esm2015/lib/auth/esolve-auth-interceptor.service.js +43 -0
- package/esm2015/lib/auth/esolve-auth.service.js +200 -0
- package/esm2015/lib/auth/esolve-session.js +27 -0
- package/esm2015/lib/auth/esolve-session.service.js +85 -0
- package/esm2015/lib/auth/esolve-stored-session.js +2 -0
- package/esm2015/lib/banners/esolve-banner-image-hotspot-record.js +2 -0
- package/esm2015/lib/banners/esolve-banner-image-hotspot.js +9 -0
- package/esm2015/lib/banners/esolve-banner-image-record.js +2 -0
- package/esm2015/lib/banners/esolve-banner-image.js +14 -0
- package/esm2015/lib/banners/esolve-banner-record.js +2 -0
- package/esm2015/lib/banners/esolve-banner-type.js +2 -0
- package/esm2015/lib/banners/esolve-banner.js +25 -0
- package/esm2015/lib/banners/esolve-banner.service.js +104 -0
- package/esm2015/lib/cart/esolve-cart-item-record.js +2 -0
- package/esm2015/lib/cart/esolve-cart-item.js +24 -0
- package/esm2015/lib/cart/esolve-cart-stock-item.js +43 -0
- package/esm2015/lib/cart/esolve-cart-totals-record.js +2 -0
- package/esm2015/lib/cart/esolve-cart-totals.js +39 -0
- package/esm2015/lib/cart/esolve-cart.service.js +371 -0
- package/esm2015/lib/cart/esolve-checkout.js +2 -0
- package/esm2015/lib/cart/esolve-payment-method-record.js +2 -0
- package/esm2015/lib/cart/esolve-payment-method.js +49 -0
- package/esm2015/lib/cart/esolve-shipping-cost-record.js +2 -0
- package/esm2015/lib/cart/esolve-shipping-cost.js +18 -0
- package/esm2015/lib/cart/esolve-shipping-method-record.js +2 -0
- package/esm2015/lib/cart/esolve-shipping-method.js +33 -0
- package/esm2015/lib/cart/esolve-stock-location-record.js +2 -0
- package/esm2015/lib/cart/esolve-stock-location.js +76 -0
- package/esm2015/lib/category-tree/esolve-category-tree-item-record.js +2 -0
- package/esm2015/lib/category-tree/esolve-category-tree-item.js +48 -0
- package/esm2015/lib/category-tree/esolve-category-tree.service.js +126 -0
- package/esm2015/lib/esolve-connect.config.js +9 -0
- package/esm2015/lib/media/esolve-media-article.js +16 -0
- package/esm2015/lib/media/esolve-media-record.js +2 -0
- package/esm2015/lib/media/esolve-media.service.js +94 -0
- package/esm2015/lib/menu/esolve-menu-item.js +9 -0
- package/esm2015/lib/menu/esolve-menu-tree-record.js +2 -0
- package/esm2015/lib/menu/esolve-menu.service.js +48 -0
- package/esm2015/lib/news/esolve-news-article-author-record.js +2 -0
- package/esm2015/lib/news/esolve-news-article-author.js +9 -0
- package/esm2015/lib/news/esolve-news-article-list.js +8 -0
- package/esm2015/lib/news/esolve-news-article-record.js +2 -0
- package/esm2015/lib/news/esolve-news-article.js +20 -0
- package/esm2015/lib/news/esolve-news-group-record.js +2 -0
- package/esm2015/lib/news/esolve-news-group.js +9 -0
- package/esm2015/lib/news/esolve-news-manufacturer-record.js +2 -0
- package/esm2015/lib/news/esolve-news-range-record.js +2 -0
- package/esm2015/lib/news/esolve-news.service.js +107 -0
- package/esm2015/lib/ng-esolve-connect.module.js +43 -0
- package/esm2015/lib/shared/esolve-response.js +2 -0
- package/esm2015/lib/shared/esolve-url-target.js +2 -0
- package/esm2015/lib/shared/seo/esolve-seo-info.js +11 -0
- package/esm2015/lib/shared/seo/esolve-seo.service.js +114 -0
- package/esm2015/lib/stock/esolve-stock-badge-record.js +2 -0
- package/esm2015/lib/stock/esolve-stock-badge.js +11 -0
- package/esm2015/lib/stock/esolve-stock-item-list.js +11 -0
- package/esm2015/lib/stock/esolve-stock-item-options.js +2 -0
- package/esm2015/lib/stock/esolve-stock-item.js +130 -0
- package/esm2015/lib/stock/esolve-stock-price.js +43 -0
- package/esm2015/lib/stock/esolve-stock-record.js +2 -0
- package/esm2015/lib/stock/esolve-stock.service.js +146 -0
- package/esm2015/lib/tags/esolve-tag-record.js +2 -0
- package/esm2015/lib/tags/esolve-tag.js +9 -0
- package/esm2015/lib/topics/esolve-topic-record.js +2 -0
- package/esm2015/lib/topics/esolve-topic.js +9 -0
- package/esm2015/lib/topics/esolve-topic.service.js +57 -0
- package/esm2015/public-api.js +54 -0
- package/esolve-ng-esolve-connect.d.ts +5 -0
- package/fesm2015/esolve-ng-esolve-connect.js +2226 -0
- package/fesm2015/esolve-ng-esolve-connect.js.map +1 -0
- package/lib/auth/esolve-account.service.d.ts +17 -0
- package/lib/auth/esolve-address-record.d.ts +18 -0
- package/lib/auth/esolve-address.d.ts +18 -0
- package/lib/auth/esolve-auth-interceptor.service.d.ts +13 -0
- package/lib/auth/esolve-auth.service.d.ts +34 -0
- package/lib/auth/esolve-session.d.ts +11 -0
- package/lib/auth/esolve-session.service.d.ts +22 -0
- package/lib/auth/esolve-stored-session.d.ts +5 -0
- package/lib/banners/esolve-banner-image-hotspot-record.d.ts +8 -0
- package/lib/banners/esolve-banner-image-hotspot.d.ts +12 -0
- package/lib/banners/esolve-banner-image-record.d.ts +10 -0
- package/lib/banners/esolve-banner-image.d.ts +12 -0
- package/lib/banners/esolve-banner-record.d.ts +17 -0
- package/lib/banners/esolve-banner-type.d.ts +7 -0
- package/lib/banners/esolve-banner.d.ts +21 -0
- package/lib/banners/esolve-banner.service.d.ts +26 -0
- package/lib/cart/esolve-cart-item-record.d.ts +43 -0
- package/lib/cart/esolve-cart-item.d.ts +31 -0
- package/lib/cart/esolve-cart-stock-item.d.ts +31 -0
- package/lib/cart/esolve-cart-totals-record.d.ts +7 -0
- package/lib/cart/esolve-cart-totals.d.ts +50 -0
- package/lib/cart/esolve-cart.service.d.ts +112 -0
- package/lib/cart/esolve-checkout.d.ts +7 -0
- package/lib/cart/esolve-payment-method-record.d.ts +47 -0
- package/lib/cart/esolve-payment-method.d.ts +47 -0
- package/lib/cart/esolve-shipping-cost-record.d.ts +14 -0
- package/lib/cart/esolve-shipping-cost.d.ts +12 -0
- package/lib/cart/esolve-shipping-method-record.d.ts +37 -0
- package/lib/cart/esolve-shipping-method.d.ts +32 -0
- package/lib/cart/esolve-stock-location-record.d.ts +47 -0
- package/lib/cart/esolve-stock-location.d.ts +61 -0
- package/lib/category-tree/esolve-category-tree-item-record.d.ts +51 -0
- package/lib/category-tree/esolve-category-tree-item.d.ts +23 -0
- package/lib/category-tree/esolve-category-tree.service.d.ts +47 -0
- package/lib/esolve-connect.config.d.ts +49 -0
- package/lib/media/esolve-media-article.d.ts +13 -0
- package/lib/media/esolve-media-record.d.ts +31 -0
- package/lib/media/esolve-media.service.d.ts +28 -0
- package/lib/menu/esolve-menu-item.d.ts +8 -0
- package/lib/menu/esolve-menu-tree-record.d.ts +20 -0
- package/lib/menu/esolve-menu.service.d.ts +14 -0
- package/lib/news/esolve-news-article-author-record.d.ts +9 -0
- package/lib/news/esolve-news-article-author.d.ts +7 -0
- package/lib/news/esolve-news-article-list.d.ts +7 -0
- package/lib/news/esolve-news-article-record.d.ts +27 -0
- package/lib/news/esolve-news-article.d.ts +16 -0
- package/lib/news/esolve-news-group-record.d.ts +6 -0
- package/lib/news/esolve-news-group.d.ts +7 -0
- package/lib/news/esolve-news-manufacturer-record.d.ts +8 -0
- package/lib/news/esolve-news-range-record.d.ts +9 -0
- package/lib/news/esolve-news.service.d.ts +31 -0
- package/lib/ng-esolve-connect.module.d.ts +11 -0
- package/lib/shared/esolve-response.d.ts +34 -0
- package/lib/shared/esolve-url-target.d.ts +1 -0
- package/lib/shared/seo/esolve-seo-info.d.ts +12 -0
- package/lib/shared/seo/esolve-seo.service.d.ts +28 -0
- package/lib/stock/esolve-stock-badge-record.d.ts +8 -0
- package/lib/stock/esolve-stock-badge.d.ts +9 -0
- package/lib/stock/esolve-stock-item-list.d.ts +10 -0
- package/lib/stock/esolve-stock-item-options.d.ts +10 -0
- package/lib/stock/esolve-stock-item.d.ts +164 -0
- package/lib/stock/esolve-stock-price.d.ts +45 -0
- package/lib/stock/esolve-stock-record.d.ts +45 -0
- package/lib/stock/esolve-stock.service.d.ts +39 -0
- package/lib/tags/esolve-tag-record.d.ts +6 -0
- package/lib/tags/esolve-tag.d.ts +7 -0
- package/lib/topics/esolve-topic-record.d.ts +6 -0
- package/lib/topics/esolve-topic.d.ts +7 -0
- package/lib/topics/esolve-topic.service.d.ts +20 -0
- package/package.json +20 -0
- package/public-api.d.ts +40 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { HttpErrorResponse, HttpParams } from '@angular/common/http';
|
|
3
|
+
import { iif, of, throwError } from 'rxjs';
|
|
4
|
+
import { catchError, map, switchMap } from 'rxjs/operators';
|
|
5
|
+
import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
|
|
6
|
+
import { EsolveCartItem } from './esolve-cart-item';
|
|
7
|
+
import { EsolveCartStockItem } from './esolve-cart-stock-item';
|
|
8
|
+
import { EsolveStockLocation } from './esolve-stock-location';
|
|
9
|
+
import { EsolvePaymentMethod } from './esolve-payment-method';
|
|
10
|
+
import { EsolveShippingMethod } from './esolve-shipping-method';
|
|
11
|
+
import { EsolveShippingCost } from './esolve-shipping-cost';
|
|
12
|
+
import { EsolveCartTotals } from './esolve-cart-totals';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/common/http";
|
|
15
|
+
export class EsolveCartService {
|
|
16
|
+
constructor(config, http) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this.http = http;
|
|
19
|
+
this._cached_tracking = 0;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Processes the eSolve tree records.
|
|
23
|
+
* @param cart_item_records Records to process
|
|
24
|
+
* @returns An array of processed cart items
|
|
25
|
+
*/
|
|
26
|
+
processCart(cart_item_records) {
|
|
27
|
+
const cart_items = [];
|
|
28
|
+
if (cart_item_records) {
|
|
29
|
+
for (const cart_item_record of cart_item_records) {
|
|
30
|
+
const cart_stock_item = new EsolveCartStockItem(cart_item_record.code, cart_item_record.name, cart_item_record.sef_name, cart_item_record.description, cart_item_record.is_active, +cart_item_record.items_in_pack, cart_item_record.delivery_category, cart_item_record.image_name);
|
|
31
|
+
cart_items.push(new EsolveCartItem(+cart_item_record.id, cart_stock_item, +cart_item_record.qty, cart_item_record.type, +cart_item_record.price, +cart_item_record.discount, +cart_item_record.discount_interval, cart_item_record.vat_rate, cart_item_record.allow_quotes, cart_item_record.allow_orders, cart_item_record.must_collect, cart_item_record.requested_assembly, +cart_item_record.price_incl, +cart_item_record.discount_price, +cart_item_record.discount_price_incl, +cart_item_record.discount_total, +cart_item_record.vat_total, +cart_item_record.line_total, +cart_item_record.line_total_incl));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return cart_items;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Processes the eSolve stock location records.
|
|
38
|
+
* @param records Records to process
|
|
39
|
+
* @returns An array of processed stock location records
|
|
40
|
+
*/
|
|
41
|
+
processStockLocations(records) {
|
|
42
|
+
const stock_locations = [];
|
|
43
|
+
if (records) {
|
|
44
|
+
for (const record of records) {
|
|
45
|
+
stock_locations.push(new EsolveStockLocation(record));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return stock_locations;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Processes the eSolve shipping method records.
|
|
52
|
+
* @param records Records to process
|
|
53
|
+
* @returns An array of processed shipping methods
|
|
54
|
+
*/
|
|
55
|
+
processShippingMethods(records) {
|
|
56
|
+
const shipping_methods = [];
|
|
57
|
+
if (records) {
|
|
58
|
+
for (const record of records) {
|
|
59
|
+
const shipping_method = new EsolveShippingMethod(+record.id, record.carrier_name, record.delivery_category, record.description, record.location, record.pricing, record.link_to_carrier_website, +record.days_to_deliver, record.shipping_cost_calculation_method, record.insurance_cost_calculation_method, +record.insurance_cost_percentage, +record.metric_factor, record.allow_immediate_payment_processing, record.allow_postal_address, record.allow_physical_address, record.client_to_collect, record.is_default_shipping_method, +record.location_id, record.use_zones, +record.min_distance, +record.max_distance, +record.shipping_surge_condition, +record.shipping_surge_percentage, +record.sort_priority, record.shipping_group, record.shipping_slot_identifier, +record.shipping_slot_delay_hours, record.image_url);
|
|
60
|
+
shipping_methods.push(shipping_method);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return shipping_methods;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Processes the eSolve payment method records.
|
|
67
|
+
* @param records Records to process
|
|
68
|
+
* @returns An array of processed payment methods.
|
|
69
|
+
*/
|
|
70
|
+
processPaymentMethods(records) {
|
|
71
|
+
const payment_methods = [];
|
|
72
|
+
if (records) {
|
|
73
|
+
for (const record of records) {
|
|
74
|
+
const payment_method = new EsolvePaymentMethod(record);
|
|
75
|
+
payment_methods.push(payment_method);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return payment_methods;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Processes the eSolve shipping costs record.
|
|
82
|
+
* @param record Data to process
|
|
83
|
+
* @returns Processed shipping costs
|
|
84
|
+
*/
|
|
85
|
+
processShippingCost(record) {
|
|
86
|
+
const shipping_cost = new EsolveShippingCost(+record.shipping_total, +record.vat_on_shipping, +record.total_saving_on_shipping, +record.insurance_total, +record.vat_on_insurance, +record.total_saving_on_insurance);
|
|
87
|
+
return shipping_cost;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Processes the eSolve cart totals
|
|
91
|
+
* @param record Data to process
|
|
92
|
+
* @returns Processed cart totals
|
|
93
|
+
*/
|
|
94
|
+
processCartTotals(record) {
|
|
95
|
+
const cart_totals = new EsolveCartTotals(+record.records, +record.items, +record.total, +record.vat, +record.discount);
|
|
96
|
+
return cart_totals;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Retrieves the current cart
|
|
100
|
+
* @returns An `Observable` with an array of cart items
|
|
101
|
+
*/
|
|
102
|
+
getCart() {
|
|
103
|
+
let params = new HttpParams();
|
|
104
|
+
params = params.set('ws_id', this.config.wsid);
|
|
105
|
+
return this.http.get(`${this.config.api_url}/service/get-cart.php`, { params }).pipe(map(response => {
|
|
106
|
+
if (response.records === undefined) {
|
|
107
|
+
throw response;
|
|
108
|
+
}
|
|
109
|
+
return this.processCart(response.records);
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Updates the cart by preforming various actions, such as adding, editing or removing items from the cart.
|
|
114
|
+
* @param items An array of options to update the cart
|
|
115
|
+
* @param action The default action to preform
|
|
116
|
+
* @returns An `Observable` with an array of responses that gives feedback on the requested changes
|
|
117
|
+
*/
|
|
118
|
+
setCart(items, action = 'add') {
|
|
119
|
+
const body = {
|
|
120
|
+
items,
|
|
121
|
+
action
|
|
122
|
+
};
|
|
123
|
+
return this.http.post(`${this.config.api_url}/service/set-cart-item.php`, body, {
|
|
124
|
+
headers: {
|
|
125
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
|
|
126
|
+
},
|
|
127
|
+
params: {
|
|
128
|
+
ws_id: this.config.wsid
|
|
129
|
+
},
|
|
130
|
+
responseType: 'json',
|
|
131
|
+
observe: 'body'
|
|
132
|
+
}).pipe(map(response => {
|
|
133
|
+
if (response.responses === undefined) {
|
|
134
|
+
throw response;
|
|
135
|
+
}
|
|
136
|
+
return response.responses;
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Retrieves a list of stock locations
|
|
141
|
+
* @returns An `Observable` with an array of stock locations
|
|
142
|
+
*/
|
|
143
|
+
getStockLocations() {
|
|
144
|
+
let params = new HttpParams();
|
|
145
|
+
params = params.set('ws_id', this.config.wsid);
|
|
146
|
+
return this.http.get(`${this.config.api_url}/service/get-locations.php`, { params }).pipe(map(response => {
|
|
147
|
+
if (response.records === undefined) {
|
|
148
|
+
throw response;
|
|
149
|
+
}
|
|
150
|
+
return this.processStockLocations(response.records);
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Retrieves a list of shipping methods
|
|
155
|
+
* @returns An `Observable` with an array of shipping methods
|
|
156
|
+
*/
|
|
157
|
+
getShippingMethods(options) {
|
|
158
|
+
let params = new HttpParams();
|
|
159
|
+
params = params.set('ws_id', this.config.wsid);
|
|
160
|
+
if (options) {
|
|
161
|
+
if (typeof options.addresses_id !== 'undefined') {
|
|
162
|
+
params = params.set('addresses_id', options.addresses_id.toString());
|
|
163
|
+
}
|
|
164
|
+
if (typeof options.location_id !== 'undefined') {
|
|
165
|
+
params = params.set('location_id', options.location_id.toString());
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return this.http.get(`${this.config.api_url}/service/get-shipping-methods.php`, { params }).pipe(map(response => {
|
|
169
|
+
if (response.records === undefined) {
|
|
170
|
+
throw response;
|
|
171
|
+
}
|
|
172
|
+
return this.processShippingMethods(response.records);
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Retrieves a list of payment methods
|
|
177
|
+
* @returns An `Observable` with an array of payment methods
|
|
178
|
+
*/
|
|
179
|
+
getPaymentMethods(options) {
|
|
180
|
+
let params = new HttpParams();
|
|
181
|
+
params = params.set('ws_id', this.config.wsid);
|
|
182
|
+
if (options) {
|
|
183
|
+
if (typeof options.live !== 'undefined') {
|
|
184
|
+
params = params.set('live', options.live.toString());
|
|
185
|
+
}
|
|
186
|
+
if (typeof options.location_id !== 'undefined') {
|
|
187
|
+
params = params.set('location_id', options.location_id.toString());
|
|
188
|
+
}
|
|
189
|
+
if (typeof options.is_gateway !== 'undefined') {
|
|
190
|
+
params = params.set('is_gateway', options.is_gateway.toString());
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return this.http.get(`${this.config.api_url}/service/get-payment-methods.php`, { params }).pipe(map(response => {
|
|
194
|
+
if (response.records === undefined) {
|
|
195
|
+
throw response;
|
|
196
|
+
}
|
|
197
|
+
return this.processPaymentMethods(response.records);
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Retrieves the shipping costs
|
|
202
|
+
* @param options Shipping cost options
|
|
203
|
+
* @returns An `Observable` with the shipping costs
|
|
204
|
+
*/
|
|
205
|
+
getShippingCost(options) {
|
|
206
|
+
let params = new HttpParams();
|
|
207
|
+
params = params.set('ws_id', this.config.wsid);
|
|
208
|
+
if (options) {
|
|
209
|
+
if (typeof options.addresses_id !== 'undefined') {
|
|
210
|
+
params = params.set('addresses_id', options.addresses_id.toString());
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
return throwError(new Error('Address ID is required'));
|
|
214
|
+
}
|
|
215
|
+
if (typeof options.shipping_id !== 'undefined') {
|
|
216
|
+
params = params.set('shipping_id', options.shipping_id.toString());
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
return throwError(new Error('Shipping ID is required'));
|
|
220
|
+
}
|
|
221
|
+
if (typeof options.location_id !== 'undefined') {
|
|
222
|
+
params = params.set('location_id', options.location_id.toString());
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
return throwError(new Error('Options are invalid'));
|
|
227
|
+
}
|
|
228
|
+
return this.http.get(`${this.config.api_url}/service/get-shipping-cost.php`, { params }).pipe(map(response => {
|
|
229
|
+
if (response.records === undefined) {
|
|
230
|
+
throw response;
|
|
231
|
+
}
|
|
232
|
+
return this.processShippingCost(response.records[0]);
|
|
233
|
+
}));
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Retrieves the totals of the cart with all the totals calculated
|
|
237
|
+
* @returns An `Observable` with an object containing cart totals
|
|
238
|
+
*/
|
|
239
|
+
getTotals() {
|
|
240
|
+
let params = new HttpParams();
|
|
241
|
+
params = params.set('ws_id', this.config.wsid);
|
|
242
|
+
return this.http.get(`${this.config.api_url}/service/get-cart-totals.php`, { params }).pipe(map(response => {
|
|
243
|
+
if (response.records === undefined) {
|
|
244
|
+
throw response;
|
|
245
|
+
}
|
|
246
|
+
return this.processCartTotals(response.records);
|
|
247
|
+
}));
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Retrieves a tracking code for the cart
|
|
251
|
+
* @returns An `Observable` with the cart tracking code
|
|
252
|
+
*/
|
|
253
|
+
getTrackingCode() {
|
|
254
|
+
let params = new HttpParams();
|
|
255
|
+
params = params.set('ws_id', this.config.wsid);
|
|
256
|
+
return iif(() => this._cached_tracking > 0, of(this._cached_tracking), this.http.get(`${this.config.api_url}/service/get-checkout-tracking.php`, { params }).pipe(map(response => {
|
|
257
|
+
if (response.records === undefined) {
|
|
258
|
+
throw response;
|
|
259
|
+
}
|
|
260
|
+
this._cached_tracking = response.records.tracking;
|
|
261
|
+
return response.records.tracking;
|
|
262
|
+
})));
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Initiates checkout of the cart items
|
|
266
|
+
* @param type The cart type that needs to be checked out
|
|
267
|
+
* @param addresses_id The ID of the delivery address
|
|
268
|
+
* @param shipping_id The ID of the shipping method
|
|
269
|
+
* @param payment_method_id The ID of the selected payment method
|
|
270
|
+
* @param location_id The ID of the selected branch from with shipping needs to be calculated
|
|
271
|
+
* @param comments Additional comments on the cart
|
|
272
|
+
* @returns An `Observable` with the transaction ID
|
|
273
|
+
*/
|
|
274
|
+
checkout(type, addresses_id, shipping_id, payment_method_id = 0, location_id = 0, comments = '') {
|
|
275
|
+
const body = {
|
|
276
|
+
type,
|
|
277
|
+
addresses_id,
|
|
278
|
+
shipping_id,
|
|
279
|
+
payment_method_id,
|
|
280
|
+
location_id,
|
|
281
|
+
comments,
|
|
282
|
+
tracking: 0
|
|
283
|
+
};
|
|
284
|
+
return this.getTrackingCode().pipe(switchMap((tracking) => {
|
|
285
|
+
if (tracking <= 0) {
|
|
286
|
+
throw tracking;
|
|
287
|
+
}
|
|
288
|
+
body.tracking = tracking;
|
|
289
|
+
return this.http.post(`${this.config.api_url}/service/set-checkout.php`, body, {
|
|
290
|
+
headers: {
|
|
291
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
|
|
292
|
+
},
|
|
293
|
+
params: {
|
|
294
|
+
ws_id: this.config.wsid
|
|
295
|
+
},
|
|
296
|
+
responseType: 'json',
|
|
297
|
+
observe: 'body'
|
|
298
|
+
}).pipe(map(response => {
|
|
299
|
+
if ((response.responses === undefined) || (response.responses.length <= 0)) {
|
|
300
|
+
throw response;
|
|
301
|
+
}
|
|
302
|
+
const checkout_result = response.responses[0];
|
|
303
|
+
if (checkout_result.status.state !== 'success') {
|
|
304
|
+
throw checkout_result;
|
|
305
|
+
}
|
|
306
|
+
return checkout_result.esolve_id;
|
|
307
|
+
}), catchError((errorRes) => {
|
|
308
|
+
const parseException = (exception) => {
|
|
309
|
+
const exception_type = exception.additional_data.exception_type;
|
|
310
|
+
const error = {
|
|
311
|
+
type: 'exception',
|
|
312
|
+
message: exception.message || '',
|
|
313
|
+
error_code: exception_type || 'unknown'
|
|
314
|
+
};
|
|
315
|
+
return error;
|
|
316
|
+
};
|
|
317
|
+
const parseCheckoutErrors = (response) => {
|
|
318
|
+
const error = {
|
|
319
|
+
type: 'error',
|
|
320
|
+
message: 'Unknown error has occured',
|
|
321
|
+
error_code: 'unknown'
|
|
322
|
+
};
|
|
323
|
+
if ((response.status.state === 'none') || (response.log.length === 0)) {
|
|
324
|
+
error.error_code = 'no_response';
|
|
325
|
+
error.message = 'Response was provided';
|
|
326
|
+
}
|
|
327
|
+
else if (response.status.state === 'error') {
|
|
328
|
+
const error_log = response.log[0];
|
|
329
|
+
error.error_code = error_log.message_code;
|
|
330
|
+
error.message = error_log.message;
|
|
331
|
+
}
|
|
332
|
+
return error;
|
|
333
|
+
};
|
|
334
|
+
if (errorRes instanceof HttpErrorResponse) {
|
|
335
|
+
if (errorRes.status === 500) {
|
|
336
|
+
const server_error = errorRes.error;
|
|
337
|
+
if ((server_error.service_type === 'set-checkout') ||
|
|
338
|
+
(server_error.type !== undefined) ||
|
|
339
|
+
(server_error.message !== undefined) ||
|
|
340
|
+
(server_error.additional_data !== undefined)) {
|
|
341
|
+
return throwError(parseException(server_error));
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
if (errorRes.type !== undefined) {
|
|
347
|
+
if (errorRes.type === 'exception') {
|
|
348
|
+
return throwError(parseException(errorRes));
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
else if (errorRes.transaction_type !== undefined) {
|
|
352
|
+
return throwError(parseCheckoutErrors(errorRes));
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return throwError(errorRes);
|
|
356
|
+
}));
|
|
357
|
+
}));
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
EsolveCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
361
|
+
EsolveCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, providedIn: 'root' });
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: EsolveCartService, decorators: [{
|
|
363
|
+
type: Injectable,
|
|
364
|
+
args: [{
|
|
365
|
+
providedIn: 'root'
|
|
366
|
+
}]
|
|
367
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
368
|
+
type: Inject,
|
|
369
|
+
args: [ESOLVE_CONNECT_CONFIG]
|
|
370
|
+
}] }, { type: i1.HttpClient }]; } });
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RGLE9BQU8sRUFBYyxjQUFjLEVBQTBDLE1BQU0sb0JBQW9CLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU94RCxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQzJDLE1BQTJCLEVBQzFELElBQWdCO1FBRGUsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUpwQixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7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QkFBcUI7a0hBSnhCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBpaWYsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UsIEVzb2x2ZVNldFJlc3BvbnNlLCBFc29sdmVQb3N0UmVzcG9uc2VJdGVtIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1yZXNwb25zZSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnQsIEVzb2x2ZUNhcnRJdGVtLCBFc29sdmVDYXJ0U2V0QWN0aW9uLCBFc29sdmVDYXJ0U2V0SXRlbSB9IGZyb20gJy4vZXNvbHZlLWNhcnQtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZUNhcnRTdG9ja0l0ZW0gfSBmcm9tICcuL2Vzb2x2ZS1jYXJ0LXN0b2NrLWl0ZW0nO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJ0SXRlbVJlY29yZCwgRXNvbHZlQ2FydEl0ZW1SZXNwb25zZSB9IGZyb20gJy4vZXNvbHZlLWNhcnQtaXRlbS1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xvY2F0aW9uIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stbG9jYXRpb24nO1xyXG5pbXBvcnQgeyBFc29sdmVTdG9ja0xvY2F0aW9uUmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtc3RvY2stbG9jYXRpb24tcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXBheW1lbnQtbWV0aG9kJztcclxuaW1wb3J0IHsgRXNvbHZlUGF5bWVudE1ldGhvZE9wdGlvbnMsIEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1wYXltZW50LW1ldGhvZC1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVTaGlwcGluZ01ldGhvZCB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLW1ldGhvZCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nTWV0aG9kT3B0aW9ucywgRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1tZXRob2QtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlU2hpcHBpbmdDb3N0IH0gZnJvbSAnLi9lc29sdmUtc2hpcHBpbmctY29zdCc7XHJcbmltcG9ydCB7IEVzb2x2ZVNoaXBwaW5nQ29zdE9wdGlvbnMsIEVzb2x2ZVNoaXBwaW5nQ29zdFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXNoaXBwaW5nLWNvc3QtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFscyB9IGZyb20gJy4vZXNvbHZlLWNhcnQtdG90YWxzJztcclxuaW1wb3J0IHsgRXNvbHZlQ2FydFRvdGFsc1JlY29yZCB9IGZyb20gJy4vZXNvbHZlLWNhcnQtdG90YWxzLXJlY29yZCc7XHJcbmltcG9ydCB7IEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2UsIEVzb2x2ZVRyYWNraW5nQ29kZSB9IGZyb20gJy4vZXNvbHZlLWNoZWNrb3V0JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQ2FydFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfY2FjaGVkX3RyYWNraW5nID0gMDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWcsXHJcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgICApIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgdHJlZSByZWNvcmRzLlxyXG4gICAgICogQHBhcmFtIGNhcnRfaXRlbV9yZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIGNhcnQgaXRlbXNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzQ2FydChjYXJ0X2l0ZW1fcmVjb3JkczogRXNvbHZlQ2FydEl0ZW1SZWNvcmRbXSk6IEVzb2x2ZUNhcnQge1xyXG4gICAgICAgIGNvbnN0IGNhcnRfaXRlbXM6IEVzb2x2ZUNhcnRJdGVtW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKGNhcnRfaXRlbV9yZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2FydF9pdGVtX3JlY29yZCBvZiBjYXJ0X2l0ZW1fcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2FydF9zdG9ja19pdGVtID0gbmV3IEVzb2x2ZUNhcnRTdG9ja0l0ZW0oXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5jb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLnNlZl9uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5pc19hY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQuaXRlbXNfaW5fcGFjayxcclxuICAgICAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1fcmVjb3JkLmRlbGl2ZXJ5X2NhdGVnb3J5LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQuaW1hZ2VfbmFtZVxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBjYXJ0X2l0ZW1zLnB1c2gobmV3IEVzb2x2ZUNhcnRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfc3RvY2tfaXRlbSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5xdHksXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLnByaWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmRpc2NvdW50LFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmRpc2NvdW50X2ludGVydmFsLFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcnRfaXRlbV9yZWNvcmQudmF0X3JhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5hbGxvd19xdW90ZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5hbGxvd19vcmRlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5tdXN0X2NvbGxlY3QsXHJcbiAgICAgICAgICAgICAgICAgICAgY2FydF9pdGVtX3JlY29yZC5yZXF1ZXN0ZWRfYXNzZW1ibHksXHJcbiAgICAgICAgICAgICAgICAgICAgK2NhcnRfaXRlbV9yZWNvcmQucHJpY2VfaW5jbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF9wcmljZSxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5kaXNjb3VudF9wcmljZV9pbmNsLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmRpc2NvdW50X3RvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLnZhdF90b3RhbCxcclxuICAgICAgICAgICAgICAgICAgICArY2FydF9pdGVtX3JlY29yZC5saW5lX3RvdGFsLFxyXG4gICAgICAgICAgICAgICAgICAgICtjYXJ0X2l0ZW1fcmVjb3JkLmxpbmVfdG90YWxfaW5jbFxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjYXJ0X2l0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvY2Vzc2VzIHRoZSBlU29sdmUgc3RvY2sgbG9jYXRpb24gcmVjb3Jkcy5cclxuICAgICAqIEBwYXJhbSByZWNvcmRzIFJlY29yZHMgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcHJvY2Vzc2VkIHN0b2NrIGxvY2F0aW9uIHJlY29yZHNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBwcm9jZXNzU3RvY2tMb2NhdGlvbnMocmVjb3JkczogRXNvbHZlU3RvY2tMb2NhdGlvblJlY29yZFtdKTogRXNvbHZlU3RvY2tMb2NhdGlvbltdIHtcclxuICAgICAgICBjb25zdCBzdG9ja19sb2NhdGlvbnM6IEVzb2x2ZVN0b2NrTG9jYXRpb25bXSA9IFtdO1xyXG5cclxuICAgICAgICBpZiAocmVjb3Jkcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XHJcbiAgICAgICAgICAgICAgICBzdG9ja19sb2NhdGlvbnMucHVzaChuZXcgRXNvbHZlU3RvY2tMb2NhdGlvbihyZWNvcmQpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHN0b2NrX2xvY2F0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHNoaXBwaW5nIG1ldGhvZCByZWNvcmRzLlxyXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXHJcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc2hpcHBpbmcgbWV0aG9kc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NTaGlwcGluZ01ldGhvZHMocmVjb3JkczogRXNvbHZlU2hpcHBpbmdNZXRob2RSZWNvcmRbXSk6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10ge1xyXG4gICAgICAgIGNvbnN0IHNoaXBwaW5nX21ldGhvZHM6IEVzb2x2ZVNoaXBwaW5nTWV0aG9kW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdfbWV0aG9kID0gbmV3IEVzb2x2ZVNoaXBwaW5nTWV0aG9kKFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNhcnJpZXJfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuZGVsaXZlcnlfY2F0ZWdvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5sb2NhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQucHJpY2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQubGlua190b19jYXJyaWVyX3dlYnNpdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5kYXlzX3RvX2RlbGl2ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pbnN1cmFuY2VfY29zdF9jYWxjdWxhdGlvbl9tZXRob2QsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5pbnN1cmFuY2VfY29zdF9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQubWV0cmljX2ZhY3RvcixcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfaW1tZWRpYXRlX3BheW1lbnRfcHJvY2Vzc2luZyxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuYWxsb3dfcG9zdGFsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmFsbG93X3BoeXNpY2FsX2FkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmNsaWVudF90b19jb2xsZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5pc19kZWZhdWx0X3NoaXBwaW5nX21ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLmxvY2F0aW9uX2lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC51c2Vfem9uZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5taW5fZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5tYXhfZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9jb25kaXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgK3JlY29yZC5zaGlwcGluZ19zdXJnZV9wZXJjZW50YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuc29ydF9wcmlvcml0eSxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuc2hpcHBpbmdfZ3JvdXAsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLnNoaXBwaW5nX3Nsb3RfaWRlbnRpZmllcixcclxuICAgICAgICAgICAgICAgICAgICArcmVjb3JkLnNoaXBwaW5nX3Nsb3RfZGVsYXlfaG91cnMsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmltYWdlX3VybFxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBzaGlwcGluZ19tZXRob2RzLnB1c2goc2hpcHBpbmdfbWV0aG9kKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nX21ldGhvZHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBwYXltZW50IG1ldGhvZCByZWNvcmRzLlxyXG4gICAgICogQHBhcmFtIHJlY29yZHMgUmVjb3JkcyB0byBwcm9jZXNzXHJcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgcGF5bWVudCBtZXRob2RzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NQYXltZW50TWV0aG9kcyhyZWNvcmRzOiBFc29sdmVQYXltZW50TWV0aG9kUmVjb3JkW10pOiBFc29sdmVQYXltZW50TWV0aG9kW10ge1xyXG4gICAgICAgIGNvbnN0IHBheW1lbnRfbWV0aG9kczogRXNvbHZlUGF5bWVudE1ldGhvZFtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBheW1lbnRfbWV0aG9kID0gbmV3IEVzb2x2ZVBheW1lbnRNZXRob2QocmVjb3JkKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwYXltZW50X21ldGhvZHMucHVzaChwYXltZW50X21ldGhvZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBwYXltZW50X21ldGhvZHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBzaGlwcGluZyBjb3N0cyByZWNvcmQuXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkIERhdGEgdG8gcHJvY2Vzc1xyXG4gICAgICogQHJldHVybnMgUHJvY2Vzc2VkIHNoaXBwaW5nIGNvc3RzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc1NoaXBwaW5nQ29zdChyZWNvcmQ6IEVzb2x2ZVNoaXBwaW5nQ29zdFJlY29yZCk6IEVzb2x2ZVNoaXBwaW5nQ29zdCB7XHJcbiAgICAgICAgY29uc3Qgc2hpcHBpbmdfY29zdCA9IG5ldyBFc29sdmVTaGlwcGluZ0Nvc3QoXHJcbiAgICAgICAgICAgICtyZWNvcmQuc2hpcHBpbmdfdG90YWwsXHJcbiAgICAgICAgICAgICtyZWNvcmQudmF0X29uX3NoaXBwaW5nLFxyXG4gICAgICAgICAgICArcmVjb3JkLnRvdGFsX3NhdmluZ19vbl9zaGlwcGluZyxcclxuICAgICAgICAgICAgK3JlY29yZC5pbnN1cmFuY2VfdG90YWwsXHJcbiAgICAgICAgICAgICtyZWNvcmQudmF0X29uX2luc3VyYW5jZSxcclxuICAgICAgICAgICAgK3JlY29yZC50b3RhbF9zYXZpbmdfb25faW5zdXJhbmNlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNoaXBwaW5nX2Nvc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9jZXNzZXMgdGhlIGVTb2x2ZSBjYXJ0IHRvdGFsc1xyXG4gICAgICogQHBhcmFtIHJlY29yZCBEYXRhIHRvIHByb2Nlc3NcclxuICAgICAqIEByZXR1cm5zIFByb2Nlc3NlZCBjYXJ0IHRvdGFsc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NDYXJ0VG90YWxzKHJlY29yZDogRXNvbHZlQ2FydFRvdGFsc1JlY29yZCk6IEVzb2x2ZUNhcnRUb3RhbHMge1xyXG4gICAgICAgIGNvbnN0IGNhcnRfdG90YWxzID0gbmV3IEVzb2x2ZUNhcnRUb3RhbHMoXHJcbiAgICAgICAgICAgICtyZWNvcmQucmVjb3JkcyxcclxuICAgICAgICAgICAgK3JlY29yZC5pdGVtcyxcclxuICAgICAgICAgICAgK3JlY29yZC50b3RhbCxcclxuICAgICAgICAgICAgK3JlY29yZC52YXQsXHJcbiAgICAgICAgICAgICtyZWNvcmQuZGlzY291bnRcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gY2FydF90b3RhbHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgY2FydFxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgY2FydCBpdGVtc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q2FydCgpOiBPYnNlcnZhYmxlPEVzb2x2ZUNhcnQ+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LWNhcnQucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydChyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgY2FydCBieSBwcmVmb3JtaW5nIHZhcmlvdXMgYWN0aW9ucywgc3VjaCBhcyBhZGRpbmcsIGVkaXRpbmcgb3IgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgY2FydC5cclxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBvcHRpb25zIHRvIHVwZGF0ZSB0aGUgY2FydFxyXG4gICAgICogQHBhcmFtIGFjdGlvbiBUaGUgZGVmYXVsdCBhY3Rpb24gdG8gcHJlZm9ybVxyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcmVzcG9uc2VzIHRoYXQgZ2l2ZXMgZmVlZGJhY2sgb24gdGhlIHJlcXVlc3RlZCBjaGFuZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRDYXJ0KGl0ZW1zOiBFc29sdmVDYXJ0U2V0SXRlbVtdLCBhY3Rpb246IEVzb2x2ZUNhcnRTZXRBY3Rpb24gPSAnYWRkJyk6IE9ic2VydmFibGU8RXNvbHZlQ2FydEl0ZW1SZXNwb25zZVtdPiB7XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgaXRlbXMsXHJcbiAgICAgICAgICAgIGFjdGlvblxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFc29sdmVTZXRSZXNwb25zZTxFc29sdmVDYXJ0SXRlbVJlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2Uvc2V0LWNhcnQtaXRlbS5waHBgLFxyXG4gICAgICAgICAgICBib2R5LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd3NfaWQ6IHRoaXMuY29uZmlnLndzaWRcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5J1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3BvbnNlcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3BvbnNlcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBzdG9jayBsb2NhdGlvbnNcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHN0b2NrIGxvY2F0aW9uc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnMoKTogT2JzZXJ2YWJsZTxFc29sdmVTdG9ja0xvY2F0aW9uW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVTdG9ja0xvY2F0aW9uUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtbG9jYXRpb25zLnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N0b2NrTG9jYXRpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHNoaXBwaW5nIG1ldGhvZHNcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHNoaXBwaW5nIG1ldGhvZHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFNoaXBwaW5nTWV0aG9kcyhvcHRpb25zPzogRXNvbHZlU2hpcHBpbmdNZXRob2RPcHRpb25zKTogT2JzZXJ2YWJsZTxFc29sdmVTaGlwcGluZ01ldGhvZFtdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmFkZHJlc3Nlc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FkZHJlc3Nlc19pZCcsIG9wdGlvbnMuYWRkcmVzc2VzX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsb2NhdGlvbl9pZCcsIG9wdGlvbnMubG9jYXRpb25faWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVNoaXBwaW5nTWV0aG9kUmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtc2hpcHBpbmctbWV0aG9kcy5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NTaGlwcGluZ01ldGhvZHMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgcGF5bWVudCBtZXRob2RzXHJcbiAgICAgKiBAcmV0dXJucyAgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2YgcGF5bWVudCBtZXRob2RzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRQYXltZW50TWV0aG9kcyhvcHRpb25zPzogRXNvbHZlUGF5bWVudE1ldGhvZE9wdGlvbnMpOiBPYnNlcnZhYmxlPEVzb2x2ZVBheW1lbnRNZXRob2RbXT4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5saXZlICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGl2ZScsIG9wdGlvbnMubGl2ZS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbG9jYXRpb25faWQnLCBvcHRpb25zLmxvY2F0aW9uX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMuaXNfZ2F0ZXdheSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2lzX2dhdGV3YXknLCBvcHRpb25zLmlzX2dhdGV3YXkudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1wYXltZW50LW1ldGhvZHMucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzUGF5bWVudE1ldGhvZHMocmVzcG9uc2UucmVjb3Jkcyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyB0aGUgc2hpcHBpbmcgY29zdHNcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFNoaXBwaW5nIGNvc3Qgb3B0aW9uc1xyXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggdGhlIHNoaXBwaW5nIGNvc3RzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0Nvc3Qob3B0aW9uczogRXNvbHZlU2hpcHBpbmdDb3N0T3B0aW9ucyk6IE9ic2VydmFibGU8RXNvbHZlU2hpcHBpbmdDb3N0PiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmFkZHJlc3Nlc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FkZHJlc3Nlc19pZCcsIG9wdGlvbnMuYWRkcmVzc2VzX2lkLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdBZGRyZXNzIElEIGlzIHJlcXVpcmVkJykpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMuc2hpcHBpbmdfaWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzaGlwcGluZ19pZCcsIG9wdGlvbnMuc2hpcHBpbmdfaWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ1NoaXBwaW5nIElEIGlzIHJlcXVpcmVkJykpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMubG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsb2NhdGlvbl9pZCcsIG9wdGlvbnMubG9jYXRpb25faWQudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ09wdGlvbnMgYXJlIGludmFsaWQnKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVTaGlwcGluZ0Nvc3RSZWNvcmRbXT4+KFxyXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1zaGlwcGluZy1jb3N0LnBocGAsXHJcbiAgICAgICAgICAgIHsgcGFyYW1zIH1cclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucmVjb3JkcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1NoaXBwaW5nQ29zdChyZXNwb25zZS5yZWNvcmRzWzBdKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSB0b3RhbHMgb2YgdGhlIGNhcnQgd2l0aCBhbGwgdGhlIHRvdGFscyBjYWxjdWxhdGVkXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBvYmplY3QgY29udGFpbmluZyBjYXJ0IHRvdGFsc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0VG90YWxzKCk6IE9ic2VydmFibGU8RXNvbHZlQ2FydFRvdGFscz4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUNhcnRUb3RhbHNSZWNvcmQ+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtY2FydC10b3RhbHMucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQ2FydFRvdGFscyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGEgdHJhY2tpbmcgY29kZSBmb3IgdGhlIGNhcnRcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIHRoZSBjYXJ0IHRyYWNraW5nIGNvZGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFRyYWNraW5nQ29kZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3dzX2lkJywgdGhpcy5jb25maWcud3NpZCk7XHJcblxyXG4gICAgICAgIHJldHVybiBpaWYoXHJcbiAgICAgICAgICAgICgpID0+IHRoaXMuX2NhY2hlZF90cmFja2luZyA+IDAsXHJcbiAgICAgICAgICAgIG9mKHRoaXMuX2NhY2hlZF90cmFja2luZyksXHJcbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVHJhY2tpbmdDb2RlPj4oXHJcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL2dldC1jaGVja291dC10cmFja2luZy5waHBgLFxyXG4gICAgICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRfdHJhY2tpbmcgPSByZXNwb25zZS5yZWNvcmRzLnRyYWNraW5nO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVjb3Jkcy50cmFja2luZztcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhdGVzIGNoZWNrb3V0IG9mIHRoZSBjYXJ0IGl0ZW1zXHJcbiAgICAgKiBAcGFyYW0gdHlwZSBUaGUgY2FydCB0eXBlIHRoYXQgbmVlZHMgdG8gYmUgY2hlY2tlZCBvdXRcclxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgVGhlIElEIG9mIHRoZSBkZWxpdmVyeSBhZGRyZXNzXHJcbiAgICAgKiBAcGFyYW0gc2hpcHBpbmdfaWQgVGhlIElEIG9mIHRoZSBzaGlwcGluZyBtZXRob2RcclxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZF9pZCBUaGUgSUQgb2YgdGhlIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kXHJcbiAgICAgKiBAcGFyYW0gbG9jYXRpb25faWQgVGhlIElEIG9mIHRoZSBzZWxlY3RlZCBicmFuY2ggZnJvbSB3aXRoIHNoaXBwaW5nIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWRcclxuICAgICAqIEBwYXJhbSBjb21tZW50cyBBZGRpdGlvbmFsIGNvbW1lbnRzIG9uIHRoZSBjYXJ0XHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgdHJhbnNhY3Rpb24gSURcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoZWNrb3V0KFxyXG4gICAgICAgIHR5cGU6ICdvcmRlcicgfCAncXVvdGUnLFxyXG4gICAgICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyLFxyXG4gICAgICAgIHNoaXBwaW5nX2lkOiBudW1iZXIsXHJcbiAgICAgICAgcGF5bWVudF9tZXRob2RfaWQgPSAwLFxyXG4gICAgICAgIGxvY2F0aW9uX2lkID0gMCxcclxuICAgICAgICBjb21tZW50cyA9ICcnXHJcbiAgICApOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIHR5cGUsXHJcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZCxcclxuICAgICAgICAgICAgc2hpcHBpbmdfaWQsXHJcbiAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kX2lkLFxyXG4gICAgICAgICAgICBsb2NhdGlvbl9pZCxcclxuICAgICAgICAgICAgY29tbWVudHMsXHJcbiAgICAgICAgICAgIHRyYWNraW5nOiAwXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhY2tpbmdDb2RlKCkucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCh0cmFja2luZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRyYWNraW5nIDw9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyB0cmFja2luZztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBib2R5LnRyYWNraW5nID0gdHJhY2tpbmc7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUNoZWNrb3V0UmVzcG9uc2U+PihcclxuICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9zZXJ2aWNlL3NldC1jaGVja291dC5waHBgLFxyXG4gICAgICAgICAgICAgICAgICAgIGJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OydcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3c19pZDogdGhpcy5jb25maWcud3NpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocmVzcG9uc2UucmVzcG9uc2VzID09PSB1bmRlZmluZWQpIHx8IChyZXNwb25zZS5yZXNwb25zZXMubGVuZ3RoIDw9IDApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hlY2tvdXRfcmVzdWx0ID0gcmVzcG9uc2UucmVzcG9uc2VzWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrb3V0X3Jlc3VsdC5zdGF0dXMuc3RhdGUgIT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgY2hlY2tvdXRfcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2hlY2tvdXRfcmVzdWx0LmVzb2x2ZV9pZDtcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VFeGNlcHRpb24gPSAoZXhjZXB0aW9uOiBFc29sdmVTZXRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhjZXB0aW9uX3R5cGUgPSBleGNlcHRpb24uYWRkaXRpb25hbF9kYXRhLmV4Y2VwdGlvbl90eXBlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2V4Y2VwdGlvbicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXhjZXB0aW9uLm1lc3NhZ2UgfHwgJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfY29kZTogZXhjZXB0aW9uX3R5cGUgfHwgJ3Vua25vd24nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnNlQ2hlY2tvdXRFcnJvcnMgPSAocmVzcG9uc2U6IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1Vua25vd24gZXJyb3IgaGFzIG9jY3VyZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvZGU6ICd1bmtub3duJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHJlc3BvbnNlLnN0YXR1cy5zdGF0ZSA9PT0gJ25vbmUnKSB8fCAocmVzcG9uc2UubG9nLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5lcnJvcl9jb2RlID0gJ25vX3Jlc3BvbnNlJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gJ1Jlc3BvbnNlIHdhcyBwcm92aWRlZCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnN0YXR1cy5zdGF0ZSA9PT0gJ2Vycm9yJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yX2xvZyA9IHJlc3BvbnNlLmxvZ1swXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuZXJyb3JfY29kZSA9IGVycm9yX2xvZy5tZXNzYWdlX2NvZGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGVycm9yX2xvZy5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvclJlcyBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3JSZXMuc3RhdHVzID09PSA1MDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2ZXJfZXJyb3IgPSBlcnJvclJlcy5lcnJvcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VydmVyX2Vycm9yLnNlcnZpY2VfdHlwZSA9PT0gJ3NldC1jaGVja291dCcpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXJ2ZXJfZXJyb3IudHlwZSAhPT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VydmVyX2Vycm9yLm1lc3NhZ2UgIT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlcnZlcl9lcnJvci5hZGRpdGlvbmFsX2RhdGEgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IocGFyc2VFeGNlcHRpb24oc2VydmVyX2Vycm9yKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yUmVzLnR5cGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvclJlcy50eXBlID09PSAnZXhjZXB0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihwYXJzZUV4Y2VwdGlvbihlcnJvclJlcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3JSZXMudHJhbnNhY3Rpb25fdHlwZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IocGFyc2VDaGVja291dEVycm9ycyhlcnJvclJlcykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvclJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWNoZWNrb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1jaGVja291dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVUcmFja2luZ0NvZGUge1xyXG4gICAgdHJhY2tpbmc6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVDaGVja291dFJlc3BvbnNlIGV4dGVuZHMgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB7XHJcbiAgICBlc29sdmVfaWQ6IG51bWJlcjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtbWV0aG9kLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtcGF5bWVudC1tZXRob2QtcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFc29sdmVJbnRlZ3JhdGlvblR5cGUgPSAnVmlydHVhbCcgfCAnRGlyZWN0JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZCB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcclxuICAgIHBheW1ldGhvZF9uYW1lOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgZGlzcGxheV9iYW5raW5nX2RldGFpbHM6IGJvb2xlYW47XHJcbiAgICBiYW5rX25hbWU6IHN0cmluZztcclxuICAgIGFjY291bnRfaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBhY2NvdW50OiBzdHJpbmc7XHJcbiAgICBhY2NvdW50X3R5cGU6IHN0cmluZztcclxuICAgIHN3aWZ0X251bWJlcjogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2NvZGU6IHN0cmluZztcclxuICAgIGN1cnJlbmN5X2NvZGU6IHN0cmluZztcclxuICAgIHRlcm1pbmFsX2lkOiBzdHJpbmc7XHJcbiAgICB0ZXJtaW5hbF9pZF9zZWNvbmRhcnk6IHN0cmluZztcclxuICAgIG1lcmNoYW50X2lkOiBzdHJpbmc7XHJcbiAgICBhcHBsaWNhdGlvbl9pZDogc3RyaW5nO1xyXG4gICAgYXBpX3VzZXJuYW1lOiBzdHJpbmc7XHJcbiAgICBhcGlfcGFzc3dvcmQ6IHN0cmluZztcclxuICAgIGFwaV9zaWduYXR1cmU6IHN0cmluZztcclxuICAgIGlzX2dhdGV3YXk6IGJvb2xlYW47XHJcbiAgICBtdXN0X3N0b3JlX2NhcmRfZGV0YWlsczogYm9vbGVhbjtcclxuICAgIGFsbG93X2J1ZGdldDogYm9vbGVhbjtcclxuICAgIGludGVncmF0aW9uX3R5cGU6IEVzb2x2ZUludGVncmF0aW9uVHlwZTtcclxuICAgIGJhbmtfZ2F0ZXdheV9pZDogc3RyaW5nO1xyXG4gICAgYWNjZXB0ZWRfY2FyZF90eXBlczogc3RyaW5nW107XHJcbiAgICBwb3N0X3RyYW5zYWN0aW9uc190b19nYXRld2F5OiBib29sZWFuO1xyXG4gICAgdGhyZWVfZF9zZWN1cmVfdXJsOiBzdHJpbmc7XHJcbiAgICBnYXRld2F5X3VybDogc3RyaW5nO1xyXG4gICAgZ2VuZXJhdGVfdG9rZW5fdXJsOiBzdHJpbmc7XHJcbiAgICB3aWRnZXRfdXJsOiBzdHJpbmc7XHJcbiAgICBzdWNjZXNzZnVsX3VybDogc3RyaW5nO1xyXG4gICAgZmFpbGVkX3VybDogc3RyaW5nO1xyXG4gICAgZW5hYmxlX2NhbGxiYWNrOiBib29sZWFuO1xyXG4gICAgbGl2ZTogYm9vbGVhbjtcclxuICAgIGRlZmF1bHRfbW9kdWxlX2lkOiBudW1iZXI7XHJcbiAgICBzZXJ2aWNlX3Byb3ZpZGVyOiBzdHJpbmc7XHJcbiAgICBvbl9hY2NvdW50OiBib29sZWFuO1xyXG4gICAgc29ydF9wcmlvcml0eTogbnVtYmVyO1xyXG4gICAgaW1hZ2VfdXJsOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlUGF5bWVudE1ldGhvZE9wdGlvbnMge1xyXG4gICAgbGl2ZT86IGJvb2xlYW47XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxuICAgIGlzX2dhdGV3YXk/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export class EsolvePaymentMethod {
|
|
2
|
+
constructor(record) {
|
|
3
|
+
this.id = +record.id;
|
|
4
|
+
this.location_id = +record.location_id;
|
|
5
|
+
this.paymethod_name = record.paymethod_name;
|
|
6
|
+
this.description = record.description;
|
|
7
|
+
this.display_banking_details = record.display_banking_details;
|
|
8
|
+
this.currency_code = record.currency_code;
|
|
9
|
+
this.terminal_id = record.terminal_id;
|
|
10
|
+
this.terminal_id_secondary = record.terminal_id_secondary;
|
|
11
|
+
this.merchant_id = record.merchant_id;
|
|
12
|
+
this.application_id = record.application_id;
|
|
13
|
+
this.api_username = record.api_username;
|
|
14
|
+
this.api_password = record.api_password;
|
|
15
|
+
this.api_signature = record.api_signature;
|
|
16
|
+
this.is_gateway = record.is_gateway;
|
|
17
|
+
this.must_store_card_details = record.must_store_card_details;
|
|
18
|
+
this.allow_budget = record.allow_budget;
|
|
19
|
+
this.integration_type = record.integration_type;
|
|
20
|
+
this.bank_gateway_id = record.bank_gateway_id;
|
|
21
|
+
this.accepted_card_types = record.accepted_card_types;
|
|
22
|
+
this.post_transactions_to_gateway = record.post_transactions_to_gateway;
|
|
23
|
+
this.three_d_secure_url = record.three_d_secure_url;
|
|
24
|
+
this.gateway_url = record.gateway_url;
|
|
25
|
+
this.generate_token_url = record.generate_token_url;
|
|
26
|
+
this.widget_url = record.widget_url;
|
|
27
|
+
this.successful_url = record.successful_url;
|
|
28
|
+
this.failed_url = record.failed_url;
|
|
29
|
+
this.enable_callback = record.enable_callback;
|
|
30
|
+
this.live = record.live;
|
|
31
|
+
this.default_module_id = +record.default_module_id;
|
|
32
|
+
this.service_provider = record.service_provider;
|
|
33
|
+
this.on_account = record.on_account;
|
|
34
|
+
this.sort_priority = +record.sort_priority;
|
|
35
|
+
this.image_url = record.image_url;
|
|
36
|
+
this.banking_details = new BankingDetails(record.bank_name, record.account_holder, record.account, record.account_type, record.swift_number, record.branch_code);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class BankingDetails {
|
|
40
|
+
constructor(bank_name, account_holder, account, account_type, swift_number, branch_code) {
|
|
41
|
+
this.bank_name = bank_name;
|
|
42
|
+
this.account_holder = account_holder;
|
|
43
|
+
this.account = account;
|
|
44
|
+
this.account_type = account_type;
|
|
45
|
+
this.swift_number = swift_number;
|
|
46
|
+
this.branch_code = branch_code;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1wYXltZW50LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUJBQW1CO0lBcUM1QixZQUFZLE1BQWlDO1FBQ3pDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDO1FBQ3hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRWxDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQ3JDLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FBQyxjQUFjLEVBQ3JCLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FDckIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQ1csU0FBaUIsRUFDakIsY0FBc0IsRUFDdEIsT0FBZSxFQUNmLFlBQW9CLEVBQ3BCLFlBQW9CLEVBQ3BCLFdBQW1CO1FBTG5CLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzFCLENBQUM7Q0FDUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUludGVncmF0aW9uVHlwZSwgRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZCB9IGZyb20gJy4vZXNvbHZlLXBheW1lbnQtbWV0aG9kLXJlY29yZCc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlUGF5bWVudE1ldGhvZCB7XHJcbiAgICBwdWJsaWMgaWQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBsb2NhdGlvbl9pZDogbnVtYmVyO1xyXG4gICAgcHVibGljIHBheW1ldGhvZF9uYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHB1YmxpYyBkaXNwbGF5X2JhbmtpbmdfZGV0YWlsczogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBjdXJyZW5jeV9jb2RlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGVybWluYWxfaWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyB0ZXJtaW5hbF9pZF9zZWNvbmRhcnk6IHN0cmluZztcclxuICAgIHB1YmxpYyBtZXJjaGFudF9pZDogc3RyaW5nO1xyXG4gICAgcHVibGljIGFwcGxpY2F0aW9uX2lkOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYXBpX3VzZXJuYW1lOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYXBpX3Bhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYXBpX3NpZ25hdHVyZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGlzX2dhdGV3YXk6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgbXVzdF9zdG9yZV9jYXJkX2RldGFpbHM6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgYWxsb3dfYnVkZ2V0OiBib29sZWFuO1xyXG4gICAgcHVibGljIGludGVncmF0aW9uX3R5cGU6IEVzb2x2ZUludGVncmF0aW9uVHlwZTtcclxuICAgIHB1YmxpYyBiYW5rX2dhdGV3YXlfaWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBhY2NlcHRlZF9jYXJkX3R5cGVzOiBzdHJpbmdbXTtcclxuICAgIHB1YmxpYyBwb3N0X3RyYW5zYWN0aW9uc190b19nYXRld2F5OiBib29sZWFuO1xyXG4gICAgcHVibGljIHRocmVlX2Rfc2VjdXJlX3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGdhdGV3YXlfdXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZ2VuZXJhdGVfdG9rZW5fdXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgd2lkZ2V0X3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIHN1Y2Nlc3NmdWxfdXJsOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZmFpbGVkX3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGVuYWJsZV9jYWxsYmFjazogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBsaXZlOiBib29sZWFuO1xyXG4gICAgcHVibGljIGRlZmF1bHRfbW9kdWxlX2lkOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgc2VydmljZV9wcm92aWRlcjogc3RyaW5nO1xyXG4gICAgcHVibGljIG9uX2FjY291bnQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgc29ydF9wcmlvcml0eTogbnVtYmVyO1xyXG4gICAgcHVibGljIGltYWdlX3VybDogc3RyaW5nO1xyXG5cclxuICAgIHB1YmxpYyBiYW5raW5nX2RldGFpbHM6IEJhbmtpbmdEZXRhaWxzO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogRXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZCkge1xyXG4gICAgICAgIHRoaXMuaWQgPSArcmVjb3JkLmlkO1xyXG4gICAgICAgIHRoaXMubG9jYXRpb25faWQgPSArcmVjb3JkLmxvY2F0aW9uX2lkO1xyXG4gICAgICAgIHRoaXMucGF5bWV0aG9kX25hbWUgPSByZWNvcmQucGF5bWV0aG9kX25hbWU7XHJcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHJlY29yZC5kZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLmRpc3BsYXlfYmFua2luZ19kZXRhaWxzID0gcmVjb3JkLmRpc3BsYXlfYmFua2luZ19kZXRhaWxzO1xyXG4gICAgICAgIHRoaXMuY3VycmVuY3lfY29kZSA9IHJlY29yZC5jdXJyZW5jeV9jb2RlO1xyXG4gICAgICAgIHRoaXMudGVybWluYWxfaWQgPSByZWNvcmQudGVybWluYWxfaWQ7XHJcbiAgICAgICAgdGhpcy50ZXJtaW5hbF9pZF9zZWNvbmRhcnkgPSByZWNvcmQudGVybWluYWxfaWRfc2Vjb25kYXJ5O1xyXG4gICAgICAgIHRoaXMubWVyY2hhbnRfaWQgPSByZWNvcmQubWVyY2hhbnRfaWQ7XHJcbiAgICAgICAgdGhpcy5hcHBsaWNhdGlvbl9pZCA9IHJlY29yZC5hcHBsaWNhdGlvbl9pZDtcclxuICAgICAgICB0aGlzLmFwaV91c2VybmFtZSA9IHJlY29yZC5hcGlfdXNlcm5hbWU7XHJcbiAgICAgICAgdGhpcy5hcGlfcGFzc3dvcmQgPSByZWNvcmQuYXBpX3Bhc3N3b3JkO1xyXG4gICAgICAgIHRoaXMuYXBpX3NpZ25hdHVyZSA9IHJlY29yZC5hcGlfc2lnbmF0dXJlO1xyXG4gICAgICAgIHRoaXMuaXNfZ2F0ZXdheSA9IHJlY29yZC5pc19nYXRld2F5O1xyXG4gICAgICAgIHRoaXMubXVzdF9zdG9yZV9jYXJkX2RldGFpbHMgPSByZWNvcmQubXVzdF9zdG9yZV9jYXJkX2RldGFpbHM7XHJcbiAgICAgICAgdGhpcy5hbGxvd19idWRnZXQgPSByZWNvcmQuYWxsb3dfYnVkZ2V0O1xyXG4gICAgICAgIHRoaXMuaW50ZWdyYXRpb25fdHlwZSA9IHJlY29yZC5pbnRlZ3JhdGlvbl90eXBlO1xyXG4gICAgICAgIHRoaXMuYmFua19nYXRld2F5X2lkID0gcmVjb3JkLmJhbmtfZ2F0ZXdheV9pZDtcclxuICAgICAgICB0aGlzLmFjY2VwdGVkX2NhcmRfdHlwZXMgPSByZWNvcmQuYWNjZXB0ZWRfY2FyZF90eXBlcztcclxuICAgICAgICB0aGlzLnBvc3RfdHJhbnNhY3Rpb25zX3RvX2dhdGV3YXkgPSByZWNvcmQucG9zdF90cmFuc2FjdGlvbnNfdG9fZ2F0ZXdheTtcclxuICAgICAgICB0aGlzLnRocmVlX2Rfc2VjdXJlX3VybCA9IHJlY29yZC50aHJlZV9kX3NlY3VyZV91cmw7XHJcbiAgICAgICAgdGhpcy5nYXRld2F5X3VybCA9IHJlY29yZC5nYXRld2F5X3VybDtcclxuICAgICAgICB0aGlzLmdlbmVyYXRlX3Rva2VuX3VybCA9IHJlY29yZC5nZW5lcmF0ZV90b2tlbl91cmw7XHJcbiAgICAgICAgdGhpcy53aWRnZXRfdXJsID0gcmVjb3JkLndpZGdldF91cmw7XHJcbiAgICAgICAgdGhpcy5zdWNjZXNzZnVsX3VybCA9IHJlY29yZC5zdWNjZXNzZnVsX3VybDtcclxuICAgICAgICB0aGlzLmZhaWxlZF91cmwgPSByZWNvcmQuZmFpbGVkX3VybDtcclxuICAgICAgICB0aGlzLmVuYWJsZV9jYWxsYmFjayA9IHJlY29yZC5lbmFibGVfY2FsbGJhY2s7XHJcbiAgICAgICAgdGhpcy5saXZlID0gcmVjb3JkLmxpdmU7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0X21vZHVsZV9pZCA9ICtyZWNvcmQuZGVmYXVsdF9tb2R1bGVfaWQ7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlX3Byb3ZpZGVyID0gcmVjb3JkLnNlcnZpY2VfcHJvdmlkZXI7XHJcbiAgICAgICAgdGhpcy5vbl9hY2NvdW50ID0gcmVjb3JkLm9uX2FjY291bnQ7XHJcbiAgICAgICAgdGhpcy5zb3J0X3ByaW9yaXR5ID0gK3JlY29yZC5zb3J0X3ByaW9yaXR5O1xyXG4gICAgICAgIHRoaXMuaW1hZ2VfdXJsID0gcmVjb3JkLmltYWdlX3VybDtcclxuXHJcbiAgICAgICAgdGhpcy5iYW5raW5nX2RldGFpbHMgPSBuZXcgQmFua2luZ0RldGFpbHMoXHJcbiAgICAgICAgICAgIHJlY29yZC5iYW5rX25hbWUsXHJcbiAgICAgICAgICAgIHJlY29yZC5hY2NvdW50X2hvbGRlcixcclxuICAgICAgICAgICAgcmVjb3JkLmFjY291bnQsXHJcbiAgICAgICAgICAgIHJlY29yZC5hY2NvdW50X3R5cGUsXHJcbiAgICAgICAgICAgIHJlY29yZC5zd2lmdF9udW1iZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC5icmFuY2hfY29kZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCYW5raW5nRGV0YWlscyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYmFua19uYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFjY291bnRfaG9sZGVyOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFjY291bnQ6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYWNjb3VudF90eXBlOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHN3aWZ0X251bWJlcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBicmFuY2hfY29kZTogc3RyaW5nXHJcbiAgICApIHsgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLWNvc3QtcmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9jYXJ0L2Vzb2x2ZS1zaGlwcGluZy1jb3N0LXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVTaGlwcGluZ0Nvc3RSZWNvcmQge1xyXG4gICAgc2hpcHBpbmdfY29zdF90eXBlOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gU2hpcHBpbmdcclxuICAgIHNoaXBwaW5nX3RvdGFsOiBudW1iZXI7XHJcbiAgICB2YXRfb25fc2hpcHBpbmc6IG51bWJlcjtcclxuICAgIHRvdGFsX3NhdmluZ19vbl9zaGlwcGluZzogbnVtYmVyO1xyXG5cclxuICAgIC8vIEluc3VyYW5jZVxyXG4gICAgaW5zdXJhbmNlX3RvdGFsOiBudW1iZXI7XHJcbiAgICB2YXRfb25faW5zdXJhbmNlOiBudW1iZXI7XHJcbiAgICB0b3RhbF9zYXZpbmdfb25faW5zdXJhbmNlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2hpcHBpbmdDb3N0T3B0aW9ucyB7XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxuICAgIGFkZHJlc3Nlc19pZDogbnVtYmVyO1xyXG4gICAgc2hpcHBpbmdfaWQ6IG51bWJlcjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class EsolveShippingCost {
|
|
2
|
+
constructor(
|
|
3
|
+
// Shipping
|
|
4
|
+
shipping_total = 0, shipping_vat = 0, shipping_total_savings = 0,
|
|
5
|
+
// Insurance
|
|
6
|
+
insurance_total = 0, insurance_vat = 0, insurance_total_savings = 0) {
|
|
7
|
+
this.shipping = new EsolveShippingTotals(shipping_total, shipping_vat, shipping_total_savings);
|
|
8
|
+
this.insurance = new EsolveShippingTotals(insurance_total, insurance_vat, insurance_total_savings);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
class EsolveShippingTotals {
|
|
12
|
+
constructor(total, vat, savings) {
|
|
13
|
+
this.total = total;
|
|
14
|
+
this.vat = vat;
|
|
15
|
+
this.savings = savings;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLWNvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NhcnQvZXNvbHZlLXNoaXBwaW5nLWNvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQjtJQUNJLFdBQVc7SUFDWCxpQkFBeUIsQ0FBQyxFQUMxQixlQUF1QixDQUFDLEVBQ3hCLHlCQUFpQyxDQUFDO0lBQ2xDLFlBQVk7SUFDWixrQkFBMEIsQ0FBQyxFQUMzQixnQkFBd0IsQ0FBQyxFQUN6QiwwQkFBa0MsQ0FBQztRQUVuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQ3BDLGNBQWMsRUFDZCxZQUFZLEVBQ1osc0JBQXNCLENBQ3pCLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksb0JBQW9CLENBQ3JDLGVBQWUsRUFDZixhQUFhLEVBQ2IsdUJBQXVCLENBQzFCLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFFRCxNQUFNLG9CQUFvQjtJQUN0QixZQUNXLEtBQWEsRUFDYixHQUFXLEVBQ1gsT0FBZTtRQUZmLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUN0QixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlU2hpcHBpbmdDb3N0IHtcclxuICAgIHB1YmxpYyBzaGlwcGluZzogRXNvbHZlU2hpcHBpbmdUb3RhbHM7XHJcbiAgICBwdWJsaWMgaW5zdXJhbmNlOiBFc29sdmVTaGlwcGluZ1RvdGFscztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICAvLyBTaGlwcGluZ1xyXG4gICAgICAgIHNoaXBwaW5nX3RvdGFsOiBudW1iZXIgPSAwLFxyXG4gICAgICAgIHNoaXBwaW5nX3ZhdDogbnVtYmVyID0gMCxcclxuICAgICAgICBzaGlwcGluZ190b3RhbF9zYXZpbmdzOiBudW1iZXIgPSAwLFxyXG4gICAgICAgIC8vIEluc3VyYW5jZVxyXG4gICAgICAgIGluc3VyYW5jZV90b3RhbDogbnVtYmVyID0gMCxcclxuICAgICAgICBpbnN1cmFuY2VfdmF0OiBudW1iZXIgPSAwLFxyXG4gICAgICAgIGluc3VyYW5jZV90b3RhbF9zYXZpbmdzOiBudW1iZXIgPSAwXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnNoaXBwaW5nID0gbmV3IEVzb2x2ZVNoaXBwaW5nVG90YWxzKFxyXG4gICAgICAgICAgICBzaGlwcGluZ190b3RhbCxcclxuICAgICAgICAgICAgc2hpcHBpbmdfdmF0LFxyXG4gICAgICAgICAgICBzaGlwcGluZ190b3RhbF9zYXZpbmdzXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbnN1cmFuY2UgPSBuZXcgRXNvbHZlU2hpcHBpbmdUb3RhbHMoXHJcbiAgICAgICAgICAgIGluc3VyYW5jZV90b3RhbCxcclxuICAgICAgICAgICAgaW5zdXJhbmNlX3ZhdCxcclxuICAgICAgICAgICAgaW5zdXJhbmNlX3RvdGFsX3NhdmluZ3NcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG5jbGFzcyBFc29sdmVTaGlwcGluZ1RvdGFscyB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgdG90YWw6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgdmF0OiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHNhdmluZ3M6IG51bWJlclxyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC1yZWNvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2NhcnQvZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC1yZWNvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVzb2x2ZUxvY2F0aW9uVHlwZSA9ICdEb21lc3RpYycgfCAnSW50ZXJuYXRpb25hbCcgfCAnRG9tZXN0aWMgYW5kIEludGVybmF0aW9uYWwnO1xyXG5cclxuZXhwb3J0IHR5cGUgRXNvbHZlSW5zdXJhbmNlQ29zdENhbGN1bGF0aW9uTWV0aG9kID0gJ25vdF9hcHBsaWNhYmxlJyB8ICdpbmNsdWRlZF9pbl9wcmljZScgfCAncGVyY2VudGFnZV9vZl9wcmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBFc29sdmVTaGlwcGluZ0Nvc3RDYWxjdWxhdGlvbk1ldGhvZCA9XHJcbiAgICAnYnlfd2VpZ2h0JyB8XHJcbiAgICAnYnlfdm9sdW1lJyB8XHJcbiAgICAnZ3JlYXRlcl9vZl92b2x1bWVfd2VpZ2h0JyB8XHJcbiAgICAnYWRkX29uX3Byb2Zvcm1hJyB8XHJcbiAgICAndm9sdW1ldHJpYycgfFxyXG4gICAgJ2ZsYXRfcmF0ZScgfFxyXG4gICAgJ2ZyZWUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVTaGlwcGluZ01ldGhvZFJlY29yZCB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgY2Fycmllcl9uYW1lOiBzdHJpbmc7XHJcbiAgICBkZWxpdmVyeV9jYXRlZ29yeTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGxvY2F0aW9uOiBFc29sdmVMb2NhdGlvblR5cGU7XHJcbiAgICBwcmljaW5nOiBzdHJpbmc7XHJcbiAgICBsaW5rX3RvX2NhcnJpZXJfd2Vic2l0ZTogc3RyaW5nO1xyXG4gICAgZGF5c190b19kZWxpdmVyOiBudW1iZXI7XHJcbiAgICBzaGlwcGluZ19jb3N0X2NhbGN1bGF0aW9uX21ldGhvZDogRXNvbHZlU2hpcHBpbmdDb3N0Q2FsY3VsYXRpb25NZXRob2Q7XHJcbiAgICBpbnN1cmFuY2VfY29zdF9jYWxjdWxhdGlvbl9tZXRob2Q6IEVzb2x2ZUluc3VyYW5jZUNvc3RDYWxjdWxhdGlvbk1ldGhvZDtcclxuICAgIGluc3VyYW5jZV9jb3N0X3BlcmNlbnRhZ2U6IG51bWJlcjtcclxuICAgIG1ldHJpY19mYWN0b3I6IG51bWJlcjtcclxuICAgIGFsbG93X2ltbWVkaWF0ZV9wYXltZW50X3Byb2Nlc3Npbmc6IGJvb2xlYW47XHJcbiAgICBhbGxvd19wb3N0YWxfYWRkcmVzczogYm9vbGVhbjtcclxuICAgIGFsbG93X3BoeXNpY2FsX2FkZHJlc3M6IGJvb2xlYW47XHJcbiAgICBjbGllbnRfdG9fY29sbGVjdDogYm9vbGVhbjtcclxuICAgIGlzX2RlZmF1bHRfc2hpcHBpbmdfbWV0aG9kOiBib29sZWFuO1xyXG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcclxuICAgIHVzZV96b25lczogYm9vbGVhbjtcclxuICAgIG1pbl9kaXN0YW5jZTogbnVtYmVyO1xyXG4gICAgbWF4X2Rpc3RhbmNlOiBudW1iZXI7XHJcbiAgICBzaGlwcGluZ19zdXJnZV9jb25kaXRpb246IG51bWJlcjtcclxuICAgIHNoaXBwaW5nX3N1cmdlX3BlcmNlbnRhZ2U6IG51bWJlcjtcclxuICAgIHNvcnRfcHJpb3JpdHk6IG51bWJlcjtcclxuICAgIHNoaXBwaW5nX2dyb3VwOiBzdHJpbmc7XHJcbiAgICBzaGlwcGluZ19zbG90X2lkZW50aWZpZXI6IHN0cmluZztcclxuICAgIHNoaXBwaW5nX3Nsb3RfZGVsYXlfaG91cnM6IG51bWJlcjtcclxuICAgIGltYWdlX3VybDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNoaXBwaW5nTWV0aG9kT3B0aW9ucyB7XHJcbiAgICBsb2NhdGlvbl9pZD86IG51bWJlcjtcclxuICAgIGFkZHJlc3Nlc19pZD86IG51bWJlcjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export class EsolveShippingMethod {
|
|
2
|
+
constructor(id, carrier_name, delivery_category, description, location, pricing, link_to_carrier_website, days_to_deliver, shipping_cost_calculation_method, insurance_cost_calculation_method, insurance_cost_percentage, metric_factor, allow_immediate_payment_processing, allow_postal_address, allow_physical_address, client_to_collect, is_default, location_id, use_zones, min_distance, max_distance, shipping_surge_condition, shipping_surge_percentage, sort_priority, shipping_group, shipping_slot_identifier, shipping_slot_delay_hours, image_url) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.carrier_name = carrier_name;
|
|
5
|
+
this.delivery_category = delivery_category;
|
|
6
|
+
this.description = description;
|
|
7
|
+
this.location = location;
|
|
8
|
+
this.pricing = pricing;
|
|
9
|
+
this.link_to_carrier_website = link_to_carrier_website;
|
|
10
|
+
this.days_to_deliver = days_to_deliver;
|
|
11
|
+
this.shipping_cost_calculation_method = shipping_cost_calculation_method;
|
|
12
|
+
this.insurance_cost_calculation_method = insurance_cost_calculation_method;
|
|
13
|
+
this.insurance_cost_percentage = insurance_cost_percentage;
|
|
14
|
+
this.metric_factor = metric_factor;
|
|
15
|
+
this.allow_immediate_payment_processing = allow_immediate_payment_processing;
|
|
16
|
+
this.allow_postal_address = allow_postal_address;
|
|
17
|
+
this.allow_physical_address = allow_physical_address;
|
|
18
|
+
this.client_to_collect = client_to_collect;
|
|
19
|
+
this.is_default = is_default;
|
|
20
|
+
this.location_id = location_id;
|
|
21
|
+
this.use_zones = use_zones;
|
|
22
|
+
this.min_distance = min_distance;
|
|
23
|
+
this.max_distance = max_distance;
|
|
24
|
+
this.shipping_surge_condition = shipping_surge_condition;
|
|
25
|
+
this.shipping_surge_percentage = shipping_surge_percentage;
|
|
26
|
+
this.sort_priority = sort_priority;
|
|
27
|
+
this.shipping_group = shipping_group;
|
|
28
|
+
this.shipping_slot_identifier = shipping_slot_identifier;
|
|
29
|
+
this.shipping_slot_delay_hours = shipping_slot_delay_hours;
|
|
30
|
+
this.image_url = image_url;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNoaXBwaW5nLW1ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtc2hpcHBpbmctbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFDVyxFQUFVLEVBQ1YsWUFBb0IsRUFDcEIsaUJBQXlCLEVBQ3pCLFdBQW1CLEVBQ25CLFFBQTRCLEVBQzVCLE9BQWUsRUFDZix1QkFBK0IsRUFDL0IsZUFBdUIsRUFDdkIsZ0NBQXFFLEVBQ3JFLGlDQUF1RSxFQUN2RSx5QkFBaUMsRUFDakMsYUFBcUIsRUFDckIsa0NBQTJDLEVBQzNDLG9CQUE2QixFQUM3QixzQkFBK0IsRUFDL0IsaUJBQTBCLEVBQzFCLFVBQW1CLEVBQ25CLFdBQW1CLEVBQ25CLFNBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLFlBQW9CLEVBQ3BCLHdCQUFnQyxFQUNoQyx5QkFBaUMsRUFDakMsYUFBcUIsRUFDckIsY0FBc0IsRUFDdEIsd0JBQWdDLEVBQ2hDLHlCQUFpQyxFQUNqQyxTQUFpQjtRQTNCakIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFRO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ3ZCLHFDQUFnQyxHQUFoQyxnQ0FBZ0MsQ0FBcUM7UUFDckUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFzQztRQUN2RSw4QkFBeUIsR0FBekIseUJBQXlCLENBQVE7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsdUNBQWtDLEdBQWxDLGtDQUFrQyxDQUFTO1FBQzNDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUztRQUM3QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVM7UUFDL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFTO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVM7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUNsQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVE7UUFDaEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUFRO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQ3RCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBUTtRQUNoQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQVE7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUN4QixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRXNvbHZlSW5zdXJhbmNlQ29zdENhbGN1bGF0aW9uTWV0aG9kLFxyXG4gICAgRXNvbHZlTG9jYXRpb25UeXBlLFxyXG4gICAgRXNvbHZlU2hpcHBpbmdDb3N0Q2FsY3VsYXRpb25NZXRob2RcclxufSBmcm9tICcuL2Vzb2x2ZS1zaGlwcGluZy1tZXRob2QtcmVjb3JkJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVTaGlwcGluZ01ldGhvZCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgY2Fycmllcl9uYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGRlbGl2ZXJ5X2NhdGVnb3J5OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGxvY2F0aW9uOiBFc29sdmVMb2NhdGlvblR5cGUsXHJcbiAgICAgICAgcHVibGljIHByaWNpbmc6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgbGlua190b19jYXJyaWVyX3dlYnNpdGU6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgZGF5c190b19kZWxpdmVyOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHNoaXBwaW5nX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kOiBFc29sdmVTaGlwcGluZ0Nvc3RDYWxjdWxhdGlvbk1ldGhvZCxcclxuICAgICAgICBwdWJsaWMgaW5zdXJhbmNlX2Nvc3RfY2FsY3VsYXRpb25fbWV0aG9kOiBFc29sdmVJbnN1cmFuY2VDb3N0Q2FsY3VsYXRpb25NZXRob2QsXHJcbiAgICAgICAgcHVibGljIGluc3VyYW5jZV9jb3N0X3BlcmNlbnRhZ2U6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgbWV0cmljX2ZhY3RvcjogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBhbGxvd19pbW1lZGlhdGVfcGF5bWVudF9wcm9jZXNzaW5nOiBib29sZWFuLFxyXG4gICAgICAgIHB1YmxpYyBhbGxvd19wb3N0YWxfYWRkcmVzczogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgYWxsb3dfcGh5c2ljYWxfYWRkcmVzczogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgY2xpZW50X3RvX2NvbGxlY3Q6IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIGlzX2RlZmF1bHQ6IGJvb2xlYW4sXHJcbiAgICAgICAgcHVibGljIGxvY2F0aW9uX2lkOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHVzZV96b25lczogYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgbWluX2Rpc3RhbmNlOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIG1heF9kaXN0YW5jZTogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBzaGlwcGluZ19zdXJnZV9jb25kaXRpb246IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgc2hpcHBpbmdfc3VyZ2VfcGVyY2VudGFnZTogbnVtYmVyLFxyXG4gICAgICAgIHB1YmxpYyBzb3J0X3ByaW9yaXR5OiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIHNoaXBwaW5nX2dyb3VwOiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIHNoaXBwaW5nX3Nsb3RfaWRlbnRpZmllcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBzaGlwcGluZ19zbG90X2RlbGF5X2hvdXJzOiBudW1iZXIsXHJcbiAgICAgICAgcHVibGljIGltYWdlX3VybDogc3RyaW5nXHJcbiAgICApIHsgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b2NrLWxvY2F0aW9uLXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvY2FydC9lc29sdmUtc3RvY2stbG9jYXRpb24tcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVN0b2NrTG9jYXRpb25SZWNvcmQge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZztcclxuICAgIGhlYWRfb2ZmaWNlOiBib29sZWFuO1xyXG4gICAgZGVmYXVsdF9sb2NhdGlvbl9mb3JfcGF5bWVudF9tZXRob2RzOiBib29sZWFuO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XHJcbiAgICBlcnBfaWRlbnRpZmllcjogc3RyaW5nO1xyXG4gICAgdXNlcmlkOiBudW1iZXI7XHJcbiAgICBpbXBvcnRhbmNlOiBudW1iZXI7XHJcbiAgICBpc19hY3RpdmU6IGJvb2xlYW47XHJcbiAgICBzdHJlZXQ6IHN0cmluZztcclxuICAgIHN1YnVyYjogc3RyaW5nO1xyXG4gICAgY2l0eTogc3RyaW5nO1xyXG4gICAgcHJvdmluY2U6IHN0cmluZztcclxuICAgIGNvdW50cnk6IHN0cmluZztcclxuICAgIHBvc3RhbF9jb2RlOiBzdHJpbmc7XHJcbiAgICBsYXRpdHVkZTogbnVtYmVyO1xyXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XHJcbiAgICBwb2JveF9wb3N0YWxfY29kZTogc3RyaW5nO1xyXG4gICAgcG9ib3hfY2l0eTogc3RyaW5nO1xyXG4gICAgcG9ib3g6IHN0cmluZztcclxuICAgIGJyYW5jaF90ZWxudW1iZXI6IHN0cmluZztcclxuICAgIGJyYW5jaF90ZWxudW1iZXJfMjogc3RyaW5nO1xyXG4gICAgYnJhbmNoX3RlbG51bWJlcl8zOiBzdHJpbmc7XHJcbiAgICBicmFuY2hfY2VsbG51bWJlcjogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2ZheDogc3RyaW5nO1xyXG4gICAgYnJhbmNoX2VtYWlsOiBzdHJpbmc7XHJcbiAgICBtb25kYXlfb3Blbl90aW1lOiBzdHJpbmc7XHJcbiAgICBtb25kYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgdHVlc2RheV9vcGVuX3RpbWU6IHN0cmluZztcclxuICAgIHR1ZXNkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgd2VkbmVzZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgd2VkbmVzZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcclxuICAgIHRodXJzZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgdGh1cnNkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgZnJpZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgZnJpZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcclxuICAgIHNhdHVyZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgc2F0dXJkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgc3VuZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgc3VuZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcclxuICAgIHB1YmxpY19ob2xpZGF5X29wZW5fdGltZTogc3RyaW5nO1xyXG4gICAgcHVibGljX2hvbGlkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xyXG4gICAgdHJhZGluZ19ob3Vyc19hZGRpdGlvbmFsX2luPzogc3RyaW5nO1xyXG4gICAgd2Vic2l0ZV91cmw6IHN0cmluZztcclxufVxyXG4iXX0=
|