New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@hmcts/ccpay-web-component

Package Overview
Dependencies
Maintainers
19
Versions
1276
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hmcts/ccpay-web-component - npm Package Compare versions

Comparing version

to
2.0.21

2

bundles/hmcts-ccpay-web-component.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("rxjs/observable/throw"),require("@angular/common/http"),require("rxjs/operators"),require("@angular/forms"),require("@angular/platform-browser"),require("@angular/common")):"function"==typeof define&&define.amd?define("@hmcts/ccpay-web-component",["exports","@angular/core","@angular/router","rxjs/observable/throw","@angular/common/http","rxjs/operators","@angular/forms","@angular/platform-browser","@angular/common"],t):t((e.hmcts=e.hmcts||{},e.hmcts["ccpay-web-component"]={}),e.ng.core,e.ng.router,e.rxjs["observable/throw"],e.ng.common.http,e.rxjs.operators,e.ng.forms,e.ng.platformBrowser,e.ng.common)}(this,function(e,r,t,n,o,a,s,i,c){"use strict";var l=function(){function e(){}return e.prototype.setApiRootUrl=function(e){this.API_ROOT=e},e.prototype.getApiRootUrl=function(){return this.API_ROOT},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),d=function(){function e(e,t){this.router=e,this.paymentLibService=t}return e.prototype.ngOnInit=function(){this.paymentLibService.setApiRootUrl(this.API_ROOT),this.PAYMENT_GROUP_REF&&(this.paymentGroupReference=this.PAYMENT_GROUP_REF),"fee-summary"===this.VIEW?this.viewName="fee-summary":this.viewName="case-transactions"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-lib",template:'\n <ccpay-payment-list *ngIf="viewName === \'payment-list\'"></ccpay-payment-list>\n <ccpay-payment-view *ngIf="viewName === \'payment-view\'"></ccpay-payment-view>\n <ccpay-case-transactions *ngIf="viewName === \'case-transactions\'"></ccpay-case-transactions>\n <ccpay-fee-summary *ngIf="viewName === \'fee-summary\'"\n [ccdCaseNumber]="CCD_CASE_NUMBER" [paymentGroupRef]="paymentGroupReference"></ccpay-fee-summary>\n '}]}],e.ctorParameters=function(){return[{type:t.Router},{type:l}]},e.propDecorators={API_ROOT:[{type:r.Input,args:["API_ROOT"]}],CCD_CASE_NUMBER:[{type:r.Input,args:["CCD_CASE_NUMBER"]}],PAYMENT_METHOD:[{type:r.Input,args:["PAYMENT_METHOD"]}],VIEW:[{type:r.Input,args:["VIEW"]}],PAYMENT_GROUP_REF:[{type:r.Input,args:["PAYMENT_GROUP_REF"]}],TAKEPAYMENT:[{type:r.Input,args:["TAKEPAYMENT"]}]},e}(),u=function(){function e(){}return e.prototype.handleError=function(e){var t;return t=e.error instanceof Error?"An error occurred: "+e.error.message:404===e.status?e.error?e.error:"Not found":e.error.messsage===undefined?"Server error":""+e.error.message,n._throw(t)},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),m=function(){function e(){}return e.prototype.invokeConsoleMethod=function(e,t){},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),p=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getPaymentByCcdCaseNumber=function(e,t){return this.logger.info("Payment-list-service getPaymentByCcdCaseNumber for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/cases/"+e+"/payments",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),y=function(){function e(e,t){this.paymentListService=e,this.paymentLibComponent=t}return e.prototype.ngOnInit=function(){var t=this;this.paymentListService.getPaymentByCcdCaseNumber(this.paymentLibComponent.CCD_CASE_NUMBER,this.paymentLibComponent.PAYMENT_METHOD).subscribe(function(e){return t.payments=e},function(e){return t.errorMessage=e})},e.prototype.loadPaymentViewComponent=function(e,t,n){this.paymentLibComponent.paymentMethod=n,this.paymentLibComponent.paymentGroupReference=e,this.paymentLibComponent.paymentReference=t,this.paymentLibComponent.viewName="payment-view"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-list",template:'<div class="govuk-width-container">\n\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payments list could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf="!errorMessage && payments">\n\n <table class="table">\n <tr>\n <th class="bold font-xsmall">Payment Group reference</th>\n <th class="bold font-xsmall">Payment reference</th>\n <th class="bold font-xsmall">Date created</th>\n <th class="bold font-xsmall">Channel</th>\n <th class="bold font-xsmall">Method</th>\n <th class="bold font-xsmall">Amount</th>\n <th class="bold font-xsmall">Status</th>\n </tr>\n <tr *ngFor="let payment of payments.payments">\n <td class="font-xsmall">\n <a href="javascript:void(0)" (click)="loadPaymentViewComponent(payment.payment_group_reference, payment.payment_reference, payment.method)">{{ payment.payment_group_reference }}</a>\n <td class="font-xsmall">{{ payment.payment_reference }}</td>\n <td class="font-xsmall">{{ payment.date_created | date:\'dd MMM yyyy hh:mm:ss\' }}</td>\n <td class="font-xsmall">{{ payment.channel | titlecase }}</td>\n <td class="font-xsmall">{{ payment.method | titlecase }}</td>\n <td class="font-xsmall">£{{ payment.amount | number:\'.2\' }}</td>\n <td *ngIf="payment.method === \'card\' && payment.channel === \'online\'">\n <details>\n <summary><span class="summary font-xsmall">{{ payment.status }}</span></summary>\n <div class="panel panel-border-narrow" *ngIf="payment.status === \'Failed\'">\n <div *ngFor="let statusHistory of payment.status_histories">\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0010\'">\n Payment rejected due to payment method selected or payment information entered, for example, failed fraud check, a 3D Secure authentication failure, or the user does not have enough money in account\n </p>\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0020\'">\n Payment was not confirmed and completed within 90 minutes of being created\n </p>\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0030\'">\n User clicked on the “Cancel payment” button during the payment journey\n </p>\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0050\'">\n Multiple possible causes, for example a configuration problem with the payment provider, or incorrect login credentials\n </p>\n </div>\n </div>\n </details>\n </td>\n <td *ngIf="payment.method === \'card\' && payment.channel === \'telephony\'" class="font-xsmall">\n {{ payment.status}}\n </td>\n <td *ngIf="payment.method === \'payment by account\'">\n <details>\n <summary><span class="summary font-xsmall">{{ payment.status }}</span></summary>\n <div class="panel panel-border-narrow" *ngIf="payment.status === \'Pending\'">\n <p class="font-xsmall">This means the transaction is being processed by Liberata.</p>\n </div>\n </details>\n </td>\n </tr>\n </table>\n\n </div>\n\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:p},{type:d}]},e}(),g=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.addHeaders=function(t){var n={};if(t.headers&&t.headers.forEach(function(e){n[e]=t.headers.get(e)}),n["X-Requested-With"]="XMLHttpRequest",this.meta&&this.meta.getTag("name=csrf-token")){var e=this.meta.getTag("name=csrf-token");n["CSRF-Token"]=e.content}return t.headers=new o.HttpHeaders(n),t.responseType="text",t},e.prototype.getPaymentDetails=function(e,t){return this.logger.info("Payment-view-service getPaymentDetails for: ",e),this.http.get("card"===t?this.paymentLibService.API_ROOT+"/card-payments/"+e:this.paymentLibService.API_ROOT+"/credit-account-payments/"+e,{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.prototype.getPaymentGroupDetails=function(e,t){return this.logger.info("Payment-view-service getPaymentGroupDetails for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/payment-groups/"+e,{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.prototype.postPaymentGroupWithRemissions=function(e,t,n){return this.http.post(this.paymentLibService.API_ROOT+"/payment-groups/"+e+"/fees/"+t+"/remissions",n).pipe(a.catchError(this.errorHandlerService.handleError))},e.prototype.postPaymentToPayHub=function(e){var t={};return this.addHeaders(t),this.http.post(this.paymentLibService.API_ROOT+"/send-to-payhub",e,t).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),b=function(){function e(e,t){this.paymentViewService=e,this.paymentLibComponent=t}return e.prototype.ngOnInit=function(){var t=this;this.paymentViewService.getPaymentGroupDetails(this.paymentLibComponent.paymentGroupReference,this.paymentLibComponent.paymentMethod).subscribe(function(e){return t.paymentGroup=e},function(e){return t.errorMessage=e})},Object.defineProperty(e.prototype,"isCardPayment",{get:function(){return"card"===this.paymentGroup.payments[0].method},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isTelephonyPayment",{get:function(){return"telephony"===this.paymentGroup.payments[0].channel},enumerable:!0,configurable:!0}),e.prototype.goToPaymentList=function(){this.paymentLibComponent.viewName="payment-list"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-view",template:'<div class="govuk-width-container">\n\n <div class="govuk-breadcrumbs">\n <ol class="govuk-breadcrumbs__list">\n <li class="govuk-breadcrumbs__list-item">\n <a href="javascript:void(0)" (click)="goToPaymentList()" class="govuk-back-link">Back to payments</a>\n </li>\n </ol>\n </div>\n\n <main class="govuk-main-wrapper " id="main-content" role="main">\n\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payment details could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf="!errorMessage && paymentGroup">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h2 class="govuk-heading-m">Payment details</h2>\n </div>\n </div>\n\n <table>\n <tbody>\n <tr class="section">\n <td class="bold" width="330px">Payment group reference</td>\n <td>{{ paymentGroup.payment_group_reference }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Payment reference</td>\n <td>{{ paymentGroup.payments[0].reference }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Total payment amount</td>\n <td>£{{ paymentGroup.payments[0].amount | number:\'.2\' }}</td>\n </tr>\n </tbody>\n </table>\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h2 class="heading-medium">Fee and remission details</h2>\n </div>\n </div>\n\n <div *ngFor="let fee of paymentGroup.fees">\n <table class="table">\n <tbody>\n <tr class="section">\n <td class="bold" width="330px">Description</td>\n <td>Application for {{ paymentGroup.payments[0].service_name }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Fee code</td>\n <td>{{ fee.code }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Fee amount</td>\n <td>£{{ fee.calculated_amount | number:\'.2\' }}</td>\n </tr>\n <tr *ngIf="fee.net_amount">\n <td class="bold" width="330px">Net amount</td>\n <td>£{{ fee.net_amount | number:\'.2\' }}</td>\n </tr>\n <tr *ngIf="paymentGroup.remissions?.length > 0">\n <td class="bold" width="330px">Remission code</td>\n <td>{{paymentGroup.remissions[0].hwf_reference}}</td>\n </tr>\n <tr *ngIf="paymentGroup.remissions?.length > 0">\n <td class="bold" width="330px">Remission amount</td>\n <td>£{{ paymentGroup.remissions[0].hwf_amount | number:\'.2\'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n \x3c!-- card details --\x3e\n <ccpay-card-details *ngIf="isCardPayment && !isTelephonyPayment"></ccpay-card-details>\n\n \x3c!-- pba details --\x3e\n <ccpay-pba-details *ngIf="!isCardPayment" [payment]="paymentGroup.payments[0]"></ccpay-pba-details>\n\n \x3c!-- Status histories --\x3e\n <ccpay-payment-statuses></ccpay-payment-statuses>\n\n </div>\n\n </main>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:g},{type:d}]},e}(),h=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getCardDetails=function(e){return this.logger.info("Card-detail-service getCardDetails for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/card-payments/"+e+"/details",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),f=function(){function e(e,t){this.cardDetailsService=e,this.paymentLibComponent=t,this.pageTitle="Card details"}return e.prototype.ngOnInit=function(){var t=this;this.cardDetailsService.getCardDetails(this.paymentLibComponent.paymentReference).subscribe(function(e){return t.cardDetails=e},function(e){return t.errorMessage=e})},Object.defineProperty(e.prototype,"getPaymentReference",{get:function(){return this.paymentReference},enumerable:!0,configurable:!0}),e.decorators=[{type:r.Component,args:[{selector:"ccpay-card-details",template:'\n<div class="column">\n <h2 class="heading-medium">Payment method</h2>\n</div>\n\n<div role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1" *ngIf="errorMessage">\n Payment method unavailable, The payment has either expired or unsuccessful.\n</div>\n\n<div *ngIf="!errorMessage && cardDetails">\n\n<table>\n <tbody>\n <tr>\n <td class="bold" width="330px">Method</td>\n <td>Card</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Type</td>\n <td>{{ cardDetails.card_brand }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Name on card</td>\n <td>{{ cardDetails.cardholder_name }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Card number</td>\n <td>**** **** **** {{ cardDetails.last_digits_card_number }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Card expiry date</td>\n <td>{{ cardDetails.expiry_date}}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Email</td>\n <td>{{ cardDetails.email }}</td>\n </tr>\n </tbody>\n</table>\n</div>\n\n\n\n\x3c!--<div class="container">--\x3e\n \x3c!--<fieldset class="col-md-12">--\x3e\n \x3c!--<button class="button" routerLink="/payment-view/{{ getPaymentReference }}">Back</button>--\x3e\n \x3c!--</fieldset>--\x3e\n\x3c!--</div>--\x3e\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:h},{type:d}]},e}(),v=function(){function e(){}return e.decorators=[{type:r.Component,args:[{template:"\n <h1>This is not the page you were looking for!</h1>\n "}]}],e}(),_=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getPaymentStatusesByReference=function(e,t){return this.logger.info("Status-history-service getPaymentStatusesByReference for: ",e),this.http.get("card"===t?this.paymentLibService.API_ROOT+"/card-payments/"+e+"/statuses":this.paymentLibService.API_ROOT+"/credit-account-payments/"+e+"/statuses",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),k=function(){function e(e,t){this.statusHistoryService=e,this.paymentLibComponent=t,this.pageTitle="Payment status history"}return e.prototype.ngOnInit=function(){var t=this;this.statusHistoryService.getPaymentStatusesByReference(this.paymentLibComponent.paymentReference,this.paymentLibComponent.paymentMethod).subscribe(function(e){return t.statuses=e},function(e){return t.errorMessage=e})},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-statuses",template:'<div class="column">\n <h2 class="heading-medium">{{ pageTitle }}</h2>\n</div>\n\n\n<div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1" *ngIf="errorMessage">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payment status history could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf="!errorMessage && statuses">\n <table>\n <tbody>\n <tr *ngFor="let status of statuses.status_histories">\n <td class="bold">Payment {{ status.status }}</td>\n <td>£{{ statuses.amount | number:\'.2\' }}</td>\n <td>{{ status.date_created | date:\'dd MMM yyyy hh:mm:ss\'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:_},{type:d}]},e}(),w=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:r.Component,args:[{selector:"ccpay-pba-details",template:'<div class="grid-row">\n <div class="column">\n <h2 class="heading-medium">Payment method</h2>\n </div>\n</div>\n\n\n<div>\n <table>\n <tbody>\n <tr>\n <td class="bold" width="330px">Method</td>\n <td>{{ payment.method | titlecase }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Type</td>\n <td>Credit</td>\n </tr>\n <tr>\n <td class="bold" width="330px">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[]},e.propDecorators={payment:[{type:r.Input}]},e}(),C=function(){return undefined},P=function(){function e(){}return Object.defineProperty(e.prototype,"info",{get:function(){return C},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"warn",{get:function(){return C},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return C},enumerable:!0,configurable:!0}),e.prototype.invokeConsoleMethod=function(e,t){(console[e]||console.log||C).apply(console,[t])},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),I=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getPaymentGroups=function(e){return this.logger.info("Case-transactions-service getPaymentGroups for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/cases/"+e+"/paymentgroups",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),x=function(){function e(e,t,n){this.router=e,this.caseTransactionsService=t,this.paymentLibComponent=n,this.paymentGroups=[],this.payments=[],this.remissions=[],this.fees=[]}return e.prototype.ngOnInit=function(){var t=this;this.ccdCaseNumber=this.paymentLibComponent.CCD_CASE_NUMBER,this.takePayment=this.paymentLibComponent.TAKEPAYMENT,this.caseTransactionsService.getPaymentGroups(this.ccdCaseNumber).subscribe(function(e){t.paymentGroups=e.payment_groups,t.calculateAmounts()},function(e){t.errorMessage=e,t.setDefaults()})},e.prototype.setDefaults=function(){this.totalPayments=0,this.totalRemissions=0,this.totalFees=0},e.prototype.calculateAmounts=function(){var t=this,n=0,r=0,o=0;this.paymentGroups.forEach(function(e){e.fees&&e.fees.forEach(function(e){n+=e.calculated_amount,t.fees.push(e)}),t.totalFees=n,e.payments&&e.payments.forEach(function(e){"SUCCESS"===e.status.toUpperCase()&&(r+=e.amount,t.payments.push(e))}),t.totalPayments=r,e.remissions&&e.remissions.forEach(function(e){o+=e.hwf_amount,t.remissions.push(e)}),t.totalRemissions=o})},e.prototype.getGroupOutstandingAmount=function(e){var t=0,n=0,r=0;return e.fees&&e.fees.forEach(function(e){t+=e.calculated_amount}),e.payments&&e.payments.forEach(function(e){"SUCCESS"===e.status.toUpperCase()&&(n+=e.amount)}),e.remissions&&e.remissions.forEach(function(e){r+=e.hwf_amount}),t-r-n},e.prototype.redirectToFeeSearchPage=function(e){e.preventDefault(),this.router.navigateByUrl("/fee-search?ccdCaseNumber="+this.ccdCaseNumber)},e.prototype.loadFeeSummaryPage=function(e){this.paymentLibComponent.paymentGroupReference=e.payment_group_reference,this.paymentLibComponent.viewName="fee-summary"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-case-transactions",template:'<div class="govuk-width-container">\n <div class="govuk-breadcrumbs govuk-!-padding-bottom-1">\n <ol class="govuk-breadcrumbs__list">\n <li class="govuk-breadcrumbs__list-item">\n <a [href]="\'/ccd-search\'" class="govuk-back-link">Back to case search</a>\n </li>\n </ol>\n </div>\n <main class="govuk-main-wrapper">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <h1 class="govuk-heading-xl">Case transactions</h1>\n </div>\n\n <div class="govuk-grid-column-one-third" align="right" *ngIf="takePayment">\n <a (click)="redirectToFeeSearchPage($event)" class="button">Add a new fee</a>\n </div>\n </div>\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds govuk-!-padding-bottom-6">\n <h3 class="heading-medium">CCD case reference number:</h3>\n <span>{{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div class="govuk-grid-column-full govuk-!-padding-bottom-3">\n <hr class="govuk-section-break govuk-section-break--visible">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Total payments</td>\n <td class="govuk-table__header" scope="col">Total remissions</td>\n <td class="govuk-table__header" scope="col">Outstanding balance</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell">{{ totalPayments | currency :\'GBP\':\'symbol\':\'1.2-2\' }}</td>\n <td class="govuk-table__cell">{{ totalRemissions | currency :\'GBP\':\'symbol\':\'1.2-2\' }}</td>\n <td class="govuk-table__cell">{{ (totalFees - totalRemissions) - totalPayments | currency :\'GBP\':\'symbol\':\'1.2-2\'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n\n \x3c!-- No fees start --\x3e\n <div *ngIf="paymentGroups?.length === 0">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h3 class="heading-medium">Fees</h3>\n </div>\n\n <div class="govuk-grid-column-two-thirds" align="left">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Code</td>\n <td class="govuk-table__header" scope="col">Description</td>\n <td class="govuk-table__header" scope="col">Volume</td>\n <td class="govuk-table__header" scope="col">Fee total</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell" colspan="4">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class="govuk-grid-column-one-third" align="right">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell">£0.00</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n \x3c!-- No fees end --\x3e\n\n <div *ngFor="let paymentGroup of paymentGroups">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h2 class="heading-large">Fees</h2>\n </div>\n\n <div class="govuk-grid-column-two-thirds" align="left">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Code</td>\n <td class="govuk-table__header" scope="col">Description</td>\n <td class="govuk-table__header" scope="col">Volume</td>\n <td class="govuk-table__header" scope="col">Fee total</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let fee of paymentGroup.fees">\n <td class="govuk-table__cell">{{ fee.code }}</td>\n <td class="govuk-table__cell">{{ fee.description }}</td>\n <td class="govuk-table__cell">{{ fee.volume }}</td>\n <td class="govuk-table__cell">{{ fee.calculated_amount }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class="govuk-grid-column-one-third" align="right">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell">{{ getGroupOutstandingAmount(paymentGroup) | currency :\'GBP\':\'symbol\':\'1.2-2\' }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <div class="govuk-inset-text" *ngIf="paymentGroup.payments || paymentGroup.remissions">\n \x3c!-- payments --\x3e\n <table class="govuk-table">\n <caption class="heading-medium headgovuk-table__caption">Payments</caption>\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Payment reference</td>\n <td class="govuk-table__header" scope="col">Date created</td>\n <td class="govuk-table__header" scope="col">Channel</td>\n <td class="govuk-table__header" scope="col">Method</td>\n <td class="govuk-table__header" scope="col">Amount</td>\n <td class="govuk-table__header" scope="col">Status</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.payments?.length > 0">\n <tr class="govuk-table__row" *ngFor="let payment of paymentGroup.payments">\n <td class="govuk-table__cell">{{ payment.reference }}</td>\n <td class="govuk-table__cell">{{ payment.date_created | date:\'dd MMM yyyy hh:mm:ss\' }}</td>\n <td class="govuk-table__cell">{{ payment.channel }}</td>\n <td class="govuk-table__cell">{{ payment.method }}</td>\n <td class="govuk-table__cell">{{ payment.amount }}</td>\n <td class="govuk-table__cell">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.payments?.length === 0">\n <td class="govuk-table__cell" colspan="6">No payments recorded</td>\n </tbody>\n </table>\n\n \x3c!-- remissions --\x3e\n <table class="govuk-table">\n <caption class="heading-medium headgovuk-table__caption">Remissions</caption>\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Remission reference</td>\n <td class="govuk-table__header" scope="col">Date created</td>\n <td class="govuk-table__header" scope="col">Remission code</td>\n <td class="govuk-table__header" scope="col">Fee applied against</td>\n <td class="govuk-table__header" scope="col">Remission amount</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.remissions?.length > 0">\n <tr class="govuk-table__row" *ngFor="let remission of paymentGroup.remissions">\n <td class="govuk-table__cell">{{ remission.remission_reference }}</td>\n <td class="govuk-table__cell">{{ remission.date_created | date:\'dd MMM yyyy hh:mm:ss\' }}</td>\n <td class="govuk-table__cell">{{ remission.hwf_reference }}</td>\n <td class="govuk-table__cell">{{ remission.fee_code }}</td>\n <td class="govuk-table__cell">{{ remission.hwf_amount }}</td>\n </tr>\n </tbody>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.remissions?.length === 0">\n <td class="govuk-table__cell" colspan="5">No remissions recorded</td>\n </tbody>\n </table>\n\n <div *ngIf="takePayment">\n <button type="submit" (click)="loadFeeSummaryPage(paymentGroup)"\n [disabled]="getGroupOutstandingAmount(paymentGroup) === 0"\n [ngClass]=\'getGroupOutstandingAmount(paymentGroup) === 0 ? "button button--disabled govuk-!-margin-right-1" : "button govuk-!-margin-right-1"\'>\n Add payment\n </button>\n\n <button type="submit" disabled="disabled" aria-disabled="true" class="button button--disabled">\n Add remission\n </button>\n </div>\n </div>\n </div>\n </main>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:t.Router},{type:I},{type:d}]},e}();function R(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var S=function(e,t){this.currency="GBP",this.site_id="AA02",this.description="PayBubble payment",this.channel="telephony",this.provider="pci pal",this.service="DIVORCE",this.ccd_case_number=e,this.amount=t},G=function(){function e(e,t){this.paymentViewService=e,this.paymentLibComponent=t,this.viewStatus="main"}return e.prototype.ngOnInit=function(){var i=this;this.viewStatus="main",this.paymentViewService.getPaymentGroupDetails(this.paymentGroupRef,this.paymentLibComponent.paymentMethod).subscribe(function(e){if(i.paymentGroup=e,i.totalFee=0,i.paymentGroup.fees)try{for(var t=R(i.paymentGroup.fees),n=t.next();!n.done;n=t.next()){var r=n.value;i.totalFee=i.totalFee+r.net_amount}}catch(s){o={error:s}}finally{try{n&&!n.done&&(a=t["return"])&&a.call(t)}finally{if(o)throw o.error}}var o,a},function(e){return i.errorMessage=e})},e.prototype.getRemissionByFeeCode=function(e){if(this.paymentGroup&&this.paymentGroup.remissions&&0<this.paymentGroup.remissions.length)try{for(var t=R(this.paymentGroup.remissions),n=t.next();!n.done;n=t.next()){var r=n.value;if(r.fee_code===e)return r}}catch(s){o={error:s}}finally{try{n&&!n.done&&(a=t["return"])&&a.call(t)}finally{if(o)throw o.error}}return null;var o,a},e.prototype.addRemission=function(e){this.currentFee=e,this.viewStatus="add_remission"},e.prototype.cancelRemission=function(){this.viewStatus="main"},e.prototype.takePayment=function(){var t=this,e=new S(this.ccdCaseNumber,this.totalFee);this.paymentViewService.postPaymentToPayHub(e).subscribe(function(e){t.payhubHtml=e,t.viewStatus="payhub_view"},function(e){t.errorMessage=e})},e.decorators=[{type:r.Component,args:[{selector:"ccpay-fee-summary",template:' \n<div class="govuk-breadcrumbs">\n <ol class="govuk-breadcrumbs__list">\n <li class="govuk-breadcrumbs__list-item">\n <a [href]="\'/fee-search\'" class="govuk-back-link govuk-label">Back</a>\n </li>\n </ol>\n</div>\n\n<div class="fee-summary" *ngIf="viewStatus === \'main\'">\n <h1 class="heading-large">Fee Summary</h1>\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payment Group details could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n \n <table class="govuk-table" *ngIf="!errorMessage && paymentGroup">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col">Fee Code</th>\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col">Fee description</th>\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col">Remission code</th>\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col"></th>\n </tr>\n </thead>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.fees">\n <tr class="govuk-table__row" *ngFor="let fee of paymentGroup.fees">\n <td class="govuk-table__cell">{{ fee.code }}</td>\n <td class="govuk-table__cell">{{ fee.description }}</td>\n <td class="govuk-table__cell">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class="govuk-table__cell grey-text">\n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Fee amount:</td>\n <td class="no-border subcolumn-2">{{ fee.calculated_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n <td class="no-border subcolumn-3"><a href="">remove fee</a></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Volume:</td>\n <td class="no-border subcolumn-2">{{ fee.volume }}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Fee total:</td>\n <td class="no-border subcolumn-2">{{ fee.calculated_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Remission amount:</td>\n <td class="no-border subcolumn-2">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\') : \'-\' }}</td>\n <td class="no-border subcolumn-3"> <a *ngIf="getRemissionByFeeCode(fee.code) === null" (click)="addRemission(fee)">add remission</a></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Total after remission:</td>\n <td class="no-border subcolumn-2">{{ fee.net_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"> \n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="no-border govuk-!-font-weight-bold subcolumn-1">Total to be paid</td>\n <td class="no-border subcolumn-2">{{ totalFee | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\'}}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n <tr class="govuk-table__row">\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"> \n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="no-border subcolumn-2"> \n <button type="submit" (click)="takePayment()"\n [disabled]="totalFee <= 0"\n [ngClass]=\'totalFee <= 0 ? "button button--disabled govuk-!-margin-right-1" : "button govuk-!-margin-right-1"\'>\n Take payment\n </button></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n<ccpay-add-remission *ngIf="viewStatus === \'add_remission\' && currentFee" [fee]="currentFee" [ccdCaseNumber]="ccdCaseNumber" [paymentGroupRef]="paymentGroupRef" (cancelRemission)="cancelRemission()"></ccpay-add-remission>\n<div *ngIf="viewStatus === \'payhub_view\' && payhubHtml" [innerHTML]="payhubHtml | sanitizeHtml" id="payhub-html-id"></div>',styles:[".fee-summary .grey-text{color:#6b7376;font-weight:500}.fee-summary .govuk-table{margin-bottom:0}.fee-summary .no-border{border:none;border-bottom:none}.fee-summary table td,.fee-summary table th{font-size:15px;font-weight:500;vertical-align:top;max-width:320px}.fee-summary table td .no-padding,.fee-summary table th .no-padding{padding:0}.fee-summary table td .subcolumn-1,.fee-summary table th .subcolumn-1{width:45%}.fee-summary table td .subcolumn-2,.fee-summary table th .subcolumn-2{width:25%;text-align:right}.fee-summary table td .subcolumn-3,.fee-summary table th .subcolumn-3{width:30%;text-align:center}"]}]}],e.ctorParameters=function(){return[{type:g},{type:d}]},e.propDecorators={paymentGroupRef:[{type:r.Input}],ccdCaseNumber:[{type:r.Input}]},e}(),E=function(e,t,n,r){this.site_id="AA02",this.ccd_case_number=e,this.fee=t,this.hwf_amount=n,this.hwf_reference=r},M=function(){function e(e,t,n){this.formBuilder=e,this.paymentViewService=t,this.paymentLibComponent=n,this.cancelRemission=new r.EventEmitter,this.hasErrors=!1,this.viewStatus="main",this.errorMessage=null,this.remissionCodeHasError=!1,this.amountHasError=!1}return e.prototype.ngOnInit=function(){this.remissionForm=this.formBuilder.group({remissionCode:new s.FormControl("",s.Validators.compose([s.Validators.required,s.Validators.pattern("^([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})$")])),amount:new s.FormControl("",s.Validators.compose([s.Validators.required,s.Validators.pattern("^[0-9]+(\\.[0-9]{2})?$")]))}),this.viewStatus="main"},e.prototype.addRemission=function(){this.resetRemissionForm(),this.remissionForm.dirty&&this.remissionForm.valid?this.viewStatus="confirmation":(this.remissionForm.controls.remissionCode.invalid&&(this.remissionCodeHasError=!0),this.remissionForm.controls.amount.invalid&&(this.amountHasError=!0))},e.prototype.resetRemissionForm=function(){this.remissionCodeHasError=!1,this.amountHasError=!1},e.prototype.confirmRemission=function(){var t=this,e=this.remissionForm.controls.amount.value,n=this.fee.net_amount-e,r=new E(this.ccdCaseNumber,this.fee,n,this.remissionForm.controls.remissionCode.value);this.paymentViewService.postPaymentGroupWithRemissions(this.paymentGroupRef,this.fee.id,r).subscribe(function(e){e.success&&(t.paymentLibComponent.viewName="case-transactions")},function(e){t.errorMessage=e})},e.decorators=[{type:r.Component,args:[{selector:"ccpay-add-remission",template:'<div class="add-remission">\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Error in processing the request\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n <ng-container *ngIf="viewStatus === \'main\'">\n <h1 class="heading-large">Add remission</h1>\n <form novalidate>\n <div class="govuk-form-group">\n <form [formGroup]="remissionForm" novalidate>\n <div class="govuk-form-group" [ngClass]="{\'form-group-error\': remissionCodeHasError}">\n <label class="govuk-label govuk-label--s" for="remission-code">\n Add remission to {{ fee.code }}:{{ fee.description }}\n <span class="form-hint" [ngClass]="{\'inline-error-message\': remissionCodeHasError}">Enter remission for reference. For example: HWF-A1B-23C</span>\n </label>\n <input class="govuk-input govuk-input--width-20 govuk-!-margin-right-1" id="remissionCode" name="remissionCode" type="text" formControlName="remissionCode">\n </div>\n <div class="govuk-form-group" [ngClass]="{\'form-group-error\': amountHasError}">\n <label class="govuk-label govuk-label--s" [ngClass]="{\'inline-error-message\': amountHasError}" for="amount">\n How much does the applicant need to pay?\n </label>\n \n <div id="amount-currency" class="govuk-visually-hidden">in pounds</div>\n <div class="hmcts-currency-input">\n <div class="hmcts-currency-input__symbol" aria-hidden="true">£</div>\n <input class="govuk-input govuk-input--width-10" id="amount" name="amount" type="text" aria-describedby="amount-currency" formControlName="amount">\n </div>\n </div> \n </form>\n <button class="button" type="submit" (click)="addRemission()">\n Add remission\n </button>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf="viewStatus === \'confirmation\'">\n <div class="govuk-warning-text">\n <span class="govuk-warning-text__icon" aria-hidden="true">!</span>\n <strong class="govuk-warning-text__text">\n <span class="govuk-warning-text__assistive">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Remission code:</td>\n <td class="govuk-table__cell">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Fee code:</td>\n <td class="govuk-table__cell">{{ fee.code }}</td>\n </tr>\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Fee description:</td>\n <td class="govuk-table__cell">{{ fee.description }}</td>\n </tr>\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Amount the applicant must pay:</td>\n <td class="govuk-table__cell">{{ remissionForm.controls.amount.value | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n </tr>\n </table>\n\n <button type="submit" class="button govuk-button--secondary" (click)="cancelRemission.emit()">\n Cancel\n </button>\n <button type="submit" class="button" (click)="confirmRemission()">\n Confirm\n </button>\n \n </ng-container>\n \n</div>\n\n',styles:[".add-remission .button{margin-top:20px;margin-left:2px;margin-right:2px}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px}.add-remission .inline-error-message{color:#a71414;font-weight:700}"]}]}],e.ctorParameters=function(){return[{type:s.FormBuilder},{type:g},{type:d}]},e.propDecorators={fee:[{type:r.Input}],ccdCaseNumber:[{type:r.Input}],paymentGroupRef:[{type:r.Input}],cancelRemission:[{type:r.Output}]},e}(),F=function(){function e(){}return e.prototype.transform=function(e,t){var n=/^([0-9]{4})+([0-9]{4})+([0-9]{4})+([0-9]{4})$/;return e.match(n)?e.replace(n,"$1-$2-$3-$4"):e},e.decorators=[{type:r.Pipe,args:[{name:"ccdHyphens"}]}],e.ctorParameters=function(){return[]},e}(),j=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:r.Pipe,args:[{name:"sanitizeHtml"}]}],e.ctorParameters=function(){return[{type:i.DomSanitizer}]},e}(),A=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[c.CommonModule,o.HttpClientModule,s.FormsModule,s.ReactiveFormsModule],declarations:[d,y,b,f,v,k,w,x,G,M,F,j],exports:[d],providers:[{provide:m,useClass:P}]}]}],e}();e.PaymentLibService=l,e.PaymentLibComponent=d,e.PaymentLibModule=A,e.ɵp=M,e.ɵg=f,e.ɵm=x,e.ɵo=G,e.ɵi=v,e.ɵa=y,e.ɵe=b,e.ɵl=w,e.ɵj=k,e.ɵq=F,e.ɵr=j,e.ɵh=h,e.ɵn=I,e.ɵb=p,e.ɵf=g,e.ɵd=u,e.ɵs=P,e.ɵc=m,e.ɵk=_,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("rxjs/observable/throw"),require("@angular/common/http"),require("rxjs/operators"),require("@angular/forms"),require("@angular/platform-browser"),require("@angular/common")):"function"==typeof define&&define.amd?define("@hmcts/ccpay-web-component",["exports","@angular/core","@angular/router","rxjs/observable/throw","@angular/common/http","rxjs/operators","@angular/forms","@angular/platform-browser","@angular/common"],t):t((e.hmcts=e.hmcts||{},e.hmcts["ccpay-web-component"]={}),e.ng.core,e.ng.router,e.rxjs["observable/throw"],e.ng.common.http,e.rxjs.operators,e.ng.forms,e.ng.platformBrowser,e.ng.common)}(this,function(e,r,t,n,o,a,s,i,c){"use strict";var l=function(){function e(){}return e.prototype.setApiRootUrl=function(e){this.API_ROOT=e},e.prototype.getApiRootUrl=function(){return this.API_ROOT},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),d=function(){function e(e,t){this.router=e,this.paymentLibService=t}return e.prototype.ngOnInit=function(){this.paymentLibService.setApiRootUrl(this.API_ROOT),this.PAYMENT_GROUP_REF&&(this.paymentGroupReference=this.PAYMENT_GROUP_REF),"fee-summary"===this.VIEW?this.viewName="fee-summary":this.viewName="case-transactions"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-lib",template:'\n <ccpay-payment-list *ngIf="viewName === \'payment-list\'"></ccpay-payment-list>\n <ccpay-payment-view *ngIf="viewName === \'payment-view\'"></ccpay-payment-view>\n <ccpay-case-transactions *ngIf="viewName === \'case-transactions\'"></ccpay-case-transactions>\n <ccpay-fee-summary *ngIf="viewName === \'fee-summary\'"\n [ccdCaseNumber]="CCD_CASE_NUMBER" [paymentGroupRef]="paymentGroupReference"></ccpay-fee-summary>\n '}]}],e.ctorParameters=function(){return[{type:t.Router},{type:l}]},e.propDecorators={API_ROOT:[{type:r.Input,args:["API_ROOT"]}],CCD_CASE_NUMBER:[{type:r.Input,args:["CCD_CASE_NUMBER"]}],PAYMENT_METHOD:[{type:r.Input,args:["PAYMENT_METHOD"]}],VIEW:[{type:r.Input,args:["VIEW"]}],PAYMENT_GROUP_REF:[{type:r.Input,args:["PAYMENT_GROUP_REF"]}],TAKEPAYMENT:[{type:r.Input,args:["TAKEPAYMENT"]}]},e}(),u=function(){function e(){}return e.prototype.handleError=function(e){var t;return t=e.error instanceof Error?"An error occurred: "+e.error.message:404===e.status?e.error?e.error:"Not found":e.error.messsage===undefined?"Server error":""+e.error.message,n._throw(t)},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),m=function(){function e(){}return e.prototype.invokeConsoleMethod=function(e,t){},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),p=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getPaymentByCcdCaseNumber=function(e,t){return this.logger.info("Payment-list-service getPaymentByCcdCaseNumber for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/cases/"+e+"/payments",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),y=function(){function e(e,t){this.paymentListService=e,this.paymentLibComponent=t}return e.prototype.ngOnInit=function(){var t=this;this.paymentListService.getPaymentByCcdCaseNumber(this.paymentLibComponent.CCD_CASE_NUMBER,this.paymentLibComponent.PAYMENT_METHOD).subscribe(function(e){return t.payments=e},function(e){return t.errorMessage=e})},e.prototype.loadPaymentViewComponent=function(e,t,n){this.paymentLibComponent.paymentMethod=n,this.paymentLibComponent.paymentGroupReference=e,this.paymentLibComponent.paymentReference=t,this.paymentLibComponent.viewName="payment-view"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-list",template:'<div class="govuk-width-container">\n\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payments list could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf="!errorMessage && payments">\n\n <table class="table">\n <tr>\n <th class="bold font-xsmall">Payment Group reference</th>\n <th class="bold font-xsmall">Payment reference</th>\n <th class="bold font-xsmall">Date created</th>\n <th class="bold font-xsmall">Channel</th>\n <th class="bold font-xsmall">Method</th>\n <th class="bold font-xsmall">Amount</th>\n <th class="bold font-xsmall">Status</th>\n </tr>\n <tr *ngFor="let payment of payments.payments">\n <td class="font-xsmall">\n <a href="javascript:void(0)" (click)="loadPaymentViewComponent(payment.payment_group_reference, payment.payment_reference, payment.method)">{{ payment.payment_group_reference }}</a>\n <td class="font-xsmall">{{ payment.payment_reference }}</td>\n <td class="font-xsmall">{{ payment.date_created | date:\'dd MMM yyyy hh:mm:ss\' }}</td>\n <td class="font-xsmall">{{ payment.channel | titlecase }}</td>\n <td class="font-xsmall">{{ payment.method | titlecase }}</td>\n <td class="font-xsmall">£{{ payment.amount | number:\'.2\' }}</td>\n <td *ngIf="payment.method === \'card\' && payment.channel === \'online\'">\n <details>\n <summary><span class="summary font-xsmall">{{ payment.status }}</span></summary>\n <div class="panel panel-border-narrow" *ngIf="payment.status === \'Failed\'">\n <div *ngFor="let statusHistory of payment.status_histories">\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0010\'">\n Payment rejected due to payment method selected or payment information entered, for example, failed fraud check, a 3D Secure authentication failure, or the user does not have enough money in account\n </p>\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0020\'">\n Payment was not confirmed and completed within 90 minutes of being created\n </p>\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0030\'">\n User clicked on the “Cancel payment” button during the payment journey\n </p>\n <p class="font-xsmall" *ngIf="statusHistory.error_code === \'P0050\'">\n Multiple possible causes, for example a configuration problem with the payment provider, or incorrect login credentials\n </p>\n </div>\n </div>\n </details>\n </td>\n <td *ngIf="payment.method === \'card\' && payment.channel === \'telephony\'" class="font-xsmall">\n {{ payment.status}}\n </td>\n <td *ngIf="payment.method === \'payment by account\'">\n <details>\n <summary><span class="summary font-xsmall">{{ payment.status }}</span></summary>\n <div class="panel panel-border-narrow" *ngIf="payment.status === \'Pending\'">\n <p class="font-xsmall">This means the transaction is being processed by Liberata.</p>\n </div>\n </details>\n </td>\n </tr>\n </table>\n\n </div>\n\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:p},{type:d}]},e}(),g=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.addHeaders=function(t){var n={};if(t.headers&&t.headers.forEach(function(e){n[e]=t.headers.get(e)}),n["X-Requested-With"]="XMLHttpRequest",this.meta&&this.meta.getTag("name=csrf-token")){var e=this.meta.getTag("name=csrf-token");n["CSRF-Token"]=e.content}return t.headers=new o.HttpHeaders(n),t.responseType="text",t},e.prototype.getPaymentDetails=function(e,t){return this.logger.info("Payment-view-service getPaymentDetails for: ",e),this.http.get("card"===t?this.paymentLibService.API_ROOT+"/card-payments/"+e:this.paymentLibService.API_ROOT+"/credit-account-payments/"+e,{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.prototype.getPaymentGroupDetails=function(e,t){return this.logger.info("Payment-view-service getPaymentGroupDetails for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/payment-groups/"+e,{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.prototype.postPaymentGroupWithRemissions=function(e,t,n){return this.http.post(this.paymentLibService.API_ROOT+"/payment-groups/"+e+"/fees/"+t+"/remissions",n).pipe(a.catchError(this.errorHandlerService.handleError))},e.prototype.postPaymentToPayHub=function(e){var t={};return this.addHeaders(t),this.http.post(this.paymentLibService.API_ROOT+"/send-to-payhub",e,t).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),b=function(){function e(e,t){this.paymentViewService=e,this.paymentLibComponent=t}return e.prototype.ngOnInit=function(){var t=this;this.paymentViewService.getPaymentGroupDetails(this.paymentLibComponent.paymentGroupReference,this.paymentLibComponent.paymentMethod).subscribe(function(e){return t.paymentGroup=e},function(e){return t.errorMessage=e})},Object.defineProperty(e.prototype,"isCardPayment",{get:function(){return"card"===this.paymentGroup.payments[0].method},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isTelephonyPayment",{get:function(){return"telephony"===this.paymentGroup.payments[0].channel},enumerable:!0,configurable:!0}),e.prototype.goToPaymentList=function(){this.paymentLibComponent.viewName="payment-list"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-view",template:'<div class="govuk-width-container">\n\n <div class="govuk-breadcrumbs">\n <ol class="govuk-breadcrumbs__list">\n <li class="govuk-breadcrumbs__list-item">\n <a href="javascript:void(0)" (click)="goToPaymentList()" class="govuk-back-link">Back to payments</a>\n </li>\n </ol>\n </div>\n\n <main class="govuk-main-wrapper " id="main-content" role="main">\n\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payment details could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf="!errorMessage && paymentGroup">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h2 class="govuk-heading-m">Payment details</h2>\n </div>\n </div>\n\n <table>\n <tbody>\n <tr class="section">\n <td class="bold" width="330px">Payment group reference</td>\n <td>{{ paymentGroup.payment_group_reference }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Payment reference</td>\n <td>{{ paymentGroup.payments[0].reference }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Total payment amount</td>\n <td>£{{ paymentGroup.payments[0].amount | number:\'.2\' }}</td>\n </tr>\n </tbody>\n </table>\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h2 class="heading-medium">Fee and remission details</h2>\n </div>\n </div>\n\n <div *ngFor="let fee of paymentGroup.fees">\n <table class="table">\n <tbody>\n <tr class="section">\n <td class="bold" width="330px">Description</td>\n <td>Application for {{ paymentGroup.payments[0].service_name }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Fee code</td>\n <td>{{ fee.code }}</td>\n </tr>\n <tr class="section">\n <td class="bold" width="330px">Fee amount</td>\n <td>£{{ fee.calculated_amount | number:\'.2\' }}</td>\n </tr>\n <tr *ngIf="fee.net_amount">\n <td class="bold" width="330px">Net amount</td>\n <td>£{{ fee.net_amount | number:\'.2\' }}</td>\n </tr>\n <tr *ngIf="paymentGroup.remissions?.length > 0">\n <td class="bold" width="330px">Remission code</td>\n <td>{{paymentGroup.remissions[0].hwf_reference}}</td>\n </tr>\n <tr *ngIf="paymentGroup.remissions?.length > 0">\n <td class="bold" width="330px">Remission amount</td>\n <td>£{{ paymentGroup.remissions[0].hwf_amount | number:\'.2\'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n \x3c!-- card details --\x3e\n <ccpay-card-details *ngIf="isCardPayment && !isTelephonyPayment"></ccpay-card-details>\n\n \x3c!-- pba details --\x3e\n <ccpay-pba-details *ngIf="!isCardPayment" [payment]="paymentGroup.payments[0]"></ccpay-pba-details>\n\n \x3c!-- Status histories --\x3e\n <ccpay-payment-statuses></ccpay-payment-statuses>\n\n </div>\n\n </main>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:g},{type:d}]},e}(),h=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getCardDetails=function(e){return this.logger.info("Card-detail-service getCardDetails for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/card-payments/"+e+"/details",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),f=function(){function e(e,t){this.cardDetailsService=e,this.paymentLibComponent=t,this.pageTitle="Card details"}return e.prototype.ngOnInit=function(){var t=this;this.cardDetailsService.getCardDetails(this.paymentLibComponent.paymentReference).subscribe(function(e){return t.cardDetails=e},function(e){return t.errorMessage=e})},Object.defineProperty(e.prototype,"getPaymentReference",{get:function(){return this.paymentReference},enumerable:!0,configurable:!0}),e.decorators=[{type:r.Component,args:[{selector:"ccpay-card-details",template:'\n<div class="column">\n <h2 class="heading-medium">Payment method</h2>\n</div>\n\n<div role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1" *ngIf="errorMessage">\n Payment method unavailable, The payment has either expired or unsuccessful.\n</div>\n\n<div *ngIf="!errorMessage && cardDetails">\n\n<table>\n <tbody>\n <tr>\n <td class="bold" width="330px">Method</td>\n <td>Card</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Type</td>\n <td>{{ cardDetails.card_brand }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Name on card</td>\n <td>{{ cardDetails.cardholder_name }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Card number</td>\n <td>**** **** **** {{ cardDetails.last_digits_card_number }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Card expiry date</td>\n <td>{{ cardDetails.expiry_date}}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Email</td>\n <td>{{ cardDetails.email }}</td>\n </tr>\n </tbody>\n</table>\n</div>\n\n\n\n\x3c!--<div class="container">--\x3e\n \x3c!--<fieldset class="col-md-12">--\x3e\n \x3c!--<button class="button" routerLink="/payment-view/{{ getPaymentReference }}">Back</button>--\x3e\n \x3c!--</fieldset>--\x3e\n\x3c!--</div>--\x3e\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:h},{type:d}]},e}(),v=function(){function e(){}return e.decorators=[{type:r.Component,args:[{template:"\n <h1>This is not the page you were looking for!</h1>\n "}]}],e}(),_=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getPaymentStatusesByReference=function(e,t){return this.logger.info("Status-history-service getPaymentStatusesByReference for: ",e),this.http.get("card"===t?this.paymentLibService.API_ROOT+"/card-payments/"+e+"/statuses":this.paymentLibService.API_ROOT+"/credit-account-payments/"+e+"/statuses",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),k=function(){function e(e,t){this.statusHistoryService=e,this.paymentLibComponent=t,this.pageTitle="Payment status history"}return e.prototype.ngOnInit=function(){var t=this;this.statusHistoryService.getPaymentStatusesByReference(this.paymentLibComponent.paymentReference,this.paymentLibComponent.paymentMethod).subscribe(function(e){return t.statuses=e},function(e){return t.errorMessage=e})},e.decorators=[{type:r.Component,args:[{selector:"ccpay-payment-statuses",template:'<div class="column">\n <h2 class="heading-medium">{{ pageTitle }}</h2>\n</div>\n\n\n<div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1" *ngIf="errorMessage">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payment status history could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf="!errorMessage && statuses">\n <table>\n <tbody>\n <tr *ngFor="let status of statuses.status_histories">\n <td class="bold">Payment {{ status.status }}</td>\n <td>£{{ statuses.amount | number:\'.2\' }}</td>\n <td>{{ status.date_created | date:\'dd MMM yyyy hh:mm:ss\'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:_},{type:d}]},e}(),w=function(){function e(){}return e.prototype.ngOnInit=function(){},e.decorators=[{type:r.Component,args:[{selector:"ccpay-pba-details",template:'<div class="grid-row">\n <div class="column">\n <h2 class="heading-medium">Payment method</h2>\n </div>\n</div>\n\n\n<div>\n <table>\n <tbody>\n <tr>\n <td class="bold" width="330px">Method</td>\n <td>{{ payment.method | titlecase }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Type</td>\n <td>Credit</td>\n </tr>\n <tr>\n <td class="bold" width="330px">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr>\n <td class="bold" width="330px">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[]},e.propDecorators={payment:[{type:r.Input}]},e}(),C=function(){return undefined},P=function(){function e(){}return Object.defineProperty(e.prototype,"info",{get:function(){return C},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"warn",{get:function(){return C},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return C},enumerable:!0,configurable:!0}),e.prototype.invokeConsoleMethod=function(e,t){(console[e]||console.log||C).apply(console,[t])},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=r.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),I=function(){function e(e,t,n,r){this.http=e,this.logger=t,this.errorHandlerService=n,this.paymentLibService=r}return e.prototype.getPaymentGroups=function(e){return this.logger.info("Case-transactions-service getPaymentGroups for: ",e),this.http.get(this.paymentLibService.API_ROOT+"/cases/"+e+"/paymentgroups",{withCredentials:!0}).pipe(a.catchError(this.errorHandlerService.handleError))},e.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:o.HttpClient},{type:m},{type:u},{type:l}]},e.ngInjectableDef=r.defineInjectable({factory:function(){return new e(r.inject(o.HttpClient),r.inject(m),r.inject(u),r.inject(l))},token:e,providedIn:"root"}),e}(),x=function(){function e(e,t,n){this.router=e,this.caseTransactionsService=t,this.paymentLibComponent=n,this.paymentGroups=[],this.payments=[],this.remissions=[],this.fees=[]}return e.prototype.ngOnInit=function(){var t=this;this.ccdCaseNumber=this.paymentLibComponent.CCD_CASE_NUMBER,this.takePayment=this.paymentLibComponent.TAKEPAYMENT,this.caseTransactionsService.getPaymentGroups(this.ccdCaseNumber).subscribe(function(e){t.paymentGroups=e.payment_groups,t.calculateAmounts()},function(e){t.errorMessage=e,t.setDefaults()})},e.prototype.setDefaults=function(){this.totalPayments=0,this.totalRemissions=0,this.totalFees=0},e.prototype.calculateAmounts=function(){var t=this,n=0,r=0,o=0;this.paymentGroups.forEach(function(e){e.fees&&e.fees.forEach(function(e){n+=e.calculated_amount,t.fees.push(e)}),t.totalFees=n,e.payments&&e.payments.forEach(function(e){"SUCCESS"===e.status.toUpperCase()&&(r+=e.amount,t.payments.push(e))}),t.totalPayments=r,e.remissions&&e.remissions.forEach(function(e){o+=e.hwf_amount,t.remissions.push(e)}),t.totalRemissions=o})},e.prototype.getGroupOutstandingAmount=function(e){var t=0,n=0,r=0;return e.fees&&e.fees.forEach(function(e){t+=e.calculated_amount}),e.payments&&e.payments.forEach(function(e){"SUCCESS"===e.status.toUpperCase()&&(n+=e.amount)}),e.remissions&&e.remissions.forEach(function(e){r+=e.hwf_amount}),t-r-n},e.prototype.redirectToFeeSearchPage=function(e){e.preventDefault(),this.router.navigateByUrl("/fee-search?ccdCaseNumber="+this.ccdCaseNumber)},e.prototype.loadFeeSummaryPage=function(e){this.paymentLibComponent.paymentGroupReference=e.payment_group_reference,this.paymentLibComponent.viewName="fee-summary"},e.decorators=[{type:r.Component,args:[{selector:"ccpay-case-transactions",template:'<div class="govuk-width-container">\n <div class="govuk-breadcrumbs govuk-!-padding-bottom-1">\n <ol class="govuk-breadcrumbs__list">\n <li class="govuk-breadcrumbs__list-item">\n <a [href]="\'/ccd-search\'" class="govuk-back-link">Back to case search</a>\n </li>\n </ol>\n </div>\n <main class="govuk-main-wrapper">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <h1 class="govuk-heading-xl">Case transactions</h1>\n </div>\n\n <div class="govuk-grid-column-one-third" align="right" *ngIf="takePayment">\n <a (click)="redirectToFeeSearchPage($event)" class="button">Add a new fee</a>\n </div>\n </div>\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds govuk-!-padding-bottom-6">\n <h3 class="heading-medium">CCD case reference number:</h3>\n <span>{{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div class="govuk-grid-column-full govuk-!-padding-bottom-3">\n <hr class="govuk-section-break govuk-section-break--visible">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Total payments</td>\n <td class="govuk-table__header" scope="col">Total remissions</td>\n <td class="govuk-table__header" scope="col">Outstanding balance</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell">{{ totalPayments | currency :\'GBP\':\'symbol\':\'1.2-2\' }}</td>\n <td class="govuk-table__cell">{{ totalRemissions | currency :\'GBP\':\'symbol\':\'1.2-2\' }}</td>\n <td class="govuk-table__cell">{{ (totalFees - totalRemissions) - totalPayments | currency :\'GBP\':\'symbol\':\'1.2-2\'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n\n \x3c!-- No fees start --\x3e\n <div *ngIf="paymentGroups?.length === 0">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h3 class="heading-medium">Fees</h3>\n </div>\n\n <div class="govuk-grid-column-two-thirds" align="left">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Code</td>\n <td class="govuk-table__header" scope="col">Description</td>\n <td class="govuk-table__header" scope="col">Volume</td>\n <td class="govuk-table__header" scope="col">Fee total</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell" colspan="4">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class="govuk-grid-column-one-third" align="right">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell">£0.00</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n \x3c!-- No fees end --\x3e\n\n <div *ngFor="let paymentGroup of paymentGroups">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <h2 class="heading-large">Fees</h2>\n </div>\n\n <div class="govuk-grid-column-two-thirds" align="left">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Code</td>\n <td class="govuk-table__header" scope="col">Description</td>\n <td class="govuk-table__header" scope="col">Volume</td>\n <td class="govuk-table__header" scope="col">Fee total</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let fee of paymentGroup.fees">\n <td class="govuk-table__cell">{{ fee.code }}</td>\n <td class="govuk-table__cell">{{ fee.description }}</td>\n <td class="govuk-table__cell">{{ fee.volume }}</td>\n <td class="govuk-table__cell">{{ fee.calculated_amount }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class="govuk-grid-column-one-third" align="right">\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell">{{ getGroupOutstandingAmount(paymentGroup) | currency :\'GBP\':\'symbol\':\'1.2-2\' }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <div class="govuk-inset-text" *ngIf="paymentGroup.payments || paymentGroup.remissions">\n \x3c!-- payments --\x3e\n <table class="govuk-table">\n <caption class="heading-medium headgovuk-table__caption">Payments</caption>\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Payment reference</td>\n <td class="govuk-table__header" scope="col">Date created</td>\n <td class="govuk-table__header" scope="col">Channel</td>\n <td class="govuk-table__header" scope="col">Method</td>\n <td class="govuk-table__header" scope="col">Amount</td>\n <td class="govuk-table__header" scope="col">Status</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.payments?.length > 0">\n <tr class="govuk-table__row" *ngFor="let payment of paymentGroup.payments">\n <td class="govuk-table__cell">{{ payment.reference }}</td>\n <td class="govuk-table__cell">{{ payment.date_created | date:\'dd MMM yyyy hh:mm:ss\' }}</td>\n <td class="govuk-table__cell">{{ payment.channel }}</td>\n <td class="govuk-table__cell">{{ payment.method }}</td>\n <td class="govuk-table__cell">{{ payment.amount }}</td>\n <td class="govuk-table__cell">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.payments?.length === 0">\n <td class="govuk-table__cell" colspan="6">No payments recorded</td>\n </tbody>\n </table>\n\n \x3c!-- remissions --\x3e\n <table class="govuk-table">\n <caption class="heading-medium headgovuk-table__caption">Remissions</caption>\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <td class="govuk-table__header" scope="col">Remission reference</td>\n <td class="govuk-table__header" scope="col">Date created</td>\n <td class="govuk-table__header" scope="col">Remission code</td>\n <td class="govuk-table__header" scope="col">Fee applied against</td>\n <td class="govuk-table__header" scope="col">Remission amount</td>\n </tr>\n </thead>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.remissions?.length > 0">\n <tr class="govuk-table__row" *ngFor="let remission of paymentGroup.remissions">\n <td class="govuk-table__cell">{{ remission.remission_reference }}</td>\n <td class="govuk-table__cell">{{ remission.date_created | date:\'dd MMM yyyy hh:mm:ss\' }}</td>\n <td class="govuk-table__cell">{{ remission.hwf_reference }}</td>\n <td class="govuk-table__cell">{{ remission.fee_code }}</td>\n <td class="govuk-table__cell">{{ remission.hwf_amount }}</td>\n </tr>\n </tbody>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.remissions?.length === 0">\n <td class="govuk-table__cell" colspan="5">No remissions recorded</td>\n </tbody>\n </table>\n\n <div *ngIf="takePayment">\n <button type="submit" (click)="loadFeeSummaryPage(paymentGroup)"\n [disabled]="getGroupOutstandingAmount(paymentGroup) === 0"\n [ngClass]=\'getGroupOutstandingAmount(paymentGroup) === 0 ? "button button--disabled govuk-!-margin-right-1" : "button govuk-!-margin-right-1"\'>\n Add payment\n </button>\n\n <button type="submit" disabled="disabled" aria-disabled="true" class="button button--disabled">\n Add remission\n </button>\n </div>\n </div>\n </div>\n </main>\n</div>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:t.Router},{type:I},{type:d}]},e}();function R(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var S=function(e,t){this.currency="GBP",this.site_id="AA02",this.description="PayBubble payment",this.channel="telephony",this.provider="pci pal",this.service="DIVORCE",this.ccd_case_number=e,this.amount=t},G=function(){function e(e,t,n){this.router=e,this.paymentViewService=t,this.paymentLibComponent=n,this.viewStatus="main"}return e.prototype.ngOnInit=function(){var i=this;this.viewStatus="main",this.paymentViewService.getPaymentGroupDetails(this.paymentGroupRef,this.paymentLibComponent.paymentMethod).subscribe(function(e){if(i.paymentGroup=e,i.totalFee=0,i.paymentGroup.fees)try{for(var t=R(i.paymentGroup.fees),n=t.next();!n.done;n=t.next()){var r=n.value;i.totalFee=i.totalFee+r.net_amount}}catch(s){o={error:s}}finally{try{n&&!n.done&&(a=t["return"])&&a.call(t)}finally{if(o)throw o.error}}var o,a},function(e){return i.errorMessage=e})},e.prototype.getRemissionByFeeCode=function(e){if(this.paymentGroup&&this.paymentGroup.remissions&&0<this.paymentGroup.remissions.length)try{for(var t=R(this.paymentGroup.remissions),n=t.next();!n.done;n=t.next()){var r=n.value;if(r.fee_code===e)return r}}catch(s){o={error:s}}finally{try{n&&!n.done&&(a=t["return"])&&a.call(t)}finally{if(o)throw o.error}}return null;var o,a},e.prototype.addRemission=function(e){this.currentFee=e,this.viewStatus="add_remission"},e.prototype.cancelRemission=function(){this.viewStatus="main"},e.prototype.redirectToFeeSearchPage=function(e){e.preventDefault(),this.router.navigateByUrl("/fee-search?ccdCaseNumber="+this.ccdCaseNumber)},e.prototype.takePayment=function(){var t=this,e=new S(this.ccdCaseNumber,this.totalFee);this.paymentViewService.postPaymentToPayHub(e).subscribe(function(e){t.payhubHtml=e,t.viewStatus="payhub_view"},function(e){t.errorMessage=e})},e.decorators=[{type:r.Component,args:[{selector:"ccpay-fee-summary",template:' \n<div class="govuk-breadcrumbs">\n <ol class="govuk-breadcrumbs__list">\n <li class="govuk-breadcrumbs__list-item">\n <a (click)="redirectToFeeSearchPage($event)" class="govuk-back-link govuk-label">Back</a>\n </li>\n </ol>\n</div>\n\n<div class="fee-summary" *ngIf="viewStatus === \'main\'">\n <h1 class="heading-large">Fee Summary</h1>\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Payment Group details could not be retrieved\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n \n <table class="govuk-table" *ngIf="!errorMessage && paymentGroup">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col">Fee Code</th>\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col">Fee description</th>\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col">Remission code</th>\n <th class="govuk-table__header govuk-!-font-weight-bold" scope="col"></th>\n </tr>\n </thead>\n <tbody class="govuk-table__body" *ngIf="paymentGroup.fees">\n <tr class="govuk-table__row" *ngFor="let fee of paymentGroup.fees">\n <td class="govuk-table__cell">{{ fee.code }}</td>\n <td class="govuk-table__cell">{{ fee.description }}</td>\n <td class="govuk-table__cell">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class="govuk-table__cell grey-text">\n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Fee amount:</td>\n <td class="no-border subcolumn-2">{{ fee.calculated_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n <td class="no-border subcolumn-3"><a href="">remove fee</a></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Volume:</td>\n <td class="no-border subcolumn-2">{{ fee.volume }}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Fee total:</td>\n <td class="no-border subcolumn-2">{{ fee.calculated_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Remission amount:</td>\n <td class="no-border subcolumn-2">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\') : \'-\' }}</td>\n <td class="no-border subcolumn-3"> <a *ngIf="getRemissionByFeeCode(fee.code) === null" (click)="addRemission(fee)">add remission</a></td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border grey-text subcolumn-1">Total after remission:</td>\n <td class="no-border subcolumn-2">{{ fee.net_amount | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class="govuk-table__row">\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"> \n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="no-border govuk-!-font-weight-bold subcolumn-1">Total to be paid</td>\n <td class="no-border subcolumn-2">{{ totalFee | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\'}}</td>\n <td class="no-border subcolumn-3"></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n <tr class="govuk-table__row">\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"></td>\n <td class="no-border"> \n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="no-border subcolumn-2"> \n <button type="submit" (click)="takePayment()"\n [disabled]="totalFee <= 0"\n [ngClass]=\'totalFee <= 0 ? "button button--disabled govuk-!-margin-right-1" : "button govuk-!-margin-right-1"\'>\n Take payment\n </button></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n<ccpay-add-remission *ngIf="viewStatus === \'add_remission\' && currentFee" [fee]="currentFee" [ccdCaseNumber]="ccdCaseNumber" [paymentGroupRef]="paymentGroupRef" (cancelRemission)="cancelRemission()"></ccpay-add-remission>\n<div *ngIf="viewStatus === \'payhub_view\' && payhubHtml" [innerHTML]="payhubHtml | sanitizeHtml" id="payhub-html-id"></div>',styles:[".fee-summary .grey-text{color:#6b7376;font-weight:500}.fee-summary .govuk-table{margin-bottom:0}.fee-summary .no-border{border:none;border-bottom:none}.fee-summary table td,.fee-summary table th{font-size:15px;font-weight:500;vertical-align:top;max-width:320px}.fee-summary table td .no-padding,.fee-summary table th .no-padding{padding:0}.fee-summary table td .subcolumn-1,.fee-summary table th .subcolumn-1{width:45%}.fee-summary table td .subcolumn-2,.fee-summary table th .subcolumn-2{width:25%;text-align:right}.fee-summary table td .subcolumn-3,.fee-summary table th .subcolumn-3{width:30%;text-align:center}"]}]}],e.ctorParameters=function(){return[{type:t.Router},{type:g},{type:d}]},e.propDecorators={paymentGroupRef:[{type:r.Input}],ccdCaseNumber:[{type:r.Input}]},e}(),E=function(e,t,n,r){this.site_id="AA02",this.ccd_case_number=e,this.fee=t,this.hwf_amount=n,this.hwf_reference=r},M=function(){function e(e,t,n){this.formBuilder=e,this.paymentViewService=t,this.paymentLibComponent=n,this.cancelRemission=new r.EventEmitter,this.hasErrors=!1,this.viewStatus="main",this.errorMessage=null,this.remissionCodeHasError=!1,this.amountHasError=!1}return e.prototype.ngOnInit=function(){this.remissionForm=this.formBuilder.group({remissionCode:new s.FormControl("",s.Validators.compose([s.Validators.required,s.Validators.pattern("^([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})-([a-zA-Z0-9]{3})$")])),amount:new s.FormControl("",s.Validators.compose([s.Validators.required,s.Validators.pattern("^[0-9]+(\\.[0-9]{2})?$")]))}),this.viewStatus="main"},e.prototype.addRemission=function(){this.resetRemissionForm(),this.remissionForm.dirty&&this.remissionForm.valid?this.viewStatus="confirmation":(this.remissionForm.controls.remissionCode.invalid&&(this.remissionCodeHasError=!0),this.remissionForm.controls.amount.invalid&&(this.amountHasError=!0))},e.prototype.resetRemissionForm=function(){this.remissionCodeHasError=!1,this.amountHasError=!1},e.prototype.confirmRemission=function(){var t=this,e=this.remissionForm.controls.amount.value,n=this.fee.net_amount-e,r=new E(this.ccdCaseNumber,this.fee,n,this.remissionForm.controls.remissionCode.value);this.paymentViewService.postPaymentGroupWithRemissions(this.paymentGroupRef,this.fee.id,r).subscribe(function(e){e.success&&(t.paymentLibComponent.viewName="case-transactions")},function(e){t.errorMessage=e})},e.decorators=[{type:r.Component,args:[{selector:"ccpay-add-remission",template:'<div class="add-remission">\n <div *ngIf="errorMessage">\n <div class="error-summary" role="group" aria-labelledby="failure-error-summary-heading" tabindex="-1">\n <h2 class="heading-medium error-summary-heading" id="failure-error-summary-heading">\n Error in processing the request\n </h2>\n <div class="govuk-error-summary__body">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n <ng-container *ngIf="viewStatus === \'main\'">\n <h1 class="heading-large">Add remission</h1>\n <form novalidate>\n <div class="govuk-form-group">\n <form [formGroup]="remissionForm" novalidate>\n <div class="govuk-form-group" [ngClass]="{\'form-group-error\': remissionCodeHasError}">\n <label class="govuk-label govuk-label--s" for="remission-code">\n Add remission to {{ fee.code }}:{{ fee.description }}\n <span class="form-hint" [ngClass]="{\'inline-error-message\': remissionCodeHasError}">Enter remission for reference. For example: HWF-A1B-23C</span>\n </label>\n <input class="govuk-input govuk-input--width-20 govuk-!-margin-right-1" id="remissionCode" name="remissionCode" type="text" formControlName="remissionCode">\n </div>\n <div class="govuk-form-group" [ngClass]="{\'form-group-error\': amountHasError}">\n <label class="govuk-label govuk-label--s" [ngClass]="{\'inline-error-message\': amountHasError}" for="amount">\n How much does the applicant need to pay?\n </label>\n \n <div id="amount-currency" class="govuk-visually-hidden">in pounds</div>\n <div class="hmcts-currency-input">\n <div class="hmcts-currency-input__symbol" aria-hidden="true">£</div>\n <input class="govuk-input govuk-input--width-10" id="amount" name="amount" type="text" aria-describedby="amount-currency" formControlName="amount">\n </div>\n </div> \n </form>\n <button class="button" type="submit" (click)="addRemission()">\n Add remission\n </button>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf="viewStatus === \'confirmation\'">\n <div class="govuk-warning-text">\n <span class="govuk-warning-text__icon" aria-hidden="true">!</span>\n <strong class="govuk-warning-text__text">\n <span class="govuk-warning-text__assistive">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class="govuk-table">\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Remission code:</td>\n <td class="govuk-table__cell">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Fee code:</td>\n <td class="govuk-table__cell">{{ fee.code }}</td>\n </tr>\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Fee description:</td>\n <td class="govuk-table__cell">{{ fee.description }}</td>\n </tr>\n <tr class="govuk-table__row">\n <td class="govuk-table__cell govuk-!-font-weight-bold">Amount the applicant must pay:</td>\n <td class="govuk-table__cell">{{ remissionForm.controls.amount.value | currency:\'GBP\':\'symbol-narrow\':\'1.2-2\' }}</td>\n </tr>\n </table>\n\n <button type="submit" class="button govuk-button--secondary" (click)="cancelRemission.emit()">\n Cancel\n </button>\n <button type="submit" class="button" (click)="confirmRemission()">\n Confirm\n </button>\n \n </ng-container>\n \n</div>\n\n',styles:[".add-remission .button{margin-top:20px;margin-left:2px;margin-right:2px}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px}.add-remission .inline-error-message{color:#a71414;font-weight:700}"]}]}],e.ctorParameters=function(){return[{type:s.FormBuilder},{type:g},{type:d}]},e.propDecorators={fee:[{type:r.Input}],ccdCaseNumber:[{type:r.Input}],paymentGroupRef:[{type:r.Input}],cancelRemission:[{type:r.Output}]},e}(),F=function(){function e(){}return e.prototype.transform=function(e,t){var n=/^([0-9]{4})+([0-9]{4})+([0-9]{4})+([0-9]{4})$/;return e.match(n)?e.replace(n,"$1-$2-$3-$4"):e},e.decorators=[{type:r.Pipe,args:[{name:"ccdHyphens"}]}],e.ctorParameters=function(){return[]},e}(),j=function(){function e(e){this.sanitizer=e}return e.prototype.transform=function(e){return this.sanitizer.bypassSecurityTrustHtml(e)},e.decorators=[{type:r.Pipe,args:[{name:"sanitizeHtml"}]}],e.ctorParameters=function(){return[{type:i.DomSanitizer}]},e}(),A=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[c.CommonModule,o.HttpClientModule,s.FormsModule,s.ReactiveFormsModule],declarations:[d,y,b,f,v,k,w,x,G,M,F,j],exports:[d],providers:[{provide:m,useClass:P}]}]}],e}();e.PaymentLibService=l,e.PaymentLibComponent=d,e.PaymentLibModule=A,e.ɵp=M,e.ɵg=f,e.ɵm=x,e.ɵo=G,e.ɵi=v,e.ɵa=y,e.ɵe=b,e.ɵl=w,e.ɵj=k,e.ɵq=F,e.ɵr=j,e.ɵh=h,e.ɵn=I,e.ɵb=p,e.ɵf=g,e.ɵd=u,e.ɵs=P,e.ɵc=m,e.ɵk=_,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=hmcts-ccpay-web-component.umd.min.js.map

@@ -9,8 +9,11 @@ /**

import { PaymentToPayhubRequest } from '../../interfaces/PaymentToPayhubRequest';
import { Router } from '@angular/router';
export class FeeSummaryComponent {
/**
* @param {?} router
* @param {?} paymentViewService
* @param {?} paymentLibComponent
*/
constructor(paymentViewService, paymentLibComponent) {
constructor(router, paymentViewService, paymentLibComponent) {
this.router = router;
this.paymentViewService = paymentViewService;

@@ -66,4 +69,12 @@ this.paymentLibComponent = paymentLibComponent;

/**
* @param {?} event
* @return {?}
*/
redirectToFeeSearchPage(event) {
event.preventDefault();
this.router.navigateByUrl(`/fee-search?ccdCaseNumber=${this.ccdCaseNumber}`);
}
/**
* @return {?}
*/
takePayment() {

@@ -87,3 +98,3 @@ /** @type {?} */

<li class="govuk-breadcrumbs__list-item">
<a [href]="'/fee-search'" class="govuk-back-link govuk-label">Back</a>
<a (click)="redirectToFeeSearchPage($event)" class="govuk-back-link govuk-label">Back</a>
</li>

@@ -192,2 +203,3 @@ </ol>

FeeSummaryComponent.ctorParameters = () => [
{ type: Router },
{ type: PaymentViewService },

@@ -218,2 +230,4 @@ { type: PaymentLibComponent }

/** @type {?} */
FeeSummaryComponent.prototype.router;
/** @type {?} */
FeeSummaryComponent.prototype.paymentViewService;

@@ -224,2 +238,2 @@ /** @type {?} */

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mZWUtc3VtbWFyeS9mZWUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBK0dqRixNQUFNOzs7OztJQVdKLFlBQ1Usb0JBQ0E7UUFEQSx1QkFBa0IsR0FBbEIsa0JBQWtCO1FBQ2xCLHdCQUFtQixHQUFuQixtQkFBbUI7MEJBUGhCLE1BQU07S0FRZjs7OztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQzs7O1FBS3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUNqRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUNqRCxZQUFZLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztpQkFDaEQ7YUFDRjtTQUNGLEVBQ0QsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUMxQyxDQUFDO0tBQ0g7Ozs7O0lBRUQscUJBQXFCLENBQUMsT0FBZTtRQUNuQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDckQsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUNsQjthQUNGO1NBQ0Y7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ2I7Ozs7O0lBRUQsWUFBWSxDQUFDLEdBQVM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUM7S0FDbkM7Ozs7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7S0FDMUI7Ozs7SUFFRCxXQUFXOztRQUNULE1BQU0sV0FBVyxHQUFHLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDaEUsUUFBUSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztTQUNqQyxFQUNELENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQixDQUNGLENBQUM7S0FDSDs7O1lBaExGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsySEFzRytHO2dCQUN6SCxNQUFNLEVBQUUsQ0FBQyx3bUJBQXdtQixDQUFDO2FBQ25uQjs7OztZQWpIUSxrQkFBa0I7WUFDbEIsbUJBQW1COzs7OEJBbUh6QixLQUFLOzRCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQYXltZW50R3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVJlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlbWlzc2lvbic7XG5pbXBvcnQgeyBJRmVlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JRmVlJztcbmltcG9ydCB7IFBheW1lbnRUb1BheWh1YlJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1BheW1lbnRUb1BheWh1YlJlcXVlc3QnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktZmVlLXN1bW1hcnknLFxuICB0ZW1wbGF0ZTogYCAgXG48ZGl2IGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNcIj5cbiAgPG9sIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3RcIj5cbiAgICA8bGkgY2xhc3M9XCJnb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtXCI+XG4gICAgICA8YSBbaHJlZl09XCInL2ZlZS1zZWFyY2gnXCIgIGNsYXNzPVwiZ292dWstYmFjay1saW5rIGdvdnVrLWxhYmVsXCI+QmFjazwvYT5cbiAgICA8L2xpPlxuICA8L29sPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmZWUtc3VtbWFyeVwiICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ21haW4nXCI+XG4gIDxoMSBjbGFzcz1cImhlYWRpbmctbGFyZ2VcIj5GZWUgU3VtbWFyeTwvaDE+XG4gIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3Itc3VtbWFyeVwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgaWQ9XCJmYWlsdXJlLWVycm9yLXN1bW1hcnktaGVhZGluZ1wiPlxuICAgICAgICBQYXltZW50IEdyb3VwIGRldGFpbHMgY291bGQgbm90IGJlIHJldHJpZXZlZFxuICAgICAgPC9oMj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBcbiAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIiAgKm5nSWY9XCIhZXJyb3JNZXNzYWdlICYmIHBheW1lbnRHcm91cFwiPlxuICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgc2NvcGU9XCJjb2xcIj5GZWUgQ29kZTwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgc2NvcGU9XCJjb2xcIj5GZWUgZGVzY3JpcHRpb248L3RoPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiIHNjb3BlPVwiY29sXCI+UmVtaXNzaW9uIGNvZGU8L3RoPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiIHNjb3BlPVwiY29sXCI+PC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiICpuZ0lmPVwicGF5bWVudEdyb3VwLmZlZXNcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgZmVlIG9mIHBheW1lbnRHcm91cC5mZWVzXCI+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgZmVlLmNvZGUgfX08L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGZlZS5kZXNjcmlwdGlvbiB9fTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZS5jb2RlKT8uaHdmX3JlZmVyZW5jZSB9fTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIGdyZXktdGV4dFwiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5GZWUgYW1vdW50OjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IGZlZS5jYWxjdWxhdGVkX2Ftb3VudCB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PGEgaHJlZj1cIlwiPnJlbW92ZSBmZWU8L2E+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5Wb2x1bWU6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZmVlLnZvbHVtZSB9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgZ3JleS10ZXh0IHN1YmNvbHVtbi0xXCI+RmVlIHRvdGFsOjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IGZlZS5jYWxjdWxhdGVkX2Ftb3VudCAgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgZ3JleS10ZXh0IHN1YmNvbHVtbi0xXCI+UmVtaXNzaW9uIGFtb3VudDo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlLmNvZGUpPy5od2ZfYW1vdW50PyAoIGdldFJlbWlzc2lvbkJ5RmVlQ29kZShmZWUuY29kZSk/Lmh3Zl9hbW91bnQgIHwgY3VycmVuY3k6J0dCUCc6J3N5bWJvbC1uYXJyb3cnOicxLjItMicpIDogJy0nIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+IDxhICpuZ0lmPVwiZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZS5jb2RlKSA9PT0gbnVsbFwiIChjbGljayk9XCJhZGRSZW1pc3Npb24oZmVlKVwiPmFkZCByZW1pc3Npb248L2E+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5Ub3RhbCBhZnRlciByZW1pc3Npb246PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZmVlLm5ldF9hbW91bnQgIHwgY3VycmVuY3k6J0dCUCc6J3N5bWJvbC1uYXJyb3cnOicxLjItMicgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+IFxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGQgc3ViY29sdW1uLTFcIj5Ub3RhbCB0byBiZSBwYWlkPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgdG90YWxGZWUgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJ319PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj4gXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+IFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJ0YWtlUGF5bWVudCgpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidG90YWxGZWUgPD0gMFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPSd0b3RhbEZlZSA8PSAwID8gXCJidXR0b24gYnV0dG9uLS1kaXNhYmxlZCBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCIgOiBcImJ1dHRvbiBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCInPlxuICAgICAgICAgICAgICAgIFRha2UgcGF5bWVudFxuICAgICAgICAgICAgICA8L2J1dHRvbj48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG48Y2NwYXktYWRkLXJlbWlzc2lvbiAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdhZGRfcmVtaXNzaW9uJyAmJiBjdXJyZW50RmVlXCIgW2ZlZV09XCJjdXJyZW50RmVlXCIgW2NjZENhc2VOdW1iZXJdPVwiY2NkQ2FzZU51bWJlclwiIFtwYXltZW50R3JvdXBSZWZdPVwicGF5bWVudEdyb3VwUmVmXCIgKGNhbmNlbFJlbWlzc2lvbik9XCJjYW5jZWxSZW1pc3Npb24oKVwiPjwvY2NwYXktYWRkLXJlbWlzc2lvbj5cbjxkaXYgKm5nSWY9XCJ2aWV3U3RhdHVzID09PSAncGF5aHViX3ZpZXcnICYmIHBheWh1Ykh0bWxcIiBbaW5uZXJIVE1MXT1cInBheWh1Ykh0bWwgfCBzYW5pdGl6ZUh0bWxcIiBpZD1cInBheWh1Yi1odG1sLWlkXCI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5mZWUtc3VtbWFyeSAuZ3JleS10ZXh0e2NvbG9yOiM2YjczNzY7Zm9udC13ZWlnaHQ6NTAwfS5mZWUtc3VtbWFyeSAuZ292dWstdGFibGV7bWFyZ2luLWJvdHRvbTowfS5mZWUtc3VtbWFyeSAubm8tYm9yZGVye2JvcmRlcjpub25lO2JvcmRlci1ib3R0b206bm9uZX0uZmVlLXN1bW1hcnkgdGFibGUgdGQsLmZlZS1zdW1tYXJ5IHRhYmxlIHRoe2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjUwMDt2ZXJ0aWNhbC1hbGlnbjp0b3A7bWF4LXdpZHRoOjMyMHB4fS5mZWUtc3VtbWFyeSB0YWJsZSB0ZCAubm8tcGFkZGluZywuZmVlLXN1bW1hcnkgdGFibGUgdGggLm5vLXBhZGRpbmd7cGFkZGluZzowfS5mZWUtc3VtbWFyeSB0YWJsZSB0ZCAuc3ViY29sdW1uLTEsLmZlZS1zdW1tYXJ5IHRhYmxlIHRoIC5zdWJjb2x1bW4tMXt3aWR0aDo0NSV9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5zdWJjb2x1bW4tMiwuZmVlLXN1bW1hcnkgdGFibGUgdGggLnN1YmNvbHVtbi0ye3dpZHRoOjI1JTt0ZXh0LWFsaWduOnJpZ2h0fS5mZWUtc3VtbWFyeSB0YWJsZSB0ZCAuc3ViY29sdW1uLTMsLmZlZS1zdW1tYXJ5IHRhYmxlIHRoIC5zdWJjb2x1bW4tM3t3aWR0aDozMCU7dGV4dC1hbGlnbjpjZW50ZXJ9YF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBGZWVTdW1tYXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGF5bWVudEdyb3VwUmVmOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNjZENhc2VOdW1iZXI6IHN0cmluZztcblxuICBwYXltZW50R3JvdXA6IElQYXltZW50R3JvdXA7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICB2aWV3U3RhdHVzID0gJ21haW4nO1xuICBjdXJyZW50RmVlOiBJRmVlO1xuICB0b3RhbEZlZTogbnVtYmVyO1xuICBwYXlodWJIdG1sOiBTYWZlSHRtbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ21haW4nO1xuXG4gIC8vICB0aGlzLnBheW1lbnRHcm91cFJlZiA9ICcyMDE4LTE1MzEwMDg5ODg1JztcbiAgLy8gIHRoaXMucGF5bWVudEdyb3VwUmVmID0gJzIwMTktMTU0OTYyOTkyNzMnO1xuXG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0UGF5bWVudEdyb3VwRGV0YWlscyh0aGlzLnBheW1lbnRHcm91cFJlZixcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50TWV0aG9kKS5zdWJzY3JpYmUoXG4gICAgICBwYXltZW50R3JvdXAgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnRHcm91cCA9IHBheW1lbnRHcm91cDtcbiAgICAgICAgdGhpcy50b3RhbEZlZSA9IDA7XG4gICAgICAgIGlmICh0aGlzLnBheW1lbnRHcm91cC5mZWVzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmZWUgb2YgdGhpcy5wYXltZW50R3JvdXAuZmVlcykge1xuICAgICAgICAgICAgdGhpcy50b3RhbEZlZSA9IHRoaXMudG90YWxGZWUgKyBmZWUubmV0X2Ftb3VudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAoZXJyb3I6IGFueSkgPT4gdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvclxuICAgICk7XG4gIH1cblxuICBnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlQ29kZTogc3RyaW5nKTogSVJlbWlzc2lvbiB7XG4gICAgaWYgKHRoaXMucGF5bWVudEdyb3VwICYmIHRoaXMucGF5bWVudEdyb3VwLnJlbWlzc2lvbnMgJiYgdGhpcy5wYXltZW50R3JvdXAucmVtaXNzaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlbWlzc2lvbiBvZiB0aGlzLnBheW1lbnRHcm91cC5yZW1pc3Npb25zKSB7XG4gICAgICAgIGlmIChyZW1pc3Npb24uZmVlX2NvZGUgPT09IGZlZUNvZGUpIHtcbiAgICAgICAgICByZXR1cm4gcmVtaXNzaW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgYWRkUmVtaXNzaW9uKGZlZTogSUZlZSkge1xuICAgIHRoaXMuY3VycmVudEZlZSA9IGZlZTtcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnYWRkX3JlbWlzc2lvbic7XG4gIH1cblxuICBjYW5jZWxSZW1pc3Npb24oKSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ21haW4nO1xuICB9XG5cbiAgdGFrZVBheW1lbnQoKSB7XG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgUGF5bWVudFRvUGF5aHViUmVxdWVzdCh0aGlzLmNjZENhc2VOdW1iZXIsIHRoaXMudG90YWxGZWUpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RQYXltZW50VG9QYXlIdWIocmVxdWVzdEJvZHkpLnN1YnNjcmliZShcbiAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgdGhpcy5wYXlodWJIdG1sID0gcmVzcG9uc2U7XG4gICAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdwYXlodWJfdmlldyc7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mZWUtc3VtbWFyeS9mZWUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWpGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQThHdkMsTUFBTTs7Ozs7O0lBV0osWUFDVSxRQUNBLG9CQUNBO1FBRkEsV0FBTSxHQUFOLE1BQU07UUFDTix1QkFBa0IsR0FBbEIsa0JBQWtCO1FBQ2xCLHdCQUFtQixHQUFuQixtQkFBbUI7MEJBUmhCLE1BQU07S0FTZjs7OztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQzs7O1FBS3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUNqRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUNqRCxZQUFZLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztpQkFDaEQ7YUFDRjtTQUNGLEVBQ0QsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUMxQyxDQUFDO0tBQ0g7Ozs7O0lBRUQscUJBQXFCLENBQUMsT0FBZTtRQUNuQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDckQsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUNsQjthQUNGO1NBQ0Y7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ2I7Ozs7O0lBRUQsWUFBWSxDQUFDLEdBQVM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUM7S0FDbkM7Ozs7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7S0FDMUI7Ozs7O0lBQ0QsdUJBQXVCLENBQUMsS0FBVTtRQUNoQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsNkJBQTZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0tBQzlFOzs7O0lBQ0QsV0FBVzs7UUFDVCxNQUFNLFdBQVcsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQ2hFLFFBQVEsQ0FBQyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7U0FDakMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0IsQ0FDRixDQUFDO0tBQ0g7OztZQXJMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkhBc0crRztnQkFDekgsTUFBTSxFQUFFLENBQUMsd21CQUF3bUIsQ0FBQzthQUNubkI7Ozs7WUE1R08sTUFBTTtZQU5MLGtCQUFrQjtZQUNsQixtQkFBbUI7Ozs4QkFvSHpCLEtBQUs7NEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBheW1lbnRHcm91cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnRHcm91cCc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVtaXNzaW9uJztcbmltcG9ydCB7IElGZWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lGZWUnO1xuaW1wb3J0IHsgUGF5bWVudFRvUGF5aHViUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUGF5bWVudFRvUGF5aHViUmVxdWVzdCc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWZlZS1zdW1tYXJ5JyxcbiAgdGVtcGxhdGU6IGAgIFxuPGRpdiBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzXCI+XG4gIDxvbCBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzX19saXN0XCI+XG4gICAgPGxpIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbVwiPlxuICAgICAgPGEgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIiAgY2xhc3M9XCJnb3Z1ay1iYWNrLWxpbmsgZ292dWstbGFiZWxcIj5CYWNrPC9hPlxuICAgIDwvbGk+XG4gIDwvb2w+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZlZS1zdW1tYXJ5XCIgKm5nSWY9XCJ2aWV3U3RhdHVzID09PSAnbWFpbidcIj5cbiAgPGgxIGNsYXNzPVwiaGVhZGluZy1sYXJnZVwiPkZlZSBTdW1tYXJ5PC9oMT5cbiAgPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJlcnJvci1zdW1tYXJ5XCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZmFpbHVyZS1lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCI+XG4gICAgICAgIFBheW1lbnQgR3JvdXAgZGV0YWlscyBjb3VsZCBub3QgYmUgcmV0cmlldmVkXG4gICAgICA8L2gyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIFxuICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICAqbmdJZj1cIiFlcnJvck1lc3NhZ2UgJiYgcGF5bWVudEdyb3VwXCI+XG4gICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBzY29wZT1cImNvbFwiPkZlZSBDb2RlPC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBzY29wZT1cImNvbFwiPkZlZSBkZXNjcmlwdGlvbjwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgc2NvcGU9XCJjb2xcIj5SZW1pc3Npb24gY29kZTwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgc2NvcGU9XCJjb2xcIj48L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCIgKm5nSWY9XCJwYXltZW50R3JvdXAuZmVlc1wiPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBmZWUgb2YgcGF5bWVudEdyb3VwLmZlZXNcIj5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBmZWUuY29kZSB9fTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgZmVlLmRlc2NyaXB0aW9uIH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlLmNvZGUpPy5od2ZfcmVmZXJlbmNlIH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgZ3JleS10ZXh0XCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPkZlZSBhbW91bnQ6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZmVlLmNhbGN1bGF0ZWRfYW1vdW50IHwgY3VycmVuY3k6J0dCUCc6J3N5bWJvbC1uYXJyb3cnOicxLjItMicgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48YSBocmVmPVwiXCI+cmVtb3ZlIGZlZTwvYT48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPlZvbHVtZTo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBmZWUudm9sdW1lIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5GZWUgdG90YWw6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZmVlLmNhbGN1bGF0ZWRfYW1vdW50ICB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5SZW1pc3Npb24gYW1vdW50OjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IGdldFJlbWlzc2lvbkJ5RmVlQ29kZShmZWUuY29kZSk/Lmh3Zl9hbW91bnQ/ICggZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZS5jb2RlKT8uaHdmX2Ftb3VudCAgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJykgOiAnLScgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj4gPGEgKm5nSWY9XCJnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlLmNvZGUpID09PSBudWxsXCIgKGNsaWNrKT1cImFkZFJlbWlzc2lvbihmZWUpXCI+YWRkIHJlbWlzc2lvbjwvYT48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPlRvdGFsIGFmdGVyIHJlbWlzc2lvbjo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBmZWUubmV0X2Ftb3VudCAgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj4gXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZCBzdWJjb2x1bW4tMVwiPlRvdGFsIHRvIGJlIHBhaWQ8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyB0b3RhbEZlZSB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPiBcbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj4gXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInRha2VQYXltZW50KClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0b3RhbEZlZSA8PSAwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109J3RvdGFsRmVlIDw9IDAgPyBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIic+XG4gICAgICAgICAgICAgICAgVGFrZSBwYXltZW50XG4gICAgICAgICAgICAgIDwvYnV0dG9uPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbjxjY3BheS1hZGQtcmVtaXNzaW9uICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ2FkZF9yZW1pc3Npb24nICYmIGN1cnJlbnRGZWVcIiBbZmVlXT1cImN1cnJlbnRGZWVcIiBbY2NkQ2FzZU51bWJlcl09XCJjY2RDYXNlTnVtYmVyXCIgW3BheW1lbnRHcm91cFJlZl09XCJwYXltZW50R3JvdXBSZWZcIiAoY2FuY2VsUmVtaXNzaW9uKT1cImNhbmNlbFJlbWlzc2lvbigpXCI+PC9jY3BheS1hZGQtcmVtaXNzaW9uPlxuPGRpdiAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdwYXlodWJfdmlldycgJiYgcGF5aHViSHRtbFwiIFtpbm5lckhUTUxdPVwicGF5aHViSHRtbCB8IHNhbml0aXplSHRtbFwiIGlkPVwicGF5aHViLWh0bWwtaWRcIj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgLmZlZS1zdW1tYXJ5IC5ncmV5LXRleHR7Y29sb3I6IzZiNzM3Njtmb250LXdlaWdodDo1MDB9LmZlZS1zdW1tYXJ5IC5nb3Z1ay10YWJsZXttYXJnaW4tYm90dG9tOjB9LmZlZS1zdW1tYXJ5IC5uby1ib3JkZXJ7Ym9yZGVyOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lfS5mZWUtc3VtbWFyeSB0YWJsZSB0ZCwuZmVlLXN1bW1hcnkgdGFibGUgdGh7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MzIwcHh9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5uby1wYWRkaW5nLC5mZWUtc3VtbWFyeSB0YWJsZSB0aCAubm8tcGFkZGluZ3twYWRkaW5nOjB9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5zdWJjb2x1bW4tMSwuZmVlLXN1bW1hcnkgdGFibGUgdGggLnN1YmNvbHVtbi0xe3dpZHRoOjQ1JX0uZmVlLXN1bW1hcnkgdGFibGUgdGQgLnN1YmNvbHVtbi0yLC5mZWUtc3VtbWFyeSB0YWJsZSB0aCAuc3ViY29sdW1uLTJ7d2lkdGg6MjUlO3RleHQtYWxpZ246cmlnaHR9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5zdWJjb2x1bW4tMywuZmVlLXN1bW1hcnkgdGFibGUgdGggLnN1YmNvbHVtbi0ze3dpZHRoOjMwJTt0ZXh0LWFsaWduOmNlbnRlcn1gXVxufSlcblxuZXhwb3J0IGNsYXNzIEZlZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwYXltZW50R3JvdXBSZWY6IHN0cmluZztcbiAgQElucHV0KCkgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuXG4gIHBheW1lbnRHcm91cDogSVBheW1lbnRHcm91cDtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHZpZXdTdGF0dXMgPSAnbWFpbic7XG4gIGN1cnJlbnRGZWU6IElGZWU7XG4gIHRvdGFsRmVlOiBudW1iZXI7XG4gIHBheWh1Ykh0bWw6IFNhZmVIdG1sO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnRcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcblxuICAvLyAgdGhpcy5wYXltZW50R3JvdXBSZWYgPSAnMjAxOC0xNTMxMDA4OTg4NSc7XG4gIC8vICB0aGlzLnBheW1lbnRHcm91cFJlZiA9ICcyMDE5LTE1NDk2Mjk5MjczJztcblxuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldFBheW1lbnRHcm91cERldGFpbHModGhpcy5wYXltZW50R3JvdXBSZWYsXG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudE1ldGhvZCkuc3Vic2NyaWJlKFxuICAgICAgcGF5bWVudEdyb3VwID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50R3JvdXAgPSBwYXltZW50R3JvdXA7XG4gICAgICAgIHRoaXMudG90YWxGZWUgPSAwO1xuICAgICAgICBpZiAodGhpcy5wYXltZW50R3JvdXAuZmVlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgZmVlIG9mIHRoaXMucGF5bWVudEdyb3VwLmZlZXMpIHtcbiAgICAgICAgICAgIHRoaXMudG90YWxGZWUgPSB0aGlzLnRvdGFsRmVlICsgZmVlLm5ldF9hbW91bnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JcbiAgICApO1xuICB9XG5cbiAgZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZUNvZGU6IHN0cmluZyk6IElSZW1pc3Npb24ge1xuICAgIGlmICh0aGlzLnBheW1lbnRHcm91cCAmJiB0aGlzLnBheW1lbnRHcm91cC5yZW1pc3Npb25zICYmIHRoaXMucGF5bWVudEdyb3VwLnJlbWlzc2lvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCByZW1pc3Npb24gb2YgdGhpcy5wYXltZW50R3JvdXAucmVtaXNzaW9ucykge1xuICAgICAgICBpZiAocmVtaXNzaW9uLmZlZV9jb2RlID09PSBmZWVDb2RlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlbWlzc2lvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGFkZFJlbWlzc2lvbihmZWU6IElGZWUpIHtcbiAgICB0aGlzLmN1cnJlbnRGZWUgPSBmZWU7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ2FkZF9yZW1pc3Npb24nO1xuICB9XG5cbiAgY2FuY2VsUmVtaXNzaW9uKCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcbiAgfVxuICByZWRpcmVjdFRvRmVlU2VhcmNoUGFnZShldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9mZWUtc2VhcmNoP2NjZENhc2VOdW1iZXI9JHt0aGlzLmNjZENhc2VOdW1iZXJ9YCk7XG4gIH1cbiAgdGFrZVBheW1lbnQoKSB7XG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgUGF5bWVudFRvUGF5aHViUmVxdWVzdCh0aGlzLmNjZENhc2VOdW1iZXIsIHRoaXMudG90YWxGZWUpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RQYXltZW50VG9QYXlIdWIocmVxdWVzdEJvZHkpLnN1YnNjcmliZShcbiAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgdGhpcy5wYXlodWJIdG1sID0gcmVzcG9uc2U7XG4gICAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdwYXlodWJfdmlldyc7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -10,4 +10,6 @@ /**

import { PaymentToPayhubRequest } from '../../interfaces/PaymentToPayhubRequest';
import { Router } from '@angular/router';
var FeeSummaryComponent = /** @class */ (function () {
function FeeSummaryComponent(paymentViewService, paymentLibComponent) {
function FeeSummaryComponent(router, paymentViewService, paymentLibComponent) {
this.router = router;
this.paymentViewService = paymentViewService;

@@ -100,4 +102,16 @@ this.paymentLibComponent = paymentLibComponent;

/**
* @param {?} event
* @return {?}
*/
FeeSummaryComponent.prototype.redirectToFeeSearchPage = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
this.router.navigateByUrl("/fee-search?ccdCaseNumber=" + this.ccdCaseNumber);
};
/**
* @return {?}
*/
FeeSummaryComponent.prototype.takePayment = /**

@@ -120,3 +134,3 @@ * @return {?}

selector: 'ccpay-fee-summary',
template: " \n<div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a [href]=\"'/fee-search'\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n</div>\n\n<div class=\"fee-summary\" *ngIf=\"viewStatus === 'main'\">\n <h1 class=\"heading-large\">Fee Summary</h1>\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment Group details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n \n <table class=\"govuk-table\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee Code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee description</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Remission code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class=\"govuk-table__cell grey-text\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee amount:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"><a href=\"\">remove fee</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Volume:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.volume }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee total:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Remission amount:</td>\n <td class=\"no-border subcolumn-2\">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}</td>\n <td class=\"no-border subcolumn-3\"> <a *ngIf=\"getRemissionByFeeCode(fee.code) === null\" (click)=\"addRemission(fee)\">add remission</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Total after remission:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border govuk-!-font-weight-bold subcolumn-1\">Total to be paid</td>\n <td class=\"no-border subcolumn-2\">{{ totalFee | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border subcolumn-2\"> \n <button type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0\"\n [ngClass]='totalFee <= 0 ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n<ccpay-add-remission *ngIf=\"viewStatus === 'add_remission' && currentFee\" [fee]=\"currentFee\" [ccdCaseNumber]=\"ccdCaseNumber\" [paymentGroupRef]=\"paymentGroupRef\" (cancelRemission)=\"cancelRemission()\"></ccpay-add-remission>\n<div *ngIf=\"viewStatus === 'payhub_view' && payhubHtml\" [innerHTML]=\"payhubHtml | sanitizeHtml\" id=\"payhub-html-id\"></div>",
template: " \n<div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a (click)=\"redirectToFeeSearchPage($event)\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n</div>\n\n<div class=\"fee-summary\" *ngIf=\"viewStatus === 'main'\">\n <h1 class=\"heading-large\">Fee Summary</h1>\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment Group details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n \n <table class=\"govuk-table\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee Code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee description</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Remission code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class=\"govuk-table__cell grey-text\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee amount:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"><a href=\"\">remove fee</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Volume:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.volume }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee total:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Remission amount:</td>\n <td class=\"no-border subcolumn-2\">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}</td>\n <td class=\"no-border subcolumn-3\"> <a *ngIf=\"getRemissionByFeeCode(fee.code) === null\" (click)=\"addRemission(fee)\">add remission</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Total after remission:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border govuk-!-font-weight-bold subcolumn-1\">Total to be paid</td>\n <td class=\"no-border subcolumn-2\">{{ totalFee | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border subcolumn-2\"> \n <button type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0\"\n [ngClass]='totalFee <= 0 ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n<ccpay-add-remission *ngIf=\"viewStatus === 'add_remission' && currentFee\" [fee]=\"currentFee\" [ccdCaseNumber]=\"ccdCaseNumber\" [paymentGroupRef]=\"paymentGroupRef\" (cancelRemission)=\"cancelRemission()\"></ccpay-add-remission>\n<div *ngIf=\"viewStatus === 'payhub_view' && payhubHtml\" [innerHTML]=\"payhubHtml | sanitizeHtml\" id=\"payhub-html-id\"></div>",
styles: [".fee-summary .grey-text{color:#6b7376;font-weight:500}.fee-summary .govuk-table{margin-bottom:0}.fee-summary .no-border{border:none;border-bottom:none}.fee-summary table td,.fee-summary table th{font-size:15px;font-weight:500;vertical-align:top;max-width:320px}.fee-summary table td .no-padding,.fee-summary table th .no-padding{padding:0}.fee-summary table td .subcolumn-1,.fee-summary table th .subcolumn-1{width:45%}.fee-summary table td .subcolumn-2,.fee-summary table th .subcolumn-2{width:25%;text-align:right}.fee-summary table td .subcolumn-3,.fee-summary table th .subcolumn-3{width:30%;text-align:center}"]

@@ -127,2 +141,3 @@ },] },

FeeSummaryComponent.ctorParameters = function () { return [
{ type: Router },
{ type: PaymentViewService },

@@ -156,2 +171,4 @@ { type: PaymentLibComponent }

/** @type {?} */
FeeSummaryComponent.prototype.router;
/** @type {?} */
FeeSummaryComponent.prototype.paymentViewService;

@@ -162,2 +179,2 @@ /** @type {?} */

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mZWUtc3VtbWFyeS9mZWUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7SUEwSC9FLDZCQUNVLG9CQUNBO1FBREEsdUJBQWtCLEdBQWxCLGtCQUFrQjtRQUNsQix3QkFBbUIsR0FBbkIsbUJBQW1COzBCQVBoQixNQUFNO0tBUWY7Ozs7SUFFSixzQ0FBUTs7O0lBQVI7UUFBQSxpQkFtQkM7UUFsQkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7OztRQUt6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFDakUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FDakQsVUFBQSxZQUFZO1lBQ1YsS0FBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDakMsS0FBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDbEIsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOztvQkFDM0IsR0FBRyxDQUFDLENBQWMsSUFBQSxLQUFBLGlCQUFBLEtBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFBLGdCQUFBO3dCQUFuQyxJQUFNLEdBQUcsV0FBQTt3QkFDWixLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztxQkFDaEQ7Ozs7Ozs7OzthQUNGOztTQUNGLEVBQ0QsVUFBQyxLQUFVLElBQUssT0FBQSxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBekIsQ0FBeUIsQ0FDMUMsQ0FBQztLQUNIOzs7OztJQUVELG1EQUFxQjs7OztJQUFyQixVQUFzQixPQUFlO1FBQ25DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O2dCQUNqRyxHQUFHLENBQUMsQ0FBb0IsSUFBQSxLQUFBLGlCQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFBLGdCQUFBO29CQUEvQyxJQUFNLFNBQVMsV0FBQTtvQkFDbEIsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO3dCQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDO3FCQUNsQjtpQkFDRjs7Ozs7Ozs7O1NBQ0Y7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDOztLQUNiOzs7OztJQUVELDBDQUFZOzs7O0lBQVosVUFBYSxHQUFTO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDO0tBQ25DOzs7O0lBRUQsNkNBQWU7OztJQUFmO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7S0FDMUI7Ozs7SUFFRCx5Q0FBVzs7O0lBQVg7UUFBQSxpQkFXQzs7UUFWQyxJQUFNLFdBQVcsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQ2hFLFVBQUEsUUFBUTtZQUNOLEtBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQzNCLEtBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1NBQ2pDLEVBQ0QsVUFBQyxLQUFVO1lBQ1QsS0FBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0IsQ0FDRixDQUFDO0tBQ0g7O2dCQWhMRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLDR1S0FzRytHO29CQUN6SCxNQUFNLEVBQUUsQ0FBQyx3bUJBQXdtQixDQUFDO2lCQUNubkI7Ozs7Z0JBakhRLGtCQUFrQjtnQkFDbEIsbUJBQW1COzs7a0NBbUh6QixLQUFLO2dDQUNMLEtBQUs7OzhCQXZIUjs7U0FxSGEsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGF5bWVudEdyb3VwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudEdyb3VwJztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElSZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZW1pc3Npb24nO1xuaW1wb3J0IHsgSUZlZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUZlZSc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWZlZS1zdW1tYXJ5JyxcbiAgdGVtcGxhdGU6IGAgIFxuPGRpdiBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzXCI+XG4gIDxvbCBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzX19saXN0XCI+XG4gICAgPGxpIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbVwiPlxuICAgICAgPGEgW2hyZWZdPVwiJy9mZWUtc2VhcmNoJ1wiICBjbGFzcz1cImdvdnVrLWJhY2stbGluayBnb3Z1ay1sYWJlbFwiPkJhY2s8L2E+XG4gICAgPC9saT5cbiAgPC9vbD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZmVlLXN1bW1hcnlcIiAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdtYWluJ1wiPlxuICA8aDEgY2xhc3M9XCJoZWFkaW5nLWxhcmdlXCI+RmVlIFN1bW1hcnk8L2gxPlxuICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgPGRpdiBjbGFzcz1cImVycm9yLXN1bW1hcnlcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsbGVkYnk9XCJmYWlsdXJlLWVycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctbWVkaXVtIGVycm9yLXN1bW1hcnktaGVhZGluZ1wiIGlkPVwiZmFpbHVyZS1lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIj5cbiAgICAgICAgUGF5bWVudCBHcm91cCBkZXRhaWxzIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWRcbiAgICAgIDwvaDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgXG4gIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCIgICpuZ0lmPVwiIWVycm9yTWVzc2FnZSAmJiBwYXltZW50R3JvdXBcIj5cbiAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiIHNjb3BlPVwiY29sXCI+RmVlIENvZGU8L3RoPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiIHNjb3BlPVwiY29sXCI+RmVlIGRlc2NyaXB0aW9uPC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBzY29wZT1cImNvbFwiPlJlbWlzc2lvbiBjb2RlPC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cInBheW1lbnRHcm91cC5mZWVzXCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IGZlZSBvZiBwYXltZW50R3JvdXAuZmVlc1wiPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGZlZS5jb2RlIH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBmZWUuZGVzY3JpcHRpb24gfX08L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGdldFJlbWlzc2lvbkJ5RmVlQ29kZShmZWUuY29kZSk/Lmh3Zl9yZWZlcmVuY2UgfX08L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCBncmV5LXRleHRcIj5cbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgZ3JleS10ZXh0IHN1YmNvbHVtbi0xXCI+RmVlIGFtb3VudDo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBmZWUuY2FsY3VsYXRlZF9hbW91bnQgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPjxhIGhyZWY9XCJcIj5yZW1vdmUgZmVlPC9hPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgZ3JleS10ZXh0IHN1YmNvbHVtbi0xXCI+Vm9sdW1lOjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IGZlZS52b2x1bWUgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPkZlZSB0b3RhbDo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBmZWUuY2FsY3VsYXRlZF9hbW91bnQgIHwgY3VycmVuY3k6J0dCUCc6J3N5bWJvbC1uYXJyb3cnOicxLjItMicgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPlJlbWlzc2lvbiBhbW91bnQ6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZS5jb2RlKT8uaHdmX2Ftb3VudD8gKCBnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlLmNvZGUpPy5od2ZfYW1vdW50ICB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInKSA6ICctJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPiA8YSAqbmdJZj1cImdldFJlbWlzc2lvbkJ5RmVlQ29kZShmZWUuY29kZSkgPT09IG51bGxcIiAoY2xpY2spPVwiYWRkUmVtaXNzaW9uKGZlZSlcIj5hZGQgcmVtaXNzaW9uPC9hPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgZ3JleS10ZXh0IHN1YmNvbHVtbi0xXCI+VG90YWwgYWZ0ZXIgcmVtaXNzaW9uOjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IGZlZS5uZXRfYW1vdW50ICB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPiBcbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkIHN1YmNvbHVtbi0xXCI+VG90YWwgdG8gYmUgcGFpZDwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IHRvdGFsRmVlIHwgY3VycmVuY3k6J0dCUCc6J3N5bWJvbC1uYXJyb3cnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+IFxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPiBcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwidGFrZVBheW1lbnQoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRvdGFsRmVlIDw9IDBcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0ndG90YWxGZWUgPD0gMCA/IFwiYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJz5cbiAgICAgICAgICAgICAgICBUYWtlIHBheW1lbnRcbiAgICAgICAgICAgICAgPC9idXR0b24+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuPGNjcGF5LWFkZC1yZW1pc3Npb24gKm5nSWY9XCJ2aWV3U3RhdHVzID09PSAnYWRkX3JlbWlzc2lvbicgJiYgY3VycmVudEZlZVwiIFtmZWVdPVwiY3VycmVudEZlZVwiIFtjY2RDYXNlTnVtYmVyXT1cImNjZENhc2VOdW1iZXJcIiBbcGF5bWVudEdyb3VwUmVmXT1cInBheW1lbnRHcm91cFJlZlwiIChjYW5jZWxSZW1pc3Npb24pPVwiY2FuY2VsUmVtaXNzaW9uKClcIj48L2NjcGF5LWFkZC1yZW1pc3Npb24+XG48ZGl2ICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ3BheWh1Yl92aWV3JyAmJiBwYXlodWJIdG1sXCIgW2lubmVySFRNTF09XCJwYXlodWJIdG1sIHwgc2FuaXRpemVIdG1sXCIgaWQ9XCJwYXlodWItaHRtbC1pZFwiPjwvZGl2PmAsXG4gIHN0eWxlczogW2AuZmVlLXN1bW1hcnkgLmdyZXktdGV4dHtjb2xvcjojNmI3Mzc2O2ZvbnQtd2VpZ2h0OjUwMH0uZmVlLXN1bW1hcnkgLmdvdnVrLXRhYmxle21hcmdpbi1ib3R0b206MH0uZmVlLXN1bW1hcnkgLm5vLWJvcmRlcntib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOm5vbmV9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkLC5mZWUtc3VtbWFyeSB0YWJsZSB0aHtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo1MDA7dmVydGljYWwtYWxpZ246dG9wO21heC13aWR0aDozMjBweH0uZmVlLXN1bW1hcnkgdGFibGUgdGQgLm5vLXBhZGRpbmcsLmZlZS1zdW1tYXJ5IHRhYmxlIHRoIC5uby1wYWRkaW5ne3BhZGRpbmc6MH0uZmVlLXN1bW1hcnkgdGFibGUgdGQgLnN1YmNvbHVtbi0xLC5mZWUtc3VtbWFyeSB0YWJsZSB0aCAuc3ViY29sdW1uLTF7d2lkdGg6NDUlfS5mZWUtc3VtbWFyeSB0YWJsZSB0ZCAuc3ViY29sdW1uLTIsLmZlZS1zdW1tYXJ5IHRhYmxlIHRoIC5zdWJjb2x1bW4tMnt3aWR0aDoyNSU7dGV4dC1hbGlnbjpyaWdodH0uZmVlLXN1bW1hcnkgdGFibGUgdGQgLnN1YmNvbHVtbi0zLC5mZWUtc3VtbWFyeSB0YWJsZSB0aCAuc3ViY29sdW1uLTN7d2lkdGg6MzAlO3RleHQtYWxpZ246Y2VudGVyfWBdXG59KVxuXG5leHBvcnQgY2xhc3MgRmVlU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBheW1lbnRHcm91cFJlZjogc3RyaW5nO1xuICBASW5wdXQoKSBjY2RDYXNlTnVtYmVyOiBzdHJpbmc7XG5cbiAgcGF5bWVudEdyb3VwOiBJUGF5bWVudEdyb3VwO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgdmlld1N0YXR1cyA9ICdtYWluJztcbiAgY3VycmVudEZlZTogSUZlZTtcbiAgdG90YWxGZWU6IG51bWJlcjtcbiAgcGF5aHViSHRtbDogU2FmZUh0bWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnRcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcblxuICAvLyAgdGhpcy5wYXltZW50R3JvdXBSZWYgPSAnMjAxOC0xNTMxMDA4OTg4NSc7XG4gIC8vICB0aGlzLnBheW1lbnRHcm91cFJlZiA9ICcyMDE5LTE1NDk2Mjk5MjczJztcblxuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldFBheW1lbnRHcm91cERldGFpbHModGhpcy5wYXltZW50R3JvdXBSZWYsXG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudE1ldGhvZCkuc3Vic2NyaWJlKFxuICAgICAgcGF5bWVudEdyb3VwID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50R3JvdXAgPSBwYXltZW50R3JvdXA7XG4gICAgICAgIHRoaXMudG90YWxGZWUgPSAwO1xuICAgICAgICBpZiAodGhpcy5wYXltZW50R3JvdXAuZmVlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgZmVlIG9mIHRoaXMucGF5bWVudEdyb3VwLmZlZXMpIHtcbiAgICAgICAgICAgIHRoaXMudG90YWxGZWUgPSB0aGlzLnRvdGFsRmVlICsgZmVlLm5ldF9hbW91bnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JcbiAgICApO1xuICB9XG5cbiAgZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZUNvZGU6IHN0cmluZyk6IElSZW1pc3Npb24ge1xuICAgIGlmICh0aGlzLnBheW1lbnRHcm91cCAmJiB0aGlzLnBheW1lbnRHcm91cC5yZW1pc3Npb25zICYmIHRoaXMucGF5bWVudEdyb3VwLnJlbWlzc2lvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCByZW1pc3Npb24gb2YgdGhpcy5wYXltZW50R3JvdXAucmVtaXNzaW9ucykge1xuICAgICAgICBpZiAocmVtaXNzaW9uLmZlZV9jb2RlID09PSBmZWVDb2RlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlbWlzc2lvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGFkZFJlbWlzc2lvbihmZWU6IElGZWUpIHtcbiAgICB0aGlzLmN1cnJlbnRGZWUgPSBmZWU7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ2FkZF9yZW1pc3Npb24nO1xuICB9XG5cbiAgY2FuY2VsUmVtaXNzaW9uKCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcbiAgfVxuXG4gIHRha2VQYXltZW50KCkge1xuICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0gbmV3IFBheW1lbnRUb1BheWh1YlJlcXVlc3QodGhpcy5jY2RDYXNlTnVtYmVyLCB0aGlzLnRvdGFsRmVlKTtcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0UGF5bWVudFRvUGF5SHViKHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgIHRoaXMucGF5aHViSHRtbCA9IHJlc3BvbnNlO1xuICAgICAgICB0aGlzLnZpZXdTdGF0dXMgPSAncGF5aHViX3ZpZXcnO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLXN1bW1hcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9mZWUtc3VtbWFyeS9mZWUtc3VtbWFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVqRixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0lBeUhyQyw2QkFDVSxRQUNBLG9CQUNBO1FBRkEsV0FBTSxHQUFOLE1BQU07UUFDTix1QkFBa0IsR0FBbEIsa0JBQWtCO1FBQ2xCLHdCQUFtQixHQUFuQixtQkFBbUI7MEJBUmhCLE1BQU07S0FTZjs7OztJQUVKLHNDQUFROzs7SUFBUjtRQUFBLGlCQW1CQztRQWxCQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQzs7O1FBS3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUNqRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUNqRCxVQUFBLFlBQVk7WUFDVixLQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUNqQyxLQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNsQixFQUFFLENBQUMsQ0FBQyxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7O29CQUMzQixHQUFHLENBQUMsQ0FBYyxJQUFBLEtBQUEsaUJBQUEsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUEsZ0JBQUE7d0JBQW5DLElBQU0sR0FBRyxXQUFBO3dCQUNaLEtBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO3FCQUNoRDs7Ozs7Ozs7O2FBQ0Y7O1NBQ0YsRUFDRCxVQUFDLEtBQVUsSUFBSyxPQUFBLEtBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxFQUF6QixDQUF5QixDQUMxQyxDQUFDO0tBQ0g7Ozs7O0lBRUQsbURBQXFCOzs7O0lBQXJCLFVBQXNCLE9BQWU7UUFDbkMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBQ2pHLEdBQUcsQ0FBQyxDQUFvQixJQUFBLEtBQUEsaUJBQUEsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUEsZ0JBQUE7b0JBQS9DLElBQU0sU0FBUyxXQUFBO29CQUNsQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7d0JBQ25DLE1BQU0sQ0FBQyxTQUFTLENBQUM7cUJBQ2xCO2lCQUNGOzs7Ozs7Ozs7U0FDRjtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7O0tBQ2I7Ozs7O0lBRUQsMENBQVk7Ozs7SUFBWixVQUFhLEdBQVM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUM7S0FDbkM7Ozs7SUFFRCw2Q0FBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztLQUMxQjs7Ozs7SUFDRCxxREFBdUI7Ozs7SUFBdkIsVUFBd0IsS0FBVTtRQUNoQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsK0JBQTZCLElBQUksQ0FBQyxhQUFlLENBQUMsQ0FBQztLQUM5RTs7OztJQUNELHlDQUFXOzs7SUFBWDtRQUFBLGlCQVdDOztRQVZDLElBQU0sV0FBVyxHQUFHLElBQUksc0JBQXNCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDaEUsVUFBQSxRQUFRO1lBQ04sS0FBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsS0FBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7U0FDakMsRUFDRCxVQUFDLEtBQVU7WUFDVCxLQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQixDQUNGLENBQUM7S0FDSDs7Z0JBckxGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsK3ZLQXNHK0c7b0JBQ3pILE1BQU0sRUFBRSxDQUFDLHdtQkFBd21CLENBQUM7aUJBQ25uQjs7OztnQkE1R08sTUFBTTtnQkFOTCxrQkFBa0I7Z0JBQ2xCLG1CQUFtQjs7O2tDQW9IekIsS0FBSztnQ0FDTCxLQUFLOzs4QkF4SFI7O1NBc0hhLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBheW1lbnRHcm91cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVBheW1lbnRHcm91cCc7XG5pbXBvcnQgeyBQYXltZW50Vmlld1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVtaXNzaW9uJztcbmltcG9ydCB7IElGZWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lGZWUnO1xuaW1wb3J0IHsgUGF5bWVudFRvUGF5aHViUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUGF5bWVudFRvUGF5aHViUmVxdWVzdCc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWZlZS1zdW1tYXJ5JyxcbiAgdGVtcGxhdGU6IGAgIFxuPGRpdiBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzXCI+XG4gIDxvbCBjbGFzcz1cImdvdnVrLWJyZWFkY3J1bWJzX19saXN0XCI+XG4gICAgPGxpIGNsYXNzPVwiZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbVwiPlxuICAgICAgPGEgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIiAgY2xhc3M9XCJnb3Z1ay1iYWNrLWxpbmsgZ292dWstbGFiZWxcIj5CYWNrPC9hPlxuICAgIDwvbGk+XG4gIDwvb2w+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZlZS1zdW1tYXJ5XCIgKm5nSWY9XCJ2aWV3U3RhdHVzID09PSAnbWFpbidcIj5cbiAgPGgxIGNsYXNzPVwiaGVhZGluZy1sYXJnZVwiPkZlZSBTdW1tYXJ5PC9oMT5cbiAgPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJlcnJvci1zdW1tYXJ5XCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbGxlZGJ5PVwiZmFpbHVyZS1lcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCI+XG4gICAgICAgIFBheW1lbnQgR3JvdXAgZGV0YWlscyBjb3VsZCBub3QgYmUgcmV0cmlldmVkXG4gICAgICA8L2gyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIFxuICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICAqbmdJZj1cIiFlcnJvck1lc3NhZ2UgJiYgcGF5bWVudEdyb3VwXCI+XG4gICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBzY29wZT1cImNvbFwiPkZlZSBDb2RlPC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIiBzY29wZT1cImNvbFwiPkZlZSBkZXNjcmlwdGlvbjwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgc2NvcGU9XCJjb2xcIj5SZW1pc3Npb24gY29kZTwvdGg+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgc2NvcGU9XCJjb2xcIj48L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCIgKm5nSWY9XCJwYXltZW50R3JvdXAuZmVlc1wiPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBmZWUgb2YgcGF5bWVudEdyb3VwLmZlZXNcIj5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBmZWUuY29kZSB9fTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgZmVlLmRlc2NyaXB0aW9uIH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlLmNvZGUpPy5od2ZfcmVmZXJlbmNlIH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgZ3JleS10ZXh0XCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPkZlZSBhbW91bnQ6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZmVlLmNhbGN1bGF0ZWRfYW1vdW50IHwgY3VycmVuY3k6J0dCUCc6J3N5bWJvbC1uYXJyb3cnOicxLjItMicgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48YSBocmVmPVwiXCI+cmVtb3ZlIGZlZTwvYT48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPlZvbHVtZTo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBmZWUudm9sdW1lIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5GZWUgdG90YWw6PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0yXCI+e3sgZmVlLmNhbGN1bGF0ZWRfYW1vdW50ICB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInIH19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIHN1YmNvbHVtbi0zXCI+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBncmV5LXRleHQgc3ViY29sdW1uLTFcIj5SZW1pc3Npb24gYW1vdW50OjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tMlwiPnt7IGdldFJlbWlzc2lvbkJ5RmVlQ29kZShmZWUuY29kZSk/Lmh3Zl9hbW91bnQ/ICggZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZS5jb2RlKT8uaHdmX2Ftb3VudCAgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJykgOiAnLScgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj4gPGEgKm5nSWY9XCJnZXRSZW1pc3Npb25CeUZlZUNvZGUoZmVlLmNvZGUpID09PSBudWxsXCIgKGNsaWNrKT1cImFkZFJlbWlzc2lvbihmZWUpXCI+YWRkIHJlbWlzc2lvbjwvYT48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdyZXktdGV4dCBzdWJjb2x1bW4tMVwiPlRvdGFsIGFmdGVyIHJlbWlzc2lvbjo8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyBmZWUubmV0X2Ftb3VudCAgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJyB9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlciBzdWJjb2x1bW4tM1wiPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj4gXG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZCBzdWJjb2x1bW4tMVwiPlRvdGFsIHRvIGJlIHBhaWQ8L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj57eyB0b3RhbEZlZSB8IGN1cnJlbmN5OidHQlAnOidzeW1ib2wtbmFycm93JzonMS4yLTInfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTNcIj48L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXJcIj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwibm8tYm9yZGVyXCI+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cIm5vLWJvcmRlclwiPiBcbiAgICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1ib3JkZXIgc3ViY29sdW1uLTJcIj4gXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInRha2VQYXltZW50KClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0b3RhbEZlZSA8PSAwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109J3RvdGFsRmVlIDw9IDAgPyBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIic+XG4gICAgICAgICAgICAgICAgVGFrZSBwYXltZW50XG4gICAgICAgICAgICAgIDwvYnV0dG9uPjwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbjxjY3BheS1hZGQtcmVtaXNzaW9uICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ2FkZF9yZW1pc3Npb24nICYmIGN1cnJlbnRGZWVcIiBbZmVlXT1cImN1cnJlbnRGZWVcIiBbY2NkQ2FzZU51bWJlcl09XCJjY2RDYXNlTnVtYmVyXCIgW3BheW1lbnRHcm91cFJlZl09XCJwYXltZW50R3JvdXBSZWZcIiAoY2FuY2VsUmVtaXNzaW9uKT1cImNhbmNlbFJlbWlzc2lvbigpXCI+PC9jY3BheS1hZGQtcmVtaXNzaW9uPlxuPGRpdiAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdwYXlodWJfdmlldycgJiYgcGF5aHViSHRtbFwiIFtpbm5lckhUTUxdPVwicGF5aHViSHRtbCB8IHNhbml0aXplSHRtbFwiIGlkPVwicGF5aHViLWh0bWwtaWRcIj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgLmZlZS1zdW1tYXJ5IC5ncmV5LXRleHR7Y29sb3I6IzZiNzM3Njtmb250LXdlaWdodDo1MDB9LmZlZS1zdW1tYXJ5IC5nb3Z1ay10YWJsZXttYXJnaW4tYm90dG9tOjB9LmZlZS1zdW1tYXJ5IC5uby1ib3JkZXJ7Ym9yZGVyOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lfS5mZWUtc3VtbWFyeSB0YWJsZSB0ZCwuZmVlLXN1bW1hcnkgdGFibGUgdGh7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MzIwcHh9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5uby1wYWRkaW5nLC5mZWUtc3VtbWFyeSB0YWJsZSB0aCAubm8tcGFkZGluZ3twYWRkaW5nOjB9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5zdWJjb2x1bW4tMSwuZmVlLXN1bW1hcnkgdGFibGUgdGggLnN1YmNvbHVtbi0xe3dpZHRoOjQ1JX0uZmVlLXN1bW1hcnkgdGFibGUgdGQgLnN1YmNvbHVtbi0yLC5mZWUtc3VtbWFyeSB0YWJsZSB0aCAuc3ViY29sdW1uLTJ7d2lkdGg6MjUlO3RleHQtYWxpZ246cmlnaHR9LmZlZS1zdW1tYXJ5IHRhYmxlIHRkIC5zdWJjb2x1bW4tMywuZmVlLXN1bW1hcnkgdGFibGUgdGggLnN1YmNvbHVtbi0ze3dpZHRoOjMwJTt0ZXh0LWFsaWduOmNlbnRlcn1gXVxufSlcblxuZXhwb3J0IGNsYXNzIEZlZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwYXltZW50R3JvdXBSZWY6IHN0cmluZztcbiAgQElucHV0KCkgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuXG4gIHBheW1lbnRHcm91cDogSVBheW1lbnRHcm91cDtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHZpZXdTdGF0dXMgPSAnbWFpbic7XG4gIGN1cnJlbnRGZWU6IElGZWU7XG4gIHRvdGFsRmVlOiBudW1iZXI7XG4gIHBheWh1Ykh0bWw6IFNhZmVIdG1sO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwYXltZW50Vmlld1NlcnZpY2U6IFBheW1lbnRWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnRcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcblxuICAvLyAgdGhpcy5wYXltZW50R3JvdXBSZWYgPSAnMjAxOC0xNTMxMDA4OTg4NSc7XG4gIC8vICB0aGlzLnBheW1lbnRHcm91cFJlZiA9ICcyMDE5LTE1NDk2Mjk5MjczJztcblxuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldFBheW1lbnRHcm91cERldGFpbHModGhpcy5wYXltZW50R3JvdXBSZWYsXG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudE1ldGhvZCkuc3Vic2NyaWJlKFxuICAgICAgcGF5bWVudEdyb3VwID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50R3JvdXAgPSBwYXltZW50R3JvdXA7XG4gICAgICAgIHRoaXMudG90YWxGZWUgPSAwO1xuICAgICAgICBpZiAodGhpcy5wYXltZW50R3JvdXAuZmVlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgZmVlIG9mIHRoaXMucGF5bWVudEdyb3VwLmZlZXMpIHtcbiAgICAgICAgICAgIHRoaXMudG90YWxGZWUgPSB0aGlzLnRvdGFsRmVlICsgZmVlLm5ldF9hbW91bnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3JcbiAgICApO1xuICB9XG5cbiAgZ2V0UmVtaXNzaW9uQnlGZWVDb2RlKGZlZUNvZGU6IHN0cmluZyk6IElSZW1pc3Npb24ge1xuICAgIGlmICh0aGlzLnBheW1lbnRHcm91cCAmJiB0aGlzLnBheW1lbnRHcm91cC5yZW1pc3Npb25zICYmIHRoaXMucGF5bWVudEdyb3VwLnJlbWlzc2lvbnMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCByZW1pc3Npb24gb2YgdGhpcy5wYXltZW50R3JvdXAucmVtaXNzaW9ucykge1xuICAgICAgICBpZiAocmVtaXNzaW9uLmZlZV9jb2RlID09PSBmZWVDb2RlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlbWlzc2lvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGFkZFJlbWlzc2lvbihmZWU6IElGZWUpIHtcbiAgICB0aGlzLmN1cnJlbnRGZWUgPSBmZWU7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJ2FkZF9yZW1pc3Npb24nO1xuICB9XG5cbiAgY2FuY2VsUmVtaXNzaW9uKCkge1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcbiAgfVxuICByZWRpcmVjdFRvRmVlU2VhcmNoUGFnZShldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC9mZWUtc2VhcmNoP2NjZENhc2VOdW1iZXI9JHt0aGlzLmNjZENhc2VOdW1iZXJ9YCk7XG4gIH1cbiAgdGFrZVBheW1lbnQoKSB7XG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgUGF5bWVudFRvUGF5aHViUmVxdWVzdCh0aGlzLmNjZENhc2VOdW1iZXIsIHRoaXMudG90YWxGZWUpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RQYXltZW50VG9QYXlIdWIocmVxdWVzdEJvZHkpLnN1YnNjcmliZShcbiAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgdGhpcy5wYXlodWJIdG1sID0gcmVzcG9uc2U7XG4gICAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdwYXlodWJfdmlldyc7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"PaymentLibService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setApiRootUrl":[{"__symbolic":"method"}],"getApiRootUrl":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PaymentLibComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"ccpay-payment-lib","template":"\n <ccpay-payment-list *ngIf=\"viewName === 'payment-list'\"></ccpay-payment-list>\n <ccpay-payment-view *ngIf=\"viewName === 'payment-view'\"></ccpay-payment-view>\n <ccpay-case-transactions *ngIf=\"viewName === 'case-transactions'\"></ccpay-case-transactions>\n <ccpay-fee-summary *ngIf=\"viewName === 'fee-summary'\"\n [ccdCaseNumber]=\"CCD_CASE_NUMBER\" [paymentGroupRef]=\"paymentGroupReference\"></ccpay-fee-summary>\n "}]}],"members":{"API_ROOT":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3},"arguments":["API_ROOT"]}]}],"CCD_CASE_NUMBER":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3},"arguments":["CCD_CASE_NUMBER"]}]}],"PAYMENT_METHOD":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3},"arguments":["PAYMENT_METHOD"]}]}],"VIEW":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3},"arguments":["VIEW"]}]}],"PAYMENT_GROUP_REF":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3},"arguments":["PAYMENT_GROUP_REF"]}]}],"TAKEPAYMENT":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3},"arguments":["TAKEPAYMENT"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":29,"character":30},{"__symbolic":"reference","name":"PaymentLibService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"PaymentLibModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":26,"character":4}],"declarations":[{"__symbolic":"reference","name":"PaymentLibComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"}],"exports":[{"__symbolic":"reference","name":"PaymentLibComponent"}],"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useClass":{"__symbolic":"reference","name":"ɵs"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ccpay-payment-list","template":"<div class=\"govuk-width-container\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payments list could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!errorMessage && payments\">\n\n <table class=\"table\">\n <tr>\n <th class=\"bold font-xsmall\">Payment Group reference</th>\n <th class=\"bold font-xsmall\">Payment reference</th>\n <th class=\"bold font-xsmall\">Date created</th>\n <th class=\"bold font-xsmall\">Channel</th>\n <th class=\"bold font-xsmall\">Method</th>\n <th class=\"bold font-xsmall\">Amount</th>\n <th class=\"bold font-xsmall\">Status</th>\n </tr>\n <tr *ngFor=\"let payment of payments.payments\">\n <td class=\"font-xsmall\">\n <a href=\"javascript:void(0)\" (click)=\"loadPaymentViewComponent(payment.payment_group_reference, payment.payment_reference, payment.method)\">{{ payment.payment_group_reference }}</a>\n <td class=\"font-xsmall\">{{ payment.payment_reference }}</td>\n <td class=\"font-xsmall\">{{ payment.date_created | date:'dd MMM yyyy hh:mm:ss' }}</td>\n <td class=\"font-xsmall\">{{ payment.channel | titlecase }}</td>\n <td class=\"font-xsmall\">{{ payment.method | titlecase }}</td>\n <td class=\"font-xsmall\">£{{ payment.amount | number:'.2' }}</td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'online'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Failed'\">\n <div *ngFor=\"let statusHistory of payment.status_histories\">\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0010'\">\n Payment rejected due to payment method selected or payment information entered, for example, failed fraud check, a 3D Secure authentication failure, or the user does not have enough money in account\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0020'\">\n Payment was not confirmed and completed within 90 minutes of being created\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0030'\">\n User clicked on the “Cancel payment” button during the payment journey\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0050'\">\n Multiple possible causes, for example a configuration problem with the payment provider, or incorrect login credentials\n </p>\n </div>\n </div>\n </details>\n </td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'telephony'\" class=\"font-xsmall\">\n {{ payment.status}}\n </td>\n <td *ngIf=\"payment.method === 'payment by account'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Pending'\">\n <p class=\"font-xsmall\">This means the transaction is being processed by Liberata.</p>\n </div>\n </details>\n </td>\n </tr>\n </table>\n\n </div>\n\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"loadPaymentViewComponent":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getPaymentByCcdCaseNumber":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"invokeConsoleMethod":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"handleError":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"ccpay-payment-view","template":"<div class=\"govuk-width-container\">\n\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goToPaymentList()\" class=\"govuk-back-link\">Back to payments</a>\n </li>\n </ol>\n </div>\n\n <main class=\"govuk-main-wrapper \" id=\"main-content\" role=\"main\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!errorMessage && paymentGroup\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h2 class=\"govuk-heading-m\">Payment details</h2>\n </div>\n </div>\n\n <table>\n <tbody>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Payment group reference</td>\n <td>{{ paymentGroup.payment_group_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Payment reference</td>\n <td>{{ paymentGroup.payments[0].reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Total payment amount</td>\n <td>£{{ paymentGroup.payments[0].amount | number:'.2' }}</td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h2 class=\"heading-medium\">Fee and remission details</h2>\n </div>\n </div>\n\n <div *ngFor=\"let fee of paymentGroup.fees\">\n <table class=\"table\">\n <tbody>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Description</td>\n <td>Application for {{ paymentGroup.payments[0].service_name }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Fee code</td>\n <td>{{ fee.code }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Fee amount</td>\n <td>£{{ fee.calculated_amount | number:'.2' }}</td>\n </tr>\n <tr *ngIf=\"fee.net_amount\">\n <td class=\"bold\" width=\"330px\">Net amount</td>\n <td>£{{ fee.net_amount | number:'.2' }}</td>\n </tr>\n <tr *ngIf=\"paymentGroup.remissions?.length > 0\">\n <td class=\"bold\" width=\"330px\">Remission code</td>\n <td>{{paymentGroup.remissions[0].hwf_reference}}</td>\n </tr>\n <tr *ngIf=\"paymentGroup.remissions?.length > 0\">\n <td class=\"bold\" width=\"330px\">Remission amount</td>\n <td>£{{ paymentGroup.remissions[0].hwf_amount | number:'.2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- card details -->\n <ccpay-card-details *ngIf=\"isCardPayment && !isTelephonyPayment\"></ccpay-card-details>\n\n <!-- pba details -->\n <ccpay-pba-details *ngIf=\"!isCardPayment\" [payment]=\"paymentGroup.payments[0]\"></ccpay-pba-details>\n\n <!-- Status histories -->\n <ccpay-payment-statuses></ccpay-payment-statuses>\n\n </div>\n\n </main>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"goToPaymentList":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":22,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"addHeaders":[{"__symbolic":"method"}],"getPaymentDetails":[{"__symbolic":"method"}],"getPaymentGroupDetails":[{"__symbolic":"method"}],"postPaymentGroupWithRemissions":[{"__symbolic":"method"}],"postPaymentToPayHub":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"ccpay-card-details","template":"\n<div class=\"column\">\n <h2 class=\"heading-medium\">Payment method</h2>\n</div>\n\n<div role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n Payment method unavailable, The payment has either expired or unsuccessful.\n</div>\n\n<div *ngIf=\"!errorMessage && cardDetails\">\n\n<table>\n <tbody>\n <tr>\n <td class=\"bold\" width=\"330px\">Method</td>\n <td>Card</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Type</td>\n <td>{{ cardDetails.card_brand }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Name on card</td>\n <td>{{ cardDetails.cardholder_name }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Card number</td>\n <td>**** **** **** {{ cardDetails.last_digits_card_number }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Card expiry date</td>\n <td>{{ cardDetails.expiry_date}}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Email</td>\n <td>{{ cardDetails.email }}</td>\n </tr>\n </tbody>\n</table>\n</div>\n\n\n\n<!--<div class=\"container\">-->\n <!--<fieldset class=\"col-md-12\">-->\n <!--<button class=\"button\" routerLink=\"/payment-view/{{ getPaymentReference }}\">Back</button>-->\n <!--</fieldset>-->\n<!--</div>-->\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getCardDetails":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"template":"\n <h1>This is not the page you were looking for!</h1>\n "}]}],"members":{}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"ccpay-payment-statuses","template":"<div class=\"column\">\n <h2 class=\"heading-medium\">{{ pageTitle }}</h2>\n</div>\n\n\n<div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment status history could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf=\"!errorMessage && statuses\">\n <table>\n <tbody>\n <tr *ngFor=\"let status of statuses.status_histories\">\n <td class=\"bold\">Payment {{ status.status }}</td>\n <td>£{{ statuses.amount | number:'.2' }}</td>\n <td>{{ status.date_created | date:'dd MMM yyyy hh:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getPaymentStatusesByReference":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"ccpay-pba-details","template":"<div class=\"grid-row\">\n <div class=\"column\">\n <h2 class=\"heading-medium\">Payment method</h2>\n </div>\n</div>\n\n\n<div>\n <table>\n <tbody>\n <tr>\n <td class=\"bold\" width=\"330px\">Method</td>\n <td>{{ payment.method | titlecase }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Type</td>\n <td>Credit</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n","styles":[""]}]}],"members":{"payment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"ccpay-case-transactions","template":"<div class=\"govuk-width-container\">\n <div class=\"govuk-breadcrumbs govuk-!-padding-bottom-1\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a [href]=\"'/ccd-search'\" class=\"govuk-back-link\">Back to case search</a>\n </li>\n </ol>\n </div>\n <main class=\"govuk-main-wrapper\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Case transactions</h1>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\" *ngIf=\"takePayment\">\n <a (click)=\"redirectToFeeSearchPage($event)\" class=\"button\">Add a new fee</a>\n </div>\n </div>\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6\">\n <h3 class=\"heading-medium\">CCD case reference number:</h3>\n <span>{{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header\" scope=\"col\">Outstanding balance</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ (totalFees - totalRemissions) - totalPayments | currency :'GBP':'symbol':'1.2-2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n\n <!-- No fees start -->\n <div *ngIf=\"paymentGroups?.length === 0\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h3 class=\"heading-medium\">Fees</h3>\n </div>\n\n <div class=\"govuk-grid-column-two-thirds\" align=\"left\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee total</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\" colspan=\"4\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">£0.00</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <!-- No fees end -->\n\n <div *ngFor=\"let paymentGroup of paymentGroups\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h2 class=\"heading-large\">Fees</h2>\n </div>\n\n <div class=\"govuk-grid-column-two-thirds\" align=\"left\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee total</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ fee.volume }}</td>\n <td class=\"govuk-table__cell\">{{ fee.calculated_amount }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{ getGroupOutstandingAmount(paymentGroup) | currency :'GBP':'symbol':'1.2-2' }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <div class=\"govuk-inset-text\" *ngIf=\"paymentGroup.payments || paymentGroup.remissions\">\n <!-- payments -->\n <table class=\"govuk-table\">\n <caption class=\"heading-medium headgovuk-table__caption\">Payments</caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Channel</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Status</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of paymentGroup.payments\">\n <td class=\"govuk-table__cell\">{{ payment.reference }}</td>\n <td class=\"govuk-table__cell\">{{ payment.date_created | date:'dd MMM yyyy hh:mm:ss' }}</td>\n <td class=\"govuk-table__cell\">{{ payment.channel }}</td>\n <td class=\"govuk-table__cell\">{{ payment.method }}</td>\n <td class=\"govuk-table__cell\">{{ payment.amount }}</td>\n <td class=\"govuk-table__cell\">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n\n <!-- remissions -->\n <table class=\"govuk-table\">\n <caption class=\"heading-medium headgovuk-table__caption\">Remissions</caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Remission reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee applied against</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission amount</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of paymentGroup.remissions\">\n <td class=\"govuk-table__cell\">{{ remission.remission_reference }}</td>\n <td class=\"govuk-table__cell\">{{ remission.date_created | date:'dd MMM yyyy hh:mm:ss' }}</td>\n <td class=\"govuk-table__cell\">{{ remission.hwf_reference }}</td>\n <td class=\"govuk-table__cell\">{{ remission.fee_code }}</td>\n <td class=\"govuk-table__cell\">{{ remission.hwf_amount }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"5\">No remissions recorded</td>\n </tbody>\n </table>\n\n <div *ngIf=\"takePayment\">\n <button type=\"submit\" (click)=\"loadFeeSummaryPage(paymentGroup)\"\n [disabled]=\"getGroupOutstandingAmount(paymentGroup) === 0\"\n [ngClass]='getGroupOutstandingAmount(paymentGroup) === 0 ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Add payment\n </button>\n\n <button type=\"submit\" disabled=\"disabled\" aria-disabled=\"true\" class=\"button button--disabled\">\n Add remission\n </button>\n </div>\n </div>\n </div>\n </main>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":231,"character":30},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"setDefaults":[{"__symbolic":"method"}],"calculateAmounts":[{"__symbolic":"method"}],"getGroupOutstandingAmount":[{"__symbolic":"method"}],"redirectToFeeSearchPage":[{"__symbolic":"method"}],"loadFeeSummaryPage":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getPaymentGroups":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"ccpay-fee-summary","template":" \n<div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a [href]=\"'/fee-search'\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n</div>\n\n<div class=\"fee-summary\" *ngIf=\"viewStatus === 'main'\">\n <h1 class=\"heading-large\">Fee Summary</h1>\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment Group details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n \n <table class=\"govuk-table\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee Code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee description</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Remission code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class=\"govuk-table__cell grey-text\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee amount:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"><a href=\"\">remove fee</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Volume:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.volume }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee total:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Remission amount:</td>\n <td class=\"no-border subcolumn-2\">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}</td>\n <td class=\"no-border subcolumn-3\"> <a *ngIf=\"getRemissionByFeeCode(fee.code) === null\" (click)=\"addRemission(fee)\">add remission</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Total after remission:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border govuk-!-font-weight-bold subcolumn-1\">Total to be paid</td>\n <td class=\"no-border subcolumn-2\">{{ totalFee | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border subcolumn-2\"> \n <button type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0\"\n [ngClass]='totalFee <= 0 ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n<ccpay-add-remission *ngIf=\"viewStatus === 'add_remission' && currentFee\" [fee]=\"currentFee\" [ccdCaseNumber]=\"ccdCaseNumber\" [paymentGroupRef]=\"paymentGroupRef\" (cancelRemission)=\"cancelRemission()\"></ccpay-add-remission>\n<div *ngIf=\"viewStatus === 'payhub_view' && payhubHtml\" [innerHTML]=\"payhubHtml | sanitizeHtml\" id=\"payhub-html-id\"></div>","styles":[".fee-summary .grey-text{color:#6b7376;font-weight:500}.fee-summary .govuk-table{margin-bottom:0}.fee-summary .no-border{border:none;border-bottom:none}.fee-summary table td,.fee-summary table th{font-size:15px;font-weight:500;vertical-align:top;max-width:320px}.fee-summary table td .no-padding,.fee-summary table th .no-padding{padding:0}.fee-summary table td .subcolumn-1,.fee-summary table th .subcolumn-1{width:45%}.fee-summary table td .subcolumn-2,.fee-summary table th .subcolumn-2{width:25%;text-align:right}.fee-summary table td .subcolumn-3,.fee-summary table th .subcolumn-3{width:30%;text-align:center}"]}]}],"members":{"paymentGroupRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":118,"character":3}}]}],"ccdCaseNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"getRemissionByFeeCode":[{"__symbolic":"method"}],"addRemission":[{"__symbolic":"method"}],"cancelRemission":[{"__symbolic":"method"}],"takePayment":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ccpay-add-remission","template":"<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"viewStatus === 'main'\">\n <h1 class=\"heading-large\">Add remission</h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': remissionCodeHasError}\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n Add remission to {{ fee.code }}:{{ fee.description }}\n <span class=\"form-hint\" [ngClass]=\"{'inline-error-message': remissionCodeHasError}\">Enter remission for reference. For example: HWF-A1B-23C</span>\n </label>\n <input class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n </div>\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': amountHasError}\">\n <label class=\"govuk-label govuk-label--s\" [ngClass]=\"{'inline-error-message': amountHasError}\" for=\"amount\">\n How much does the applicant need to pay?\n </label>\n \n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">£</div>\n <input class=\"govuk-input govuk-input--width-10\" id=\"amount\" name=\"amount\" type=\"text\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n </div>\n </div> \n </form>\n <button class=\"button\" type=\"submit\" (click)=\"addRemission()\">\n Add remission\n </button>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'confirmation'\">\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission code:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code:</td>\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee description:</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Amount the applicant must pay:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission.emit()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\" (click)=\"confirmRemission()\">\n Confirm\n </button>\n \n </ng-container>\n \n</div>\n\n","styles":[".add-remission .button{margin-top:20px;margin-left:2px;margin-right:2px}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px}.add-remission .inline-error-message{color:#a71414;font-weight:700}"]}]}],"members":{"fee":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"ccdCaseNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":3}}]}],"paymentGroupRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"cancelRemission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":105,"character":35},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"addRemission":[{"__symbolic":"method"}],"resetRemissionForm":[{"__symbolic":"method"}],"confirmRemission":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":1,"character":1},"arguments":[{"name":"ccdHyphens"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"transform":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"sanitizeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"invokeConsoleMethod":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"PaymentLibService":"./lib/payment-lib.service","PaymentLibComponent":"./lib/payment-lib.component","PaymentLibModule":"./lib/payment-lib.module","ɵa":"./lib/components/payment-list/payment-list.component","ɵb":"./lib/services/payment-list/payment-list.service","ɵc":"./lib/services/shared/logger/logger.service","ɵd":"./lib/services/shared/error-handler.service","ɵe":"./lib/components/payment-view/payment-view.component","ɵf":"./lib/services/payment-view/payment-view.service","ɵg":"./lib/components/card-details/card-details.component","ɵh":"./lib/services/card-details/card-details.service","ɵi":"./lib/components/page-not-found.component","ɵj":"./lib/components/status-history/status-history.component","ɵk":"./lib/services/status-history/status-history.service","ɵl":"./lib/components/pba-details/pba-details.component","ɵm":"./lib/components/case-transactions/case-transactions.component","ɵn":"./lib/services/case-transactions/case-transactions.service","ɵo":"./lib/components/fee-summary/fee-summary.component","ɵp":"./lib/components/add-remission/add-remission.component","ɵq":"./lib/pipes/ccd-hyphens.pipe","ɵr":"./lib/pipes/sanitize-html.pipe","ɵs":"./lib/services/shared/logger/console-logger.service"},"importAs":"@hmcts/ccpay-web-component"}
{"__symbolic":"module","version":4,"metadata":{"PaymentLibService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setApiRootUrl":[{"__symbolic":"method"}],"getApiRootUrl":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"PaymentLibComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"ccpay-payment-lib","template":"\n <ccpay-payment-list *ngIf=\"viewName === 'payment-list'\"></ccpay-payment-list>\n <ccpay-payment-view *ngIf=\"viewName === 'payment-view'\"></ccpay-payment-view>\n <ccpay-case-transactions *ngIf=\"viewName === 'case-transactions'\"></ccpay-case-transactions>\n <ccpay-fee-summary *ngIf=\"viewName === 'fee-summary'\"\n [ccdCaseNumber]=\"CCD_CASE_NUMBER\" [paymentGroupRef]=\"paymentGroupReference\"></ccpay-fee-summary>\n "}]}],"members":{"API_ROOT":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3},"arguments":["API_ROOT"]}]}],"CCD_CASE_NUMBER":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3},"arguments":["CCD_CASE_NUMBER"]}]}],"PAYMENT_METHOD":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3},"arguments":["PAYMENT_METHOD"]}]}],"VIEW":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3},"arguments":["VIEW"]}]}],"PAYMENT_GROUP_REF":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3},"arguments":["PAYMENT_GROUP_REF"]}]}],"TAKEPAYMENT":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3},"arguments":["TAKEPAYMENT"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":29,"character":30},{"__symbolic":"reference","name":"PaymentLibService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"PaymentLibModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":26,"character":4}],"declarations":[{"__symbolic":"reference","name":"PaymentLibComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"}],"exports":[{"__symbolic":"reference","name":"PaymentLibComponent"}],"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useClass":{"__symbolic":"reference","name":"ɵs"}}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ccpay-payment-list","template":"<div class=\"govuk-width-container\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payments list could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!errorMessage && payments\">\n\n <table class=\"table\">\n <tr>\n <th class=\"bold font-xsmall\">Payment Group reference</th>\n <th class=\"bold font-xsmall\">Payment reference</th>\n <th class=\"bold font-xsmall\">Date created</th>\n <th class=\"bold font-xsmall\">Channel</th>\n <th class=\"bold font-xsmall\">Method</th>\n <th class=\"bold font-xsmall\">Amount</th>\n <th class=\"bold font-xsmall\">Status</th>\n </tr>\n <tr *ngFor=\"let payment of payments.payments\">\n <td class=\"font-xsmall\">\n <a href=\"javascript:void(0)\" (click)=\"loadPaymentViewComponent(payment.payment_group_reference, payment.payment_reference, payment.method)\">{{ payment.payment_group_reference }}</a>\n <td class=\"font-xsmall\">{{ payment.payment_reference }}</td>\n <td class=\"font-xsmall\">{{ payment.date_created | date:'dd MMM yyyy hh:mm:ss' }}</td>\n <td class=\"font-xsmall\">{{ payment.channel | titlecase }}</td>\n <td class=\"font-xsmall\">{{ payment.method | titlecase }}</td>\n <td class=\"font-xsmall\">£{{ payment.amount | number:'.2' }}</td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'online'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Failed'\">\n <div *ngFor=\"let statusHistory of payment.status_histories\">\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0010'\">\n Payment rejected due to payment method selected or payment information entered, for example, failed fraud check, a 3D Secure authentication failure, or the user does not have enough money in account\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0020'\">\n Payment was not confirmed and completed within 90 minutes of being created\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0030'\">\n User clicked on the “Cancel payment” button during the payment journey\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0050'\">\n Multiple possible causes, for example a configuration problem with the payment provider, or incorrect login credentials\n </p>\n </div>\n </div>\n </details>\n </td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'telephony'\" class=\"font-xsmall\">\n {{ payment.status}}\n </td>\n <td *ngIf=\"payment.method === 'payment by account'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Pending'\">\n <p class=\"font-xsmall\">This means the transaction is being processed by Liberata.</p>\n </div>\n </details>\n </td>\n </tr>\n </table>\n\n </div>\n\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"loadPaymentViewComponent":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getPaymentByCcdCaseNumber":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"invokeConsoleMethod":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"handleError":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"ccpay-payment-view","template":"<div class=\"govuk-width-container\">\n\n <div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a href=\"javascript:void(0)\" (click)=\"goToPaymentList()\" class=\"govuk-back-link\">Back to payments</a>\n </li>\n </ol>\n </div>\n\n <main class=\"govuk-main-wrapper \" id=\"main-content\" role=\"main\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!errorMessage && paymentGroup\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h2 class=\"govuk-heading-m\">Payment details</h2>\n </div>\n </div>\n\n <table>\n <tbody>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Payment group reference</td>\n <td>{{ paymentGroup.payment_group_reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Payment reference</td>\n <td>{{ paymentGroup.payments[0].reference }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Total payment amount</td>\n <td>£{{ paymentGroup.payments[0].amount | number:'.2' }}</td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h2 class=\"heading-medium\">Fee and remission details</h2>\n </div>\n </div>\n\n <div *ngFor=\"let fee of paymentGroup.fees\">\n <table class=\"table\">\n <tbody>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Description</td>\n <td>Application for {{ paymentGroup.payments[0].service_name }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Fee code</td>\n <td>{{ fee.code }}</td>\n </tr>\n <tr class=\"section\">\n <td class=\"bold\" width=\"330px\">Fee amount</td>\n <td>£{{ fee.calculated_amount | number:'.2' }}</td>\n </tr>\n <tr *ngIf=\"fee.net_amount\">\n <td class=\"bold\" width=\"330px\">Net amount</td>\n <td>£{{ fee.net_amount | number:'.2' }}</td>\n </tr>\n <tr *ngIf=\"paymentGroup.remissions?.length > 0\">\n <td class=\"bold\" width=\"330px\">Remission code</td>\n <td>{{paymentGroup.remissions[0].hwf_reference}}</td>\n </tr>\n <tr *ngIf=\"paymentGroup.remissions?.length > 0\">\n <td class=\"bold\" width=\"330px\">Remission amount</td>\n <td>£{{ paymentGroup.remissions[0].hwf_amount | number:'.2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- card details -->\n <ccpay-card-details *ngIf=\"isCardPayment && !isTelephonyPayment\"></ccpay-card-details>\n\n <!-- pba details -->\n <ccpay-pba-details *ngIf=\"!isCardPayment\" [payment]=\"paymentGroup.payments[0]\"></ccpay-pba-details>\n\n <!-- Status histories -->\n <ccpay-payment-statuses></ccpay-payment-statuses>\n\n </div>\n\n </main>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"goToPaymentList":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":22,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"addHeaders":[{"__symbolic":"method"}],"getPaymentDetails":[{"__symbolic":"method"}],"getPaymentGroupDetails":[{"__symbolic":"method"}],"postPaymentGroupWithRemissions":[{"__symbolic":"method"}],"postPaymentToPayHub":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"ccpay-card-details","template":"\n<div class=\"column\">\n <h2 class=\"heading-medium\">Payment method</h2>\n</div>\n\n<div role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n Payment method unavailable, The payment has either expired or unsuccessful.\n</div>\n\n<div *ngIf=\"!errorMessage && cardDetails\">\n\n<table>\n <tbody>\n <tr>\n <td class=\"bold\" width=\"330px\">Method</td>\n <td>Card</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Type</td>\n <td>{{ cardDetails.card_brand }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Name on card</td>\n <td>{{ cardDetails.cardholder_name }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Card number</td>\n <td>**** **** **** {{ cardDetails.last_digits_card_number }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Card expiry date</td>\n <td>{{ cardDetails.expiry_date}}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Email</td>\n <td>{{ cardDetails.email }}</td>\n </tr>\n </tbody>\n</table>\n</div>\n\n\n\n<!--<div class=\"container\">-->\n <!--<fieldset class=\"col-md-12\">-->\n <!--<button class=\"button\" routerLink=\"/payment-view/{{ getPaymentReference }}\">Back</button>-->\n <!--</fieldset>-->\n<!--</div>-->\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getCardDetails":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"template":"\n <h1>This is not the page you were looking for!</h1>\n "}]}],"members":{}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"ccpay-payment-statuses","template":"<div class=\"column\">\n <h2 class=\"heading-medium\">{{ pageTitle }}</h2>\n</div>\n\n\n<div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment status history could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf=\"!errorMessage && statuses\">\n <table>\n <tbody>\n <tr *ngFor=\"let status of statuses.status_histories\">\n <td class=\"bold\">Payment {{ status.status }}</td>\n <td>£{{ statuses.amount | number:'.2' }}</td>\n <td>{{ status.date_created | date:'dd MMM yyyy hh:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":15,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getPaymentStatusesByReference":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"ccpay-pba-details","template":"<div class=\"grid-row\">\n <div class=\"column\">\n <h2 class=\"heading-medium\">Payment method</h2>\n </div>\n</div>\n\n\n<div>\n <table>\n <tbody>\n <tr>\n <td class=\"bold\" width=\"330px\">Method</td>\n <td>{{ payment.method | titlecase }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Type</td>\n <td>Credit</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">PBA account name</td>\n <td>{{ payment.organisation_name }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">PBA number</td>\n <td>{{ payment.account_number }}</td>\n </tr>\n <tr>\n <td class=\"bold\" width=\"330px\">Customer internal reference</td>\n <td>{{ payment.customer_reference }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n","styles":[""]}]}],"members":{"payment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"ccpay-case-transactions","template":"<div class=\"govuk-width-container\">\n <div class=\"govuk-breadcrumbs govuk-!-padding-bottom-1\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a [href]=\"'/ccd-search'\" class=\"govuk-back-link\">Back to case search</a>\n </li>\n </ol>\n </div>\n <main class=\"govuk-main-wrapper\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Case transactions</h1>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\" *ngIf=\"takePayment\">\n <a (click)=\"redirectToFeeSearchPage($event)\" class=\"button\">Add a new fee</a>\n </div>\n </div>\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds govuk-!-padding-bottom-6\">\n <h3 class=\"heading-medium\">CCD case reference number:</h3>\n <span>{{ ccdCaseNumber | ccdHyphens }}</span>\n </div>\n\n <div class=\"govuk-grid-column-full govuk-!-padding-bottom-3\">\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Total payments</td>\n <td class=\"govuk-table__header\" scope=\"col\">Total remissions</td>\n <td class=\"govuk-table__header\" scope=\"col\">Outstanding balance</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{ totalPayments | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ totalRemissions | currency :'GBP':'symbol':'1.2-2' }}</td>\n <td class=\"govuk-table__cell\">{{ (totalFees - totalRemissions) - totalPayments | currency :'GBP':'symbol':'1.2-2'}}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n\n <!-- No fees start -->\n <div *ngIf=\"paymentGroups?.length === 0\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h3 class=\"heading-medium\">Fees</h3>\n </div>\n\n <div class=\"govuk-grid-column-two-thirds\" align=\"left\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee total</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\" colspan=\"4\">No fees recorded</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">£0.00</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <!-- No fees end -->\n\n <div *ngFor=\"let paymentGroup of paymentGroups\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <h2 class=\"heading-large\">Fees</h2>\n </div>\n\n <div class=\"govuk-grid-column-two-thirds\" align=\"left\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Description</td>\n <td class=\"govuk-table__header\" scope=\"col\">Volume</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee total</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ fee.volume }}</td>\n <td class=\"govuk-table__cell\">{{ fee.calculated_amount }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"govuk-grid-column-one-third\" align=\"right\">\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Group amount outstanding</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">{{ getGroupOutstandingAmount(paymentGroup) | currency :'GBP':'symbol':'1.2-2' }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <div class=\"govuk-inset-text\" *ngIf=\"paymentGroup.payments || paymentGroup.remissions\">\n <!-- payments -->\n <table class=\"govuk-table\">\n <caption class=\"heading-medium headgovuk-table__caption\">Payments</caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Payment reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Channel</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Status</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let payment of paymentGroup.payments\">\n <td class=\"govuk-table__cell\">{{ payment.reference }}</td>\n <td class=\"govuk-table__cell\">{{ payment.date_created | date:'dd MMM yyyy hh:mm:ss' }}</td>\n <td class=\"govuk-table__cell\">{{ payment.channel }}</td>\n <td class=\"govuk-table__cell\">{{ payment.method }}</td>\n <td class=\"govuk-table__cell\">{{ payment.amount }}</td>\n <td class=\"govuk-table__cell\">{{ payment.status }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.payments?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No payments recorded</td>\n </tbody>\n </table>\n\n <!-- remissions -->\n <table class=\"govuk-table\">\n <caption class=\"heading-medium headgovuk-table__caption\">Remissions</caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\">Remission reference</td>\n <td class=\"govuk-table__header\" scope=\"col\">Date created</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission code</td>\n <td class=\"govuk-table__header\" scope=\"col\">Fee applied against</td>\n <td class=\"govuk-table__header\" scope=\"col\">Remission amount</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length > 0\">\n <tr class=\"govuk-table__row\" *ngFor=\"let remission of paymentGroup.remissions\">\n <td class=\"govuk-table__cell\">{{ remission.remission_reference }}</td>\n <td class=\"govuk-table__cell\">{{ remission.date_created | date:'dd MMM yyyy hh:mm:ss' }}</td>\n <td class=\"govuk-table__cell\">{{ remission.hwf_reference }}</td>\n <td class=\"govuk-table__cell\">{{ remission.fee_code }}</td>\n <td class=\"govuk-table__cell\">{{ remission.hwf_amount }}</td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.remissions?.length === 0\">\n <td class=\"govuk-table__cell\" colspan=\"5\">No remissions recorded</td>\n </tbody>\n </table>\n\n <div *ngIf=\"takePayment\">\n <button type=\"submit\" (click)=\"loadFeeSummaryPage(paymentGroup)\"\n [disabled]=\"getGroupOutstandingAmount(paymentGroup) === 0\"\n [ngClass]='getGroupOutstandingAmount(paymentGroup) === 0 ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Add payment\n </button>\n\n <button type=\"submit\" disabled=\"disabled\" aria-disabled=\"true\" class=\"button button--disabled\">\n Add remission\n </button>\n </div>\n </div>\n </div>\n </main>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":231,"character":30},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"setDefaults":[{"__symbolic":"method"}],"calculateAmounts":[{"__symbolic":"method"}],"getGroupOutstandingAmount":[{"__symbolic":"method"}],"redirectToFeeSearchPage":[{"__symbolic":"method"}],"loadFeeSummaryPage":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":28},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"PaymentLibService"}]}],"getPaymentGroups":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ccpay-fee-summary","template":" \n<div class=\"govuk-breadcrumbs\">\n <ol class=\"govuk-breadcrumbs__list\">\n <li class=\"govuk-breadcrumbs__list-item\">\n <a (click)=\"redirectToFeeSearchPage($event)\" class=\"govuk-back-link govuk-label\">Back</a>\n </li>\n </ol>\n</div>\n\n<div class=\"fee-summary\" *ngIf=\"viewStatus === 'main'\">\n <h1 class=\"heading-large\">Fee Summary</h1>\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment Group details could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n \n <table class=\"govuk-table\" *ngIf=\"!errorMessage && paymentGroup\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee Code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Fee description</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\">Remission code</th>\n <th class=\"govuk-table__header govuk-!-font-weight-bold\" scope=\"col\"></th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"paymentGroup.fees\">\n <tr class=\"govuk-table__row\" *ngFor=\"let fee of paymentGroup.fees\">\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n <td class=\"govuk-table__cell\">{{ getRemissionByFeeCode(fee.code)?.hwf_reference }}</td>\n <td class=\"govuk-table__cell grey-text\">\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee amount:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"><a href=\"\">remove fee</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Volume:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.volume }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Fee total:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.calculated_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Remission amount:</td>\n <td class=\"no-border subcolumn-2\">{{ getRemissionByFeeCode(fee.code)?.hwf_amount? ( getRemissionByFeeCode(fee.code)?.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2') : '-' }}</td>\n <td class=\"no-border subcolumn-3\"> <a *ngIf=\"getRemissionByFeeCode(fee.code) === null\" (click)=\"addRemission(fee)\">add remission</a></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border grey-text subcolumn-1\">Total after remission:</td>\n <td class=\"no-border subcolumn-2\">{{ fee.net_amount | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border govuk-!-font-weight-bold subcolumn-1\">Total to be paid</td>\n <td class=\"no-border subcolumn-2\">{{ totalFee | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n <td class=\"no-border subcolumn-3\"></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n <tr class=\"govuk-table__row\">\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"></td>\n <td class=\"no-border\"> \n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"no-border subcolumn-2\"> \n <button type=\"submit\" (click)=\"takePayment()\"\n [disabled]=\"totalFee <= 0\"\n [ngClass]='totalFee <= 0 ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'>\n Take payment\n </button></td>\n </tr>\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n<ccpay-add-remission *ngIf=\"viewStatus === 'add_remission' && currentFee\" [fee]=\"currentFee\" [ccdCaseNumber]=\"ccdCaseNumber\" [paymentGroupRef]=\"paymentGroupRef\" (cancelRemission)=\"cancelRemission()\"></ccpay-add-remission>\n<div *ngIf=\"viewStatus === 'payhub_view' && payhubHtml\" [innerHTML]=\"payhubHtml | sanitizeHtml\" id=\"payhub-html-id\"></div>","styles":[".fee-summary .grey-text{color:#6b7376;font-weight:500}.fee-summary .govuk-table{margin-bottom:0}.fee-summary .no-border{border:none;border-bottom:none}.fee-summary table td,.fee-summary table th{font-size:15px;font-weight:500;vertical-align:top;max-width:320px}.fee-summary table td .no-padding,.fee-summary table th .no-padding{padding:0}.fee-summary table td .subcolumn-1,.fee-summary table th .subcolumn-1{width:45%}.fee-summary table td .subcolumn-2,.fee-summary table th .subcolumn-2{width:25%;text-align:right}.fee-summary table td .subcolumn-3,.fee-summary table th .subcolumn-3{width:30%;text-align:center}"]}]}],"members":{"paymentGroupRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"ccdCaseNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":130,"character":20},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"getRemissionByFeeCode":[{"__symbolic":"method"}],"addRemission":[{"__symbolic":"method"}],"cancelRemission":[{"__symbolic":"method"}],"redirectToFeeSearchPage":[{"__symbolic":"method"}],"takePayment":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ccpay-add-remission","template":"<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"viewStatus === 'main'\">\n <h1 class=\"heading-large\">Add remission</h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': remissionCodeHasError}\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n Add remission to {{ fee.code }}:{{ fee.description }}\n <span class=\"form-hint\" [ngClass]=\"{'inline-error-message': remissionCodeHasError}\">Enter remission for reference. For example: HWF-A1B-23C</span>\n </label>\n <input class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n </div>\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': amountHasError}\">\n <label class=\"govuk-label govuk-label--s\" [ngClass]=\"{'inline-error-message': amountHasError}\" for=\"amount\">\n How much does the applicant need to pay?\n </label>\n \n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">£</div>\n <input class=\"govuk-input govuk-input--width-10\" id=\"amount\" name=\"amount\" type=\"text\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n </div>\n </div> \n </form>\n <button class=\"button\" type=\"submit\" (click)=\"addRemission()\">\n Add remission\n </button>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'confirmation'\">\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission code:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code:</td>\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee description:</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Amount the applicant must pay:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission.emit()\">\n Cancel\n </button>\n <button type=\"submit\" class=\"button\" (click)=\"confirmRemission()\">\n Confirm\n </button>\n \n </ng-container>\n \n</div>\n\n","styles":[".add-remission .button{margin-top:20px;margin-left:2px;margin-right:2px}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px}.add-remission .inline-error-message{color:#a71414;font-weight:700}"]}]}],"members":{"fee":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"ccdCaseNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":3}}]}],"paymentGroupRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"cancelRemission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":105,"character":35},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"PaymentLibComponent"}]}],"ngOnInit":[{"__symbolic":"method"}],"addRemission":[{"__symbolic":"method"}],"resetRemissionForm":[{"__symbolic":"method"}],"confirmRemission":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":1,"character":1},"arguments":[{"name":"ccdHyphens"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"transform":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"sanitizeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"invokeConsoleMethod":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"PaymentLibService":"./lib/payment-lib.service","PaymentLibComponent":"./lib/payment-lib.component","PaymentLibModule":"./lib/payment-lib.module","ɵa":"./lib/components/payment-list/payment-list.component","ɵb":"./lib/services/payment-list/payment-list.service","ɵc":"./lib/services/shared/logger/logger.service","ɵd":"./lib/services/shared/error-handler.service","ɵe":"./lib/components/payment-view/payment-view.component","ɵf":"./lib/services/payment-view/payment-view.service","ɵg":"./lib/components/card-details/card-details.component","ɵh":"./lib/services/card-details/card-details.service","ɵi":"./lib/components/page-not-found.component","ɵj":"./lib/components/status-history/status-history.component","ɵk":"./lib/services/status-history/status-history.service","ɵl":"./lib/components/pba-details/pba-details.component","ɵm":"./lib/components/case-transactions/case-transactions.component","ɵn":"./lib/services/case-transactions/case-transactions.service","ɵo":"./lib/components/fee-summary/fee-summary.component","ɵp":"./lib/components/add-remission/add-remission.component","ɵq":"./lib/pipes/ccd-hyphens.pipe","ɵr":"./lib/pipes/sanitize-html.pipe","ɵs":"./lib/services/shared/logger/console-logger.service"},"importAs":"@hmcts/ccpay-web-component"}

@@ -8,3 +8,5 @@ import { OnInit } from '@angular/core';

import { SafeHtml } from '@angular/platform-browser';
import { Router } from '@angular/router';
export declare class FeeSummaryComponent implements OnInit {
private router;
private paymentViewService;

@@ -20,3 +22,3 @@ private paymentLibComponent;

payhubHtml: SafeHtml;
constructor(paymentViewService: PaymentViewService, paymentLibComponent: PaymentLibComponent);
constructor(router: Router, paymentViewService: PaymentViewService, paymentLibComponent: PaymentLibComponent);
ngOnInit(): void;

@@ -26,3 +28,4 @@ getRemissionByFeeCode(feeCode: string): IRemission;

cancelRemission(): void;
redirectToFeeSearchPage(event: any): void;
takePayment(): void;
}
{
"name": "@hmcts/ccpay-web-component",
"version": "2.0.20",
"version": "2.0.21",
"publishConfig": {

@@ -5,0 +5,0 @@ "access": "public"

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet