UNPKG

@spartacus/core

Version:

Spartacus - the core framework

123 lines 19 kB
import { CUSTOMER_COUPONS, SUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID, UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID, CLAIM_CUSTOMER_COUPON_PROCESS_ID, } from '../user-state'; import { LoaderLoadAction, LoaderFailAction, LoaderSuccessAction, LoaderResetAction, } from '../../../state/utils/loader/loader.action'; import { EntityFailAction, EntityLoadAction, EntityLoaderResetAction, EntitySuccessAction, } from '../../../state/utils/entity-loader/entity-loader.action'; import { PROCESS_FEATURE } from '../../../process/store'; export const LOAD_CUSTOMER_COUPONS = '[User] Load Customer Coupons'; export const LOAD_CUSTOMER_COUPONS_FAIL = '[User] Load Customer Coupons Fail'; export const LOAD_CUSTOMER_COUPONS_SUCCESS = '[User] Load Customer Coupons Success'; export const RESET_LOAD_CUSTOMER_COUPONS = '[User] Reset Load Customer Coupons'; export const SUBSCRIBE_CUSTOMER_COUPON = '[User] Subscribe Customer Notification Coupon'; export const SUBSCRIBE_CUSTOMER_COUPON_FAIL = '[User] Subscribe Customer Coupon Notification Fail'; export const SUBSCRIBE_CUSTOMER_COUPON_SUCCESS = '[User] Subscribe Customer Coupon Notification Success'; export const RESET_SUBSCRIBE_CUSTOMER_COUPON_PROCESS = '[User] Reset Subscribe Customer Coupon Process'; export const UNSUBSCRIBE_CUSTOMER_COUPON = '[User] Unsubscribe Customer Notification Coupon'; export const UNSUBSCRIBE_CUSTOMER_COUPON_FAIL = '[User] Unsubscribe Customer Coupon Notification Fail'; export const UNSUBSCRIBE_CUSTOMER_COUPON_SUCCESS = '[User] Unsubscribe Customer Coupon Notification Success'; export const RESET_UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS = '[User] Reset Unsubscribe Customer Coupon Process'; export const CLAIM_CUSTOMER_COUPON = '[User] Claim Customer'; export const CLAIM_CUSTOMER_COUPON_FAIL = '[User] Claim Customer Fail'; export const CLAIM_CUSTOMER_COUPON_SUCCESS = '[User] Claim Customer Success'; export class LoadCustomerCoupons extends LoaderLoadAction { constructor(payload) { super(CUSTOMER_COUPONS); this.payload = payload; this.type = LOAD_CUSTOMER_COUPONS; } } export class LoadCustomerCouponsFail extends LoaderFailAction { constructor(payload) { super(CUSTOMER_COUPONS, payload); this.payload = payload; this.type = LOAD_CUSTOMER_COUPONS_FAIL; } } export class LoadCustomerCouponsSuccess extends LoaderSuccessAction { constructor(payload) { super(CUSTOMER_COUPONS); this.payload = payload; this.type = LOAD_CUSTOMER_COUPONS_SUCCESS; } } export class ResetLoadCustomerCoupons extends LoaderResetAction { constructor() { super(CUSTOMER_COUPONS); this.type = RESET_LOAD_CUSTOMER_COUPONS; } } // Subscribe coupon notification actions export class SubscribeCustomerCoupon extends EntityLoadAction { constructor(payload) { super(PROCESS_FEATURE, SUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID); this.payload = payload; this.type = SUBSCRIBE_CUSTOMER_COUPON; } } export class SubscribeCustomerCouponFail extends EntityFailAction { constructor(payload) { super(PROCESS_FEATURE, SUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID, payload); this.payload = payload; this.type = SUBSCRIBE_CUSTOMER_COUPON_FAIL; } } export class SubscribeCustomerCouponSuccess extends EntitySuccessAction { constructor(payload) { super(PROCESS_FEATURE, SUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID, payload); this.payload = payload; this.type = SUBSCRIBE_CUSTOMER_COUPON_SUCCESS; } } export class ResetSubscribeCustomerCouponProcess extends EntityLoaderResetAction { constructor() { super(PROCESS_FEATURE, SUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID); this.type = RESET_SUBSCRIBE_CUSTOMER_COUPON_PROCESS; } } export class UnsubscribeCustomerCoupon extends EntityLoadAction { constructor(payload) { super(PROCESS_FEATURE, UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID); this.payload = payload; this.type = UNSUBSCRIBE_CUSTOMER_COUPON; } } export class UnsubscribeCustomerCouponFail extends EntityFailAction { constructor(payload) { super(PROCESS_FEATURE, UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID, payload); this.payload = payload; this.type = UNSUBSCRIBE_CUSTOMER_COUPON_FAIL; } } export class UnsubscribeCustomerCouponSuccess extends EntitySuccessAction { constructor(payload) { super(PROCESS_FEATURE, UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID, payload); this.payload = payload; this.type = UNSUBSCRIBE_CUSTOMER_COUPON_SUCCESS; } } export class ResetUnsubscribeCustomerCouponProcess extends EntityLoaderResetAction { constructor() { super(PROCESS_FEATURE, UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS_ID); this.type = RESET_UNSUBSCRIBE_CUSTOMER_COUPON_PROCESS; } } export class ClaimCustomerCoupon extends EntityLoadAction { constructor(payload) { super(PROCESS_FEATURE, CLAIM_CUSTOMER_COUPON_PROCESS_ID); this.payload = payload; this.type = CLAIM_CUSTOMER_COUPON; } } export class ClaimCustomerCouponFail extends EntityFailAction { constructor(payload) { super(PROCESS_FEATURE, CLAIM_CUSTOMER_COUPON_PROCESS_ID, payload); this.payload = payload; this.type = CLAIM_CUSTOMER_COUPON_FAIL; } } export class ClaimCustomerCouponSuccess extends EntitySuccessAction { constructor(payload) { super(PROCESS_FEATURE, CLAIM_CUSTOMER_COUPON_PROCESS_ID, payload); this.payload = payload; this.type = CLAIM_CUSTOMER_COUPON_SUCCESS; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItY291cG9uLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3VzZXIvc3RvcmUvYWN0aW9ucy9jdXN0b21lci1jb3Vwb24uYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsb0NBQW9DLEVBQ3BDLHNDQUFzQyxFQUN0QyxnQ0FBZ0MsR0FDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNsQixNQUFNLDJDQUEyQyxDQUFDO0FBTW5ELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixtQkFBbUIsR0FDcEIsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsOEJBQThCLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsbUNBQW1DLENBQUM7QUFDOUUsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQ3hDLHNDQUFzQyxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLG9DQUFvQyxDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUNwQywrQ0FBK0MsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FDekMsb0RBQW9ELENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQzVDLHVEQUF1RCxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUNsRCxnREFBZ0QsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FDdEMsaURBQWlELENBQUM7QUFDcEQsTUFB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U1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTX0lELFxuICBVTlNVQlNDUklCRV9DVVNUT01FUl9DT1VQT05fUFJPQ0VTU19JRCxcbiAgQ0xBSU1fQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1NfSUQsXG59IGZyb20gJy4uL3VzZXItc3RhdGUnO1xuaW1wb3J0IHtcbiAgTG9hZGVyTG9hZEFjdGlvbixcbiAgTG9hZGVyRmFpbEFjdGlvbixcbiAgTG9hZGVyU3VjY2Vzc0FjdGlvbixcbiAgTG9hZGVyUmVzZXRBY3Rpb24sXG59IGZyb20gJy4uLy4uLy4uL3N0YXRlL3V0aWxzL2xvYWRlci9sb2FkZXIuYWN0aW9uJztcbmltcG9ydCB7XG4gIEN1c3RvbWVyQ291cG9uU2VhcmNoUmVzdWx0LFxuICBDdXN0b21lckNvdXBvbk5vdGlmaWNhdGlvbixcbiAgQ3VzdG9tZXJDb3Vwb24yQ3VzdG9tZXIsXG59IGZyb20gJy4uLy4uLy4uL21vZGVsL2N1c3RvbWVyLWNvdXBvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBFbnRpdHlGYWlsQWN0aW9uLFxuICBFbnRpdHlMb2FkQWN0aW9uLFxuICBFbnRpdHlMb2FkZXJSZXNldEFjdGlvbixcbiAgRW50aXR5U3VjY2Vzc0FjdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vc3RhdGUvdXRpbHMvZW50aXR5LWxvYWRlci9lbnRpdHktbG9hZGVyLmFjdGlvbic7XG5pbXBvcnQgeyBQUk9DRVNTX0ZFQVRVUkUgfSBmcm9tICcuLi8uLi8uLi9wcm9jZXNzL3N0b3JlJztcblxuZXhwb3J0IGNvbnN0IExPQURfQ1VTVE9NRVJfQ09VUE9OUyA9ICdbVXNlcl0gTG9hZCBDdXN0b21lciBDb3Vwb25zJztcbmV4cG9ydCBjb25zdCBMT0FEX0NVU1RPTUVSX0NPVVBPTlNfRkFJTCA9ICdbVXNlcl0gTG9hZCBDdXN0b21lciBDb3Vwb25zIEZhaWwnO1xuZXhwb3J0IGNvbnN0IExPQURfQ1VTVE9NRVJfQ09VUE9OU19TVUNDRVNTID1cbiAgJ1tVc2VyXSBMb2FkIEN1c3RvbWVyIENvdXBvbnMgU3VjY2Vzcyc7XG5leHBvcnQgY29uc3QgUkVTRVRfTE9BRF9DVVNUT01FUl9DT1VQT05TID0gJ1tVc2VyXSBSZXNldCBMb2FkIEN1c3RvbWVyIENvdXBvbnMnO1xuXG5leHBvcnQgY29uc3QgU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTiA9XG4gICdbVXNlcl0gU3Vic2NyaWJlIEN1c3RvbWVyIE5vdGlmaWNhdGlvbiBDb3Vwb24nO1xuZXhwb3J0IGNvbnN0IFNVQlNDUklCRV9DVVNUT01FUl9DT1VQT05fRkFJTCA9XG4gICdbVXNlcl0gU3Vic2NyaWJlIEN1c3RvbWVyIENvdXBvbiBOb3RpZmljYXRpb24gRmFpbCc7XG5leHBvcnQgY29uc3QgU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9TVUNDRVNTID1cbiAgJ1tVc2VyXSBTdWJzY3JpYmUgQ3VzdG9tZXIgQ291cG9uIE5vdGlmaWNhdGlvbiBTdWNjZXNzJztcbmV4cG9ydCBjb25zdCBSRVNFVF9TVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1MgPVxuICAnW1VzZXJdIFJlc2V0IFN1YnNjcmliZSBDdXN0b21lciBDb3Vwb24gUHJvY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBVTlNVQlNDUklCRV9DVVNUT01FUl9DT1VQT04gPVxuICAnW1VzZXJdIFVuc3Vic2NyaWJlIEN1c3RvbWVyIE5vdGlmaWNhdGlvbiBDb3Vwb24nO1xuZXhwb3J0IGNvbnN0IFVOU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9GQUlMID1cbiAgJ1tVc2VyXSBVbnN1YnNjcmliZSBDdXN0b21lciBDb3Vwb24gTm90aWZpY2F0aW9uIEZhaWwnO1xuZXhwb3J0IGNvbnN0IFVOU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9TVUNDRVNTID1cbiAgJ1tVc2VyXSBVbnN1YnNjcmliZSBDdXN0b21lciBDb3Vwb24gTm90aWZpY2F0aW9uIFN1Y2Nlc3MnO1xuZXhwb3J0IGNvbnN0IFJFU0VUX1VOU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTID1cbiAgJ1tVc2VyXSBSZXNldCBVbnN1YnNjcmliZSBDdXN0b21lciBDb3Vwb24gUHJvY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBDTEFJTV9DVVNUT01FUl9DT1VQT04gPSAnW1VzZXJdIENsYWltIEN1c3RvbWVyJztcbmV4cG9ydCBjb25zdCBDTEFJTV9DVVNUT01FUl9DT1VQT05fRkFJTCA9ICdbVXNlcl0gQ2xhaW0gQ3VzdG9tZXIgRmFpbCc7XG5leHBvcnQgY29uc3QgQ0xBSU1fQ1VTVE9NRVJfQ09VUE9OX1NVQ0NFU1MgPSAnW1VzZXJdIENsYWltIEN1c3RvbWVyIFN1Y2Nlc3MnO1xuXG5leHBvcnQgY2xhc3MgTG9hZEN1c3RvbWVyQ291cG9ucyBleHRlbmRzIExvYWRlckxvYWRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gTE9BRF9DVVNUT01FUl9DT1VQT05TO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBwYWdlU2l6ZTogbnVtYmVyO1xuICAgICAgY3VycmVudFBhZ2U/OiBudW1iZXI7XG4gICAgICBzb3J0Pzogc3RyaW5nO1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoQ1VTVE9NRVJfQ09VUE9OUyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvYWRDdXN0b21lckNvdXBvbnNGYWlsIGV4dGVuZHMgTG9hZGVyRmFpbEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBMT0FEX0NVU1RPTUVSX0NPVVBPTlNfRkFJTDtcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xuICAgIHN1cGVyKENVU1RPTUVSX0NPVVBPTlMsIHBheWxvYWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2FkQ3VzdG9tZXJDb3Vwb25zU3VjY2VzcyBleHRlbmRzIExvYWRlclN1Y2Nlc3NBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gTE9BRF9DVVNUT01FUl9DT1VQT05TX1NVQ0NFU1M7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBDdXN0b21lckNvdXBvblNlYXJjaFJlc3VsdCkge1xuICAgIHN1cGVyKENVU1RPTUVSX0NPVVBPTlMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXNldExvYWRDdXN0b21lckNvdXBvbnMgZXh0ZW5kcyBMb2FkZXJSZXNldEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBSRVNFVF9MT0FEX0NVU1RPTUVSX0NPVVBPTlM7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKENVU1RPTUVSX0NPVVBPTlMpO1xuICB9XG59XG5cbi8vIFN1YnNjcmliZSBjb3Vwb24gbm90aWZpY2F0aW9uIGFjdGlvbnNcbmV4cG9ydCBjbGFzcyBTdWJzY3JpYmVDdXN0b21lckNvdXBvbiBleHRlbmRzIEVudGl0eUxvYWRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBheWxvYWQ6IHtcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgICAgY291cG9uQ29kZTogc3RyaW5nO1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1NfSUQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdWJzY3JpYmVDdXN0b21lckNvdXBvbkZhaWwgZXh0ZW5kcyBFbnRpdHlGYWlsQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFNVQlNDUklCRV9DVVNUT01FUl9DT1VQT05fRkFJTDtcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTX0lELCBwYXlsb2FkKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlQ3VzdG9tZXJDb3Vwb25TdWNjZXNzIGV4dGVuZHMgRW50aXR5U3VjY2Vzc0FjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBTVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1NVQ0NFU1M7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBDdXN0b21lckNvdXBvbk5vdGlmaWNhdGlvbikge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTX0lELCBwYXlsb2FkKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVzZXRTdWJzY3JpYmVDdXN0b21lckNvdXBvblByb2Nlc3MgZXh0ZW5kcyBFbnRpdHlMb2FkZXJSZXNldEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBSRVNFVF9TVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1M7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5zdWJzY3JpYmVDdXN0b21lckNvdXBvbiBleHRlbmRzIEVudGl0eUxvYWRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gVU5TVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjb3Vwb25Db2RlOiBzdHJpbmc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFVOU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5zdWJzY3JpYmVDdXN0b21lckNvdXBvbkZhaWwgZXh0ZW5kcyBFbnRpdHlGYWlsQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFVOU1VCU0NSSUJFX0NVU1RPTUVSX0NPVVBPTl9GQUlMO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBVTlNVQlNDUklCRV9DVVNUT01FUl9DT1VQT05fUFJPQ0VTU19JRCwgcGF5bG9hZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVuc3Vic2NyaWJlQ3VzdG9tZXJDb3Vwb25TdWNjZXNzIGV4dGVuZHMgRW50aXR5U3VjY2Vzc0FjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBVTlNVQlNDUklCRV9DVVNUT01FUl9DT1VQT05fU1VDQ0VTUztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgVU5TVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1NfSUQsIHBheWxvYWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXNldFVuc3Vic2NyaWJlQ3VzdG9tZXJDb3Vwb25Qcm9jZXNzIGV4dGVuZHMgRW50aXR5TG9hZGVyUmVzZXRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gUkVTRVRfVU5TVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1M7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgVU5TVUJTQ1JJQkVfQ1VTVE9NRVJfQ09VUE9OX1BST0NFU1NfSUQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDbGFpbUN1c3RvbWVyQ291cG9uIGV4dGVuZHMgRW50aXR5TG9hZEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBDTEFJTV9DVVNUT01FUl9DT1VQT047XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGNvdXBvbkNvZGU7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIENMQUlNX0NVU1RPTUVSX0NPVVBPTl9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2xhaW1DdXN0b21lckNvdXBvbkZhaWwgZXh0ZW5kcyBFbnRpdHlGYWlsQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IENMQUlNX0NVU1RPTUVSX0NPVVBPTl9GQUlMO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBDTEFJTV9DVVNUT01FUl9DT1VQT05fUFJPQ0VTU19JRCwgcGF5bG9hZCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsYWltQ3VzdG9tZXJDb3Vwb25TdWNjZXNzIGV4dGVuZHMgRW50aXR5U3VjY2Vzc0FjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBDTEFJTV9DVVNUT01FUl9DT1VQT05fU1VDQ0VTUztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEN1c3RvbWVyQ291cG9uMkN1c3RvbWVyKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBDTEFJTV9DVVNUT01FUl9DT1VQT05fUFJPQ0VTU19JRCwgcGF5bG9hZCk7XG4gIH1cbn1cblxuLy8gYWN0aW9uIHR5cGVzXG5leHBvcnQgdHlwZSBDdXN0b21lckNvdXBvbkFjdGlvbiA9XG4gIHwgTG9hZEN1c3RvbWVyQ291cG9uc1xuICB8IExvYWRDdXN0b21lckNvdXBvbnNGYWlsXG4gIHwgTG9hZEN1c3RvbWVyQ291cG9uc1N1Y2Nlc3NcbiAgfCBSZXNldExvYWRDdXN0b21lckNvdXBvbnNcbiAgfCBTdWJzY3JpYmVDdXN0b21lckNvdXBvblxuICB8IFN1YnNjcmliZUN1c3RvbWVyQ291cG9uRmFpbFxuICB8IFN1YnNjcmliZUN1c3RvbWVyQ291cG9uU3VjY2Vzc1xuICB8IFJlc2V0U3Vic2NyaWJlQ3VzdG9tZXJDb3Vwb25Qcm9jZXNzXG4gIHwgVW5zdWJzY3JpYmVDdXN0b21lckNvdXBvblxuICB8IFVuc3Vic2NyaWJlQ3VzdG9tZXJDb3Vwb25GYWlsXG4gIHwgVW5zdWJzY3JpYmVDdXN0b21lckNvdXBvblN1Y2Nlc3NcbiAgfCBSZXNldFVuc3Vic2NyaWJlQ3VzdG9tZXJDb3Vwb25Qcm9jZXNzXG4gIHwgQ2xhaW1DdXN0b21lckNvdXBvblxuICB8IENsYWltQ3VzdG9tZXJDb3Vwb25GYWlsXG4gIHwgQ2xhaW1DdXN0b21lckNvdXBvblN1Y2Nlc3M7XG4iXX0=