/*! For license information please see items-embed-bundle.js.LICENSE.txt */(self.webpackChunkfareharbor_com=self.webpackChunkfareharbor_com||[]).push([[630],{81501:function(e,t,n){n(16280),n(76918),n(15086),n(26099),n(27495),n(71761),function(){"use strict";angular.module("auth.directives",[]).config(["$compileProvider","d",function(e,t){var n=function(n,r){if(!r.parse||!r.permission)throw new Error("auth: "+n+": invalid directive definition");var i=function(e,t){return!t.ngCanOnce||e.$eval(t.ngCanOnce)};return e.directive(n,t.conditionalDirective({name:n,watch:["$injector","$parse","auth",function(e,o,a){var s=t.safeInvoke(e,r.permission),c=t.safeInvoke(e,r.parse);return function(e,t,r){var a,u=c(r),l=r.ngCanOnlyWhen?o(r.ngCanOnlyWhen):_.always,d=r.ngCanAlsoWhen?o(r.ngCanAlsoWhen):_.never,p=i(e,r),m=!0;return function(){try{return!!d(e)||!!l(e)&&(p&&!m?t=a:(t=a=s(u(e)),m=!1),t);var t}catch(e){throw console.error("auth: "+n+": error checking permission for arguments: "+r[n]),e}}}}],once:function(e,t,n){return!n.ngCanOnlyWhen&&!n.ngCanAlsoWhen&&i(e,n)},operator:function(e,t,n){return function(t){return n.ngThen&&(e[n.ngThen]=t),t}}}))},r=function(e,t){return n(e,{parse:["$parse",function(t){return function(n){return t(n[e])}}],permission:["auth",function(e){return function(n){return e.permissions.can(t.permission,n)}}]})};r("ngCanView",{permission:"view"}),r("ngCanUpdate",{permission:"update"}),r("ngCanRemove",{permission:"remove"}),r("ngCanAdminView",{permission:"adminView"}),r("ngCanAdminUpdate",{permission:"adminUpdate"}),r("ngCanViewAmounts",{permission:"viewAmounts"}),r("ngCanViewDashboardSection",{permission:"viewDashboardSection"}),r("ngCanViewAdminSection",{permission:"viewAdminSection"}),r("ngCanViewManifestSection",{permission:"viewManifestSection"}),r("ngCanViewInvoiceAmounts",{permission:"viewInvoiceAmounts"});var i=function(e,t){return n(e,{parse:["$parse",function(t){return function(n){var r=n[e].match(/^\s*([\s\S]+)\s+on\s+([\s\S]+)\s*$/);if(!r)throw new Error("auth: "+e+": expected expression of the form '_type_ on _object_'");var i=r[1],o=t(r[2]);return function(e){return{cls:i,owner:o(e)}}}}],permission:["auth",function(e){return function(n){return e.permissions.can(t.permission,n.cls,n.owner)}}]})};i("ngCanCreate",{permission:"create"}),i("ngCanList",{permission:"list"}),i("ngCanClear",{permission:"update"}),i("ngCanAdminCreate",{permission:"adminCreate"}),i("ngCanAdminList",{permission:"adminList"}),n("ngCan",{parse:["$parse",function(e){return function(t){var n=t.ngCan.match(/^\s*([\s\S]+)\s+on\s+([\s\S]+)\s*$/),r=t.ngCan.match(/^\s*([\s\S]+)\s+on\s+([\s\S]+)\s+with\s+([\s\S]+)\s*$/);if(!n&&!r)throw new Error("auth: ng-can: expected expression of the form '_type_ on _object_' or '_type_ on _model_ with _object_'");var i=n[1],o=_.never,a=_.never;return r?(o=e(r[2]),a=e(r[3])):a=e(n[2]),function(e){return{permission:i,object:a(e),cls:o(e)}}}}],permission:["auth",function(e){return function(t){return t.cls?e.permissions.can(t.permission,t.cls,t.object):e.permissions.can(t.permission,t.object)}}]}),n("ngCanAny",{parse:["$parse",function(e){return function(t){var n,r,i=e(t.ngCanAny);return t.ngCanAnyWith?(n=e(t.ngCanAnyOn),r=e(t.ngCanAnyWith)):(n=_.never,r=e(t.ngCanAnyOn)),function(e){return{permissions:i(e),object:r(e),cls:n(e)}}}}],permission:["auth",function(e){return function(t){return t.cls?_.some(t.permissions,(function(n){return e.permissions.can(n,t.cls,t.object)})):_.some(t.permissions,(function(n){return e.permissions.can(n,t.object)}))}}]})}])}()},19195:function(e,t,n){"use strict";n(27495),n(25440);var r,i=n(72422),o=n(31176),a=n(63025);(r=angular.module("auth.controllers",["lib","navigation"])).controller("auth.LoginProviderErrorCtrl",["$scope","navigation",function(e,t){var n=t.get("status")||"",r=t.get("message")||T("Unable to log in via single sign-on.");t.clear("status",!0),t.clear("message",!0),e.errorMessage="","error"===n&&(e.errorMessage=r)}]),r.controller("auth.LoginCtrl",["$scope","navigation",function(e,t){var n=function(e){return e.replace(/\s+/g,"").toLowerCase()},r=t.get("shortname")||"";e.credentials={shortname:r},e.isSessionExpired=t.get("isSessionExpired")||!1,t.clear("isSessionExpired",!0);var o=t.get("next");e.submit=function(r){if(e.credentials.shortname){var a=i.D.populate(i.D.company.login,{shortname:n(e.credentials.shortname)});o&&(a=t.compose(a,{next:o})),t.navigate(a)}}}]),r.controller("auth.CompanyLoginCtrl",["$scope","auth","navigation","tracking",function(e,t,n,r){var s=n.currentCompany?n.currentCompany.shortname:"",c=n.get("username")||"";n.clear("username",!0),e.isSessionExpired=n.get("isSessionExpired")||!1,n.clear("isSessionExpired",!0),e.credentials={shortname:s,username:c,password:""},e.isForceReloadingAfterSuccess=!1;var u=n.get("next"),l="yes"===n.get("require");if(!l&&t.currentUser.isAuthenticated&&s===t.currentUser.company.shortname)return n.redirect(u||t.currentUser.company.$url(i.D.dashboard.index),"replace"),void(e.isForceReloadingAfterSuccess=!0);if(e.differentCompanyLoginUrl=i.D.root.login,u){var d={next:u};l&&(d.require="yes"),e.differentCompanyLoginUrl=n.compose(e.differentCompanyLoginUrl,d)}e.isOTPVerificationRequired=!1,e.maskedPhoneNumber=null,e.otpResponse=null,e.isSubmittingOtp=!1,e.isRequestingNewOtp=!1,e.goBack=function(){e.maskedPhoneNumber=null,e.isOTPVerificationRequired=!1,e.credentials={shortname:e.credentials.shortname}},e.otpSubmit=function(t){e.isSubmittingOtp=!0,e.credentials.otp_code=t,r.track(e,"mfa-login-submit-otp-code",{shortname:e.credentials.shortname}),e.submit(e.loginForm)},e.requestNewOtp=function(){e.isRequestingNewOtp=!0,delete e.credentials.otp_code,r.track(e,"mfa-login-request-new-opt-code",{shortname:e.credentials.shortname}),e.submit(e.loginForm)},e.submit=function(s){t.login(e.credentials,s).then((function(){var o=u||t.currentUser.company.$url(i.D.dashboard.index);e.isForceReloadingAfterSuccess=(a.db.slipstream("targetLanguage")||"")!==e.company.language,n.navigate(o,null,e.isForceReloadingAfterSuccess),r.track(e,"click-login-button",{"is-credential-valid":!0},"dashboard")}),(function(t){if(t.data.passwordChangeToken){var a={token:t.data.passwordChangeToken,shortname:e.credentials.shortname,username:e.credentials.username,isPasswordChangeRequired:!0},s=n.compose(i.D.root.forgot.resetPassword,a);n.navigate(s)}else{if(e.isSubmittingOtp=!1,e.isRequestingNewOtp=!1,400===t.status){var c,u,l;if("authentication_error"===t.data.type)return o.j.clear(),r.track(e,"mfa-login-view-mfa-step",{shortname:e.credentials.shortname,"error-code":null===(c=t.data)||void 0===c||null===(c=c.errors)||void 0===c||null===(c=c[0])||void 0===c?void 0:c.code}),e.isOTPVerificationRequired=!0,e.maskedPhoneNumber=(null===(u=t.data)||void 0===u||null===(u=u.errors)||void 0===u||null===(u=u[0])||void 0===u?void 0:u.maskedPhoneNumber)||e.maskedPhoneNumber,e.otpResponse=t.data,void("otp_code_required"===(null===(l=e.otpResponse)||void 0===l||null===(l=l.errors)||void 0===l||null===(l=l[0])||void 0===l?void 0:l.code)&&(e.otpResponse.errors[0].code=null));r.track(e,"click-login-button",{"is-credential-valid":!1},"dashboard")}429!==t.status&&(e.credentials.password="")}}))},e.providerLogin=function(){e.isForceReloadingAfterSuccess=!0;var t=n.currentCompany.$url(i.D.api.providerLogin);u&&(t=n.compose(t,{next:u})),n.navigate(t,"extend",!0)},e.LOGIN_PROVIDER_OPTION="login-provider",e.FAREHARBOR_OPTION="fareharbor",e.isShowingLoginOptions=n.currentCompany.features.isLoginProviderEnabled&&!n.currentCompany.features.isLoginProviderRequired,e.currentLoginOption=e.isShowingLoginOptions?"":n.currentCompany.features.isLoginProviderEnabled?e.LOGIN_PROVIDER_OPTION:e.FAREHARBOR_OPTION,e.selectLoginOption=function(t){e.currentLoginOption=t||""}}]),r.controller("auth.ForgotPasswordCtrl",["$scope","navigation",function(e,t){var n=t.get("shortname")||"";t.clear("shortname",!0);var r=t.get("username")||"";t.clear("username",!0),e.alreadyHasCompany=!!n,e.credentials={shortname:n,username:r},e.submit=function(n){a.db.forgot.password({},e.credentials,n).$promise.then((function(){o.j.success(T("An email has been sent to the address associated with this account.")),t.navigate(i.D.root.login)}))}}]),r.controller("auth.ResetPasswordCtrl",["$scope","clientOptions","navigation",function(e,t,n){var r=n.get("shortname")||"";n.clear("shortname",!0);var s=n.get("username")||"";n.clear("username",!0);var c,u=n.get("token")||"";if(n.clear("token",!0),t.preview&&((c={}).preview=t.preview),e.isPasswordChangeRequired=!!n.get("isPasswordChangeRequired"),n.clear("isPasswordChangeRequired",!0),e.company=a.db.company({shortname:r},null,null,c),!r||!s||!u)return o.j.error(T("Bad password reset link")),void n.navigate(i.D.root.login);e.credentials={token:u,username:s,shortname:r,password:""},e.submit=function(t){a.db.forgot.password.reset({shortname:r},e.credentials,t).$promise.then((function(){o.j.success(T("Your password has been changed."));var e=i.D.populate(i.D.company.login,{shortname:r});n.navigate(e)}))}}]),r.controller("auth.ForgotCredentialsCtrl",["$scope","navigation",function(e,t){e.credentials={email:""},e.submit=function(n){var r=e.credentials.email;a.db.forgot.credentials({},e.credentials,n).$promise.then((function(){o.j.success(T("We emailed you at")+" <b>"+r+"</b>."),t.navigate(i.D.root.login)}))}}]),n(81501),n(16280),n(76918),n(50113),n(51629),n(74423),n(25276),n(62062),n(13609),n(26099),n(58940),n(3362),n(21699),n(23500);var s,c=n(1425),u=n(65047),l=n(7492);(s=angular.module("auth.services",["lib.services"])).factory("auth",["$browser","$http","$injector","$q","$rootScope","$timeout","events","models",function(e,t,n,r,o,s,d,p){var m=this,f=["canUpdateOnlyFutureBookings","canViewOnlyCrewedAvailabilities"],h=["canView","canList"],g=a.db.slipstream("isReadonlyEnabled"),v={isAuthenticated:!1},y={},b=function(e){var t=X.currentUser;return(e=e||t.company)&&t.isAuthenticated&&t.company&&t.company===e},T=function(){var e=X.currentUser;return e.isAuthenticated&&e.company&&e.company.isAdmin},E=function(e){return e.affiliation&&e.affiliation.affiliateCompany===X.currentUser.company},k={},C={},A=function(e,t){if(X.currentUser.isAuthenticated){var n=t.uri,r=C[n];return _.isUndefined(r)?(r=S(e,t),C[n]=r,r):r}},P=function(){C={}};d.on(o,"auth.login",P),d.on(o,"auth.logout",P),d.on(o,"auth.clearEffectiveGroupCache",P);var S=function(e,t){var n,r;if(X.currentUser.company===t)n=X.currentUser.group;else if(X.currentUser.company.isAdmin)(n=X.currentUser.adminGroup)&&!function(e,t){var n=e.conditions.maxCompanyTier;if(_.isNumber(n)){var r=t.features?t.features.tier:null;if(_.isNumber(r)&&r>n)return!1}return!0}(n,t)&&(n=null);else if(X.currentUser.company.isAffiliate){var i=_.find(X.currentUser.company.partners,{company:t});X.currentUser.partnerGroup&&i&&i.affiliateGroup&&(r={groupPermissions:_.omitBy(i.affiliateGroup.groupPermissions,(function(e,t){return!(e&&_.get(X.currentUser.partnerGroup.groupPermissions,t,!1))}))},_.forEach(f,(function(e){(i.affiliateGroup.groupPermissions[e]||X.currentUser.partnerGroup.groupPermissions[e])&&(r.groupPermissions[e]=!0)})))}if(!n){var o=_.find(X.currentUser.relatedGroupOverrides,{company:t});o||(o=_.find(X.currentUser.company.relatedGroupOverrides,{company:t,relatedUser:null})),o&&(n=o.group||X.currentUser.group)}if(n=n||r)return n;console.warn("auth: user with no effective group",X.currentUser,e,t)},O=function(e){if(!e)throw console.error("auth: invalid permission",this,e,this.cls),new Error("auth: invalid permission");if(e="can"+_.upperFirst(e),F.call(this,e)){var t=k[this.cls][e];return t?U.call(this,t):(console.error("auth: invalid permission configuration",this,e,k,t),!1)}return!1},R=function(e){var t,n,r;if(2===arguments.length?(n=(t=arguments[1])?t.cls:"",r=p.Company.forObject(t)):3===arguments.length?(t=null,(n=arguments[1])&&!_.isString(n)&&(n=n.cls),r=arguments[2]):console.error("auth: invalid arguments when checking permission",arguments),_.isUndefined(t))throw console.error("auth: invalid object when checking permission",e,t),new Error("auth: invalid object when checking permission "+e);if(!n)throw console.error("auth: invalid class when checking permission",e,n,r),new Error("auth: invalid class when checking permission "+e);if(!r)throw console.error("auth: invalid owner when checking permission",e,n,r),new Error("auth: invalid owner when checking permission "+e);var i=p.Company.forObject(r);if(!i)throw console.error("auth: invalid company when checking permission",e,n,r,t),new Error("auth: invalid company when checking permission "+e);var o=A(t,i),a={company:i,instance:t,owner:r,cls:n,group:o,permissions:o?o.groupPermissions:{},can:O};i!==r&&(a[_.uncapitalize(r.cls)]=r);var s=k[n].init;return s&&s.call(a),O.call(a,e)},I=function(e){return function(){var t=_.toArray(arguments);return t.unshift(e),R.apply(this,t)}};y.canView=I("view"),y.canUpdate=I("update"),y.canRemove=I("remove"),y.canAdminView=I("adminView"),y.canAdminUpdate=I("adminUpdate"),y.canCreate=I("create"),y.canList=I("list"),y.canAdminCreate=I("adminCreate"),y.canAdminList=I("adminList"),y.can=R;var w=function(e,t,n){t=t||!1,n=_.isUndefined(n)?t:n;var r="canView"+(e=_.upperFirst(e)),i="canEdit"+e,o="canEditPrivateProperties"+e,a="canViewPrivateProperties"+e;return{canView:function(){return!!t||this.permissions[r]},canList:function(){return!!n||this.permissions[r]},canCreate:i,canUpdate:i,canRemove:i,canClear:i,canAdminUpdate:o,canAdminCreate:o,canAdminView:a,canAdminList:a}},D=function(e,t){if(!this||!this.permissions)throw console.error("auth: this context needed to check canUpdatePastBooking",this),new Error("auth: this context needed");if(!(e=e||this.booking))throw console.error("auth: booking reference needed to check canUpdatePastBooking",this),new Error("auth: booking reference needed");return t&&e.availability.company.features.isLimitedPastBookingUpdatesEnabled||e.item.isRetail||!this.permissions.canUpdateOnlyFutureBookings||!p.Availability.isInPast(e.availability)},N=function(e,t){var n=(t=t||{}).field||"booking";e=_.upperFirst(e);var r=t.permissionOverrides||{},i=!!_.isUndefined(t.checkPastBooking)||t.checkPastBooking,o=t.isLimitedPastBookingUpdate||!1,a=r.canView||"canView"+e,s=r.canList||"canView"+e,c=r.canCreate||"canEdit"+e,u=r.canUpdate||"canEdit"+e,l=r.canRemove||"canEdit"+e;return _.assign(w(e,t.canAlwaysView,t.canAlwaysList),{init:function(){this.instance&&(this.booking=_.getDotted(this.instance,n))},canView:function(){return!this.group||!!R("view",this.booking)&&this.permissions[a]},canList:function(){return!this.group||!!R("view",this.booking)&&this.permissions[s]},canCreate:function(){return!!R("update",this.booking)&&!(this.booking&&i&&!D.call(this,this.booking,o))&&this.permissions[c]},canUpdate:function(){return!!R("update",this.booking)&&!(i&&!D.call(this,this.booking,o))&&this.permissions[u]},canRemove:function(){return!!R("update",this.booking)&&!(i&&!D.call(this,this.booking,o))&&this.permissions[l]}})},U=function(e){return _.isFunction(e)?e.apply(this):_.isString(e)?this.permissions[e]||!1:void 0},F=function(e){return!(g&&!_.find(h,(function(t){return 0===e.indexOf(t)})))},L=function(e,t){return function(){e=_.isArray(e)?e:[e];var n=!0,r=_.clone(this);return r.cls=r.company.cls,!!F.call(this,t)&&(_.forEach(e,(function(e){if(!r.can(e)||!F.call(this,e))return n=!1,!1})),n&&U.call(this,t))}};k[p.Company.cls]=w("company",!0),k[p.Company.cls].canCreate=function(){return!!T()&&this.permissions.canEditCompanies},k[p.Company.cls].canRemove=function(){return this.instance!==X.currentUser.company&&this.can("create")},k[p.Company.cls].canUpdateCompanyWebsite="canEditCompany",k[p.Company.cls].canUpdateCompanyPayments=L("viewAmounts","canEditAccounting"),k[p.Company.cls].canEditAccounting=L("viewAmounts","canEditAccounting"),k[p.Company.cls].canEditTransportation="canEditTransportation",k[p.Company.cls].canDuplicateAcrossCompanies=function(){return X.currentUser.company.isAdmin&&this.permissions.canEditTransportation},k[p.Company.cls].canViewAmounts=function(){return!this.group&&!X.currentUser.isAuthenticated||this.permissions.canViewAmounts},k[p.Company.cls].canViewInvoiceAmounts="canViewInvoiceAmounts",k[p.Company.cls].canViewPricing=L("viewAmounts","canViewSheets"),k[p.Company.cls].canUpdatePricing=L("viewAmounts","canEditPricing"),k[p.Company.cls].canViewAdminSection=function(){return!!X.currentUser.isAuthenticated&&X.currentUser.company.isAdmin&&this.permissions.canViewAdminSection},k[p.Company.cls].canViewDashboardSection="canViewDashboardSection",k[p.Company.cls].canViewItemsSection="canViewItemsSection",k[p.Company.cls].canViewSettingsSection="canViewSettingsSection",k[p.Company.cls].canViewBookingsSection="canViewBookingsSection",k[p.Company.cls].canViewManifestSection="canViewManifestSection",k[p.Company.cls].canSkipContactName=function(){return T()||this.permissions.canSkipContactName};var M=function(e,t){return!!T()||!!X.currentUser.isAuthenticated&&e.permissions["canSkipContact"+_.upperFirst(t)]};k[p.Company.cls].canSkipContactEmail=function(){return M(this,"email")},k[p.Company.cls].canSkipContactPhone=function(){return M(this,"phone")},k[p.Company.cls].canViewReports="canViewReports",k[p.Company.cls].canViewNetworkSettings="canViewNetworkSettings",k[p.Company.cls].canEditNetwork="canEditNetwork",k[p.Company.cls].canCancel=function(){return this.permissions.canCancelBookings},k[p.Company.cls].canCancelEligible=function(){return this.permissions.canCancelEligibleBookings},k[p.Company.cls].canAdminUpdatePaymentSettings=function(){return T()&&this.can("update")&&this.permissions.canEditPrivatePropertiesCompanyPayments},k[p.Company.cls].canEditCompanySalesperson=function(){return T()&&this.can("update")&&this.permissions.canEditPrivatePropertyCompanySalesperson},k[p.Company.cls].canEditSheets="canEditSheets",k[p.Company.cls].canViewOtherUsers="canViewOtherUsers",k[p.TagGroup.cls]=w("tags",!0);var x=function(){return!!T()&&this.permissions.canEditTags};k[p.TagGroup.cls].canCreate=x,k[p.TagGroup.cls].canUpdate=x,k[p.TagGroup.cls].canRemove=x,k[p.Tag.cls]=k[p.TagGroup.cls],k[p.TagInstance.cls]=w("tagInstances",!0);var B=function(){return!!T()&&!!R("update",this.owner)&&this.permissions.canEditTagInstances};k[p.TagInstance.cls].canCreate=B,k[p.TagInstance.cls].canUpdate=B,k[p.TagInstance.cls].canRemove=B,k[p.CustomManifest.cls]=w("customManifests"),k[p.CustomCalendar.cls]=w("customCalendars"),k[p.CustomReport.cls]=w("customReports"),k[p.Role.cls]=w("roles"),k[p.CrewMember.cls]=w("crewMembers"),k[p.CrewMember.cls].canCreateSelfAssignable="canEditCrewMembersSelfAssignable";var G=function(){return this.instance.user===X.currentUser&&this.permissions.canEditCrewMembersSelfAssignable};k[p.CrewMember.cls].canUpdate=function(){return!!this.permissions.canEditCrewMembers||G.call(this)},k[p.CrewMember.cls].canRemove=function(){return!!this.permissions.canEditCrewMembers||G.call(this)},k[p.CrewMember.cls].canCreate=function(){return this.permissions.canEditCrewMembers},k[p.Group.cls]=w("groups"),k[p.GroupOverride.cls]=w("groups"),k[p.User.cls]=w("users",!0),k[p.User.cls].canUpdate=function(){return this.instance===X.currentUser||this.permissions.canEditUsers},k[p.User.cls].canRemove=function(){return this.instance!==X.currentUser&&this.permissions.canEditUsers},k[p.Agent.cls]=w("agents",!0),k[p.Agent.cls].canCreate=function(){return!!this.permissions.canEditAgents||!!this.affiliation&&!!b(this.affiliation.affiliateCompany)&&R("create",p.Agent,this.affiliation.affiliateCompany)},k[p.Desk.cls]=w("desks",!0),k[p.Desk.cls].canCreate=function(){return!!this.permissions.canEditDesks||!!this.affiliation&&(b(this.affiliation.affiliateCompany)?R("create",p.Desk,this.affiliation.affiliateCompany):void 0)},k[p.Affiliation.cls]=w("network"),k[p.Affiliation.cls].canView=function(){return!!this.permissions.canViewNetwork||!!this.instance&&R("view",p.Affiliation,this.instance.affiliateCompany)},k[p.Affiliation.cls].canRemove=function(){return!!T()||!!this.instance&&!this.instance.affiliateCompany.isFhdn&&(!!this.permissions.canEditNetwork||R("remove",p.Affiliation,this.instance.affiliateCompany))},k[p.AvailabilityHeadline.cls]=w("items",!0),k[p.AvailabilityHeadline.cls].canListAssociatedItems="canListAssociatedItems",k[p.CannedMessage.cls]=w("cannedMessages"),k[p.CannedMessage.cls].canListAssociatedItems="canListAssociatedItems",k[p.Item.cls]=w("items",!0),k[p.Item.cls].canView=function(){return!this.instance.isPrivate||this.permissions.canViewItems},k[p.Item.cls].canViewPrivate="canViewPrivateItems",k[p.Item.cls].canUpdateLedger=function(){return this.can("update")&&this.permissions.canViewAccounting&&this.permissions.canEditAccounting},k[p.Item.cls].canUpdateCheckinStatuses=function(){return this.permissions.canEditCheckinStatuses},k[p.Item.cls].canDuplicate=function(){return this.can("create")&&this.permissions.canDuplicateItems},k[p.FlowNode.cls]=w("flowNodes",!0),k[p.Combo.cls]=w("combos",!0),k[p.Proposal.cls]=w("bookings",!0),k[p.Proposal.cls].canUpdate=function(){return this.permissions.canEditBookings&&(b(this.company)||T())},k[p.Proposal.cls].canUpdateStatus="canEditProposalStatus";var $=function(){return b(m.company)||T()};k[p.PaymentSchedule.cls]=w("paymentSchedules"),k[p.PaymentSchedule.cls].canList=$,k[p.PaymentSchedule.cls].canView=$,k[p.PaymentRule.cls]=w("paymentSchedules"),k[p.PaymentRule.cls].canList=$,k[p.PaymentRule.cls].canView=$;var Y,V=function(){return b(m.company)||T()};k[p.Contract.cls]=w("paymentSchedules"),k[p.Contract.cls].canList=V,k[p.Contract.cls].canView=V,k[p.Image.cls]=w("images",!0),k[p.CustomField.cls]=w("customFields",!0),k[p.CustomField.cls].canListAssociatedItems="canListAssociatedItems",k[p.CustomField.cls].canViewPrivate="canViewPrivateCustomFields",k[p.ExtendedOption.cls]=w("customFields",!0),k[p.TransportationOption.cls]=w("customFields",!0),k[p.ConnectedCampaign.cls]=w("customFields",!0,!1),k[p.ConnectedWaiver.cls]=w("customFields",!0,!1),k[p.GeneratingCampaign.cls]=w("customFields",!0),k[p.CustomFieldInstance.cls]=w("customFields",!0),k[p.CustomFieldInstanceCondition.cls]=w("customFields",!0),k[p.CustomFieldInstanceGroup.cls]=w("customFields",!0),k[p.CustomFieldInstanceGroup.cls].canListAssociatedItems="canListAssociatedItems",k[p.Availability.cls]=w("availabilities",!0),k[p.Availability.cls].canCreate=function(){return!this.permissions.canViewOnlyCrewedAvailabilities&&this.permissions.canCreateAvailabilities},k[p.Availability.cls].canBookClosed="canBookClosedAvailabilities",k[p.Availability.cls].canOverbook="canOverbookAvailabilities",k[p.Availability.cls].canBookCancelled="canBookCancelledAvailabilities",k[p.Availability.cls].canBookUnbookable=function(){return b(this.company)||this.permissions.canBookClosedAvailabilities||this.permissions.canOverbookAvailabilities},k[p.Availability.cls].canSelectExclusiveSeatGroup=function(){return b(this.company)||T()},k[p.Availability.cls].canUpdateMultiple=function(){return!this.permissions.canViewOnlyCrewedAvailabilities&&this.permissions.canEditMultipleAvailabilities},k[p.Availability.cls].canViewCapacities="canViewAvailabilityCapacities",k[p.Availability.cls].canReportOn="canViewAvailabilities",k[p.Availability.cls].canViewOnlyCrewed="canViewOnlyCrewedAvailabilities",k[p.Availability.cls].canUpdateLedger=function(){return this.can("update")&&this.permissions.canViewAccounting&&this.permissions.canEditAccounting},k[p.CustomerType.cls]=w("customerTypes",!0),k[p.CustomerType.cls].canListAssociatedItems="canListAssociatedItems",k[p.CheckinStatus.cls]=w("checkinStatuses"),k[p.Campaign.cls]=w("campaigns",!0),k[p.Code.cls]=w("codes"),k[p.CampaignValidityRule.cls]=w("campaigns",!0),k.Membership=w("memberships",!0),k.Benefit=w("memberships",!0),k.Member=w("contacts"),k.Member.canView=function(){if(!this.group||this.permissions.canViewMemberships)return!0},k[p.StoredValueType.cls]=w("storedValueCards"),k[p.StoredValueCardDesignTemplate.cls]=w("storedValueCards"),k[p.StoredValueCard.cls]=w("storedValueCards",!0,!1),k[p.StoredValueCard.cls].canReportOn=function(){return this.permissions.canViewStoredValueCards},k[p.StoredValueCard.cls].canIssue=function(){return this.permissions.canIssueStoredValueCards},k[p.StoredValueAdjustment.cls]=w("storedValueCards",!0),k[p.PaymentProcessingDocument.cls]=w("paymentProcessingDocuments"),k[p.PaymentProcessingDocument.cls].canReportOn=function(){return this.permissions.canViewAdvancedReport},k[p.Fund.cls]={canView:Y="canView"+_.upperFirst("accounting"),canList:Y,canCreate:_.never,canUpdate:_.never,canRemove:_.never},k[p.Fund.cls].canView=k[p.Fund.cls].canList=function(){return!!T()&&this.permissions.canViewAccounting},k[p.Transaction.cls]=k[p.Fund.cls],k[p.Contact.cls]=w("contacts",!0),k[p.InStorePaymentType.cls]=w("inStorePaymentTypes"),k[p.EmvDevice.cls]=w("emvDevices"),k[p.EmvDevice.cls].canView=k[p.EmvDevice.cls].canList=function(){return this.permissions.canCreateCreditCardPayments},k[p.EmvDevice.cls].canCreate=k[p.EmvDevice.cls].canRemove=k[p.EmvDevice.cls].canUpdate=function(){return this.permissions.canEditAccounting},k[p.Ledger.cls]=w("accounting"),k[p.Ledger.cls].canCreate=function(){return this.permissions.canViewAccounting&&this.permissions.canEditAccounting},k[p.Ledger.cls].canRemove=function(){return this.permissions.canViewAccounting&&this.permissions.canEditAccounting},k[p.Ledger.cls].canUpdate=function(){return this.permissions.canViewAccounting&&this.permissions.canEditAccounting},k[p.BankAccount.cls]=w("bankAccounts"),k[p.BankAccount.cls].canCreate=function(){return this.permissions.canEditSensitiveAccounting},k[p.BankAccount.cls].canRemove=function(){return this.permissions.canEditSensitiveAccounting},k[p.BankAccount.cls].canUpdate=function(){return this.permissions.canEditSensitiveAccounting},k[p.Card.cls]=w("cards",!0),k[p.Card.cls].canCreate=function(){return this.permissions.canViewCards&&this.permissions.canEditAccounting},k[p.Card.cls].canRemove=function(){return this.permissions.canViewCards&&this.permissions.canEditAccounting},k[p.Card.cls].canUpdate=function(){return this.permissions.canViewCards&&this.permissions.canEditAccounting},k[p.CardAffiliation.cls]=w("cards",!0),k[p.CardAffiliation.cls].canCreate=function(){return this.permissions.canViewCards&&this.permissions.canEditAccounting},k[p.CardAffiliation.cls].canRemove=function(){return this.permissions.canViewCards&&this.permissions.canEditAccounting},k[p.CardAffiliation.cls].canUpdate=function(){return this.permissions.canViewCards&&this.permissions.canEditAccounting},k[p.Account.cls]=w("accounting"),k[p.Payout.cls]=w("accounting"),k[p.Payout.cls].canRetry=function(){return T()&&this.can("adminUpdate")},k[p.Transfer.cls]=w("accounting"),k[p.Adjustment.cls]=w("accounting"),k[p.Adjustment.cls].canCreate=function(){return!!T()&&this.permissions.canEditAccounting},k[p.Adjustment.cls].canUpdate=_.never,k[p.Adjustment.cls].canRemove=_.never,k[p.Invoice.cls]=w("invoices"),k[p.InvoiceEntry.cls]=w("invoices"),k[p.Upload.cls]=w("accounting"),k[p.Upload.cls].canCreateDirectType=function(){return!!this.permissions.canEditAccounting&&this.permissions.canCreateDirectUploads},k[p.Hotel.cls]=w("hotels",!0),k[p.Hotel.cls].canCreate=function(){return!!T()&&this.permissions.canEditHotels},k[p.Hotel.cls].canUpdate=k[p.Hotel.cls].canCreate,k[p.Hotel.cls].canRemove=k[p.Hotel.cls].canCreate,k[p.Lodging.cls]=w("transportation",!0),k[p.Pickup.cls]=w("transportation",!0),k[p.PreferredPickup.cls]=w("transportation",!0),k[p.Route.cls]=w("transportation",!0),k[p.Route.cls].canListAssociatedItems="canListAssociatedItems",k[p.Run.cls]=w("transportation",!0),k[p.Stop.cls]=w("transportation",!0),k[p.Activity.cls]=w("activities"),k[p.Activity.cls].canCreate="canEditActivities",k[p.Activity.cls].canView=function(){return!p.Activity.isAdminOnly(this.instance)||T()},k[p.Activity.cls].canToggleAdminOnlyStatus=function(){return!!T()&&(!this.instance.object||this.instance.object.cls!==p.Activity.cls)&&!(p.Activity.isAdminOnly(this.instance)&&!this.instance.context.adminOnlyOriginalType)&&this.can("update")},k[p.Activity.cls].canCreateNoteOnActivity=function(){return!!T()&&(!this.instance.object||this.instance.object.cls!==p.Activity.cls)&&this.can("create")},k[p.Activity.cls].canList=function(){return this.permissions.canViewActivities||this.permissions.canViewActivitiesSelf},k[p.Activity.cls].canListFeed=function(){return this.permissions.canViewActivitiesFeed},k[p.Waiver.cls]=w("waivers",!0),k[p.WaiverInstance.cls]=N("waiverInstances"),k[p.CustomerPrototype.cls]=w("customFields",!0),k[p.CustomerPrototype.cls].canCreate=function(){return!!R("updatePricing",this.company)&&this.permissions.canEditCustomFields},k[p.CustomerTypeRate.cls]=w("availabilities",!0),k[p.Block.cls]=w("blocks"),k[p.TotalSchedule.cls]=w("sheets"),k[p.InvoiceSchedule.cls]=w("sheets"),k[p.TotalScheduleEntry.cls]=w("sheets"),k[p.InvoiceScheduleEntry.cls]=w("sheets"),k[p.TotalScheduleEntryRule.cls]=w("sheets"),k[p.InvoiceScheduleEntryRule.cls]=w("sheets"),k[p.TotalSheet.cls]=w("sheets"),k[p.TotalSheet.cls].canView=_.always,k[p.TotalSheet.cls].canReportOn=function(){return this.can("list")},k[p.InvoiceSheet.cls]=w("sheets"),k[p.InvoiceSheet.cls].canView=_.always,k[p.InvoiceSheet.cls].canReportOn=function(){return this.can("list")},k[p.TotalLine.cls]=w("sheets"),k[p.TotalLine.cls].canView=_.always,k[p.TotalLine.cls].canCreate="canEditPricing",k[p.TotalLine.cls].canUpdate="canEditPricing",k[p.TotalLine.cls].canRemove="canEditPricing",k[p.InvoiceLine.cls]=w("sheets"),k[p.InvoiceLine.cls].canView=_.always,k[p.InvoiceLine.cls].canCreate="canEditPricing",k[p.InvoiceLine.cls].canUpdate="canEditPricing",k[p.InvoiceLine.cls].canRemove="canEditPricing",k[p.TaxType.cls]=w("accounting"),k[p.Subscription.cls]=w("users"),k[p.Notification.cls]=N("notifications",{checkPastBooking:!1}),k[p.Notification.cls].canCreate=_.super(k[p.Notification.cls].canCreate,(function(){return this.booking?this.super():this.permissions.canEditNotifications})),k[p.Notification.cls].canCreateDisputeType=function(){return!!T()&&this.can("create",this.booking)},k[p.SmsNotification.cls]=N("smsNotifications",{checkPastBooking:!1}),k[p.SmsNotification.cls].canCreate=function(){return this.company.isSmsEnabled&&this.permissions.canEditSmsNotifications&&(!this.booking||R("update",this.booking))},k[p.ReviewExpressNotification.cls]=N("reviewExpress",{checkPastBooking:!1}),k[p.Order.cls]=w("orders"),k[p.Booking.cls]=w("bookings"),k[p.Booking.cls].canSkipPayment="canSkipPayment",k[p.Booking.cls].canBookHiddenFields="canBookHiddenFields",k[p.Booking.cls].canViewAffiliateBookings="canViewAffiliateBookings",k[p.Booking.cls].canOverrideTransportation="canOverrideTransportation",k[p.Booking.cls].canUpdateOnlyFutureBookings="canUpdateOnlyFutureBookings",k[p.Booking.cls].canCreate=function(){return!this.group&&!X.currentUser.isAuthenticated||this.permissions.canCreateBookings},k[p.Booking.cls].canUpdate=function(){return!!this.permissions.canEditBookings||E(this.instance)},k[p.Booking.cls].canUpdateExplicitTotal=function(){return!!this.permissions.canViewAmounts&&!(this.instance&&!this.can("update"))&&!(this.instance&&!D.call(this,this.instance))&&this.permissions.canEditBookingExplicitTotals},k[p.Booking.cls].canUpdateExplicitInvoicePrice=function(){return!!this.permissions.canViewInvoiceAmounts&&!(this.instance&&!this.can("update"))&&!(this.instance&&!D.call(this,this.instance))&&this.permissions.canEditBookingExplicitInvoicePrices},k[p.Booking.cls].canViewBookingNote="canViewBookingNotes",k[p.Booking.cls].canUpdateBookingNote=function(){return!!this.can("viewBookingNote")&&!(this.instance&&!D.call(this,this.instance))&&this.permissions.canEditBookingNotes},k[p.Booking.cls].canUpdateBookingAffiliations=function(){return!!this.can("update")&&!!D.call(this,this.instance)&&!(!T()&&this.instance.affiliation&&this.instance.affiliation.affiliateCompany.isFhdn)&&this.permissions.canEditBookingAffiliations},k[p.Booking.cls].canUpdateBookingAffiliationInfo=function(){return!!this.can("update")&&!!D.call(this,this.instance)&&!(!T()&&this.instance.affiliation&&this.instance.affiliation.affiliateCompany.isFhdn)&&this.permissions.canEditBookingAffiliationInfo},k[p.Booking.cls].canOpenBookingAffiliationForm=function(){return(T()||!this.instance.affiliation||!!this.instance.affiliation&&!this.instance.affiliation.affiliateCompany.isFhdn)&&R("updateBookingAffiliationInfo",this.instance)&&(R("updateBookingAffiliations",this.instance)||!!this.instance.affiliation)},k[p.Booking.cls].canView=function(){return!this.group||!!this.permissions.canViewBookings||E(this.instance)},k[p.Booking.cls].canCancel=function(){return this.can("update")&&this.permissions.canCancelBookings&&D.call(this,this.instance)},k[p.Booking.cls].canCancelEligible=function(){return!!this.can("update")&&!!p.Booking.isEligibleForCancellation(this.instance,X.currentUser)&&!!D.call(this,this.instance)&&this.permissions.canCancelEligibleBookings},k[p.Booking.cls].canRebook=function(){return!!this.can("cancel")&&this.can("create")},k[p.Booking.cls].canRebookEligible=function(){return!!this.can("cancelEligible")&&!!p.Booking.isEligibleForRebook(this.instance,X.currentUser)&&this.can("create")},k[p.Booking.cls].canEditCustomFieldValues=function(){return this.can("update")&&this.permissions.canEditCustomFieldValues&&D.call(this,this.instance,!0)},k[p.Booking.cls].canPushCustomFieldValues=function(){return this.permissions.canPushCustomFieldValues&&(!this.instance||D.call(this,this.instance,!0))},k[p.Booking.cls].canChangePriceSheets=function(){return!!this.permissions.canViewAmounts&&!(this.instance&&!D.call(this,this.instance))&&this.permissions.canChangePriceSheets},k[p.Booking.cls].canReapplyResourceUses=function(){return!(this.instance&&!D.call(this,this.instance))&&this.permissions.canEditResourceUses},k[p.Booking.cls].canSelectResourceRequirements=function(){return this.permissions.canEditResourceUses||b(this.company)||T()},k[p.Booking.cls].canCreateCustomRefunds=function(){return!!this.permissions.canViewAmounts&&!!D.call(this,this.instance,!0)&&this.permissions.canCreateCustomRefunds},k[p.Booking.cls].canCreateDeposits=function(){return!(X.currentUser.isAuthenticated&&!b(this.company)&&!T()&&(!this.group||!this.group.pk)&&!this.permissions.canCreateDeposits)},k[p.Booking.cls].canAdjustCustomFieldValuePrice=function(){return!(this.instance&&!D.call(this,this.instance)||!this.permissions.canAdjustCustomFieldValuePrice)},k[p.Customer.cls]=N("customers"),k[p.Customer.cls].canViewCheckinStatus=function(){return this.booking?this.can("view")&&this.permissions.canViewCustomerCheckinStatus:this.permissions.canViewCustomerCheckinStatus},k[p.Customer.cls].canUpdateCheckinStatus=function(){return R("update",this.booking)&&this.permissions.canEditCustomerCheckinStatus&&D.call(this)},k[p.BookingCustomFieldValue.cls]=N("customFieldValues",{isLimitedPastBookingUpdate:!0}),k[p.CustomerCustomFieldValue.cls]=N("customFieldValues",{isLimitedPastBookingUpdate:!0}),k[p.BookingCustomFieldValue.cls].canUpdate=function(){return this.permissions.canEditCustomFieldValues&&D.call(this,this.booking,!0)},k[p.CustomerCustomFieldValue.cls].canUpdate=function(){return this.permissions.canEditCustomFieldValues&&D.call(this,this.booking,!0)},k[p.Refund.cls]=N("refunds",{isLimitedPastBookingUpdate:!0}),k[p.Refund.cls]=N("refunds",{isLimitedPastBookingUpdate:!0}),k[p.Refund.cls].canUpdate=L("viewAmounts",k[p.Refund.cls].canUpdate),k[p.Refund.cls].canCreate=L("viewAmounts",k[p.Refund.cls].canCreate);var j=function(){return T()&&this.permissions.canViewAdminSection};k[p.Refund.cls].canViewBookingFee=function(){return j.call(this)},k[p.LineItem.cls]=N("lineItems",{isLimitedPastBookingUpdate:!0}),k[p.LineItem.cls].canUpdate=L("viewAmounts",k[p.LineItem.cls].canUpdate),k[p.LineItem.cls].canCreate=L("viewAmounts",k[p.LineItem.cls].canCreate),k[p.LineItem.cls].canRemove=L("viewAmounts",k[p.LineItem.cls].canRemove),k[p.LineItem.cls].canReportOn=function(){return this.permissions.canViewLineItems},k[p.Payment.cls]=N("payments",{isLimitedPastBookingUpdate:!0}),k[p.Payment.cls].canCreatePartial=L("viewAmounts","canSkipPayment"),k[p.Payment.cls].canCreateWithoutCVC=function(){return T()||this.permissions.canCreateCreditCardPaymentsWithoutCvv},k[p.Payment.cls].canCreateWithoutCardholdersName="canSkipCardholderInfo",k[p.Payment.cls].canCreateWithoutPostalCode="canSkipPostalCode",k[p.Payment.cls].canCreateWithoutCountryCode="canSkipPostalCode",k[p.Payment.cls].canCreateCreditCard=L("viewAmounts","canCreateCreditCardPayments"),k[p.Payment.cls].canCreateInStore=L("viewAmounts","canCreateInStorePayments"),k[p.Payment.cls].canCreateStoredValueCard=L("viewAmounts","canCreateStoredValueCardPayments"),k[p.Payment.cls].canCreateDeferred="canCreateDeferredPayments",k[p.Payment.cls].canCreateAffiliate=function(){return!!this.permissions.canCreateAffiliatePayments||!!this.booking&&E(this.booking)},k[p.Payment.cls].canViewBookingFee=function(){return j.call(this)},k[p.TicketLayout.cls]=w("ticketLayouts",!0),k[p.SupportedLanguage.cls]=w("supportedLanguages"),k[p.Translation.cls]=w("translations"),k[p.Location.cls]=w("locations"),k[p.Location.cls].canView="canEditLocations",k[p.Location.cls].canViewSensitive="canEditLocations",k[p.Location.cls].canList="canEditLocations",k[p.Report.cls]=w("reports"),k[p.Report.cls].canViewAccountsType="canViewAccounting",k[p.Report.cls].canViewEscrowType="canViewAccounting",k[p.Report.cls].canViewFundsType="canViewAccounting",k[p.Report.cls].canViewPayoutsType="canViewAccounting",k[p.Report.cls].canViewTransfersType="canViewAccounting",k[p.Report.cls].canViewInvoicesType="canViewInvoices",k[p.Report.cls].canViewInvoiceableBookingsType="canEditInvoices",k[p.Report.cls].canViewAdvancedType="canViewAdvancedReport",k[p.Report.cls].canViewAgentsSummaryType="canViewAgentsSummaryReport",k[p.Report.cls].canViewBookingTypesSummaryType="canViewBookingTypesSummaryReport",k[p.Report.cls].canViewBookingsType="canViewBookingsReport",k[p.Report.cls].canViewCampaignsSummaryType="canViewCampaignsSummaryReport",k[p.Report.cls].canViewContactsType="canViewContactsReport",k[p.Report.cls].canViewCrewSummaryType="canViewCrewSummaryReport",k[p.Report.cls].canViewCustomFieldSummaryType="canViewCustomFieldSummaryReport",k[p.Report.cls].canViewCustomerTypesSummaryType="canViewCustomerTypesSummaryReport",k[p.Report.cls].canViewDesksSummaryType="canViewDesksSummaryReport",k[p.Report.cls].canViewItemsSummaryType="canViewItemsSummaryReport",k[p.Report.cls].canViewLineItemsSummaryType="canViewLineItemsSummaryReport",k[p.Report.cls].canViewLodgingsSummaryType="canViewLodgingsSummaryReport",k[p.Report.cls].canViewPaymentsType="canViewPaymentsReport",k[p.Report.cls].canViewDisputesType="canViewDisputesReport",k[p.Report.cls].canViewPickupLocationsSummaryType="canViewPickupLocationsSummaryReport",k[p.Report.cls].canViewRevenueSummaryType="canViewRevenueSummaryReport",k[p.Report.cls].canViewUsersSummaryType="canViewUsersSummaryReport",k[p.Report.cls].canViewCompaniesType="canViewCompaniesReport",k[p.Report.cls].canViewInProgressReportsType="canViewInProgressReportsReport",k[p.Report.cls].canViewTransactionsType="canViewTransactionsReport",k[p.Report.cls].canViewVolumeType="canViewVolumeReport",k[p.Report.cls].canReport=function(){return!!this.group},a.db.slipstream("isReadonlyEnabled")&&(k[p.Report.cls].canView=_.never,k[p.Report.cls].canList=_.never,k[p.Report.cls].canCreate=_.never,k[p.Report.cls].canUpdate=_.never,k[p.Report.cls].canRemove=_.never,k[p.Report.cls].canViewBookingTypesSummaryType=_.never,k[p.Report.cls].canViewAdvancedType=_.never,k[p.Report.cls].canViewPayoutsType=_.never,k[p.Report.cls].canViewItemsSummaryType=_.never,k[p.Report.cls].canViewRevenueSummaryType=_.never,k[p.Report.cls].canReport=_.never),k[p.Resource.cls]=w("resources"),k[p.Resource.cls].canListAssociatedItems="canListAssociatedItems",k[p.Requirement.cls]=w("resources"),k[p.RequirementGroup.cls]=w("resources"),k[p.RequirementGroup.cls].canListAssociatedItems="canListAssociatedItems",k[p.CustomerPrototypeRequirement.cls]=w("resources"),k[p.CustomerTypeRequirement.cls]=w("resources"),k[p.ResourceRequirement.cls]=w("resources"),k[p.ResourceOverride.cls]=w("resourceUses",!0),k[p.SeatMap.cls]=w("seatMaps",!0),k[p.SeatGroup.cls]=w("seatMaps",!0),k[p.SeatZone.cls]=w("seatMaps",!0),k[p.ResourceUse.cls]=N("resources",{permissionOverrides:{canCreate:"canEditResourceUses",canUpdate:"canEditResourceUses",canRemove:"canEditResourceUses"}}),k[p.ResourceUse.cls].canUpdateIndividualResources=function(){return this.permissions.canEditResourceUses},k[p.ResourceUse.cls].canReapplyAcrossBookings=function(){return this.permissions.canEditResourceUses},k[p.ResourceUse.cls].canList=_.super(k[p.ResourceUse.cls].canList,(function(){return this.booking?this.super():this.permissions.canViewResources}));var K=function(){return this.permissions.canEditAnalyticsServices||this.permissions.canEditPrivatePropertiesAnalyticsServices};k[p.AnalyticsService.cls]={canView:_.always,canList:_.always,canAdminView:_.always,canAdminList:_.always,canCreate:K,canUpdate:K,canRemove:K,canClear:K,canAdminCreate:"canEditPrivatePropertiesAnalyticsServices",canAdminUpdate:"canEditPrivatePropertiesAnalyticsServices"},k[p.CancellationPolicy.cls]=w("cancellationPolicies",!0),k[p.CancellationPolicy.cls].canListAssociatedItems="canListAssociatedItems",k[p.CancellationRule.cls]=w("cancellationPolicies",!0),k[p.BookingRestriction.cls]=w("bookingRestrictions",!0),k[p.BookingRestriction.cls].canListAssociatedItems="canListAssociatedItems",y.canBookWithNoFee=function(e,t){return!!X.currentUser.isAuthenticated&&(t||!e.directBookingFeeRate)};var H,W=function(){return!!T()&&this.permissions.canEditReseller};k[p.ResellerApp.cls]=w("reseller"),k[p.ResellerApp.cls].canList=W,k[p.ResellerAppCompany.cls]=w("reseller"),k[p.ResellerCompany.cls]=w("reseller"),k[p.ResellerCompany.cls].canList=W,k[p.ResellerAppRequest.cls]=w("accounting"),k[p.ResellerAppRequest.cls].canUpdate=W,k[p.ResellerAppRequest.cls].canRemove=W,k[p.ResellerCompanyMapping.cls]=w("reseller"),k[p.ResellerCompanyMapping.cls].canCreate=W,k[p.ResellerCompanyMapping.cls].canList=W,k[p.ResellerCompanyMapping.cls].canRemove=W,k[p.ResellerItem.cls]=w("reseller"),k[p.ResellerItemMapping.cls]=w("reseller"),k[p.ResellerCustomerType.cls]=w("reseller"),k[p.ResellerCustomerTypeMapping.cls]=w("reseller"),k[p.ResellerOption.cls]=w("reseller"),k[p.ResellerOptionMapping.cls]=w("reseller"),k[p.ResellerKey.cls]=w("resellerKeys"),k[p.ResellerKey.cls].canCreate=function(){return!!this.permissions.canEditResellerKeys||b()},k[p.ResellerKey.cls].canCreateForAnyUser=function(){return this.permissions.canEditResellerKeys},k[p.WebhookConfig.cls]=w("resellerKeys"),k[p.WebhookConfig.cls].canCreate=function(){return!!this.permissions.canEditResellerKeys||b()},k[p.WebhookConfig.cls].canCreateForAnyUser=function(){return this.permissions.canEditResellerKeys},k[p.CustomSchema.cls]=w("resellerKeys"),k[p.CustomSchemaField.cls]=w("resellerKeys"),k[p.Order.cls].canCancelEligible=function(){return this.permissions.canCancelEligibleBookings&&!this.can("cancel")};var q=a.db.slipstream("currentUser");q?(H=q).isAuthenticated=!0:H=v;var z=function(e){var t=function(){return X.currentUser.isAuthenticated?X.currentUser.username+"@"+X.currentUser.company.shortname:"anonymous"},n=function(e){return t()+":"+e};return{get:function(t){return e.get(n(t))},set:function(t,r){return e.set(n(t),r)},del:function(t){return e.del(n(t))},clear:function(){if(e.key&&e.length)for(var n,r=t(),i=0;i<e.length;i++)(n=e.key(i)).split(":",1)[0]===r&&e.del(n);else e.clear()}}},X={CACHED_ENDPOINTS:["/api/v1/version/"],ALLOWED_STATUSES:[400,403],permissions:y,storage:z(u.I),sessionStorage:z(c.s),currentUser:H,isSessionExpirationInProgress:!1,isLogoutInProgress:!1,isCompanyUser:function(e,t){return t=t||X.currentUser,!(!e||!t)&&t.company===e},isAuthenticatedForAdminCompany:T,relatedCompanies:function(){return X.currentUser.isAuthenticated?_.sortBy(_.uniq(_.append(_.map(p.GroupOverride.companyLevelOverrides(X.currentUser.company.relatedGroupOverrides),"company"),_.map(X.currentUser.relatedGroupOverrides,"company"))),"name"):[]},login:function(e,t){var n;return(n=window.envFeatureFlags.isMfaFeatureEnabled?a.db.loginV11({},e,t):a.db.login({},e,t)).$promise.then((function(){X.currentUser=n,X.currentUser.isAuthenticated=!0,d.broadcast("auth.login")}))},logout:function(e){var n;return X.storage.clear(),X.sessionStorage.clear(),l.P.clear(),X.currentUser=v,n=e?r.defer().promise:t.post(i.D.api.logout),d.broadcast("auth.logout"),n},expireSession:function(e){var t,r=n.get("navigation"),o=X.currentUser.company;t=o?o.$url(i.D.company.login):i.D.index;var a=r.compose(t,{isSessionExpired:!0});r.navigate(a),X.isSessionExpirationInProgress=!0,s((function(){X.logout(e),X.isSessionExpirationInProgress=!1}))},checkSession:function(e,t,n,r){if((r<200||r>=300)&&!_.includes(X.ALLOWED_STATUSES,r))return e;if(_.includes(X.CACHED_ENDPOINTS,n))return e;var i=t("X-fh-active"),o=!1;return X.currentUser.isAuthenticated&&i&&(o=parseInt(i,10)!==X.currentUser.pk),(X.currentUser.isAuthenticated&&!i||o)&&X.expireSession(o),e},effectiveGroup:A};return window.$$auth=X,X}]),s.run(["$rootScope","$window","auth",function(e,t,n){e.auth=n,t.$$auth=n}]),angular.module("auth",["auth.controllers","auth.directives","auth.services"])},86504:function(e,t,n){"use strict";n(28706),n(2008),n(50113),n(51629),n(25276),n(64346),n(40150),n(26099),n(58940),n(27495),n(90906),n(23500);var r,i=n(65047),o=n(63025);(r=angular.module("clientOptions.services",["lib","navigation"])).factory("clientOptions",["$rootScope","$sniffer","auth","events","models","navigation",function(e,t,n,r,a,s){var c="int",u="yes-no",l=/^(?:https?:\/\/)?(?:[a-z0-9\-_]+\.[a-z0-9\-_]+)+.*/i,d="array-of-strings",p=[{query:"u",key:"userIdentifier",reflect:!i.I.isPersistent(),reflectExternal:function(){return!n.currentUser.isAuthenticated}},{query:"asn",key:"asnAffiliateCompany",reflect:!0},{query:"asn-ref",key:"asnVoucherNumber",reflect:!0},{query:"sheet",key:"defaultTotalSheetPk",reflect:!0,type:c},{query:"sheet-uuid",key:"defaultTotalSheetUuid",reflect:!0},{query:"schedule",key:"defaultTotalSchedulePk",reflect:!0,type:c},{query:"schedule-uuid",key:"defaultTotalScheduleUuid",reflect:!0},{query:"full-items",key:"isFullItemsEnabled",reflect:!0,type:u,isAuthenticatedAllowed:!0},{query:"kiosk",key:"isKioskModeEnabled",isSlipstream:!0,type:u},{query:"ref",key:"onlineBookingReferences",reflect:!0,isAuthenticatedAllowed:!0,type:d},{query:"referrer",key:"referrerUrl",pattern:l},{query:"back",key:"backUrl",pattern:l,reflect:!0,decode:!0},{query:"is-back-company-url",key:"isBackCompanyUrl",type:u},{query:"preview",key:"preview"},{query:"site-tags",key:"trackingSiteTags",onlyIfDefined:!0,decode:!0},{query:"page-tags",key:"trackingPageTags",onlyIfDefined:!0,decode:!0},{query:"button-tags",key:"trackingButtonTags",onlyIfDefined:!0,decode:!0},{query:"from-ssl",key:"trackingIsFromSsl",type:u,onlyIfDefined:!0},{query:"from-embed",key:"trackingFromEmbed",onlyIfDefined:!0},{query:a.FlowNode.FLOW_QUERY,key:"flowNode",reflect:!0,isUpdatedOnLocationChange:!0,isAuthenticatedAllowed:!0},{query:a.FlowNode.IS_FROM_CART_QUERY,key:"isFromCart",reflect:!0,type:u,isUpdatedOnLocationChange:!0},{query:"bookable-only",key:"isBookableOnly",type:u},{query:"branding",key:"isCompanyBrandingEnabled",reflect:!0,type:u},{query:"rebookingUuid",key:"rebookingUuid",reflect:!0,onlyIfDefined:!0},{query:"gclid",key:"gclid",reflect:!0,onlyIfDefined:!0,isAuthenticatedAllowed:!1},{query:"cp",key:"isConsentProvided",type:u,reflect:!1,onlyIfDefined:!0},{query:"csp",key:"isConsentSolutionPresent",type:u,reflect:!1,onlyIfDefined:!0},{query:"g4",key:"hostHasGA4",type:u,reflect:!0,onlyIfDefined:!0}],m=_.filter(p,"isUpdatedOnLocationChange"),f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_.always,t={};return _.forEach(p,(function(n){if(e(n)&&n.key){var r=b[n.key];_.isUndefined(r)||(n.type===u?r&&(t[n.query]="yes"):n.type===c?_.isFinite(r)&&(t[n.query]=r):r&&(t[n.query]=r))}})),t},h=function(){return f((function(e){return!!e.reflect}))},g=o.db.slipstream("domain"),v=o.db.slipstream("protocol"),y="".concat(v,"://").concat(g),b={reflect:function(e){var t=_.find(p,(function(t){return t.key===e})).query;s.set(t,b[e],!0)},extendUrl:function(e){return s.compose(e,f(),!0)},reflectUrl:function(e){var t,n;if("/"===e.charAt(0)||0===e.indexOf(y))t=h();else{if(0!==e.indexOf("http"))return e;n=f((function(e){return _.isFunction(e.reflectExternal)?e.reflectExternal():!!e.reflectExternal})),t=_.mapKeys(n,(function(e,t){return"fh-".concat(t)}))}return s.compose(e,t,!0)},reflectUrlsInHrefs:function(e){e.on("mousedown","a",(function(){var e=$(this);e.attr("href",b.reflectUrl(e.attr("href")))}))}},T=function(e){var r=s.get(e.query)||"";!r&&e.isSlipstream&&(r=o.db.slipstream(e.query)||""),n.currentUser.isAuthenticated&&!e.isAuthenticatedAllowed&&(r=""),e.pattern&&!e.pattern.test(r)&&(r=""),e.onlyIfDefined&&!r||(e.type===c?(r=parseInt(r,10),r=Number.isNaN(r)?null:r):e.type===u?r="yes"===r:e.type===d&&(""===r?r=[]:Array.isArray(r)||(r=[r])),t.history&&!e.isUpdatedOnLocationChange&&s.clear(e.query,!0),e.decode&&(r=decodeURIComponent(r)),e.key&&(b[e.key]=r))};return e.$on("$locationChangeSuccess",(function(){_.forEach(m,T);var e=h();_.forEach(e,(function(e,t){s.set(t,e,!0)}))})),r.on(e,"navigation.company.updated",(function(){s.currentCompany&&(b.asnCharterCompany?b.asnCharterCompany!==s.currentCompany.shortname&&(b.asnCharterCompany="",b.asnAffiliateCompany="",b.asnVoucherNumber=""):b.asnCharterCompany=s.currentCompany.shortname)})),_.forEach(p,T),n.currentUser.isAuthenticated||(b.asnAffiliateCompany=b.asnAffiliateCompany||o.db.slipstream("asnAffiliateCompany")||""),b.asnAffiliateCompany||(b.asnAffiliateCompany="",b.asnVoucherNumber=""),b}]),r.run(["$rootScope","clientOptions",function(e,t){e.clientOptions=t}]),angular.module("clientOptions",["clientOptions.services"])},47982:function(e,t,n){"use strict";n(66712),n(47209),n(19195),n(86504),n(41946),n(28588),n(70096),n(22285),n(87553),n(95165),n(34782);var r,i=n(72422),o=n(63025);angular.module("embeds.items.controllers",[]).controller("embeds.items.ItemsCtrl",["$scope","$window","$q","navigation","flows","lightframe","tracking",function(e,t,n,r,a,s,c){var u=r.pathStartsWith(i.D.embeds.items.index);e.company=o.db.company({shortname:u.shortname});var l=a.initialize(u.shortname);e.loading=!0,n.all([l,e.company.$promise]).then((function(){e.loading=!1,e.flowNode=a.initialFlowNode})),e.openLightframe=function(e){"/"===(e=r.compose(e,{"from-embed":"item-grid"})).slice(0,1)?s.open(e):t.top.location.href=e},c.trackEmbed("item-grid")}]),r=angular.module("embeds.items",["lib","auth","clientOptions","flash","lightframe","navigation","native","prices","tracking","embeds.items.controllers"]),configure(r)},41946:function(e,t,n){"use strict";var r=n(31176);angular.module("flash.controllers",[]).controller("flash.FlashesCtrl",["$scope",function(e){return e.remove=function(e){r.j.remove(e)},e.flashes=r.j.all(),e}]),n(42762),angular.module("flash.directives",[]).directive("ngFlashMessage",["$timeout","parseAttrsForScope",function(e,t){var n={};return{restrict:"A",link:function(i,o,a){var s=t(a,i,{ngFlashDelay:"=",ngFlashDuration:"=",ngFlashMessage:"@",ngFlashOnce:"=",ngFlashType:"@"});if(!s.ngFlashOnce||!n[s.ngFlashMessage]){var c=e((function(){var e=_.trim(s.ngFlashMessage);if(!_.isEmpty(e)){s.ngFlashOnce&&(n[s.ngFlashMessage]=!0);var t=s.ngFlashType||"info";r.j.add(e,t,s.ngFlashDuration)}}),s.ngFlashDelay||0);i.$on("$destroy",(function(){e.cancel(c)}))}}}}]),angular.module("flash",["flash.controllers","flash.directives"])},24601:function(e,t,n){"use strict";n.d(t,{OT:function(){return a},Qc:function(){return i},Yo:function(){return o},oP:function(){return r}});var r="persistentStorageIdentifier",i=function(){return[["US",cT('"USA" acronym for United States of America',"USA")],["AF",T("Afghanistan")],["AL",T("Albania")],["DZ",T("Algeria")],["AS",T("American Samoa")],["AD",T("Andorra")],["AO",T("Angola")],["AI",T("Anguilla")],["AG",T("Antigua and Barbuda")],["AR",T("Argentina")],["AM",T("Armenia")],["AW",T("Aruba")],["AC",T("Ascension Island")],["AU",T("Australia")],["AT",T("Austria")],["AZ",T("Azerbaijan")],["BS",T("Bahamas")],["BH",T("Bahrain")],["BD",T("Bangladesh")],["BB",T("Barbados")],["BY",T("Belarus")],["BE",T("Belgium")],["BZ",T("Belize")],["BJ",T("Benin")],["BM",T("Bermuda")],["BT",T("Bhutan")],["BO",T("Bolivia")],["BA",T("Bosnia and Herzegovina")],["BW",T("Botswana")],["BR",T("Brazil")],["IO",T("British Indian Ocean Territory")],["VG",T("British Virgin Islands")],["BN",T("Brunei")],["BG",T("Bulgaria")],["BF",T("Burkina Faso")],["BI",T("Burundi")],["KH",T("Cambodia")],["CM",T("Cameroon")],["CA",T("Canada")],["CV",T("Cape Verde")],["BQ",T("Caribbean Netherlands")],["KY",T("Cayman Islands")],["CF",T("Central African Republic")],["TD",T("Chad")],["CL",T("Chile")],["CN",T("China")],["CX",T("Christmas Island")],["CC",T("Cocos (Keeling) Islands")],["CO",T("Colombia")],["KM",T("Comoros")],["CD",T("Congo (DRC)")],["CG",T("Congo (Republic)")],["CK",T("Cook Islands")],["CR",T("Costa Rica")],["CI",T("Côte d’Ivoire")],["HR",T("Croatia")],["CU",T("Cuba")],["CW",T("Curaçao")],["CY",T("Cyprus")],["CZ",T("Czech Republic")],["DK",T("Denmark")],["DJ",T("Djibouti")],["DM",T("Dominica")],["DO",T("Dominican Republic")],["EC",T("Ecuador")],["EG",T("Egypt")],["SV",T("El Salvador")],["GQ",T("Equatorial Guinea")],["ER",T("Eritrea")],["EE",T("Estonia")],["SZ",T("Eswatini")],["ET",T("Ethiopia")],["FK",T("Falkland Islands (Malvinas)")],["FO",T("Faroe Islands")],["FJ",T("Fiji")],["FI",T("Finland")],["FR",T("France")],["GF",T("French Guiana")],["PF",T("French Polynesia")],["GA",T("Gabon")],["GM",T("Gambia")],["GE",T("Georgia")],["DE",T("Germany")],["GH",T("Ghana")],["GI",T("Gibraltar")],["GR",T("Greece")],["GL",T("Greenland")],["GD",T("Grenada")],["GP",T("Guadeloupe")],["GU",T("Guam")],["GT",T("Guatemala")],["GG",T("Guernsey")],["GN",T("Guinea")],["GW",T("Guinea-Bissau")],["GY",T("Guyana")],["HT",T("Haiti")],["HN",T("Honduras")],["HK",T("Hong Kong")],["HU",T("Hungary")],["IS",T("Iceland")],["IN",T("India")],["ID",T("Indonesia")],["IR",T("Iran")],["IQ",T("Iraq")],["IE",T("Ireland")],["IM",T("Isle of Man")],["IL",T("Israel")],["IT",T("Italy")],["JM",T("Jamaica")],["JP",T("Japan")],["JE",T("Jersey")],["JO",T("Jordan")],["KZ",T("Kazakhstan")],["KE",T("Kenya")],["KI",T("Kiribati")],["XK",T("Kosovo")],["KW",T("Kuwait")],["KG",T("Kyrgyzstan")],["LA",T("Laos")],["LV",T("Latvia")],["LB",T("Lebanon")],["LS",T("Lesotho")],["LR",T("Liberia")],["LY",T("Libya")],["LI",T("Liechtenstein")],["LT",T("Lithuania")],["LU",T("Luxembourg")],["MO",T("Macau")],["MG",T("Madagascar")],["MW",T("Malawi")],["MY",T("Malaysia")],["MV",T("Maldives")],["ML",T("Mali")],["MT",T("Malta")],["MH",T("Marshall Islands")],["MQ",T("Martinique")],["MR",T("Mauritania")],["MU",T("Mauritius")],["YT",T("Mayotte")],["MX",T("Mexico")],["FM",T("Micronesia")],["MD",T("Moldova")],["MC",T("Monaco")],["MN",T("Mongolia")],["ME",T("Montenegro")],["MS",T("Montserrat")],["MA",T("Morocco")],["MZ",T("Mozambique")],["MM",T("Myanmar")],["NA",T("Namibia")],["NR",T("Nauru")],["NP",T("Nepal")],["NL",T("Netherlands")],["NC",T("New Caledonia")],["NZ",T("New Zealand")],["NI",T("Nicaragua")],["NE",T("Niger")],["NG",T("Nigeria")],["NU",T("Niue")],["NF",T("Norfolk Island")],["KP",T("North Korea")],["MK",T("North Macedonia")],["MP",T("Northern Mariana Islands")],["NO",T("Norway")],["OM",T("Oman")],["PK",T("Pakistan")],["PW",T("Palau")],["PS",T("Palestine")],["PA",T("Panama")],["PG",T("Papua New Guinea")],["PY",T("Paraguay")],["PE",T("Peru")],["PH",T("Philippines")],["PL",T("Poland")],["PT",T("Portugal")],["PR",T("Puerto Rico")],["QA",T("Qatar")],["RE",T("Réunion")],["RO",T("Romania")],["RU",T("Russia")],["RW",T("Rwanda")],["BL",T("Saint Barthélemy")],["SH",T("Saint Helena")],["KN",T("Saint Kitts and Nevis")],["LC",T("Saint Lucia")],["MF",T("Saint Martin")],["PM",T("Saint Pierre and Miquelon")],["VC",T("Saint Vincent and the Grenadines")],["WS",T("Samoa")],["SM",T("San Marino")],["ST",T("São Tomé and Príncipe")],["SA",T("Saudi Arabia")],["SN",T("Senegal")],["RS",T("Serbia")],["SC",T("Seychelles")],["SL",T("Sierra Leone")],["SG",T("Singapore")],["SX",T("Sint Maarten")],["SK",T("Slovakia")],["SI",T("Slovenia")],["SB",T("Solomon Islands")],["SO",T("Somalia")],["ZA",T("South Africa")],["KR",T("South Korea")],["SS",T("South Sudan")],["ES",T("Spain")],["LK",T("Sri Lanka")],["SD",T("Sudan")],["SR",T("Suriname")],["SJ",T("Svalbard and Jan Mayen")],["SE",T("Sweden")],["CH",T("Switzerland")],["SY",T("Syria")],["TW",T("Taiwan")],["TJ",T("Tajikistan")],["TZ",T("Tanzania")],["TH",T("Thailand")],["TL",T("Timor-Leste")],["TG",T("Togo")],["TK",T("Tokelau")],["TO",T("Tonga")],["TT",T("Trinidad and Tobago")],["TN",T("Tunisia")],["TR",T("Turkey")],["TM",T("Turkmenistan")],["TC",T("Turks and Caicos Islands")],["TV",T("Tuvalu")],["VI",T("U.S. Virgin Islands")],["UG",T("Uganda")],["UA",T("Ukraine")],["AE",T("United Arab Emirates")],["GB",T("United Kingdom (Great Britain)")],["ZZ",T("Unknown or unspecified country")],["UY",T("Uruguay")],["UZ",T("Uzbekistan")],["VU",T("Vanuatu")],["VA",T("Vatican City")],["VE",T("Venezuela")],["VN",T("Vietnam")],["WF",T("Wallis and Futuna")],["EH",T("Western Sahara")],["YE",T("Yemen")],["ZM",T("Zambia")],["ZW",T("Zimbabwe")],["AX",T("Åland Islands")]]},o=256,a="#000000"},47209:function(e,t,n){"use strict";n(76918),n(50113),n(51629),n(62062),n(44114),n(23288),n(62010),n(26099),n(38781),n(23500);var r,i=n(46329),o=n(64937),a=n(63025);(r=angular.module("lib.controllers",["auth.services","lib.services"])).controller("lib.shared.CompanyAdminNotesEditableCtrl",["$scope","controllers","shortcutsOverlay",function(e,t,n){o.Y.inScope(e,"company","lib.shared.CompanyAdminNotesEditableCtrl"),t.editController(e,{collectionKey:"companies",elementKey:"company",modelKey:"editableCompany",update:a.db.company.adminNotes.update,editCallback:function(){e.editableCompany.adminNotes||(e.editableCompany.adminNotes="# Dashboard Flag Explanation\n\nIf there is anything critical FH Admins should know before working with this Dashboard or this client please:\n\n1. Add all critical information here, be as specific as possible\n2. Check the **Flag this company** box below\n\nOR - Erase this section if it is not applicable to this Dashboard or client\n\n-----\n# Dashboard Notes\n\nBasic overview of company, what they do/sell\n\n-----\n# Additional Feature Notes\n\nIf anything enabled in **Advanced settings** needs further explanation please include that information here, be as specific as possible.\n\nIf usage is straightforward please do not retype enabled features here.\n\n-----\n# Items\n\n• Settings that must be active on all new items\n• Information and item numbers for any items that vary in setup from the majority of the Dashboard\n\n-----\n# Resources\n\nBasic overview of company resource layout, other useful information.\n\n-----\n# Affiliates\n\nIf OTAs such as Viator, Expedia, GYG, or Google are in use please explain usage.\n\n-----\n# Related Dashboards\n\nInclude links\n\n-----\n# Major Dashboard Updates Log\n\nYour name:\nWhat you updated:\nWhen you updated it:"),n.confirmClose(!0)},cancelCallback:_.partial(n.confirmClose,!1),successCallback:function(){e.editCtrl.editing=!1,n.confirmClose(!1)},params:function(){return{shortname:e.company.shortname}}})}]),r.controller("lib.shared.NewTransportationCtrl",["$scope","$attrs","$injector","$interpolate","$parse","auth","controllers","models",function(e,t,n,r,s,c,u,l){o.Y.inScope(e,"customField","lib.shared.NewTransportationCtrl");var d=n.get("plusbook"),p=n.get("rebook"),m=s(t.ngNewTransportation),f=m(e);f&&_.isString(f)&&(f=(0,i.Bp)(_.parseJSON(f)));e.availability||(e.availability={company:e.company,startAt:moment()}),e.newTransportationCtrl={canOverrideTransportation:c.permissions.can("overrideTransportation",l.Booking,e.availability.company),needsTransportation:void 0,rebookingTransportation:!1,rebookingTransportationOptions:[],rebookingTransportationOption:null,data:{lodging:null,lodgingRoomNumber:"",selfLodgingAddress:"",route:null,stop:null},status:"loading"},e.customFieldPricing.visibility.isRequired?e.newTransportationCtrl.needsTransportation=!0:e.newTransportationCtrl.canOverrideTransportation?e.newTransportationCtrl.needsTransportation=!1:e.newTransportationCtrl.needsTransportation=void 0;var h=function(){return e.newTransportationCtrl.canOverrideTransportation&&!e.booking&&!e.availability.defaultRoute};e.newTransportationCtrl.showSelfTransportation=function(){return!(h()||!e.newTransportationCtrl.currentLodging||e.newTransportationCtrl.isTransportationAvailable()&&!1!==e.newTransportationCtrl.needsTransportation)},e.newTransportationCtrl.isTransportationAvailable=function(){return!(h()||!e.newTransportationCtrl.routes.length||!e.newTransportationCtrl.currentLodging||!(e.newTransportationCtrl.canOverrideTransportation||e.customFieldPricing.visibility.isRequired||E(v())))},e.newTransportationCtrl.showRoutes=function(){return!(e.newTransportationCtrl.routes.length<=1)&&e.newTransportationCtrl.canOverrideTransportation},e.newTransportationCtrl.showStops=function(){return!(e.newTransportationCtrl.stops.length<=0||!e.newTransportationCtrl.canOverrideTransportation&&E(e.newTransportationCtrl.currentRoute))},e.newTransportationCtrl.showNeedsTransportation=function(){return!e.customFieldPricing.visibility.isRequired&&e.newTransportationCtrl.isTransportationAvailable()},e.newTransportationCtrl.showTransportationPrice=function(){return!e.customField.isPricingHidden&&(l.PriceLine.showOffset(e.customFieldPricing)||l.PriceLine.showRate(e.customFieldPricing))};var g=function(){e.newTransportationCtrl.stops=e.newTransportationCtrl.currentRoute?e.newTransportationCtrl.currentRoute.stops:[]},v=function(){return 1===e.newTransportationCtrl.routes.length?e.newTransportationCtrl.routes[0]:e.availability.defaultRoute?e.availability.defaultRoute:null},y=function(){var t=v();t?(e.newTransportationCtrl.data.route=t.pk,e.newTransportationCtrl.currentRoute=t):(e.newTransportationCtrl.data.route=null,e.newTransportationCtrl.currentRoute=null)},b=function(t){if(e.newTransportationCtrl.currentLodging&&t)return 1===e.newTransportationCtrl.stops.length&&(e.newTransportationCtrl.canOverrideTransportation||e.customFieldPricing.visibility.isRequired)?e.newTransportationCtrl.stops[0]:e.newTransportationCtrl.currentLodging.preferredPickups.map((function(e){return t.stops.find((function(t){return t.pickup===e.pickup}))})).find((function(e){return void 0!==e}))},E=function(e){return!!b(e)},k=function(){var t=b(e.newTransportationCtrl.currentRoute);return t?(e.newTransportationCtrl.data.stop=t.pk,e.newTransportationCtrl.currentStop=t,!0):(e.newTransportationCtrl.data.stop=null,e.newTransportationCtrl.currentStop=null,e.newTransportationCtrl.canOverrideTransportation||e.customFieldPricing.visibility.isRequired||(e.newTransportationCtrl.data.route=null,e.newTransportationCtrl.currentRoute=null),!1)},C=function(e){return{route:e,run:{capacity:e.capacity,customerCount:0,bookingCount:0},pk:e.pk}};e.newTransportationCtrl.routeSelectionText=function(t){var n=t.route,r=t.run;if(!e.newTransportationCtrl.canOverrideTransportation)return n.name;if(!r.customerCount)return n.name;var i=r.customerCount.toString();return null!==r.capacity&&(i+=" "+T("of")+" "+r.capacity.toString()),i=interpolate(nT("(%(count)s person booked so far)","(%(count)s people booked so far)",i),{count:i}),n.name+" "+i};var A,P,S,O=function(){A=a.db.lodgings({shortname:e.availability.company.shortname},null,null,null,{tagAlong:!0}),P=e.newTransportationCtrl.canOverrideTransportation?a.db.routes({shortname:e.availability.company.shortname},null,null,null,{tagAlong:!0}):e.availability.defaultRoute?a.db.route({shortname:e.availability.company.shortname,routePk:e.availability.defaultRoute.pk},null,null,null,{tagAlong:!0}):[],S=e.newTransportationCtrl.canOverrideTransportation?a.db.runs.searchByDate({shortname:e.availability.company.shortname,date:e.availability.startAt.format("YYYY-MM-DD")},null,null,null,{tagAlong:!0}):[],u.dataController(e,{promises:[A.$promise,P.$promise,S.$promises],successCallback:R,errorCallback:function(){e.newTransportationCtrl.status="error"}})},R=function(){var t;e.newTransportationCtrl.status="success",e.newTransportationCtrl.lodgings=A,e.newTransportationCtrl.routes=_.isArray(P)?P:[P],e.newTransportationCtrl.routeSelections=_.map(e.newTransportationCtrl.routes,C),_.forEach(S,(function(t){var n=_.find(e.newTransportationCtrl.routeSelections,(function(e){return e.route===t.route}));n&&(n.run=t)})),f&&(t=f,e.newTransportationCtrl.data=t,t.lodging?(e.newTransportationCtrl.currentLodging=_.find(e.newTransportationCtrl.lodgings,(function(e){return e.pk===t.lodging})),e.newTransportationCtrl.currentLodging||(t.lodging=null)):e.newTransportationCtrl.currentLodging=null,!t.route||d.currentSourceBooking||h()?e.newTransportationCtrl.currentRoute=null:(e.newTransportationCtrl.currentRoute=_.find(e.newTransportationCtrl.routes,(function(e){return e.pk===t.route})),e.newTransportationCtrl.currentRoute||(t.route=null)),t.stop&&e.newTransportationCtrl.currentRoute?(e.newTransportationCtrl.currentStop=_.find(e.newTransportationCtrl.currentRoute.stops,(function(e){return e.pk===t.stop})),e.newTransportationCtrl.currentStop||(t.stop=null)):(t.route=null,e.newTransportationCtrl.currentRoute=null,t.stop=null,e.newTransportationCtrl.currentStop=null),e.newTransportationCtrl.needsTransportation=!!e.newTransportationCtrl.currentStop||e.customFieldPricing.visibility.isRequired,e.newTransportationCtrl.needsTransportation&&p.currentBooking&&function(){e.newTransportationCtrl.rebookingTransportation=!0,e.newTransportationCtrl.rebookTransportationOptions=[],e.newTransportationCtrl.rebookTransportationOption=null;var t=function(t){_.find(e.newTransportationCtrl.rebookTransportationOptions,(function(e){return e.route===t.route&&e.stop===t.stop}))||(e.newTransportationCtrl.rebookTransportationOptions.push(t),e.newTransportationCtrl.rebookTransportationOption||(e.newTransportationCtrl.rebookTransportationOption=t))};if(e.availability.defaultRoute){if(p.currentBooking.stop){var n=_.find(e.availability.defaultRoute.stops,(function(e){return e.pickup===p.currentBooking.stop.pickup}));n&&t({text:T("Match pickup location"),tip:T("Move to route of new availability but keep same pickup location"),route:e.availability.defaultRoute,stop:n})}var r=e.newTransportationCtrl.currentLodging.preferredPickups.map((function(t){return e.availability.defaultRoute.stops.find((function(e){return e.pickup===t.pickup}))})).find((function(e){return void 0!==e}));r&&t({text:T("Use new availability's default"),tip:T("Use the lodging's preferred stop on the default route"),route:e.availability.defaultRoute,stop:r})}if(e.newTransportationCtrl.currentRoute&&e.newTransportationCtrl.currentStop&&t({text:T("Keep old booking's options"),route:e.newTransportationCtrl.currentRoute,stop:e.newTransportationCtrl.currentStop}),e.newTransportationCtrl.canOverrideTransportation){var i={text:T("Pick new options"),route:e.availability.defaultRoute||"",stop:""};t(i)}e.newTransportationCtrl.rebookTransportationOption&&(e.newTransportationCtrl.data.route=e.newTransportationCtrl.rebookTransportationOption.route.pk,e.newTransportationCtrl.currentRoute=e.newTransportationCtrl.rebookTransportationOption.route,e.newTransportationCtrl.data.stop=e.newTransportationCtrl.rebookTransportationOption.stop.pk,e.newTransportationCtrl.currentStop=e.newTransportationCtrl.rebookTransportationOption.stop);var o=!1;e.$watch("newTransportationCtrl.data",(function(t,n){var r=_.find(e.newTransportationCtrl.rebookTransportationOptions,(function(e,n){return e.route.pk===t.route&&e.stop.pk===t.stop}));(r=r||i)!==e.newTransportationCtrl.rebookTransportationOption&&(e.newTransportationCtrl.rebookTransportationOption=r,o=!0,e.$evalAsync((function(){o=!1})))}),!0),e.$watch("newTransportationCtrl.rebookTransportationOption",(function(t,n){t&&t!==n&&(o||(t.route&&(e.newTransportationCtrl.data.route=t.route.pk,e.newTransportationCtrl.currentRoute=t.route),e.$evalAsync((function(){e.newTransportationCtrl.data.stop=t.stop?t.stop.pk:null,e.newTransportationCtrl.currentStop=t.stop||null}))))}))}()),e.$watch("customFieldPricing.visibility.isRequired",(function(t){t&&(e.newTransportationCtrl.needsTransportation=!0)})),e.$watch("newTransportationCtrl.currentLodging",(function(t,n){t&&e.newTransportationCtrl.needsTransportation&&(e.newTransportationCtrl.currentRoute||y(),t!==n&&k(),t!==n||e.newTransportationCtrl.canOverrideTransportation||e.newTransportationCtrl.currentStop||(g(),k()))})),e.$watch("newTransportationCtrl.currentRoute",(function(e,t){g(),e!==t&&e&&k()})),e.$watch("newTransportationCtrl.needsTransportation",(function(t,n){t!==n&&(t?(e.newTransportationCtrl.currentRoute||y(),k()):(e.newTransportationCtrl.data.route=null,e.newTransportationCtrl.currentRoute=null,e.newTransportationCtrl.data.stop=null,e.newTransportationCtrl.currentStop=null))})),e.$watch("newTransportationCtrl.data",(function(){e.newTransportationCtrl.data.lodging?m.assign(e,_.stringifyJSON((0,i.vh)(e.newTransportationCtrl.data))):m.assign(e,null)}),!0)};e.availability.pk&&_.isUndefined(e.availability.defaultRoute)?a.db.availability({shortname:e.availability.company.shortname,itemPk:e.availability.item.pk,availabilityPk:e.availability.pk}).$promise.then((function(){O()})):O()}]),n(16280),n(2008),n(74423),n(25276),n(23792),n(48598),n(72712),n(34782),n(15086),n(13609),n(94170),n(9868),n(78459),n(58940),n(84864),n(57465),n(27495),n(87745),n(90906),n(21699),n(71761),n(25440),n(79978),n(90744),n(11392),n(50375),n(42762),n(50778),n(62953),n(13611),n(76031);var s=n(72422),c=n(31176),u=n(7492),l=(n(76541),n(24601)),d=n(78823),p=n.n(d),m=n(90254),f=n(48498),h=n.n(f),g=n(79118),v=n.n(g);n(96246),function(){var e=angular.module("lib.directives",[]),t={isTouchEnabled:"ontouchstart"in window||navigator.msMaxTouchPoints,isTextInput:function(e){return e.is("input")&&_.isUndefined(e.attr("type"))||e.is('input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], input[type="search"], textarea')},bind:function(e,t,n){e.$watch(n,(function(n){e[t]=n}))},watcher:function(e,t,n,r,i){var o=e.$eval(t);return e.$watch(t,(function(e){o=e,r&&r(o)}),i),function(){return _.isUndefined(o)?n:o}},observer:function(e,t,n,r){var i;return i=e[t],e.$observe(t,(function(e){i=e,r&&r(i)})),function(){if(!_.isUndefined(i))return i;if(!_.isUndefined(n))return n;throw new Error("d: undefined attribute "+t+" for observer")}},restrictKeypresses:function(e,t){e.on("keypress",(function(e){if(e.which&&!e.metaKey&&!e.controlKey&&!e.altKey&&8!==e.which&&9!==e.which&&13!==e.which){var n=String.fromCharCode(e.which);t.test(n)||e.preventDefault()}}))},safeInvoke:function(e,t){return _.isArray(t)?e.invoke(t):t},conditionalDirective:function(e){return e=_.assign({operator:_.constant(_.identity),link:_.constant(_.ignore),transclude:_.constant(_.ignore),once:_.never},e),["$animate","$injector",function(n,r){return _.assign({transclude:"element",priority:800,terminal:!0,restrict:"A",compile:function(i,o,a){var s=t.safeInvoke(r,e.watch),c=t.safeInvoke(r,e.operator),u=t.safeInvoke(r,e.transclude),l=t.safeInvoke(r,_.isBoolean(e.once)?_.constant(e.once):e.once);return function(t,r,i,o){var d,p;e.link(t,r,i,o);var m=s(t,r,i,o),f=u(t,r,i,o),h=c(t,r,i,o),g=t.$watch(m,(function(e){d&&(n.leave(d),d=void 0),p&&(p.$destroy(),p=void 0),h(e)&&(p=t.$new(),a(p,(function(e){d=e,f(p,e),n.enter(e,r.parent(),r)}))),l(t,r,i)&&g()}))}}},e.directiveDescription)}]},isDropdownSupported:!(/iP(od|hone|ad)/i.test(window.navigator.userAgent)||/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)||/BlackBerry|Windows Phone|webOS/i.test(window.navigator.userAgent)),chromeVersion:function(){var e=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);return e?_.int(e[2]):null}};e.constant("d",t),e.config(["$provide",function(e){e.decorator("ngIfDirective",["$delegate",function(e){return e.shift(),e}])}]);var n=function(e){var t=e.$modelValue;_.forEach(e.$formatters,(function(e){t=e(t)})),e.$viewValue=t,e.$render()},r=function(t,n){e.directive(t,[function(){return{restrict:n,priority:500,require:"form",compile:function(){return{pre:function(e,t,n,r){r.$errorCallbacks=[],r.$successCallbacks=[]},post:function(e,t){t.attr("novalidate","novalidate")}}}}}])};r("form","E"),r("ngForm","A");var i=function(e,t){var n="20"+e,r=parseInt(t,10).toFixed();if(!isNaN(r))return{month:r,year:n}},d=[{device:"MSR100U",trackSeparator:"^",fullName:function(e){var t=e.split("/"),n=(t[1]||"").trim(),r=(t[0]||"").trim();return n?n+" "+r:r},details:function(e){var t=/;(\d+)=(\d\d)(\d\d)/.exec(e);if(t||(t=/%B(\d+)=(\d\d)(\d\d)/.exec(e)),t){var n=t[1],r=i(t[2],t[3]);if(r)return{number:n,expiryMonth:r.month,expiryYear:r.year}}}},{device:"denzer-has-a-weird-one",trackSeparator:"^",fullName:_.identity,details:function(e){var t=/;(\d+)=(\d\d)(\d\d)/.exec(e);if(t){var n=t[1],r=i(t[2],t[3]);if(r)return{number:n,expiryMonth:r.month,expiryYear:r.year}}}},{device:"knock-off-MSR100U",trackSeparator:"",details:function(e){var t=/^(\d+)=(\d\d)(\d\d)/.exec(e);if(t){var n=t[1],r=i(t[2],t[3]);if(r)return{number:n,expiryMonth:r.month,expiryYear:r.year}}}}];e.directive("ngSticky",["$parse","$window","auth","d",function(e,t,n,r){return{restrict:"A",link:function(e,i,o){if(e.isSet(o.ngStickyAllowTouch)||!r.isTouchEnabled){var a=e.isSet(o.ngStickyDisableMsie),s=document.documentMode;if(!(a&&s&&s<=11)){var c,u=e.$eval(o.ngStickyEdgeTopMargin)||0,l=(e.$eval(o.ngStickyEdgeBottomMargin),e.$eval(o.ngStickyTopMargin)||0),d=e.$eval(o.ngStickyBottomMargin)||0,p=$(t),m=function(){var t=function(){var e=$(o.ngStickyContent);if(e.length){var t=n.currentUser.isAuthenticated?93:0,r=p.height()-t,a=p.scrollTop(),s=e.offset().top,c=e.outerHeight(),m=i.outerHeight();if(m>c||m>r)return i.removeClass("sticky sticky-pinned sticky-floating").css({top:"",bottom:""}),"no-sticky";var f,h,g=a+(u+t),v=s+l,y=g+m>s+c-d,b=g>v&&!y;return g<=v?(f=l,i.removeClass("sticky-floating"),i.addClass("sticky sticky-pinned").css({top:f,bottom:""}),["sticky-pinned","top",f]):b?(f=t+u,i.removeClass("sticky-pinned"),i.addClass("sticky sticky-floating").css({top:t+u,bottom:""}),["sticky-floating","top",f]):y?(h=d,i.removeClass("sticky-floating"),i.addClass("sticky sticky-pinned").css({top:"",bottom:h}),["sticky-pinned","bottom",h]):void console.warn("ng-sticky: nothing makes sense")}}();angular.equals(c,t)||(c=t,e.$apply())};p.on("scroll",m),p.on("resize",m),e.$watch((function(){setTimeout(m)}))}}else console.info("ng-sticky: touch is enabled")}}}]),e.directive("ngSwipe",[function(){return{restrict:"A",link:function(e,t,n){var r=e.$eval(n.ngSwipe);t.on("keypress",(function(n){13===n.which&&e.$apply((function(){var e;r((e=t.val(),d.reduce((function(t,n){if(t)return t;var r,i="";if(n.trackSeparator){if(3!==(r=e.split(n.trackSeparator)).length)return;if(i=n.fullName(r[1]),_.isUndefined(i))return}else r=["","",e];var o=n.details(r[2]);return _.isUndefined(o)?void 0:_.assign(o,{fullName:i})}),null)))}))})),t.on("blur",(function(){e.$apply((function(){r()}))})),t.val(""),t.focus()}}}]),e.directive("ngApp",[function(){return{restrict:"A",link:function(e,t,n){$("html").removeClass("html-loading")}}}]),e.directive("ngAutoselect",["d",function(e){return{restrict:"A",link:function(t,n,r){if(n.attr("readonly","readonly"),!e.isTouchEnabled){var i=!1;n.on("click",(function(){n.focus(),i||(n.select(),i=!0)})),n.on("blur",(function(){i=!1}))}}}}]),e.directive("ngAutofocus",["$parse","$timeout","d",function(e,t,n){var r="input, textarea, select",i=function(e){if(e.is(r))return e;var t=e.find(r).first();return t.length?t:void 0};return{restrict:"A",link:function(o,a,s){var c=o.isSet(s.ngAutofocus),u=o.isSet(s.ngAutofocusSelect),l=o.isSet(s.ngAutofocusOpen),d=s.ngAutofocusWhen?e(s.ngAutofocusWhen):_.always;if(r+=s.ngAutofocusElement?", "+s.ngAutofocusElement:"",c)if(n.isTouchEnabled){if(!u)return;t((function(){var e=i(a);e&&!e.is("select")&&e.on("focus",(function(){t((function(){e[0].setSelectionRange(0,1e3)}))}))}))}else t((function(){if(d(o)){var e=i(a);e&&(e.hasClass("ng-dropdown")?(e.trigger("dropdown:focus"),l&&e.trigger("dropdown:open")):(e.focus(),u&&!e.is("select")&&e.select()))}}))}}}]),e.directive("ngAutoNavigate",["$location","$timeout","$window","navigation",function(e,t,n,r){return{restrict:"A",link:function(i,o,a){(!a.ngAutoNavigate||i.$eval(a.ngAutoNavigate))&&t((function(){var t=o.prop("href");e.$$rewrite(t)?r.navigate(t):(n.parent||window).location.href=t}))}}}]),e.directive("ngCurrentOption",["$parse",function(e){return{restrict:"A",scope:!0,controller:["$scope","$attrs",function(t,n){var r=this,i=e(n.ngCurrentOption),o=e(n.ngCurrentOptionTarget||"currentOption"),a=e(n.ngCurrentOptionCollection),s=e(n.ngCurrentOptionOnUpdate),c=t.$eval(n.ngCurrentOptionKey)||"pk",u=function(e,n){var i=_.find(n,(function(t){return t[c]===e}));i||(i=null),o.assign(t.$parent,i);var a=r.currentOption;r.currentOption=i,s&&a!==r.currentOption&&s(t)};t.$parent.$watch(i,(function(e){var n=a(t);u(e,n)})),t.$parent.$watch((function(){return _.map(a(t),"uri")}),(function(){var e=a(t),n=i(t);u(n,e)}),!0)}],controllerAs:"currentOptionCtrl"}}]),e.directive("ngWatchHeight",["$document","$window","lightframe",function(e,t,n){return{restrict:"A",link:function(t,r,i){var o=function(){if(e[0].body)return e[0].body.offsetHeight},a=function(e){n.updateHeight(e)};t.$watch(o,a),setInterval((function(){a(o())}),2500)}}}]),e.directive("ngDimensions",["$document","$parse","$window","$rootScope","scrollbar",function(e,t,n,r,i){var o=function(){return{width:Math.max(e[0].documentElement.clientWidth,n.innerWidth||0),height:Math.max(e[0].documentElement.clientHeight,n.innerHeight||0)}},a=function(e){return{width:e.width(),height:e.height(),outerWidth:e.outerWidth(),outerHeight:e.outerHeight()}};return{restrict:"A",link:function(e,r,s){if(!s.ngDimensionsWhen||e.$eval(s.ngDimensionsWhen)){var c=e.isSet(s.ngDimensionsViewport)?o:_.bind(a,null,r),u=t(s.ngDimensions||"dimensions"),l=c();u.assign(e,l);var d=Math.max(i.getWidth(),15),p=function(){var t=c();t.width===l.width&&t.height===l.height||function(e){var t=l.width-e.width;return t>0&&t<=d}(t)||(_.assign(l,t),e.$digest())},m=_.debounce(p,0),f=_.debounce(p,250);e.$watch(m),$(n).on("resize",f),e.$on("$destroy",(function(){$(n).off("resize",f),m.cancel(),f.cancel()}))}}}}]),e.directive("ngStyleOnce",[function(){return{restrict:"A",link:function(e,t,n){t.css(e.$eval(n.ngStyleOnce))}}}]);var f=function(t){e.directive(t.name,[function(){return{restrict:"A",link:function(e,n,r){var i=t.transform||_.identity,o=t.isNumeric&&!_.isUndefined(r[t.name+"AddToInitial"]),a=function(){var i=e.$eval(r[t.name+"Selector"]);return i?$(i):n},s=r[t.name+"ForceInitialValue"]?e.$eval(r[t.name+"ForceInitialValue"]):a().css(t.property);t.isNumeric&&(s=parseInt(s,10)),(_.isUndefined(s)||_.includes(t.emptyValues,s))&&(s="");var c=function(e){e?(o&&s&&(e+=s),a().css(t.property,i(e))):a().css(t.property,s)};t.interpolate?r.$observe(t.name,c):e.$watch(r[t.name],c),e.$on("$destroy",(function(){c()}))}}}])};f({name:"ngBackgroundImage",property:"background-image",transform:function(e){return"url("+y(e)+")"},emptyValues:["none"]}),f({name:"ngBackgroundColor",property:"background-color",emptyValues:["rgba(0, 0, 0, 0)","transparent"]}),f({name:"ngTop",property:"top",isNumeric:!0}),e.directive("ngLocation",[function(){return{restrict:"A",link:function(e,t,n){var r=function(){var e,n={width:t[0].offsetWidth,height:t[0].offsetHeight};try{e=t.position()}catch(t){e={top:0,left:0}}var i={position:e,size:n};return r.position=i.position,r.size=i.size,i};e[n.ngLocation]=r}}}]),e.directive("ngScrollStatic",["$window",function(e){return{restrict:"A",link:function(t,n,r){var i=r.ngScrollStaticContainer||"html,body",o=!r.ngScrollStaticContainer,a=t.$eval(r.ngScrollStaticPadding)||0;!function(){var t=r.ngScrollStatic,n=$(i),s=n.find(t);if(s.length&&n.length){var c=_.min(_.map(s,(function(e){return $(e).position().top||0}))),u=0;n.each((function(e,t){if(t.scrollHeight)return u=t.scrollHeight,!1}));var l=_.min(_.choose(n,(function(e){var t=$(e).height();if(t)return t})));o&&(l=Math.min(l,e.innerHeight));var d=Math.max(0,u-l);(c-=a)<0?c=0:c>d&&(c=d),n.scrollTop(c)}}()}}}]),e.directive("ngScrollTo",["scroll",function(e){return{restrict:"A",link:function(t,n,r){var i=t.isSet(r.ngScrollOnClick),o=t.isSet(r.ngScrollSmooth),a=t.isSet(r.ngScrollForce);i?n.on("click",(function(n){r.ngScrollPreAction&&t.$safeApply((function(){t.$eval(r.ngScrollPreAction)})),e.scrollTo(r.ngScrollTo,r.ngScrollContainer,o,a)})):e.scrollTo(r.ngScrollTo,r.ngScrollContainer,o,a)}}}]),e.directive("ngTopScrolled",["$document",function(e){return{restrict:"A",link:function(t,n,r){var i=t.$eval(r.ngTopScrolled)||0,o=e.scrollTop()+i;n.css({top:o})}}}]),e.directive("ngWithLocation",[function(){return{restrict:"A",link:function(e,t,n){e.$watch(n.ngWithLocation,(function(r){if(t.toggleClass("with-location",!!r),r){var i={x:0,y:0};if(n.ngWithLocationOffset){var o=e.$eval(n.ngWithLocationOffset)||{};i.x=o.x||i.x,i.y=o.y||i.y}var a=e.$eval(n.ngWithLocationRight)||!1,s={top:r.position.top+i.y};s.left=a?r.position.left+-t[0].offsetWidth+i.x:r.position.left+r.size.width+i.x,t.toggleClass("left",!a),t.toggleClass("right",a),t.css(s)}}))}}}]),e.directive("ngTranslate",["$window","translate",function(e,t){return{restrict:"A",link:function(e,n){t.initialize(n)}}}]);var g=function(e){return e&&!_.isUndefined(e.x)&&!_.isUndefined(e.y)&&e.width&&e.height},y=function(e){return-1===e.indexOf("Cdn")?e.replace("Url","CdnUrl"):e};e.directive("ngImage",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngImage),i=_.isUndefined(n.ngImageOnce)||""===n.ngImageOnce?_.always:e(n.ngImageOnce);return function(e,t,n){var o=function(r){if(r){var i,o=e.$eval(n.ngImageCrop),a=e.$eval(n.ngImageSquare),s=e.$eval(n.ngImageMaxWidth),c=e.$eval(n.ngImageMaxHeight),u=e.$eval(n.ngImageMaxSize),l=e.$eval(n.ngImageWidth),d=e.$eval(n.ngImageHeight),p=e.$eval(n.ngImageFilter),m=e.$eval(n.ngImageFilterAmount),f={cache:!0,compress:!0,quality:90};return g(o)&&_.assign(f,{crop:o.x.toFixed(0)+","+o.y.toFixed(0)+","+o.width.toFixed(0)+","+o.height.toFixed(0)}),a&&_.assign(f,{w:a,h:a,fit:"crop"}),s&&_.assign(f,{w:s,fit:"max"}),c&&_.assign(f,{h:c,fit:"max"}),u&&_.assign(f,{w:u,h:u,fit:"max"}),l&&_.assign(f,{w:l}),d&&_.assign(f,{h:d}),p&&-1!==_.indexOf(["blur","sharpen"],p)&&m&&(f.filter=p,f[p+"Amount"]=m),_.startsWith(r,"https://fh-sites.imgix.net")||(r+="/convert?",r+=(i=f,_.map(i,(function(e,t){return t+"="+e.toString()})).join("&"))),t.is("img")?t.attr("src",r):t.css("background-image","url("+r+")"),r}console.info("ng-image: no url supplied")};if(i()){var a=o(r(e));console.info("ng-image: once",a)}else e.$watch(r,(function(e){e=o(e),console.info("ng-image: watch",e)}))}}}}]),e.directive("ngCrop",["$parse","$timeout",function(e,t){return{restrict:"A",require:"^form",link:function(n,r,i,o){r.attr("src",n.$eval(i.ngCrop));var a=n.$eval(i.ngCropAspectRatio);a=!1===a?0:a||1.9;var s,c=e(i.ngCropModel),u=function(){return r[0].naturalWidth/r.width()},l=function(e){n.$safeApply((function(){var t=c(n),r=u();t.x=Math.floor(e.x*r),t.y=Math.floor(e.y*r),t.width=Math.floor(e.w*r),t.height=Math.floor(e.h*r),o.$setDirty()}))};t((function(){r.Jcrop({onSelect:l,keySupport:!1,aspectRatio:a},(function(){s=this;var e=c(n),t=u();if(g(e)){var r=Math.floor(e.x/t),i=Math.floor(e.y/t),o=r+Math.floor(e.width/t),l=i+Math.floor(e.height/t);s.setSelect([r,i,o,l])}else{var d,p,m=s.getWidgetSize(),f=m[0],h=m[1];if(!a)return void s.setSelect([0,0,f,h]);f/a<h?(d=f,r=0,i=(h-(p=f/a))/2):(p=h,r=(f-(d=h*a))/2,i=0),r=Math.floor(r),i=Math.floor(i),o=r+Math.floor(d),l=i+Math.floor(p),s.setSelect([r,i,o,l])}})),n.$on("$destroy",(function(){s&&s.destroy()}))}))}}}]),e.directive("ngAudio",[function(){return{restrict:"A",link:function(e,t,n){var r,i=n.ngAudioSrc;e[n.ngAudio]=function(){r||(r=$('<audio><source src="'+i+'"></audio>'),t.append(r)),r[0].load(),r[0].play()},e.$on("$destroy",(function(){r&&r.remove()}))}}}]),e.directive("ngTip",["$compile","$parse","$sanitize","$templateCache","d",function(e,t,n,r,i){var o;return{restrict:"A",link:function(a,s,c){var u=c.ngTipLocation,l=c.ngTipWhen?t(c.ngTipWhen):_.always,d=$("body"),p=c.ngTipPosition;if(!i.isTouchEnabled||a.$eval(c.ngTipTouch)){o||(o=$('<span class="tip" aria-live="polite"></span>'),d.append(o));var m,f,h,g,v=!1,y=function(t){var i,y,b=s;if((!u||(b=s.find(u)).length)&&l(a)){var k,C=p?"tip-"+p:"";if(o.attr("class","tip").addClass(E()+" "+(i=s.attr("class")||"",y=i.split(" "),(i=(y=_.choose(y,(function(e){if(e=e.trim())return"tip-ele--"+e}))).join(" "))+" ")+C),c.ngTipTemplate){var A=c.ngTipTemplate,P=r.get(A);if(!P)return void console.warn("ng-tip: invalid template",A);var S=e(P);a.$safeApply((function(){k=S(a)}))}else k=n(g());o.html(k),o.css({width:"auto"});var O=b.offset(),R=b.outerWidth();0===R&&b[0]instanceof SVGElement&&(R=b[0].getBoundingClientRect().width),h=o.outerWidth(),f=o.outerHeight();var I=parseInt(d.css("top"),10)||0;m={};var w=b.outerHeight();"right"!==p&&"left"!==p||(m.top=Math.floor(O.top+w/2-f/2)-I),"right"===p?m.left=O.left+R+8:"left"===p?m.left=O.left-h-8:"cursor"===p&&(R>=50||w>=50)?(v=!0,T(t)):(m.top=Math.floor(O.top-f-8-I),m.left=Math.floor(Math.max(O.left+(R-h)/2,0))),o.css(m),o.addClass("showing")}},b=function(){o.attr("class","tip"),o.css({top:-100,left:-100})},T=function(e){m.top=Math.max(e.pageY-f-8,0),m.left=Math.max(e.pageX-Math.floor(h/2),0)};g=c.ngTipValue?function(){return a.$eval(c.ngTipValue)}:i.observer(c,"ngTip","");var E=c.ngTipClasses?i.observer(c,"ngTipClasses",""):function(){return""};s.on("mouseenter",y),s.on("mouseleave",b),"cursor"===p&&s.on("mousemove",(function(e){v&&(T(e),o.css(m))})),s.on("retip",(function(e){window.setTimeout((function(){if(a.$root){var t=o.hasClass("showing");b(),t&&y(e)}}))})),c.ngDisabled&&s.is("button, input, select, textarea")&&c.$observe("disabled",(function(e){e&&o.hasClass("showing")&&b()})),a.$on("$destroy",b)}}}}]),e.directive("ngRadioFlyer",[function(){return{link:function(e,t,n){var r=function(e){t.find('input[type="radio"]').each((function(){var t=$(this),n=_.isUndefined(e)?t.is(":checked"):t.val()===e;t.closest("label").toggleClass("radio-selected",n)}))};n.ngRadioFlyer?e.$watch(n.ngRadioFlyer,(function(e){r(e)})):e.$watch((function(){r()})),e.$evalAsync((function(){r()}))}}}]),e.directive("ngCheckboxMadness",[function(){return{require:"ngModel",link:function(e,t,n){e.$watch(n.ngModel,(function(e){t.closest(".field").toggleClass("checkbox-selected",!!e)}))}}}]),e.directive("ngSupportHacks",_.optional(["d","events","?native",function(e,t,n){return{restrict:"A",link:function(r){var i=$("html");i.addClass(e.isTouchEnabled?"touch":"not-touch"),i.addClass(n&&n.isNative?"native":"not-native"),t.on(r,"fareharbor.native.inApp",(function(e,t){i.addClass("native").removeClass("not-native")}))}}}])),e.directive("ngBlurEscape",["$document","d",function(e,t){return{restrict:"A",link:function(n,r,i){e.on("keydown",(function(e){if(27===e.which){var n=$(e.target);t.isTextInput(n)&&(e.preventDefault(),e.stopPropagation(),n.trigger("blur"))}}))}}}]),e.directive("ngShortcut",["$parse","navigation","shortcuts",function(e,t,n){return{restrict:"A",compile:function(t,r){var i=e(r.ngShortcut),o=r.ngShortcutAction?e(r.ngShortcutAction):_.ignore;return function(e,t,r){var a=i(e);if(!_.isUndefined(a)){a=a.split("|");var s,c=_.ignore;e.isSet(r.ngShortcutClick)&&(s=c,c=function(){s(),r.disabled||t.trigger("click")}),e.isSet(r.ngShortcutFocus)&&(c=function(e){return function(){e(),t.is("input, textarea, select")?setTimeout((function(){t.trigger("focus")})):t.find("input, textarea").first().trigger("focus")}}(c)),r.ngShortcutAction&&(c=function(t){return function(){t(),e.$apply((function(){r.disabled||o(e)}))}}(c)),e.isSet(r.ngShortcutOnly)&&t.addClass("ng-hide"),_.forEach(a,(function(t){var i=n.register({keySet:t,action:c,description:r.ngShortcutDescription||""});e.$on("$destroy",(function(){n.unregister(i)}))}))}}}}}]),e.directive("ngGenericForm",[function(){return{link:function(e,t,n){e[n.ngGenericForm]={}}}}]),e.directive("ngSortable",[function(){return{restrict:"A",require:"^?form",link:function(e,t,n,r){var i=e.$eval(n.ngSortable);if(i){var o=n.ngSortableHandle||".sortable-handle",a=n.ngSortableSelector||"li.sortable",s='<li class="sortable sortable-placeholder"></li>';e.$eval(n.ngSortableTable)&&(s='<tbody class="sortable"><tr><td style="height: 50px"></td></tr></tbody>');var c={itemSelector:a,placeHolderTemplate:s,dragEnd:function(t,n){var o=$(this),a=$(t),s=$(n),c=o.data("ng-sortable-item"),u=a.data("ng-sortable-item"),l=s.data("ng-sortable-item");return c===l&&(l=null),c===u&&(u=null),e.$apply((function(){return r&&r.$setDirty(),i(c,u,l)}))}};o&&(c.dragSelector=o,c.dragSelectorExclude="input, textarea"),t.dragsort(c),e.$on("$destroy",(function(){t.dragsort("destroy")}))}}}}]),e.directive("ngSortableItem",[function(){return{restrict:"A",link:function(e,t,n){var r=e.$eval(n.ngSortableItem);r&&(t.data("ng-sortable-item",r),t.addClass("sortable"))}}}]),e.directive("ngDropdown",["$interpolate","$parse","$sanitize","d",function(e,t,n,r){var i=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,o=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+hide\s+when\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)?$/,a="remote-options-mode",s="ng-options-mode",c=T("Choose an option"),u={errorLoading:_.constant(T("The results could not be loaded")),inputTooLong:function(e){var t=e.input.length-e.maximum;return interpolate(nT("Please delete %(count)s character","Please delete %(count)s characters",t),{count:t})},inputTooShort:function(e){var t=e.minimum-e.input.length;return interpolate(nT("Please enter %(count)s or more character","Please enter %(count)s or more characters",t),{count:t})},loadingMore:_.constant(T("Loading more results...")),maximumSelected:function(e){return interpolate(nT("You can only select %(count)s item","You can only select %(count)s items",e.maximum),{count:e.maximum})},noResults:_.constant(T("No results found")),searching:_.constant(T("Searching..."))};return{restrict:"A",require:["ngModel","select"],compile:function(l,d){var p,m,f,h,g,v,y,b,T,E,k;if(d.ngDropdownRemoteOptions){if(E=a,!(p=d.ngDropdownRemoteOptions.match(o)))return void console.error("ngDropdown: malformed ngDropdownRemoteOptions expression.");g=t(p[2]||p[1]),y=p[3]?t(p[3]):null,b=p[4]?t(p[4]):null,m=p[6],f=p[5]||p[7],h=t(p[2]?p[1]:f),v=t(p[8]),k=d.ngDropdownMinimum?t(d.ngDropdownMinimum):_.constant(2)}else{if(!d.ngOptions)return void console.error("ngDropdown: ngDropdownRemoteOptions or ngOptions required.");if(E=s,!(p=d.ngOptions.match(i)))return void console.error("ngDropdown: ng-options regex must match angular.");m=p[5],f=p[4]||p[6],T=t(p[7])}var C=E===s&&!r.isDropdownSupported,A=d.ngPlaceholder||c,P=e(A),S=d.ngPlaceholderValue?t(d.ngPlaceholderValue):_.constant(null),O=d.ngDropdownCurrentOption&&t(d.ngDropdownCurrentOption),R=d.ngDropdownAllowClear&&t(d.ngDropdownAllowClear),I=t(d.ngModel),w=$("<option class='empty-option' value='' label=''></option>");return l.prepend(w),C?l.closest(".the-field").addClass("ng-dropdown-disabled"):(l.css("width","100%"),l.addClass("ng-dropdown")),function(e,t,r,i){var o=i[0],c=i[1],l=!R||R(e);if(C&&!l)var d=e.$watch(r.ngModel,(function(e){""!==t.val()&&(t.find(".empty-option").remove(),d())}));var p=S(e);if(o.$parsers.push((function(e){return null===e?p:e})),o.$formatters.push((function(e){return e===p?null:e})),!C){var A,w={language:u,minimumResultsForSearch:8,allowClear:l,placeholder:P(e)},D={};w.templateResult=function(e){var t=$("<span>"+n(e.text)+"</span>"),r=D[e.id];return _.isObject(r)&&r.classes&&t.addClass(r.classes),t},w.templateSelection=function(e){return $("<span>"+n(e.text)+"</span>")};var N={},U=function(t,n,r){return t?(m&&(N[m]=r),N[f]=n,t(e,N)):null};if(E===a){var F=v(e),L=function(e,t){return{id:e.uri||e.pk.toString(),text:U(g,e,t),disabled:U(b,e,t),ngModelValue:U(h,e,t),originalValue:e}};w.minimumInputLength=k(e),w.ajax={delay:250,transport:function(e,t,n){var r=e.data.term,i=F(r);return i.$promise.then((function(){t(i)}),(function(){n(i)})),{abort:i.$promise.cancel}},processResults:function(e){D={};var t=[];return _.forEach(e,(function(e,n){if(!U(y,e,n)){var r=L(e,n);t.push(r),D[r.id]=r.ngModelValue}})),{results:t}}},o.$parsers.unshift((function(e){return D[e]||null})),c.readValue=function(){var e=t.val();return e in c.selectValueMap?c.selectValueMap[e]:e}}else if(E===s){var M={default:function(){var t=T(e);if(_.isArray(t)){if(!t.length)return t;if(!_.isUndefined(t[0].label))return _.map(t,"label");if(!_.isUndefined(t[0].uri))return _.map(t,"uri");if(!_.isUndefined(t[0].pk))return _.map(t,"pk");if(_.isString(t[0]))return t}else if(_.isObject(t))return _.keys(t)},uri:function(){var t=T(e);return _.map(t,"uri")},pk:function(){var t=T(e);return _.map(t,"pk")}}[e.$eval(r.ngDropdownWatchType)||"default"],x=function(){window.setTimeout((function(){t.trigger("change.select2")}))};e.$watch(M,(function(){D=_.keyBy(T(e),(function(e,t){return t.toString()})),A.dataAdapter.destroy(),x()}),!0),e.$watch(r.ngModel,x)}var B=t.closest(".ng-dropdown-context");B.length&&(w.dropdownParent=B),_.forEach(["open","focus"],(function(e){t.bind("dropdown:"+e,(function(){t.select2(e)}))})),e.$watch(r.ngDisabled,(function(e){t.attr("disabled",!!e)})),e.$watch((function(){return!!t.parents("fieldset[disabled]").length}),(function(e){t.attr("disabled",e)})),e.$on("$destroy",(function(){A.destroy()})),t.select2(w),A=t.data("select2"),E===a&&O&&(e.$watch(O,(function(e){if(!_.isUndefined(e)){var t=[];e&&t.push(L(e)),A.trigger("selection:update",{data:t})}})),e.$watch(I,(function(t){t||O.assign(e,null)})),A.on("select",(function(t){e.$apply((function(){O.assign(e,t.data.originalValue)}))})))}}}}}]),e.directive("ngIf",t.conditionalDirective({watch:["$parse",function(e){return function(t,n,r){var i=e(r.ngIf);return function(){return!!i(t)}}}],operator:function(e,t,n){return function(t){return n.ngThen&&(e[n.ngThen]=t),t}}})),e.directive("ngIfOnce",t.conditionalDirective({watch:["$parse",function(e){return function(t,n,r){var i=e(r.ngIfOnce);return function(){return!!i(t)}}}],operator:function(e,t,n){return function(t){return n.ngThen&&(e[n.ngThen]=t),t}},once:!0})),e.directive("ngIfInLabs",t.conditionalDirective({watch:["labs",function(e){return function(t,n,r){return function(){var n="ngIfInLabs",i=r[n].replace("!",""),o=r.ngIfInLabsVariation,a=0===r[n].indexOf("!"),s=e.isInVariation(i,o);return r.ngThen&&(t[r.ngThen]=s),a?!s:s}}}]})),e.directive("ngElse",t.conditionalDirective({watch:["$parse",function(e){return function(t,n,r){var i=e(r.ngElse);return function(){return!i(t)}}}]})),e.directive("ngElseOnce",t.conditionalDirective({watch:["$parse",function(e){return function(t,n,r){var i=e(r.ngElseOnce);return function(){return!i(t)}}}],once:!0})),e.directive("ngWatch",t.conditionalDirective({watch:["$parse",function(e){return function(t,n,r){return e(r.ngWatch)}}],operator:_.constant(_.always),transclude:["$parse",function(e){return function(t,n,r){var i=e(r.ngWatchAction)||_.ignore;return function(){i(t)}}}]})),e.directive("ngInterval",[function(){return{link:function(e,t,n){var r=e.$eval(n.ngInterval)||1,i=setInterval((function(){e.$digest()}),1e3*r);e.$on("$destroy",(function(){clearInterval(i)}))}}}]),e.directive("ngData",["$q",function(e){return{scope:!0,transclude:!0,templateUrl:"ng-data",controllerAs:"dataCtrl",controller:["$scope","$attrs",function(t,n){var r=this;r.status="loading",t.isSet(n.ngDataSmall)?r.type="small":t.isSet(n.ngDataManual)?r.type="manual":r.type="large";var i=n.ngDataOnError||"";r.transcludeOnError="transclude"===i;var o=n.ngDataOnSuccess||"",a=function(){r.status="success",o&&t.$eval(o)},s=t.$eval(n.ngData);if(_.isUndefined(s))a();else{var c=_.isArray(s);if(c||_.isPromise(s)){c&&(s=e.all(s));var u=t.$eval(n.ngDataStale);_.isUndefined(u)||(u=c?u:[u],_.some(u,"$fresh"))?s.then((function(){a()}),(function(){r.status="error"})):a()}else a()}}]}}]),e.config(["$provide",function(e){e.decorator("ngShowDirective",["$delegate",function(e){return e.shift(),e}])}]),e.directive("ngShow",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngShow);return function(e,t,n){e.$watch(r,(function(r){t.toggleClass("ng-hide",!r),n.ngThen&&(e[n.ngThen]=r)}))}}}}]),e.directive("ngShowOnce",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngShowOnce);return function(e,t,n){var i=r(e);t.toggleClass("ng-hide",!i),n.ngThen&&(e[n.ngThen]=i)}}}}]),e.config(["$provide",function(e){e.decorator("ngHideDirective",["$delegate",function(e){return e.shift(),e}])}]),e.directive("ngHideOnce",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngHideOnce);return function(e,t,n){var i=!!r(e);t.toggleClass("ng-hide",i),n.ngThen&&(e[n.ngThen]=i)}}}}]),e.directive("ngHide",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngHide);return function(e,t,n){e.$watch(r,(function(r){r=!!r,t.toggleClass("ng-hide",r),n.ngThen&&(e[n.ngThen]=r)}))}}}}]),e.directive("ngAutoExporter",["$interpolate","autoExport",function(e,t){return{scope:!0,templateUrl:"auto-exporter",compile:function(n,r){var i=e(r.ngAutoExporter),o=e(r.ngAutoExporterFilename);return function(e,n,a){e.autoExport=t,e.isLeft=e.isSet(a.ngAutoExporterLeft),e.ngMxNameClickExport=r.ngMxNameClickExport,e.$watch(i,(function(t){e.namespace=t})),e.$watch(o,(function(t){e.filename=t}))}}}}]),e.directive("ngAutoExportValue",[function(){return{restrict:"A",compile:function(e,t){var n=t.ngAutoExportValue||"";return t.$set("ngAutoExportValue",""),function(e,t,r){t.data("ngAutoExportValue",(function(){return e.$interpolate(n)}))}}}}]),e.directive("ngAutoExportSkip",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngAutoExportSkip||"true");return function(e,t,n){t.data("ngAutoExportSkip",_.bind(r,null,e))}}}}]),e.directive("ngAutoExportOnly",["$parse",function(e){return{restrict:"A",compile:function(t,n){if(n.ngAutoExportOnly){var r=e(n.ngAutoExportOnly);return function(e,t,n){e.$watch(r,(function(e){t.toggleClass("ng-hide",e)}))}}t.addClass("ng-hide")}}}]),e.directive("ngAutoExport",["$interpolate","$parse","autoExport",function(e,t,n){return{restrict:"A",scope:!0,compile:function(r,i){var o=e(i.ngAutoExport),a=i.ngAutoExportProcess?t(i.ngAutoExportProcess):null;return function(e,t){var r=o(e),s={isCSS:e.isSet(i.ngAutoExportCss),tableSelector:i.ngAutoExportTable,rowSelector:i.ngAutoExportRow,cellSelector:i.ngAutoExportCell};a&&(s.process=_.bind(a,null,e));var c=n.addExport(r,t,s);e.$on("$destroy",(function(){n.removeExport(c)}))}}}}]),e.directive("ngTableFilters",["$parse","$rootScope",function(e,t){return{restrict:"A",scope:!0,controller:function(){var e=this;e.ignore=null,e.filters=[],e.addFilter=function(t){o.Y.assert(t.type,"ng-table-filter: expected filter description to include type"),o.Y.assert(t.filter,"ng-table-filter: expected filter description to include filter"),e.filters.push(t),c(t)},e.removeFilter=function(t){s(t),_.overwriteWithout(e.filters,t)},e.reset=function(){_.forEach(e.filters,(function(e){e.resetValue()})),e.update()},e.isFiltering=function(t){return _.some(_.map(e.filters,(function(e){return e.isFiltering()})))};var n=function(t,n){for(var r,i,o,a=[],s=e.filters.length,c=0,u=n.length;c<u;c++){if(r=!0,(i=n[c])&&i!==e.ignore)for(var l=0;l<s;l++)if((o=e.filters[l]).isFiltering()&&!o.filter(i)){r=!1;break}r&&a.push(i)}_.overwrite(t,a),t.filtered=n.length-a.length},r={},i={};e.update=function(){console.info("ng-table-filters: filtering collections"),_.forEach(r,(function(e,t){n(i[t],e)})),s()},e.debouncedUpdate=_.debounce((function(){t.$apply((function(){e.update()}))}),500),e.addCollection=function(e,t){r[e.$id]=t||[];var o=i[e.$id];return _.isUndefined(o)&&(o=i[e.$id]=[]),n(o,r[e.$id]),o},e.removeCollection=function(e){delete r[e.$id],delete i[e.$id]};var a={},s=function(t){a&&(_.isUndefined(t)?_.forEach(e.filters,(function(e){s(e)})):_.isUndefined(t.identifier)||_.isUndefined(t.value)||(a[t.identifier]=t.value))},c=function(t){if(a)if(_.isUndefined(t))_.forEach(e.filters,c);else if(!_.isUndefined(t.identifier)){var n=a[t.identifier];_.isUndefined(n)?t.resetValue():t.value=n}};e.updateModel=function(t){return s(),a=t||{},c(),e.update(),a},e.storeModel=function(){return s(),a}},compile:function(t,n){var r=n.ngTableFilters?e(n.ngTableFilters):null,i=n.ngTableFiltersModel?e(n.ngTableFiltersModel):null,o=n.ngTableFiltersIgnore?e(n.ngTableFiltersIgnore):null;return{pre:function(e,t,n,a){e.$tableFilters=a,i&&e.$watch(i,(function(t){i.assign(e,a.updateModel(t))})),r&&e.$watchCollection(r,(function(t){e.$collection=a.addCollection(e,t)})),o&&e.$watch(o,(function(e){a.ignore=e,a.update()}))}}}}}]),e.directive("ngTableFilter",["$compile","$parse","$templateCache",function(e,t,n){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],scope:!0,controller:function(){var e=this;e.name="",e.isFiltering=_.never,e.filter=_.always},compile:function(r,i){var o=n.get(i.ngTableFilterTemplate||"tableFilter.filter");if(o){var a=e(o),s=i.ngTableFilterIdentifier?t(i.ngTableFilterIdentifier):null;return{pre:function(e,t,n,r){var i=r[0],o=r[1];e.$tableFilter=o,o.reset=function(){o.resetValue(),i.update()},o.name=o.identifier=n.ngTableFilter,s&&(o.identifier=s(e)),n.$observe("ngTableFilter",(function(e){o.name=e})),t.addClass("ng-table-filter"),e.$watch((function(){return o.isFiltering()}),(function(e){t.toggleClass("filtering",e)})),a(e,(function(e){t.append(e)}))},post:function(e,t,n,r){var i=r[0],o=r[1];i.addFilter(o),e.$on("$destroy",(function(){i.removeFilter(o)}))}}}console.error("ng-table-filter-filter: template not found")}}}]),e.directive("ngTableFilterString",["$parse",function(e){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],compile:function(t,n){var r=e(n.ngTableFilterString);return{post:function(e,t,n,i){var o=i[0],a=i[1];a.type="string",a.value="",a.resetValue=function(){a.value=""};var s="";a.isFiltering=function(){return!!(s=a.value.toLowerCase())},a.filter=function(t){return function(t){return r(e,{$row:t})||""}(t).toLowerCase().indexOf(s)>=0},e.$watch((function(){return a.value}),(function(){o.debouncedUpdate()}))}}}}}]),e.directive("ngTableFilterDate",["$parse",function(e){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],compile:function(t,n){var r=e(n.ngTableFilterDate);return{pre:function(e,t,n,i){var o=i[0],a=i[1],s=function(t){return r(e,{$row:t})||0},c="on",u="before",l="after";a.operations=[{name:T("Before"),value:u},{name:T("On"),value:c},{name:T("After"),value:l}];var d,p={};p[c]=function(e){var t=s(e);return!!t&&0===t.diff(d,"days")},p[u]=function(e){var t=s(e);return!!t&&t.diff(d,"days")<0},p[l]=function(e){var t=s(e);return!!t&&t.diff(d,"days")>0},a.type="date",a.value={operation:c,date:""},a.resetValue=function(){a.value.date=""},a.isFiltering=function(){return!!(d=a.value.date?moment(a.value.date,"YYYY-MM-DD"):null)},a.filter=p[a.value.operation],e.$watch((function(){return a.value.operation}),(function(e){a.filter=p[e],o.debouncedUpdate()})),e.$watch((function(){return a.value.date}),(function(){o.debouncedUpdate()}))}}}}}]),e.directive("ngTableFilterAmount",["$parse",function(e){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],compile:function(t,n){var r=e(n.ngTableFilterAmount);return{pre:function(e,t,n,i){var o=i[0],a=i[1],s=function(t){return r(e,{$row:t})||0},c="equal",u="less-than",l="greater-than";a.operations=[{name:T("is"),value:c},{name:T("less than"),value:u},{name:T("greater than"),value:l}];var d={};d[c]=function(e){return s(e)===a.value.amount},d[u]=function(e){return s(e)<a.value.amount},d[l]=function(e){return s(e)>a.value.amount},a.type="amount",a.value={operation:l,amount:""},a.resetValue=function(){a.value.amount=""},a.isFiltering=function(){return""!==a.value.amount},a.filter=d[a.value.operation],e.$watch((function(){return a.value.operation}),(function(e){a.filter=d[e],o.debouncedUpdate()})),e.$watch((function(){return a.value.amount}),(function(){o.debouncedUpdate()}))}}}}}]),e.directive("ngTableFilterNumber",["$parse",function(e){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],compile:function(t,n){var r=e(n.ngTableFilterNumber);return{pre:function(e,t,n,i){var o=i[0],a=i[1],s=function(t){return r(e,{$row:t})||0},c="equal",u="less-than",l="greater-than";a.operations=[{name:T("is"),value:c},{name:T("less than"),value:u},{name:T("greater than"),value:l}];var d={};d[c]=function(e){return s(e)===a.value.number},d[u]=function(e){return s(e)<a.value.number},d[l]=function(e){return s(e)>a.value.number},a.type="number",a.value={operation:l,number:""},a.resetValue=function(){a.value.number=""},a.isFiltering=function(){return""!==a.value.number},a.filter=d[a.value.operation],e.$watch((function(){return a.value.operation}),(function(e){a.filter=d[e],o.debouncedUpdate()})),e.$watch((function(){return a.value.number}),(function(){o.debouncedUpdate()}))}}}}}]),e.directive("ngTableFilterChoice",["$parse",function(e){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],compile:function(t,n){var r=e(n.ngTableFilterChoice),i=e(n.ngTableFilterChoices),o=e(n.ngTableFilterChoiceName||"$choice.name"),a=e(n.ngTableFilterChoiceValue||"$choice.pk");return{pre:function(e,t,n,s){var c=s[0],u=s[1];u.choiceValue=function(t){return a(e,{$choice:t})},u.choiceName=function(t){return o(e,{$choice:t})};var l=i(e),d=void 0;l&&l.length&&_.isObject(l[0])&&l[0].choices?(u.type="groupedChoices",d=_.flatten(_.map(l,"choices"))):u.type="choices";var p=_.map(d||l,(function(e){return u.choiceValue(e)}));u.choices=l,u.value={},u.resetValue=function(){_.forEach(p,(function(e){u.value[e]=!1}))},u.resetValue(),u.isFiltering=function(){return _.some(_.values(u.value))},u.filter=function(t){var n,i=function(t){return r(e,{$row:t})||!1}(t);if(_.isArray(i)){for(var o=0,a=i.length;o<a;o++)if(n=u.choiceValue(i[o]),p.indexOf(n)>=0&&u.value[n])return!0;return!1}return n=u.choiceValue(i),p.indexOf(n)>=0&&u.value[n]},e.$watch((function(){return u.value}),(function(){c.debouncedUpdate()}),!0)}}}}}]),e.directive("ngTableFilterYesno",["$parse",function(e){return{restrict:"A",require:["^ngTableFilters","ngTableFilter"],compile:function(t,n){var r=e(n.ngTableFilterYesno);return{pre:function(e,t,n,i){var o=i[0],a=i[1],s=a.ANY="any";a.type="yesno",a.value=s,a.resetValue=function(){a.value=s},a.isFiltering=function(){return a.value!==s},a.filter=function(t){return function(t){return r(e,{$row:t})||!1}(t)===a.value},e.$watch((function(){return a.value}),(function(){o.debouncedUpdate()}))}}}}}]),e.directive("ngTableFilterView",["$compile","$templateCache",function(e,t){var n={};return{require:"^ngTableFilter",link:{pre:function(r,i,o,a){var s="tableFilter.filters."+a.type,c=n[s];if(!c){var u=t.get(s);if(!u)return console.warn("ng-table-filter-view: invalid or custom type",a.type),void i.remove();c=n[s]=e(u)}c(r,(function(e){i.append(e)}))}}}}]),e.directive("ngTables",[function(){return{restrict:"A",scope:!0,controllerAs:"tablesCtrl",controller:function(){var e=this;e.tables=[],e.predicate=null,e.addTable=function(t){_.includes(e.tables,t)||e.tables.push(t)},e.removeTable=function(t){_.overwriteWithout(e.tables,t)},e.toggle=function(t){e.predicate=t,_.forEach(e.tables,(function(e){e.toggle(t)}))}}}}]),e.directive("ngTable",["$filter",function(e){var t=e("orderBy");return{restrict:"A",scope:!0,controller:["$scope","$attrs","$parse","$element",function(e,n,r,i){var o,a=this,s=n.ngTableName||"$table",c=e.isSet(n.ngTableFiltered)?i.controller("ngTableFilters"):null;a.collection=[],a.predicate=null,a.isReversed=!1,a.isHeadersIgnored=e.isSet(n.ngTableIgnoreHeaders),a.toggle=function(e){e&&a.predicate===e?a.isReversed=!a.isReversed:(a.predicate=e,a.isReversed=!1),a.update()},a.update=function(e){_.isUndefined(e)||(o=e);var n=o;a.predicate&&(n=t(o,a.predicate,a.isReversed)),_.overwrite(a.collection,n),_.forEach(u,(function(e){e()}))};var u=[];a.watch=function(e,t){u.push(t),e.$on("$destroy",(function(){_.overwriteWithout(u,t)}))},e.tablesCtrl&&e.isSet(n.ngTableTables)&&(e.tablesCtrl.addTable(a),a.predicate=e.tablesCtrl.predicate,e.$on("$destroy",(function(){e.tablesCtrl.removeTable(a)})));var l,d=r(n.ngTable);a.update(d(e)),e.$watchCollection(d,(function(t){c?l=c.addCollection(e,t):a.update(t)})),c&&(e.$watchCollection((function(){return l}),(function(e){a.update(e),a.filtered=e.filtered})),e.$on("$destroy",(function(){c.removeCollection(e)}))),_.set(e,s,a)}]}}]),e.directive("ngTableHeader",["tableHeaders",function(e){return{restrict:"A",require:["^?ngTable","^?ngTables"],link:function(t,n,r,i){var a=i[0]||i[1];if(a&&a===i[0]&&a.isHeadersIgnored&&(a=i[1],o.Y.assert(a,"If ngTable is only for summaries, ngTables is required for headers!")),o.Y.assert(a,"ngTable or ngTables required"),!r.ngTableHeaderWhen||t.$eval(r.ngTableHeaderWhen)){var s=e.parsePredicate(t,r.ngTableHeader,t.isSet(r.ngTableHeaderDefault),r.ngTableHeaderKey);t.isSet(r.ngTableHeaderDisabled)||(n.on("click",(function(){t.$apply((function(){a.toggle(s)}))})),n.addClass("ng-table-header"),t.$watch((function(){return a.predicate===s}),(function(e){n.toggleClass("active",e)}))),s.isDefault&&a.toggle(s)}}}}]),e.directive("ngTableSummary",["$parse",function(e){return{scope:!0,restrict:"A",compile:function(t,n){var r=n.ngTableSummary?e(n.ngTableSummary):null,i=n.ngTableSummaryOperator?e(n.ngTableSummaryOperator):function(e,t){return(t.$acc||0)+(t.$row||0)},a=n.ngTableSummaryInitial?e(n.ngTableSummaryInitial):n.ngTableSummaryOperator?null:_.constant(0);return n.ngTableSummaries&&(r=e(n.ngTableSummaries),a=function(){return[]},i=function(e,t){return _.forEach(t.$row,(function(e,n){t.$acc[n]=(t.$acc[n]||0)+(e||0)})),t.$acc}),{pre:function(t,n,s){var c=s.ngTableSummaryTableName||"$table";o.Y.inScope(t,c,"ngTable controller must be in scope");var u=t[c],l=s.ngTableSummaryWhen?e(s.ngTableSummaryWhen):_.always,d=function(){t.$summary=function(){if(!l(t))return"";var e=a?a(t):null;return _.reduce(u.collection,(function(e,n){return i(t,{$acc:e,$row:r?r(t,{$row:n}):n})}),e)}()};d(),t.isSet(s.ngTableSummaryOnce)||(t.isSet(s.ngTableSummaryTableOnly)?u.watch(t,d):t.$watch(d))}}}}}]),e.directive("ngGroup",[function(){return{scope:!0,restrict:"A",require:["ngGroup","^?ngGroups"],controller:function(){var e=this;e.collection=[],e.groups=[],e.byFn=e.asFn=e.name=null,e.group=function(){var t=!0,n=e.byFn;n||(n=_.constant(""),t=!1);var r=e.asFn?e.asFn:n,i={},o={};if(e.collection.length){var a={};_.forEach(e.collection,(function(t){var s={$row:t},c=n(s)||"",u=_.isArray(c)?c:[c];u.length||(u=[null]),_.forEach(u,(function(c){if(s.$by=c,c=_.isModelObject(c)?c.uri:c,_.isUndefined(i[c])){var u=r===n?c:r(s);i[c]=u||null}_.isUndefined(o[c])&&(e.sortByFn?o[c]=e.sortByFn(s):o[c]=i[c]),delete s.$by;var l=a[c]||[];l.push(t),a[c]=l}))}));var s={};_.forEach(e.groups,(function(e){s[e.by]=e}));var c=_.map(a,(function(n,r){var a=s[r]||{},c={isGrouped:t,by:r,as:i[r],name:e.name,rows:n,sortBy:o[r]};return _.assign(a,c),a}));_.overwrite(e.groups,_.sortBy(c,"sortBy"))}else{var u={isGrouped:t,name:e.name,rows:[]};_.overwrite(e.groups,[u])}},e.groupBy=function(t,n,r,i){e.byFn=t,e.asFn=n,e.sortByFn=r,e.name=i,e.group()},e.update=function(t){e.collection=t,e.group()}},link:function(e,t,n,r){var i=r[0],o=r[1];o&&(o.addNgGroupCtrl(i),e.$on("$destroy",(function(){o.removeNgGroupCtrl(i)}))),e.$groups=i.groups,e.$watchCollection(n.ngGroup,(function(e){i.update(e)}))}}}]),e.directive("ngGroupBy",["$parse",function(e){return{require:["^?ngGroup","^?ngGroups"],compile:function(t,n){var r=n.ngGroupBy?e(n.ngGroupBy):null,i=n.ngGroupAs?e(n.ngGroupAs):null,a=n.ngGroupSortBy?e(n.ngGroupSortBy):null,s=n.ngGroupByModel?e(n.ngGroupByModel):null;return function(e,t,c,u){var l,d,p,m=u[0]||u[1];o.Y.assert(m,"Either ngGroup or ngGroups required on ancestor"),r&&(l=_.bind(r,null,e),d=_.bind(i,null,e)),a&&(p=_.bind(a,null,e));var f=function(){m.groupBy(l,d,p,c.ngGroupName)};e.isSet(c.ngGroupDefault)&&f(),t.on("click",(function(){s?s.assign(e,n.ngGroupBy):f()})),e.$watch((function(){return m.byFn===l}),(function(e){t.toggleClass("toggled",e)})),s&&e.$watch(s,(function(e,t){e===n.ngGroupBy&&f()}))}}}}]),e.directive("ngGroups",["$parse","events",function(e,t){return{scope:!0,restrict:"A",controller:["$scope","$attrs",function(e,n){var r=this;r.ngGroupCtrls=[];var i=function(e){e.groupBy(r.byFn,r.asFn,r.sortByFn,r.name)};r.groupBy=function(e,t,n,o){r.byFn=e,r.asFn=t,r.sortByFn=n,r.name=o,_.forEach(r.ngGroupCtrls,i)},r.addNgGroupCtrl=function(e){r.ngGroupCtrls.push(e),r.byFn&&i(e)},r.removeNgGroupCtrl=function(e){_.ref.remove(r.ngGroupCtrls,e)},n.ngGroupsRegroupEvent&&t.on(e,n.ngGroupsRegroupEvent,(function(){_.forEach(r.ngGroupCtrls,i)}))}]}}]),e.directive("ngToggle",["$parse","$rootScope","toggles",function(e,t,n){return{restrict:"A",compile:function(t,r){var i=e(r.ngToggleValue),o=e(r.ngToggleDefault),a=e(r.ngToggleGroupValue),s=r.ngToggleWhen?e(r.ngToggleWhen):null;return function(e,t,r){var c=i(e)||r.ngToggle,u=o(e)||!1,l=a(e)||r.ngToggleGroup,d=e.isSet(r.ngToggleAutoClose),p=e.isSet(r.ngToggleGroupCloseable),m=_.isUndefined(r.ngToggleInteractive)||e.isSet(r.ngToggleInteractive),f=_.isUndefined(r.ngToggleAriaExpanded)||e.isSet(r.ngToggleAriaExpanded),h=s?_.bind(s,null,e):null;if(n.create(c,{autoClose:d,defaultState:u,group:l,isCloseableGroup:p,when:h}),m){var g="click";e.isSet(r.ngToggleMousedown)&&(g="mousedown"),t.on(g,(function(t){e.$apply((function(){n.toggle(c)}))}))}e.$watch((function(){return n.state(c)}),(function(e){t.toggleClass("toggled",e),f&&t.attr("aria-expanded",(!!e).toString())})),e.$on("$destroy",(function(){n.destroy(c)}))}}}}]),e.directive("ngToggled",t.conditionalDirective({watch:["$parse","toggles",function(e,t){return function(n,r,i){var o=n.$eval(i.ngToggledValue)||i.ngToggled,a=i.ngToggledAlwaysWhen?e(i.ngToggledAlwaysWhen):_.never;return function(){return t.state(o)||a(n)}}}],operator:["$parse",function(e){return function(t,n,r){var i=r.ngToggledAction?e(r.ngToggledAction):_.ignore;return function(e){return i(t,{$value:e}),e}}}]})),e.directive("ngToggledShow",["$parse","toggles",function(e,t){return{link:function(n,r,i){var o=i.ngToggledAction?e(i.ngToggledAction):_.ignore,a=i.ngToggledAlwaysWhen?e(i.ngToggledAlwaysWhen):_.never,s=n.$eval(i.ngToggledShowValue)||i.ngToggledShow;n.$watch((function(){return t.state(s)||a(n)}),(function(e){o(n,{$value:e}),r.css("display",e?"":"none")}))}}}]),e.directive("ngWith",["$parse",function(e){return{restrict:"A",scope:!0,priority:900,compile:function(t,n){var r=e(n.ngWith);return{pre:function(e,t,n){r(e),e.$watch(r)}}}}}]),e.directive("ngDestroy",[function(){return function(e,t,n){e.$on("$destroy",(function(){e.$eval(n.ngDestroy)}))}}]),e.directive("ngFadeIn",[function(){return{restrict:"A",link:function(e,t,n){var r=parseInt(n.ngFadeIn);t.hide(),t.fadeIn(r)}}}]).directive("ngFadeOut",[function(){return{restrict:"A",link:function(e,t,n){var r=parseInt(n.ngFadeOut),i=n.ngFadeTarget,o=$(t),a=e;i&&(a=e.$eval(i)),a.fadeOut=function(t){o.fadeOut(r,(function(){t&&t(e)}))}}}}]),e.directive("ngNullForm",[function(){return{name:"form",controller:function(){this.$addControl=_.ignore,this.$setValidity=_.ignore,this.$removeControl=_.ignore,this.$setDirty=_.ignore,this.$setPristine=_.ignore,this.$$renameControl=function(e,t){e.$name=t}},link:{pre:function(e){e.nullForm={$dirty:!1,$pristine:!0,$valid:!0,$invalid:!1}}}}}]),e.directive("ngName",[function(){return{restrict:"A",require:["ngModel","^?form"],link:function(e,t,n,r){e.$watch(n.ngName,(function(e){t.attr("name",e);var n=r[0],i=r[1];i.$removeControl(n),n.$name=e,i.$addControl(n)}))}}}]).directive("ngPrefix",[function(){return{restrict:"A",priority:100,controller:["$scope","$element","$attrs",function(e,t,n){var r=t.attr("name");e.$watch(n.ngPrefix,(function(e){var t=r;e&&(t=e+"-"+t),n.$set("name",t)}))}]}}]),e.directive("ngOutboundLink",[function(){return{restrict:"A",priority:-1,link:function(e,t,n){var r=e.$interpolate(n.ngOutboundLink)||"_self";n.ngOutboundLinkWhen&&!e.$eval(n.ngOutboundLinkWhen)||t.attr("target",r)}}}]),e.directive("ngBackButton",["$window",function(e){return{restrict:"A",link:function(t,n,r){n.on("click",(function(t){setTimeout((function(){e.history.back()}),50)}))}}}]),e.directive("ngSearchLink",["navigation",function(e){return{restrict:"A",link:function(t,n,r){r.$observe("ngSearchLink",(function(i){var o=t.$eval(r.ngSearchLinkCompany)||e.currentCompany;if(o){var a=o.$url(s.D.dashboard.bookings.index)+"?q="+i;n.attr("href",a)}}))}}}]),e.directive("ngPrint",_.optional(["$timeout","$window","?native",function(e,t,n){var r=n&&n.isNative;return{restrict:"A",link:function(i,o,a){var s=function(){var e;if(r){if(a.ngPrintNative){var o=$(i.$interpolate(a.ngPrintNative));if(!o.length)return;e=o[0]}n.print(e)}else t.print()};o.on("click",(function(e){e.preventDefault(),e.stopPropagation(),s()})),i.isSet(a.ngPrintAuto)&&e((function(){s()}),r?0:400)}}}])),e.directive("ngOpenWindow",["$window","d",function(e,t){return{restrict:"A",link:function(n,r,i){var o=t.observer(i,"ngOpenWindow"),a=t.observer(i,"ngOpenWindowArguments","toolbar=0,status=0,scrollbars=1");r.on("click",(function(t){if(o()){var r=n.$eval(i.ngOpenWindowWidth),s=n.$eval(i.ngOpenWindowHeight),c=a();r&&(c+=",width="+r,c+=",left="+Math.max(0,(e.screen.width-r)/2)),s&&(c+=",height="+s,c+=",top="+Math.max(0,(e.screen.height-s)/2)),e.open(o(),"angular-open-winow",c)}}))}}}]),e.directive("ngCloseWindow",["$window","d",function(e,t){return{restrict:"A",link:function(t,n,r){n.on("click",(function(t){e.close()}))}}}]),e.directive("ngTouch",["$parse","d",function(e,t){return{restrict:"A",compile:function(n,r){var i=e(r.ngTouch);return function(e,n){n.on(t.isTouchEnabled?"touchstart":"click",(function(){e.$apply((function(){i(e)}))}))}}}}]),e.directive("ngConfirmClick",["d","xmessage",function(e,t){return{priority:-1,restrict:"A",link:function(n,r,i){var o=n.isSet(i.ngConfirmClickStrict);r.on("click",(function(a){if(!o||this===a.target){var s=i.ngConfirmClick;s&&function(e){return!!_.isUndefined(i.ngConfirmClickWhen)||n.$eval(i.ngConfirmClickWhen,{$event:e})}(a)&&(window.top!==window.self&&92===e.chromeVersion()?function(e,i){var o=n.isConfirmedWithOuterFrame;n.isConfirmedWithOuterFrame=!1,o||(e.stopImmediatePropagation(),e.preventDefault(),t.broadcast("fareharbor.confirm",{message:i}),t.on(n,"fareharbor.confirmed",(function(){n.isConfirmedWithOuterFrame=!0,r.click()})))}(a,s):confirm(s)||(a.stopImmediatePropagation(),a.preventDefault()))}}))}}}]),e.directive("ngCancelClick",[function(){return{priority:-1,restrict:"A",link:function(e,t,n){t.on("click",(function(t){e.$eval(n.ngCancelClick)&&(t.stopImmediatePropagation(),t.preventDefault())}))}}}]);var b=function(t,n){e.directive(t,[function(){return{restrict:"A",link:function(e,r,i){var o=e.isSet(i[t+"Strict"]),a=i[t+"On"]||"";r.on("click",(function(r){o&&this!==r.target||a&&!$(r.target).is(a)||n.test(r)&&e.$apply((function(){!1===e.$eval(i[t])&&(r.stopPropagation(),r.preventDefault())}))}))}}}])};e.config(["$provide",function(e){e.decorator("ngClickDirective",["$delegate",function(e){return e.shift(),e}])}]),e.directive("ngKeyboardAccessibleClick",[function(){var e=[13,32];return{restrict:"A",link:function(t,n,r){var i=!1,o=function(e){i=e,e?(n.attr("role","button"),n.attr("tabindex","0")):(n.removeAttr("role"),n.removeAttr("tabindex"))};r.ngKeyboardAccessibleClick?t.$watch(r.ngKeyboardAccessibleClick,o):o(!0),n.on("keydown",(function(t){_.includes(e,t.keyCode)&&i&&(t.preventDefault(),t.stopPropagation(),$(t.target).click())}))}}}]),b("ngClick",{test:function(e){return!(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)}}),b("ngShiftClick",{test:function(e){return e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.altKey}}),b("ngControlClick",{test:function(e){return!e.shiftKey&&e.ctrlKey&&!e.metaKey&&!e.altKey}}),b("ngMetaClick",{test:function(e){return!e.shiftKey&&!e.ctrlKey&&e.metaKey&&!e.altKey}}),b("ngAltClick",{test:function(e){return!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&e.altKey}}),b("ngShiftOrAltClick",{test:function(e){return(e.shiftKey||e.altKey)&&!e.ctrlKey&&!e.metaKey}}),e.directive("ngPhoneNumberInput",["d",function(e){return{priority:1,restrict:"A",link:function(t,n){e.restrictKeypresses(n,/\+|\d/)}}}]),e.directive("ngAmountInput",["$parse","d",function(e,t){return{priority:1,require:"ngModel",restrict:"A",link:function(r,i,o,s){var c=e(o.ngModel),u=parseFloat(o.max)||99999999,l=parseFloat(o.min)||-99999999,d=o.ngAmountInputMax&&e(o.ngAmountInputMax),p=o.ngAmountInputMin&&e(o.ngAmountInputMin),m=o.ngAmountInputDefault&&e(o.ngAmountInputDefault),f=a.db.slipstream("currencies")[_.resolveCurrency(o.ngCurrency)],h=f?f.decimalPlaces:2,g=Math.pow(10,h),v=r.isSet(o.ngAmountInputAllowEmpty);v=!o.required||v;var y=r.isSet(o.ngAmountInputAllowZero)&&!!o.ngAmountInputAllowZero,b=function(){return m?m(r)/g:0},T=/[0-9]|\./;(!o.ngAmountInputPositive||!r.$eval(o.ngAmountInputPositive))&&(T=/[0-9]|\.|\-/),t.restrictKeypresses(i,T);var E=function(e){return _.isUndefined(e)||""===e||null===e};s.$parsers.push((function(e){if(E(e))return v?"":(s.$$lastCommittedViewValue=b().toString(),_.roundHalfToEven(b()*g));if(y&&0===e)return 0;s.$setValidity("required",!0);var t=e,n=p?Math.max(p(r)/g,l):l,i=d?Math.min(d(r)/g,u):u;return!_.isNaN(n)&&t<n&&(t=n,s.$setValidity("min_value",!0)),!_.isNaN(i)&&t>i&&(t=i,s.$setValidity("max_value",!0)),_.roundHalfToEven(t*g)})),s.$formatters.unshift((function(e){return E(e)?v?"":b():_.roundHalfToEven(e/g,h).toFixed(2)})),r.$watch(c,(function(e,t){!v&&_.isUndefined(e)&&_.isUndefined(t)&&c.assign(r,b())})),i.on("blur",(function(){n(s)}))}}}]),e.directive("ngJsonInput",["$parse",function(e){var t=/^(?!^[_\-])(?!.*[_\-]$)[a-zA-Z0-9_\-]+$/;return{require:"ngModel",restrict:"A",link:function(n,r,i,o){var a=e(i.ngModel);o.$parsers.push((function(e){if(n=e=$.trim(e),_.isUndefined(n)||""===n||null===n)return o.$setValidity("valid_json",!0),"";var n,r=e;return t.test(r)&&(r='"'+r+'"'),o.$setValidity("valid_json",function(e){try{_.parseJSON(e)}catch(e){return!1}return!0}(r)),e})),n.$watch(a,(function(e){if(e&&'"'===e.charAt(0)&&'"'===e.slice(-1)){var r=e.slice(1,e.length-1);r&&!t.test(r)||a.assign(n,r)}}))}}}]),e.directive("ngBindOnce",[function(){return{link:function(e,t,n){t.addClass("ng-binding").data("$binding",n.ngBindOnce);var r=e.$eval(n.ngBindOnce)||"";t[0].textContent=r.toString()}}}]),e.directive("ngBindHtmlOnce",["$sce","clientOptions",function(e,t){return{link:function(n,r,i){r.addClass("ng-binding").data("$binding",i.ngBindHtmlOnce),t.reflectUrlsInHrefs(r),r.html(e.getTrustedHtml(n.$eval(i.ngBindHtmlOnce))||"")}}}]);var E=function(t,n,r){e.directive(t,["$compile","$filter","$injector","auth","navigation",function(e,i,o,a,s){var c=T("You don't have permission to see this amount"),u=o.invoke(n.render),l=i("currencySymbol");return{restrict:"A",compile:function(n,i){n.addClass("notranslate amount");var o={};return o.showNullAsZero="ngAmountShowNullAsZero"in i,function(n,i,s){var d,p;o.hideDecimalWhenInteger=n.isSet(s.ngAmountHideCents);var m=function(t,m){if(t!==p||m!==d){p=t,d=m;var f=n.$eval(s.ngAmountCurrency)||n.processorCurrency||m;if(r=r||"viewAmounts",m&&!a.permissions.can(r,m)){var h=l(f,"short");e('<span ng-tip="'+c+'">'+h+"?</span>")(n,(function(e){i.empty().append(e)})),i.addClass("amount-hidden")}else{var g=u(n,s,p,m,f,o);i.text(g),i.addClass("amount-visible"),i.toggleClass("negative",p<0)}}};n.$watch(s[t],(function(e){m(e,n.$eval(s[t+"Company"])||n.company||null)})),_.isUndefined(s[t+"Company"])||n.$watch(s[t+"Company"],(function(e){m(n.$eval(s[t]),e||null)}))}}}}])},k={render:["$filter",function(e){var t=e("amount");return function(e,n,r,i,o,a){return t(r,o,a.hideDecimalWhenInteger,!0,a.showNullAsZero)}}]};E("ngAmount",k),E("ngInvoiceAmount",k,"viewInvoiceAmounts"),E("ngAmountRate",{render:["$filter",function(e){var t=e("percentage");return function(e,n,r){return t(r)}}]}),e.directive("ngFloatInput",(function(){return{priority:1,require:"ngModel",link:function(e,t,n,r){e.$eval(n.ngFloatInput);var i,o,a=n.ngFloatInputMaxDigits?e.$eval(n.ngFloatInputMaxDigits):null,s=n.ngFloatInputDecimalPlaces?e.$eval(n.ngFloatInputDecimalPlaces):null,c=n.ngFloatInputMin||n.min;if(c){var u=e.$eval(c);i=function(e){r.$setValidity("min_value",e>=u)}}var l=n.ngFloatInputMax||n.max;if(l){var d=e.$eval(l);o=function(e){r.$setValidity("max_value",e<=d)}}r.$parsers.push((function(e){if("."===e&&(e=""),"-"===e&&(e=""),null!==s){var t=e.indexOf(".");-1!==t&&e.length-(t+1)>s&&(e=e.slice(0,t+1)+e.slice(t+1,t+1+s))}if(null!==a){var n=a;_.startsWith(e,"-")&&(n+=1),_.includes(e,".")&&(n+=1),e.length>n&&(e=e.substring(0,n))}var r=parseFloat(e);return isNaN(r)?e:(i&&i(r),o&&o(r),r)}))}}})),e.directive("ngBooleanSelect",(function(){return{priority:1,require:"ngModel",link:function(e,t,n,r){r.$parsers.push((function(e){return!!_.includes([!0,"True","true","1"],e)||!_.includes([!1,"False","false","0"],e)&&e})),r.$formatters.push((function(e){return!0===e?"True":!1===e?"False":e}))}}})),e.directive("ngIntInput",["$parse","d",function(e,t){return{require:"ngModel",priority:1,compile:function(r,i){var o=e(i.ngIntInputMin),a=e(i.ngIntInputMax);return function(e,r,i,s){if(e.isSet(i.ngIntInput)){var c=_.isUndefined(i.ngIntInputAllowEmpty)||e.isSet(i.ngIntInputAllowEmpty),u=e.isSet(i.ngIntInputNullifyEmpty);t.restrictKeypresses(r,/[-0-9]/),s.$parsers.push((function(t){var n=o(e),r=a(e);if(""===t)return c?u?null:"":0;var i=parseInt(t,10);return isNaN(i)?t:(_.isUndefined(n)||(i<n&&(i=n),s.$setValidity("min",!0)),_.isUndefined(r)||(i>r&&(i=r),s.$setValidity("max",!0)),i)})),r.on("blur",(function(){n(s)}))}}}}}]),e.directive("ngLoadTime",["$window",function(e){return{restrict:"A",link:function(){var t=new Date;console.info("ng-load-time",(t-e.$$loadTime)/1e3)}}}]),e.directive("ngPlaceholder",[function(){return function(e,t,n){n.$observe("ngPlaceholder",(function(e){if(t.attr("placeholder",e),"SELECT"===t[0].nodeName){var n=t.children("option").first();n.text()||(n.attr("label",e),n.text(e))}}))}}]),e.directive("ngDatepicker",["$parse","d",function(e,t){return{require:"ngModel",priority:1,restrict:"A",compile:function(r,i){var o="YYYY-MM-DD",a=e(i.ngDatepickerYearRange),s=e(i.ngDatepickerMinDate);return function(e,r,c,u){var l=e.isSet(c.ngDatepickerAllowEmpty),d=moment.localeData().longDateFormat("L"),m=!e.company||!e.company.features||e.company.features.isSundayBased;_.isUndefined(i.ngDatepickerSundayBased)||(m=e.isSet(i.ngDatepickerSundayBased));var f=$(r),h=_.replaceAll(d,/[a-zA-Z]/,""),g=new RegExp("[0-9]|/|["+h+"]");t.restrictKeypresses(r,g);var v=function(e,t){var n=moment(e,t);return n&&n.isValid()?n:l?"":moment()},y={field:f[0],format:d,onSelect:function(){e.$apply((function(){u.$setViewValue(b.toString())}))},minDate:s,yearRange:a,onOpen:function(){var e=v(u.$modelValue,o);e&&b.setMoment(e)},firstDay:m?0:1,i18n:{previousMonth:T("Previous Month"),nextMonth:T("Next Month"),months:[T("January"),T("February"),cT("the month of March","March"),T("April"),cT("the month of May","May"),T("June"),T("July"),T("August"),T("September"),T("October"),T("November"),T("December")],weekdays:[T("Sunday"),T("Monday"),T("Tuesday"),T("Wednesday"),T("Thursday"),T("Friday"),T("Saturday")],weekdaysShort:[cT("Abbreviation of Sunday","Sun"),cT("Abbreviation of Monday","Mon"),cT("Abbreviation of Tuesday","Tue"),cT("Abbreviation of Wednesday","Wed"),cT("Abbreviation of Thursday","Thu"),cT("Abbreviation of Friday","Fri"),cT("Abbreviation of Saturday","Sat")]}},b=new(p())(y),E=function(e,t,n){var r=v(e,t);return r?r.format(n):""};if(u.$parsers.push((function(e){return E(e,d,o)})),u.$formatters.unshift((function(e){return E(e,o,d)})),!e.$eval(c.ngModel)&&!l){var k=u.$pristine;u.$pristine=!1,u.$setViewValue(moment().format(d)),u.$render(),u.$pristine=k}r.on("blur",(function(){n(u)})),e.$on("$destroy",(function(){b.destroy()})),s&&e.$watch(s,(function(e){b.config({minDate:e?e.toDate():void 0}),e&&moment(u.$modelValue,"YYYY-MM-DD").diff(e)<0&&(u.$modelValue=e.format("YYYY-MM-DD"),u.$$writeModelToScope(),n(u))}))}}}}]);var C="HH:mm";e.directive("ngTimepicker",["$parse","$timeout","d","localization",function(e,t,r,i){return{require:"ngModel",restrict:"A",link:function(e,o,a,s){var c=i.current().TIME_FORMATS.default,u=i.current().SERVER_TIME_FORMAT,l=$(o);r.restrictKeypresses(o,/[0-9]|[:amp]/);var d=l.timepicker({timeFormat:u});o.on("selectTime",(function(){e.$safeApply((function(){var e=d.val();e!==s.$viewValue&&s.$setViewValue(e)}))}));var p=function(e,t,n){var r=moment(e,t);return e&&r&&r.isValid()?r.format(n):""};s.$parsers.push((function(e){return p(e,c,C)})),s.$formatters.unshift((function(e){var n=p(e,C,c);return t((function(){d.timepicker("setTime",n)})),n})),o.on("blur",(function(){n(s)})),o.on("$destroy",(function(){d.timepicker("remove")}))}}}]),e.directive("ngInternationalPhoneField",["$compile","$parse","$timeout","auth","localization","models","navigation",function(e,t,n,r,i,o,a){return{require:"ngModel",restrict:"A",link:function(o,s,c,u){var l=t(c.ngModel),d=t(c.ngInternationalPhoneFieldPhoneCountryModel),p=l(o),m=d(o),f=$(s),h=o.$eval(c.ngInternationalPhoneFieldCountries)||[],g=function(){return f.intlTelInput("getSelectedCountryData")},v=function(){var t=g(),n=f.siblings(".flag-container").find(".selected-flag");n.attr("ng-tip",(function(){return T("Country Code")+(_.isEmpty(t)?"":": +"+t.dialCode+" "+t.name)})).attr("ng-tip-classes","tip-indent").attr("title",null),e(n)(o)},y=_.map(h,(function(e){return e[0].toLowerCase()})),b=function(e){return e=e?e.toLowerCase():"",_.includes(y,e)},E=function(e){n((function(){d.assign(o,e.toUpperCase())}),0)},k=[];if(y.length>1){if(!r.currentUser.isAuthenticated){var C=i.browser.ACCEPT_LANGUAGE_COUNTRY_CODE;k.push(C.toLowerCase())}var A=a.currentCompany,P=A.country;"US"!==A.processorCountry&&A.country||(P=A.processorCountry),k.push(P.toLowerCase()),k=_.uniq(k),k=_.filter(k,(function(e){return b(e)}))}var S="";m&&b(m)?S=m.toLowerCase():p||(k.length?S=k[0]:y.length&&(S=y[0]));var O={autoPlaceholder:"off",formatOnDisplay:!1,onlyCountries:y,preferredCountries:k,initialCountry:S};f.intlTelInput(O),E(S),v(),p&&f.intlTelInput("setNumber",p),o.$watch(d,(function(e,t){f.parents(".international-phone-field").toggleClass("no-country",!e),e!==t&&(!e||b(e)?function(e){e=e?e.toLowerCase():"",f.intlTelInput("setCountry",e)}(e):E(S))})),f.on("countrychange",(function(){o.$safeApply((function(){var e,t=(e=g())&&e.iso2?e.iso2.toUpperCase():"";E(t),u.$setDirty(),u.$setViewValue(f.val()),v()}))})),f.on("open:countrydropdown",(function(){o.$safeApply((function(){var e=f.siblings(".flag-container").find(".country-list");e.length&&!e.hasClass("tb-flyout")&&e.addClass("tb-flyout")}))})),o.$on("$destroy",(function(){f.intlTelInput("destroy")}))}}}]),e.directive("ngSlideshow",["$animate","$compile","$templateCache","$timeout",function(e,t,n,r){return{restrict:"A",controller:["$scope","$element","$attrs",function(t,n,r){var i,o,a=t.$eval(r.ngSlideshowDelay)||4500,s=this;s.isPlaying=!1,s.slides=[],s.currentSlide=null,s.addSlide=function(e){var t={element:e};return s.slides.push(t),t},s.removeSlide=function(e){s.slides[o]===e&&(o+=1)>=s.slides.length&&(o=0),_.overwriteWithout(s.slides,e),s.slides[o]||(o=void 0)},s.showSlide=function(t){if(s.slides.length){var n=_.indexOf(s.slides,t);n<0||(_.isUndefined(o)||s.slides[o]===t||function(t){s.currentSlide=null,e.removeClass(t.element,"slideshow-showing")}(s.slides[o]),o=n,function(t){s.currentSlide=t,e.addClass(t.element,"slideshow-showing")}(s.slides[o]),s.isPlaying&&s.play())}},s.next=function(){var e;(_.isUndefined(o)||(e=o+1)>=s.slides.length)&&(e=0),s.showSlide(s.slides[e])},s.previous=function(){var e;_.isUndefined(o)?e=0:(e=o-1)<0&&(e=s.slides.length-1),s.showSlide(s.slides[e])},s.pause=function(){e.removeClass("slideshow-playing"),e.addClass("slideshow-paused"),clearTimeout(i),s.isPlaying=!1};var c=function(){t.$safeApply((function(){i=null,s.slides.length&&s.next()}))};s.play=function(e){s.isPlaying=!0,function(e){i&&clearTimeout(i),i=setTimeout(c,e?0:a)}(e)}}],link:function(e,r,i,o){var a=n.get("slideshow-dots"),s=n.get("slideshow-arrows"),c=e.$new();c.slideshow=o,r.append(t(a)(c)),r.append(t(s)(c)),o.play(!0)}}}]),e.directive("ngSlideshowSlide",[function(){return{restrict:"A",require:"^ngSlideshow",link:function(e,t,n,r){t.addClass("slideshow-slide"),r.slides.length||t.addClass("slideshow-showing");var i=r.addSlide(t);e.$on("$destroy",(function(){r.removeSlide(i)}))}}}]),e.directive("ngDiff",[function(){return{restrict:"A",link:function(e,t,n){var r=e.$eval(n.ngDiff),i=e.$eval(n.ngDiffWith);(_.isUndefined(r)||null===r)&&(r=""),(_.isUndefined(i)||null===i)&&(i=""),t.addClass("diff"),_.forEach((0,m.b2)(i,r),(function(e){var n=$("<span />");e.added?n.addClass("diff-added"):e.removed?n.addClass("diff-removed"):n.addClass("diff-unchanged"),n.text(e.value),t.append(n)}))}}}]),e.directive("ngMarkdownFileUpload",["$timeout","fileuploader",function(e,t){return{require:"ngModel",restrict:"A",link:function(n,r,i,o){var a,s=_.head(r);r.bind("keyup click",(function(){_.isUndefined(s.selectionStart)||(a=s.selectionStart)}));var u=i.ngMarkdownParent,l=r.parents(u).first(),d=i.ngMarkdownFileUpload;e((function(){l.find(d).on("click",(function(){t.uploadAsMarkdown().then((function(e){if(e){var t=o.$viewValue||"",n=_.isUndefined(a)?t.length:a,r=t.substr(0,n);r&&!r.match(/\s$/)&&(r+="\n");var i=t.substr(n);i&&!i.match(/^\s/)&&(i="\n"+i);var s=r+e+i;o.$setViewValue(s),o.$render(),c.j.success(T("Uploaded file"))}}),(function(){c.j.error(T("File was not uploaded, please try again"))}))}))}))}}}]);var A=function(e){return e?"ngMarkdownBulkFileUpload."+e:null};e.directive("ngMarkdownBulkFileUpload",["events","fileuploader",function(e,t){return{restrict:"A",link:function(n,r,i){var o=A(i.ngMarkdownBulkFileUpload);r.on("click",(function(){t.uploadAsMarkdown().then((function(t){t&&(e.broadcast(o,t),c.j.success(T("Uploaded file")))}))}))}}}]),e.directive("ngMarkdownBulkFileUploadChild",["events",function(e){return{restrict:"A",require:"ngModel",link:function(t,n,r,i){var o=A(r.ngMarkdownBulkFileUploadChild);e.on(t,o,(function(e,t){if(t){var n=i.$viewValue||"",r=t;n&&(r=n+"\n"+t),i.$setViewValue(r),i.$render()}}))}}}]),e.directive("ngMarkdownPreview",["markdownConverter",function(e){return{require:"ngModel",restrict:"A",link:function(t,n,r,i){var o=r.ngMarkdownParent,a=n.parents(o).first(),s=r.ngMarkdownPreview,c=a.find(s),u=r.ngMarkdownPreviewResult,l=a.find(u);c.on("click",(function(){var t=i.$viewValue,n=e.makeHtml(t);l.html(n)}))}}}]),e.directive("ngMarkdown",["markdownConverter",function(e){return{restrict:"A",link:function(t,n,r,i){var o=function(t){var r=e.makeHtml(t);n.html(r)};if(t.isSet(r.ngMarkdownOnce))t.isSet(r.ngMarkdownDebounce)&&console.warn("ngMarkdown: ng-markdown-debounce is ignored when ng-markdown-once is set"),o(t.$eval(r.ngMarkdown));else{var a=o;t.isSet(r.ngMarkdownDebounce)&&(a=_.debounce(o,250,{maxWait:1250})),t.$watch(r.ngMarkdown,a)}}}}]),e.directive("ngMailcheck",[function(){return{restrict:"A",scope:{email:"=ngMailcheck"},template:'<a ng-show="suggestedEmail">'+T("Did you mean")+" <b>[[ suggestedEmail ]]</b>?</a>",link:function(e,t,n,r){e.suggestedEmail="",e.$watch("email",(function(t){t?h().run({email:t,suggested:function(t){e.suggestedEmail=t.full},empty:function(){e.suggestedEmail=""}}):e.suggestedEmail=""})),t.on("click",(function(){e.email=e.suggestedEmail}))}}}]);var P=function(t){return e.directive(t.name,[function(){return{restrict:"A",link:function(e,n,r){var i,o="$"+t.name,a=e[o];if(a&&(i=a.isEnabled,a.isEnabled=!1),e.hasOwnProperty(o))throw new Error("lib.directives: multiple copies of "+t.name+" modifier in same scope");var s={isEnabled:!0};e[o]=s;var c=$(t.selector),u=t.get(c),l=u;r.$observe(t.name,(function(e,n){s.isEnabled&&(l=e,t.set(c,e,n))})),e.$on("$destroy",(function(){t.set(c,u,l),a&&(a.isEnabled=i)}))}}}])};P({name:"ngTitle",selector:"title",get:function(e){return document.title},set:function(e,t){return document.title=t,t}}),P({name:"ngMetaViewport",selector:'meta[name="viewport"]',get:function(e){return e.attr("content")},set:function(e,t){return e.attr("content",t)}}),e.directive("ngBodyClass",[function(){return{restrict:"A",link:function(e,t,n){var r=$("body"),i="";e.$watch((function(){var t=e.$eval(n.ngBodyClass);return _.isObject(t)?_.mapObject(t,(function(e){return!!e})):t}),(function(e){r.removeClass(i);var t="";_.isObject(e)?_.forEach(e,(function(e,n){e&&(t+=n+" ")})):t=e,r.addClass(t),i=t}),!0),e.$on("$destroy",(function(){r.removeClass(i)}))}}}]),e.directive("ngBodyClassOnce",[function(){return{restrict:"A",link:function(e,t,n){var r=$("body"),i=e.$eval(n.ngBodyClassOnce),o="";_.isObject(i)?_.forEach(i,(function(e,t){e&&(o+=t+" ")})):o=i,r.addClass(o)}}}]),e.directive("ngInline",["$templateCache",function(e){return{restrict:"A",priority:400,compile:function(t,n){var r=n.ngInline,i=e.get(r);i?t.html(i):console.warn("ng-inline: invalid template",r)}}}]),e.directive("ngLink",["$compile","$templateCache",function(e,t){var n={};return{restrict:"A",priority:400,link:function(r,i,o){var a=r.$interpolate(o.ngLink);if(a){var s=n[a];if(!s){var c=t.get(a);if(!c)return void console.warn("ng-link: invalid template",a);s=e(c),n[a]=s}s(r,(function(e){i.empty().append(e)}))}else console.warn("ng-link: invalid template name",a)}}}]),e.directive("ngLoad",["$compile","$http","$templateCache",function(e,t,n){return{restrict:"A",priority:400,compile:function(r,i){var o="/"+i.ngLoad,a=n.get(o);if(a)return console.info("ng-load: compiled load",o),void r.html(a);var s,c=n.get("ng-load-spinner");return c&&r.html(c),function(r,i,a){var c=function(){s(r,(function(e){i.empty().append(e)}))};if(s)return console.info("ng-load: linked load",o),void c();t.get(o).then(null,(function(){return console.error("ng-load: unable failed to load, retrying...",o),t.get(o)})).then((function(t){var r=t.data;n.put(o,r),console.info("ng-load: downloaded load",o),s=e(r),c()}),(function(){console.error("ng-load: unable to load",o);var t=n.get("ng-load-error");i.empty().append(e(t)(r))}))}}}}]),e.directive("ngNewTransportation",["$parse",function(e){return{restrict:"A",require:"^?form",controller:"lib.shared.NewTransportationCtrl",link:{pre:function(e,t,n,r){if(r){r.$setValidity("loading-transportation",!1);var i=e.$watch("newTransportationCtrl.status",(function(e){"success"!==e&&"error"!==e||(r.$setValidity("loading-transportation",!0),i())}));e.$on("$destroy",(function(){r.$setValidity("loading-transportation",!0)}))}}}}}]),e.directive("ngDebug",[function(){return{restrict:"A",link:function(e,t,n){}}}]),e.directive("ngLog",[function(){return{restrict:"A",link:function(e,t,n){console.log("ng-log: link",e.$eval(n.ngLog)),e.$on("$destroy",(function(){console.log("ng-log: $destroy",e.$eval(n.ngLog))}))}}}]),e.directive("ngCurrentBlock",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.ngCurrentBlockBlocks);t.$watch(r.ngCurrentBlockAffiliation,(function(e){var n;if(e){var r=i(t);n=_.find(r,(function(t){return t.affiliation===e}))}t.currentBlock=n}))}}}]),e.directive("ngStartBooking",["navigation","postBook",function(e,t){return{priority:-1,restrict:"A",link:function(n,r,i){r.on("click",(function(){n.$apply((function(){var r;r=i.ngStartBooking?n.$interpolate(i.ngStartBooking):e.url,t.startBooking(r)}))}))}}}]),e.directive("ngDump",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.ngDump);console.log("ng-dump: link",i(t)),t.isSet(r.ngDumpWatch)&&t.$watch((function(){console.log("ng-dump: $watch",i(t))}))}}}]),e.directive("ngQrCode",["$interpolate",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngQrCode);return function(e,t){var n=r(e);new(v())(t[0],{text:n,width:l.Yo,height:l.Yo,colorDark:l.OT})}}}}]),e.directive("ngModelDependencies",["$parse",function(e){return{restrict:"A",controller:function(){var e=this;e.dependents=[],e.addDependent=function(t){e.dependents.push(t)}},compile:function(t,n){var r=e(n.ngModelDependencies);return function(e,t,n,i){e.$watch(r,(function(e){(e=!!e)?t.prop("disabled",!1):(t.prop("disabled",!0),_.forEach(i.dependents,(function(e){e(!1)})))}))}}}}]),e.directive("ngModel",["$parse",function(e){return{require:"^?ngModelDependencies",link:function(t,n,r,i){if(i){console.info("adding dependent",r.ngModel);var o=e(r.ngModel);i.addDependent((function(e){return o.assign(t,e)}))}}}}]),e.directive("ngModelFormatters",[function(){return{require:"ngModel",link:function(e,t,n,r){var i=r;_.forEach(e.$eval(n.ngModelFormatters),(function(e){i.$formatters.push(e)}))}}}]),e.directive("ngModelParsers",[function(){return{require:"ngModel",link:function(e,t,n,r){var i=r;_.forEach(e.$eval(n.ngModelParsers),(function(e){i.$parsers.push(e)}))}}}]),e.directive("ngModelIgnore",[function(){return{restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$setPristine=_.ignore,r.$pristine=!1}}}]),e.directive("ngSelectAll",["$parse",function(e){return{restrict:"A",templateUrl:"ng-select-all",scope:!0,compile:function(t,n){var r=e(n.ngSelectAll),i=e(n.ngSelectAllModel),o=n.ngSelectAllWhen?e(n.ngSelectAllWhen):_.always,a=e(n.ngSelectAllDefaults),s=e(n.ngSelectAllDefaultField);return function(e,t,c){var u=function(a){if(!t.parents("fieldset[disabled]").length){var s=r(e);_.forEach(s,(function(t,n){var r={$element:t,$index:n};o(e,r)&&i.assign(e,a(t),r)}));var c=e.$eval(n.ngSelectAllCallback);c&&c()}};if(e.selectText=e.$interpolate(c.ngSelectAllText),e.selectAll=_.bind(u,null,_.constant(!0)),e.selectNone=_.bind(u,null,_.constant(!1)),e.allowDefaults=!!a(e),e.allowDefaults){var l=_.makeIteratee(s(e));e.selectDefaults=function(){var t=a(e);u((function(e){return!!t[l(e)]}))}}}}}}]),e.directive("ngSelectAllFromObject",["$parse",function(e){return{restrict:"A",templateUrl:"ng-select-all",scope:!0,compile:function(t,n){var r=e(n.ngSelectAllFromObject);return function(e,t,n){var i=function(n){if(!t.parents("fieldset[disabled]").length){var i=r(e);_.forOwn(i,(function(e,t){i[t]=n}))}};e.selectText=e.$interpolate(n.ngSelectAllText),e.selectAll=_.bind(i,null,!0),e.selectNone=_.bind(i,null,!1)}}}}]),e.directive("ngClearInput",["$parse",function(e){return{restrict:"A",compile:function(t,n){t.addClass("ng-clear-input");var r=e(n.ngClearInput);return function(e,t,n){var i=_.isUndefined(n.ngClearInputRefocus)||e.isSet(n.ngClearInputRefocus);e.$watch(r,(function(e){t.toggleClass("ng-hide",!e)})),t.on("click",(function(n){n.preventDefault(),n.stopPropagation(),i&&t.prev().focus(),e.$apply((function(){r.assign(e,"")}))}))}}}}]),e.directive("ngDjangoField",["$parse",function(e){return{restrict:"A",compile:function(t,n){var r=e(n.ngDjangoField),i=e(n.ngDjangoFieldModel),o=_.isUndefined(n.ngDjangoFieldRequired)?_.constant(!1):""===n.ngDjangoFieldRequired?_.constant(!0):e(n.ngDjangoFieldRequired),a=_.isUndefined(n.ngDjangoFieldDisabled)?_.constant(!1):e(n.ngDjangoFieldDisabled);return{pre:function(e,t){t.addClass("field")},post:function(e,t){e.$watch((function(){var t=r(e)||{},n=i(e),s=o(e),c=a(e),u=""===n||_.isUndefined(n);return{"ng-pristine":t.$pristine,"ng-dirty":t.$dirty,"ng-invalid":t.$invalid||u&&s,"ng-disabled":c,"ng-required":s}}),(function(e){var n=_.map(e,(function(e,t){if(e)return t})),r=_.map(e,(function(e,t){if(!e)return t}));t.addClass(n.join(" ")).removeClass(r.join(" "))}),!0)}}}}}]),e.directive("ngNoisyInvalidFields",[function(){return{restrict:"A",require:"ngNoisyInvalidFields",controller:["$scope","$timeout",function(e,t){var n=this;n.isShowing=!1,n.isBookFinalNoteShowing=!1;var r=function(){if($("body").toggleClass("noisy-invalid-fields",n.isShowing),e.company.isPricePreviewsEnabled){n.isBookFinalNoteShowing=!0;var r=document.querySelector(".field.ng-invalid:not(.is-display-only),.field.ng-pseudo-invalid");r&&r.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}),t((function(){n.isBookFinalNoteShowing=!1}),4e3)}};n.show=function(e){n.isShowing=!!_.isUndefined(e)||e,r()},n.hide=function(){n.isShowing=!1,r()},e.$on("$destroy",(function(){n.hide()}))}],controllerAs:"noisyInvalidFieldsCtrl"}}]),e.directive("ngFiltered",["$parse","$timeout",function(e,t){return{restrict:"A",scope:!0,controller:["$scope","$attrs","$element",function(n,r,i){var o=this;o.searchTerm="",o.isFiltering=!1,o.objects=[],o.reset=function(){s.assign(n,""),l("")};var a,s=e(r.ngFiltered),c=e(r.ngFilteredObjects);r.ngFilteredSearchDocument&&(a=e(r.ngFilteredSearchDocument));var u=!1;n.isSet(r.ngFilteredElements)&&(u=!0,c=function(){return i.find("[ng-filtered-element]")},a=function(e,t){var n=t.$obj.getAttribute("ng-filtered-element")||"";return t.$obj.innerText+" "+n});var l=function(e){n.$safeApply((function(){o.searchTerm=e,o.isFiltering=!!o.searchTerm,t((function(){o.objects=function(){var e=c(n);if(!o.searchTerm)return u&&(_.forEach(e,(function(e){$(e).removeClass("ng-hide")})),_.forEach(i.find("[ng-filtered-element-group]"),(function(e){$(e).removeClass("ng-hide")}))),e;var t=_.filter(e,(function(e){var t=function(e){var t;return t=a?a(n,{$obj:e}):e,_.includes(t.toLowerCase(),o.searchTerm.toLowerCase())}(e);return u&&$(e).toggleClass("ng-hide",!t),t}));return u&&_.forEach(i.find("[ng-filtered-element-group]"),(function(e){var t=$(e),n=t.find("[ng-filtered-element]:not(.ng-hide)").length>0;t.toggleClass("ng-hide",!n)})),t}()}))}))},d=_.debounce(l,100);n.$watch(s,(function(e){d(e)})),r.ngFilteredWatch&&n.$watch(r.ngFilteredWatch,(function(e,t){angular.equals(e,t)||d(o.searchTerm)}))}],controllerAs:"filteredCtrl"}}]),e.directive("ngNegateCheckbox",[function(){return{require:"ngModel",link:function(e,t,n,r){r.$parsers.push((function(e){return!e})),r.$formatters.push((function(e){return!e}))}}}]),e.directive("ngShortcutsOverlay",[function(){return{templateUrl:"lib.shortcutsOverlay"}}]),e.directive("ngSvg",["$document",function(e){return{replace:!0,template:function(t,n){var r=e[0].getElementById(n.ngSvg);return r?(new XMLSerializer).serializeToString(r):(console.warn("ng-svg: unable to find svg:",n.ngSvg),"<span></span>")}}}]),e.directive("ngHoursBeforeMidnight",["$parse",function(e){return{restrict:"A",templateUrl:"ng-hours-before-midnight",controllerAs:"hoursBeforeMidnightCtrl",controller:["$scope","$attrs",function(t,n){var r=this,i=e(n.ngHoursBeforeMidnight);t.$watch(i,(function(e){if(!_.isUndefined(e)&&""!==e){var t=moment().startOf("day").subtract(e,"hours"),n=Math.ceil(e/24);r.time=t,r.days=n}}))}]}}]),e.directive("ngHoursToDays",["$parse",function(e){return{restrict:"A",templateUrl:"ng-hours-to-days",controllerAs:"hoursToDaysCtrl",controller:["$scope","$attrs",function(t,n){var r=this,i=e(n.ngHoursToDays);t.$watch(i,(function(e){if(!_.isUndefined(e)&&""!==e){var t=Math.abs(e),n=t%24,i=Math.floor(t/24);r.hours=e,r.days=i,r.remainderHours=n}}))}]}}]),e.directive("ngPricePreviews",["clientOptions","models",function(e,t){return{restrict:"A",controllerAs:"pricePreviewsCtrl",controller:["$scope","$attrs",function(t,n){var r=this;if(r.status="loading",r.item=t.$eval(n.ngPricePreviews),r.company=r.item.company,r.item.isRetail||!r.item.company.features.isPriceEstimateEnabled||r.item.settings.isPriceEstimateHidden)r.status="hidden";else{var i=function(){var i;if(n.ngPricePreviewsAvailabilities){var o=t.$eval(n.ngPricePreviewsAvailabilities);if(!o)return;i=_.map(o,"pk").join(",")}var s={};e.defaultTotalSheetPk?s.totalSheetPk=e.defaultTotalSheetPk:e.defaultTotalSheetUuid?s.totalSheetUuid=e.defaultTotalSheetUuid:e.defaultTotalScheduleUuid&&(s.totalScheduleUuid=e.defaultTotalScheduleUuid),i&&(s.availabilityPks=i);var c=a.db.item.pricePreviews({shortname:r.item.company.shortname,itemPk:r.item.pk},null,null,s,{flashError:!1,isRatelimited:!0,tagAlong:!0});if(!u.P.fresh(c))return r.status="success",void(r.pricePreviews=c);r.status=r.pricePreviews?"success":"loading",c.$promise.then((function(){r.pricePreviews=c,r.status="success"}),(function(e){r.pricePreviews=null,r.status=e&&404===e.status?"success":"error"}))};n.ngPricePreviewsAvailabilities?t.$watch(n.ngPricePreviewsAvailabilities,(function(){i()})):i()}}]}}]),e.directive("ngPricePreviewDisplay",[function(){return{require:"^ngPricePreviews",templateUrl:"ng-price-preview-display",controllerAs:"pricePreviewDisplayCtrl",controller:["$scope","$attrs",function(e,t){var n=this;n.pricePreview=null,e.$watch("pricePreviewsCtrl.pricePreviews",(function(t){if("success"===e.pricePreviewsCtrl.status&&e.pricePreviewsCtrl.pricePreviews&&e.pricePreviewsCtrl.pricePreviews.length)if(e.availability)n.pricePreview=_.find(e.pricePreviewsCtrl.pricePreviews,(function(t){return t.availability.pk===e.availability.pk}));else{var r=_.maxBy(e.pricePreviewsCtrl.pricePreviews,"highPricing.price.offset"),i=_.minBy(e.pricePreviewsCtrl.pricePreviews,"lowPricing.price.offset");n.pricePreview={highPricing:r?r.highPricing:null,lowPricing:i?i.lowPricing:null}}else n.pricePreview=null}))}]}}]),e.directive("ngPricePreviewDisplayCustomerTypes",[function(){return{require:"^ngPricePreview",templateUrl:"ng-price-preview-display-customer-types",controllerAs:"pricePreviewDisplayCustomerTypesCtrl",controller:["$scope","$attrs",function(e,t){var n=this;n.pricePreview=null,e.$watch("pricePreviewsCtrl.pricePreviews",(function(t){n.pricePreview=_.isArray(e.pricePreviewsCtrl.pricePreviews)?e.pricePreviewsCtrl.pricePreviews[0]:null}))}]}}]),e.directive("ngFromPricePreviewDisplay",[function(){return{require:"^ngPricePreviews",transclude:!0,templateUrl:"ng-from-price-preview-display",controllerAs:"fromPricePreviewDisplayCtrl",controller:["$scope",function(e){var t=this;t.pricePreview=null,e.$watch("pricePreviewsCtrl.pricePreviews",(function(){if("success"===e.pricePreviewsCtrl.status&&e.pricePreviewsCtrl.pricePreviews&&e.pricePreviewsCtrl.pricePreviews.length)if(e.availability)t.pricePreview=_.find(e.pricePreviewsCtrl.pricePreviews,(function(t){return t.availability.pk===e.availability.pk}));else{var n=_.minBy(e.pricePreviewsCtrl.pricePreviews,"lowPricing.price.offset");t.pricePreview={lowPricing:n?n.lowPricing:null}}else t.pricePreview=null}))}]}}]),e.directive("ngFromPricePreviewDisplayCustomerTypes",[function(){return{require:"^ngPricePreview",templateUrl:"ng-from-price-preview-display-customer-types",controllerAs:"fromPricePreviewDisplayCustomerTypesCtrl",controller:["$scope",function(e){var t=this;t.pricePreview=null,e.$watch("pricePreviewsCtrl.pricePreviews",(function(){t.pricePreview=_.isArray(e.pricePreviewsCtrl.pricePreviews)?e.pricePreviewsCtrl.pricePreviews[0]:null}))}]}}]),e.directive("ngGallery",[function(){return{require:"A",controllerAs:"galleryCtrl",controller:["$scope","$element","$attrs",function(e,t,n){var r,i,o=this,a=function(){var e=o.objects.indexOf(r),n=t.find("[ng-gallery-selects]"),i=t.find("[ng-gallery-select]")[e];n.length&&i&&n.stop().animate({scrollLeft:i.offsetLeft-i.clientWidth/2})},s=function(t){if(o.isAutoAdvance||t){var n=o.objects.indexOf(r);n+=1,n%=o.objects.length,r=o.objects[n],e.$safeApply(),a()}},c=function(e){clearInterval(i),e&&s(),i=setInterval((function(){s()}),4e3)};o.isAutoAdvance=e.isSet(n.ngGalleryAutoAdvance),o.objects=e.$eval(n.ngGallery)||[];var u=e.$eval(n.ngGalleryPreselect)||0;r=o.objects[u],o.isSelected=function(e){return r===e},o.select=function(e){r=e,a()},o.isPaused=!1,o.pause=function(e){e||(o.isPaused=!0),clearInterval(i)},o.unpause=function(e){o.isPaused&&e||(o.isPaused=!1,c(!e))},o.next=function(){s(!0)},t.on("mouseenter",(function(){o.pause(!0)})),t.on("mouseleave",(function(){o.unpause(!0)})),c()}]}}]),e.directive("ngGalleryOverlay",[function(){return{require:"A",controllerAs:"galleryOverlayCtrl",controller:["$scope","$attrs",function(e,t){var n=this;n.isShowing=!1,n.show=function(e){n.isShowing=!0,n.preselectIndex=0,e&&(n.preselectIndex=n.objects.indexOf(e),n.preselectIndex=-1===n.preselectIndex?0:n.preselectIndex)},n.hide=function(){n.isShowing=!1},n.objects=e.$eval(t.ngGalleryOverlay)}]}}]),e.directive("ngGalleryOverlayContent",[function(){return{restrict:"A",require:"ngGalleryOverlay",templateUrl:"ng-gallery-overlay-content"}}]),e.directive("ngShowPassword",(function(){return function(e,t,n){e.$watch(n.ngShowPassword,(function(e){e?t[0].setAttribute("type","text"):t[0].setAttribute("type","password")}))}})),e.directive("ngPasswordGenerator",["$parse","events",function(e,t){var n=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;return{restrict:"A",templateUrl:"ng-password-generator",require:["^form","ngPasswordGenerator"],controller:function(){var e=this;e.model={},e.update=function(t,n){e.model=t,e.field=n},e.password="",e.generate=function(){for(var t="";!t;){for(var r=0;r<12;r++)t+="abcdefghijknpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789$#*!@?".charAt(Math.floor(61*Math.random()));n.test(t)||(t="")}return e.password=e.model.password=t,e.field&&e.field.$setDirty(),t}},compile:function(t,n){var r=e(n.ngPasswordGenerator),i=e(n.ngPasswordGeneratorField);return function(e,t,n,o){var a=o[0];e.generatorCtrl=o[1],e.generatorCtrl.update(r(e),a[i(e)]),e.$watch(_.bind(r,null,e),(function(){e.generatorCtrl.update(r(e),a[i(e)])}))}}}}])}(),n(28706),n(26910),n(31415),n(47764),n(43375),n(39225),n(13972),n(99209),n(25714),n(17561),n(66197);var y=n(25632),b=function(e,t){if(!e)return"";var n=e.toLowerCase().match(/^([a-z]{2}-)?([a-z]{2})$/);if(!n||3!==n.length)return"";var r=n[2];return r?(r=r.toUpperCase(),t.includes(r)?r:""):""},E=["​","‌","‍","\ufeff","­","‎","‏","‪","‫","‭","‮","‬","⁦","⁧","⁨","⁩","⁠","⁣","⁢"].join(""),k=new RegExp("[\\s".concat(E,"]+"),"g"),C=function(e){return 0===e.replace(k,"").length},A=n(20759);!function(){var e=angular.module("lib.filters",["lib.services"]);e.factory("filterFields",[function(){var e=[void 0,"",null,[],{}],t=function(t){return _.some(e,(function(e){return _.isEqual(e,t)}))};return{EMPTY_VALUES:e,isEmpty:t,isSet:function(e,n){return t(n)?!t(e):_.isArray(e)&&_.isArray(n)?!function(e,t){return _.isEqual(e.sort(),t.sort())}(e,n):!_.isEqual(e,n)}}}]),e.filter("isNumber",[function(){return _.isNumber}]),e.filter("isBoolean",[function(){return _.isBoolean}]),e.filter("humanize",[function(){return i.JX}]),e.filter("indexOf",[function(){return _.indexOf}]),e.filter("percentage",[function(){return y.X.formatPercentage}]),e.filter("percentageFromPercentage",["$filter",function(e){return function(t,n,r,i){return e("percentage")(t/100,n,r,i)}}]),e.filter("cssPercentage",[function(){return function(e){return _.isUndefined(e)?"":(e*=100,(e=Math.floor(100*e)/100)+"%")}}]),e.filter("pluralize",[function(){return function(e,t,n){var r=n||"s",i=t||"";return e=parseInt(e||"0",10),1===(e=isNaN(e)?0:e)?i:r}}]).filter("capitalize",[function(){return function(e){return _.upperFirst(e)}}]).filter("lowercase",[function(){return function(e){return e.toLowerCase()}}]).filter("uppercase",[function(){return function(e){return e.toUpperCase()}}]).filter("bracketWrap",[function(){return function(e){return"["+e+"]"}}]).filter("aOrAnBefore",[function(){var e=/[aeiouAEIOU]/;return function(t,n){return(t&&e.test(t.charAt(0))?n?"An":"an":n?"A":"a")+" "+t}}]).filter("css",[function(){return function(e){return(e=(e=(e=(e=e||"").replace(/\s+/g,"-")).replace(/-+/g,"-")).replace(/[^-\w]/g,"")).toLowerCase()}}]).filter("addClassIf",[function(){return function(e,t,n){return t=t||"",n=n||"",e?t:n}}]).filter("addClasses",[function(){return function(e){var t=[];return _.forEach(e,(function(e,n){e&&t.push(n)})),t.join(" ")}}]).filter("isDefined",[function(){return function(e){return!_.isUndefined(e)}}]).filter("isUndefined",[function(){return function(e){return _.isUndefined(e)}}]).filter("map",[function(){return _.map}]).filter("some",[function(){return _.some}]).filter("anyNumbers",[function(){return function(e){return _.some(e,_.isNumber)}}]).filter("keys",[function(){return _.keys}]).filter("exclude",[function(){return function(e,t){return _.filter(e,(function(e){return!t(e)}))}}]).filter("colonless",[function(){var e=/:+\s*$/;return function(t){return(t=t||"").replace(e,"")}}]).filter("commaSeparated",[function(){return function(e){return e?_.filter(e).join(", "):""}}]).filter("replaceAll",[function(){return _.replaceAll}]).filter("ageInYears",[function(){return function(e){return moment().diff(e,"years")}}]).filter("get",[function(){return _.get}]).filter("compactObject",[function(){return _.ref.compactObject}]),e.factory("localization",["$browser","$window","auth","models","navigation",function(e,t,n,r,o){var s="en-us";moment.locale(s);var c=a.db.slipstream("unitsLanguageFormats"),u=a.db.slipstream("unitsLanguageCodes");t.ldmlnum.round=_.roundHalfToEven;var l=(a.db.slipstream("acceptLanguage")||"").split(","),d=l.length?_.find(l,(function(e){return!!b(e,r.Company.COUNTRY_CODES)})):"",p=b(d,r.Company.COUNTRY_CODES),m="",f={},h=function(e,t,n){var r,o;(n=n||{}).server&&n.topOfHour&&console.error("localization: unsupported use of `server` and `topOfHour` options in `__getTimeFormat()"),n.server?(r="server",o="exact"):(r="client",o=n.topOfHour?"topOfHour":"exact");var a=c[e];if(a){var s=a[r];if(s){var u=s.time;if(u){var l=u[o];if(l){var d=t||a[r].time[o].default,p=l.values;if(p){var m=p[(0,i.Cb)(d)];return m||console.warn("localization: failed to identify time format for:",e,r,"time",o,"values",d),m}console.warn("localization: failed to identify time format for:",e,r,"time",o,"values")}else console.warn("localization: failed to identify time format for:",e,r,"time",o)}else console.warn("localization: failed to identify time format for:",e,r,"time")}else console.warn("localization: failed to identify time format for:",e,r)}else console.warn("localization: failed to identify time format for:",e)},g=r.Company,v=function(e,t){return(t=t||{}).server&&t.topOfHour&&console.error("localization: unsupported use of `server` and `topOfHour` options in `__fallbackTimeFormat()"),e===g.TWENTY_FOUR_HOUR_TIME_FORMAT_TYPE?t.server?g.FALLBACK_SERVER_EXACT_TWENTY_FOUR_HOUR_TIME_FORMAT:t.topOfHour?g.FALLBACK_CLIENT_TOP_OF_HOUR_TWENTY_FOUR_HOUR_TIME_FORMAT:g.FALLBACK_CLIENT_EXACT_TWENTY_FOUR_HOUR_TIME_FORMAT:t.server?g.FALLBACK_SERVER_EXACT_TWELVE_HOUR_TIME_FORMAT:t.topOfHour?g.FALLBACK_CLIENT_TOP_OF_HOUR_TWELVE_HOUR_TIME_FORMAT:g.FALLBACK_CLIENT_EXACT_TWELVE_HOUR_TIME_FORMAT},y=function(e,t){return n.currentUser.isAuthenticated?function(e,t){var n;return(n=e.timeFormatType===g.COMPANY_LOCALE_DEFAULT_TIME_FORMAT_TYPE?h(e.language,void 0,t):h(e.language,e.timeFormatType,t))||(console.warn("localization: falling back for time format type:",e.timeFormatType,t),n=v(e.timeFormatType,t)),n}(n.currentUser.company.isAdmin&&o.currentCompany?o.currentCompany:n.currentUser.company,t):o.currentCompany?function(e,t,n){var r;return(r=e.anonymousTimeFormatType===g.ANONYMOUS_USER_LOCALE_DEFAULT_TIME_FORMAT_TYPE?h(t,void 0,n):e.anonymousTimeFormatType===g.COMPANY_LOCALE_DEFAULT_TIME_FORMAT_TYPE?h(e.language,void 0,n):h(e.language,e.anonymousTimeFormatType,n))||(console.warn("localization: falling back for anonymous time format type:",e.anonymousTimeFormatType,n),r=v(e.anonymousTimeFormatType,n)),r}(o.currentCompany,e,t):(console.warn("localization: falling back to 12-hour time for an anonymous user with no current company"),g.FALLBACK_CLIENT_EXACT_TWELVE_HOUR_TIME_FORMAT)},E=function(e,t){if(_.includes(t,e))return e;var n=e.split("-")[0];if(_.includes(t,n))return n;for(var r=0,i=t.length;r<i;r++){var o=t[r];if(n===o.split("-")[0])return o}},k={browser:{ACCEPT_LANGUAGE:d,ACCEPT_LANGUAGE_COUNTRY_CODE:p},setLanguageManuallyForAnonymousUser:function(e,t){var n=function(e,t){var n=E(e,u);if(n)return n;if(t){var r=E(t.language,u);if(r)return r}return s}(e,t);c[n]?(console.log("localization: manually setting units language for anonymous user",n,"based on target language",e),m=n):console.warn("localization: unsupported language",n)},current:function(){var e;e=!n.currentUser.isAuthenticated&&m?m:a.db.slipstream("unitsLanguage")||s,f[e]=f[e]||function(e){c[e]||(console.warn("localization: unsupported language",e),e=s);var n=c[e],r=T("Today"),i=_.assign({export:"MM/YYYY"},n.client.month),o=_.assign({default:n.client.date.short,export:"YYYY-MM-DD"},n.client.date);t.ldmlnum.locale.xx=t.ldmlnum.locale(n.groupSymbol,n.decimalSymbol,n.plusSignSymbol,n.minusSignSymbol);var a=t.ldmlnum(n.decimalPattern,"xx"),u=t.ldmlnum(n.currencyPattern,"xx"),l=t.ldmlnum(n.percentPattern,"xx"),d=new RegExp("\\"+n.decimalSymbol+"0+");return{language:e,formatNumber:a,formatCurrency:function(e,t,n){t=t||"";var r=u(e).replace("¤¤¤",t).replace("¤¤",t).replace("¤",t);return _.isInteger(e)&&n&&(r=r.replace(d,"")),r},formatPercentage:function(e,t,r){var i=l(e,t);return r&&e>0&&-1===i.indexOf(n.plusSignSymbol)&&(i=n.plusSignSymbol+i),i},PERCENT_SYMBOL:n.percentSymbol,VALID_DATETIME_FORMATS:["default","short","shortNoYear","shortFullYear","dayWithMonthAbbr","long","longNoYear","export","input"],TIME_SEPARATOR:n.timeSeparator,HTML_TIME_SEPARATOR:n.htmlTimeSeparator,RANGE_SEPARATOR:" – ",HTML_RANGE_SEPARATOR:"<br/>- ",TODAY:r,DAY_FORMAT:"dddd",DAYS_FORMATS:{default:"[[ days ]] [days]"},ALL_DAY_FORMATS:{default:"[All day]"},MONTH_FORMATS:i,DATE_FORMATS:o}}(e);var r=f[e];moment.locale(e);var i,o=(i=e,{TIME_FORMATS:_.assign({default:"h:mma",export:"hh:mma"},y(i)),TOP_OF_HOUR_TIME_FORMATS:_.assign({default:"ha",export:"hh:mma"},y(i,{topOfHour:!0})),SERVER_TIME_FORMAT:y(i,{server:!0})});return _.assign({},r,o)}};return k.current(),k}]),e.factory("dates",["$interpolate","localization",function(e,t){var n=t.current,r=function(t,n,r,i){var o=n[r.format]||n.default;return o?(_.isUndefined(i)||(o=e(o)(i)),o?t.format(o):""):(console.warn("dates: invalid date format",r.format,"valid formats",n),"")},i={format:"short",isRelative:!1,isRelativeTime:!1,isHtml:!1,endAt:null,hideDate:null},o=function(e,t,n,r){return r?t||"":t&&n?t+e+n:t||n},a=function(e,t){if(!moment.isMoment(e)||!moment.isMoment(t))return!1;var n=e.clone().startOf("day"),r=t.clone().startOf("day");return!n.diff(r)},s=function(e){var t=e.clone().startOf("day");return!e.diff(t)},c=function(e){var t=e.clone().startOf("hour");return!e.diff(t)},u=function(e,t){if(t.isRelative&&t.isRelativeTime){var n=moment(),r=e.diff(n,"hours");if(t.isRelative&&0<=r&&r<6)return e.fromNow()}},l=function(e,t){var o=u(e,t=t||i);if(o)return o;if(!t.showMidnight&&t.endAt&&s(e)&&s(t.endAt)){var a=Math.abs(t.endAt.diff(e,"days"));if(a>1)return r(e,n().DAYS_FORMATS,t,{days:a});if(1===a)return r(e,n().ALL_DAY_FORMATS,t)}return c(e)?r(e,n().TOP_OF_HOUR_TIME_FORMATS,t):r(e,n().TIME_FORMATS,t)},d=function(e,t){return(t=t||i).isRelative&&a(e,moment())?n().TODAY:r(e,n().DATE_FORMATS,t)},p=function(e,t){if(!(t=t||i).showMidnight&&t.endAt&&s(e)&&s(t.endAt))return d(e,t);var r=d(e,t),c=u(e,t);if(c)return c;var p=_.assign({},t);delete p.endAt;var m=l(e,p);return m&&t.isHideDate&&a(e,t.hideDate)?m:o(n().TIME_SEPARATOR,r,m)};return{options:function(e){var t=_.assign({},i);return _.includes(e,"short")?console.warn("date: unnecessary short format specifier"):_.find(n().VALID_DATETIME_FORMATS,(function(n){if(_.includes(e,n))return t.format=n,!0})),t.isRelative=_.includes(e,"relative"),t.isRelativeTime=_.includes(e,"relative-time"),t.isAlwaysHideDate=_.includes(e,"always-hide-date"),t.isHideDate=t.isAlwaysHideDate||_.includes(e,"hide-date"),t.isHtml=_.includes(e,"html"),t.is12amPlus1=_.includes(e,"12am+1"),t.showMidnight=_.includes(e,"show-midnight"),t.omitEndTime=_.includes(e,"omit-end-time"),_.forEach(e,(function(n){moment.isMoment(n)&&(t.endAt?t.isHideDate?t.hideDate=n:console.warn("date: extra moments",e,skipEndAt):t.endAt=n)})),t},isSameDay:a,isMidnight:s,isTopOfHour:c,getMonth:function(e,t){return t=t||i,r(e,n().MONTH_FORMATS,t)},getDay:function(e,t){return(t=t||i).isRelative&&a(e,moment())?n().TODAY:r(e,n().DAY_FORMAT,t)},getDate:d,getDateRange:function(e,t,r){if(r=r||i,a(e,t))return d(e,r);var s=r.isHtml?n().HTML_RANGE_SEPARATOR:n().RANGE_SEPARATOR;return o(s,d(e,r),d(t,r))},getTime:l,getRelativeTime:u,getTimeRange:function(e,t,a){var c=(a=a||i).isHtml?n().HTML_RANGE_SEPARATOR:n().RANGE_SEPARATOR,u=Math.abs(e.diff(t,"days"));return 0===e.diff(t)?l(e,a):!a.showMidnight&&s(e)&&s(t)?u>1?r(e,n().DAYS_FORMATS,a,{days:u}):r(e,n().ALL_DAY_FORMATS,a):o(c,l(e,a=null),0===u?l(t,a):1===u?l(t,a)+" "+T("(next day)"):l(t,a)+" "+interpolate(T("(%(count)s days later)"),{count:u.toString()}))},getDatetime:p,getDatetimeRange:function(e,t,r){if((r=r||i).omitEndTime||0===e.diff(t))return p(e,r);var c=r.isHtml?n().HTML_RANGE_SEPARATOR:n().RANGE_SEPARATOR;if(!r.showMidnight&&s(e)&&s(t))return Math.abs(e.diff(t,"days"))>1?((t=t.clone()).subtract(1,"days"),o(c,d(e,r),d(t,r))):r.isAlwaysHideDate&&a(e,r.hideDate)?l(e,r):d(e,r);var u,m,f,h,g=r.is12amPlus1&&s(t)&&(u=e,m=t,!(!moment.isMoment(u)||!moment.isMoment(m))&&(u=u.clone().startOf("day"),1===(m=m.clone().startOf("day")).diff(u,"days")));if(a(e,t)||g){var v=o(n().RANGE_SEPARATOR,l(e,r),l(t,r));if(g&&(v+="+1"),r.isHideDate&&a(e,r.hideDate))return v;var y=d(e,r),b=r.isHtml?n().HTML_TIME_SEPARATOR:n().TIME_SEPARATOR;return o(b,y,v)}return r.isHideDate?(h=_.defaults({isHideDate:!1,hideDate:null},r),f=r.isAlwaysHideDate?r:h):f=h=r,o(c,p(e,f),p(t,h))},numberOfWeeksDiff:function(e,t){return Math.ceil(Math.abs(moment.duration(e.diff(t)).asWeeks()))}}}]),e.filter("dateOffset",[function(){return function(e,t,n,r){if(!moment.isMoment(e))return"";t=t||0,n=n||"minutes";var i=e.clone();return r?i.add(t,n):i.subtract(t,n)}}]).filter("dateSubtract",["$filter",function(e){return function(t,n,r){return e("dateOffset")(t,n,r,!1)}}]).filter("dateAdd",["$filter",function(e){return function(t,n,r){return e("dateOffset")(t,n,r,!0)}}]),e.filter("dateRange",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1)),r=n.endAt;return moment.isMoment(t)&&moment.isMoment(r)?e.getDateRange(t,r,n):(console.log("dateRange: invalid moments",t,r,n),"")}}]).filter("datetimeRange",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1)),r=n.endAt;return moment.isMoment(t)&&moment.isMoment(r)?e.getDatetimeRange(t,r,n):(console.log("datetimeRange: invalid moments",t,r,n),"")}}]).filter("timeRange",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1)),r=n.endAt;return moment.isMoment(t)&&moment.isMoment(r)?e.getTimeRange(t,r,n):(console.log("timeRange: invalid moments",t,r,n),"")}}]).filter("date",["dates",function(e){return function(t){_.isString(t)&&(t=moment(t));var n=e.options(_.slice(arguments,1));return moment.isMoment(t)?e.getDate(t,n):(console.log("date: invalid moment",t,n),"")}}]).filter("day",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1));return moment.isMoment(t)?e.getDay(t,n):(console.log("day: invalid moment",t,n),"")}}]).filter("month",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1));return moment.isMoment(t)?e.getMonth(t,n):(console.log("day: invalid moment",t,n),"")}}]).filter("datetime",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1));return moment.isMoment(t)?e.getDatetime(t,n):(console.log("datetime: invalid moment",t,n),"")}}]).filter("datetimeWithTimezone",["dates",function(e){return function(t,n){var r=e.options(_.slice(arguments,2));if(!moment.isMoment(t))return console.log("datetimeWithTimezone: invalid moment",t,n,r),"";if(!_.isString(n))return console.log("datetimeWithTimezone: invalid timezone",t,n,r),"";var i=moment.tz(t.valueOf(),n);return e.getDatetime(i,r)}}]).filter("timeWithTimezone",["dates",function(e){return function(t,n){var r=e.options(_.slice(arguments,2));if(!moment.isMoment(t))return console.log("timeWithTimezone: invalid moment",t,n,r),"";if(!_.isString(n))return console.log("timeWithTimezone: invalid timezone",t,n,r),"";var i=moment.tz(t.valueOf(),n);return e.getTime(i,r)}}]).filter("dateWithTimezone",["dates",function(e){return function(t,n){var r=e.options(_.slice(arguments,2));if(!moment.isMoment(t))return console.log("dateWithTimezone: invalid moment",t,n,r),"";var i=moment.tz(t.valueOf(),n);return e.getDate(i,r)}}]).filter("time",["dates",function(e){return function(t){var n=e.options(_.slice(arguments,1));return t?_.isString(t)&&(t=moment(t,"HH:mm"),!moment.isMoment(t))?"":e.getTime(t,n):""}}]).filter("before",(function(){return function(e,t){var n=e,r=t;if(_.isString(e)&&(n=moment(e)),_.isString(t)&&(r=moment(t)),moment.isMoment(n)&&moment.isMoment(r))return n<r;console.warn("date: invalid moment(s)",e,t)}})),e.filter("range",[function(){return function(e,t){return _.range(e,t)}}]),e.filter("firstLineOfMarkdown",[function(){var e=/^\s*$/,t=/^#+/,n=/([*_]{1,3})(\S.*?\S?)\1/;return function(r){if(!r)return"";var i=_.find(r.split("\n"),(function(t){return!e.test(t)}))||"";return _.trim(i.replace(t,"").replace(n,"$2").replace(n,"$2"))}}]),e.filter("encodeURIComponent",[function(){return function(e){return encodeURIComponent(e)}}]),e.filter("hostname",[function(){return function(e){if(!e)return"";var t=e.toLowerCase(),n=document.createElement("a");n.setAttribute("href",t);var r=n.hostname;return r&&-1!==t.indexOf(r)?r=r.replace(/^www./,""):e}}]),e.filter("withLineBreaks",[function(){return function(e){return e.replace(/\n+/g,"\n<br />\n")}}]),e.factory("phoneNumbers",[function(){var e=_.toTrueKeys([201,202,203,205,206,207,208,209,210,212,213,214,215,216,217,218,219,220,224,225,227,228,229,231,234,239,240,248,251,252,253,254,256,260,262,267,269,270,272,274,276,278,279,281,283,301,302,303,304,305,307,308,309,310,312,313,314,315,316,317,318,319,320,321,323,325,327,330,331,334,336,337,339,341,346,347,351,352,360,361,364,369,380,385,386,401,402,404,405,406,407,408,409,410,412,413,414,415,417,419,423,424,425,430,432,434,435,440,442,443,445,447,458,464,469,470,475,478,479,480,484,501,502,503,504,505,507,508,509,510,512,513,515,516,517,518,520,530,531,534,539,540,541,551,557,559,561,562,563,564,567,570,571,573,574,575,580,582,585,586,601,602,603,605,606,607,608,609,610,612,614,615,616,617,618,619,620,623,626,627,628,629,630,631,636,641,646,650,651,657,659,660,661,662,667,669,678,679,681,682,689,701,702,703,704,706,707,708,712,713,714,715,716,717,718,719,720,724,725,727,730,731,732,734,737,738,740,743,747,754,757,760,762,763,764,765,769,770,772,773,774,775,779,781,785,786,787,801,802,803,804,805,806,808,810,812,813,814,815,816,817,818,821,828,830,831,832,840,843,845,847,848,850,854,856,857,858,859,860,862,863,864,865,870,872,878,901,903,904,906,907,908,909,910,912,913,914,915,916,917,918,919,920,924,925,927,928,929,930,931,934,935,936,937,938,939,940,941,945,947,949,951,952,954,956,959,970,971,972,973,975,978,979,980,984,985,989]),t=function(e){return e?e.replace(/\D/g,""):""},n=function(e){return e?("+"===e[0]?"+":"")+t(e):""},r=/^\+?\d{5,15}$/,i=function(n){var r=t(n);if(11===r.length&&"1"===r[0]&&(r=r.slice(1)),10===r.length){var i=r.slice(0,3);if(e[i])return{isUsPhoneNumber:!0,areaCode:i,exchange:r.slice(3,6),suffix:r.slice(6,10)}}return{isUsPhoneNumber:!1}};return{cleanPhoneNumber:n,digits:t,isPossiblyValid:function(e){return r.test(n(e))},parseUsPhoneNumber:i,formatUsPhoneNumber:function(e){if("+"===(e=e||"")[0])return e;var t=i(e);return t.isUsPhoneNumber?"("+t.areaCode+") "+t.exchange+"-"+t.suffix:e}}}]),e.filter("phone",["navigation","phoneNumbers",function(e,t){return function(e){return t.formatUsPhoneNumber(e)}}]),e.filter("contactPhone",["navigation",function(e){return function(t){if(t){var n=e.currentCompany,r=n.country||n.processorCountry;return t.phoneCountry&&t.phoneCountry!==r?t.displayPhoneInternational:t.displayPhoneNational}}}]),e.filter("currencyClass",[function(){return function(e){return(e=_.resolveCurrency(e))?"currency--"+e:""}}]),e.filter("currencySymbol",["auth","localization",function(e,t){var n=a.db.slipstream("currencies");return function(r,i){r=_.resolveCurrency(r);var o=n[r];if(!o)return console.warn("currencySymbol filter: unsupported currency",r),"";if(e.currentUser.isAuthenticated&&(i=e.currentUser.company.isAdmin?"long":"short"),"short"===i)return o.symbol;if("long"===i)return o.symbolLong;var a=o.symbolLongByLanguage;return(a?a[t.current().language]:"")||o.symbolLong}}]),e.filter("currencyDisplayName",["localization",function(e){var t=a.db.slipstream("currencies");return function(e,n){e=_.resolveCurrency(e);var r=t[e];return r?"short"==n?r.displayName:r.displayNameLong:(console.warn("currencyDisplayName filter: unsupported currency",e),"")}}]),e.filter("amount",["$filter","localization","navigation",function(e,t,n){var r=a.db.slipstream("currencies"),i=e("currencySymbol");return function(e,o,a,s,c){if(c&&null===e&&(e=0),!_.isNumber(e))return"";_.isBoolean(o)&&_.isUndefined(s)&&(s=!a,a=o,o=null),(o=_.resolveCurrency(o))||(n.currentCompany?(console.warn("amount filter: not passed currency, falling back to currentCompany"),o=n.currentCompany.processorCurrency):(console.warn("amount filter: not passed currency, no currentCompany to fall back to"),o="",s=!1)),_.isUndefined(s)&&(s=!0);var u,l=t.current(),d=r[o];d?u=d.decimalPlaces:(console.warn("amount filter: passed unsupported currency:",o),s=!1,u=2),e/=Math.pow(10,u);var p=s?i(o,s):"";return l.formatCurrency(e,p,a)}}]),e.filter("count",["localization",function(e){return function(t,n){return null==t?"":e.current().formatNumber(t,n||4)}}]),e.filter("stripNewlines",[function(){return function(e){return e.replace(/\r|\n/g,"").replace(/\s+/g," ")}}]),e.filter("yesno",[function(){return function(e,t,n){return t=_.isUndefined(t)?"Yes":t,n=_.isUndefined(n)?"No":n,e?t:n}}]),e.filter("name",[function(){return function(e,t,n,r){return t=t||"",_.isUndefined(r)&&(r=t),_.isUndefined(e)?r:_.isString(e)?e||t:_.isObject(e)?(e.shortName||e.name||e.unicode||t)+(e.isArchived&&!n?" ("+T("archived")+")":""):t}}]),e.filter("primaryImageUrl",[function(){return function(e){return e.imageCdnUrl||(e.images&&e.images.length?e.images[0].croppedCdnUrl:"")}}]),e.filter("availabilityOrItemImageUrl",[function(){return function(e){return e.availabilityHeadline&&e.availabilityHeadline.imageCdnUrl?e.availabilityHeadline.imageCdnUrl:e.item.images&&e.item.images.length?e.item.images[0].croppedCdnUrl:e.item.imageCdnUrl||""}}]),e.filter("value",[function(){return function(e){return _.isString(e)?e:e.value}}]),e.filter("personalizeCollectedByText",["$filter","auth",function(e,t){var n=e("name");return function(e){return t.isCompanyUser(e)?T("Collected by you"):interpolate(T("Collected by %(companyName)s"),{companyName:n(e)})}}]),e.filter("lastNameFirst",[function(){return function(e){var t=e.split(/\s+/),n=t.pop();return t.length&&(n+=","),t.unshift(n),t.join(" ")}}]);var t="ava-is-empty",n="ava-is-booked",r="ava-is-full",o="ava-is-overbooked";e.filter("isOnlineStatusFlag",["models",function(e){return function(t,n){var r="";return!!t&&(e.Availability.isCancelled(t)?r="cancelled":t.isBookableOnlyByPhone?r="phone":t.isBookable&&t.isUnlisted?r="unlisted":t.isBookable||!t.isResourcesAvailable&&!t.item.company.companyFeatures.isResourceBookableCapacityEnabled?t.item.company.companyFeatures.isResourceBookableCapacityEnabled||t.isResourcesAvailable||(r="noResources"):r="lock",r===n)}}]),e.filter("capacityIndicatorClass",[function(){return function(e){var t=_.includes(arguments,"filled"),n="cb-square",r=_.includes(arguments,"large")?"icon-user":"icon-user-small";return e.companyFeatures.isResourceBookableCapacityEnabled?t?n+" filled":n:t?r+" full":r+" empty"}}]),e.filter("blockedCapacityClass",[function(){return function(e,i){return 0===e?t:e===i?r:e>i?o:n}}]),e.filter("capacityClass",["models",function(e){return function(i,a,s){var c,u=i.customerCount,l=i.capacity;if(_.isUndefined(a)||(u=a),_.isUndefined(s)&&(s=!0),i.cls===e.ItemGroup.cls)return(i.bookingCount||0)>0?n:t;if(i.cls===e.Block.cls&&(c=i.reservedCapacity-u),i.cls===e.CustomerTypeRate.cls&&(c=l-u),i.cls===e.Availability.cls){var d=s?"bookableCapacity":"blocksIncludedBookableCapacity",p=s?"nonResourceBookableCapacity":"blocksIncludedNonResourceBookableCapacity";if(!u)return t;if(i.company.companyFeatures.isResourceBookableCapacityEnabled){if(c=i[d],_.isUndefined(c))return console.log("capacityClass: no capacity information for object",i.uri),t;if(i.isOverusingResources)return o;if(i[p]<0)return o}else{if(c=i[p],_.isUndefined(c))return console.log("capacityClass: no capacity information for object",i.uri),t;null!==c&&(c+=i.customerCount-u)}}return u<=0?t:c<0?o:0===c?r:null===c||c>0?n:t}}]),e.filter("liveCapacityClass",["models",function(e){return function(e,i){if(!e||e.$fresh)return t;var a=i.bookCountsCtrl.liveCapacity.availabilityCustomerCount;return a?0===i.bookCountsCtrl.customerCount&&(i.availability.isOverbooked||i.availability.isOverusingResources)||e.isOverbookingAvailability||e.isOverusingResources?o:0===e.availabilityLiveBookableCapacity?r:a>0&&(null===e.availabilityLiveBookableCapacity||e.availabilityLiveBookableCapacity>0)?n:(console.log("liveCapacityClass: no capacity information.",e,a),t):t}}]),e.filter("availableClass",[function(){return function(e,t){var n=e.customerCount,r=e.capacity-n;return _.isUndefined(t)||(r=t),r<=0?"ava-is-unbookable":"ava-is-bookable"}}]),e.filter("paymentAmountClass",["models",function(e){return function(t){return t.disputeStatus===e.Payment.LOST_DISPUTE_STATUS||t.disputeStatus===e.Payment.ACCEPTED_DISPUTE_STATUS?"strike":e.Payment.isPaymentFailed(t)?"negative":t.expiresAt?"fh-grey":"positive"}}]),e.filter("hasCustomersClass",[function(){return function(e){return e.customerCount>0?n:t}}]),e.filter("abs",[function(){return function(e){return Math.abs(e||0)}}]),e.filter("isAllDay",["dates",function(e){return function(t){return t?!(!t.startAt||!t.endAt)&&+t.startAt!=+t.endAt&&e.isMidnight(t.startAt)&&e.isMidnight(t.endAt):(console.warn("isAllDay: invalid range"),!1)}}]),e.filter("isMidnight",["dates",function(e){return function(t){return moment.isMoment(t)?e.isMidnight(t):(console.warn("isMidnight: invalid date",t),!1)}}]),e.filter("contains",[function(){return function(e,t){return _.includes(e,t)}}]),e.filter("bookingUrl",["auth","navigation",function(e,t){return function(n,r){var i=n.company;if(n.isPending&&!e.currentUser.isAuthenticated){var o=n.$url(s.D.embeds.book.wait.booking);return t.extendQuery(o,{status:"initial"})}return e.permissions.can("viewDashboardSection",i)?(o=n.$url(s.D.dashboard.overlay.contact.booking),r&&(o=t.extendQuery(o,{action:r})),o):n.affiliation&&e.permissions.can("viewDashboardSection",n.affiliation.affiliateCompany)?(o=n.$url(s.D.dashboard.bookings.contact.affiliateBookingPermalink),r&&(o=t.extendQuery(o,{action:r})),o):n.$url(s.D.company.item.booking)}}]),e.filter("orderUrl",["auth","navigation",function(e,t){return function(t){var n=t.company;if(e.permissions.can("viewDashboardSection",n))return t.$url(s.D.dashboard.overlay.contact.order);var r=_.filter(t.allBookings,(function(t){return t.affiliation&&e.permissions.can("viewDashboardSection",t.affiliation.affiliateCompany)}));return r.length>0?s.D.populate(s.D.dashboard.bookings.contact.affiliateOrderPermalink,{affiliateShortname:r[0].affiliation.affiliateCompany.shortname,shortname:t.company.shortname,contactPk:t.contact.pk,orderUuid:t.uuid}):t.$url(s.D.company.order.index)}}]),e.filter("contactUrl",["auth","navigation",function(e,t){return function(t){var n=t.company;if(e.permissions.can("viewDashboardSection",n))return t.$url(s.D.dashboard.overlay.contact.index);var r=_.find(e.currentUser.company.partners,{company:t.company});return r&&r.affiliateGroup&&e.permissions.can("viewDashboardSection",e.currentUser.company)?s.D.populate(s.D.dashboard.bookings.contact.affiliateContactPermalink,{affiliateShortname:e.currentUser.company.shortname,shortname:t.company.shortname,contactPk:t.pk}):t.$url(s.D.company.index)}}]),e.filter("availabilityUrl",["auth","models",function(e,t){return function(t){return e.permissions.can("viewDashboardSection",t.item.company)?t.$url(s.D.dashboard.overlay.availability.index):t.$url(s.D.company.item.book)}}]),e.filter("itemGroupUrl",["auth","flows","models",function(e,t,n){return function(n,r){var i=e.permissions.can("viewDashboardSection",n.item.company)?s.D.dashboard.overlay.item.date:s.D.company.item.date,o=s.D.populate(i,{shortname:n.item.company.shortname,itemPk:n.item.pk,date:r.format("YYYY-MM-DD")});return t.extendWithFlow(o)}}]),e.filter("itemUrl",["auth",function(e){return function(t){return e.permissions.can("viewItemsSection",t.company)?t.$url(s.D.dashboard.items.item.index):t.$url(s.D.company.item.index)}}]),e.filter("checkinUrl",[function(){return A.I}]),e.filter("waiverUrl",[function(){return function(e,t){return t.company.smartwaiverUrl+e.waiverUuid+"/web/?auto_tag=fh_id_"+t.pk.toString()}}]),e.filter("invoiceUrl",["auth","navigation",function(e,t){return function(n,r){var i;if(r=r||"index",!(i=t.currentCompany===n.company&&e.permissions.can("viewDashboardSection",n.company)?s.D.dashboard.reports.invoices.invoice[r]:n.affiliation&&e.permissions.can("viewDashboardSection",n.affiliation.affiliateCompany)?s.D.dashboard.reports.invoices.partnerInvoice[r]:s.D.company.invoice.index))throw new Error("invoiceUrl: invalid view "+r);return n.$url(i)}}]),e.filter("uploadUrl",["navigation",function(e){return function(t){var n=e.currentCompany;return s.D.populate(s.D.dashboard.reports.accounts.upload,{shortname:n.shortname,uploadPk:t.pk})}}]),e.filter("companyDefaultIntegrationsUrl",["navigation","auth","models",function(e,t,n){return function(e){var r={shortname:e.shortname};return t.permissions.canList(n.ResellerCompany,e)?e.isAdmin?s.D.populate(s.D.dashboard.settings.reseller.apps.index,r):s.D.populate(s.D.dashboard.settings.reseller.index,r):s.D.populate(s.D.dashboard.settings.integrations.subscribe,r)}}]),e.filter("key",[function(){return function(e){return e.cls+"."+e.pk}}]),e.filter("summary",[function(){return function(e,t,n){return n=n||0,_.reduce(e,(function(e,n){return e+(_.getDotted(n,t)||0)}),n)}}]),e.filter("uniqueCount",["$filter",function(e){var t=e("pluralize");return function(e,n,r,i){var o=new Set(e.filter((function(e){var t;return null==e||null===(t=e[n])||void 0===t?void 0:t.uri})).map((function(e){return e[n].uri}))).size;return r||i?"".concat(o," ").concat(t(o,r,i)):o}}]),e.filter("uncamel",[function(){var e=/([a-z])([A-Z])/g,t=function(e,t,n){return t+" "+n};return function(n){return n.replace(e,t)}}]),e.filter("activityChange",["$filter","models",function(e,t){var n=e("amount"),r=e("percentage"),i=function(e,t){var n=t&&"discount"===t.field;return r(e,n)},o=function(e){return moment.isMoment(e)||(e=moment.parseZone(e)),e},a={AmountField:n,BooleanField:function(e){return e?T("true"):T("false")},PositiveAmountField:n,PercentField:i,PositivePercentField:i,DateTimeField:function(t){return e("datetime")(o(t))},DateField:function(t){return e("date")(o(t))},ColumnWidthField:function(e){return t.FlowNode.WIDTH_LABELS[e]||e},PKListField:function(e){return e||T("all")},ArrayField:function(e){return _.isArray(e)?e.join(", "):""},ObjectArrayField:function(t){return t&&t.length?_.map(t,e("name")).join(", "):T("all")}};return function(t,n){var r=n.fieldType,i=a[r];return i?i(t,n):_.isObject(t)?e("name")(t):t}}]),e.filter("defaultIfUndefined",[function(){return function(e,t){return _.isUndefined(e)?t:e}}]),e.filter("displayFilterValue",["$filter",function(e){return function(t){if(!0===t)return T("is set");if(!1===t)return T("is empty");var n="";return _.isString(t)&&"{"===t[0]&&("contains"===(t=_.parseJSON(t)).type&&(n=T("contains")+" "),t=t.value),n+e("name")(t)}}]),e.filter("fieldOrBoolean",["$filter",function(e){return function(t){return!0===t?"is set":!1===t?"is empty":_.isObject(t)?e("name")(t):t}}]),e.filter("names",["$filter",function(e){return function(t){return _.map(t,e("name")).join(", ")}}]),e.filter("isEmptyFilter",["filterFields",function(e){return function(t){return _.some(e.EMPTY_VALUES,(function(e){return _.isEqual(e,t)}))}}]),e.filter("defaults",[function(){return _.defaults}]),e.filter("parsePresetDateRange",["dateUtils",function(e){return function(t,n){return e.dateRange(t,n)}}]),e.filter("colorClass",["models",function(e){return function(t,n,r){return n=n||"",r=r||"",t?(t.cls===e.Booking.cls?t=t.availability.item:t.item&&(t=t.item),t.color&&(t=t.color),t&&_.isNumber(t)?(n&&"-"!==n.charAt(0)&&(n=" "+n),"color-"+t+n):r):r}}]),e.filter("approximate",["$filter",function(e){return function(t,n){var r,i=1,o=n?"+":"";if(t>=1e3)r=100,i=1e3,o="k"+o;else if(t>=100)r=100;else{if(!(t>=10))return t;r=10}var a=(t-t%r)/i;return e("count")(a,1)+o}}]),e.filter("displayLanguage",["models",function(e){return function(t){return e.SupportedLanguage.display(t)}}]),e.filter("bankAccountDescription",[function(){return function(e){return e?e.bankName+" "+e.accountLast4:""}}]),e.filter("isStringEffectivelyEmpty",[function(){return C}])}(),n(52675),n(89463),n(2259),n(5746),n(3296),n(27208),n(48408),n(14603),n(47566),n(98721);var P=n(65047),S=n(19875),O=n(17411),R=n(41552);function I(e){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}!function(){var e=angular.module("lib.services",["lib.factories","lib.filters","lib.models","lib.processors","ngSanitize","ngCookies"]);e.factory("persistentStorage",["$q","$rootScope","clientOptions","events","navigation",function(e,t,n,r,i){if(!(0,O.Ew)(n.userIdentifier)){var s=P.I.get(l.oP);n.userIdentifier=(0,O.Ew)(s)?s:(0,O.bz)()}P.I.set(l.oP,n.userIdentifier),console.log("persistentStorage: identified user:",n.userIdentifier);var c=function(e){o.Y.notNull(i.currentCompany,"shortname","persistentStorage needs currentCompany");var t={identifier:n.userIdentifier,shortname:i.currentCompany.shortname};return e&&(t.key=e),t},u={getIdentifier:function(){return n.userIdentifier},setIdentifier:function(e){P.I.set(l.oP,e),n.userIdentifier=e,console.log("persistentStorage: re-identified user:",e),r.broadcast("persistentStorage.reIdentifiedUser")},regenerateIdentifier:function(){u.setIdentifier((0,O.bz)())},get:function(e){var t=c(e),n=a.db.persistentStoreItem(t);return n.$promise.then((function(e){return n}))},set:function(e,t){var n=c(e),r=a.db.persistentStoreItem.update(n,t);return r.$promise.then((function(){return r}))},setContact:function(e){var t=c("email"),n=a.db.persistentStoreContact.update(t,e);return n.$promise.then((function(){return n}))},del:function(e){var t=c(e);return a.db.persistentStoreItem.remove(t).$promise},clear:function(){var e=c();return a.db.persistentStoreForCompany.remove(e).$promise},getForAllCompanies:function(e){var t=a.db.persistentStore({identifier:n.userIdentifier});return t.$promise.then((function(){var n={};return _.forEach(t,(function(t){n[t.company.shortname]={company:t.company},n[t.company.shortname][e]=t[e]})),n}))}};return r.on(t,"auth.logout",u.regenerateIdentifier),r.on(t,"auth.login",u.regenerateIdentifier),u}]),e.factory("translate",["$rootScope","$window",function(e,t){var n,r=function(n){if(n<=0)console.warn("translate: failed to load Google Translate");else{if(!t.google||!t.google.translate||!t.google.translate.TranslateElement)return console.info("translate: not yet loaded, retrying..."),void setTimeout(_.bind(r,_,n-1),1e3);console.info("translate: loaded"),e.$apply((function(){i.isReady=!0}))}},i={isReady:!1,initialize:function(e){i.isReady?function(e){n?e.append(n):(n=$('<div id="google-translate"></div>'),e.append(n),new t.google.translate.TranslateElement({pageLanguage:"en"},n[0]))}(e):console.warn("translate: attempting to initialize before load")}};return a.db.slipstream("isAnonymous")&&r(3),i}]),e.factory("postBook",["$filter","auth","navigation",function(e,t,n){return{startBooking:function(e){console.log("postBook: start booking",e),t.sessionStorage.set("postBook.path",e)},stopBooking:function(r){o.Y.assert(r,"postBook: expected booking");var i=e("bookingUrl")(r),a=t.sessionStorage.get("postBook.path");if(t.sessionStorage.del("postBook.path"),console.log("postBook: stop booking",r,i,a),!a)return i;var s=n.parseMultiUrl(i);if(!s)return i;if(0!==a.indexOf(s.path))return i;var c={};return c[s.key]=s.multiPath,_.assign(c,s.search),n.extendQuery(a,c)}}}]),e.factory("markdownConverter",["$sanitize",function(e){var t=new R.Converter({simpleLineBreaks:!0,noHeaderId:!0,openLinksInNewWindow:!0});return{makeHtml:function(n){if(!n)return"";try{var r=_.escape(n);r=_.replaceAll(r,"&gt;",">"),r=_.replaceAll(r,"&#96;","`");var i=t.makeHtml(r);return e(i)}catch(e){return console.error("markdownConverter.makeHtml:",e),""}}}}]),e.constant("Sentry",window.Sentry),e.factory("filepicker",(function(){return window.filepicker||null})),e.factory("fileuploader",["$q","$window",function(e,t){var n={},r=window.filepicker;return n.upload=function(){var n=e.defer();return r.pickAndStore({mimetypes:["image/*","application/*","text/*"],services:["COMPUTER","WEBCAM","FACEBOOK","INSTAGRAM","URL"]},{location:"S3"},(function(e){var r=e?_.head(e):"";if(r.url){var i=function(e){return e.replace(t.slipstream.remoteFileDomain,t.slipstream.remoteFileCdnDomain)}(r.url),o=r.mimetype||"",a=r.filename||"attachment",s=o.match(/^image\/\S+$/);n.resolve({url:i,fileName:a,isImage:s})}else n.reject()}),(function(e){e&&101===e.code?n.resolve():n.reject()})),n.promise},n.uploadAsMarkdown=function(){return n.upload().then((function(e){return e?(t=e.url,n=e.fileName,e.isImage?"!["+T("Description of image")+"]("+t+")":"["+T("View")+" "+n+"]("+t+")"):"";var t,n}))},n}]),e.factory("exporter",["$q","$rootScope","$timeout","$window","filepicker",function(e,t,n,r,i){var o=document.createElement("a"),a="download"in o&&"Blob"in window;return{exportToCsvFile:function(s,c,u){(u=u||{}).mediaType="text/csv";var l=function(e){var t="\ufeff";return _.forEach(e,(function(e){var n=_.map(e,(function(e){return _.isUndefined(e)?e="":_.isString(e)&&(e='"'+(e=(e=(e=(e=e.replace(/^\s+|\s+$/g,"")).replace(/\s+/g," ")).replace(/,$/,"")).replace(/"/g,'""'))+'"'),e}));t+=n.join(",")+"\n"})),t}(s);return function(s,c,u){u=u||{};var l=e.defer();if(a)n((function(){var e=new Blob([s],{type:u.mediaType}),t=URL.createObjectURL(e);o.setAttribute("href",t),o.setAttribute("download",c),document.body.appendChild(o),o.click(),document.body.removeChild(o),l.resolve()}),0,!1);else if(u.openWindow){var d=encodeURIComponent(s);window.open("data:"+u.mediaType+";charset=utf-8,"+d),l.resolve()}else{if(!i||i._queue)return l.reject(),l.promise;(function(n,r){var o=e.defer();return i.store(n,{filename:r,mimetype:"application/octet-stream"},(function(e){t.$safeApply((function(){o.resolve(e.url)}))}),(function(){t.$safeApply((function(){o.reject()}))})),o.promise})(s,c).then((function(e){r.location.href=e,l.resolve()}),(function(){l.reject()}))}return l.promise}(l,c,u)},isDownloadSupported:a}}]),e.factory("xmessage",["$window",function(e){return{broadcast:function(t,n,r){var i={type:t};_.assign(i,n),r=r||"*";var o="";try{o=_.stringifyJSON(i),a.db.slipstream("isDebug")&&console.info("xmessage: broadcast",o),e.parent.postMessage(o,r)}catch(e){console.error("xmessage: unable to broadcast",o)}},on:function(t,n,r,i){i=i||"*";var o=function(e){try{var t=_.parseJSON(e.data);if(!_.isObject(t))return;if(a.db.slipstream("isDebug")&&console.info("xmessage: on",t),!n||t.type!==n)return;if("*"!==i&&(!i||i!==t.origin))return;r(t.data)}catch(e){}};e.addEventListener("message",o);var s=function(){e.removeEventListener("message",o)};return t.$on("$destroy",(function(){s()})),s}}}]),e.factory("events",["$rootScope",function(e){return{on:function(e,t,n){return e.$on(t,n)},broadcast:function(){e.$broadcast.apply(e,arguments)}}}]),e.factory("shortcutsOverlay",["$rootScope","auth","events",function(e,t,n){var r,i={isShowing:!1,shouldConfirmClose:!1,show:function(){i.isShowing=!0},hide:function(){i.isShowing=!1},confirmClose:function(e){i.shouldConfirmClose=e}};return n.on(e,"navigation.company.updated",(function(e,n){if(!a.db.slipstream("isDebug")){var o=n.company;o&&r!==o&&(r=o,o.adminNotes&&t.permissions.canAdminUpdate(o)&&i.show())}})),i}]),e.factory("shortcuts",["$document","auth","d",function(e,t,n){var r=[],i={delete:8,tab:9,enter:13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},o=function(e,t){for(var n=e.length,r=0;r<n;r++)i[e[r]]=t+r};o("1234567890",49),o("abcdefghijklmnopqrstuvwxyz",65);var a={};_.forEach(i,(function(e,t){a[e]=t}));var s={shift:"shift",ctrl:"ctrl",meta:"meta",alt:"alt"};return e.on("keydown",(function(e){if(t.currentUser.isAuthenticated){var o=$(e.target);if(!n.isTextInput(o)&&!o.is(".js-disable-shortcuts, select"))for(var s,c,u,l=function(e){var t={};return t.keyCode=i[a[e.which]],t.meta=e.metaKey||!1,t.alt=e.altKey||!1,t.ctrl=e.ctrlKey||!1,t.shift=e.shiftKey||!1,t}(e),d=r.length-1;d>=0;d--)if(c=l,u=(s=r[d]).keys,c&&u&&c.keyCode===u.keyCode&&c.ctrl===u.ctrl&&c.alt===u.alt&&c.meta===u.meta&&c.shift===u.shift)return e.preventDefault(),void s.action()}})),{shortcuts:r,register:function(e){var t,n;if(e.keys=(t=e.keySet.split("+"),n={},_.forEach(s,(function(e){n[e]=!1})),_.forEach(t,(function(e){var t=s[e];if(t)n[t]=!0;else if(n.keyCode=i[e],!n.keyCode)return})),n),e.keys)return r.push(e),e},unregister:function(e){_.overwriteWithout(r,e)}}}]),e.factory("toggles",["$document","$rootScope",function(e,t){$("html").on("click",(function(r){var i=$(r.target);i.closest("[ng-toggle], [ng-toggled], [ng-toggled-show], .fh-vue-toggleable").length||$.contains(e[0].documentElement,r.target)&&(i.closest(".select2-container, .pika-select").length||t.$apply((function(){_.forEach(n.toggles,(function(e,t){!e.autoClose||e.group&&!e.isCloseableGroup||(e.state=!1,e.onCloseFn())}))})))}));var n={toggles:{},create:function(e,r){var i=n.toggles[e];if(i)return i.state=r.defaultState||i.state||!1,void(i.count+=1);i={autoClose:r.autoClose||!1,state:r.defaultState||!1,group:r.group||null,isCloseableGroup:r.isCloseableGroup||!1,when:r.when||_.always,count:1,onCloseFn:r.onClose||function(){}},n.toggles[e]=i,i.group&&(i.deregisterGroupWatch=t.$watch((function(){return i.state}),(function(e){e&&_.forEach(n.toggles,(function(e,t){i!==e&&i.group===e.group&&(e.state=!1)}))})))},destroy:function(e){var t=n.toggles[e];t?(t.count-=1,t.count||(t.deregisterGroupWatch&&t.deregisterGroupWatch(),delete n.toggles[e])):console.warn("invalid toggle",e)},toggle:function(e,t){var r=n.toggles[e];r?r.when()?(t=_.isUndefined(t)?!r.state:!!t,r.group?r.isCloseableGroup?r.state=t:r.state=!0:r.state=t):console.info("toggles: disabled toggle",e):console.warn("toggles: invalid toggle",e)},state:function(e){var t=n.toggles[e];return!!t&&t.state},closeAll:function(){_.forEach(n.toggles,(function(e){e.state=!1}))}};return n}]),angular.module("lib.services.interpolate",[]).provider("$interpolate",[function(){var e="{{",t="}}",n="{!",r="!}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.staticStartSymbol=function(e){return e?(n=e,this):n},this.staticEndSymbol=function(e){return e?(r=e,this):r},this.$get=["$parse","$exceptionHandler","$sce",function(i,o,a){var s=e.length,c=t.length,u=n.length,l=r.length,d=function(o,d,p){for(var m,f,h,g,v,y,b=0,T=[],E=o.length,_=!1,k=[];b<E;)-1!=(m=o.indexOf(e,b))&&-1!=(f=o.indexOf(t,m+s))?(b!=m&&T.push(o.substring(b,m)),T.push({fn:i(h=o.substring(m+s,f)),exp:h,static:!1}),b=f+c,_=!0):-1!=(m=o.indexOf(n,b))&&-1!=(f=o.indexOf(r,m+u))?(b!=m&&T.push(o.substring(b,m)),T.push({fn:i(h=o.substring(m+u,f)),exp:h,static:!0}),b=f+l,_=!0):(b!=E&&T.push(o.substring(b)),b=E);(E=T.length)||(T.push(""),E=1);var C=p===a.URL||p===a.MEDIA_URL;if(p&&!C&&T.length>1)throw console.error("$interpolate: error while interpolating SCE violation",T),new Error("$interpolate: error while interpolating: SCE violation");if(!d||_)return k.length=E,(y=function(e){if(void 0!==y.values[e.$id])return y.values[e.$id];try{for(var t,n=0,r=0,i=E;r<i;r++)"object"===I(t=T[r])?(g=t.fn(e),g=p?a.getTrusted(p,g):a.valueOf(g),v=I(g),null===g||"undefined"===v?g="":"number"===v?g=""+g:"string"!==v&&(g=angular.toJson(g)),t.static||n++):g=t,k[r]=g;var s=k.join("");return n||(y.values[e.$id]=s),s}catch(e){console.error("unable to interpolate",o,"error",e)}}).exp=o,y.parts=T,y.values={},y};return d.startSymbol=function(){return e},d.endSymbol=function(){return t},d.staticStartSymbol=function(){return n},d.staticEndSymbol=function(){return r},d}]}]),e.factory("selectedItems",["navigation",function(e){return{extendUrl:function(t,n){if(n.length){var r={"selected-items":_.map(n,"pk").join(",")};return e.compose(t,r)}return t}}}]),e.factory("parseAttrsForScope",["$parse",function(e){return function(t,n,r,i){var o={},a=_.isString(i)?function(e){return i+_.upperFirst(e.slice(0,1))+e.slice(1)}:function(e){return e};return _.forEach(r,(function(r,i){var s=a(i);"@"===r?o[i]=t[s]:"="===r?o[i]=n.$eval(t[s]):"&"===r&&(o[i]=e(t[s]).bind(null,n))})),o}}]),e.factory("tableHeaders",["$parse",function(e){return{parsePredicate:function(t,n,r,i){i=i||"$row";var o=_.choose(n.split(";"),(function(t){if(t)return e(t)})),a=_.map(o,(function(e,r){return function(r){var o={};o[i]=r;var a=e(t,o);return moment.isMoment(a)&&(a=a.unix()),_.isUndefined(a)?(console.warn("ng-table-header: predicate returned undefined",n,r),0):a}}));return 1===a.length&&(a=a[0]),a.source=n,a.isDefault=r||!1,a}}}]),e.factory("autoExport",["$filter","$q","$timeout","exporter",function(e,t,n,r){var i=e("stripNewlines"),o=function(e){return _.map(e.contents(),(function(e){var t=$(e);return 3===e.nodeType?t.text():t.is(":visible")&&!t.is("[ng-auto-export-skip]")?o(t):void 0})).join(" ")},a=function(e){return e=_.isUndefined(e)?1:e,_.map(_.range(e),_.constant(""))},s={},u={status:"ready",ready:function(){return"ready"===u.status||"error"===u.status},autoExport:function(e,l,d){if(e=e||"default",l=l||e,u.ready()){var p=s[e]||[];if(p.length){var m=function(){u.status="error",c.j.error("Error exporting "+l)};u.status="processing",n((function(){var e=[];try{var n=[];_.forEach(p,(function(r){if(r.process){var s=r.process(),c=t.when(s);return n.push(c),void c.then((function(t){t&&e.push({rows:t})}))}var u=r.tableSelector?r.tableSelector:r.isCSS?".table":"table",l=r.element;l.is(u)||(l=l.find(u)),_.forEach(l,(function(t){var n=function(e,t){var n=t.rowSelector?t.rowSelector:t.isCSS?"> .thead > .tr, > .tbody > .tr, > .tfoot > .tr":"> thead > tr, > tbody > tr, > tfoot > tr",r=t.cellSelector?t.cellSelector:t.isCSS?"> .td, > .th":"> td, > th",s=e.data().ngAutoExportSkip;if(!s||!s()){var c=[];return _.forEach(e.find(n),(function(e){var t,n=$(e);if(!(t=n.data().ngAutoExportSkip)||!t()){var s=[];_.forEach(n.find(r),(function(e){var t,n=$(e),r=n.data();if(!(t=r.ngAutoExportSkip)||!t()){var c,u;c=(u=r.ngAutoExportValue)?u():o(n),s.push(i(c).trim().replace(/‑/g,"-"));var l=n.prop("colspan");l=l?parseInt(l,10):1,_.ref.append(s,a(l-1))}})),c.push(s)}})),{rows:c}}}($(t),r);n&&e.push(n)}))})),t.all(n).then((function(){var t=function(e){if(e&&e.length){if(1===e.length)return e[0];var t={rows:e[0].rows,filename:e[0].filename};return _.forEach(_.slice(e,1),(function(e){t.rows.push(a()),_.ref.append(t.rows,e.rows)})),t}console.warn("autoExport: no exports found")}(e);t?(u.status="exporting",r.exportToCsvFile(t.rows,l,d).then((function(){u.status="ready"}),m)):u.status="ready"}))}catch(e){m(),console.error("Error exporting",e)}}),0,!1)}else console.warn("autoExport: no exports")}else console.warn("autoExport: not ready")},addExport:function(e,t,n){var r=s[e=e||"default"]=s[e]||[],i={element:t,namespace:e};return _.assign(i,n||{}),r.push(i),i},removeExport:function(e){var t=s[e.namespace]=s[e.namespace]||[];_.ref.remove(t,e)},isDownloadSupported:r.isDownloadSupported,canExport:function(e){return!!s[e]&&s[e].length>0}};return u}]),e.factory("scrollbar",[function(){var e={width:null,getWidth:function(){if(null!==e.width)return e.width;var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var n=document.createElement("div");n.style.position="absolute",n.style.top="0px",n.style.left="0px",n.style.visibility="hidden",n.style.width="200px",n.style.height="150px",n.style.overflow="hidden",n.appendChild(t),document.body.appendChild(n);var r=t.offsetWidth;n.style.overflow="scroll";var i=t.offsetWidth;return r==i&&(i=n.clientWidth),document.body.removeChild(n),e.width=Math.max(r-i,0),e.width}};return e}]),e.factory("scroll",["$window",function(e){return{scrollTo:function(t,n,r,i){if(t){"top"===t&&(t="body");var o=!n;n=n||"html,body";var a=$(t),s=$(n);if(a.length&&s.length){var c=Math.min.apply(Math,_.map(a,(function(e){return $(e).offset().top||0}))),u=0;s.each((function(e,t){if(t.scrollTop)return u=t.scrollTop,!1}));var l=0;s.each((function(e,t){if(t.scrollHeight)return l=t.scrollHeight,!1}));var d=Math.min.apply(Math,_.choose(s,(function(e){var t=$(e).height();if(t)return t})));o&&(d=Math.min(d,e.innerHeight));var p,m=Math.max(0,l-d),f=Math.abs(c-u)<1;c<0?(p=15,c=0):f?p=c-15:c>m&&(p=m-15,c=m),m&&(!i||_.isUndefined(p)?r?s.stop().animate({scrollTop:c},500,"swing"):s.scrollTop(c):s.stop().animate({scrollTop:p},250,"swing").animate({scrollTop:c},250,"swing"))}}}}}]),e.factory("dateUtils",["models",function(e){var t=/^\d\d:\d\d$/,n="YYYY-MM-DD-HH-mm-ss",r="YYYY-MM-DD",i=moment("1900-01-01",r),o=function(e){return _.isUndefined(e)?moment():moment.tz(e)},a=function(e,t){return function(n){return[o(n).subtract(1,e+"s").startOf(e),t?o(n).subtract(1,e+"s"):o(n).subtract(1,e+"s").endOf(e)]}},s=function(e,t){return function(n){return[o(n).startOf(e),t?o(n):o(n).endOf(e)]}},c=function(e){return function(t){return[o(t).add(1,e+"s").startOf(e),o(t).add(1,e+"s").endOf(e)]}},u=function(e){return function(t){return[o(t).startOf("day"),o(t).add(e-1,"days").endOf("day")]}},l=function(e){return function(t){return[o(t).subtract(e-1,"days").startOf("day"),o(t).endOf("day")]}},d=e.Report,p={};p[d.TODAY_DATE_RANGE]=s("day"),p[d.THIS_WEEK_DATE_RANGE]=s("week"),p[d.THIS_WEEK_TO_DATE_DATE_RANGE]=s("week",!0),p[d.THIS_MONTH_DATE_RANGE]=s("month"),p[d.THIS_MONTH_TO_DATE_DATE_RANGE]=s("month",!0),p[d.THIS_QUARTER_DATE_RANGE]=s("quarter"),p[d.THIS_QUARTER_TO_DATE_DATE_RANGE]=s("quarter",!0),p[d.THIS_YEAR_DATE_RANGE]=s("year"),p[d.THIS_YEAR_TO_DATE_DATE_RANGE]=s("year",!0),p[d.REMAINING_THIS_YEAR_DATE_RANGE]=function(e){return[o(e).startOf("day"),o(e).endOf("year")]},p[d.YESTERDAY_DATE_RANGE]=a("day"),p[d.LAST_WEEK_DATE_RANGE]=a("week"),p[d.LAST_WEEK_TO_DATE_DATE_RANGE]=a("week",!0),p[d.LAST_MONTH_DATE_RANGE]=a("month"),p[d.LAST_MONTH_TO_DATE_DATE_RANGE]=a("month",!0),p[d.LAST_QUARTER_DATE_RANGE]=a("quarter"),p[d.LAST_QUARTER_TO_DATE_DATE_RANGE]=a("quarter",!0),p[d.LAST_YEAR_DATE_RANGE]=a("year"),p[d.LAST_YEAR_TO_DATE_DATE_RANGE]=a("year",!0),p[d.TOMORROW_DATE_RANGE]=c("day"),p[d.NEXT_WEEK_DATE_RANGE]=c("week"),p[d.NEXT_MONTH_DATE_RANGE]=c("month"),p[d.NEXT_YEAR_DATE_RANGE]=c("year"),p[d.LAST_SEVEN_DAYS_DATE_RANGE]=l(7),p[d.LAST_THIRTY_DAYS_DATE_RANGE]=l(30),p[d.NEXT_SEVEN_DAYS_DATE_RANGE]=u(7),p[d.NEXT_THIRTY_DAYS_DATE_RANGE]=u(30),p[d.ALL_TIME_DATE_RANGE]=function(e){return[o(e).startOf("year").year(1),o(e).endOf("year").year(9990)]};var m={};m[d.THIS_WEEK_DATE_RANGE]=[!0,!0],m[d.THIS_WEEK_TO_DATE_DATE_RANGE]=[!0,!1],m[d.LAST_WEEK_DATE_RANGE]=[!0,!0],m[d.LAST_WEEK_TO_DATE_DATE_RANGE]=[!0,!1],m[d.NEXT_WEEK_DATE_RANGE]=[!0,!0];var f={DATE_RANGES:p,dateRange:function(e,t){var n=p[e];n||(n=p[d.TODAY_DATE_RANGE]);var r=n(t.timezone);if(!t.features.isSundayBased){var i=m[e];i&&_.forEach(i,(function(e,t){e&&r[t].add(1,"days")}))}return r},isInvertedRange:function(e){if(!e[0]||!e[1])return!1;var n=t.test(e[0]),r=n?"HH:mm":null;if(n&&"00:00"===e[1])return!1;var i=moment(e[0],r),o=moment(e[1],r);return i.isValid()&&o.isValid()&&i>o},isValidDates:function(e){return!(moment(e[0],r)<i||moment(e[1],r)<i)},formatMoment:function(e){return e.format(n)},formatTimeRange:function(e){return f.formatMoment(e.startAt)+"/"+f.formatMoment(e.endAt)},parseTimeRange:function(e){var t=_.split(e,"/");return{startAt:moment(t[0],n),endAt:moment(t[1],n),formatted:e}},overlapsWith:S.Y.overlapsWith};return f}]),e.factory("searchTerms",[function(){return{}}]),e.factory("flows",["$q","availabilityCalendarController","clientOptions","models","navigation",function(e,t,n,r,i){var c,l=r.FlowNode,d=i.getPks("selected-items"),p=function(e,t){var n=a.db.defaultFlowPage({shortname:e});n.$promise.then((function(){t.resolve(),m.initialFlowNode=n.flowNode}),t.reject)},m={wrapEndpoint:function(e,t){return function(n,r,i,o,s){o=o||{},d.length&&(o.selectedItems=d.join(",")),t||(o.isPage=!0),(s=s||{}).ignoreQueryParamsInCacheUri=!0,s.sideKeys=["emptyPageItems"];var c=e(n,r,i,o,s);return c.$promise.then((function(e){var n,r;e!==a.db.CANCELLED&&(n=t?e.primaryData.flowNode:e.primaryData,r=e.emptyPageItems,!n.children.length&&r&&(n.emptyPageChildren=_.map(r,(function(e){return{cls:l.cls,uri:"",pk:null,company:n.company,type:l.ITEM_TYPE,parent:n,item:e,properties:{},unicode:e.unicode}}))))})),c}},isNoFlow:function(){return m.initialFlowNode===l.NO_FLOW},currentFlowNodePk:function(){var e=i.get(l.FLOW_QUERY);return"no"!==e&&(e?_.int(e):null)},getBackButtonUrlFor3ColumnView:function(e,t){return t?s.D.populate(s.D.company.item.month,{shortname:e.company.shortname,itemPk:e.pk,year:t.year(),month:t.month()+1}):s.D.populate(s.D.company.item.calendar,{shortname:e.company.shortname,itemPk:e.pk})},getBackButtonUrlForRetailAvailability:function(e){if(n.isFullItemsEnabled)return e.item.$url(s.D.company.item.index);var t=e.company.shortname,r=m.currentFlowNodePk();return r?s.D.populate(s.D.company.flowNode.index,{shortname:t,flowNodePk:r}):s.D.populate(s.D.company.items.index,{shortname:t})},getBackButtonUrl:function(e){return i.previousUrls.length>0?i.previousUrls[0]:e.item.isGroupedCalendar?e.$url(s.D.company.item.date):s.D.populate(s.D.company.item.month,{shortname:e.company.shortname,itemPk:e.item.pk,year:e.startAt.year(),month:e.startAt.month()+1})},currentFlowNodeFromCache:function(e){o.Y.assert(m.initialFlowNode,"flows must be initialized");var t=m.currentFlowNodePk();if(t){var n={shortname:e,flowNodePk:t},r=s.D.populate(s.D.api.flowNode,n),i=u.P.cache[r];return i&&i.breadcrumbs||(i=a.db.flowNode(n)),i}return m.initialFlowNode},initialFlowNode:void 0,initialItemBindings:void 0,initialize:function(t){if(c)return console.log("flows: already initialized"),c;var n=e.defer();c=n.promise;var r=m.currentFlowNodePk();if(!1===r){var o=i.pathStartsWith(s.D.company.item.index);if(o)return m.initialItemBindings=o,m.initialFlowNode=l.NO_FLOW,n.resolve(),c;i.clear(l.FLOW_QUERY,!0)}if(i.get(l.IS_FROM_CART_QUERY)){var u=[];u.push(a.db.defaultFlowPage({shortname:t}).$promise),r&&!m.isOnFlowNodePage()&&u.push(a.db.flowNode({shortname:t,flowNodePk:r}).$promise),e.all(u).then((function(e){m.initialFlowNode=e[0].primaryData.flowNode,n.resolve()}),n.reject)}else if(r){var d=a.db.flowNode({shortname:t,flowNodePk:r});d.$promise.then((function(){m.initialFlowNode=d,n.resolve()}),(function(e){i.clear(l.FLOW_QUERY,!0),p(t,n)}))}else p(t,n);return c},initialUrl:function(){return o.Y.assert(m.initialFlowNode,"flows must be initialized"),m.initialFlowNode===l.NO_FLOW?s.D.populate(s.D.company.item.index,m.initialItemBindings):m.initialFlowNode.$url(s.D.company.flowNode.index)},extendWithFlow:function(e){var t=l.FLOW_QUERY,n=i.get(t);if(_.isUndefined(n))return e;var r={};return r[t]=n,i.compose(e,r,!0)},endpointParams:function(e){var t={shortname:e.company.shortname},r={allowGrouped:"yes",bookableOnly:n.isBookableOnly?"yes":"no"};return e.childrenCount>0?r.flow=e.pk:d.length&&(t.itemPks=d.join(",")),n.asnAffiliateCompany&&(r.asn=n.asnAffiliateCompany),{params:t,queryParams:r}},calendarController:function(e,n,r){var i=a.db.company.calendar,o=m.endpointParams(n);return o.itemPks&&(i=a.db.items.calendar),r.params=_.assign({},r.params,o.params),r.queryParams=_.assign({},r.queryParams,o.queryParams),t(e,_.assign({url:r.url,company:n.company,endpoint:i},r))},isOnInitialFlowNode:function(){o.Y.assert(m.initialFlowNode,"flows must be initialized");var e=m.currentFlowNodePk();return null===e||e===m.initialFlowNode.pk},isOnFlowNodePage:function(){return!!(i.pathEquals(s.D.company.items.index)||i.pathStartsWith(s.D.company.items.calendar)||i.pathStartsWith(s.D.company.items.date.index))},backToCartUrl:function(){var e,t={};return t[l.IS_FROM_CART_QUERY]="",e=m.isNoFlow()?i.currentCompany.$url(s.D.embeds.book.cart.index):m.initialFlowNode.$url(s.D.embeds.book.cart.flowNode),i.compose(e,t)}};return m}]),e.factory("poller",["$timeout","$q",function(e,t){var n=[1,1,1,1,1,2,2,3,3,4,4,5,5,10],r=function(t){var n=this;if(!n.isCancelled)if(n.result&&!n.result.isInProgress&&n.isComplete())n.deferred.resolve(n.result);else{t=t||0;var i=n.pollIntervals[Math.min(t,n.pollIntervals.length-1)];i*=1e3,n.result=n.endpoint(n.params,n.payload),n.request=n.result.$promise,n.request.then((function(o){if(n.onPollSuccess(o),!n.isCancelled){if(!n.result.isInProgress&&n.isComplete())return n.status="success",void n.deferred.resolve(n.result);n.request=e(_.bind(r,n,t+1),i,n.request),n.request.cancel=function(){e.cancel(n.request)}}}),(function(e){n.onPollError(e),n.status="success",n.cancel();var t=e.data.errorMessage;c.j.error(n.errorMessage+(t?"("+t+")":"")),n.deferred.reject(e)}))}};return function(e){var i=t.defer();return{endpoint:e.endpoint,params:e.params||{},payload:e.payload||{},errorMessage:e.errorMessage||"",isComplete:e.isComplete||_.constant(!0),status:"initial",isCancelled:!1,request:null,result:null,deferred:i,pollIntervals:e.pollIntervals||n,onPollSuccess:e.onPollSuccess||_.identity,onPollError:e.onPollError||_.identity,poll:function(){return this.isCancelled=!1,r.apply(this),this},cancel:function(){return this.isCancelled=!0,this.request&&this.request.cancel(),this.request=null,this},$promise:i.promise}}}]),e.factory("affiliateRules",["clientOptions",function(){return{applicableAffiliateRules:function(e,t,n){var r={affiliationId:e.pk,itemId:t.pk,availabilityId:n.pk};return a.db.affiliateRules({shortname:n.company.shortname},{},{},r)}}}]),e.run(["$rootScope","flows","searchTerms","shortcutsOverlay","toggles","translate",function(e,t,n,r,i,o){e.toggles=i,e.translate=o,e.searchTerms=n,e.shortcutsOverlay=r,e.flows=t}])}(),n(66412),n(45700),n(78125),n(18107),n(88431),n(23418),n(64346),n(94490),n(57145),n(89572),n(4731),n(60479),n(2892),n(59904),n(67945),n(84185),n(53921),n(83851),n(81278),n(40875),n(79432),n(63548),n(10287),n(3362),n(9391),n(67357);var w,D=n(57913);function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function U(){U=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),s=new I(r||[]);return i(a,"_invoke",{value:P(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",m="suspendedYield",f="executing",h="completed",g={};function v(){}function y(){}function b(){}var T={};u(T,a,(function(){return this}));var E=Object.getPrototypeOf,_=E&&E(E(w([])));_&&_!==n&&r.call(_,a)&&(T=_);var k=b.prototype=v.prototype=Object.create(T);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(i,o,a,s){var c=d(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==N(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function P(t,n,r){var i=p;return function(o,a){if(i===f)throw Error("Generator is already running");if(i===h){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=S(s,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===p)throw i=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=f;var u=d(t,n,r);if("normal"===u.type){if(i=r.done?h:m,u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=h,r.method="throw",r.arg=u.arg)}}}function S(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=d(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function w(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(N(t)+" is not iterable")}return y.prototype=b,i(k,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:y,configurable:!0}),y.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},C(A.prototype),u(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new A(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},C(k),u(k,c,"Generator"),u(k,a,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=w,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;R(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:w(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function F(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function L(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){F(o,r,i,a,s,"next",e)}function s(e){F(o,r,i,a,s,"throw",e)}a(void 0)}))}}function M(e){return function(e){if(Array.isArray(e))return x(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return x(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){Y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Y(e,t,n){return(t=function(e){var t=function(e){if("object"!=N(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==N(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n(2729),(w=angular.module("lib.factories",["tracking.services"])).factory("dataController",["$q",function(e){var t={};return function(n,r){var i=(r=r||{}).successCallback||_.ignore,o=r.errorCallback||_.ignore;n.dataCtrl={STALE:t,status:r.isManual?"manual":"loading",isStale:!1};var s=!1;n.$on("$destroy",(function(){_.forEach(r.promises,(function(e){e&&e.cancel&&e.cancel()})),s=!0}));var c=function(e){n.dataCtrl.status=e,n.dataCtrl.isStale=!1},l=function(e){if(e){var t=a.db.errorStatus(e.status);o(e),c(t)}},d=function(e){if(!s){var t=i(e);return t&&_.isFunction(t.then)?t.then((function(){c("success")}),l):c("success"),e}},p=function(){if(_.isFunction(r.loadCallback)){var t=r.loadCallback();_.isObject(t)&&(_.assign(r,t),i=r.successCallback||_.ignore,o=r.errorCallback||_.ignore)}n.dataCtrl.status="loading";var a=_.choose(r.promises||[]);return a.length?(r.stale&&_.every(r.stale,(function(e){return!_.isUndefined(e)&&!u.P.fresh(e)}))&&(i(n.dataCtrl.STALE),n.dataCtrl.isStale=!0,n.dataCtrl.status="success"),e.all(a).then(d,l)):d()};return n.dataCtrl.showLoading=function(){n.dataCtrl.status="loading"},n.dataCtrl.showComplete=function(){n.dataCtrl.status="success"},r.retry&&(n.dataCtrl.retry=function(){p()}),r.isManual?n.dataCtrl.load=function(){return p()}:p(),n}}]),w.factory("navigationController",["navigation",function(e){return function(t,n){return t.navigationCtrl={entries:n.entries||[]},_.forEach(t.navigationCtrl.entries,(function(t){_.isUndefined(t.isCurrent)&&(t.isCurrent=function(){var n=t.navigationUrl||t.url;return!!n&&(t.equals?e.pathEquals:e.pathStartsWith)(n)})})),t.navigationCtrl.isVisible=function(e){return!!_.isUndefined(e.isVisible)||(_.isFunction(e.isVisible)?e.isVisible():e.isVisible)},t}}]),w.factory("nagsController",["auth","models","tracking",function(e,t,n){return function(r,i){return r.nagsCtrl={company:i.company},r.nagsCtrl.isNagSaving=!1,r.nagsCtrl.mixpanelNagsMap={},r.nagsCtrl.updateActiveNags=function(e){r.nagsCtrl.mixpanelNagsMap=e},r.nagsCtrl.dismissCompanyNag=function(e){if(!r.nagsCtrl.isNagSaving){r.nagsCtrl.isNagSaving=!0;var t={};t[e]=!0,a.db.company.nags.update({shortname:r.nagsCtrl.company.shortname},t).$promise.then((function(){r.nagsCtrl.isNagSaving=!1}),(function(){r.nagsCtrl.isNagSaving=!1}))}},r.nagsCtrl.dismissUserNag=function(t){if(e.currentUser.nags[t]){r.nagsCtrl.isNagSaving=!0;var n={};n[t]=!0,a.db.user.nags.update({shortname:e.currentUser.company.shortname,username:e.currentUser.username},n).$promise.then((function(){r.nagsCtrl.isNagSaving=!1}),(function(){r.nagsCtrl.isNagSaving=!1}))}else console.error("Invalid dismissal for user nag: ",t)},r.nagsCtrl.dismissUserNags=function(){t.User.hasAnyNags(e.currentUser)&&a.db.user.nags.update({shortname:e.currentUser.company.shortname,username:e.currentUser.username})},r.nagsCtrl.undismissCompanyNags=function(){r.nagsCtrl.isNagSaving=!0,a.db.company.nags.update({shortname:r.nagsCtrl.company.shortname},{undismiss:!0}).$promise.then((function(){r.nagsCtrl.isNagSaving=!1}),(function(){r.nagsCtrl.isNagSaving=!1}))},r.nagsCtrl.undismissUserNags=function(){r.nagsCtrl.isNagSaving=!0,a.db.user.nags.update({shortname:e.currentUser.company.shortname,username:e.currentUser.username},{undismiss:!0}).$promise.then((function(){r.nagsCtrl.isNagSaving=!1}),(function(){r.nagsCtrl.isNagSaving=!1}))},r.nagsCtrl.getUndismissedNags=function(){return Object.keys(r.nagsCtrl.mixpanelNagsMap).filter((function(e){return r.nagsCtrl.mixpanelNagsMap[e]}))},r.nagsCtrl.mxTrackNag=function(t,o){var a,s=r.nagsCtrl.getUndismissedNags(),c=G(G({},e.currentUser.nags),i.company.nags),u=t.nag,l="special";u in e.currentUser.nags?l="user-level":u in i.company.nags&&(l="company-level");var d=G({nags:s,"is-auto-dismissed":null===(a=c[u])||void 0===a?void 0:a.isAutoDismissed,"nag-count":null==s?void 0:s.length,"nag-type":l},t);"click-nag-dismiss-button"===o&&(d.nags=s.filter((function(e){return e!=u})),d["nag-count"]=d.nags.length),n.track(r,o,d)},r}}]),w.factory("headerController",["$timeout","auth","models","nagsController","navigation","navigationController",function(e,t,n,r,i,o){return function(a,c){return a.headerCtrl={},a.headerCtrl.logout=function(){t.isLogoutInProgress=!0;var n=t.currentUser.company;n?i.navigate(n.$url(s.D.company.login)):i.navigate(s.D.index),e((function(){t.isLogoutInProgress&&t.logout(),t.isLogoutInProgress=!1}))},t.currentUser.isAuthenticated&&(a.headerCtrl.relatedCompanies=t.relatedCompanies()),a.$watch(c.companyFn,(function(e){a.headerCtrl.company=e,r(a,{company:a.headerCtrl.company}),o(a,{entries:[{text:"Admin",url:e.$url(s.D.dashboard.admin.index),isVisible:function(){return e.isAdmin&&t.permissions.can("viewAdminSection",e)},shortcut:"shift+a",shortcutDescription:"Show Admin."},{text:"Bookings",url:e.$url(s.D.dashboard.bookings.index),isVisible:function(){return(e.isCharter||e.isAffiliate)&&t.permissions.can("viewBookingsSection",e)},shortcut:"shift+b",shortcutDescription:"Show Bookings calendar."},{text:"Manifest",url:e.$url(s.D.dashboard.manifest.index),isVisible:function(){return e.isCharter&&t.permissions.can("viewManifestSection",e)},shortcut:"shift+m",shortcutDescription:"Show Manifest."},{text:"Reports",url:e.$url(s.D.dashboard.reports.index),isVisible:function(){return t.permissions.canList(n.Report,e)},shortcut:"shift+r",shortcutDescription:"Show Reports."},{text:"Items",url:e.$url(s.D.dashboard.items.index),isVisible:function(){return e.isCharter&&t.permissions.can("viewItemsSection",e)},shortcut:"shift+i",shortcutDescription:"Show Items.",isCurrent:function(){return i.pathStartsWith(s.D.dashboard.items.index)||i.pathStartsWith(s.D.dashboard.resources.index)}},{text:"Settings",url:e.$url(s.D.dashboard.settings.index),shortcut:"shift+s|shift+e",shortcutDescription:"Show Settings."},{text:"Website Admin",url:"https://content.fareharbor.me/wp-admin/",isVisible:_.getter(e,"isAdmin"),isOutbound:!0},{text:"Help",url:"https://fareharbor.com/help/",isOutbound:!0}]})})),a.headerCtrl.turnOffSnowstorm=t.storage.get("turnOffSnowstorm"),a.$watch("headerCtrl.turnOffSnowstorm",(function(e){e?t.storage.set("turnOffSnowstorm",!0):t.storage.del("turnOffSnowstorm")})),a}}]),w.factory("emailSubjectsController",["$q","models",function(e,t){var n=[t.Booking.cls,t.Order.cls,t.Availability.cls];return function(r,i){o.Y.defined(i,"modelKey"),o.Y.defined(i,"target","emailSubjectsCtrl: target must be provided"),o.Y.assert(_.includes(n,i.target.cls),"emailSubjectsCtrl: target must be an availability, booking, or an order");var s={};r[i.controllerAs||"emailSubjectsCtrl"]=s;var c=i.target.company,u=i.prefix||"",l=u+"type",d=u+"subject",p=u+"language",m=function(e,t){return t||(t=_.getDotted(r,i.modelKey)),_.isObject(t)?_.getDotted(t,e):void 0},f=function(e,t){_.getDotted(r,i.modelKey)[e]=t};s.resetToDefault=function(){var e=m(l),n="";if(r.isSubjectEditable=t.Notification.isSubjectEditable(e),e===t.Notification.DISPUTE_CREATED_TYPE&&(n=t.Notification.subjectForDisputeType(i.target)),i.subjectKeys)_.forEach(i.subjectKeys,(function(e,t){f(t,n||r.subjects[e]||r.subjects[c.language])}));else{var o=m(p);f(d,n||r.subjects[o])}};var h=!1,g=e.defer();return s.promises=[g.promise],r.$watchCollection((function(){return _.getDotted(r,i.modelKey)}),(function(e,n){var o=m(l,e),u=m(l,n),d=m(p,e),f=m(p,n);if(!h&&o)if(o!==t.Notification.DISPUTE_CREATED_TYPE){if(i.target.cls===t.Availability.cls){if(r.subjects&&o===u)return;var v=_.values(i.subjectKeys).join(",");r.subjects=a.db.subjects.availability({shortname:c.shortname,type:o,availabilityPk:i.target.pk,languages:v})}else{if(!d)return;if(r.subjects&&o===u&&d===f)return;i.target.cls===t.Order.cls?r.subjects=a.db.subjects.order({shortname:c.shortname,type:o,orderUuid:i.target.uuid,language:d}):r.subjects=a.db.subjects.booking({shortname:c.shortname,type:o,bookingUuid:i.target.uuid,language:d})}h=!0,r.subjects.$promise.then((function(){s.resetToDefault(),h=!1,g.resolve()})).catch((function(){g.reject()}))}else s.resetToDefault()})),s}}]),w.factory("cannedMessagesController",["$q","auth","models","navigation","toggles",function(e,t,n,r,i){return function(s,u){o.Y.defined(u,"modelKey"),o.Y.defined(u,"noteField"),u.cannedField=u.cannedField||"message";var l={};s.cannedMessagesCtrl=l;var d=function(){return u.languageOverride||s[u.modelKey][u.languageKey]};l.toggleKey="canned-message-"+s.$id,l.useDefaultMessage=!u.languageKey&&!u.onTranslationsLoad&&!u.languageOverride;var p=function(e,t){var r=n.SupportedLanguage.rootLanguage(t),i=_.find(e,{language:t});return(i=(i=i||_.find(e,{language:r}))||_.find(e,(function(e){return n.SupportedLanguage.shareRootLanguage(e.language,t)})))?i.fieldValue:null};if(l.onTranslationsLoad=u.onTranslationsLoad||function(e,t){var r=t[u.cannedField],i=d(),o=e(i);o?r=o:n.SupportedLanguage.shareRootLanguage(t.company.language,i)||c.j.warn(interpolate(T("Selected canned message is missing translation for %(language)s, using original message instead."),{language:n.SupportedLanguage.display(i)})),l.addMessageToNote(r)},l.select=function(e){var r=t.permissions.canView(n.SupportedLanguage,e.company),o=e.company.companyFeatures.isContentTranslationEnabled;if(l.useDefaultMessage||!o||!r){l.addMessageToNote(e[u.cannedField]);var s=n.SupportedLanguage.shareRootLanguage(d(),e.company.language);return!o||r||s||c.j.warn(interpolate(T("You do not have permission to view translated content for %(companyName)s. Please contact your administrator."),{companyName:e.company.name})),void i.toggle(l.toggleKey,!1)}l.loadingCannedMessagePk=e.pk;var m=a.db.translationsForField({shortname:e.company.shortname,objectType:e.cls,objectId:e.pk,objectField:u.cannedField});return m.$promise.then((function(){var t=_.filter(m.translationsForField,(function(e){return e.supportedLanguage.isLive})),n=_.bind(p,null,t);l.onTranslationsLoad(n,e)})).finally((function(){l.loadingCannedMessagePk=!1,i.toggle(l.toggleKey,!1)}))},l.addMessageToNote=u.addMessageToNote||function(e){var t=s[u.modelKey][u.noteField]||"";""!==(t=t.replace(/\s+$/g,""))&&(t=t.concat("\n\n"));var n=t.concat(e);s[u.modelKey][u.noteField]=u.formattingFn?u.formattingFn(n):n},l.TYPES=u.types||n.CannedMessage.TYPES,l.displayType=n.CannedMessage.displayType,l.promises=[],!u.cannedMessagesByType){u.cannedMessagesByType={},_.forEach(l.TYPES,(function(e){u.cannedMessagesByType[e]=[]}));var m=[r.currentCompany,t.currentUser.company,u.company];_.forEach(_.uniq(m),(function(e){if(e&&t.permissions.canList(n.CannedMessage,e)){var r=a.db.cannedMessages({shortname:e.shortname});l.promises.push(r.$promise.catch(_.ignore))}})),e.all(l.promises).then((function(e){var t=_.flatten(_.map(e,"primaryData"));s.hasMultiCompanyCannedMessages=_.uniqBy(t,"company").length>1,_.forEach(t,(function(e){_.includes(l.TYPES,e.type)&&u.cannedMessagesByType[e.type].push(e)}))}))}return l.cannedMessagesByType=u.cannedMessagesByType,l.isEmptyMessage=function(e){var t=e[u.cannedField];return _.isString(t)?_.isEmpty(t):_.isNull(t)},l.hasEmptyMessages=function(e){return _.every(l.cannedMessagesByType[e],l.isEmptyMessage)},s}}]),w.factory("imageUploadController",["$q","filepicker",function(e,t){return function(n,r){o.Y.defined(r,"modelKey");var i=r.id||"image",a=r.field||"imageUrl",s=r.width||2560,c=r.height||2560,u=!!_.isUndefined(r.resetAfterSubmit)||r.resetAfterSubmit,l=function(){_.assign(n.imageUploadCtrl[i],{url:"",urls:{},initialUrls:{},isSelected:!1,isPristine:!0,isUploading:!1,isCropping:!1,isSavingCrop:!1,crop:{},unCroppedUrl:null})},d=l;return n.imageUploadCtrl&&n.imageUploadCtrl.scope===n||(n.imageUploadCtrl={scope:n,ids:[]},n.imageUploadCtrl.isPristine=function(){return _.every(n.imageUploadCtrl.ids,(function(e){return n.imageUploadCtrl[e].isPristine}))},n.imageUploadCtrl.isUploading=function(){return _.some(n.imageUploadCtrl.ids,(function(e){return n.imageUploadCtrl[e].isUploading}))}),n.imageUploadCtrl.ids.push(i),n.imageUploadCtrl[i]={},n.imageUploadCtrl[i].clear=function(){n.imageUploadCtrl[i].urls[a]="",n[r.modelKey][a]="",_.assign(n.imageUploadCtrl[i],{url:"",isSelected:!1,isPristine:!1,crop:{},unCroppedUrl:null})},n.imageUploadCtrl[i].select=function(){n.imageUploadCtrl[i].isUploading=!0,t.pick({mimetypes:["image/*"],services:["COMPUTER","WEBCAM","FACEBOOK","INSTAGRAM","URL"]},(function(o){n.$apply((function(){(function(r){var i=e.defer(),o={height:c,width:s,fit:"max"};return t.convert(r,o,(function(e){n.$safeApply((function(){console.log("imageUploadCtrl: converted image",e.url,o),i.resolve(e)}))}),(function(e){n.$safeApply((function(){console.error("imageUploadCtrl: unable to convert image",e),i.reject(e)}))})),i.promise})(o).then((function(e){n.imageUploadCtrl[i].urls[a]=e.url,n[r.modelKey][a]=e.url,_.assign(n.imageUploadCtrl[i],{url:e.url,isSelected:!0,isPristine:!1,isUploading:!1,crop:{},unCroppedUrl:null})}),(function(e){console.error("imageUploadCtrl.select: unable to convert image",e),n.imageUploadCtrl[i].isUploading=!1}))}))}),(function(e){n.$apply((function(){101!==e.code&&console.error("imageUploadCtrl.select: unable to pick image",e),n.imageUploadCtrl[i].isUploading=!1}))}))},n.imageUploadCtrl[i].edit=function(){o.Y.defined(r,"elementKey");var e=n[r.elementKey][a];n.imageUploadCtrl[i].urls[a]=e,n.imageUploadCtrl[i].initialUrls[a]=e,n[r.modelKey][a]=e,_.assign(n.imageUploadCtrl[i],{url:e,isSelected:!!e,crop:{},unCroppedUrl:null})},n.imageUploadCtrl[i].submit=function(){var r,o,s,c=n.imageUploadCtrl[i].urls[a];return n.imageUploadCtrl[i].initialUrls[a]!==c&&c?(o=c,s=e.defer(),t.store({url:o},{location:"S3"},(function(e){console.log("imageUploadCtrl: stored image ",e.url),s.resolve(e)}),(function(e){console.error("imageUploadCtrl: unable to store image",e),s.reject(e)})),r=s.promise):r=e.resolve(),n.imageUploadCtrl[i].isPristine=!0,u&&d(),r},n.imageUploadCtrl[i].cancel=function(){d()},n.imageUploadCtrl[i].saveCrop=function(){n.imageUploadCtrl[i].isSavingCrop=!0;var e={fit:"crop",crop:[n.imageUploadCtrl[i].crop.x,n.imageUploadCtrl[i].crop.y,n.imageUploadCtrl[i].crop.width,n.imageUploadCtrl[i].crop.height],format:"jpg",quality:90},o=n.imageUploadCtrl[i].url;t.stat({url:o},(function(s){s.url=o,t.convert(s,e,(function(e){n.$safeApply((function(){n[r.modelKey][a]=e.url,n.imageUploadCtrl[i].urls[a]=e.url,_.assign(n.imageUploadCtrl[i],{url:e.url,isPristine:!1,isCropping:!1,isSavingCrop:!1,unCroppedUrl:o})}))}),(function(e){console.error("imageUploadCtrl.saveCrop: unable to crop image",e)}))}))},n.imageUploadCtrl[i].startCropping=function(){n.imageUploadCtrl[i].unCroppedUrl&&(n.imageUploadCtrl[i].url=n.imageUploadCtrl[i].unCroppedUrl),n.imageUploadCtrl[i].isCropping=!0},n.imageUploadCtrl[i].cancelCrop=function(){n.imageUploadCtrl[i].isCropping=!1,n.imageUploadCtrl[i].url=n[r.modelKey][a]},l(),n}}]),w.factory("splitPaymentController",["toggles",function(e){return function(t,n){t.splitPaymentCtrl={customerCount:n.customerCount(),amount:n.amount(),divideByPeople:1,payForPeople:1,splitAmount:0},t.$watch((function(){return n.amount()}),(function(e){t.splitPaymentCtrl.amount=e})),t.$watch(n.customerCount,(function(e){e=Math.max(1,e),t.splitPaymentCtrl.customerCount=e,t.splitPaymentCtrl.divideByPeople=e,t.splitPaymentCtrl.payForPeople=Math.min(t.splitPaymentCtrl.divideByPeople,t.splitPaymentCtrl.payForPeople)})),t.$watch((function(){var e=_.roundHalfToEven(t.splitPaymentCtrl.amount*t.splitPaymentCtrl.payForPeople/t.splitPaymentCtrl.divideByPeople);return isFinite(e)||(e=0),e}),(function(e){t.splitPaymentCtrl.splitAmount=e})),t.splitPaymentCtrl.useSplitAmount=function(){var r=Math.min(t.splitPaymentCtrl.splitAmount,n.max());r<=0||(n.amount(r),e.toggle("splitPaymentCalc",!1))}}}]),w.factory("reorderController",["$window","events",function(e,t){return function(n,r){var i=r.reorderCallback||_.ignore,o=r.reorderConfirm,s=r.reorderConfirmWhen||(o?_.always:_.never);return(n=n||{}).reorderCtrl={},n.reorderCtrl.reorder=function(u,l,d){if(n.reorderCtrl.isReordering)c.j.error(T("Reordering in progress, try again soon."));else{var p,m={},f=0;if(l&&(m.previousPk=l.pk,f=(l.sortableIndex||0)+.1),!d&&r.alwaysLast&&(d=r.alwaysLast),d&&(m.nextPk=d.pk,f=(d.sortableIndex||0)-.1),r.collectionKey?p=_.get(n,r.collectionKey):r.collectionFn&&(p=r.collectionFn(u)),p){if(s(u,l,d)&&!e.confirm(o||T("Are you sure you want to reorder this list?")))return!1;u.sortableIndex=f,_.ref.reorder(p,u,l,d);var h=u.company?u.company:r.company,g=u.cls?u.cls:r.cls;n.reorderCtrl.isReordering=!0;var v=a.db.reorder({shortname:h.shortname,objectCls:g,objectPk:u.pk},{},null,m);i(v),v.$promise.then((function(){c.j.success(T("Saved sort order")),n.reorderCtrl.isReordering=!1,r.refreshActivities&&t.broadcast("dashboard.shared.ActivitiesCtrl.refresh")}),(function(){n.reorderCtrl.isReordering=!1,c.j.error(T("Sort order not saved, please try again."))}))}}},n}}]),w.factory("listController",["reorderController","imageUploadController","events",function(e,t,n){return function(r,i){var o=i.get,a=i.create||o&&o.create,c=i.remove,u=i.successCallback||_.ignore,l=i.errorCallback||_.ignore,d=i.submitCallback||_.ignore,p=i.removeCallback||_.ignore,m=_.isFunction(i.params)?i.params:_.constant(i.params||{}),f=s.D.extract,h=!!_.isUndefined(i.reset)||i.reset,g=!!_.isUndefined(i.closeAfterSubmit)||i.closeAfterSubmit,v=!!i.imageUpload,y=i.defaultModel||{};return _.isFunction(y)||(y=_.constant(y)),r[i.modelKey]=_.assign({},y()),v&&t(r,{modelKey:i.modelKey}),o&&i.collectionKey&&!_.isArray(_.get(r,i.collectionKey))&&_.set(r,i.collectionKey,o(m())),r.listCtrl={},r.listCtrl.submit=function(e){var t=r[i.modelKey],o=d(e);o&&(t=_.assign({},t,o));var s=(i.createFn?i.createFn():a)(m(),t,e);s.$promise.then((function(t){if(i.collectionKey){var o=_.get(r,i.collectionKey);o&&(_.isArray(s)?i.overwrite?_.overwrite(o,s):_.ref.append(o,s):o.push(s))}r.listCtrl.cancel(e),i.refreshActivities&&n.broadcast("dashboard.shared.ActivitiesCtrl.refresh"),v&&r.imageUploadCtrl.image.submit(),u(s,e,t)}),(function(t){l(t,e)}))},r.listCtrl.adding=i.adding||!1,r.listCtrl.cancel=function(e){g&&(r.listCtrl.adding=!1),h&&(r[i.modelKey]=_.assign({},y())),e.$setPristine()},r.listCtrl.add=function(){r.listCtrl.adding=!0},r.listCtrl.toggle=function(){r.listCtrl.adding=!r.listCtrl.adding},r.listCtrl.close=function(e){r.listCtrl.adding=!1,e&&h&&(r[i.modelKey]=_.assign({},y()),e.$setPristine())},i.sortable&&i.collectionKey&&(r.listCtrl.reorder=e(r,{collectionKey:i.collectionKey,reorderCallback:i.reorderCallback,reorderConfirm:i.reorderConfirm,reorderConfirmWhen:i.reorderConfirmWhen,alwaysLast:i.alwaysLast,company:i.company,refreshActivities:i.refreshActivities}).reorderCtrl.reorder),i.remove&&(r.listCtrl.remove=function(e,t){r.listCtrl.status="removing",c(f(e),{},t).$promise.then((function(){r.listCtrl.status="success",t&&_.overwrite(t,{}),i.collectionKey&&_.overwriteWithout(_.get(r,i.collectionKey),_.isReferenceEqualTo(e)),i.refreshActivities&&n.broadcast("dashboard.shared.ActivitiesCtrl.refresh"),p(e)}))}),r}}]),w.factory("createController",["events",function(e){return function(t,n){var r=n.get||{},i=n.create||r.create,o=n.successCallback||_.ignore,a=n.errorCallback||_.ignore,s=n.submitCallback||_.ignore,c=_.isFunction(n.params)?n.params:_.constant(n.params||{}),u=!!_.isUndefined(n.reset)||n.reset,l=n.defaultModel||{},d=function(e){return _.set(t,n.modelKey,e)};return d(_.assign({},l)),t.createCtrl={},t.createCtrl.creating=!1,t.createCtrl.submit=function(r){s(r);var u=i(c(),_.get(t,n.modelKey),r);u.$promise.then((function(){t.createCtrl.cancel(r),n.refreshActivities&&e.broadcast("dashboard.shared.ActivitiesCtrl.refresh"),o(u,r)}),(function(e){a(e,r)}))},t.createCtrl.cancel=function(e){u&&d(_.assign({},l)),e.$setPristine(),t.createCtrl.creating=!1},t}}]),w.factory("removeController",[function(){return function(e,t){var n=t.remove||t.get.remove,r=t.removeCallback||_.ignore,i=_.isFunction(t.params)?t.params:_.constant(t.params||{});return e.removeCtrl={status:"success"},e.removeCtrl.remove=function(o){e.removeCtrl.status="removing",n(i(),{},o).$promise.then((function(){e.removeCtrl.status="success",o&&_.overwrite(o,{}),t.collectionKey&&_.overwriteWithout(e[t.collectionKey],_.isReferenceEqualTo(e[t.elementKey])),r(e[t.elementKey],o)}),(function(){e.removeCtrl.status="error"}))},e}}]),w.factory("editController",["$injector","events","imageUploadController","navigation",function(e,t,n,r){return function(e,i){var o=i.get||_.ignore,a=i.update||o.update,s=i.remove||o.remove,u=i.successCallback||_.ignore,l=i.errorCallback||_.ignore,d=i.editCallback||_.ignore,p=i.removeCallback||_.ignore,m=i.cancelCallback||_.ignore,f=i.submitCallback||_.ignore,h=_.isFunction(i.params)?i.params:_.constant(i.params||{}),g=i.jsonFieldKeys||[],v=!!i.imageUpload;e.editCtrl={},e.editCtrl.editing=!1,e.editCtrl.status="success",v&&n(e,{modelKey:i.modelKey,elementKey:i.elementKey}),_.isUndefined(_.get(e,i.collectionKey))&&!i.remove||(e.editCtrl.remove=function(n){e.editCtrl.status="removing",s(h(),{},n).$promise.then((function(){e.editCtrl.status="success",n&&_.overwrite(n,{});var o=_.get(e,i.collectionKey);if(o&&_.overwriteWithout(o,_.isReferenceEqualTo(e[i.elementKey])),i.refreshActivities&&t.broadcast("dashboard.shared.ActivitiesCtrl.refresh"),i.flashAfterRemove){var a=_.isString(i.flashAfterRemove)?i.flashAfterRemove:interpolate(T("Removed %(name)s"),{name:e[i.elementKey].unicode});c.j.success(a)}i.navigateAfterRemove&&r.navigate(i.navigateAfterRemove),p(e[i.elementKey],n)}),(function(){e.editCtrl.status="error"}))});var y=function(){var t={};_.forEach(e[i.elementKey],(function(e,n){_.isObject(e)&&!_.includes(g,n)||(t[n]=e)})),i.modelFields&&(t=_.pick(t,i.modelFields)),e[i.modelKey]=t};return e.editCtrl.edit=function(t,n){n||y(),e.editCtrl.editing=!0,v&&e.imageUploadCtrl.image.edit(),d(t,n)},e.editCtrl.cancel=function(t){e.editCtrl.editing=!1,y(),m(t),t&&t.$setPristine(),i.editing&&e.editCtrl.edit(t,i.skipReset)},e.editCtrl.submit=function(n){var r=e[i.modelKey],o=f(n);o&&(r=_.assign({},r,o)),e.editCtrl.status="submitting";var s=a(h(),r,n);s.$promise.then((function(r){e.editCtrl.status="success",n.$setPristine(),e.editCtrl.editing=!1,i.refreshActivities&&t.broadcast("dashboard.shared.ActivitiesCtrl.refresh"),v&&e.imageUploadCtrl.image.submit(),u(s,n,r),i.editing&&e.editCtrl.edit(n,i.skipReset)}),(function(t){e.editCtrl.status="error",l(t,n),i.editing&&e.editCtrl.edit(n,i.skipResetAfterError||i.skipReset)}))},i.editing&&e.editCtrl.edit(),e}}]),w.factory("calendarController",["$filter","$injector","$q","auth","dates","events","localization","navigation","tracking",function(e,t,n,r,i,c,l,d,p){var m="no-bookable";return function(f,h){var g=t.get("flows"),v=s.D.calendarUrls(h.url),y=_.isFunction(h.params)?h.params:_.constant(h.params||{}),b=_.isFunction(h.queryParams)?h.queryParams:_.constant(h.queryParams||{}),E=h.endpoint,k=h.beforeRequest||_.ignore,C=h.onSuccess||_.ignore,A=h.largeDaySelected||_.ignore,P=h.smallDaySelected||_.ignore,O=h.urlParams||_.ignore,R=h.preselectDate||null,I=h.isSplitCalendarSupported||_.ignore,w=h.isSplitCalendarByItemPksSupported||_.ignore,N=_.isFunction(h.isSundayBased)?h.isSundayBased:_.isBoolean(h.isSundayBased)?_.constant(h.isSundayBased):_.constant(!h.company||h.company.features.isSundayBased);f.calendarCtrl={status:"uninitialized",company:h.company||null,isSundayBased:N,calendar:{},prices:void 0,isRetrieving:!1,isEmptyAllowed:h.isEmptyAllowed||!1,date:moment().startOf("day"),isCalendarEmpty:h.isCalendarEmpty||_.ignore,isWeekEmpty:h.isWeekEmpty||_.ignore,isDayEmpty:h.isDayEmpty||_.ignore,isDayUsed:h.isDayUsed||_.ignore,isEditable:h.isEditable||!1,editDay:h.editDay||_.ignore,showSelectedDay:!!_.isUndefined(h.showSelectedDay)||h.showSelectedDay};var F=moment().startOf("day");f.calendarCtrl.dropdownMonths=_.map([T("January"),T("February"),cT("the month of March","March"),T("April"),cT("the month of May","May"),T("June"),T("July"),T("August"),T("September"),T("October"),T("November"),T("December")],(function(e,t){return{value:t,text:e}})),f.calendarCtrl.dropdownYears=_.map(_.range(F.year()-2,F.year()+5),(function(e){return{value:e,text:e}}));var x,B,$,Y,V=!1,j={},K={},H=function(e){var t=e.weeks.length;return{previousCutoffDate:e.weeks[0].days[0].at,numWeeks:t,nextCutoffDate:e.weeks[t-1].days[e.weeks[t-1].days.length-1].at}},W=function(e,t){var n,r,i,o;return(null!==(n=null===(r=e.item)||void 0===r?void 0:r.sortableIndex)&&void 0!==n?n:0)-(null!==(i=null===(o=t.item)||void 0===o?void 0:o.sortableIndex)&&void 0!==i?i:0)},q=function(e,t){var n,r,i,o,a=null!==(n=null===(r=e.item)||void 0===r?void 0:r.sortableIndex)&&void 0!==n?n:0,s=null!==(i=null===(o=t.item)||void 0===o?void 0:o.sortableIndex)&&void 0!==i?i:0,c=S.Y.isAllDay(e),u=S.Y.isAllDay(t),l=a-s,d=moment(e.startAt)-moment(t.startAt);return c&&u?l:c?-1:u?1:d||l},z=function(e,t,n){if(n&&f.calendarCtrl.calendar.weeks){var r,i=_.find(e.weeks,(function(e,t){if(e.availabilityCount>0)return r=t,!0}));_.find(i.days,(function(e,t){if(e.count&&(e.availabilities.length||e.itemGroups.length))return f.calendarCtrl.calendar.weeks[r].days[t]=e,!0}))}else if(f.calendarCtrl.calendar.weeks){var a=_.get(e.weeks,t);if(o.Y.assert(a,"CalendarCtrl.addWeekToCalendar: week object is not present for weekNumber: ".concat(t)),w()){var s=f.calendarCtrl.calendar.weeks[t].availabilityCount;if(_.isUndefined(s))f.calendarCtrl.calendar.weeks[t]=a;else{var c=_.assign({},f.calendarCtrl.calendar.weeks[t]);c.availabilityCount+=a.availabilityCount;for(var u=0;u<a.days.length;u++){var l=c.days[u],d=a.days[u];l.count+=d.count,l.isBookable||(l.isBookable=d.isBookable),l.itemGroups&&d.itemGroups&&(l.itemGroups=[].concat(M(l.itemGroups),M(d.itemGroups)).sort(W)),l.availabilities=[].concat(M(l.availabilities),M(d.availabilities)).sort(q)}f.calendarCtrl.calendar.weeks[t]=c}}else f.calendarCtrl.calendar.weeks[t]=a;f.calendarCtrl.calendar.availabilityCount=_.sum(_.map(f.calendarCtrl.calendar.weeks,"availabilityCount"))}else f.calendarCtrl.calendar=e},X=function(e){var t=j[e];t&&(t.$promise&&t.$promise.cancel(),delete j[e])},Z=function(e,t,r,i){var o=_.assign({},e,r),s=r.weekNumber,c=!!r.sonarBookingPk;i=i||_.ignore;var u=_.stringifyJSON(_.assign({},o,t));X(u),_.isUndefined(s)||(f.calendarCtrl.calendar.weeks[s].isRetrieving=!0);var l=E(_.assign({},t),{},null,o);return j[u]={$promise:l.$promise},l.$promise.then((function(e){if(delete j[u],e!==a.db.CANCELLED){var t=e.data.calendar;return _.isUndefined(s)||(t.weeks[s].isRetrieving=!1),f.calendarCtrl.isRetrieving=!1,z(t,s,c),i(t),e}}),(function(e){if(s&&(console.error("calendarController.refreshWeek: Error callback",s,e),f.calendarCtrl.calendar.weeks)){var t=f.calendarCtrl.calendar.weeks[s];t&&t.isRetrieving&&(t.isRetrieving=!1),ie[s]&&delete ie[s]}return c&&console.error("calendarController.refreshWeek: Error callback with sonar",r),n.reject()}))},Q=function(e,t,r){var i=_.assign({},e,{weekNumber:r});f.calendarCtrl.calendar.weeks[r].isRetrieving=!0;var o=t.itemPks.split(",").map((function(e){var o=_.stringifyJSON(_.assign({},i,t,{itemPks:e}));X(o);var s=E(_.assign({},t,{itemPks:e}),{},null,i);return j[o]={$promise:s.$promise},s.$promise.then((function(e){if(delete j[o],e!==a.db.CANCELLED){var t=e.data.calendar;t.weeks[r].isRetrieving=!1,f.calendarCtrl.isRetrieving=!1,z(t,r,!1)}}),(function(t){if(console.error("calendarController.refrewshWeekByItemPks: Error callback, weekNumber=".concat(r,", itemPk=").concat(e,", response="),t),f.calendarCtrl.calendar.weeks){var i=f.calendarCtrl.calendar.weeks[r];i&&i.isRetrieving&&(i.isRetrieving=!1),ie[r]&&delete ie[r]}return n.reject()}))}));return n.all(o)},J=e("currencySymbol"),ee=function(e,t){var n=(e.itemGroups||[]).reduce((function(e,t){return[].concat(M(e),M(t.availabilities))}),[]),r=e.availabilities||[],i=[].concat(M(r),M(n)).filter((function(e){return!!t[e.pk]}));if(0===i.length)return null;var o=i.toSorted((function(e,n){return t[e.pk].amount-t[n.pk].amount}))[0],a=t[o.pk],s=Math.ceil(a.amount/100),c=J(a.currency,"short");return"".concat(c).concat(s)},te=function(){var e=L(U().mark((function e(t){var n,r,i,o,a,s,c;return U().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new D.kV,l=t.year,d=t.month,p=void 0,m=void 0,void 0,void 0,void 0,v=void 0,y=void 0,p=new Date(l,d-1,1),m=new Date(l,d,0),h=(f=N?0:1)-p.getDay(),g=6-f-m.getDay(),v=moment(p).add(h,"days"),y=moment(m).add(g,"days"),r={startDate:v.toDate(),endDate:y.toDate()},i=r.startDate,o=r.endDate,a=(u=t).itemPks||u.itemPk?[].concat(M(u.itemPks?u.itemPks.split(","):[]),M(u.itemPk?[u.itemPk]:[])):null,s=t.flow||null,c=t.asn||null,e.next=7,n.getPricesForAvailsInDateRange({companyShortname:t.shortname,startDate:i,endDate:o,items:a,flow:s,asn:c});case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}var u,l,d,p,m,f,h,g,v,y}),e)})));return function(t){return e.apply(this,arguments)}}(),ne=f.calendarCtrl.refresh=function(){var e=L(U().mark((function e(t,r){var s,c,l,d,g,v,T,A,P,S,O,R,D,N,M,W,q,z,X,J;return U().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=t||!1,c=null==r?void 0:r.sonarAvailabilityStartAt,l=null==r?void 0:r.sonarItemPk,d=null==r?void 0:r.sonarBookingPk,g=!!l,V=!1,!1!==k()){e.next=8;break}return e.abrupt("return");case 8:if(v=_.assign({},y(),{year:f.calendarCtrl.date.format("YYYY"),month:f.calendarCtrl.date.format("MM")}),T=b(),!g||!angular.equals(r,Y)){e.next=12;break}return e.abrupt("return");case 12:if(t||g||!angular.equals([v,T],[x,B])){e.next=14;break}return e.abrupt("return");case 14:if(!I()||!g){e.next=30;break}if(Y=r,!_.isUndefined(c)){e.next=20;break}return e.abrupt("return");case 20:if(_.isEmpty(j)){e.next=24;break}return e.abrupt("return");case 24:if(_.isUndefined(l)||_.find(f.calendarCtrl.items,{pk:l})){e.next=28;break}return e.abrupt("return");case 28:if(f.calendarCtrl.calendar.weeks){e.next=30;break}return e.abrupt("return");case 30:if(x=v,B=T,f.calendarCtrl.status="loading",p.timeEvent("calendar-loaded-time"),ie={},f.calendarCtrl.calendar.$promise&&f.calendarCtrl.calendar.$promise.cancel(),_.forEach(j,(function(e){return e.$promise&&e.$promise.cancel()})),A=n.defer(),!I()||g){e.next=44;break}f.calendarCtrl.isRetrieving=!0,f.calendarCtrl.calendar={},Z({},v,{isEmptyCalendar:!0},(function(e){var t=H(e),r=t.previousCutoffDate,o=t.numWeeks,a=t.nextCutoffDate,s=_.range(o);if(!ae()&&F>=r&&F<=a){var c=i.numberOfWeeksDiff(r,F);$=s.slice(Math.max(c-1,0)),_.forEach(f.calendarCtrl.calendar.weeks,(function(e,t){_.includes($,t)||(f.calendarCtrl.calendar.weeks[t].notLoadedYet=!0)}))}else $=s;var u=w()?_.map($,(function(e){return Q(T,v,e)})):_.map($,(function(e){return Z(T,v,{weekNumber:e})}));n.all(u).then((function(){A.resolve({calendar:f.calendarCtrl.calendar})}))})),e.next=60;break;case 44:if(!I()||!g){e.next=59;break}if(c){e.next=49;break}return e.next=48,Promise.reject();case 48:return e.abrupt("return",e.sent);case 49:if(P=H(f.calendarCtrl.calendar),S=P.previousCutoffDate,O=P.nextCutoffDate,!(c>=S&&c<=O)){e.next=54;break}Z(T,v,{sonarBookingPk:d},L(U().mark((function e(){return U().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.resolve({calendar:f.calendarCtrl.calendar});case 2:case"end":return e.stop()}}),e)})))),e.next=57;break;case 54:return e.next=56,Promise.reject();case 56:return e.abrupt("return",e.sent);case 57:e.next=60;break;case 59:f.calendarCtrl.calendar=E(_.assign({},v),{},null,T);case 60:return u.P.fresh(f.calendarCtrl.calendar)||h.delayRenderingStaleCalendar?f.calendarCtrl.isRetrieving=!0:le(),f.calendarCtrl.calendar.$promise&&(A.promise=f.calendarCtrl.calendar.$promise),R=function(){var e=L(U().mark((function e(t){var n;return U().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=(n=f.calendarCtrl.company)&&n.features.isPricePreviewsInCalendarsEnabled){e.next=3;break}return e.abrupt("return",null);case 3:return p.timeEvent("calendar-prices-loaded-time"),e.abrupt("return",new Promise(function(){var e=L(U().mark((function e(n,r){var i,o,a;return U().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.cancel=function(){return r("cancelled")},i=v.month,o=v.year,e.prev=3,e.next=6,te(G(G({},v),T));case 6:a=e.sent,p.track(f,"calendar-prices-loaded-time",{"loaded-status":"success"}),n({prices:a.prices,monthRequested:i,yearRequested:o}),e.next=15;break;case 11:throw e.prev=11,e.t0=e.catch(3),p.track(f,"calendar-prices-loaded-time",{"loaded-status":"error"}),err;case 15:return e.prev=15,t.cancel=void 0,e.finish(15);case 18:case"end":return e.stop()}}),e,null,[[3,11,15,18]])})));return function(t,n){return e.apply(this,arguments)}}()));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),null===(s=K.cancel)||void 0===s||s.call(K),e.next=66,R(K);case 66:return D=e.sent,e.prev=67,e.next=70,A.promise;case 70:if((N=e.sent)!==a.db.CANCELLED){e.next=73;break}return e.abrupt("return");case 73:if(le(),f.calendarCtrl.status="success",f.calendarCtrl.isRetrieving=!1,p.track(f,"calendar-loaded-time",{"loaded-status":"success"}),M=G({},f.calendarCtrl.calendar),!D){e.next=95;break}return e.prev=79,e.next=82,D;case 82:W=e.sent,q=W.prices,z=W.monthRequested,X=W.yearRequested,o.Y.assert(M.month==z&&M.year==X,"Attempting to update prices for days other than prices are for"),f.calendarCtrl.prices||(f.calendarCtrl.prices={}),J=Object.fromEntries(q.map((function(e){return[e.availability_id,e]}))),M.weeks.forEach((function(e){e.days.forEach((function(e){var t=e.at.year(),n=e.at.month();if(f.calendarCtrl.anonymousDayClass(e)!==m){var r=ee(e,J);f.calendarCtrl.prices[t]||(f.calendarCtrl.prices[t]={}),f.calendarCtrl.prices[t][n]||(f.calendarCtrl.prices[t][n]={}),f.calendarCtrl.prices[t][n][e.number]=r}}))})),e.next=95;break;case 92:e.prev=92,e.t0=e.catch(79),"cancelled"!==e.t0&&console.error(e.t0);case 95:C(N,le),e.next=104;break;case 98:e.prev=98,e.t1=e.catch(67),f.calendarCtrl.status="error",f.calendarCtrl.isRetrieving=!1,p.track(f,"calendar-loaded-time",{"loaded-status":"error"}),console.error(e.t1);case 104:case"end":return e.stop()}}),e,null,[[67,98],[79,92]])})));return function(t,n){return e.apply(this,arguments)}}(),re=function(e,t){var n=F-e.at;return 0===n?t.current||"":n>0?t.past||"":t.future||""};f.calendarCtrl.dayPastPresentFutureClass=function(e){return re(e,{past:"past-day",current:"current-day"})},f.calendarCtrl.anonymousDayClass=function(e){return 0===e.count?"empty":e.isBookable?"":m},f.calendarCtrl.isPastWeek=function(e){return re(_.last(e.days),{past:!0})};var ie={},oe=F.clone().startOf("month"),ae=function(){return 0!==f.calendarCtrl.date.clone().startOf("month").diff(oe)};f.calendarCtrl.showingPastWeek=function(e){return ae()||ie[e.number]},f.calendarCtrl.showPastWeek=function(e){if(e.notLoadedYet){var t=_.assign({},y(),{year:f.calendarCtrl.date.format("YYYY"),month:f.calendarCtrl.date.format("MM")}),n=b();w()?Q(n,t,e.number):Z(n,t,{weekNumber:e.number})}ie[e.number]=!0},d.watch(f,(function(e){if(d.pathEquals(v.index))d.redirect(s.D.populate(v.month,_.assign({year:f.calendarCtrl.date.format("YYYY"),month:f.calendarCtrl.date.format("MM")},O())));else{var t,n,r,i=d.pathEquals(v.month);i?(t=i.year,n=i.month-1,r=moment({year:t,month:n,day:1}),f.calendarCtrl.style="month",f.calendarCtrl.date=r,f.calendarCtrl.monthDropdown=r.month(),f.calendarCtrl.yearDropdown=r.year(),c.broadcast("lib.shared.CalendarCtrl.month",{date:f.calendarCtrl.date}),ne()):console.warn("calendarController: invalid calendar url",e)}}));var se=f.calendarCtrl.monthUrl=function(e,t){return s.D.populate(v.month,_.assign({year:e.format("YYYY"),month:e.format("MM")},O(),t))};f.calendarCtrl.nextMonthUrl=function(){var e=f.calendarCtrl.date.clone();return e.add(1,"months"),se(e)},f.calendarCtrl.currentMonthUrl=function(){return se(F)},f.calendarCtrl.previousMonthUrl=function(){var e=f.calendarCtrl.date.clone();return e.add(-1,"months"),se(e)},f.$watch("calendarCtrl.yearDropdown",(function(e,t){if(!_.isUndefined(t)&&e!==t){var n=f.calendarCtrl.date.clone();n.year(e);var r=se(n);d.pathEquals(r)||d.navigate(g.extendWithFlow(r))}})),f.$watch("calendarCtrl.monthDropdown",(function(e,t){if(!_.isUndefined(t)&&e!==t){var n=f.calendarCtrl.date.clone();n.month(e);var r=se(n);d.pathEquals(r)||d.navigate(g.extendWithFlow(r))}}));var ce=function(e,t){return e.year()===t.year()&&e.month()===t.month()};f.calendarCtrl.isCurrentMonth=function(){return ce(f.calendarCtrl.date,F)},c.on(f,"lib.shared.CalendarCtrl.refresh",(function(e,t){var n=(null==t?void 0:t.force)||!1;f.item||n?ne(!0):ne(!f.company.features.isSplitMonthCalendarEnabled)}));var ue=f.calendarCtrl.dayForDate=function(e){if(e){var t=f.calendarCtrl.calendar.weeks;if(!t)return null;var n=null;return _.some(t,(function(t){return _.some(t.days,(function(t){return!!t.at.isSame(e,"day")&&(n=t,!0)}))})),n}};f.calendarCtrl.goToToday=function(){var e=f.calendarCtrl.currentMonthUrl();d.pathEquals(e)||(d.navigate(e),f.calendarCtrl.selectedDay=ue(moment()),ie={})},f.calendarCtrl.selectLargeDay=function(e){f.calendarCtrl.selectedDay=e,A(e)};f.calendarCtrl.dayLabel=function(e,t){return t===f.calendarCtrl.calendar.weeks[0]&&e===t.days[0]||1===e.number?e.at.format(l.current().DATE_FORMATS.dayWithMonthAbbr):e.number},f.calendarCtrl.selectSmallDay=function(e){e&&(f.calendarCtrl.selectedDay=e,P(e),V=!0)};var le=function(){if(R){var e=R()||f.calendarCtrl.date,t=ue(e);if(!t)return;return f.calendarCtrl.selectedDay=t,void P(t)}var n;n=V?f.calendarCtrl.selectedDay.at:r.currentUser.isAuthenticated?ce(f.calendarCtrl.date,F)?F:f.calendarCtrl.date.clone().startOf("month"):null,f.calendarCtrl.selectedDay=ue(n)};return f.calendarCtrl.debouncedRefresh=_.debounce((function(e,t){f.$safeApply((function(){f.calendarCtrl.refresh(e,t)}))}),1e3,{leading:!0}),f.calendarCtrl.effectiveRange=function(e,t){var n=e.startAt,r=e.endAt;return n<t.at&&(n=t.at),r>t.at+864e5&&(r=t.at.clone().add(1,"day").startOf("day")),{startAt:n,endAt:r}},f}}]),w.factory("availabilityCalendarController",["$filter","calendarController","events","navigation",function(e,t,n,r){return function(i,o){var a=_.isFunction(o.params)?o.params:_.constant(o.params||{}),s=o.beforeRequest||_.ignore,c=!!_.isUndefined(o.autoOpenItemGroups)||o.autoOpenItemGroups,u=o.openLightframe?o.openLightframe:r.navigate,l=o.items||null;return n.on(i,"dashboard.bookings.NavigationCtrl.calendarFilter.items",(function(e,t){var n=t.items||[],r=_.difference(n,i.calendarCtrl.items).length;i.calendarCtrl.items=n,r&&i.calendarCtrl.debouncedRefresh(!0)})),n.on(i,"dashboard.bookings.NavigationCtrl.filterChoicesUpdated",(function(e,t){t&&(i.calendarCtrl.items=t.filteredItems||[]),i.calendarCtrl.refresh()})),_.assign(o,{isCalendarEmpty:function(){return!i.calendarCtrl.calendar.availabilityCount},isWeekEmpty:function(e){return!e.notLoadedYet&&!e.availabilityCount},isDayEmpty:function(e){var t=e.availabilities||[],n=e.itemGroups||[];return!t.length&&!n.length||!!i.isCalendarFiltered&&_.every(t,i.isCalendarFiltered)&&_.every(n,i.isCalendarFiltered)},isDayUsed:function(e){return function(e){var t=e.availabilities,n=e.itemGroups||[];return i.isCalendarFiltered&&(t=_.reject(t,i.isCalendarFiltered),n=_.reject(n,i.isCalendarFiltered)),_.sum(_.map(t,"customerCount"))+_.sum(_.map(n,"customerCount"))}(e)>0},smallDaySelected:o.smallDaySelected||function(t){var n=t.availabilities,r=t.itemGroups||[];if(c&&!n.length&&1===r.length){var i=e("itemGroupUrl")(r[0],t.at);u(i)}},beforeRequest:function(){return!(i.calendarCtrl.items&&!i.calendarCtrl.items.length)&&s()},params:function(){var e=_.assign({},a());if(i.calendarCtrl.items){var t=_.map(i.calendarCtrl.items,"pk").join(",");e.itemPks=t}return e}}),t(i,o),_.assign(i.calendarCtrl,{items:l,nextBookableMonthUrl:function(){var e=i.calendarCtrl.calendar.nextBookableStartAt;if(e)return i.calendarCtrl.monthUrl(e)},alreadyRedirectedToNextBookableMonth:!1,redirectToNextBookableMonth:function(){i.calendarCtrl.alreadyRedirectedToNextBookableMonth||(i.calendarCtrl.alreadyRedirectedToNextBookableMonth=!0,r.redirect(i.calendarCtrl.nextBookableMonthUrl()))}}),i}}]),w.factory("emailPreviewController",["models","navigation",function(e,t){var n={type:"type",emails:"emails",subject:"subject",note:"note",language:"language","from-email":"fromEmail"};return function(r,o){var a,c=_.assign({},n,o.fields),u=_.isFunction(o.params)?o.params:_.constant(o.params||{});o.data&&(a=_.isFunction(o.data)?o.data:function(){return o.data}),r.emailPreviewCtrl={},r.emailPreviewCtrl.previewUrl=function(){var e={};_.forEach(c,(function(t,n){t&&(e[n]=r[o.modelKey][t]||"")})),o.languageOverride&&(e.language=o.languageOverride),a&&_.assign(e,(0,i.vh)(a()));var n=s.D.populate(o.url,u(e.type));return t.compose(n,e)};var l=_.isFunction(o.isPreviewable)?o.isPreviewable:_.constant(o.isPreviewable);return r.emailPreviewCtrl.isPreviewable=function(){var t=r[o.modelKey][c.type],n=r[o.modelKey][c.emails],i=r[o.modelKey][c.subject];if(!t||!n||!i)return!1;var a=l(t);return _.isUndefined(a)?e.Notification.isPreviewable(t):a},r}}]),w.factory("affiliationController",["$q","affiliateRules","auth","editController","events","models",function(e,t,n,r,i,o){return function(s,c){var l=function(e){return(c.prefix?c.prefix+"-":"")+"voucher-"+e};s.affiliationCtrl={status:"success",substatus:"success",showDesks:!1},s.affiliationCtrl.agentName=function(e){return e===o.Agent.OTHER_AGENT?e.name:e.name+" (#"+e.pk+")"},s[c.modelKey][l("agent")]=null,s[c.modelKey][l("agentName")]="",s[c.modelKey][l("desk")]=null,s[c.modelKey][l("deskName")]="";var d=function(t){if(s.affiliationCtrl.agents=[],s.affiliationCtrl.desks=[],s.affiliationCtrl.showDesks=!1,t){var r={agents:n.permissions.canCreate(o.Agent,t),desks:n.permissions.canCreate(o.Desk,t)},i={agents:o.Agent.OTHER_AGENT,desks:o.Desk.OTHER_DESK},c=function(e,t){_.overwrite(s.affiliationCtrl[e],t),r[e]&&s.affiliationCtrl[e].push(i[e])},l=[];if(n.permissions.canList(o.Agent,t.affiliateCompany)){var d=a.db.agents({shortname:t.affiliateCompany.shortname}),p=d.$promise.then((function(){c("agents",d)}));u.P.fresh(d)?l.push(p):c("agents",d)}if(n.permissions.canList(o.Desk,t.affiliateCompany)){var m=a.db.desks({shortname:t.affiliateCompany.shortname}),f=m.$promise.then((function(){s.affiliationCtrl.showDesks=m.length>0,c("desks",m)}));u.P.fresh(m)?l.push(f):(s.affiliationCtrl.showDesks=m.length>0,c("desks",m))}l.length&&(s.affiliationCtrl.substatus="loading",e.all(l).then((function(){s.affiliationCtrl.substatus="success"})))}},p=function(e){s.currentAffiliateHasRule=!1;var r=c.booking?c.booking.company:c.company;if(r&&n.permissions.can("viewNetworkSettings",r)){var i=s.bookCtrl?s.bookCtrl.item:c.booking.item,o=s.bookCtrl?s.bookCtrl.availability:c.booking.availability;if(i&&o&&(s.applicableAffiliateRulesRequest&&s.applicableAffiliateRulesRequest.cancel(),e)){var u=t.applicableAffiliateRules(e,i,o);s.applicableAffiliateRulesRequest=u.$promise,s.applicableAffiliateRulesRequest.then((function(e){e!==a.db.CANCELLED&&(s.currentAffiliateHasRule=e.data.itemAffiliateRules.length>0)}))}}};s.$watch(c.affiliateModelKey+".currentAffiliation",(function(e,t){d(e),(e&&t&&e!==t||!e)&&(s[c.modelKey][l("agent")]=null,s[c.modelKey][l("agentName")]="",s[c.modelKey][l("desk")]=null,s[c.modelKey][l("deskName")]=""),e!==t&&(e||t)&&p(e)}));var m=function(e){var t=c.booking?c.booking.company:c.company;n.permissions.canList(o.Affiliation,t)?t.affiliatesCount>o.Affiliation.MAX_SELECTABLE_AFFILIATES?(s.affiliationCtrl.affiliatesNgDropdownEndpoint=a.db.searchEndpoint(a.db.affiliates.pickable,{shortname:t.shortname}),s.affiliationCtrl.status="success"):(s.affiliationCtrl.affiliations=a.db.affiliates.pickable({shortname:t.shortname},null,null,null,{flashError:!!c.isEditingAffiliationOnBooking}),s.affiliationCtrl.status=u.P.fresh(s.affiliationCtrl.affiliations)?"loading":"stale",s.affiliationCtrl.affiliations.$promise.then((function(){s.affiliationCtrl.status="success",c.booking&&c.booking.affiliation&&!_.includes(s.affiliationCtrl.affiliations,c.booking.affiliation)&&s.affiliationCtrl.affiliations.unshift(c.booking.affiliation)}),(function(){c.isEditingAffiliationOnBooking&&s.editCtrl.cancel(e)}))):s.affiliationCtrl.status="success"};c.isEditingAffiliationOnBooking?r(s,{elementKey:"affiliationId",modelKey:c.modelKey,update:a.db.booking.affiliation.update,editCallback:function(e){m(e),s[c.modelKey].isBlockable=c.booking.isBlockable,s[c.modelKey].affiliationId=c.booking.affiliation?c.booking.affiliation.pk:null,s[c.modelKey][l("agent")]=c.booking.agent?c.booking.agent.pk:null,s[c.modelKey][l("desk")]=c.booking.desk?c.booking.desk.pk:null,s[c.modelKey][l("voucherNumber")]=c.booking.voucherNumber,s[c.affiliateModelKey].currentAffiliation=c.booking.affiliation||null},successCallback:function(e){e&&p(c.booking.affiliation);var t=-1==s[c.modelKey][l("agent")],n=-1==s[c.modelKey][l("desk")];(t||n)&&d(e.booking.affiliation),i.broadcast("dashboard.shared.ActivitiesCtrl.refresh")},params:function(){return{shortname:c.booking.company.shortname,bookingUuid:c.booking.uuid}}}):m()}}]),w.factory("controllers",["affiliationController","calendarController","cannedMessagesController","createController","dataController","editController","emailPreviewController","emailSubjectsController","headerController","imageUploadController","listController","nagsController","navigationController","removeController","reorderController","splitPaymentController",function(e,t,n,r,i,o,a,s,c,u,l,d,p,m,f,h){return{affiliationController:e,calendarController:t,cannedMessagesController:n,createController:r,dataController:i,editController:o,emailPreviewController:a,emailSubjectsController:s,headerController:c,imageUploadController:u,listController:l,nagsController:d,navigationController:p,removeController:m,reorderController:f,splitPaymentController:h}}]);var V,j,K,H,W,q,z,X,Z=n(97936),Q=n(72997),J=n(5681),ee=n(54585);function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e,t,n){return(t=function(e){var t=function(e){if("object"!=te(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==te(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}V=angular.module("lib.processors",["auth.services","lib.services","navigation.services"]),j={UNSUPPORTED:T("Unsupported processor. Please refresh the page and try again. If you continue to have trouble please contact support@fareharbor.com."),SCRIPT:T("Could not contact processor. Please refresh the page and try again."),TIMEOUT:T("Connection error. Please check your internet connection and try again."),WAIT:T("Please wait a few moments and try again."),TRY_AGAIN:T("Please try again."),REFRESH:T("Please refresh the page and try again."),UNKNOWN:T("Unknown error. Please refresh the page and try again."),GENERIC_BANK_ACCOUNT:T("Could not update bank account. Please make sure all details have been entered correctly and try again."),REFRESH_BANK_ACCOUNT:T("Could not update bank account. Please refresh the page and try again."),TRY_AGAIN_BANK_ACCOUNT:T("Could not update bank account. Please try again."),GENERIC_CARD:T("Could not process payment. Please refresh the page and try again ensuring all card details have been entered correctly. If you continue to have trouble please contact support@fareharbor.com."),REFRESH_CARD:T("Could not process payment. Please refresh the page and try again."),BAD_CARD:T("Could not process payment. Please make sure all card details have been entered correctly. If you are still unsuccessful you may need to call the card issuer or try a different card."),INVALID_ROUTING_NUMBER:T("Invalid routing number."),INVALID_CARD_NUMBER:T("Invalid card number. Please check that you have entered your card number correctly and try again."),BAD_CARD_NUMBER:T("Incorrect card number. Please check that you have entered your card number correctly and try again."),INVALID_DEMO_CARD_NUMBER:T("Only demo card numbers can be used while demo mode is enabled."),INVALID_EXPIRATION:T("Invalid card expiration date. Please check that you've selected the correct expiration date for your card and try again."),BAD_EXPIRATION:T("Expired card. Please enter a valid card."),INVALID_SECURITY_CODE:T("Invalid CVC (card security code). Please check that you've entered your card's security code correctly and try again."),BAD_SECURITY_CODE:T("Incorrect CVC (card security code). Please check that you've entered your card's security code correctly and try again."),INVALID_COUNTRY_CODE:T("Invalid country. Please check that your billing country is correct and try again."),INVALID_POSTAL_CODE:T("Invalid postal (zip) code. Please check that your billing postal code is correct and try again."),BAD_POSTAL_CODE:J.Rk.BAD_POSTAL_CODE,CARDHOLDERS_NAME_TOO_LONG:J.Rk.CARDHOLDERS_NAME_TOO_LONG},K={pending:T("Verification Pending"),failed:T("Verification Failed"),submitted:T("Information submitted. Awaiting reply.")},H="adyen",q="balanced",z="paypal",X=W="stripe",V.factory("processors",["$injector","auth",function(e,t){var n={INDIVIDUAL_ENTITY_TYPE:"individual",COMPANY_ENTITY_TYPE:"company",DEFAULT_PROCESSOR_TYPE:X,DEFAULT_CURRENCY:"usd",ADYEN_PROCESSOR_TYPE:H,STRIPE_PROCESSOR_TYPE:W,BALANCED_PROCESSOR_TYPE:q,PAYPAL_PROCESSOR_TYPE:z,PAYCONEX_PROCESSOR_TYPE:ee.Aw,PROCESSOR_TYPES:[W,z],LEGACY_PROCESSOR_TYPES:[q],ACCOUNT_CREATION_REQUIREMENTS:a.db.slipstream("accountCreationRequirements"),ACCOUNT_CREATION_REQUIREMENT_TO_FORM_FIELD:a.db.slipstream("processorAccountCreationFormField",!1),SUPPORTED_BANK_ACCOUNT_COUNTRIES:a.db.slipstream("processorSupportedBankAccountCountries"),BANK_ACCOUNT_VERIFICATION_ENABLED_COUNTRIES:a.db.slipstream("processorBankAccountVerificationEnabledCountries"),BANK_ACCOUNT_ADDITIONAL_REQUIRED_FORM_FIELDS:a.db.slipstream("processorBankAccountAdditionalRequiredFields"),SUPPORTED_CURRENCIES:a.db.slipstream("processorSupportedCurrencies"),PROCESSOR_CHOICES:a.db.slipstream("processorChoices"),COUNTRY_CHOICES:a.db.slipstream("countryChoices"),UNVERIFIED_VERIFICATION_STATUS:"unverified",SUBMITTED_VERIFICATION_STATUS:"submitted",PENDING_VERIFICATION_STATUS:"pending",VERIFIED_VERIFICATION_STATUS:"verified",FAILED_VERIFICATION_STATUS:"failed",TO_BE_REVERIFIED_VERIFICATION_STATUS:"to_be_reverified",APPLE_PAY_WALLET_TYPE:"apple_pay",GOOGLE_PAY_WALLET_TYPE:"google_pay",ERRORS:j,ONBOARDING_MESSAGES:K,SECRET_FIELD:"••••••••",secretField:function(e){return e=e||"",new Array(Math.max(e.length,n.SECRET_FIELD.length)+1).join(n.SECRET_FIELD[0])},cardType:function(e){if(!e)return"";e=e.toString().trim();var t={};return t[2]=t[51]=t[52]=t[53]=t[54]=t[55]="mastercard",t[34]=t[37]="american express",t[62]=t[81]="unionpay",t[4]="visa",t[6]="discover",t[35]="jcb",t[30]=t[36]=t[38]="diners club",t[e.substring(0,2)]||t[e.substring(0,1)]||"unknown"},cardTypeAbbreviation:function(e){return{visa:"visa",mastercard:"mc","american express":"amex",discover:"discover","diners club":"diners",jcb:"jcb",unknown:"unknown",unionpay:"cup"}[e]||""},cardLast4:function(e){return e.substr(e.length-4)},accountCreationRequirements:function(e,t,r,i){if(n.ACCOUNT_CREATION_REQUIREMENTS){var o=[e,r].join("."),a=_.get(n.ACCOUNT_CREATION_REQUIREMENTS,o);if(i&&(a=a.filter((function(e){return"legal_entity.business_name"!==e}))),a)return a}var s="processors: account creation requirements not identified for "+e+" "+t+" "+r;console.error(s)},requiredAccountCreationFields:function(e,t){try{if(!t)throw new Error("missing account creation requirements");if(!n.ACCOUNT_CREATION_REQUIREMENT_TO_FORM_FIELD)throw new Error("missing account creation requirements");var r=n.ACCOUNT_CREATION_REQUIREMENT_TO_FORM_FIELD[e];if(!r)throw new Error("missing account creation mapping for processor type");var i={};if(_.each(t,(function(e){var t=r[e];t&&(i[(0,Z.s)(t)]=!0)})),_.isEmpty(i))throw new Error("no required fields");return i}catch(t){var o="processors: account creation fields not identified for "+e+": "+t.message;console.warn(o)}},bankAccountAdditionalRequiredFields:function(e,t){if(n.BANK_ACCOUNT_ADDITIONAL_REQUIRED_FORM_FIELDS){var r=[e,t].join(".");return _.get(n.BANK_ACCOUNT_ADDITIONAL_REQUIRED_FORM_FIELDS,r,{})}var i="processors: bank account additional required form fields not identified for "+e+" "+t;console.error(i)},supportedBankAccountCountries:function(e,t,r){if(n.SUPPORTED_BANK_ACCOUNT_COUNTRIES){var i=[e,t,r].join("."),o=_.get(n.SUPPORTED_BANK_ACCOUNT_COUNTRIES,i);if(o)return o}var a="processors: supported bank account countries not identified for "+e+" "+t+" "+r;console.error(a)},verificationEnabledBankAccountCountries:function(e,t){if(n.BANK_ACCOUNT_VERIFICATION_ENABLED_COUNTRIES){var r=[e,t].join("."),i=_.get(n.BANK_ACCOUNT_VERIFICATION_ENABLED_COUNTRIES,r);if(i)return i}var o="processors: unable to identify verification enabled bank account countries for "+e+" "+t;console.error(o)},isVerificationEnabledForBankAccountCountry:function(e,t,r){var i=n.verificationEnabledBankAccountCountries(e,t);if(i)return _.includes(i,r);var o="processors: unable to identify whether bank account verification is enabled for "+e+" "+t+" "+r;console.error(o)},isBankAccountVerificationEnabled:function(e,t,r){var i=n.verificationEnabledBankAccountCountries(e,t);if(i){if(!i.length)return!1;var o=n.supportedBankAccountCountries(e,t,r);if(o)return!!_.intersection(o,i).length}var a="processors: unable to identify whether bank account verification is enabled for "+e+" "+t+" "+r;console.error(a)},supportedCurrencies:function(e,t){var r;if(n.SUPPORTED_CURRENCIES){if(null===e)return r={},_.forOwn(n.SUPPORTED_CURRENCIES,(function(e){_.transform(e[t],(function(e,t){e[t]=!0}),r)})),_.keys(r);var i=[e,t].join(".");if(r=_.get(n.SUPPORTED_CURRENCIES,i))return r}var o="processors: unable to determine supported currencies for "+e+" "+t;console.error(o)},INFO:"info",ERROR:"error",log:function(e,t,r,i){t=t||{},r=r||{},i=i||n.INFO;var o=_.get(console,i,console.info);_.isFunction(o)&&o("processors: "+e,t,r)},get:function(t){return t===ee.Aw?ee.zF:(t=t||X,e.get(t))},isProcessorEnabled:function(e,t){return _.includes(e.enabledProcessorTypes,t)},_isProcessor:function(e,t,n){var r="is"+_.upperFirst(n)+"Processor"+_.upperFirst(e);return _.get(t,r)},isProcessorBankAccountConnected:function(e,t){return n._isProcessor("bankAccountConnected",e,t)},isProcessorConnected:function(e,t){return n._isProcessor("connected",e,t)},isProcessorTosAccepted:function(e,t){return n._isProcessor("tosAccepted",e,t)},processorVerificationStatus:function(e,t){return _.get(e,t+"ProcessorVerificationStatus")},processorVerificationStatusDetails:function(e,t){return _.get(e,t+"ProcessorVerificationStatusDetails")},isProcessorVerificationFailed:function(e,t){return n.processorVerificationStatus(e,t)===n.FAILED_VERIFICATION_STATUS},isProcessorVerificationPending:function(e,t){return n.processorVerificationStatus(e,t)===n.PENDING_VERIFICATION_STATUS},isProcessorVerificationSubmitted:function(e,t){var r=n.processorVerificationStatus(e,t);return _.includes([n.SUBMITTED_VERIFICATION_STATUS,n.PENDING_VERIFICATION_STATUS],r)},isProcessorVerified:function(e,t){var r=n.processorVerificationStatus(e,t);return n.VERIFIED_VERIFICATION_STATUS===r},isProcessorPaymentSetupComplete:function(e,t){return n._isProcessor("paymentSetupComplete",e,t)},processorIdentifier:function(e,t){return _.get(e,t+"ProcessorIdentifier")},isProcessorDefaultBankAccountReadyForUpload:function(e,t){return n._isProcessor("defaultBankAccountReadyForUpload",e,t)},isProcessorDefaultBankAccountReadyForPayout:function(e,t){return n._isProcessor("defaultBankAccountReadyForPayout",e,t)},isProcessorDefaultBankAccountVerificationEnabled:function(e,t){return n._isProcessor("defaultBankAccountVerificationEnabled",e,t)},isProcessorAccountInformationSubmitted:function(e,t){return n._isProcessor("accountInformationSubmitted",e,t)},processorAdditionalAccountSetupStatus:function(e,t){return _.get(e,t+"ProcessorAdditionalAccountSetupStatus")},isProcessorAdditionalAccountSetupInitiated:function(e,t){return n.processorAdditionalAccountSetupStatus(e,t)!==n.UNVERIFIED_VERIFICATION_STATUS},isProcessorAdditionalAccountSetupCompleted:function(e,t){return n.processorAdditionalAccountSetupStatus(e,t)===n.VERIFIED_VERIFICATION_STATUS},isProcessorAdditionalAccountSetupFailed:function(e,t){return n.processorAdditionalAccountSetupStatus(e,t)===n.FAILED_VERIFICATION_STATUS},processorEmvLocationStatus:function(e,t){return e[t+"ProcessorEmvLocationStatus"]},isProcessorEmvLocationRequested:function(e,t){return n.processorEmvLocationStatus(e,t)!==n.UNVERIFIED_VERIFICATION_STATUS},isProcessorEmvLocationFailed:function(e,t){return n.processorEmvLocationStatus(e,t)===n.FAILED_VERIFICATION_STATUS},isProcessorEmvLocationCompleted:function(e,t){return n.processorEmvLocationStatus(e,t)===n.VERIFIED_VERIFICATION_STATUS},isPaymentSetupCompleteForAllEnabledProcessors:function(e){return _.every(e.enabledProcessorTypes,(function(t){return n.isProcessorPaymentSetupComplete(e,t)}))},applicableProcessorTypes:function(e,t,r){var i=[];return n.SUPPORTED_CURRENCIES&&_.forOwn(n.SUPPORTED_CURRENCIES,(function(n,r){_.includes(n[e],t)&&i.push(r)})),_.union(i,r)},getProcessorChoices:function(e){return _.filter(n.PROCESSOR_CHOICES,(function(t){return _.includes(e,t[0])}))},getCountryChoices:function(e){return _.get(n.COUNTRY_CHOICES,e,[])},isCapabilityEnabledForAnyEnabledProcessor:function(e,t){return _.some(e.enabledProcessorTypes,(function(e){var r=n.get(e),i=_.get(r,t,null);return null===i?(console.error("processors.isCapabilityEnabledForAnyEnabledProcessor: service is missing capability flag:",e,t),!1):i}))},processorTypesForCapability:function(e){return _.filter(n.PROCESSOR_TYPES,(function(t){var r=n.get(t),i=_.get(r,e,null);return null===i?(console.error("processors.isCapabilityEnabledForAnyEnabledProcessor: service is missing capability flag:",t,e),!1):i}))},isAddingEmvDevicePossibleForSelectedProcessor:function(e,t){return(n.get(t).isAddingEmvDevicePossible||_.always)(e)},processorReverificationDate:function(e){return _.get(e,e.defaultProcessorType+"ProcessorReverificationDeadline")}};return n}]),V.factory("stripe",["$injector","$q","$rootScope","models","processors","Stripe",function(e,t,n,r,i,o){var s={invalid_number:i.ERRORS.INVALID_CARD_NUMBER,incorrect_number:i.ERRORS.BAD_CARD_NUMBER,invalid_expiry_month:i.ERRORS.INVALID_EXPIRATION,invalid_expiry_year:i.ERRORS.INVALID_EXPIRATION,expired_card:i.ERRORS.BAD_EXPIRATION,invalid_cvc:i.ERRORS.INVALID_SECURITY_CODE,incorrect_cvc:i.ERRORS.BAD_SECURITY_CODE,incorrect_zip:i.ERRORS.BAD_POSTAL_CODE,card_declined:i.ERRORS.BAD_CARD,processing_error:i.ERRORS.TRY_AGAIN,rate_limit:i.ERRORS.WAIT},c=[{regex:/^Expired API Key provided/i,message:i.ERRORS.REFRESH}],u=a.db.slipstream("stripeLivePublishableKey"),l=a.db.slipstream("stripeTestPublishableKey"),d=function(e){return e?l:u},p=function(e,r,a){var c=t.defer();o.setPublishableKey(u);var l={currency:e.processorCurrency,country:r.processorCountry,account_number:r.accountNumber,account_holder_name:r.accountHolderName,account_holder_type:r.accountHolderType};return r.routingNumber&&(l.routing_number=r.routingNumber),o.bankAccount.createToken(l,(function(e,t){n.$safeApply((function(){if(t.error){i.log("Stripe client-side error ("+(t.status||"unknown error")+")",_.assign({stripeResponse:t},a));var e=t.error.message+".";return t.error.code&&(e=s[t.error.code]||e),c.reject([e])}return c.resolve({processorType:W,stripeBankAccountToken:t.id})}))})),c.promise},m=function(r,a,u,l,p){var m=t.defer();if(p=p||!1,!o)return i.log("Stripe: unable to load stripe.js"),m.reject([i.ERRORS.SCRIPT]),m.promise;var f=function(e){var t;e.error.code?t=s[e.error.code]:e.error.message&&_.forEach(c,(function(n){if(e.error.message.match(n.regex))return t=n.message,!1})),t||(t=i.ERRORS.GENERIC_CARD);var n="card_error"===e.error.type?i.INFO:i.ERROR,r="Stripe client-side "+(e.status||"")+" error";return r+=" ("+(e.error.type||"unknown error")+")",e.error.message&&(r+=" - "+e.error.message),i.log(r,_.assign({stripeResponse:e,error:t},l),{type:e.error.type},n),m.reject([t])};o.setPublishableKey(d(u));var h={number:a.number,exp_month:a.expirationMonth,exp_year:a.expirationYear};a.cvc&&(h.cvc=a.cvc),h.name=a.name||"",h.address_zip=a.postalCode||"",h.address_country=a.countryCode||"";var g=e.get("auth");if(!r.isStripePerformanceModeSupported||p||g.currentUser.isAuthenticated)o.card.createToken(h,(function(e,t){n.$safeApply((function(){return t?t.error?f(t):m.resolve({processorType:W,stripeToken:t.id,stripePaymentIntentId:null,stripePaymentMethodId:null,stripeIsRetryingPayment:p}):m.reject([i.ERRORS.TIMEOUT])}))}));else{var v=o(d(u),{apiVersion:"2020-08-27; api_performance_mode_beta=v1"}),y={number:h.number,exp_month:h.exp_month,exp_year:h.exp_year,cvc:h.cvc};v.createPaymentMethod({type:"card",card:y,billing_details:{name:h.name}}).then((function(e){n.$safeApply((function(){return e?e.error?f(e):e.paymentMethod?m.resolve({processorType:W,stripeToken:null,stripePaymentIntentId:null,stripePaymentMethodId:e.paymentMethod.id,stripeIsRetryingPayment:p}):m.reject([i.ERRORS.UNKNOWN]):m.reject([i.ERRORS.TIMEOUT])}))}))}return m.promise};return{ERRORS:j,ONBOARDING_MESSAGES:K,HELP_DOC_URL:"https://fareharbor.com/help/getting-started/setup/payment-setup-checklist/",DISPUTE_LEARN_MORE_URL:"https://fareharbor.com/help/payments/disputes/refunding-a-disputed-charge/",NAME:"Stripe",PROCESSOR_TYPE:W,PENDING_STATEMENT_TEXT:"STRIPE",STATEMENT_TEXT_PREFIX:"FH* ",STATEMENT_TEXT_REGEX:/^[a-zA-Z0-9\.\(\)\{\}\[\]&!\$;\-%_\?:\#@\~=\^\+| ]+$/,PROCESSOR_FIELDS:["stripeToken","stripePaymentIntentId","stripePaymentMethodId","stripeIsRetryingPayment"],tokenizeBankAccount:function(e,n,r){if(!o){var a=t.defer();return i.log("Stripe: unable to load stripe.js"),a.reject([i.ERRORS.SCRIPT]),a.promise}var s=p(e,n,r),c=p(e,n,r);return t.all([s,c]).then((function(e){var t=e[0],n=e[1];return{processorType:W,stripeAccountBankAccountToken:t.stripeBankAccountToken,stripeCustomerBankAccountToken:n.stripeBankAccountToken}}),(function(e){return t.reject(_.uniq(_.append(e)))}))},tokenizeCard:m,tokenizedCard:function(e){return{processorType:W,stripeToken:e}},testToken:function(e,t){var n={number:"4242424242424242",expirationMonth:1,expirationYear:moment().year()+1,cvc:"123"};return t=_.assign(t,{testing:!0}),m(e,n,e.isDemoModeEnabled,t,!1).then((function(e){var t=e.stripeToken;return console.info("stripe: test token",t),t}))},completeClientAction:function(e,n,r,i,a){var s=t.defer();return function(e,t,n){var r=o(d(t));return(n?r.handleCardSetup:r.handleCardAction)(e)}(n,i,r).then((function(e){if(e.error)s.reject(T("Authorization failed"));else{var t=function(e,t){var n={processorType:W,stripeToken:null,stripePaymentMethodId:null};return t?n.stripeSetupIntentId=e.setupIntent.id:n.stripePaymentIntentId=e.paymentIntent.id,n}(e,r);s.resolve(t)}}),(function(){s.reject(T("Authorization failed"))})),s.promise},isAdjustmentValid:function(e,t){return!e.isProcessable||"from-company"!==e.direction||!t.isAdmin},minimumBookingFee:function(e){return e.minimumFee},minimumChargeAmount:function(e){return r.Payment.minimumChargeAmounts(e,W)},afterpayMaximumChargeAmount:function(e){return r.Payment.afterpayMaximumChargeAmounts(e,W)},afterpayMinimumChargeAmount:function(e){return r.Payment.afterpayMinimumChargeAmounts(e,W)},isAutomaticCreationOfAccountsEnabled:!0,isBankAccountsEnabled:!0,isRefundReserveEnabled:!0,isBankAccountCreationEnabled:_.constant(!0),isBankAccountTokenizationNeeded:!0,isBankAccountVerificationDoneViaDeposits:!0,isBookingFeeProratedForRefunds:!1,isCardsEnabled:!0,isCardOnFileEnabled:!0,isConnectedAfterOnboarding:!1,isCreditCardsEnabled:!0,isDeferredChargesEnabled:!0,isDemoCardNumberCheckSupported:!0,isDisputesEnabled:!0,isEmvEnabled:!0,isFileChargesEnabled:!0,isHoldsEnabled:!0,isSofortEnabled:!0,isIdealEnabled:!0,isBancontactEnabled:!0,isVippsEnabled:!1,isAfterpayEnabled:!0,isWalletsEnabled:!0,isPaypalEnabled:!1,isPayoutsEnabled:!0,isTosEnabled:!0,isTransactionsEnabled:!0,isAccountIdentifierVisibleToCompanyUsersWithPermission:!1,isAdditionalAccountSetupRequired:!1,statementText:function(e){return e.stripeStatementText||e.statementText},filterEmvDetails:function(e){var t=_.toTrueKeys(["File Name","Preferred Name"]);return _.filter(e,(function(e){return t[e.key]}))},getAvailableWalletType:function(e){try{var n=o(d(!1)).paymentRequest({country:e.processorCountry,currency:e.processorCurrency,total:{label:"Wallet availability check",amount:0}});return t.when(n.canMakePayment(),(function(e){if(null!==e){var t=_.keys(_.pickBy(e,_.identity))[0];if("applePay"===t)return i.APPLE_PAY_WALLET_TYPE;if("googlePay"===t)return i.GOOGLE_PAY_WALLET_TYPE}return null}),(function(){return null}))}catch(e){return console.error("getAvailableWalletType: Error initializing the Stripe library"),t.reject()}}}}]),V.factory("balanced",["$rootScope","$timeout","$q","processors",function(e,t,n,r){var i=function(){var e=n.defer();return e.reject([r.ERRORS.UNSUPPORTED]),e.promise};return{ERRORS:j,ONBOARDING_MESSAGES:K,HELP_DOC_URL:"https://fareharbor.com/help/getting-started/setup/payment-setup-checklist/",DISPUTE_LEARN_MORE_URL:"https://fareharbor.com/help/payments/disputes/refunding-a-disputed-charge/",NAME:"Balanced",PROCESSOR_TYPE:q,PENDING_STATEMENT_TEXT:"BALANCED",STATEMENT_TEXT_PREFIX:"BAL*",STATEMENT_TEXT_REGEX:/^.*$/,tokenizeBankAccount:i,tokenizeCard:i,isAutomaticCreationOfAccountsEnabled:!1,isBankAccountsEnabled:!1,isRefundReserveEnabled:!1,isBankAccountCreationEnabled:_.constant(!0),isBankAccountTokenizationNeeded:!1,isBankAccountVerificationDoneViaDeposits:!1,isCardsEnabled:!1,isCardOnFileEnabled:!1,isConnectedAfterOnboarding:!1,isCreditCardsEnabled:!1,isDemoCardNumberCheckSupported:!0,isDisputesEnabled:!1,isSofortEnabled:!1,isIdealEnabled:!1,isBancontactEnabled:!1,isVippsEnabled:!1,isAfterpayEnabled:!1,isWalletsEnabled:!1,isPaypalEnabled:!1,isPayoutsEnabled:!0,isTosEnabled:!1,isTransactionsEnabled:!0,isAccountIdentifierVisibleToCompanyUsersWithPermission:!1,isAdditionalAccountSetupRequired:!1,statementText:function(e){return e.statementText},filterEmvDetails:function(e){return e}}}]),V.factory("cardflight",(function(){return{isTestToken:function(e){return/^test_/.test(e)}}})),V.factory("Stripe",(function(){return window.Stripe||null})),V.factory("stripeEmv",_.optional(["$q","$filter","$rootScope","$window","auth","events","models","?native",function(e,t,n,r,i,o,s,u){if(!r.StripeTerminal||!r.StripeTerminal.PaymentStatus)return null;var l=t("amount"),d="DISCONNECTED",p="UNKNOWN",m="NATIVE",f={};f[r.StripeTerminal.PaymentStatus.READY]=T("Waiting..."),f[r.StripeTerminal.PaymentStatus.NOT_READY]=cT("Status shown when a card reader is not ready to accept payment","Not ready..."),f[r.StripeTerminal.PaymentStatus.PROCESSING]=T("Charging card..."),f[r.StripeTerminal.PaymentStatus.WAITING_FOR_INPUT]=T("Waiting for card..."),f[d]=T("Not connected."),f[p]=T("Not connected."),f[m]=T("Waiting...");var h,g,v,y=r.slipstream&&"production"!==r.slipstream.configuration&&r.slipstream.isStripeEmvSimulatorEnabled,b={cls:"EmvDevice",name:"EMV Simulator",pk:-1},E=function(e){return function(){return new r.Promise((function(t,n){a.db.emvDevice.authenticate({shortname:e.shortname},null,null,{}).$promise.then((function(e){t(e.data.connectionToken)}),(function(e){console.error("stripeEmv: failed to retrieve connection token",e),n(new Error("failed to retrieve activation token from Stripe."))}))}))}},k=function(){n.$safeApply()},C=function(){n.$safeApply((function(){c.j.error(T("Reader has been disconnected unexpectedly."))}))},A=function(){n.$safeApply()},P=u&&u.isNative,S=!1,O=u.EMV_TYPES.BLUETOOTH_EMV;P&&(o.on(n,"fareharbor.native.emv.createConnection",(function(){if(!v)return console.error("stripeEmv: native: no current company"),void u.broadcast("fareharbor.native.emv.connectionCreated",{token:"",location:"",processor_id:""});console.info("stripeEmv: native: requesting connection token",v.shortname),a.db.emvDevice.authenticate({shortname:v.shortname},null,null,{}).$promise.then((function(e){console.info("stripeEmv: native: created connection token"),u.broadcast("fareharbor.native.emv.connectionCreated",{token:e.data.connectionToken,location:v.stripeEmvLocationId,processor_id:v.stripeProcessorIdentifier})}),(function(e){console.error("stripeEmv: native: failed to connect",e.data),u.broadcast("fareharbor.native.emv.connectionCreated",{token:"",location:"",processor_id:""})}))})),o.on(n,"fareharbor.native.emv.connected",(function(e,t){console.info("stripeEmv: native: connected"),S=!0,g=null,O=(t=t||{}).reader||u.EMV_TYPES.BLUETOOTH_EMV})),o.on(n,"fareharbor.native.emv.disconnected",(function(){console.info("stripeEmv: native: disconnected"),S=!1})),o.on(n,"fareharbor.native.emv.completed",(function(e,t){if(console.info("stripeEmv: native: completed",t),u.broadcast("fareharbor.native.emv.completed.received",{intent_id:t.stripePaymentIntentId}),!g)return console.error("stripeEmv: attempting to complete EMV without a current deferred",t),void u.broadcast("fareharbor.native.emv.charge.failed",{error:"attempting to complete EMV without a current deferred"});if(t.stripePaymentIntentId){var n=null===u.readerType?"unknown":u.readerType===u.EMV_TYPES.BLUETOOTH_EMV?u.readerType:"".concat(u.client," ").concat(u.readerType),r={processorType:W,emvDeviceType:n,emvDeviceInternalId:null,stripePaymentIntentId:t.stripePaymentIntentId,isEmvAsyncSuccessCallbackCalled:!1};g.resolve(r),u.broadcast("fareharbor.native.emv.charge.succeeded",{intent_id:t.stripePaymentIntentId})}else{var i=t.code||s.EmvDevice.UNKNOWN_ERROR,o=s.EmvDevice.STRIPE_ERRORS[i]||s.EmvDevice.STRIPE_ERRORS[s.EmvDevice.UNKNOWN_ERROR];u.broadcast("fareharbor.native.emv.charge.failed",{error:o}),g.reject(o)}g=null})));var R={isSimulatorEnabled:y,STORAGE_KEY:"stripeEmvDevicePk",providerType:"stripe",currentDevice:null,selectDevice:function(t){return S?e.reject():t&&t.reader?(h||R.connect(t.emvDevice.company),null!==R.currentDevice&&(h.disconnectReader(),R.currentDevice=null),h.connectReader(t.reader,{fail_if_in_use:!0}).then((function(n){return n.error?(n.error.code!==s.EmvDevice.CONNECT_READER_ERROR_CODE&&console.error("stripeEmv: failed to connect",n),e.reject(n.error)):(t.status=s.EmvDevice.ONLINE_STATUS,R.currentDevice=t,e.when(t))}))):e.reject()},discoverEmvDevices:function(t,n){if(S)return e.when([]);h||R.connect(t);var r={};return y&&(r.simulated=!0),h.discoverReaders(r).then((function(r){return r.error?(console.warn("stripeEmv: failed to discover",r.error),e.reject(r.error)):(console.log("stripeEmv: successfully discovered readers",r.discoveredReaders),y?(b.company=t,i=[{emvDevice:b,status:s.EmvDevice.ONLINE_STATUS,reader:r.discoveredReaders[0]}]):i=_.map(n,(function(e){var t=_.find(r.discoveredReaders,{id:e.identifier});return{emvDevice:e,status:t&&t.status===s.EmvDevice.ONLINE_STATUS?s.EmvDevice.ONLINE_STATUS:s.EmvDevice.OFFLINE_STATUS,reader:t}})),e.when(i));var i}),(function(t){return console.warn("stripeEmv: failed reader discovery",t),e.reject()}))},connect:function(e){i.permissions.canList(s.EmvDevice,e)&&(P&&(v=e,u.isEmvConnected(e)?(S=!0,O=u.readerType,console.info("stripeEmv: native: the native application is already connected. EMV device type: ",O)):(console.info("stripeEmv: native: requesting the native application connect"),u.broadcast("fareharbor.native.emv.connect"))),h=r.StripeTerminal.create({onFetchConnectionToken:E(e),onCheckoutStatusChanged:k,onUnexpectedReaderDisconnect:C,onConnectionStatusChange:A}))},disconnect:function(){P&&(u.disconnectEmv(),v=null,S=!1),h&&(h.disconnectReader(),h=null,R.currentDevice=null)},isConnected:function(){return!!S||h&&"connected"===h.getConnectionStatus()},isNFC:function(){return O===u.EMV_TYPES.NFC},charge:function(t,i,o,c,d){var p=d.emvAsyncSuccessCallback||_.ignore;if(S){var m=e.defer();return g?(console.warn("stripeEmv: native: already charging natively"),m.reject(s.EmvDevice.STRIPE_ERRORS[s.EmvDevice.UNKNOWN_ERROR]),m.promise):(console.info("stripeEmv: native: creating interaction token"),a.db.emvDevice.createInteractionToken({shortname:t.shortname},{description:i.unicode,bookingGrosses:c}).$promise.then((function(e){console.info("stripeEmv: native: created interaction token"),u.broadcast("fareharbor.native.emv.begin",{clientSecret:e.primaryData,amount:o,formattedAmount:l(o,v.processorCurrency)})}),(function(e){console.error("stripeEmv: native: failed to create interaction token",e.primaryData),m.reject(s.EmvDevice.STRIPE_ERRORS[s.EmvDevice.UNKNOWN_ERROR])})),g=m,m.promise)}if(!h)return e.reject(s.EmvDevice.STRIPE_ERRORS[s.EmvDevice.UNKNOWN_ERROR]);y&&h.setSimulatorConfiguration({testCardNumber:"4242424242424242",testPaymentMethod:"visa"});var f={line_items:[{description:i.unicode,amount:o,quantity:1}],tax:0,total:o,currency:t.processorCurrency},T=r.slipstream.isStripeAsyncEmvEnabled,E=R.currentDevice.emvDevice.pk;E=E===b.pk?null:E;var k={processorType:W,emvDeviceType:R.currentDevice.reader.device_type,emvDeviceInternalId:E};return h.setReaderDisplay({type:"cart",cart:f}).then((function(){return n.$apply(),a.db.emvDevice.createInteractionToken({shortname:t.shortname},{description:i.unicode,bookingGrosses:c}).$promise})).then((function(e){return n.$apply(),h.collectPaymentMethod(e.primaryData)})).then((function(t){if(n.$apply(),t.error)return e.reject(t.error);if(null===t.paymentIntent)return e.reject({code:"payment_intent_is_null"});if(T){var r=e.defer(),i=re(re({},k),{},{stripePaymentIntentId:t.paymentIntent.id,isEmvAsyncSuccessCallbackCalled:!1});return p(i).then((function(){return r.resolve(t.paymentIntent)})),r.promise}return e.when(t.paymentIntent)})).then((function(e){return n.$apply(),h.processPayment(e)})).then((function(t){if(n.$apply(),t.error)return e.reject(t.error);var r=re(re({},k),{},{stripePaymentIntentId:t.paymentIntent.id,isEmvAsyncSuccessCallbackCalled:T});return e.when(r)})).catch((function(t){n.$apply();var r=s.EmvDevice.UNKNOWN_ERROR;return t.decline_code&&s.EmvDevice.STRIPE_ERRORS[t.decline_code]?r=s.EmvDevice.STRIPE_ERRORS[t.decline_code]:t.code&&(r=s.EmvDevice.STRIPE_ERRORS[t.code]||r),t.data&&t.data.createEmvInteractionTokenForm&&(r=t.data.createEmvInteractionTokenForm.all[0]),console.error("stripeEmv: unhandled error",t,r),e.reject(r)}))},cancel:function(){S?u.broadcast("fareharbor.native.emv.cancel"):h&&h.cancelCollectPaymentMethod()},information:function(){return S?f[g?m:r.StripeTerminal.PaymentStatus.READY]:h?f[h.getPaymentStatus()]||f[p]:f[d]},lastDecline:function(){return null}};return R}])),V.factory("adyenEmv",["$q","models",function(e,t){var n=function(e,n){return e.primaryData[n.identifier]?t.EmvDevice.ONLINE_STATUS:t.EmvDevice.OFFLINE_STATUS},r={providerType:"adyen",STORAGE_KEY:"adyenEmvDevicePk",currentDevice:null,currentTransactionId:null,connect:_.noop,disconnect:function(){r.currentDevice=null},isConnected:function(){return!_.isNull(r.currentDevice)},charge:function(){var t=r.currentDevice,n=t.identifier.split("-")[0];return e.when({processorType:H,emvDeviceType:n,emvDeviceInternalId:t.pk,stripePaymentIntentId:null,isEmvAsyncSuccessCallbackCalled:!1})},information:_.noop,cancel:function(){var e=r.currentDevice,t=e.identifier,n=r.currentTransactionId;_.isNull(n)?console.warn("adyenEmv: no EMV transaction is in progress"):(console.log("adyenEmv: attempting to cancel EMV transaction for device",t," transactionId",n),a.db.emvDevice.cancelCharge({shortname:e.company.shortname},{emvDeviceId:t,tokenId:n}).$promise.then((function(){r.currentTransactionId=null})))},lastDecline:_.noop,discoverEmvDevices:function(t,r){return a.db.emvDevice.checkConnections({shortname:t.shortname},null,null,null).$promise.then((function(t){var i=_.map(r,(function(e){return{emvDevice:e,status:n(t,e)}}));return e.when(i)}))},selectDevice:function(i){if(!i)return e.reject("no discovered emv device");var o=i.emvDevice,s=o.company;return a.db.emvDevice.checkConnection({shortname:s.shortname,emvDevicePk:o.pk},null,null,null).$promise.then((function(a){var s=n(a,o);return i.status=s,s===t.EmvDevice.ONLINE_STATUS?(r.currentDevice=o,e.when(i)):e.reject("emv device is offline")}))},isSimulatorEnabled:!1};return r}]),V.factory("loginProviders",[function(){return{NAMES_BY_TYPE:{google:"Google",marriott:"Marriott",amazon:"Amazon",auth0:"Auth0",okta:"Okta",azure:"Azure"}}}]),V.factory("emv",["$q","$rootScope","auth","events","models","stripeEmv","adyenEmv","native",function(e,t,n,r,i,o,s,c){var u=null,l=null,d=_.map(a.db.slipstream("emvProviderChoices"),"0"),p={};p[H]=s,p[W]=o;var m=_.filter([o,s]),f=_.filter(m,(function(e){return _.find(d,(function(t){return e&&e.providerType===t}))})),h=function(e){return _.find(f,(function(t){if(t.providerType===e)return t}))},g=function(){if(!l||!u)return"";var e=l.STORAGE_KEY+":"+u.shortname;return l.isSimulatorEnabled&&(e="simulator:"+e),e},v={ADYEN_PROVIDER:s,STRIPE_PROVIDER:o,SUPPORTED_PROVIDERS:f,currentDevice:null,setProvider:function(e){l=h(e.features.emvProvider)},getDefaultProviderForProcessorType:function(e){return p[e]},disconnect:function(){if(l)return l.disconnect()},isConnectedToDevice:function(e){return v.isConnected()&&e===v.currentDevice},isConnected:function(){if(l)return l.isConnected()},isNFC:function(){return!(!l||!l.isNFC)&&l.isNFC()},storeDeviceSelection:function(e){l&&u&&P.I.set(g(),e.pk)},selectDevice:function(t){return l&&t?(v.currentDevice!==t.emvDevice&&v.disconnect(),l.selectDevice(t).then((function(e){v.currentDevice=e.emvDevice,v.storeDeviceSelection(v.currentDevice)}))):e.reject()},previouslySelectedDevicePk:function(){if(l&&u)return P.I.get(g())},connect:function(e){e&&e.features.isEmvEnabled&&(l=h(e.features.emvProvider))&&l.connect(e)},charge:function(t,n,r,i,o){return l?l.charge(t,n,r,i,o):e.reject()},discoverEmvDevices:function(t){if(!n.permissions.canList(i.EmvDevice,t))return e.when([]);if(!t||!t.features.isEmvEnabled)return e.when([]);var r=a.db.emvDevices({shortname:t.shortname},null,null,null,{flashError:!1}),o=function(e){return _.map(e,(function(e){return{emvDevice:e,status:i.EmvDevice.OFFLINE_STATUS}}))};return v.isConnected()||(c.isEmvConnected(t)||v.disconnect(),v.connect(t)),r.$promise.then((function(){return l?r.length||l.isSimulatorEnabled?l.discoverEmvDevices(t,r).then((function(t){return e.when(t)})).catch((function(t){return console.warn("emv: failed to discover emv devices",t),e.when(o(r))})):(console.log("emv: no emv devices registered yet"),e.when([])):e.when(o(r))}))},information:function(){return l?l.information():""},lastDecline:function(){return l?v.isDebugging?v.debugDecline:l.isConnected()?l.lastDecline():null:null},cancel:function(){if(l)return l.cancel()}};return r.on(t,"auth.logout",(function(){l&&l.disconnect()})),r.on(t,"navigation.company.updated",(function(e,t){var r=t.company;u&&!r||r&&u===r&&l&&l.isConnected()||(u=r,l&&l.disconnect(),r.features.isEmvEnabled&&(l=h(r.features.emvProvider))&&n.currentUser.isAuthenticated&&v.discoverEmvDevices(r).then((function(e){var t,n=_.filter(e,(function(e){return"online"===e.status})),r=v.previouslySelectedDevicePk();r&&(t=_.find(n,(function(e){return e.emvDevice.pk===r}))||_.head(n)),v.selectDevice(t).catch((function(){console.warn("emv: unable to connect to device.")}))})).catch((function(){console.warn("emv: unable to connect to device: EMV provider not loaded.")})))})),v.isDebugging=!1,v.debugDecline={customerReceipt:[{key:"Date",value:"12/32/17"},{key:"Time",value:"12:32pm"},{key:"Amount",value:"USD$12.32"},{key:"Information",value:"Authorization declined."},{key:"Description",value:"Booking #1234"}],merchantReceipt:[{key:"Date",value:"12/32/17"},{key:"Time",value:"12:32pm"},{key:"Amount",value:"USD$12.32"},{key:"Information",value:"Authorization declined."},{key:"Description",value:"Booking #1234"}]},v.debugDetails=[{key:"Date",value:"12/32/17"},{key:"Time",value:"12:32pm"},{key:"Amount",value:"USD$12.32"},{key:"Information",value:"Authorization declined."},{key:"Description",value:"Booking #1234"},{key:"Name",value:"Adeventure Extremer"},{key:"Address",value:"12:32pm"},{key:"Zip",value:"12321"},{key:"City",value:"Aina Haina"},{key:"Country",value:"USA"},{key:"Contact",value:"4155551212"},{key:"Transaction",value:"ch_1BLzcrL4FOCDmmKvrGbjEG2t"},{key:"Authorization",value:"123212321"},{key:"Scheme",value:"super sweet VISA"},{key:"Account",value:"**** **** **** 4242"},{key:"AID",value:"A0000000031010"},{key:"Entry Mode",value:"Chip"},{key:"Verification",value:"Signature"}],v}]),V.factory("paypal",["models",function(e){var t=a.db.slipstream("paypalLiveClientId"),n=a.db.slipstream("paypalLivePlatformFeesPayeeMerchantId");return{ERRORS:_.assign({},j,{"country-mismatch":T("PayPal account country invalid."),"onboard-incomplete":T("PayPal onboard not completed."),"permissions-mismatch":T("PayPal permissions not granted."),"email-unconfirmed":T("Please confirm your email address in order to receive payments."),"payments-unreceivable":T("You currently cannot receive payments due to a restriction on your PayPal account.")}),ONBOARDING_MESSAGES:K,HELP_DOC_URL:"https://fareharbor.com/help/getting-started/setup/payment-setup-checklist/paypal/",DISPUTE_LEARN_MORE_URL:"https://fareharbor.com/help/payments/disputes/paypal",NAME:"PayPal",PROCESSOR_TYPE:z,PENDING_STATEMENT_TEXT:"PAYPAL * ",STATEMENT_TEXT_PREFIX:"PAYPAL * ",STATEMENT_TEXT_REGEX:/^[a-zA-Z0-9\.\-\* ]+$/,LIVE_CLIENT_ID:t,LIVE_PLATFORM_FEES_PAYEE_MERCHANT_ID:n,isAutomaticCreationOfAccountsEnabled:!1,isBankAccountsEnabled:!1,isRefundReserveEnabled:!1,isBankAccountCreationEnabled:_.constant(!0),isBankAccountTokenizationNeeded:!1,isBankAccountVerificationDoneViaDeposits:!1,isBookingFeeProratedForRefunds:!0,isCardsEnabled:!1,isCardOnFileEnabled:!1,isConnectedAfterOnboarding:!0,isCreditCardsEnabled:!1,isDeferredChargesEnabled:!1,isDemoCardNumberCheckSupported:!1,isDisputesEnabled:!0,isEmvEnabled:!1,isFileChargesEnabled:!1,isHoldsEnabled:!1,isSofortEnabled:!1,isIdealEnabled:!1,isBancontactEnabled:!1,isVippsEnabled:!1,isAfterpayEnabled:!1,isWalletsEnabled:!1,isPaypalEnabled:!0,isPayoutsEnabled:!1,isTosEnabled:!1,isTransactionsEnabled:!1,minimumBookingFee:function(e){return 0},minimumChargeAmount:function(t){return e.Payment.minimumChargeAmounts(t,z)},isAccountIdentifierVisibleToCompanyUsersWithPermission:!0,isAdditionalAccountSetupRequired:!1,statementText:function(e){return e.paypalStatementText||e.statementText.slice(0,14)},filterEmvDetails:function(e){return e},proratedRefundBookingFee:function(e,t){var n=e.chargeInitialReceipt,r=0;return t===e.chargeReceipt.gross?e.receipt.bookingFee:n.gross<=0?r:r=Math.floor(t/n.gross*n.bookingFee)}}}]),V.directive("ngPaypalCheckout",["$document","$filter","$window","navigation","paypal","processors",function(e,t,n,r,i,o){var s={},c=function(e){return(e/100).toFixed(2)},u=["credit","bancontact","blik","eps","giropay","ideal","mercadopago","mybank","p24","sepa","sofort","venmo"],l="card,"+u.join(",");return{restrict:"A",templateUrl:"ng-paypal-checkout",controllerAs:"paypalCtrl",controller:["$scope","$attrs","$timeout",function(t,n,d){var p=t.paymentCtrl.company,m=this;if(m.status="loading",m.showOnlyPaypalPaymentOption="all"!==n.ngPaypalCheckoutPaymentMethods&&p.isPricePreviewsEnabled,p.paypalMerchantId){var f=null;t.bookForm?(f=t.bookForm,t.submit=t.bookCtrl.submit):t.orderForm?(f=t.orderForm,t.submit=t.cartCtrl.submit):t.paymentsForm&&(f=t.paymentsForm);var h=o.get(z).statementText(p),g=m.showOnlyPaypalPaymentOption?"PayPal-".concat(p.shortname,"-only-paypal"):"PayPal-".concat(p.shortname,"-all-available"),v=s[g],y=function(){var e=m.showOnlyPaypalPaymentOption?"#ng-paypal-only-checkout-button":"#ng-paypal-checkout-button";d((function(){v.Buttons({createOrder:function(e,n){return n.order.create({intent:"CAPTURE",purchase_units:[{amount:{currency_code:p.processorCurrency.toUpperCase(),value:c(t.paymentCtrl.amount()),breakdown:{item_total:{currency_code:p.processorCurrency.toUpperCase(),value:c(t.paymentCtrl.amount())}}},payee:{merchant_id:p.paypalMerchantId},payment_instruction:{disbursement_mode:"INSTANT",platform_fees:[{amount:{currency_code:p.processorCurrency.toUpperCase(),value:c(t.paymentCtrl.bookingFee())},payee:{merchant_id:i.LIVE_PLATFORM_FEES_PAYEE_MERCHANT_ID}}]},soft_descriptor:h}],application_context:{brand_name:p.name,payment_method:{payee_preferred:"IMMEDIATE_PAYMENT_REQUIRED"},shipping_preference:"NO_SHIPPING"}})},onApprove:function(e){t.$apply((function(){t.paymentCtrl.processorType(i.PROCESSOR_TYPE),t.paymentCtrl.paypalOrderId(e.orderID),t.submit(f)}))},onCancel:function(){t.$apply((function(){console.info("PayPal checkout cancelled")}))},onError:function(e){t.$apply((function(){console.error("PayPal checkout error",e),t.paymentCtrl.addErrorMessage(f,o.ERRORS.UNKNOWN)}))}}).render(e),m.status="success"}))};if(v)y();else{var b={"client-id":i.LIVE_CLIENT_ID,"merchant-id":p.paypalMerchantId,currency:p.processorCurrency.toUpperCase(),"integration-date":"2020-03-10",debug:a.db.slipstream("isDebug")?"true":"false"},T=m.showOnlyPaypalPaymentOption?l:function(e){var t=["credit"];if(e.defaultProcessorType!==i.PROCESSOR_TYPE){var n=o.get(e.defaultProcessorType),r={isBancontactEnabled:"bancontact",isCreditCardsEnabled:null,isIdealEnabled:"ideal",isSofortEnabled:"sofort",isVippsEnabled:"vipps"};_.forEach({isBancontactEnabled:"bancontact",isCreditCardsEnabled:"card",isIdealEnabled:"ideal",isSofortEnabled:"sofort"},(function(i,o){var a,s=_.get(n,o,null);null===s&&console.error("ngPaypalCheckout.fundingSourcesToDisable: service is missing capability flag:",n.PROCESSOR_TYPE,o);var c=r[o];if(c){var u,l=(null===(u=e.paymentMethodSettings)||void 0===u?void 0:u[c])||null;a=(null==l?void 0:l.isEnabled)||!1}else a=!0;null===a&&console.error("ngPaypalCheckout.fundingSourcesToDisable: feature is missing for company:",e,c),s&&a&&t.push(i)}))}return(t=_.uniq(t.concat(u))).length?t.join():null}(p);T&&(b["disable-funding"]=T);var E=r.compose("https://www.paypal.com/sdk/js",b),k=document.createElement("script");k.setAttribute("data-namespace",g),k.src=E,k.onload=function(){v=s[g]=window[g],y()},k.onerror=function(){m.status="error"},e[0].body.appendChild(k)}}else m.status="error"}]}}]),V.factory("adyen",["$q","models","processors",function(e,t,n){var r=_.assign({},K,{failed:T("More information required")});return{ERRORS:j,ONBOARDING_MESSAGES:r,HELP_DOC_URL:"https://fareharbor.com/help/getting-started/setup/payment-setup-checklist/",DISPUTE_LEARN_MORE_URL:"https://fareharbor.com/help/payments/disputes/refunding-a-disputed-charge/",NAME:"Adyen",PROCESSOR_TYPE:H,PENDING_STATEMENT_TEXT:"ADYEN",STATEMENT_TEXT_PREFIX:"",STATEMENT_TEXT_REGEX:/^[a-zA-Z0-9 ]+$/,isAddingEmvDevicePossible:function(e){return n.isProcessorPaymentSetupComplete(e,H)},isAdjustmentValid:function(e,t){return!e.isProcessable||"from-company"!==e.direction||!t.isAdmin},isAutomaticCreationOfAccountsEnabled:!1,isBankAccountsEnabled:!0,isRefundReserveEnabled:!0,isBankAccountCreationEnabled:function(e){return n.isProcessorVerified(e,H)},isBankAccountTokenizationNeeded:!1,isBankAccountVerificationDoneViaDeposits:!1,isBookingFeeProratedForRefunds:!1,isCardsEnabled:!1,isCardOnFileEnabled:!0,isCreditCardsEnabled:!0,isConnectedAfterOnboarding:!1,isDeferredChargesEnabled:!0,isDemoCardNumberCheckSupported:!1,isDisputesEnabled:!0,isEmvEnabled:!0,isFileChargesEnabled:!0,isHoldsEnabled:!0,isSofortEnabled:!1,isIdealEnabled:!0,isBancontactEnabled:!0,isVippsEnabled:!0,isAfterpayEnabled:!1,isWalletsEnabled:!1,isPaypalEnabled:!1,isPayoutsEnabled:!0,isTosEnabled:!0,isTransactionsEnabled:!0,isAccountIdentifierVisibleToCompanyUsersWithPermission:!1,isAdditionalAccountSetupRequired:!0,minimumBookingFee:function(e){return e.minimumFee},minimumChargeAmount:function(e){return t.Payment.minimumChargeAmounts(e,H)},tokenizeCard:function(){var t=e.defer();return t.resolve({processorType:H}),t.promise},statementText:function(e){return e.adyenStatementText||e.statementText},filterEmvDetails:function(e){return e},handleRedirect:function(e){(new AdyenCheckout).createFromAction(e).mount("#adyen-redirect-component-container")},updateCompanyFieldForBankAccountVerification:function(e,t){e.isAdyenProcessorDefaultBankAccountReadyForPayout=t.isVerified}}}]),V.directive("ngAdyenCheckout",[function(){var e=a.db.slipstream("adyenCheckoutLiveOriginKey"),t=a.db.slipstream("adyenCheckoutTestOriginKey"),n=a.db.slipstream("targetLanguage"),r=a.db.slipstream("configuration"),i={"en-us":"en-US","en-au":"en-US","en-ca":"en-US","en-gb":"en-US","zh-cn":"zh-CN",da:"da-DK",nl:"nl-NL",fi:"fi-FI",fr:"fr-FR","fr-ca":"fr-FR",de:"de-DE",it:"it-IT",ja:"ja-JP",ko:"ko-KR",no:"no-NO",pl:"pl-PL",pt:"pt-BR",ru:"ru-RU",es:"es-ES",sv:"sv-SE"},o={"creditCard.numberField.placeholder":"","creditCard.cvcField.placeholder":"","creditCard.expiryDateField.placeholder":""},s={};_.forEach(["en-US","zh-CN","da-DK","nl-NL","fi-FI","fr-FR","de-DE","it-IT","ja-JP","ko-KR","no-NO","pl-PL","pt-BR","ru-RU","es-ES","sv-SE"],(function(e){s[e]=o}));var c=i[n]?i[n]:"en-US";return{restrict:"A",controller:["$scope",function(n){n.adyenCheckoutClasses={encryptedCardNumber:{focus:!1,valid:!1,touched:!1,brand:"card"},encryptedExpiryDate:{focus:!1,valid:!1,touched:!1},encryptedSecurityCode:{focus:!1,valid:!1,touched:!1}},n.$on("$destroy",(function(){n.paymentCtrl.cardCvc(""),n.paymentCtrl.cardNumber(""),n.paymentCtrl.adyenPaymentMethod(""),n.paymentCtrl.adyenBrowserInfo("")}));var i="production"!==r||n.paymentCtrl.company.isDemoModeEnabled?"test":"live",o=n.paymentCtrl.company.isDemoModeEnabled?t:e,a={brands:["mc","visa","discover","amex","jcb","diners","cup"],locale:c,translations:s,environment:i,originKey:o,onChange:function(e){var t="",r="";n.paymentCtrl.isAdyenCheckoutDataValid=e.isValid,e.isValid&&(t=_.stringifyJSON(e.data.paymentMethod),r=_.stringifyJSON(e.data.browserInfo),n.paymentCtrl.cardCvc(e.data.paymentMethod.encryptedSecurityCode),n.paymentCtrl.cardNumber(e.data.paymentMethod.encryptedCardNumber)),n.paymentCtrl.adyenPaymentMethod(t),n.paymentCtrl.adyenBrowserInfo(r),n.$apply()},onFocus:function(e){n.adyenCheckoutClasses[e.fieldType].focus=e.focus,n.$apply()},onBrand:function(e){n.adyenCheckoutClasses.encryptedCardNumber.brand=e.brand,n.adyenCheckoutClasses.encryptedCardNumber.touched=!0,n.$apply()},onFieldValid:function(e){n.adyenCheckoutClasses[e.fieldType].valid=e.valid,n.adyenCheckoutClasses[e.fieldType].touched=!0,n.$apply()}},u={fontWeight:"normal",padding:"0 12px"};window.matchMedia("(min-width: 680px)").matches&&(u={fontSize:"13px",fontWeight:"normal",padding:"0 12px"}),new AdyenCheckout(a).create("securedfields",{hasHolderName:!0,holderNameRequired:!0,autoFocus:!1,styles:{base:u,placeholder:{fontWeight:"normal",color:"#768593"}}}).mount("#adyen-checkout-component-container")}]}}]),V.directive("ngStripeWallet",["$q","processors","Stripe","Sentry",function(e,t,n,r){var i=a.db.slipstream("stripeLivePublishableKey");return{restrict:"A",templateUrl:"ng-stripe-wallet",controllerAs:"stripeWalletCtrl",controller:["$scope",function(o){var a=this;a.status="loading";var s=o.paymentCtrl.company,c=null;o.bookForm?(c=o.bookForm,o.submit=o.bookCtrl.submit):o.orderForm?(c=o.orderForm,o.submit=o.cartCtrl.submit):o.paymentsForm&&(c=o.paymentsForm);var u=n(i),l=u.paymentRequest({country:s.processorCountry,currency:s.processorCurrency,total:{label:s.name,amount:o.paymentCtrl.amount()},requestPayerName:!0});o.$watch(o.paymentCtrl.amount,(function(e,t){e!==t&&l.update({total:{label:s.name,amount:e}})}));var d=u.elements().create("paymentRequestButton",{paymentRequest:l,style:{paymentRequestButton:{height:"54px"}}});e.when(l.canMakePayment(),(function(e){e?(d.mount("#ng-stripe-wallet-button"),a.status="success"):(o.paymentCtrl.addErrorMessage(c,t.ERRORS.UNKNOWN),a.status="error")}),(function(){o.paymentCtrl.addErrorMessage(c,t.ERRORS.UNKNOWN),a.status="error"})),l.on("paymentmethod",(function(e){var n=[t.ERRORS.BAD_POSTAL_CODE,t.ERRORS.CARDHOLDERS_NAME_TOO_LONG];o.paymentCtrl.removeErrorMessages(c,n);var i=e.paymentMethod.billing_details.name;if(i&&Q.xA(i))return o.paymentCtrl.addErrorMessage(c,t.ERRORS.CARDHOLDERS_NAME_TOO_LONG),e.complete("fail"),r.captureException(new Error(t.ERRORS.CARDHOLDERS_NAME_TOO_LONG),{paymentMethodId:e.paymentMethod.id}),void o.$safeApply();var a=e.paymentMethod.billing_details.address.postal_code;if(a&&Q.UY(a))return r.captureException(new Error(t.ERRORS.BAD_POSTAL_CODE),{paymentMethodId:e.paymentMethod.id}),o.paymentCtrl.addErrorMessage(c,t.ERRORS.BAD_POSTAL_CODE),e.complete("fail"),void o.$safeApply();o.paymentCtrl.resetProcessorFields(),o.paymentCtrl.stripePaymentMethodId(e.paymentMethod.id),e.complete("success"),o.submit(c)}))}]}}]),V.run(["$rootScope","emv","loginProviders","processors",function(e,t,n,r){e.emv=t,e.loginProviders=n,e.processors=r}]);var oe={ANY_CONDITIONS_TYPE:"any",ALL_CONDITIONS_TYPE:"all",find:function(e,t){return _.includes(e,t)?t:_.find(e,{customField:t.customField})}},ae={SELECTED_TYPE:"selected",NOT_SELECTED_TYPE:"not-selected",EXACT_TYPE:"exact",NOT_EXACT_TYPE:"not-exact",SELECTED_NOT_EXACT_TYPE:"selected-ne",RANGE_TYPE:"range",SUBCOMPONENT_TYPE:"subcomponent",SELECTED_OPTIONS:[{name:T("is not empty"),value:"selected"},{name:T("is empty"),value:"not-selected"}],EXACT_OPTIONS:[{name:T("is not empty"),value:"selected"},{name:T("is empty"),value:"not-selected"},{name:T("is:"),value:"exact"},{name:T("is not:"),value:"selected-ne"},{name:T("is empty or not:"),value:"not-exact"}],RANGE_OPTIONS:[{name:T("is in range:"),value:"range"}],isValidParent:function(e){return!!["short","yes-no","code-generator","extended-option","multi-campaign","count"].find((function(t){return t===e.customField.type}))},types:function(e){if(ae.needsExactValue(e)){var t=ae.EXACT_OPTIONS;return"count"===e.customField.type&&(t=t.concat(ae.RANGE_OPTIONS)),t}return ae.SELECTED_OPTIONS},needsExactValue:function(e){return!!["short","extended-option","count"].find((function(t){return t===e.customField.type}))},needsCustomField:function(e){return!![ae.EXACT_TYPE,ae.NOT_EXACT_TYPE,ae.SELECTED_NOT_EXACT_TYPE,ae.RANGE_TYPE].find((function(t){return t===e.type}))},isVisibleDueToConditions:function(e,t,n){return!e.isHidden&&(!e.customFieldInstanceConditions.length||(e.conditionsType===oe.ANY_CONDITIONS_TYPE?_.some:_.every)(e.customFieldInstanceConditions,(function(e){return ae.isMatch(e,t,n)})))},isMatch:function(e,t,n){var r=(n=n||{})[e.uri];if(!_.isUndefined(r))return r;n[e.uri]=!1;var i=e.parentCustomFieldInstance;if(!i||i.isHidden)return!1;if(!ae.isVisibleDueToConditions(i,t,n))return!1;var o=e.type,a=t(i);if(o===ae.SELECTED_TYPE||o===ae.SUBCOMPONENT_TYPE)r=!!a;else if(o===ae.NOT_SELECTED_TYPE)r=!a;else if(o===ae.EXACT_TYPE)r=e.exactValue===a;else if(o===ae.NOT_EXACT_TYPE)r=!a||e.exactValue!==a;else if(o===ae.SELECTED_NOT_EXACT_TYPE)r=!!a&&e.exactValue!==a;else if(o===ae.RANGE_TYPE){var s=e.properties;r=s.rangeStart<=a&&a<=s.rangeEnd}else r=!1;return n[e.uri]=r,r},rawValue:function(e){return e.type===ae.RANGE_TYPE?e.properties:e.exactValue},isSubcomponent:function(e){return e.company.features.isPrivateEventsEnabled&&"count"===e.customField.type&&e.customFieldInstanceConditions.find((function(e){return e.type===ae.SUBCOMPONENT_TYPE}))},isParentOfSubcomponents:function(e,t){return e.company.features.isPrivateEventsEnabled&&"count"===e.customField.type&&t[e.pk]&&t[e.pk].length}},se=n(69036),ce=n(76169),ue=n(68457),le=n(68227),de=n(77388),pe=n(64486),me=n(46565),fe=n(47695),he=n(22945),ge=n(14479);function ve(e){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ve(e)}function ye(e,t,n){return(t=function(e){var t=function(e){if("object"!=ve(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ve(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ve(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var be={NO_FLOW:{pk:!1,name:T("None")},PAGE_TYPE:"page",LINK_TYPE:"link",ITEM_TYPE:"item",FLOW_QUERY:"flow",IS_FROM_CART_QUERY:"from-cart",WIDTH_ONE_THIRD:"1-3",WIDTH_HALF:"1-2",WIDTH_TWO_THIRDS:"2-3",WIDTH_FULL:"1-1",HEIGHT_1:1,HEIGHT_2:2,HEIGHT_3:3},Te=ye(ye(ye(ye({},be.WIDTH_ONE_THIRD,604),be.WIDTH_HALF,920),be.WIDTH_TWO_THIRDS,1236),be.WIDTH_FULL,1868),Ee=ye(ye(ye({},be.HEIGHT_1,332),be.HEIGHT_2,692),be.HEIGHT_3,1052),_e=function(e){return 0===e.childrenCount},ke=function(e){var t=e.children;return _e(e)&&(t=e.emptyPageChildren),t||[]},Ce=function(e){return Array.isArray(e.children)?e.children.filter((function(e){return e.type===be.PAGE_TYPE})):[]},Ae=function(e){var t=ke(e).length;return t>=6||3===t?3:t>=4||2===t?2:1},Pe=function(e){return e.properties.heading||(e.item?e.item.name:e.name)},Se=function(e){return e.properties.height>be.HEIGHT_1&&(e.properties.width===be.WIDTH_ONE_THIRD||e.properties.width===be.WIDTH_HALF)||e.properties.width===be.WIDTH_TWO_THIRDS&&e.properties.height===be.HEIGHT_3},Oe={NO_FLOW:be.NO_FLOW,PAGE_TYPE:be.PAGE_TYPE,LINK_TYPE:be.LINK_TYPE,ITEM_TYPE:be.ITEM_TYPE,FLOW_QUERY:be.FLOW_QUERY,IS_FROM_CART_QUERY:be.IS_FROM_CART_QUERY,WIDTH_ONE_THIRD:be.WIDTH_ONE_THIRD,WIDTH_HALF:be.WIDTH_HALF,WIDTH_TWO_THIRDS:be.WIDTH_TWO_THIRDS,WIDTH_FULL:be.WIDTH_FULL,HEIGHT_1:be.HEIGHT_1,HEIGHT_2:be.HEIGHT_2,HEIGHT_3:be.HEIGHT_3,singleItemRedirect:function(e){return e&&e!==be.NO_FLOW&&_e(e)&&e.emptyPageChildren&&1===e.emptyPageChildren.length?e.emptyPageChildren[0].item:null},effectiveChildren:ke,childItems:function(e){return ke(e).map((function(e){return null==e?void 0:e.item})).filter((function(e){return!!e}))},childPages:Ce,isCalendarIncluded:function(e){return!!e.isCalendarIncluded&&ke(e).some((function(e){return e.type===be.PAGE_TYPE||e.type===be.ITEM_TYPE&&!e.item.isRetail}))},breadcrumbName:function(e){return e.shortName||e.name},isAllItems:_e,isSingleLevelFlow:function(e){if(!e.children||!e.breadcrumbs)throw new Error("Flow node must be fully loaded");return!(e.breadcrumbs.length>0||Ce(e).length>0)},emptyGridBlockCount:function(e){if(!_e(e))return 0;var t=Ae(e),n=ke(e).length%t;return n?t-n:0},heading:Pe,subheading:function(e){return e.properties.subheading||e.item&&e.item.headline||""},subheadingLineClamp:function(e){var t,n=Pe(e);return"line-clamp line-clamp--".concat((t=n.length)>52?1:t>36?2:t>21?3:4)},imageUrl:function(e){return e.imageCdnUrl?e.imageCdnUrl:e.item?e.item.imageCdnUrl||(e.item.images.length?e.item.images[0].croppedCdnUrl:null):null},imageMaxWidth:function(e){return e.properties.width?Se(e)?null:function(e){return Te[e.properties.width]||0}(e):550},imageMaxHeight:function(e){return e.properties.width&&Se(e)?function(e){return Ee[e.properties.height]||0}(e):null},defaultBlockWidth:function(e){var t=Ae(e);return 3!==t&&_e(e)?2===t?be.WIDTH_HALF:be.WIDTH_FULL:be.WIDTH_ONE_THIRD},isFreeCancellationBadgeVisible:function(e){if(!e.item||!e.item.settings.isFreeCancellationBadgeEnabled)return!1;var t="TheBand_ItemGridCancellationBadge";return(0,ge.TH)(t),(0,ge.g0)(t)}},Re=n(60256),Ie=n(13422),we=n(55911),De={cls:"ComboDiscount"},Ne=n(90078),Ue=n(68374),Fe=n(11061),Le=n(77635),Me={cls:"Contract"},xe=n(160),Be=n(33553),Ge=n(44065),$e=n(74113),Ye=n(11859),Ve={resourceUseSummaries:function(e,t){return t=t||[],_.reduce((n=e,_.reduce(n,(function(e,t){var n=t.resourceRequirement.resource;return e[n.pk]=e[n.pk]||[],e[n.pk].push(t),e}),{})),(function(e,n,r){e[r]=e[r]||{},e[r].totalUseCount=parseFloat(_.sumBy(n,"useCount").toFixed(2)),e[r].totalSeatCount=_.filter(n,"seat").length,e[r].resourcePk=r,e[r].resourceName=n[0].resourceRequirement.resource.name,e[r].isResourceArchived=n[0].resourceRequirement.resource.isArchived,e[r].isOverused=_.map(t,"pk").indexOf(parseInt(r,10))>-1;var i=n[0].resourceRequirement.company||n[0].company;return e[r].url=s.D.populate(s.D.dashboard.resources.resource.uses.day,{shortname:i.shortname,resourcePk:r,date:_.min(_.map(n,"startAt")).format("YYYY-MM-DD")}),e}),{});var n},overallResourceUseSummaries:function(e,t,n){var r=Ve.resourceUseSummaries(e,n),i=Ve.resourceUseSummaries(t,n),o=_.reduce(_.assignWith({},r,i),(function(e,n,o){var a,s=r[o];return n.originalUseCount=s?s.totalUseCount:0,s&&!(o in i)&&(n.totalUseCount=0),_.isUndefined(t)||(a=i[o],n.totalSeatCount=_.get(a,"totalSeatCount",0)),n.url=(s?s.url:"")||(a?a.url:""),e[o]=n,e}),{});return _.sortBy(o,"resourceName")}},je=n(49141),Ke={RELATED_FEATURE_FLAG:"isStructuredItemDescriptionEnabled"};function He(e){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(e)}function We(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?We(Object(n),!0).forEach((function(t){ze(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ze(e,t,n){return(t=function(e){var t=function(e){if("object"!=He(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=He(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==He(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}!function(){var e=angular.module("lib.models",[]);e.factory("models",["$filter","$injector",function(e,t){e("orderBy");var n=e("name"),r=(0,l.Qc)(),i="US",s=he.GL.GDPR_COUNTRY_CODES,c=he.GL.APAC_COUNTRY_CODES,u=he.GL.EMEA_COUNTRY_CODES,d=he.GL.NORAM_COUNTRY_CODES,p=_.map(r,(function(e){return e[0]})),m=Object.keys(a.db.slipstream("fhdnCompanyShortnameByCurrency")||{}),f=Object.keys(a.db.slipstream("fhconnectCompanyShortnameByCurrency")||{}),h=function(e){var t=a.db.slipstream("currencyChoices");return _.isUndefined(t)?(console.warn("getCurrencyChoices: currency choices undefined"),[]):e?_.filter(t,(function(t){var n=t[0];return _.includes(e,n)})):t},g=function(e,t,n){var r=a.db.slipstream("companyFeeDefaults");if(_.isUndefined(g))return console.warn("getCompanyFeeDefaults: country defaults data undefined"),{};var i=_.get(r,"default",{}),o=_.get(r,e,{}),s=_.get(o,"default",{}),c=_.get(o,t,{}),u=_.get(c,"default",{}),l=_.get(c,n,{}),d={};return _.assign(d,i),_.assign(d,s),_.assign(d,u),_.assign(d,l),d},v={NETWORK_FILTER:"#network",COMPANY_FILTER:"#company",ADMIN_FILTER:{},filterUrl:function(e){return e===v.COMPANY_FILTER?"":e===v.ADMIN_FILTER?"admin/":e===v.NETWORK_FILTER?"network/":"network/"+e.shortname+"/"}},y=function(e,t,n,r){return function(i){return i[e]===t?i[n]:r}},b={US_COUNTRY_CODE:i,ADMIN_TYPE:"admin",CHARTER_TYPE:"charter",AFFILIATE_TYPE:"affiliate",CALL_CENTER_SHORTNAME:"fhcallcenter",NO_FEE_TYPE:"no-fee",PERCENTAGE_FEE_TYPE:"percentage-fee",FLAT_FEE_TYPE:"flat-fee",TIERED_FEE_TYPE:"tiered-fee",ROLLING_WINDOW_PERIOD_TYPE:"rolling-window-period",IMMEDIATE_PERIOD_TYPE:"immediate-period",REFUND_RESERVE_AMOUNT_FORMAT:"fixed",REFUND_RESERVE_PERCENT_FORMAT:"percent",US_PROCESSOR_COUNTRY:"US",ADMIN_SHORTNAME:"admin",getPaymentMethodSettings:function(e,t){var n=(null==e?void 0:e.paymentMethodSettings)||null;return(null==n?void 0:n[t])||null},isAdmin:function(e){return e&&e.shortname===b.ADMIN_SHORTNAME},MONTH_VIEW:"month",DAY_VIEW:"day",AGENDA_VIEW:"agenda",GRID_VIEW:"grid",TIMELINE_VIEW:"timeline",AVAILABILITY_TIMELINE:"availability",RESOURCE_TIMELINE:"resource",MANIFEST_AVAILABILITIES_VIEW:"availabilities",MANIFEST_ITEMS_VIEW:"items",MANIFEST_BOOKINGS_VIEW:"bookings",MANIFEST_RUNS_VIEW:"runs",MANIFEST_RESOURCES_VIEW:"resources",TAKE_PAYMENT_PREFERENCE:"take",INFO_PAYMENT_PREFERENCE:"info",SKIP_PAYMENT_PREFERENCE:"skip",DEPOSIT_PAYMENT_PREFERENCE:"deposit",FH_BLUE:"#0a6ece",DEFAULT_TIERED_FEE_SCHEDULE:[{cutoff:0,rate:"0.06"}],DEFAULT_PRE_LOCATION_HEADING:T("Before we begin:"),DEFAULT_START_LOCATION_HEADING:T("Please meet us at:"),DEFAULT_PRIMARY_LOCATION_HEADING:T("We're headed to:"),DEFAULT_END_LOCATION_HEADING:T("We will end at:"),forObject:function(e){if(e)return e.cls===b.cls?e:e.cls===ke.cls?e.payment.company:e.company},INVOICE_FEE_RATE:1.9,INVOICE_FLAT_FEE:30,ONLINE_INSTALLMENTS_FEE_RATE:3,ONLINE_INSTALLMENTS_MINIMUM_FEE:100,CURRENCIES_SUPPORTED_IN_FHDN:m,CURRENCIES_SUPPORTED_IN_FHCONNECT:f,COUNTRIES:r,COUNTRY_CODES:p,getCountryDefaults:function(e){var t=a.db.slipstream("countryDefaults");return _.isUndefined(t)?(console.warn("getCountryDefaults: country defaults data undefined"),[]):t[e]},getCompanyFeeDefaults:g,getCurrencyChoices:h,getCurrencyCodes:function(){var e=a.db.slipstream("currencies");return _.isUndefined(e)?(console.warn("getCurrencyCodes: currency data undefined"),[]):_.keys(e)},DEFAULT_LANGUAGE:"en-us",DEFAULT_INCLUDED_TAX_PERCENTAGE_BY_COUNTRY:{AU:10},DEFAULT_TAX_DISPLAY_NAME:we.C.DEFAULT_TAX_DISPLAY_NAME,DEFAULT_TAX_DISPLAY_NAMES:we.C.DEFAULT_TAX_DISPLAY_NAMES,IDEAL_COUNTRY_CODES:["NL"],IDEAL_CURRENCIES:["eur"],SOFORT_COUNTRY_CODES:["AT","BE","DE","NL","ES"],SOFORT_CURRENCIES:["eur"],BANCONTACT_CURRENCIES:["eur"],VIPPS_COUNTRY_CODES:["NO"],VIPPS_CURRENCIES:["nok"],AFTERPAY_COUNTRY_CODES:["AU","NZ"],AFTERPAY_CURRENCIES:["aud","nzd"],taxDisplayName:we.C.taxDisplayName,COMPANY_LOCALE_DEFAULT_TIME_FORMAT_TYPE:"company_locale_default",ANONYMOUS_USER_LOCALE_DEFAULT_TIME_FORMAT_TYPE:"user_locale_default",TWELVE_HOUR_TIME_FORMAT_TYPE:"12_hour",TWENTY_FOUR_HOUR_TIME_FORMAT_TYPE:"24_hour",FALLBACK_SERVER_EXACT_TWELVE_HOUR_TIME_FORMAT:"g:iA",FALLBACK_SERVER_EXACT_TWENTY_FOUR_HOUR_TIME_FORMAT:"H:i",FALLBACK_CLIENT_EXACT_TWELVE_HOUR_TIME_FORMAT:"h:mma",FALLBACK_CLIENT_EXACT_TWENTY_FOUR_HOUR_TIME_FORMAT:"HH:mm",FALLBACK_CLIENT_TOP_OF_HOUR_TWELVE_HOUR_TIME_FORMAT:"ha",FALLBACK_CLIENT_TOP_OF_HOUR_TWENTY_FOUR_HOUR_TIME_FORMAT:"HH:mm",FAST_PAYOUT_TIMEZONES:["US/Eastern","US/Central","US/Mountain","US/Arizona","US/Pacific"],isFastPayoutsAvailable:function(e){return!1},isSofortPaymentSupported:function(e){return _.includes(b.SOFORT_CURRENCIES,e.processorCurrency)},isSofortPaymentToggleDisabled:function(e){return!e["sofort-isEnabled"]},isBancontactPaymentSupported:function(e){return _.includes(b.BANCONTACT_CURRENCIES,e.processorCurrency)},isVippsPaymentSupported:function(e){return _.includes(b.VIPPS_CURRENCIES,e.processorCurrency)},isAfterpayPaymentSupported:function(e){return _.includes(b.AFTERPAY_CURRENCIES,e.processorCurrency)},hasMultipleProcessorsEnabled:function(e){return e.enabledProcessorTypes.length>1},isAnyWaiverEnabled:function(e){return e.isSmartwaiverEnabled||e.companyFeatures.isWherewolfEnabled||e.companyFeatures.isFhWaiverEnabled},effectiveIsCartEnabled:function(e,n,r){var i,o=t.get("rebook");return void 0!==e&&null===o.currentBooking&&(!!e.features.isCartEnabled||!!e.features.isUpsellingEnabled&&!!(null!=n&&null!==(i=n.entries)&&void 0!==i&&i.length||r))},isGdprCountry:function(e){var t=e.processorCountry;return!!s[t]},isApacCountry:function(e){var t=e.processorCountry;return!!c[t]},isEmeaCountry:function(e){var t=e.processorCountry;return!!u[t]},isNoramCountry:function(e){var t=e.processorCountry;return!!d[t]}},E=_.map([b.MONTH_VIEW,b.DAY_VIEW,b.AGENDA_VIEW,b.GRID_VIEW,b.TIMELINE_VIEW],(function(e){return[e,_.upperFirst(e)]})),k=_.filter(E,(function(e){return e[0]!==b.DAY_VIEW}));b.dashboardBookingsViewChoices=function(e){return e?E:k},b.rollingWindowDays=y("payoutPeriodType",b.ROLLING_WINDOW_PERIOD_TYPE,"rollingWindowDays",0),b.flatFee=y("feeType",b.FLAT_FEE_TYPE,"flatFee",0),b.percentageFeeRate=y("feeType",b.PERCENTAGE_FEE_TYPE,"percentageFeeRate",0);var C={OWNER_TYPE:"owner",ADMIN_TYPE:"admin",EMPLOYEE_TYPE:"employee",ONLINE_TYPE:"online",ICS_RESELLER_KEY_NAME:"ICS Calendar",ACTIVE_PASSWORD_STATUS:"active",EXPIRED_PASSWORD_STATUS:"expired",INVALIDATED_PASSWORD_STATUS:"invalidated",TEMPORARY_PASSWORD_STATUS:"temporary",showNag:function(e,t,n){if(!e)return console.error("User.showNag: No user."),!1;var r=e.nags[t];return!(!r||!n&&r.isDismissed)},hasAnyNags:function(e){return!_.every(e.nags,"isDismissed")},getActive:function(e){return _.filter(e,(function(e){return!e.isInactive}))},sortActiveFirst:function(e){return _.sortBy(e,(function(e){return[e.isInactive,e.name.toLowerCase()]}))},displayName:function(e){return e.isInactive?e.name+" "+T("(deactivated)"):e.name}},A={verboseName:T("resource"),verboseNamePlural:T("resources"),NONE_GRANULARITY:"none",bookingResources:function(e){return _.sortBy(_.uniq(_.flatten(_.map(e.customers,(function(e){return _.map(e.resourceUses,"resourceRequirement.resource")})))),"name")},displayName:function(e){return e.name+(e.isArchived?" "+T("(archived)"):"")}},P={verboseName:T("resource requirement"),verboseNamePlural:T("resource requirements"),name:function(e){return e.isItemLevel?e.shortName+" ("+e.item.name+")":e.shortName},dropdownLabel:function(e,t){var n=e.shortName;return e!==t||e.isItemLevel||(n+=" "+T("(shared)")),e.isArchived&&(n+=" "+T("(archived)")),n}},S={BOOKING_TYPE:"booking",CUSTOMERS_TYPE:"customers",FOR_ALL_CUSTOMER_PROTOTYPES:T("Every customer"),isApplicable:function(e,t){if(t=_.isArray(t)?t:[t],e.type!==S.CUSTOMERS_TYPE)return!1;if(e.requirementGroup.isItemLevel){var n=_.map(e.customerPrototypeRequirements,"customerPrototype");return!n.length||_.intersection(n,_.map(t,"customerPrototype")).length>0}var r=_.map(e.customerTypeRequirements,"customerType");return!r.length||_.intersection(r,_.map(t,"customerPrototype.customerType")).length>0},forCustomerPrototypes:function(t){return t.type===S.BOOKING_TYPE?T("Whole booking"):t.customerPrototypeRequirements.length||t.customerTypeRequirements.length?t.requirementGroup.isItemLevel?_.map(t.customerPrototypeRequirements,(function(t){var n=t.customerPrototype;return n.customerType.isHidden?n.customerType.name+" "+T("(deleted)"):n.name||e("name")(n.customerType)})).join(", "):_.map(t.customerTypeRequirements,(function(t){var n=t.customerType;return n.isHidden?n.name+" "+T("(deleted)"):e("name")(n)})).join(", "):S.FOR_ALL_CUSTOMER_PROTOTYPES}},O={START_TIMING:"start-timing",END_TIMING:"end-timing",DATE_TIMING:"date-timing",PADDING_END_AT_KIND:"padding-kind",LENGTH_END_AT_KIND:"length-kind",SEATING_LABELS:{isSingleSeatGroupRequired:cT("party refers to people on a booking, groups refers to groups of seats in a venue","don't allow split parties across groups"),isEmptySeatGroupRequired:T("make groups exclusive"),isEntireSeatMapRequired:T("fill all seats once booked")},times:function(e,t){var n,r,i=e.timing;i===O.START_TIMING?n=t.startAt.clone():i===O.END_TIMING?n=t.endAt.clone():i===O.DATE_TIMING?n=t.startAt.clone().startOf("day"):console.error("ResourceRequirement.times: invalid timing "+i),n.subtract(e.startAtHours,"hours");var o=e.endAtKind,a=e.endAtHours;return o===O.PADDING_END_AT_KIND?r=t.endAt.clone().add(a,"hours"):o===O.LENGTH_END_AT_KIND?r=n.clone().add(e.hours,"hours"):console.error("ResourceRequirement.times: invalid endAtKind "+o),{startAt:n,endAt:r}},allowedZones:function(e){var t=e.resource.settings.seatZones,n=e.settings.seatZones;return n.length&&(t=_.intersection(t,n)),_.toTrueKeys(t)},displayableSeatingSettings:function(e){return _.reduce(e.settings,(function(e,t,n){var r=O.SEATING_LABELS[n];return r&&t&&e.push(_.upperFirst(r)),e}),[])}},R="seat",I=qe(qe({},Ve),{},{displayOption:function(e){return e?e.isIgnoreOveruse?T("Create uses, don't check overuse"):e.isSkipResourceUseCreation?T("Don't create uses, check overuse"):T("Create uses, check overuse"):""},equals:function(e,t){return _.isUndefined(e.customerTypeRate)||_.isUndefined(t.customerTypeRate)?e.booking.pk===t.booking.pk&&e.resourceRequirement.pk===t.resourceRequirement.pk&&e.useCount===t.useCount:e.customerTypeRate.pk===t.customerTypeRate.pk&&e.resourceRequirement.pk===t.resourceRequirement.pk&&e.useCount===t.useCount},resourceUseSummaryKey:function(e,t){return e+"-"+t},isSeatResource:function(e){return!(!e.company.features.isSeatingEnabled||!e.seat&&!e.resourceRequirement.resource.seatMapPk)},isAnySeatableResourceUses:function(e){return!!e.company.features.isSeatingEnabled&&_.some(e.customers,(function(e){return _.some(e.resourceUses,I.isSeatResource)}))},seatableResourceUses:function(e){return _.filter(_.flatten(_.map(e.customers,"resourceUses")),I.isSeatResource)},seatedResourceUses:function(e){return _.filter(_.flatten(_.map(e.customers,"resourceUses")),"seat")},newResourceUseKey:function(e){return[R,e.requirementPk,e.customerTypeRatePk,e.customerIndex,e.seatIndex].join(":")},isNewResourceUseKey:function(e){return _.isString(e)&&_.startsWith(e,R)},isNewResourceUseKeyForCustomerTypeRate:function(e,t){return I.isNewResourceUseKey(e)&&_.int(_.split(e,":")[2])===t.pk},setNewResourceUseKeySeatIndexToZero:function(e){var t=_.split(e,":");return I.newResourceUseKey({requirementPk:t[1],customerTypeRatePk:t[2],customerIndex:t[3],seatIndex:0})},useCountsTotal:function(e){return _.sumBy(e,"useCount")},displayArchivedResource:function(e){return e.resourceRequirement.resource.isArchived?T("(archived)"):""}}),w={RELATED_FEATURE_FLAG:"isSeatingEnabled",DEFAULT_SEAT_SIZE:28,MAX_SEAT_SIZE:40,MIN_SEAT_SIZE:20,style:function(e,t){t?(delete t.$center,delete t.$index):_.forEach(e.seats,(function(e){e.seatGroup&&(delete e.seatGroup.$center,delete e.seatGroup.$index)})),_.forEach(e.seats,(function(e){t&&e.seatGroupPk!==t.pk||e.$style&&e.$style()}))},maxZoom:function(e){return w.MAX_SEAT_SIZE-e.settings.seatSize},minZoom:function(e){return w.MIN_SEAT_SIZE-e.settings.seatSize}},D={verboseName:T("group"),FORM_FIELDS:["rotation","xNudge","yNudge"],RELATED_FEATURE_FLAG:"isSeatingEnabled"},N={forBooking:function(e){return _.flatten(_.map(e.customers,"seatAssignments"))},isAnyForBooking:function(e){return _.some(N.forBooking(e))},sortBySeatMap:function(e){return _.sortBy(_.compact(N.forBooking(e)),"seat.seatMap.settings.displayName")},displayableSeatAssignment:function(e){var t=e.seatMap.settings,n=[];return t.isSeatZoneVisible&&n.push(e.seatZone.name),t.isSeatGroupVisible&&n.push(e.seatGroup.name),t.isSeatNameVisible&&n.push(e.name),n.join(", ")},fromResourceUse:function(e){return{seat:e.seat}}},U={UNLIMITED:"unlimited",CAPACITY_CHOICES:[[0,0],[1,1],["unlimited",T("Unlimited")]],FORM_FIELDS:["name","isNameVisible","width","height","rotation","xNudge","yNudge","capacity","seatZonePk","seatGroupPk"],RELATED_FEATURE_FLAG:"isSeatingEnabled",verboseName:T("seat"),getOverlappingSeat:function(e,t){return _.find(t,(function(t){return U.isOverlappingOtherSeat(e,t)?t:null}))},isOverlappingOtherSeat:function(e,t){if(e===t)return!1;var n=e.xCoord+e.width-1,r=e.yCoord+e.height-1;if(n<t.xCoord||r<t.yCoord)return!1;var i=t.xCoord+t.width-1,o=t.yCoord+t.height-1;return!(i<e.xCoord||o<e.yCoord)},newPositions:function(e,t,n){var r=0,i=0,o=_.minBy(e,(function(e){return e.xCoord+e.yCoord})),a=_.map(e,(function(e){var a=t+(e.xCoord-o.xCoord),s=n+(e.yCoord-o.yCoord);return r=a<r?a:r,i=s<i?s:i,{xCoord:a,yCoord:s}}));return(r<0||i<0)&&_.forEach(a,(function(e){e.xCoord-=r,e.yCoord-=i})),a},defaultSeat:function(e,t,n,r,i){return{name:i?String(i.seats.length+1):"",isNameVisible:!1,width:1,height:1,capacity:1,rotation:0,xNudge:0,yNudge:0,seatZonePk:n,seatGroupPk:r,xCoord:e,yCoord:t}},commonSeatGroup:function(e,t){var n=_.uniq(_.map(e,"seatGroupPk"));if(1!==n.length)return null;var r=n[0];return _.find(t,{pk:r})},isBookable:function(e){return _.filter(e,(function(e){return 0!==e.capacity}))}},F={verboseName:T("zone"),RELATED_FEATURE_FLAG:"isSeatingEnabled"},L={MAX_COLOR:12,DEFAULT_RECEIPT_FOOTER:cT('"order" as in sales order',"Thanks for your order!"),FOLLOW_UP_AFTER_END_TYPE:"availability-end",FOLLOW_UP_AFTER_START_TYPE:"availability-start",isValidColor:function(e){return _.isNumber(e)&&0<=e&&e<=L.MAX_COLOR},images:function(e,t){var n=[];return e.images.length?n=[].concat(e.images):e.imageCdnUrl&&(n=[{croppedUrl:e.imageCdnUrl,imageCdnUrl:e.imageCdnUrl}]),t&&t.availabilityHeadline&&t.availabilityHeadline.imageCdnUrl&&n.unshift({croppedUrl:t.availabilityHeadline.imageCdnUrl,imageCdnUrl:t.availabilityHeadline.imageCdnUrl}),n},checklistName:function(e){var t=e.name;return e.isPrivate?t="<span class='badge badge-lock ghost'>"+T("Private")+"</span> "+t:e.isUnlisted&&(t="<span class='badge'>"+T("Unlisted")+"</span> "+t),e.shortName&&(t=t+" <span class='fh-grey'>("+e.shortName+")</span>"),e.isArchived&&(t=t+" <span class='fh-grey'>("+T("archived")+")</span>"),t},itemBadgeName:function(e){var t=e.isArchived,n=e.isPrivate,r=e.isUnlisted,i=e.name;return t?"<span class='badge badge-archive'>"+T("Archived")+"</span> "+i:n?"<span class='badge badge-lock ghost'>"+T("Private")+"</span> "+i:r?"<span class='badge'>"+T("Unlisted")+"</span> "+i:i},googleRatingStars:function(e){if(!e)return 0;var t=1e3*e%1e3/1e3;return t<.3?e-t:t>=.3&&t<.8?e-t+.5:e-t+1},isSeatingConfirmationsEnabled:function(e){return e.company.features.isSeatingEnabled&&e.settings.isSeatingConfirmationsEnabled},isDepositRequired:function(e){return e.effectiveIsDepositEnabled&&e.settings.isDepositRequired&&!e.settings.isBookingFeeOnly},verboseName:T("item"),verboseNamePlural:T("items")};Oe.WIDTH_LABELS={},Oe.WIDTH_LABELS[Oe.WIDTH_ONE_THIRD]="one-third",Oe.WIDTH_LABELS[Oe.WIDTH_HALF]="half",Oe.WIDTH_LABELS[Oe.WIDTH_TWO_THIRDS]="two-thirds",Oe.WIDTH_LABELS[Oe.WIDTH_FULL]="full";var M={suffix:function(e){return e.isHidden?T("(deleted)"):e.isArchived?T("(archived)"):""},nameWithSuffix:function(e){var t=M.suffix(e),n=e.singular;return e.shortName&&(n+=" <span class='fh-grey'>("+e.shortName+")</span>"),t&&(n+=" <span class='fh-grey'>"+t+"</span>"),n+" <span class='fh-grey'> (ID: "+e.pk+") </span>"}},x={name:function(e){return e.displayName},customerTypeSuffix:function(e){var t=e.customerType;if(t.isHidden)return T("(deleted)");var n=e.isExclusive?T("exclusive"):"",r=t.isArchived?T("archived"):"",i="";e.name&&(i=t.shortName||t.singular);var o=_.compact([i,n,r]).join(", ");return o&&(o="("+o+")"),o},group:function(e){return e.isArchived||e.customerType.isArchived?T("Archived"):e.isHidden?T("Deleted"):T("Active")},groupOrder:function(e){return e.isArchived||e.customerType.isArchived?3:e.isHidden?2:1},nameWithSuffix:function(e){var t=x.customerTypeSuffix(e);return x.name(e)+(t?" "+t:"")},nameWithCustomerTypePk:function(e){return x.name(e)+" ("+cT("ID is abbreviation of Identifier","ID:")+" "+e.customerType.pk+")"}},B={effectiveMinimumPartySize:function(e){return null!==e.minimumPartySize?e.minimumPartySize:e.customerPrototype.minimumPartySize},effectiveMaximumPartySize:function(e){return null!=e.maximumPartySize?e.maximumPartySize:e.customerPrototype.maximumPartySize},find:function(e,t,n){var r;return n||(r=_.find(e,(function(e){return e.customerPrototype===t.customerPrototype}))),r||(r=_.find(e,(function(e){return e.customerPrototype.customerType===t.customerPrototype.customerType}))),r}},G={dropdownLabel:function(e,t){var n=e.name;return e!==t||e.item||(n+=" "+T("(shared)")),e.isArchived&&(n+=" "+T("(archived)")),n},customFieldTrackingData:function(e,t,n,r){var i=_.filter(n,(function(e){var n=e.customField.isDisplayOnly&&0===e.customField.description.length,i=e.customField.type===ee.SMARTWAIVER_TYPE;return t.isVisibleWhenBooking(e,r,null,null)&&!n&&!i})),o=_.filter(i,(function(e){return t.pricesCtrl.totalPricing(e).visibility.isRequired||"new-transportation"===e.customField.type})),a=_.filter(i,(function(e){return!e.customField.isDisplayOnly&&!t.pricesCtrl.totalPricing(e).visibility.isRequired&&e.customField.type!==ee.NEW_TRANSPORTATION_TYPE&&e.customField.type!==ee.MULTI_CAMPAIGN_TYPE})),s=_.filter(i,"customField.isDisplayOnly"),c={"custom-fields-count":_.isUndefined(n)?0:n.length,"custom-fields-non-required-input-field-count":a.length,"custom-fields-required-count":o.length,"custom-fields-display-only-count":s.length,"custom-fields-is-member-only-count":0,"custom-fields-titles-character-count":0,"custom-fields-descriptions-character-count":0,"custom-fields-required-titles-character-count":0,"custom-fields-required-descriptions-character-count":0};_.forEach(i,(function(e){c["custom-fields-is-member-only-count"]+=e.customField.isMemberOnly,c["custom-fields-titles-character-count"]+=e.customField.title.length,c["custom-fields-descriptions-character-count"]+=e.customField.description.length})),_.forEach(o,(function(e){c["custom-fields-required-titles-character-count"]+=e.customField.title.length,c["custom-fields-required-descriptions-character-count"]+=e.customField.description.length}));var u={"multi-campaign":"is-promo-code-field-available",waiver:"is-waiver-enabled"};return _.isUndefined(n)||_.pickBy(_.mapValues(n,(function(e){_.includes(_.keys(u),e.customField.type)&&(c[u[e.customField.type]]=!0)})),_.identity),c=_.mapKeys(c,(function(t,n){return"".concat(e,"-").concat(n)})),t.item&&(c.item=t.item.name,c["item-id"]=t.item.pk,c.items=t.item.name,c["item-ids"]=t.item.pk),t.availability&&(c.availability=t.availability.pk),c}},$=function(e){return function(t){return Y.effectiveBookingRestriction(t,e)}},Y=qe(qe({},je.e),{},{displayStatus:function(e){return Y.DISPLAY_STATUS_BY_STATUS[e]},cutoffReachedStart:function(e){var t=Y.cutoffReachedKind(e),n=Y.cutoffReachedHours(e);return At.cutoffStart(t,n,e.utcStartAt)},cutoffUnreachedStart:function(e){var t=Y.cutoffUnreachedKind(e),n=Y.cutoffUnreachedHours(e);return At.cutoffStart(t,n,e.utcStartAt)},effectiveBookingRestriction:function(e,t){return e.bookingRestriction?e.bookingRestriction[t]:e.item.bookingRestriction?e.item.bookingRestriction[t]:e.item[t]},isCallToBook:function(e){return e.isBookableOnlyByPhone&&(e.isSoldOut||e.isPastCutoffWithoutBookings||e.isPastCutoffWithBookings)},isCallToBookText:function(e,t){var n="";return e.isSoldOut?n=this.soldOutText(e):e.isPastCutoffWithBookings?n=this.cutoffReachedCallToBookText(e):e.isPastCutoffWithoutBookings&&(n=this.cutoffUnreachedCallToBookText(e)),t?n||"":n||T("Call to book")},soldOutText:$("soldOutText"),cutoffUnreachedCallToBookText:$("cutoffUnreachedCallToBookText"),cutoffReachedCallToBookText:$("cutoffReachedCallToBookText"),isBookableEverByPhone:$("isBookableEverByPhone"),cutoffReachedKind:$("cutoffReachedKind"),cutoffReachedHours:$("cutoffReachedHours"),cutoffUnreachedKind:$("cutoffUnreachedKind"),cutoffUnreachedHours:$("cutoffUnreachedHours"),isInPast:function(e){var t=e.utcEndAt,n=e.hasCustomers?Y.cutoffReachedStart(e):Y.cutoffUnreachedStart(e);return Math.max(t.unix(),n.unix())<moment().unix()},isInPastSimple:function(e){var t=moment().unix();return e.utcEndAt.unix()<t},isCancelled:function(e){return e.status===Y.CANCELLED_STATUS},isBookableByDashboardUser:function(e){var n;if(null!==(n=e.item)&&void 0!==n&&null!==(n=n.settings)&&void 0!==n&&n.isPrivateEvent)return 0===e.bookingCount;var r=t.get("auth");return!Y.isCancelled(e)||r.permissions.can("bookCancelled",Y,e.company)},minimumPartySize:function(e){return e.hasCustomers?Y.effectiveBookingRestriction(e,"minimumSubsequentPartySize"):Y.effectiveBookingRestriction(e,"minimumInitialPartySize")},maximumPartySize:function(e){return e.hasCustomers?Y.effectiveBookingRestriction(e,"maximumSubsequentPartySize"):Y.effectiveBookingRestriction(e,"maximumInitialPartySize")},blockedCustomerCount:function(e){return _.sumBy(e.blocks,"customerCount")},reservedCapacity:function(e){return _.sumBy(e.blocks,"reservedCapacity")},customFieldInstances:function(e){var t=[];return _.forEach(e.customerTypeRates,(function(e){_.ref.append(t,e.customerPrototype.customFieldInstances)})),_.ref.append(t,_.get(e.customFieldInstanceGroup,"customFieldInstances")),t},isEligibleForAutoFollowUpEmail:function(e){return e.item.isFollowUpEnabled},isEligibleForAutoReminderEmail:function(e){return e.item.isReminderEnabled},isEligibleForAutoReminderSms:function(e){return e.company.isSmsEnabled&&e.item.isSmsReminderEnabled},hasBookingWaiver:function(e){if(_.isUndefined(e))return!1;var t=e.bookings;return _.some(t,(function(e){return W.hasBookingLevelWaiver(e)||q.hasCustomerLevelWaiver(e.customers)||e.fhWaiverSignatures}))},isEligibleForMembershipRedemption:function(e,t,n){var r=_.get(t.currentBooking,"contact")||n.currentContact;return!(r&&!r.member)&&e.company.features.isMembershipsEnabled},AFFILIATE_SORT_ORDER:"affiliate",LAST_BOOKED_AT_SORT_ORDER:"lastBookedAt",LAST_BOOKED_BY_SORT_ORDER:"lastBookedBy",CONTACT_NAME_SORT_ORDER:"name",PAID_STATUS_SORT_ORDER:"status",PAX_COUNT_SORT_ORDER:"paxCount"}),V={COMPLETED_TYPE:"completed",PENDING_TYPE:"pending",items:function(e){return W.uniqueItems(e.allBookings)},isNoTax:function(e){return _.every(e.contributingBookings,"availability.item.isNoTax")},receiptFooter:function(e){var t=_.uniq(_.map(V.items(e),"receiptFooter"));return 1===t.length&&t[0]?t[0]:L.DEFAULT_RECEIPT_FOOTER},showTaxByType:function(e){return e.company.features.isTaxTypeBreakdownEnabled&&!(vt.LEGACY_TAX_TYPE_PK in e.contributingBookingCosts.totalCost.taxByType)}},j={COUNTRIES:r},K="rebook",H="cancel",W=qe(qe({},Ye.Q),{},{isFullyPaidToAffiliate:function(e){var t,n;return e.paidStatus===W.PAID_PAID_STATUS&&(null===(t=e.receiptCollectedByAffiliate)||void 0===t?void 0:t.total)&&!(null!==(n=e.receiptCollectedByCharter)&&void 0!==n&&n.total)},nonZeroGeneratedStoredValueCards:function(e){return _.filter(e.generatedStoredValueCards,(function(e){return e.balance>0}))},paymentsAndRefunds:function(e){var t=_.append.apply(null,_.map(_.reject(e.payments,"isHold"),"refunds"));return _.ref.append(t,e.payments),_.sortBy(t,"createdAt")},adjustBookingFee:function(e,t,n,r,i,o){var a=n+r;if(!a)return t;var s=Pt.Company.isRoundedPricingSupported(e,o);if(!i)return s&&t>Pt.Company._minimumBookingFee(e,o)&&(t+=Pt.Booking.roundPricing(t,a)),t;if(i<a){var c=a-i,u=_.roundHalfToEven(t*(c/a));return s&&u>Pt.Company._minimumBookingFee(e,o)&&(u+=Pt.Booking.roundPricing(u,c)),u}return 0},calculateBookingFeeDue:function(e,t,n){var r=e.company,i=e.costs.totalCost,o=Pt.Company.bookingFee({company:r,feeable:i.feeable,price:i.price,isAffiliation:n,isFreeAllowed:e.availability.item.isFreeAllowed,processorType:t}),a=e.payments.filter((function(e){return e.type===_e.STORED_VALUE_CARD_TYPE})).reduce((function(e,t){return e+t.receipt.gross}),0);return o=Pt.Booking.adjustBookingFee(r,o,i.price,i.tax,a,t),Math.max(o-e.receipt.bookingFee,0)},roundPricing:function(e,t){return e&&(t+e)%100!=0?100-(t+e)%100:0},affiliateCompany:function(e){return e.affiliation?e.affiliation.affiliateCompany:void 0},newTransportation:function(e){if(e.customFieldValues)return _.find(e.customFieldValues,(function(e){return e.customFieldInstance.customField.type===ee.NEW_TRANSPORTATION_TYPE}));console.warn("models.Booking.newTransportation: booking has no custom field values")},waiverCustomFields:function(e){var t=[],n=function(e){return ee.isWaiverType(e.customFieldInstance.customField)},r=function(e){return e.customFieldInstance.customField},i=_.map(_.filter(e.customFieldValues,n),r),o=[];if(_.forEach(e.customers,(function(e){o.push(_.map(_.filter(e.customFieldValues,n),r))})),o=_.flatten(o),(t=t.concat(o,i)).length)return _.uniqBy(t,"pk");console.warn("models.Booking.waivers: booking has no waiver custom fields")},hasBookingLevelWaiver:function(e){var t=e.customFieldValues;return _.some(t,(function(e){return Pt.CustomField.isWaiverType(e.customFieldInstance.customField)}))},hasWaiverType:function(e){return this.hasBookingLevelWaiver(e)||Pt.Customer.hasCustomerLevelWaiver(e.customers)},generatedCustomFields:function(e){var t={};_.forEach(e.generatedCodes,(function(e){var n=e.generatingCampaign,r=n.customField,i=t[r.uri]||{customField:r,generatedCampaigns:{}};t[r.uri]=i;var o=i.generatedCampaigns[n.uri]||{generatingCampaign:n,generatedCodes:[]};i.generatedCampaigns[n.uri]=o,o.generatedCodes.push(e)}));var n=_.sortBy(_.values(t,(function(e){return e.customField.name})));return _.forEach(n,(function(e){e.generatedCampaigns=_.sortBy(_.values(e.generatedCampaigns,(function(e){return e.generatingCampaign.campaign.name})))})),n},isEligibleForAutoFollowUpEmail:function(e){return e.item.isFollowUpEnabled&&!e.availability.isFollowUpDisabled&&e.contact.email},isEligibleForAutoReminderEmail:function(e){return e.item.isReminderEnabled&&!e.availability.isReminderDisabled&&e.contact.email},isEligibleForAutoReminderSms:function(e){return e.company.isSmsEnabled&&e.item.isSmsReminderEnabled&&!e.availability.isSmsReminderDisabled&&e.isSmsEnabled&&ie.isEligiblePhoneNumber(e.contact.phone,e.contact.phoneCountry,e.contact.company)},isEligibleForReviewExpress:function(e){return e.item.isReviewExpressEnabled&&e.contact.email},isEligibleForOnlineBookingAction:function(e,t){var n=e.paidStatus===W.PAID_PAID_STATUS,r=_.filter(e.payments,(function(e){return!e.isRefunded&&!e.isProcessorBasedType})),i=!1;return t===K?i=e.company.features.isOnlineRebookingEnabled:t===H&&(i=e.company.features.isOnlineCancellationEnabled),!e.isCancelled&&n&&!r.length&&e.company.features.isCancellationPoliciesEnabled&&i&&!!e.effectiveCancellationRule&&e.effectiveCancellationRule.isCancellationAllowed&&!!e.contact&&!!e.contact.email},isEligibleForOnlineCancellation:function(e){return(!Y.isInPast(e.availability)||Y.isCancelled(e.availability))&&W.isEligibleForOnlineBookingAction(e,H)},isEligibleForOnlineRebooking:function(e){if(e.isAffiliate)return!1;if(Y.isInPast(e.availability)||e.availability.item.isRetail)return!1;var t=_.filter(e.payments,(function(e){return!e.isRefunded&&!!e.processorType}));return!(_.uniq(_.map(t,"processorType")).length>1)&&W.isEligibleForOnlineBookingAction(e,K)},charterInvoiceRevenue:function(e){return e.affiliation?e.invoicedToCharter+e.invoiceableToCharter:null},charterInvoiceOwed:function(e){return e.affiliation?e.invoicedToAffiliate+e.invoiceableToAffiliate:null},isEligibleForCancellation:function(e,t){if(!e.company.features.isCancellationPoliciesEnabled)return!1;if(!e.effectiveCancellationRule)return!1;if(!e.effectiveCancellationRule.isCancellationAllowed)return!1;var n=t?t.company:null;return!e.affiliation||e.affiliation.affiliateCompany!==n||!_.some(e.payments,(function(e){return!e.isDeferred&&!e.isCollectedByAffiliate}))},isEligibleForRebook:function(e,t){return W.isEligibleForCancellation(e,t)},itemsInOrder:function(e){return e.isOrder?_.uniq(_.map(e.order.allBookings,"item")):[e.item]},hasEmailableDisputes:function(e){return _.some(e.payments,(function(e){return _e.isOpenDisputeStatus(e)}))},customerTypeRateCountKey:function(e){return"customerTypeRate:"+e.pk+"-count"},customerCardKey:function(e,t){return e.pk.toString()+"-"+t.toString()},customFieldInstanceKeyPrefix:function(e,t,n,r){var i;return i=_.isObject(t)?t.cls===B.cls?W.customerCardKey(t,n):t.key:_.isString(t)?t:"booking",_.isNumber(r)&&(i+="-pushed-"+r),"customFieldInstance"+e.pk+"For:"+i},customFieldInstanceKey:function(e,t,n,r){return W.customFieldInstanceKeyPrefix(e,t,n,r)+"-value"},adjustedPriceKeyPrefix:function(e,t,n){var r=_.isModelObject(e)?W.customFieldInstanceKeyPrefix(e,t,null,n):e;return r?r+"-"+gt.ADJUSTED_PRICE_KEY_PREFIX:gt.ADJUSTED_PRICE_KEY_PREFIX},clearCustomFieldValuesFromModel:function(e,t,n,r){var i=Pt.Booking.customFieldInstanceKey(t,n,null,r);delete e[i];var o=W.adjustedPriceKeyPrefix(t,n,r);_.forEach(["offset","rate","invoiceOffset","invoiceRate"],(function(t){delete e[o+t]}))},uniqueItems:function(e){return _.uniq(_.map(e,"item"))},effectivePrimaryLocation:function(e){var t=e.availability.item,n=t.startLocation,r=t.primaryLocation;return r||t.isCustomPrimaryLocation||(r=e.company.defaultItemPrimaryLocation),r&&n&&r.pk===n.pk&&(r=null),r},hasPushedCustomFieldInstancesNotOnAvailability:function(e,t){var n=[];return _.forEach(e.customers,(function(e){_.ref.append(n,_.filter(e.customFieldValues,"isPushed"))})),_.ref.append(n,_.filter(e.customFieldValues,"isPushed")),!!n.length&&_.difference(_.map(n,"customFieldInstance"),Y.customFieldInstances(t)).length>0},calculateOnlineInstallmentAmounts:function(e,t,n,r,i,a,s){if(!r||0===n)return{gross:0,fee:0,tax:0};var c,u=e.features.onlineInstallmentsFeeRate,l=e.features.onlineInstallmentsMinimumFee,d=t.tax>0&&r>0&&0==t.price,p=s&&e.directBookingFeeRate,m=t.tax/t.total;if(i)c=0;else if(p)c=Math.max(_.roundHalfToEven(t.feeable*u)-s,0),c=Pt.Company._minimumFee(c,t.price,a,l);else{var f=r*(t.feeable/t.total);c=0==f?0:Math.max(f*u,l)}var h=n===_.roundHalfToEven(r+c);if(!n){var g=r*m;return console.log("Preview installment amounts"),console.log("Calculated gross:",r),console.log("Calculated fee:",c),{gross:r,fee:_.roundHalfToEven(c),tax:_.roundHalfToEven(g)}}if(i||d){var v=_.roundHalfToEven(n*m);return console.log("Online deposits / tax only installment amounts"),console.log("Calculated gross:",n),console.log("Calculated fee:",0),{gross:n,fee:0,tax:v}}var y=1,b=0;t.price>0&&(y=t.tax/t.price,b=t.feeable/t.price);var T=u*b,E=0,k=n;h?(console.log("Pay in full installment amounts"),E=r/(y+1),p?k=r+c:(k=E*(T+y+1),E*T<l&&t.feeable>0&&(k=E+E*y+l))):(console.log("Partial payment installment amounts"),(E=n/(T+y+1))*T<l&&t.feeable>0&&(E=(n-l)/(y+1)));var C=_.roundHalfToEven(E*y),A=_.roundHalfToEven(E+C),P=_.roundHalfToEven(k-A);if(a=a||d,P=Pt.Company._minimumFee(P,t.price,a,l),!h){var S=n-(A+P);S>0?A+=S:S<0&&(P+=S)}console.log("Calculated gross:",A),console.log("Calculated fee:",P),console.log("Calculated tax:",C),console.log("Calculated rounded total:",_.roundHalfToEven(k));var O="Online installment:"+n+" must equal gross ("+A+") + booking fee ("+P+")";return o.Y.assert(P+A===n,O),{gross:A,fee:A>0?P:0,tax:C}},onlineInstallmentAmountsPreview:function(e,t,n,r,i,o){return W.calculateOnlineInstallmentAmounts(e,t,null,n,r,i,o)},onlineInstallmentMinimumAmount:function(e,t){var n=t.company.features.onlineInstallmentsMinimumFee,r=t.costs.totalCost.feeable,i=t.isDeposit,o=t.isOnline;return!r||i&&o?e:n+e},onlineInstallmentMaximumAmount:function(e){var t=W.onlineInstallmentAmountsPreview(e.company,e.costs.totalCost,e.amountDue,Pt.Booking.isOnlineDeposit(e),e.item.isFreeAllowed,e.receipt.bookingFee);return t.gross+t.fee},isOnlineDeposit:function(e){return e.isDeposit&&e.originalUserType===Pt.User.ONLINE_TYPE},updateResourceUses:function(e,t){var n=_.groupBy(t,"booking.pk");_.forEach(e,(function(e){e.resourceUses=n[e.pk]||[];var t=_.groupBy(e.resourceUses,"customer.pk");e.bookingLevelResourceUses=t[void 0]||[],_.forEach(e.customers,(function(e){e.resourceUses=t[e.pk]||[]}))}))},activeBookings:function(e){return _.map(_.reject(e,"isCancelled"),"pk")}}),q={hasCustomerLevelWaiver:function(e){return _.some(e,(function(e){var t=e.customFieldValues;return Pt.CustomerCustomFieldValue.hasWaiverType(t)}))},receiptCustomerGroupByKey:function(e,t){var n,r=e.customerTypeRate.customerPrototype.customerType.singular;return t&&e.booking.needsPricedConfirmations&&(r+="-"+e.costs.totalCost.price||0),null!==(n=e.benefitUses)&&void 0!==n&&n.length&&(r+="-"+e.benefitUses[0].benefit.name),r}},z={OTHER_AGENT:{name:T("Add new agent"),pk:-1}},X={OTHER_DESK:{name:T("Add new desk"),pk:-1}},Q={PERCENTAGE_COMMISSION_TYPE:"percentage",FLAT_COMMISSION_TYPE:"flat",AFFILIATE_TAKE_PAYMENT_PREFERENCE:"affiliate-take",CARD_ON_FILE_PAYMENT_PREFERENCE:"card-on-file",TAKE_PAYMENT_PREFERENCE:b.TAKE_PAYMENT_PREFERENCE,INFO_PAYMENT_PREFERENCE:b.INFO_PAYMENT_PREFERENCE,SKIP_PAYMENT_PREFERENCE:b.SKIP_PAYMENT_PREFERENCE,MAX_SELECTABLE_AFFILIATES:400,isOnlineBookingEnabled:function(e){var t=e.affiliateGroup&&e.affiliateGroup.groupPermissions;return t&&t.canCreateBookings},verboseName:T("affiliate"),verboseNamePlural:T("affiliates"),name:function(e){return e?e.affiliateCompany?e.affiliateCompany.name:e.unicode:""}},J={NEW_STATUS:"new",PENDING_STATUS:"pending",RUNNING_STATUS:"running",FAILED_STATUS:"failed",SUCCEEDED_STATUS:"succeeded",CANCELLED_STATUS:"cancelled",ALL_PARTNER_FILTER_OPTION:"all",DIRECT_PARTNER_FILTER_OPTION:"direct",ALL_AFFILIATE_FILTER_OPTION:"all",DIRECT_AFFILIATE_FILTER_OPTION:"direct",ALL_ITEM_FILTER_OPTION:"all",ALL_USER_FILTER_OPTION:"all",ONLINE_USER_FILTER_OPTION:"online",ORIGINAL_USER_TYPE_FILTER_OPTION:"original",CURRENT_USER_TYPE_FILTER_OPTION:"current",ALL_CANCELLED_BOOKINGS_FILTER_OPTION:"all",NO_CANCELLED_BOOKINGS_FILTER_OPTION:"none",NON_REFUNDED_CANCELLED_BOOKINGS_FILTER_OPTION:"non-refunded",ONLY_CANCELLED_BOOKINGS_FILTER_OPTION:"only",ALL_TRANSACTION_TAG_FILTER_OPTION:"all",ALL_SALESPERSON_FILTER_OPTION:"all",ALL_DISPUTE_STATUS_FILTER_OPTION:"all",ALL_CLOSED_DISPUTE_STATUS_FILTER_OPTION:"all-closed",ALL_OPEN_DISPUTE_STATUS_FILTER_OPTION:"all-open",ALL_CURRENCY_FILTER_OPTION:"all",UNCANCELLED_FILTER_OPTION:"uncancelled",REFUNDED_CANCELLED_FILTER_OPTION:"refunded",UNREFUNDED_CANCELLED_FILTER_OPTION:"unrefunded",ADVANCED_TYPE:"advanced",emptyFilters:function(){return _.mapValues(Pt.Report.MODELS,(function(){return[]}))},emptyColumns:function(){return _.mapValues(Pt.Report.MODELS,(function(){return{}}))},emptyCompanyOptions:function(e){return _.keyBy(e,"pk",(function(e){var t={};return e.isCharter&&(t.filters=J.emptyFilters()),e.isAffiliate&&(t.selectedAllPartners=void 0,t.allPartnerFilters=J.emptyFilters(),t.partners={},t.selectedPartners={}),t}))},emptyReportOptions:function(e){return{modelName:"",presetDateRange:"",startDate:"",endDate:"",dateType:"",filters:J.emptyFilters(),companies:J.emptyCompanyOptions(e),selectedCharters:{},selectedAffiliates:{},groups:[],isDetailed:"",columns:J.emptyColumns(),isOpened:!1,customFieldValueModel:""}},defaultGroups:function(){return[J.ITEM_GROUP]},datetimeGroups:function(){return[J.BOOKING_CREATED_AT_HOUR_GROUP,J.BOOKING_CANCELLED_AT_HOUR_GROUP,J.CUSTOMER_CHECKIN_STATUS_LAST_MODIFIED_AT_HOUR_GROUP,J.LINE_ITEM_CREATED_AT_HOUR_GROUP,J.AVAILABILITY_START_AT_HOUR_GROUP,J.PAYMENT_OR_REFUND_CREATED_AT_HOUR_GROUP,J.STORED_VALUE_CARD_CREATED_AT_HOUR_GROUP]},defaultBookingCancelledStatusFilter:function(){return{type:J.CANCELLED_STATUS_FILTER_TYPE,data:{value:[J.UNCANCELLED_FILTER_OPTION,J.UNREFUNDED_CANCELLED_FILTER_OPTION]}}},defaultFilters:function(){return _.assign(J.emptyFilters(),{Booking:[J.defaultBookingCancelledStatusFilter()]})},defaultBookingColumns:function(){return _.toTrueKeys([J.BOOKING_COUNT_COLUMN,J.BOOKING_ID_COLUMN,J.BOOKING_BOOKED_BY_COLUMN,J.CREATED_AT_COLUMN,J.AVAILABILITY_DATETIME_COLUMN,J.TOTAL_COST_PRICE_COLUMN,J.TOTAL_COST_TAX_COLUMN,J.TOTAL_COST_TOTAL_COLUMN,J.CONTACT_NAME_COLUMN,J.CUSTOMER_COUNT_COLUMN,J.AFFILIATE_COLUMN,J.VOUCHER_NUMBER_COLUMN,J.INVOICEABLE_TO_CHARTER_COLUMN,J.INVOICEABLE_TO_AFFILIATE_COLUMN,J.RECEIPT_PROCESSING_FEE_COLUMN,J.COLLECTED_TOTAL_COST_TOTAL_COLUMN,J.RECEIPT_NET_COLUMN])},defaultAffiliateProgramBookingColumns:function(){return _.toTrueKeys([J.BOOKING_ID_COLUMN,J.AFFILIATE_PROGRAM_BOOKING_COUNT_COLUMN,J.BOOKING_IS_CANCELLED_COLUMN,J.CREATED_AT_COLUMN,J.AFFILIATE_PROGRAM_BOOKING_COMPANY_NAME_COLUMN,J.ITEM_NAME_COLUMN,J.AFFILIATE_PROGRAM_BOOKING_AVAILABILITY_START_AT_COLUMN,J.CUSTOMER_COUNT_COLUMN,J.ONLINE_BOOKING_REFERENCE_COLUMN,J.AFFILIATE_PROGRAM_BOOKING_PAYABLE_TO_AFFILIATE_COLUMN,J.AFFILIATE_PROGRAM_BOOKING_INVOICE_COST_TOTAL_COLUMN])},defaultCustomerColumns:function(){return _.toTrueKeys([J.CUSTOMER_COUNT_COLUMN,J.TOTAL_COST_PRICE_COLUMN,J.TOTAL_COST_TAX_COLUMN,J.TOTAL_COST_TOTAL_COLUMN,J.COLLECTED_TOTAL_COST_PRICE_COLOUMN,J.COLLECTED_TOTAL_COST_TAX_COLOUMN,J.COLLECTED_TOTAL_COST_TOTAL_COLUMN])},defaultCustomFieldValueColumns:function(){return _.toTrueKeys([J.USE_COUNT_COLUMN,J.TOTAL_COST_PRICE_COLUMN,J.TOTAL_COST_TAX_COLUMN,J.TOTAL_COST_TOTAL_COLUMN,J.COLLECTED_TOTAL_COST_PRICE_COLOUMN,J.COLLECTED_TOTAL_COST_TAX_COLOUMN,J.COLLECTED_TOTAL_COST_TOTAL_COLUMN])},defaultResourceUseColumns:function(){return _.toTrueKeys([J.USE_COUNT_COLUMN])},defaultLineItemColumns:function(){return _.toTrueKeys([J.CREATED_AT_COLUMN,J.TOTAL_COST_PRICE_COLUMN,J.TOTAL_COST_TAX_COLUMN,J.TOTAL_COST_TOTAL_COLUMN,J.LINE_ITEM_DESCRIPTION_COLUMN])},defaultStoredValueCardColumns:function(){return _.toTrueKeys([J.CREATED_AT_COLUMN,J.STORED_VALUE_CARD_TYPE_COLUMN,J.STORED_VALUE_CARD_NUMBER_COLUMN])},defaultPaymentProcessingDocumentColumns:function(){return _.toTrueKeys([J.PAYMENT_PROCESSING_DOCUMENT_NUMBER_COLUMN,J.PAYMENT_PROCESSING_DOCUMENT_TOTAL_COLUMN,J.PAYMENT_PROCESSING_DOCUMENT_PERIOD_COLUMN])},defaultPaymentColumns:function(){return _.toTrueKeys([J.CREATED_AT_COLUMN,J.PAYMENT_OR_REFUND_COLUMN,J.PAYMENT_OR_REFUND_ID_COLUMN,J.PAYMENT_TYPE_COLUMN,J.PAYMENT_AND_REFUND_GROSS_COLUMN,J.PAYMENT_AND_REFUND_PROCESSING_FEE_COLUMN,J.PAYMENT_AND_REFUND_NET_COLUMN,J.PAYMENT_COUNT_COLUMN,J.REFUND_COUNT_COLUMN,J.PAYMENT_TOTAL_TAX_COLUMN,J.REFUND_TOTAL_PRICE_COLUMN])},defaultPaymentColumnsWithTax:function(){return _.assign(J.defaultPaymentColumns(),_.toTrueKeys([J.PAYMENT_AND_REFUND_TOTAL_TAX_COLUMN]))},defaultCustomerReportColumns:function(){return _.assign(J.emptyColumns(),{Customer:J.defaultCustomerColumns(),Booking:_.toTrueKeys([J.BOOKING_ID_COLUMN,J.BOOKING_COUNT_COLUMN,J.CUSTOMER_COUNT_COLUMN,J.TOTAL_COST_TOTAL_COLUMN])})},defaultColumns:function(){return _.assign(J.emptyColumns(),{Booking:J.defaultBookingColumns(),AffiliateProgramBookingLink:J.defaultAffiliateProgramBookingColumns(),Customer:J.defaultCustomerColumns(),CustomFieldValue:J.defaultCustomFieldValueColumns(),ResourceUse:J.defaultResourceUseColumns(),LineItem:J.defaultLineItemColumns(),StoredValueCard:J.defaultStoredValueCardColumns(),PaymentProcessingDocument:J.defaultPaymentProcessingDocumentColumns()})},paymentTypeChoicesForCompany:function(e,t){var n={};return n[_e.IDEAL_PROCESSOR_BASED_TYPE]="ideal",n[_e.SOFORT_PROCESSOR_BASED_TYPE]="sofort",n[_e.BANCONTACT_PROCESSOR_BASED_TYPE]="bancontact",n[_e.VIPPS_PROCESSOR_BASED_TYPE]="vipps",n[_e.AFTERPAY_PROCESSOR_BASED_TYPE]="afterpay-clearpay",e.filter((function(e){var r=n[e.value];if(!r)return!0;var i=Pt.Company.getPaymentMethodSettings(t,r);return(null==i?void 0:i.isEnabled)||!1}))},defaultReportOptions:function(e){var t=_.defaults({dateType:J.AVAILABILITY_DATE_TYPE,presetDateRange:J.YESTERDAY_DATE_RANGE,isDetailed:!1,groups:J.defaultGroups(),columns:J.defaultColumns(),filters:J.defaultFilters(),customFieldValueModel:yt.cls},J.emptyReportOptions(e)),n=e[0];return t.selectedCharters[n.pk]=n.isCharter,t.selectedAffiliates[n.pk]=!n.isCharter&&n.isAffiliate,t}},ee=qe(qe({},$e.i),{},{defaultCount:function(e){return e.type!==ee.COUNT_TYPE?"":e.countMin<=0&&e.countMax>=0?0:e.countMin},suggestedAmounts:function(e){if(e.type!==ee.CARD_GENERATOR_TYPE)return[];var t=Math.min(e.cardSuggestedAmount||2500,ee.MAX_CARDS_SUGGESTED_AMOUNT);return[t,2*t,4*t]},isDisplayOnly:function(e){return _.includes(ee.DISPLAY_ONLY_TYPES,e.type)},isManifestField:function(e){return!ee.isDisplayOnly(e)&&!_.includes([ee.NEW_TRANSPORTATION_TYPE,ee.CODE_GENERATOR_TYPE,ee.SMARTWAIVER_TYPE,ee.WHEREWOLF_TYPE],e.type)},isAggregatable:function(e){return _.includes([Pt.CustomField.EXTENDED_OPTION_TYPE,Pt.CustomField.CODE_TYPE,Pt.CustomField.MULTI_CAMPAIGN_TYPE,Pt.CustomField.YES_NO_TYPE,Pt.CustomField.TRANSPORTATION_TYPE,Pt.CustomField.COUNT_TYPE],e.type)},usesCheckbox:function(e){return _.includes([ee.YES_NO_TYPE,ee.CODE_GENERATOR_TYPE],e.type)},needsRequired:function(e){return!ee.isDisplayOnly(e)&&!_.includes([ee.TRANSPORTATION_TYPE,ee.COUNT_TYPE],e.type)},needsPricing:function(e){return _.includes([ee.YES_NO_TYPE,ee.CODE_TYPE,ee.CODE_GENERATOR_TYPE,ee.CARD_GENERATOR_TYPE,ee.NEW_TRANSPORTATION_TYPE,ee.COUNT_TYPE],e.type)},needsAlwaysPerCustomer:function(e){return ee.needsPricing(e)||_.includes([ee.EXTENDED_OPTION_TYPE],e.type)},pricedByValue:function(e){return e.type===ee.CARD_GENERATOR_TYPE},pricedByOptions:function(e){return _.includes([ee.EXTENDED_OPTION_TYPE,ee.MULTI_CAMPAIGN_TYPE],e.type)},isAdjustableType:function(e){return _.includes([ee.YES_NO_TYPE,ee.EXTENDED_OPTION_TYPE,ee.COUNT_TYPE],e.type)},needsBookingNotes:function(e){return _.includes([ee.CODE_TYPE,ee.CODE_GENERATOR_TYPE,ee.CARD_GENERATOR_TYPE,ee.MULTI_CAMPAIGN_TYPE,ee.YES_NO_TYPE,ee.TRANSPORTATION_TYPE,ee.NEW_TRANSPORTATION_TYPE,ee.EXTENDED_OPTION_TYPE,ee.COUNT_TYPE],e.type)},needsHint:function(e){return _.includes([ee.SHORT_TYPE,ee.LONG_TYPE,ee.CODE_TYPE,ee.NEW_TRANSPORTATION_TYPE,ee.MULTI_CAMPAIGN_TYPE],e.type)},hasExtraOptions:function(e){return _.includes([ee.EXTENDED_OPTION_TYPE,ee.TRANSPORTATION_TYPE,ee.MULTI_CAMPAIGN_TYPE],e.type)},isDefaultValueAllowed:function(e){return _.includes(ee.DEFAULT_VALUE_TYPES,e.type)},isValidRawValue:function(e,t,n){return e.type===ee.EXTENDED_OPTION_TYPE?""===t||_.isNumber(t)&&_.find(e.extendedOptions,{pk:t}):e.type!==ee.COUNT_TYPE||(n===ae.RANGE_TYPE?!(t.rangeStart>e.countMax||t.rangeEnd<e.countMin):_.isNumber(t)&&t>=e.countMin&&t<=e.countMax)},displayForRawValue:function(e,t,r){if(e.type===ee.EXTENDED_OPTION_TYPE){if(""===t)return"";var i=_.find(e.extendedOptions,{pk:t});return i?n(i):"Deleted option"}return e.type===ee.YES_NO_TYPE?t?"Yes":"No":r===ae.RANGE_TYPE?t.rangeStart+" — "+t.rangeEnd:_.isUndefined(t)||null===t?"":t.toString()},isOptionAvailable:function(e,t){if(""===t)return!0;var n=e.type;return n===ee.EXTENDED_OPTION_TYPE?_.some(e.extendedOptions,(function(e){return e.pk===t})):n===ee.TRANSPORTATION_TYPE?_.some(e.transportationOptions,(function(e){return e.pk===t})):n!==ee.COUNT_TYPE||t>=e.countMin&&t<=e.countMax},autofillValue:function(e,t,n){if(!_.isUndefined(t)){var r=e.customField;if(ee.isOptionAvailable(r,t))return n&&r.type===ee.NEW_TRANSPORTATION_TYPE&&(t=void 0),_.clone(t)}},verboseName:T("custom field"),verboseNamePlural:T("custom fields"),dropdownName:function(e){return"["+e.shortDisplayType+"] "+e.name}});_.assign(ee,{GROUPED_TYPES:{text:[ee.SHORT_TYPE,ee.LONG_TYPE],checkbox:[ee.YES_NO_TYPE,ee.CODE_GENERATOR_TYPE],dropdown:[ee.EXTENDED_OPTION_TYPE],quantity:[ee.COUNT_TYPE],transportation:[ee.NEW_TRANSPORTATION_TYPE,ee.TRANSPORTATION_TYPE],code:[ee.MULTI_CAMPAIGN_TYPE,ee.CODE_TYPE],label:[ee.HEADER_TYPE],waiver:[ee.SMARTWAIVER_TYPE,ee.WHEREWOLF_TYPE],"gift-card":[ee.CARD_GENERATOR_TYPE]},groupedType:function(e){return _.findKey(ee.GROUPED_TYPES,(function(t){return _.includes(t,e)}))},DEFAULT_VALUE_TYPES:[ee.SHORT_TYPE,ee.YES_NO_TYPE,ee.CODE_GENERATOR_TYPE,ee.EXTENDED_OPTION_TYPE,ee.COUNT_TYPE],DEPRECATED_TYPES:[ee.NOTE_TYPE,ee.CODE_TYPE,ee.TRANSPORTATION_TYPE],disabledTypes:function(e){var t=[].concat(ee.DEPRECATED_TYPES);return e.features.isTransportationEnabled||t.push(Pt.CustomField.NEW_TRANSPORTATION_TYPE),t},enabledTypesForCompany:function(e){var t=a.db.slipstream("customFieldChoices");return _.filter(t,(function(t){return!_.includes(ee.disabledTypes(e),t[0])}))},group:function(e){return e.isArchived?T("Archived"):e.isHidden?T("Deleted"):T("Active")}});var te=function(e){return _.some(e.payments,(function(e){return e.type!==_e.AFFILIATE_TYPE&&!e.isDeferred&&!e.isRefunded}))},ne=function(e){return _.some(e.payments,(function(e){return e.type!==_e.AFFILIATE_TYPE&&!e.isDeferred&&!!e.refundCount}))},re={AVAILABILITY_MANIFEST_TYPE:"availability-manifest",ORDER_CONFIRMATION_TYPE:"order-confirmation",ORDER_CANCELLATION_TYPE:"order-cancellation",ORDER_RECEIPT_TYPE:"order-receipt",ORDER_REFUNDED_TYPE:"order-refunded",ORDER_SHARE_TYPE:"order-share",BANK_ACCOUNT_CHANGE_TYPE:"bank-account-change",BOOKING_CANCELLATION_TYPE:"booking-cancellation",BOOKING_CONFIRMATION_TYPE:"booking-confirmation",BOOKING_CONTRACT_SIGNED_TYPE:"booking-contract-signed",BOOKING_FOLLOW_UP_TYPE:"booking-follow-up",BOOKING_MESSAGE_TYPE:"booking-message",BOOKING_PROPOSAL_TYPE:"booking-proposal",BOOKING_PAYMENT_RULE_PAID_TYPE:"booking-payment-rule-paid",BOOKING_PAYMENT_RULE_OVERDUE_TYPE:"booking-payment-rule-overdue",BOOKING_RECEIPT_TYPE:"booking-receipt",BOOKING_REBOOKED_TYPE:"booking-rebooked",BOOKING_REFUNDED_TYPE:"booking-refunded",BOOKING_REMINDER_TYPE:"booking-reminder",BOOKING_SHARE_TYPE:"booking-share",NOTIFICATION_FAILURE_TYPE:"notification-failure",CREW_CHANGE_TYPE:"crew-change",CREW_REMINDER_TYPE:"crew-reminder",DAILY_MANIFEST_TYPE:"daily-manifest",DISPUTE_CREATED_TYPE:"dispute",DISPUTE_CLOSED_TYPE:"dispute-closed",INVOICE_PAYMENT_REQUEST_TYPE:"invoice-payment-request",INVOICE_UPLOAD_STATUS_UPDATE_TYPE:"invoice-upload-status-update",STORED_VALUE_CARD_TYPE:"stored-value-card",FAILED_ONLINE_PAYMENTS_TYPE:"failed-online-payments",PROCESSOR_VERIFICATION_REQUIRED_TYPE:"processor-verification-required",displayType:function(e){var t=e.replace("booking-","").replace("order-","");return _.upperFirst(t)},notificationTypesForOrder:function(e){var t=[];return e.contributingBookingCount&&t.push(re.ORDER_CONFIRMATION_TYPE),_.some(e.allBookings,te)&&t.push(re.ORDER_RECEIPT_TYPE),_.some(e.allBookings,ne)&&t.push(re.ORDER_REFUNDED_TYPE),_.some(e.allBookings,"isCancelled")&&t.push(re.ORDER_CANCELLATION_TYPE),t},notificationTypesForBooking:function(e){if(e.rebookedTo)return[];if(e.proposal&&e.proposal.status===xe.J.STATUS_UNCONFIRMED)return[re.BOOKING_PROPOSAL_TYPE];var t=[];return e.isCancelled?t.push(re.BOOKING_CANCELLATION_TYPE):e.rebookedFrom?(t.push(re.BOOKING_REBOOKED_TYPE),e.item.settings.isMemberships||t.push(re.BOOKING_REMINDER_TYPE),t.push(re.BOOKING_CONFIRMATION_TYPE)):(t.push(re.BOOKING_CONFIRMATION_TYPE),e.item.settings.isMemberships||t.push(re.BOOKING_REMINDER_TYPE)),te(e)&&t.push(re.BOOKING_RECEIPT_TYPE),ne(e)&&t.push(re.BOOKING_REFUNDED_TYPE),t.push(re.BOOKING_MESSAGE_TYPE),e.item.settings.isMemberships||t.push(re.BOOKING_FOLLOW_UP_TYPE),e.proposal&&t.push(re.BOOKING_PROPOSAL_TYPE),t},isPreviewable:function(e){return _.includes([re.ORDER_CANCELLATION_TYPE,re.ORDER_CONFIRMATION_TYPE,re.BOOKING_CANCELLATION_TYPE,re.BOOKING_CONFIRMATION_TYPE,re.BOOKING_FOLLOW_UP_TYPE,re.BOOKING_MESSAGE_TYPE,re.BOOKING_REMINDER_TYPE,re.INVOICE_PAYMENT_REQUEST_TYPE,re.BOOKING_RECEIPT_TYPE],e)},isSubjectEditable:function(e){return _.includes([re.BOOKING_CANCELLATION_TYPE,re.BOOKING_FOLLOW_UP_TYPE,re.BOOKING_MESSAGE_TYPE,re.BOOKING_REBOOKED_TYPE,re.BOOKING_RECEIPT_TYPE,re.BOOKING_REFUNDED_TYPE,re.ORDER_RECEIPT_TYPE,re.ORDER_REFUNDED_TYPE],e)},filterByType:function(e,t){return _.filter(e,(function(e){return e.type===t}))},bookingConfirmationNotifications:function(e){return re.filterByType(e,re.BOOKING_CONFIRMATION_TYPE)},orderConfirmationNotifications:function(e){return re.filterByType(e,re.ORDER_CONFIRMATION_TYPE)},bookingFollowUpNotifications:function(e){return re.filterByType(e,re.BOOKING_FOLLOW_UP_TYPE)},bookingRebookedNotifications:function(e){return re.filterByType(e,re.BOOKING_REBOOKED_TYPE)},bookingReminderNotifications:function(e){return re.filterByType(e,re.BOOKING_REMINDER_TYPE)},invoicePaymentRequestNotifications:function(e){return re.filterByType(e,re.INVOICE_PAYMENT_REQUEST_TYPE)},UNKNOWN_STATUS:"unknown",PROCESSED_STATUS:"processed",DEFERRED_STATUS:"deferred",DELIVERED_STATUS:"delivered",USER_OPENED_STATUS:"open",USER_CLICKED_URL_STATUS:"click",BOUNCE_STATUS:"bounce",DROPPED_STATUS:"dropped",USER_REPORTED_SPAM_STATUS:"spamreport",USER_UNSUBSCRIBED_STATUS:"unsubscribe",isOpened:function(e){return _.includes([re.USER_OPENED_STATUS,re.USER_CLICKED_URL_STATUS,re.USER_REPORTED_SPAM_STATUS,re.USER_UNSUBSCRIBED_STATUS],e)},isFailed:function(e){return _.includes([re.BOUNCE_STATUS,re.DROPPED_STATUS],e)},subjectForDisputeType:function(e){return interpolate(T("[Response Needed] New Dispute for Booking #%(bookingId)s (%(personName)s)"),{bookingId:e.pk,personName:e.contact.name})}},ie={US_COUNTRY_CODE:i,INTERNATIONAL_ENABLED_COUNTRIES:r,INTERNATIONAL_DISABLED_COUNTRIES:[[i,"USA"]],TEST_NUMBERS:["+15005550001","+15005550002","+15005550003","+15005550004","+15005550006","+15005550009"],INTERNATIONAL_ENABLED_NUMBER_REGEX:/^\+?\d{5,15}$/,INTERNATIONAL_DISABLED_NUMBER_REGEX:/^(\+1|1)?\d{10}$/,INTERNATIONAL_ENABLED_NUMBER_MAX_LENGTH:16,INTERNATIONAL_DISABLED_NUMBER_MAX_LENGTH:12,isTestNumber:function(e){var n="+"+t.get("phoneNumbers").digits(e);return _.includes(ie.TEST_NUMBERS,n)},isTestNumberAllowed:function(){return window.slipstream&&"production"!=window.slipstream.configuration&&window.slipstream.isTwilioTestAccountEnabled},isEligiblePhoneNumber:function(e,n,r){if(ie.isTestNumberAllowed()&&ie.isTestNumber(e))return!0;var o=t.get("phoneNumbers");return!!o.isPossiblyValid(e)&&(n?n===i?o.parseUsPhoneNumber(e).isUsPhoneNumber:r?r.features.isInternationalSmsEnabled:(console.warn("SmsNotification.isEligiblePhoneNumber: company not provided"),!1):!!o.parseUsPhoneNumber(e).isUsPhoneNumber||(r?r.features.isInternationalSmsEnabled:(console.warn("SmsNotification.isEligiblePhoneNumber: company not provided"),!1)))},groupByStatus:function(e){var t=_.groupBy(e,"status"),n=[];return _.forEach(["delivered","sent","pending","accepted","queued","sending","rejected","undelivered","failed","invalid"],(function(e){var r=t[e];r&&r.length&&n.push({status:e,displayStatus:r[0].displayStatus,items:r})})),n}},ge={AVAILABILITY_MANIFEST_TYPE:re.AVAILABILITY_MANIFEST_TYPE,BANK_ACCOUNT_CHANGE_TYPE:re.BANK_ACCOUNT_CHANGE_TYPE,BOOKING_CONFIRMATION_TYPE:re.BOOKING_CONFIRMATION_TYPE,BOOKING_CANCELLATION_TYPE:re.BOOKING_CANCELLATION_TYPE,BOOKING_CONTRACT_SIGNED_TYPE:re.BOOKING_CONTRACT_SIGNED_TYPE,BOOKING_PAYMENT_RULE_PAID_TYPE:re.BOOKING_PAYMENT_RULE_PAID_TYPE,BOOKING_PAYMENT_RULE_OVERDUE_TYPE:re.BOOKING_PAYMENT_RULE_OVERDUE_TYPE,NOTIFICATION_FAILURE_TYPE:re.NOTIFICATION_FAILURE_TYPE,CREW_CHANGE_TYPE:re.CREW_CHANGE_TYPE,CREW_REMINDER_TYPE:re.CREW_REMINDER_TYPE,DAILY_MANIFEST_TYPE:re.DAILY_MANIFEST_TYPE,DISPUTE_CREATED_TYPE:re.DISPUTE_CREATED_TYPE,DISPUTE_CLOSED_TYPE:re.DISPUTE_CLOSED_TYPE,INVOICE_UPLOAD_STATUS_UPDATE_TYPE:re.INVOICE_UPLOAD_STATUS_UPDATE_TYPE,FAILED_ONLINE_PAYMENTS_TYPE:re.FAILED_ONLINE_PAYMENTS_TYPE,PROCESSOR_VERIFICATION_REQUIRED_TYPE:re.PROCESSOR_VERIFICATION_REQUIRED_TYPE,DIRECT_BOOKING_OPTION:"isDirect",ONLINE_BOOKING_OPTION:"isOnline",AFFILIATE_BOOKING_OPTION:"isAffiliate",REBOOKED_BOOKING_OPTION:"isRebooked",isTypeSupported:function(e,t){return t===ge.BANK_ACCOUNT_CHANGE_TYPE||t===ge.PROCESSOR_VERIFICATION_REQUIRED_TYPE?e.isAffiliate||e.isCharter:t===ge.INVOICE_UPLOAD_STATUS_UPDATE_TYPE?(e.isAffiliate||e.isCharter)&&e.isInvoicingEnabled:t===ge.FAILED_ONLINE_PAYMENTS_TYPE?"eur"===e.processorCurrency:_.includes(ge.PRIVATE_EVENT_TYPES,t)?e.isCharter&&e.features.isPrivateEventsEnabled:e.isCharter},isAnyTypeSupported:function(e){return _.some(ge.TYPES,(function(t){return ge.isTypeSupported(e,t)}))},isUserSubscribed:function(e,t,n){return _.some(e,(function(e){return e.user===t&&e.type===n}))}};ge.TYPES=[ge.AVAILABILITY_MANIFEST_TYPE,ge.BANK_ACCOUNT_CHANGE_TYPE,ge.BOOKING_CANCELLATION_TYPE,ge.BOOKING_CONFIRMATION_TYPE,ge.BOOKING_CONTRACT_SIGNED_TYPE,ge.BOOKING_PAYMENT_RULE_PAID_TYPE,ge.BOOKING_PAYMENT_RULE_OVERDUE_TYPE,ge.NOTIFICATION_FAILURE_TYPE,ge.CREW_CHANGE_TYPE,ge.CREW_REMINDER_TYPE,ge.DAILY_MANIFEST_TYPE,ge.DISPUTE_CREATED_TYPE,ge.DISPUTE_CLOSED_TYPE,ge.INVOICE_UPLOAD_STATUS_UPDATE_TYPE,ge.FAILED_ONLINE_PAYMENTS_TYPE,ge.PROCESSOR_VERIFICATION_REQUIRED_TYPE],ge.ITEM_SUBSCRIPTION_TYPES=[ge.AVAILABILITY_MANIFEST_TYPE,ge.BOOKING_CONFIRMATION_TYPE,ge.BOOKING_CANCELLATION_TYPE,ge.NOTIFICATION_FAILURE_TYPE,ge.CREW_CHANGE_TYPE,ge.CREW_REMINDER_TYPE,ge.DISPUTE_CREATED_TYPE,ge.DISPUTE_CLOSED_TYPE],ge.HOURS_BEFORE_SUBSCRIPTION_TYPES=[ge.AVAILABILITY_MANIFEST_TYPE,ge.CREW_REMINDER_TYPE,ge.DAILY_MANIFEST_TYPE],ge.HOURS_BEFORE_DEFAULTS={},ge.HOURS_BEFORE_DEFAULTS[ge.AVAILABILITY_MANIFEST_TYPE]=24,ge.HOURS_BEFORE_DEFAULTS[ge.CREW_REMINDER_TYPE]=24,ge.HOURS_BEFORE_DEFAULTS[ge.DAILY_MANIFEST_TYPE]=-6,ge.CREW_AVAILABILITIES_ONLY_TYPES=[ge.AVAILABILITY_MANIFEST_TYPE,ge.BOOKING_CONFIRMATION_TYPE],ge.BOOKING_OPTION_TYPES=[ge.BOOKING_CANCELLATION_TYPE,ge.BOOKING_CONFIRMATION_TYPE],ge.BOOKING_OPTIONS=[ge.DIRECT_BOOKING_OPTION,ge.ONLINE_BOOKING_OPTION,ge.AFFILIATE_BOOKING_OPTION,ge.REBOOKED_BOOKING_OPTION],ge.BOOKING_OPTIONS_BY_TYPE={},ge.BOOKING_OPTIONS_BY_TYPE[ge.BOOKING_CANCELLATION_TYPE]=[ge.DIRECT_BOOKING_OPTION,ge.ONLINE_BOOKING_OPTION,ge.AFFILIATE_BOOKING_OPTION],ge.BOOKING_OPTIONS_BY_TYPE[ge.BOOKING_CONFIRMATION_TYPE]=[ge.DIRECT_BOOKING_OPTION,ge.ONLINE_BOOKING_OPTION,ge.AFFILIATE_BOOKING_OPTION,ge.REBOOKED_BOOKING_OPTION],ge.PRIVATE_EVENT_TYPES=[ge.BOOKING_CONTRACT_SIGNED_TYPE,ge.BOOKING_PAYMENT_RULE_PAID_TYPE,ge.BOOKING_PAYMENT_RULE_OVERDUE_TYPE];var ve={verboseName:T("public headline"),verboseNamePlural:T("public headlines"),CUSTOM:{name:T("Custom"),pk:"custom"},ANY:{name:T("Any"),pk:"any"},NONE_FILTER:{name:T("None"),pk:"none"},NONE:{name:T("None"),pk:null},group:function(e){return e.pk&&_.isNumber(e.pk)?T("Public Headlines"):void 0}},ye={CUSTOM:{pk:-1,name:T("Custom"),type:"custom",displayType:T("Other")},ORDER_CONFIRMATION_TYPE:re.ORDER_CONFIRMATION_TYPE,CANCELLATION_TYPE:re.BOOKING_CANCELLATION_TYPE,CONFIRMATION_TYPE:re.BOOKING_CONFIRMATION_TYPE,FOLLOW_UP_TYPE:re.BOOKING_FOLLOW_UP_TYPE,MESSAGE_TYPE:re.BOOKING_MESSAGE_TYPE,RECEIPT_TYPE:re.BOOKING_RECEIPT_TYPE,REBOOKED_TYPE:re.BOOKING_REBOOKED_TYPE,REFUNDED_TYPE:re.BOOKING_REFUNDED_TYPE,CUSTOM_TYPE:"custom",INVOICE_PAYMENT_REQUEST_TYPE:re.INVOICE_PAYMENT_REQUEST_TYPE,TYPES:[re.BOOKING_CANCELLATION_TYPE,re.BOOKING_CONFIRMATION_TYPE,re.BOOKING_FOLLOW_UP_TYPE,re.BOOKING_MESSAGE_TYPE,re.BOOKING_RECEIPT_TYPE,re.BOOKING_REBOOKED_TYPE,re.BOOKING_REFUNDED_TYPE,re.INVOICE_PAYMENT_REQUEST_TYPE,"CUSTOM"],BOOKING_TYPES:[re.BOOKING_CANCELLATION_TYPE,re.BOOKING_CONFIRMATION_TYPE,re.BOOKING_FOLLOW_UP_TYPE,re.BOOKING_MESSAGE_TYPE,re.BOOKING_RECEIPT_TYPE,re.BOOKING_REBOOKED_TYPE,re.BOOKING_REFUNDED_TYPE],ORDER_TYPES:[re.BOOKING_CANCELLATION_TYPE,re.BOOKING_CONFIRMATION_TYPE,re.BOOKING_MESSAGE_TYPE,re.BOOKING_RECEIPT_TYPE,re.BOOKING_REFUNDED_TYPE],displayType:re.displayType},be={isUsable:function(e,t){var n=t.isAffiliate&&e.isVisibleWhenCollectedByAffiliate,r=t.isCharter&&e.isVisibleWhenCollectedByCharter;return n||r},isVisibleWhenCollectedByCharter:function(e){return _.filter(e,"isVisibleWhenCollectedByCharter")},isVisibleWhenCollectedByAffiliate:function(e){return _.filter(e,"isVisibleWhenCollectedByAffiliate")}},Te={OFFLINE_STATUS:"offline",ONLINE_STATUS:"online",STRIPE_ERRORS:{reader_error:T("Device error."),canceled:T("Payment cancelled."),no_established_connection:T("Device not connected."),no_active_collect_payment_method_attempt:T("Unable to cancel payment."),cancelable_already_completed:T("Unable to cancel payment."),network_error:T("Error connecting to device."),card_declined:T("Could not process payment because the card was declined. You may need to call the card issuer or try a different card."),requires_payment_method:T("Card declined, try a different card (or try again with the same card)."),requires_confirmation:T("Temporary connectivity problem, please try again."),already_connected:T("Connect to reader failed because the reader is already connected."),cancelable_already_canceled:T("Cancellation failed because the operation has already been cancelled."),discovery_too_many_readers:T("Please try again, or contact FareHarbor Support. (S-READERS)"),failed_fetch_connection_token:T("Could not fetch a connection token."),invalid_reader_version:T("Please update the EMV card reader."),network_timeout:T("Network timeout."),no_active_read_reusable_card_attempt:T("An error occurred, please try again."),expired_card:T("Could not process payment because the card is cancelled or expired. Please try a different card."),insufficient_funds:T("Could not process payment because the account has insufficient funds. Please call the card issuer or try another card."),lost_card:T("Could not process payment because the card was reported lost or stolen. Please try a different card."),stolen_card:T("Could not process payment because the card was reported lost or stolen. Please try a different card."),incorrect_pin:cT("PIN is short for Personal Identification Number, used when making card payments","Card declined due to invalid PIN."),call_issuer:T("Could not process payment because the card was declined. You may need to call the card issuer or try a different card."),withdrawal_count_limit_exceeded:T("Could not process payment because the account has insufficient funds. Please call the card issuer or try another card."),payment_intent_is_null:T("Request timed out, please try again.")},ADYEN_ERRORS:{Aborted:T("Payment cancelled."),Busy:T("Device is currently in use."),Cancel:T("Payment cancelled."),DeviceOut:T("Device unexpectedly disconnected, or battery level is too low."),InvalidCard:T("Could not process payment because the card was declined. You may need to call the card issuer or try a different card."),NotAllowed:T("Could not process payment because the card was declined. You may need to call the card issuer or try a different card."),Refusal:T("Could not process payment because the card was declined. You may need to call the card issuer or try a different card."),UnreachableHost:T("Network timeout, please try again"),WrongPIN:cT("PIN is short for Personal Identification Number, used when making card payments","Card declined due to invalid PIN.")},CONNECT_READER_ERROR_CODE:"reader_error",READER_IN_USE_ERROR_MESSAGE:"Reader is currently in use.",UNKNOWN_ERROR:T("Unknown error. Please refresh the page and try again."),CANCELLED_ERROR:T("Payment cancelled")},Ee={PENDING_STATUS:"pending",DISPUTED_STATUS:"disputed",WON_STATUS:"won",LOST_STATUS:"lost",REFUNDED_STATUS:"refunded",ACCEPTED_STATUS:"accepted",displayStatus:function(e){return _.upperFirst(e)}};Ee.OPEN_STATUSES=[Ee.PENDING_STATUS,Ee.DISPUTED_STATUS],Ee.CLOSED_STATUSES=[Ee.WON_STATUS,Ee.LOST_STATUS,Ee.ACCEPTED_STATUS,Ee.REFUNDED_STATUS],Ee.STATUSES=Ee.OPEN_STATUSES.concat(Ee.CLOSED_STATUSES);var _e=qe(qe({},Ne.$),{},{isOpenDisputeStatus:function(e){return _.includes(_e.OPEN_DISPUTE_STATUES,e.disputeStatus)},isClosedDisputeStatus:function(e){return _.includes(_e.CLOSED_DISPUTE_STATUSES,e.disputeStatus)},isDisputedAndNonRefundable:function(e){return e.disputeStatus===_e.DISPUTED_DISPUTE_STATUS||e.disputeStatus===_e.LOST_DISPUTE_STATUS||e.disputeStatus===_e.ACCEPTED_DISPUTE_STATUS||e.disputeStatus===_e.REFUNDED_DISPUTE_STATUS},isPaymentInitiated:function(e){return e.status===_e.INITIATED_PAYMENT_STATUS},isPaymentSucceeded:function(e){return e.status===_e.SUCCEEDED_PAYMENT_STATUS},isPaymentPending:function(e){return e.status===_e.PENDING_PAYMENT_STATUS},isPaymentFailed:function(e){return e.status===_e.FAILED_PAYMENT_STATUS},isEmv:function(e){return e.type===_e.CC_TYPE&&e.metadata&&e.metadata.isEmv},isEmvSignatureRequired:function(e){return _e.isEmv(e)&&e.metadata.isEmvSignatureRequired},isPartialRefundAllowed:function(e){return!(!e.receipt.gross||e.isProcessorBasedType&&e.isDisputed&&e.disputeStatus!==_e.WON_DISPUTE_STATUS&&e.disputeStatus!==_e.PENDING_DISPUTE_STATUS)},isNotCardOnFileProcessorBasedType:function(e){return _e.isProcessorBasedType(e)&&!e.isCardOnFile},isProcessorBasedType:function(e){return e.type===_e.CC_TYPE||e.type===_e.LEGACY_CC_TYPE},isDemoCardNumber:function(e){return _.includes(_e.DEMO_CARD_NUMBERS,e)},isPostalCodeRequired:function(e,t){return!!_.includes(_e.POSTAL_CODE_VERIFIED_COUNTRIES,e)||"CA"===e&&t},isPostalCodeVerified:function(e){return _.includes(_e.POSTAL_CODE_VERIFIED_COUNTRIES,e)},cardPayments:function(e,t){var n={};return _.forEach(e,(function(e){if(!t&&e.type===_e.CC_TYPE||t&&e.isProcessorBasedType){var r=e.processorBasedType+"-"+e.processorBasedIdentifier;n[r]||(n[r]=e)}})),_.values(n)},relatedCardPayments:function(e,t){return _.union.apply(null,_.map(e.contact.relatedBookings,(function(e){return _e.cardPayments(e.payments,t)})))},isGratuityEnabled:function(e){var t=e.bookings?e.bookings:[e.booking];return _.some(_.map(t,"item"),{isGratuityEnabled:!0})},receiptFooters:function(e){return _.filter(_.map(_e.items(e),"receiptFooter"))},order:function(e){return e.bookings&&e.bookings.length?e.bookings[0].order:null},hasMultipleVisibleContributingBookings:function(e){return!!e.bookings&&e.bookings.length+ +!!e.invisibleBookingCount>1},items:function(e){return e.booking?[e.booking.item]:W.uniqueItems(e.bookings)},sortByCreatedAt:function(e){return _.orderBy(e,(function(e){return moment.isMoment(e.createdAt)?e.createdAt.unix():0}),!1)},printablePayments:function(e){var t=_.map(e,(function(e){return e.aggregatedPayment&&e.aggregatedPayment.isAggregated?e.aggregatedPayment:e}));return _.filter(t,(function(e){return!e.isDeferred&&e.type!==_e.AFFILIATE_TYPE}))},taxByType:function(e,t){if(!e.company.features.isTaxTypeBreakdownEnabled)return null;var n,r=t?"initialCosts":"costs";return n=_.isArray(e.payments)?_.reduce(e.payments,(function(e,t){return _.sumObjectValues(e,t[r].totalCost.taxByType)}),{}):e[r].totalCost.taxByType,vt.LEGACY_TAX_TYPE_PK in n?null:n},holds:function(e){return _.filter(e,(function(e){return e.isHold||e.holdReleasedOn}))},nonHoldPayments:function(e){return _.reject(e,(function(e){return e.isHold||e.holdReleasedOn}))},isActiveHold:function(e){return e.isHold&&e.expiresAt.isAfter(moment())}});_e.OPEN_DISPUTE_STATUES=[_e.PENDING_DISPUTE_STATUS,_e.DISPUTED_DISPUTE_STATUS],_e.CLOSED_DISPUTE_STATUSES=[_e.WON_DISPUTE_STATUS,_e.LOST_DISPUTE_STATUS,_e.ACCEPTED_DISPUTE_STATUS,_e.REFUNDED_DISPUTE_STATUS];var ke={FAILED_TRANSFER_STATUS:"failed",SUCCEEDED_TRANSFER_STATUS:"succeeded",taxByType:function(e){if(!e.payment.company.features.isTaxTypeBreakdownEnabled)return null;var t=e.costs.totalCost.taxByType;return vt.LEGACY_TAX_TYPE_PK in t?null:t}},Ce={ALL_PAYMENT_RECEIPTS:"all",printedAt:function(){return moment()}},Ae={ADJUSTMENT_TAG:"adjustment",FUND_BOOKING_FEE_PROCESSING_FEE_TAG:"fund-booking-fee",FUND_PROCESSING_FEE_TAG:"fund-processing-fee",OTHER_TAG:"other",PAYMENT_BOOKING_FEE_TAG:"payment-booking-fee",PAYMENT_BOOKING_FEE_PROCESSING_FEE_TAG:"payment-booking-fee-processing-fee",PAYMENT_GROSS_TAG:"payment-gross",PAYMENT_PROCESSING_FEE_TAG:"payment-processing-fee",PAYOUT_TAG:"payout",REFUND_GROSS_TAG:"refund-gross",REFUND_BOOKING_FEE_TAG:"refund-booking-fee",REFUND_BOOKING_FEE_PROCESSING_FEE_TAG:"refund-booking-fee-processing-fee",REFUND_PROCESSING_FEE_TAG:"refund-processing-fee",TRANSFER_TAG:"transfer",UPLOAD_TAG:"upload",UNKNOWN_TAG:"",displayTag:function(e){return e===Ae.UNKNOWN_TAG?"Unknown":_.upperFirst(e.split("-").join(" "))}};Ae.TAGS=[Ae.ADJUSTMENT_TAG,Ae.FUND_BOOKING_FEE_PROCESSING_FEE_TAG,Ae.FUND_PROCESSING_FEE_TAG,Ae.OTHER_TAG,Ae.PAYMENT_BOOKING_FEE_TAG,Ae.PAYMENT_BOOKING_FEE_PROCESSING_FEE_TAG,Ae.PAYMENT_GROSS_TAG,Ae.PAYMENT_PROCESSING_FEE_TAG,Ae.PAYOUT_TAG,Ae.REFUND_GROSS_TAG,Ae.REFUND_BOOKING_FEE_TAG,Ae.REFUND_BOOKING_FEE_PROCESSING_FEE_TAG,Ae.REFUND_PROCESSING_FEE_TAG,Ae.TRANSFER_TAG,Ae.UPLOAD_TAG,Ae.UNKNOWN_TAG];var Pe=function(e,t,n){if(!t)return!1;var r=a.db.slipstream(n);if(!r[e])return!1;var i=r[e];return _.isArray(i)?_.includes(i,t):(console.warn("isCountryApplicable: invalid value",i,n),!1)},Se={INDIVIDUAL_ACCOUNT_HOLDER_TYPE:"individual",COMPANY_ACCOUNT_HOLDER_TYPE:"company",ROUTING_NUMBER_REGEX_BY_COUNTRY:{AU:/^[\d]{6}$/,CA:/^0?[\d]{5}-?[\d]{3}$/,GB:/^[\d]{2}-?[\d]{2}-?[\d]{2}$/,NZ:/^[\d]{6}$/,US:/^[\d]{9}$/},isIbanRequired:function(e,t){return Pe(e,t,"processorIbanBankAccountCountries")},isRoutingNumberRequired:function(e,t){return!Pe(e,t,"processorIgnoreRoutingNumberCountries")}},He={getCurrencyChoices:h},We={displayName:function(e){return e.name+(e.isArchived?" "+T("(archived)"):"")}},ze={VALID_VALIDITY:"valid",INVALID_VALIDITY:"invalid",DATE_RANGE_FOR_AVAILABILITY_TYPE:"range-for-booking",DATE_RANGE_FOR_BOOKING_TYPE:"range-for-availability",displayDayPattern:function(e){var t=[ze.DATE_RANGE_FOR_AVAILABILITY_TYPE,ze.DATE_RANGE_FOR_BOOKING_TYPE];return _.includes(t,e.type)?se.j.displayDayPattern(e):""}},Xe={LOGO_OPTION_COMPANY:"company-logo",LOGO_OPTION_CUSTOM:"custom-logo",LOGO_OPTION_NONE:"no-logo",BACKGROUND_COLOR_DEFAULT:"#ffffff",BACKGROUND_PATTERN_DEFAULT:"default",BACKGROUND_PATTERN_BOATS:"boats",BACKGROUND_PATTERN_CELEBRATION:"celebration",BACKGROUND_PATTERN_FLOWERS:"flowers",BACKGROUND_PATTERN_FOOD_BEVERAGES:"food_beverages",BACKGROUND_PATTERN_GIFTS:"gifts",BACKGROUND_PATTERN_HEARTS:"hearts",BACKGROUND_PATTERN_TOURS:"tours",BACKGROUND_PATTERN_WATER_ACTIVITIES:"water_activities"};Xe.STORED_VALUE_CARD_BACKGROUND_PATTERNS=[[Xe.BACKGROUND_PATTERN_DEFAULT,T("None")],[Xe.BACKGROUND_PATTERN_BOATS,T("Boats")],[Xe.BACKGROUND_PATTERN_CELEBRATION,T("Celebration")],[Xe.BACKGROUND_PATTERN_FLOWERS,T("Flowers")],[Xe.BACKGROUND_PATTERN_FOOD_BEVERAGES,T("Food & Beverages")],[Xe.BACKGROUND_PATTERN_GIFTS,T("Gifts")],[Xe.BACKGROUND_PATTERN_HEARTS,T("Hearts")],[Xe.BACKGROUND_PATTERN_TOURS,T("Tours")],[Xe.BACKGROUND_PATTERN_WATER_ACTIVITIES,T("Water Activities")]];var Ze,Qe,Je={FLAT_FEE_RULE_TYPE:"flat",MAXIMUM_FEE_RULE_TYPE:"maximum",calculateFeeableForFee:function(e,t){return _.roundHalfToEven(e/t)},calculateFeeableForRule:function(e,t,n){if(e.feeType!==b.PERCENTAGE_FEE_TYPE||!e.percentageFeeRate)return 0;var r=e.percentageFeeRate;if(n.type===Je.FLAT_FEE_RULE_TYPE){var i=n.amount;return Je.calculateFeeableForFee(i,r)}if(n.type===Je.MAXIMUM_FEE_RULE_TYPE){var o=_.roundHalfToEven(t*r),a=n.amount;return o>a?Je.calculateFeeableForFee(a,r):t}return console.warn("StoredValueCard.calculateFeeableForRule: invalid rule type",n.type),0},calculateFeeable:function(e,t){if(!e.features.isStoredValueCardBookingFeesEnabled)return 0;var n=a.db.slipstream("storedValueCardFeeableRules");if(_.isUndefined(n))return console.warn("StoredValueCard.calculateFeeable: rules are not defined"),0;var r=e.primaryLocation,i=n[_.get(r,"country")];if(!i)return 0;if(i.isUnrestricted)return t;var o=_.get(r,"province");if(_.includes(i.unrestrictedProvinces,o))return t;var s=i.provinceRules[o];return s?Je.calculateFeeableForRule(e,t,s):0},NUMBER_REGEX:/^[a-zA-Z0-9\-_\#\%$]+$/,isNumberValid:function(e){return Je.NUMBER_REGEX.test(e)}},et={INVOICE_TYPE:"invoice",CREDIT_NOTE_TYPE:"credit note",API_INVOICE_TYPE:"api invoice",AU_B2C_10_FLAVOR:"AU B2C 10",NZ_15_FLAVOR:"NZ 15",CA_5_FLAVOR:"CA 5",CA_13_FLAVOR:"CA 13",CA_15_FLAVOR:"CA 15",NL_21_FLAVOR:"NL 21",EU_0_FLAVOR:"EU 0",OTHER_0_FLAVOR:"OTHER 0",AUS_TAX_RATE:"10%",NL_TAX_RATE:"21%",NZ_TAX_RATE:"15%",CA_5_TAX_RATE:"5%",CA_13_TAX_RATE:"13%",CA_15_TAX_RATE:"15%",CA_PROVINCES:["AB","BC","MB","NB","NL","NS","NT","NU","ON","PE","SK","YT"],statementIdentifier:function(e,t){var n="0000000000".concat(e).slice(-10),r="FHXXX".concat(n);return t===et.INVOICE_TYPE||t===et.API_INVOICE_TYPE?"I".concat(r):"C".concat(r)}},tt={MIN_QR_CODE_SIZE:1,MAX_QR_CODE_SIZE:1.3,STANDARD:{name:"Standard",settings:{isCompanyInformationIncluded:!0,isRotated:!1,len:5.5,height:2,marginTop:.125,marginRight:.125,marginBottom:.125,marginLeft:.125,hasLeadingStub:!0,leadingStubLength:1,leadingStubMarginTop:.125,leadingStubMarginBottom:.125,hasTrailingStub:!1,trailingStubLength:1,trailingStubMarginTop:.125,trailingStubMarginBottom:.125,hasCustomFields:!1,hasStubCustomFields:!1}},BLANK:{name:"",settings:{isCompanyInformationIncluded:!0,isRotated:!1,len:5.5,height:2,marginTop:.125,marginRight:.125,marginBottom:.125,marginLeft:.125,hasLeadingStub:!0,leadingStubLength:1,leadingStubMarginTop:.125,leadingStubMarginBottom:.125,hasTrailingStub:!1,trailingStubLength:1,trailingStubMarginTop:.125,trailingStubMarginBottom:.125,hasCustomFields:!1,hasStubCustomFields:!1}},mainLeft:function(e){var t=e.settings.marginLeft;return e.settings.hasTrailingStub&&(t+=e.settings.trailingStubLength),t},mainRight:function(e){var t=e.settings.marginRight;return e.settings.hasLeadingStub&&(t+=e.settings.leadingStubLength),t},qrCodeSize:function(e){var t=e.settings.height-e.settings.marginTop-e.settings.marginBottom;return t<tt.MIN_QR_CODE_SIZE&&(t=tt.MIN_QR_CODE_SIZE),t>tt.MAX_QR_CODE_SIZE&&(t=tt.MAX_QR_CODE_SIZE),t},BOCA_PRINT_FORMAT:"boca",RECEIPT_PRINT_FORMAT:"receipt"},nt={ADMIN_ONLY_TYPE:"admin",ADMIN_ONLY_TYPES:["admin","admin-charge-disputed","admin-dispute-closed","duplicated-x-companies","duplicated-x-companies-single","generated-report","ran-report","rejected-sms","updated-sms-notification-status","card-error","processor-webhook-error","transferred-payment","was-transferred-payment","webhook-request-failed","webhook-request-succeeded","update-fhdn-opt-in-status","update-fhconnect-opt-in-status","fhdn-ran-invoicing-data-report","fhdn-ran-invoice-generation"],CHANGED_TYPES:["changed","changed-company-admin-notes","changed-booking-note","changed-customer-checkin-status"],isAdminOnly:function(e){return _.includes(nt.ADMIN_ONLY_TYPES,e.type)},isChangedType:function(e){return _.includes(nt.CHANGED_TYPES,e)},objectUrl:function(e){var t;return e.object&&(t="created"===e.type&&e.object&&e.object.cls===Pt.Company.cls&&e.context&&e.context.instance?e.context.instance.$url():e.object.cls===Pt.Item.cls&&"created-availabilities"===e.type?Pt.Item.calendarUrl(e.object):e.object.$url()),t||(t=e.company.$url()),t},_changesByFieldName:{},changesByFieldName:function(e){var t=nt._changesByFieldName[e.uri];return t||(t={},_.forEach(e.context.changes,(function(e){t[(0,Z.s)(e.field)]=e})),nt._changesByFieldName[e.uri]=t,t)}},rt={isSignedWherewolfWaiver:function(e){return _.isEqual(e.waiverType,"wherewolf")}},it={companyLevelOverrides:function(e){return _.filter(e,(function(e){return null===e.relatedUser}))}},ot=_.property("isOnline"),at=_.property("isTotalBase"),st=_.property("isInvoiceBase"),ct=_.assign({baseSheet:Ue.L.baseSheet,totalBaseSheet:function(e){return _.find(e,at)},nonBaseSheets:Ue.L.nonBaseSheets,onlineSheets:function(e){return _.filter(e,ot)},displaySheetRate:function(e){return e-1},fromDisplaySheetRate:function(e){return e+1},isOnlineDefault:function(e){return!(!e||!e.pk)&&(e==e.company.defaultOnlineTotalSheet||e.company.defaultOnlineTotalSchedule&&e==_.last(e.company.defaultOnlineTotalSchedule.entries).sheet)}},Ue.L),ut=_.assign({INHERIT_VISIBILITY:"inherit",VISIBLE_VISIBILITY:"visible",HIDDEN_VISIBILITY:"hidden"},Fe.S),lt=_.assign({AFFILIATE_RELATIONSHIP:"affiliate",CHARTER_RELATIONSHIP:"charter",invoiceBaseSheet:function(e){return _.find(e,st)},nonBaseSheets:Ue.L.nonBaseSheets,displaySheetRate:function(e,t){return t===lt.CHARTER_RELATIONSHIP?1-e:t===lt.AFFILIATE_RELATIONSHIP?e:void 0},fromDisplaySheetRate:function(e,t){return t===lt.CHARTER_RELATIONSHIP?1-e:t===lt.AFFILIATE_RELATIONSHIP?e:void 0},displayRelationship:function(e){return e===lt.CHARTER_RELATIONSHIP?"reseller":e===lt.AFFILIATE_RELATIONSHIP?"referral":"none"}},Ue.L),dt=_.assign({},Fe.S),pt={isOnlineFallback:function(e){return!!_.get(_.last(e.entries).sheet,"isOnline",!1)},verboseName:T("schedule"),verboseNamePlural:T("schedules")},mt={verboseName:T("schedule"),verboseNamePlural:T("schedules")},ft={isFallbackEntry:function(e){return e.rules[0]&&e.rules[0].type===ht.FALLBACK},hasFallbackEntry:function(e){var t=_.last(e);return t&&ft.isFallbackEntry(t)}},ht={groupRules:function(e,t){var n={};return _.forEach(ht.RULE_TYPES,(function(e){n[e]=[]})),_.forEach(e,(function(e){n[e.type].push(e)})),t&&ht.sortDayOfWeekType(n,t),n},sortDayOfWeekType:function(e,t){var n=se.j.weekDays(t);_.forEach(e,(function(t,r){_.includes(ht.DAY_OF_WEEK_TYPES,r)&&(e[r]=_.sortBy(t,(function(e){return n.indexOf(e.dayPattern[0])})))}))},displayType:function(e){return ht.TYPE_CHOICES_MAP[e.type]},isDateType:function(e){return _.includes(ht.DATE_TYPES,e.type)},isDayOfWeekType:function(e){return _.includes(ht.DAY_OF_WEEK_TYPES,e.type)},isHourType:function(e){return _.includes(ht.HOUR_TYPES,e.type)},isCapacityType:function(e){return _.includes(ht.CAPACITY_TYPES,e.type)},isPercentageCapacityType:function(e){return _.includes([ht.REMAINING_CAPACITY_PERCENTAGE,ht.FILLED_CAPACITY_PERCENTAGE],e.type)},display:function(e){return e.type===ht.FALLBACK?T("Fallback"):ht.displayType(e)+": "+e.details},typeGroup:function(e){return _.includes([ht.DATE_BASED_ON_BOOKING,ht.DATE_BASED_ON_AVAILABILITY,ht.DAY_OF_WEEK_BASED_ON_BOOKING,ht.DAY_OF_WEEK_BASED_ON_AVAILABILITY,ht.HOURS_BEFORE_AVAILABILITY_START,ht.HOURS_BEFORE_AVAILABILITY_MIDNIGHT],e)?_("Date & Time Based"):_("Capacity Based")},dropdownTypeDisplay:function(e){var t=e[0],n=e[1];return(_.includes(ht.HOUR_TYPES+ht.CAPACITY_TYPES,t)?"⚡ ":"")+n},detailDisplay:function(e){if(ht.isHourType(e)){var t=e.countMin,n=e.countMax;return _.isNumber(t)&&_.isNumber(n)?r=t<-1?T("between %(start)s hours after and %(end)s hours after"):-1===t?T("between %(start)s hour after and %(end)s hours after"):0===t&&-1===n?T("between %(start)s hours before and %(end)s hour after"):0===t?T("between %(start)s hours before and %(end)s hours after"):1===t&&n<-1?T("between %(start)s hour before and %(end)s hours after"):1===t&&-1===n?T("between %(start)s hour before and %(end)s hour after"):1===t&&0===n?T("between %(start)s hour before and %(end)s hours before"):t>1&&n<-1?T("between %(start)s hours before and %(end)s hours after"):t>1&&-1===n?T("between %(start)s hours before and %(end)s hour after"):t>1&&1===n?T("between %(start)s hours before and %(end)s hour before"):T("between %(start)s hours before and %(end)s hours before"):_.isNumber(t)?r=t<-1?T("starting %(start)s hours after"):-1===t?T("starting %(start)s hour after"):0===t?T("anytime after"):1===t?T("starting %(start)s hour before"):T("starting %(start)s hours before"):_.isNumber(n)&&(r=n<-1?T("until %(end)s hours after"):-1===n?T("until %(end)s hour after"):0===n?T("anytime before"):1===n?T("until %(end)s hour before"):T("until %(end)s hours before")),interpolate(r,{start:Math.abs(t),end:Math.abs(n)})}if(ht.isCapacityType(e)){var r,i=e.countMin,o=e.countMax;return e.type===ht.REMAINING_CAPACITY_PERCENTAGE?r=_.isNumber(i)?_.isNumber(o)?i===o?T("%(countMin)s% of capacity is remaining"):T("between %(countMin)s% and %(countMax)s% of capacity is remaining"):T("at least %(countMin)s% of capacity is remaining"):T("up to %(countMax)s% of capacity is remaining"):e.type===ht.FILLED_CAPACITY_PERCENTAGE?r=_.isNumber(i)?_.isNumber(o)?i===o?T("%(countMin)s% of capacity is full"):T("between %(countMin)s% and %(countMax)s% of capacity is full"):T("at least %(countMin)s% of capacity is full"):T("up to %(countMax)s% of capacity is full"):e.type===ht.REMAINING_CAPACITY_COUNT?r=_.isNumber(i)?_.isNumber(o)?i===o?1==i?T("%(countMin)s spot is remaining"):T("%(countMin)s spots are remaining"):T("between %(countMin)s and %(countMax)s spots are remaining"):1===i?T("at least %(countMin)s spot is remaining"):T("at least %(countMin)s spots are remaining"):1===o?T("up to %(countMax)s spot is remaining"):T("up to %(countMax)s spots are remaining"):e.type===ht.FILLED_CAPACITY_COUNT&&(r=_.isNumber(i)?_.isNumber(o)?i===o?1==i?T("%(countMin)s spot is filled"):T("%(countMin)s spots are filled"):T("between %(countMin)s and %(countMax)s spots are filled"):1===i?T("at least %(countMin)s spot is filled"):T("at least %(countMin)s spots are filled"):1===o?T("up to %(countMax)s spot is filled"):T("up to %(countMax)s spots are filled")),interpolate(r,{countMin:i,countMax:o})}}},gt={ADJUSTED_PRICE_KEY_PREFIX:"adjustedPrice-",aggregationKey:function(e){return e.customFieldInstance.customField.type===Pt.CustomField.TRANSPORTATION_TYPE?e.transportationOption&&!e.transportationOption.isSelfTransportation?e.transportationOption.value:T("Self transportation"):e.value?e.value.toString():""},displayValue:function(e){return e.customFieldInstance.customField.type!==Pt.CustomField.COUNT_TYPE||e.value?e.displayValue:""},aggregationDisplayValue:function(e){var t=e.customFieldInstance.customField.type;return _.includes([Pt.CustomField.TRANSPORTATION_TYPE,Pt.CustomField.COUNT_TYPE],t)?"":e.displayValue},aggregationCount:function(e){return e.customFieldInstance.customField.type===Pt.CustomField.TRANSPORTATION_TYPE?e.transportationOption&&!e.transportationOption.isSelfTransportation?e.booking.customerCount:0:e.customFieldInstance.customField.type===Pt.CustomField.COUNT_TYPE?e.value:e.value?1:0},annotate:function(t,n,r){var i=e("time"),o={},a=[],s=[],c=function(e,t){s.push(e);var n=gt.aggregationKey(e),i=gt.aggregationCount(e),c=Pt.CustomField.isAggregatable(e.customFieldInstance.customField),u=e.customer?e.customer.pk:e.pk;if(t||!c||r){var l=gt.displayValue(e);""!==l&&a.push({customFieldValue:e,key:n,count:i,displayValue:l,transportationOption:e.transportationOption||null,isAggregated:!1,sortableIndex:u})}else{var d=o[n]||{customFieldValue:e,key:n,count:0,displayValue:gt.aggregationDisplayValue(e),transportationOption:null,isAggregated:!0,sortableIndex:u};i&&(d.count+=i,o[n]=d)}};_.forEach(n.customers,(function(e){_.forEach(e.customFieldValues,(function(e){e.customFieldInstance.customField===t&&c(e,!1)}))})),_.forEach(n.customFieldValues,(function(e){e.customFieldInstance.customField===t&&c(e,n.cls===W.cls)}));var u=_.append(_.values(o),a);return u=_.sortBy(u,["customFieldValue.pk","sortableIndex"]),_.forEach(u,(function(e){var t="",n=e.customFieldValue,r=n.transportationOption;if(r){var o=n.booking.availability.startAt.clone();o.subtract(r.minutesBeforeStart,"minutes"),t=interpolate(T("%(time)s at %(name)s"),{time:i(o),name:n.displayValue})}else t=e.isAggregated&&e.count?e.displayValue?e.count.toString()+" "+e.displayValue:e.count.toString():e.displayValue;e.renderedValue=t})),{annotatedCustomFieldValues:u,customFieldValues:s}},isCustomerLevelWherewolfCustomField:function(e){return e.customFieldInstance.customField.type===ee.WHEREWOLF_TYPE&&e.cls===bt.cls}},vt=Ge.w,yt={},bt={hasWaiverType:function(e){return _.some(e,(function(e){return Pt.CustomField.isWaiverType(e.customFieldInstance.customField)}))}},Tt={RelatedLocationType:{RELATED_NO_ADMISSION:"RELATION_TYPE_RELATED_NO_ADMISSION",ADMISSION_TICKET:"RELATION_TYPE_ADMISSION_TICKET",SUPPLEMENTARY_ADDON:"RELATION_TYPE_SUPPLEMENTARY_ADDON"},hasAnyMisconfiguredMappings:function(e){var t=!1;return _.find(e,(function(e){_.isEmpty(e.unmappedResellerCustomerTypePks)&&_.isEmpty(e.unmappedResellerOptionPks)||(t=!0)})),t}},Et=((Qe=(Ze={GOOGLE_ANALYTICS_TYPE:"google-analytics",GA4_ANALYTICS_TYPE:"ga4-analytics",FACEBOOK_TYPE:"facebook",ADROLL_TYPE:"adroll",CUSTOM_CODE_TYPE:"custom-code",IDENTIFIERS_BY_TYPE:{},IDENTIFIER_LABELS:{googleAnalyticsUa:"UA Code",ga4MeasurementId:"GA4 Measurement ID",facebookPixel:"Pixel ID",facebookAccessToken:"Access Token",facebookEventSourceURL:"Facebook Event Source URL",adrollAdvertiser:"Advertiser ID",adrollPixel:"Pixel ID",customCode:"Code",customIdentifiers:"Identifiers"},needsCrossDomainField:function(e){return _.includes([Ze.GOOGLE_ANALYTICS_TYPE,Ze.GA4_ANALYTICS_TYPE,Ze.FACEBOOK_TYPE,Ze.ADROLL_TYPE],e)},displayIdentifier:function(e){return Ze.IDENTIFIER_LABELS[e]}}).IDENTIFIERS_BY_TYPE)[Ze.GOOGLE_ANALYTICS_TYPE]=["googleAnalyticsUa"],Qe[Ze.GA4_ANALYTICS_TYPE]=["ga4MeasurementId"],Qe[Ze.FACEBOOK_TYPE]=["facebookPixel","facebookAccessToken","facebookEventSourceURL"],Qe[Ze.ADROLL_TYPE]=["adrollAdvertiser","adrollPixel"],Qe[Ze.CUSTOM_CODE_TYPE]=["customCode","customIdentifiers"],Ze),_t=function(e,t){if(!e)return console.warn("supported language: invalid empty language code"),"";var n=e.split("-")[0],r=kt.DISPLAY_LANGUAGES[e]||kt.DISPLAY_LANGUAGES[n];return r?r[t]:""},kt={isRecognizedLanguage:function(e){return _.includes(kt.LANGUAGE_CODES_SORTED,e)},rootLanguage:function(e){return e.split("-")[0]},display:function(e){return _t(e,"name")},displayLocal:function(e){return _t(e,"nameLocal")},shareRootLanguage:function(e,t){return e&&t&&kt.rootLanguage(e)===kt.rootLanguage(t)},SCROLL_TO_LANGUAGE_PARAM:"highlight-language"},Ct={displayNameForInstance:function(e){return e.name||e.displayName||e.title||e.unicode},fieldDisplayValue:function(e,t,n){var r=_.camelCase(e.fieldName);return n?t[r][n]:t[r]},modelNameForUrl:function(e){return _.kebabCase(e)},modelNameFromUrl:function(e){return _.startCase(e).replace(/ /g,"")},fieldNameForUrl:function(e){return _.kebabCase(e)},fieldNameFromUrl:function(e){return _.snakeCase(e)}},At={BEFORE_MIDNIGHT_CUTOFF_KIND:"before-midnight",BEFORE_START_CUTOFF_KIND:"before-start",RESTRICTION_FIELDS:["minimumInitialPartySize","minimumSubsequentPartySize","maximumInitialPartySize","maximumSubsequentPartySize","isBookableEverByPhone","soldOutText","cutoffUnreachedKind","cutoffUnreachedHours","isCutoffUnreachedCallToBook","cutoffUnreachedCallToBookText","cutoffReachedKind","cutoffReachedHours","isCutoffReachedCallToBook","cutoffReachedCallToBookText","autoOpenHours","autoOpenKind"],DEFAULT_AUTO_OPEN_HOURS:720,cutoffStart:function(e,t,n){return e===At.BEFORE_START_CUTOFF_KIND?n.clone().subtract(t,"hours"):e===At.BEFORE_MIDNIGHT_CUTOFF_KIND?n.clone().startOf("day").subtract(t,"hours"):void console.error("BookingRestriction.cutoffStart: invalid kind "+e)}},Pt={Order:V,Contact:j,Booking:W,AffiliateProgramBookingLink:{},Customer:q,LineItem:{},ItemGroup:{},Availability:Y,Company:b,User:C,TagGroup:Be.C,Tag:{},TagInstance:{},Item:L,FlowNode:Oe,CustomFieldInstanceGroup:G,CustomFieldInstanceCondition:ae,CustomFieldInstance:oe,CustomerType:M,CustomerPrototype:x,CustomerTypeRate:B,CheckinStatus:Re.E,Image:{CAROUSEL_GALLERY:"carousel"},CustomField:ee,ExtendedOption:{},TransportationOption:{},ConnectedCampaign:{},GeneratingCampaign:{},CannedMessage:ye,AvailabilityHeadline:ve,Notification:re,SmsNotification:ie,ReviewExpressNotification:{},RatingIntegration:{},Subscription:ge,Payment:_e,Dispute:Ee,InStorePaymentType:be,EmvDevice:Te,Refund:ke,Receipt:Ce,Rule:se.j,Payout:{SUCCEEDED_STATUS:"succeeded",PAID_STATUS:"paid",PENDING_STATUS:"pending",FAILED_STATUS:"failed",PROCESSED_STATUS:"processed"},Fund:{},Transfer:{},Upload:{SUCCEEDED_STATUS:"succeeded",PENDING_STATUS:"pending",FAILED_STATUS:"failed"},Transaction:Ae,Account:{BANK_TYPE:"bank",DEPOSIT_TYPE:"deposit",ESCROW_TYPE:"escrow"},Adjustment:He,Campaign:We,CampaignValidityRule:ze,Code:{},StoredValueType:{},StoredValueCardDesignTemplate:Xe,StoredValueCard:Je,StoredValueAdjustment:{},PaymentProcessingDocument:et,TicketLayout:tt,CustomCalendar:{},CustomManifest:{},CustomReport:{QUERY_PARAM:"saved",QUERY_PARAM_KEY:"pk"},SuggestedReport:{QUERY_PARAM:"suggested",QUERY_PARAM_KEY:"slug",DEFAULT_SLUG:"default"},Activity:nt,Block:{},Agent:z,Desk:X,Affiliation:Q,CrewMember:{},Role:{},Hotel:{},Lodging:{RELATED_FEATURE_FLAG:"isTransportationEnabled"},PreferredPickup:{},Pickup:{RELATED_FEATURE_FLAG:"isTransportationEnabled"},Route:{RELATED_FEATURE_FLAG:"isTransportationEnabled"},Stop:{},Run:{},Report:J,Invoice:{PAID_STATUS:"paid",PENDING_STATUS:"pending",UNPAID_STATUS:"unpaid",OVERDUE_STATUS:"overdue",isInvoicedToCharter:function(e){return e>0}},InvoiceEntry:{},Location:{RELATED_FEATURE_FLAG:"isLocationsEnabled"},SupportedLanguage:kt,Translation:Ct,Waiver:{RELATED_FEATURE_FLAG:"isSmartwaiverEnabled"},ConnectedWaiver:{},WaiverInstance:rt,Group:{AFFILIATE_TYPE:"affiliate",COMPANY_TYPE:"company",PARTNER_TYPE:"partner"},GroupOverride:it,PriceSheet:Ue.L,PriceLine:Fe.S,TotalSheet:ct,TotalLine:ut,InvoiceSheet:lt,InvoiceLine:dt,TotalSchedule:pt,InvoiceSchedule:mt,ScheduleEntry:ft,TotalScheduleEntry:{},InvoiceScheduleEntry:{},ScheduleEntryRule:ht,TotalScheduleEntryRule:{},InvoiceScheduleEntryRule:{},TaxType:vt,BankAccount:Se,Ledger:{RELATED_FEATURE_FLAG:"isLedgersEnabled"},Card:{},CardAffiliation:{},CustomFieldValue:gt,BookingCustomFieldValue:yt,CustomerCustomFieldValue:bt,Resource:A,RequirementGroup:P,Requirement:S,CustomerPrototypeRequirement:{},CustomerTypeRequirement:{},ResourceRequirement:O,ResourceUse:I,ResourceOverride:{},SeatMap:w,SeatGroup:D,Seat:U,SeatAssignment:N,SeatZone:F,Calendar:v,ResellerCompany:ce.M,ResellerCompanyMapping:{},ResellerItem:Tt,ResellerItemMapping:{},ResellerCustomerType:{},ResellerCustomerTypeMapping:{},ResellerOption:{},ResellerOptionMapping:{},ResellerKey:ue.k,ResellerApp:{},ResellerAppRequest:{PENDING_STATUS:"pending",CONNECTED_STATUS:"connected"},ResellerAppCompany:{},WebhookConfig:le.O,CustomSchema:{},CustomSchemaField:{},AnalyticsService:Et,CancellationPolicy:{},CancellationRule:{ALWAYS_TYPE:"always",HOURS_BEFORE_AVAILABILITY_START_TYPE:"hours-before-start",HOURS_BEFORE_AVAILABILITY_MIDNIGHT_TYPE:"hours-before-midnight",HOURS_BEFORE_PSEUDO_TYPE:"hours-before"},BookingRestriction:At,BenefitUse:{},MembershipRange:me.m,Benefit:fe.C,Member:de.d,Membership:pe.D,Combo:Ie.x,ComboDiscount:De,ComboItem:{},Proposal:xe.J,PaymentSchedule:Le.u,PaymentRule:Le.L,Contract:Me,InvoicingDataJob:{},StructuredDescription:Ke},St=_.keys(Pt);return _.forEach(St,(function(e){Pt[e].cls=e})),Pt.models=_.sortBy(_.values(Pt),"cls"),Pt.inject=function(e){_.forEach(St,(function(t){e[t]=Pt[t]}))},Pt}]),e.run(["$filter","$rootScope","auth","emv","models","navigation","processors",function(e,t,n,r,i,o,c){i.inject(t),t.nullModel={};var u=a.db.slipstream("models.verboseNames");_.forEach(u,(function(e,t){_.defaults(i[t],e)})),i.Company.isFeeable=function(e,t){return!n.currentUser.isAuthenticated||!n.permissions.canBookWithNoFee(e,t)},i.Company._minimumBookingFee=function(e,t){return t?c.get(t).minimumBookingFee(e):e.minimumFee},i.Company._tieredFeeRate=function(e,t){var n=_.find(_.reversed(e.tieredFeeSchedule),(function(e){return t>=e.cutoff}));if(!n)throw new Error("Company._tieredFeeRate: invalid tiered fee schedule");return n.rate},i.Company._minimumFee=function(e,t,n,r){return e<r?!e&&n||!e&&t?0:r:e},i.Company.bookingFee=function(e){var t,r=e.company,o=e.feeable,a=e.price,s=e.isAffiliation,c=void 0!==s&&s,u=e.isFreeAllowed,l=void 0!==u&&u,d=e.processorType,p=void 0===d?null:d;if(!i.Company.isFeeable(r,c))return 0;if(n.currentUser.isAuthenticated)t=r.directBookingFeeRate;else{if("no-fee"===r.feeType)return 0;if("flat-fee"===r.feeType)return r.flatFee;if("percentage-fee"===r.feeType)t=r.percentageFeeRate;else{if("tiered-fee"!==r.feeType)throw new Error("Company.bookingFee: invalid fee type "+r.feeType);t=i.Company._tieredFeeRate(r,o)}}var m=_.roundHalfToEven(o*t),f=i.Company._minimumBookingFee(r,p);return i.Company._minimumFee(m,a,l,f)},i.Company.taxDisplayRate=function(t){return t.features.includedTaxRate?e("percentage")(t.features.includedTaxRate,!0):""},i.Company.isRoundedPricingSupported=function(e,t){return!!e.features.isRoundedPricingEnabled&&t!==c.PAYPAL_PROCESSOR_TYPE},i.Rule.WEEK_DAYS_DISPLAY=_.map(i.Rule.WEEK_DAYS_KEYS,(function(e){return i.Rule.WEEK_DAYS[e]})),i.Availability.manifestUrl=function(e){return e?o.compose(s.D.populate(s.D.dashboard.manifest.availabilities,{shortname:e.company.shortname,date:e.startAt?e.startAt.format("YYYY-MM-DD"):void 0}),{items:e.item.pk,availabilities:e.pk}):""},i.Run.manifestUrl=function(e){return o.compose(s.D.populate(s.D.dashboard.manifest.runs,{shortname:e.route.company.shortname,date:e.startAt?e.startAt.format("YYYY-MM-DD"):void 0}),{routes:e.route.pk})},i.Item.manifestUrl=function(e,t){return o.compose(s.D.populate(s.D.dashboard.manifest.availabilities,{shortname:e.company.shortname,date:t}),{items:e.pk})},i.Resource.manifestUrl=function(e,t){return o.compose(s.D.populate(s.D.dashboard.manifest.resources,{shortname:e.company.shortname,date:t}),{resources:e.pk})},i.Booking.processorTypes=function(e){return e=e||[],_.filter(_.sortBy(_.uniq(_.map(e,"processorType"))))},i.Booking.statementText=function(e,t){var n=i.Booking.processorTypes(t);return _.map(n,(function(t){var n=c.get(t);return'"'+n.STATEMENT_TEXT_PREFIX+n.statementText(e)+'"'})).join(" or ")},i.Booking.pendingStatementText=function(e){var t=i.Booking.processorTypes([e]);return _.map(t,(function(e){return'"'+c.get(e).PENDING_STATEMENT_TEXT+'"'})).join(" or ")},i.Booking.refundableBookingFee=function(e,t){var n=0,r=t,i=e.payments,o=_.sortBy(i,[function(e){return-e.receipt.gross},function(e){return e.receipt.bookingFee}]);return _.forEach(o,(function(e){var t=0,i=c.get(e.processorType),o=Math.min(r,e.receipt.gross);i.isBookingFeeProratedForRefunds?t=i.proratedRefundBookingFee(e,o):e.receipt.gross<=o&&(t=e.receipt.bookingFee),r-=o,n+=t})),n},i.Payment.isDefaultProcessorBasedType=function(e){return e.type===i.Payment.CC_TYPE&&e.processorType===c.DEFAULT_PROCESSOR_TYPE},i.Payment.isLegacyProcessorBasedType=function(e){return i.Payment.isProcessorBasedType(e)&&_.includes(c.LEGACY_PROCESSOR_TYPES,e.processorType)},i.Payment.minimumChargeAmounts=function(e,t){var n=a.db.slipstream("processorMinimumChargeAmounts");return _.get(n[t],e,n[t][c.DEFAULT_CURRENCY])},i.Payment.afterpayMinimumChargeAmounts=function(e,t){var n=a.db.slipstream("processorAfterpayMinimumChargeAmounts");return _.get(n[t],e,n[t][c.DEFAULT_CURRENCY])},i.Payment.afterpayMaximumChargeAmounts=function(e,t){var n=a.db.slipstream("processorAfterpayMaximumChargeAmounts");return _.get(n[t],e,n[t][c.DEFAULT_CURRENCY])},i.Payment.emvDetails=function(e){if(!i.Payment.isEmv(e))return[];var t=_.toTrueKeys(["Date","Time","Amount","Description","Name","Address","Zip","City","Country","Contact","Additional Information","Account"]),n=_.filter(e.metadata.emvDetails,(function(e){return!t[e.key]}));return c.get(e.processorType).filterEmvDetails(n)};var l=function(e){return a.db.slipstream("processorIdealBankTypeChoices")[e]||[]};i.Payment.STRIPE_IDEAL_BANK_TYPE_CHOICES=l(c.STRIPE_PROCESSOR_TYPE),i.Payment.ADYEN_IDEAL_BANK_TYPE_CHOICES=l(c.ADYEN_PROCESSOR_TYPE),i.PriceLine.effectiveOffsetAmount=function(t){return e("amount")(i.PriceLine.effectiveOffset(t,1))};var d=i.Report;d.MODELS={},d.MODELS[i.StoredValueCard.cls]={name:T("Gift Cards"),singular:T("Gift Card"),slug:"stored-value-cards",model:i.StoredValueCard,submodels:[]},d.MODELS[i.PaymentProcessingDocument.cls]={name:T("Payment Processing Documents"),singular:T("Payment Processing Document"),slug:"payment-processing-documents",model:i.PaymentProcessingDocument,submodels:[]},d.MODELS[i.Booking.cls]={name:T("Bookings"),singular:T("Booking"),slug:"bookings",model:i.Booking,submodels:[]},d.MODELS[i.AffiliateProgramBookingLink.cls]={name:T("FHDN Bookings"),singular:T("FHDN Booking"),slug:"fhdn-bookings",model:i.AffiliateProgramBookingLink,submodels:[]},d.MODELS[i.Customer.cls]={name:T("Customers"),singular:T("Customer"),slug:"customers",model:i.Customer,submodels:[i.Booking]},d.MODELS[i.LineItem.cls]={name:T("Expenses and Discounts"),singular:T("Expense and discount"),slug:"expenses-and-discounts",model:i.LineItem,submodels:[i.Booking]},d.MODELS[i.CustomFieldValue.cls]={name:T("Custom Field Answers"),singular:T("Custom field answer"),slug:"custom-field-answers",model:i.CustomFieldValue,submodels:[i.Customer,i.Booking]},d.MODELS[i.Payment.cls]={name:T("Sales"),singular:T("Sales"),slug:"payments-and-refunds",model:i.Payment,submodels:[i.Booking]},d.MODELS[i.ResourceUse.cls]={name:T("Resource Uses"),singular:T("Resource Use"),slug:"resource-uses",model:i.ResourceUse,submodels:[i.Customer,i.Booking]},d.MODELS.BenefitUse={name:T("Benefit Uses"),singular:T("Benefit Use"),slug:"benefit-use",model:i.BenefitUse,submodels:[i.Customer,i.Booking]},d.MODELS.ComboDiscount={name:T("Combos"),singular:T("Combo"),slug:"combos",model:i.ComboDiscount,submodels:[i.Customer,i.Booking]},d.ORDERED_MODELS=[i.Payment,i.Booking,i.Customer,i.CustomFieldValue,i.ResourceUse,i.LineItem,i.StoredValueCard,i.PaymentProcessingDocument,i.BenefitUse,i.ComboDiscount,i.AffiliateProgramBookingLink],d.UNSOUND_AGGREGATES={Payment:[i.Booking],Booking:[],Customer:[i.Booking],CustomFieldValue:[i.Booking,i.Customer],LineItem:[i.Booking],ResourceUse:[i.Booking,i.Customer],BenefitUse:[i.Booking],ComboDiscount:[i.Booking]},d.advancedUrl=function(e,t){var n=s.D.dashboard.reports.advanced.index;return s.D.populate(n,{shortname:e.shortname,modelSlug:d.MODELS[t].slug})},d.SWITCH_QUERY_PARAM_KEY="switch",d.advancedSwitchUrl=function(e,t){var n={};return n[d.SWITCH_QUERY_PARAM_KEY]=!0,o.compose(d.advancedUrl(e,t),n)},d.VALID_COLUMNS=a.db.slipstream("reports.validColumns"),d.VALID_GROUPS=a.db.slipstream("reports.validGroups"),d.VALID_FILTERS=a.db.slipstream("reports.validFilters"),d.PROHIBITED_GROUPS=a.db.slipstream("reports.prohibitedGroups"),d.PROHIBITED_HIGHER_GROUPS=a.db.slipstream("reports.prohibitedHigherGroups"),d.ALWAYS_UNSOUND_GROUPINGS=a.db.slipstream("reports.alwaysUnsoundGroupings"),d.ALLOWED_DATE_TYPES=a.db.slipstream("reports.allowedDateTypes"),d.DEFAULT_DATE_TYPES=a.db.slipstream("reports.defaultDateTypes"),_.assign(d,a.db.slipstream("reports.allColumns")),_.assign(d,a.db.slipstream("reports.allGroups")),_.assign(d,a.db.slipstream("reports.allFilters")),_.assign(d,a.db.slipstream("reports.allDateTypes")),_.assign(d,a.db.slipstream("reports.allDateRanges")),d.MODELS_BY_GROUP={},_.forEach(d.VALID_GROUPS,(function(e,t){_.forEach(e,(function(e){d.MODELS_BY_GROUP[e]=d.MODELS_BY_GROUP[e]||[],d.MODELS_BY_GROUP[e].push(i[t])}))})),i.ResourceOverride.collapseSeatOverrides=function(e){var t={};return _.forEach(_.filter(e,"seat"),(function(n){var r=n.startAt.format()+"-"+n.endAt.format()+"-"+n.resource.pk;t[r]=t[r]||[],t[r].push(n),_.ref.remove(e,n)})),_.forEach(t,(function(t){e.push({startAt:t[0].startAt,endAt:t[0].endAt,resource:t[0].resource,seatCount:t.length})})),e};var p=i.ScheduleEntryRule;if(p.TYPE_CHOICES=a.db.slipstream("scheduleEntryRule.typeChoices"),p.TYPE_CHOICES_MAP=_.reduce(p.TYPE_CHOICES,(function(e,t){return e[t[0]]=t[1],e}),{}),p.typeChoicesForCompany=function(e){return e.features.isDynamicPricingEnabled?p.TYPE_CHOICES:_.filter(p.TYPE_CHOICES,(function(e){return!_.includes(p.HOUR_TYPES+p.CAPACITY_TYPES,e[0])}))},p.FALLBACK="fallback",p.DATE_BASED_ON_BOOKING="booking",p.DATE_BASED_ON_AVAILABILITY="availability",p.DAY_OF_WEEK_BASED_ON_BOOKING="dow-booking",p.DAY_OF_WEEK_BASED_ON_AVAILABILITY="dow-availability",p.HOURS_BEFORE_AVAILABILITY_START="hours-bf-ava-start",p.HOURS_BEFORE_AVAILABILITY_MIDNIGHT="hours-bf-ava-mn",p.REMAINING_CAPACITY_PERCENTAGE="rem-cap-per",p.REMAINING_CAPACITY_COUNT="rem-cap-count",p.FILLED_CAPACITY_PERCENTAGE="fill-cap-per",p.FILLED_CAPACITY_COUNT="fill-cap-count",p.RULE_TYPES=[p.FALLBACK,p.DATE_BASED_ON_BOOKING,p.DATE_BASED_ON_AVAILABILITY,p.DAY_OF_WEEK_BASED_ON_BOOKING,p.DAY_OF_WEEK_BASED_ON_AVAILABILITY,p.HOURS_BEFORE_AVAILABILITY_START,p.HOURS_BEFORE_AVAILABILITY_MIDNIGHT,p.REMAINING_CAPACITY_PERCENTAGE,p.REMAINING_CAPACITY_COUNT,p.FILLED_CAPACITY_PERCENTAGE,p.FILLED_CAPACITY_COUNT],p.DATE_TYPES=[p.DATE_BASED_ON_BOOKING,p.DATE_BASED_ON_AVAILABILITY],p.DAY_OF_WEEK_TYPES=[p.DAY_OF_WEEK_BASED_ON_BOOKING,p.DAY_OF_WEEK_BASED_ON_AVAILABILITY],p.HOUR_TYPES=[p.HOURS_BEFORE_AVAILABILITY_START,p.HOURS_BEFORE_AVAILABILITY_MIDNIGHT],p.CAPACITY_TYPES=[p.REMAINING_CAPACITY_PERCENTAGE,p.REMAINING_CAPACITY_COUNT,p.FILLED_CAPACITY_PERCENTAGE,p.FILLED_CAPACITY_COUNT],i.ResourceUse.OPTIONS=a.db.slipstream("resourceUse.options"),i.ResourceUse.OPTIONS_VALUES_KEYS_MAP=_.reduce(i.ResourceUse.OPTIONS,(function(e,t){return e[t.value]=t.key,e}),{}),i.ResourceUse.OPTIONS_KEYS_DISPLAY_TEXT_MAP=_.reduce(i.ResourceUse.OPTIONS,(function(e,t){return e[t.key]=t.displayText,e}),{}),i.ResourceUse.getUseSettings=function(e){var t;return e.cls===i.ResourceRequirement.cls?t=[String(e.isSkipCreation),String(e.isIgnoreResourceOveruse)].join("-"):e.cls===i.Resource.cls?t=[String(e.isSkipResourceUseCreation),String(e.isIgnoreOveruse)].join("-"):console.error("invalid object passed to ResourceUse.getUseSettings"),i.ResourceUse.OPTIONS_VALUES_KEYS_MAP[t]},i.ResourceUse.getDisplayText=function(e){var t=i.ResourceUse.getUseSettings(e);return i.ResourceUse.OPTIONS_KEYS_DISPLAY_TEXT_MAP[t]},i.CustomReport.url=function(e){var t=d.advancedUrl(e.company,e.options.modelName),n={};return n[i.CustomReport.QUERY_PARAM]=e[i.CustomReport.QUERY_PARAM_KEY],o.compose(t,n)},i.SuggestedReport.url=function(e,t){var n=d.advancedUrl(t,e.options.modelName),r={};return r[i.SuggestedReport.QUERY_PARAM]=e.slug,o.compose(n,r)},i.Item.frontendUrl=function(e,t){return t&&!e.isRetail?s.D.populate(s.D.company.item.month,{shortname:e.company.shortname,itemPk:e.pk,year:t.format("YYYY"),month:t.format("MM")}):e.$url(s.D.company.item.index)},i.Item.calendarUrl=function(e){return e.$url(s.D.dashboard.items.item.calendar)},i.FlowNode.frontendUrl=function(e,t){return e.externalUrl?e.externalUrl:e.item?i.Item.frontendUrl(e.item,t):e.$url(s.D.company.flowNode.index)},i.FlowNode.suggestedItemUrl=function(e,t,n){var r;r=e.item&&e.item.externalUrl&&!e.externalUrl?e.item.externalUrl:i.FlowNode.frontendUrl(e,t);var a={};return e.type!==i.FlowNode.PAGE_TYPE&&(a[i.FlowNode.FLOW_QUERY]=e.parent.pk),a[i.FlowNode.IS_FROM_CART_QUERY]=n,o.compose(r,a,!0)},_.assign(i.CampaignValidityRule,a.db.slipstream("campaignValidityRules.allTypes")),r.isDebugging){i.Payment.isEmv=function(e){return e.type===i.Payment.CC_TYPE},i.Payment.isEmvSignatureRequired=function(e){return e.pk%2==0};var m=i.Payment.emvDetails;i.Payment.emvDetails=function(e){return e.metadata||(e.metadata={}),e.metadata.emvDetails=r.debugDetails,m(e)}}i.SupportedLanguage.DISPLAY_LANGUAGES=a.db.slipstream("displayLanguages"),i.SupportedLanguage.LANGUAGE_CODES_SORTED=a.db.slipstream("languageCodesSorted"),i.Translation.translationOverlayUrl=function(e,t,n,r,a){var c={shortname:n,objectType:t.cls,objectId:t.pk,objectField:i.Translation.fieldNameForUrl(e)},u="";a?(c.subfield=i.Translation.fieldNameForUrl(a),u=s.D.populate(s.D.dashboard.translationsOverlay.forSubfield,c)):u=s.D.populate(s.D.dashboard.translationsOverlay.forField,c);var l={};return l[i.SupportedLanguage.SCROLL_TO_LANGUAGE_PARAM]=r,o.compose(u,l)},i.Seat.editUrl=function(e,t){return s.D.populate(s.D.dashboard.settings.seating.seatMap.layout.seats,{shortname:t.company.shortname,seatMapPk:t.pk,seatPks:_.isString(e)?e:_.map(e,"pk").join(",")})},i.Seat.duplicateUrl=function(e,t){return s.D.populate(s.D.dashboard.settings.seating.seatMap.layout.duplicate,{shortname:t.company.shortname,seatMapPk:t.pk,seatPks:_.isString(e)?e:_.map(e,"pk").join(",")})},i.Seat.createUrl=function(e,t,n){return s.D.populate(s.D.dashboard.settings.seating.seatMap.layout.new,{shortname:n.company.shortname,seatMapPk:n.seatMap.pk,seatGroupPk:n.pk,xCoord:e,yCoord:t})}}])}(),angular.module("lib",["lib.controllers","lib.directives","lib.filters","lib.factories","lib.services","lib.services.interpolate"])},28588:function(e,t,n){"use strict";n(59618),angular.module("lightframe",["lightframe.services"])},59618:function(e,t,n){n(62010),n(79432),n(27495),n(90906),n(50375),function(){"use strict";var e=angular.module("lightframe.services",[]);e.factory("lightframe",["$browser","$sniffer","$window","clientOptions","navigation","xmessage",function(e,t,n,r,i,o){var a="",s=!1,c=!1,u=null,l={},d=function(e){try{e=decodeURIComponent(e),l=JSON.parse(e)||{},u=l.parentUrl||null}catch(e){}};/^fareharbor-embed:/.test(n.name)?(d(window.name.substr(17)),a=l.embedId||"",s=l.isLightframed||!1):/^fareharbor-lightframe/.test(n.name)&&(d(window.name.substr(22)),c=!0);var p={embedId:a,isLightframe:function(){return n.top!==n&&c},isEmbed:function(){return n.top!==n&&p.embedId},isLightframed:function(){return p.isEmbed()&&s},parentUrl:function(){return u},broadcast:function(e,t){t=_.assign({embedId:p.embedId},t),o.broadcast(e,t)},updateHeight:function(e){p.isEmbed()&&e&&p.broadcast("fareharbor.height",{height:e})},open:function(e){if(e=r.extendUrl(e),p.isEmbed())p.broadcast("fareharbor.open",{url:e});else{var t=n.location.protocol+"//"+n.location.hostname+(n.location.port?":"+n.location.port:"");n.top.location.href=t+e}},close:function(){p.broadcast("fareharbor.close")},ready:function(){p.broadcast("fareharbor.ready")},isDirectAccess:function(){var e;return void 0!==(null===(e=n.fhTestOverrides)||void 0===e?void 0:e.getParentWindow)?n===n.fhTestOverrides.getParentWindow():n.top===n},listenForTouch:function(){var e=function(){p.broadcast("fareharbor.touchDetected")};window.addEventListener("touchstart",(function t(){e(),window.removeEventListener("touchstart",t)}),!1),window.addEventListener("pointerdown",(function t(n){"touch"==n.pointerType&&(e(),window.removeEventListener("pointerdown",t))}),!1)}};return p}]),e.run(["$rootScope","lightframe",function(e,t){e.lightframe=t,e.isLightframe=t.isLightframe(),t.ready(),t.listenForTouch()}])}()},95165:function(e,t,n){"use strict";n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(51629),n(23792),n(48598),n(44114),n(60739),n(89572),n(33110),n(2892),n(67945),n(84185),n(83851),n(81278),n(79432),n(26099),n(47764),n(11392),n(23500),n(62953);var r,i=n(72422),o=n(63025);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t,n){return(t=function(e){var t=function(e){if("object"!=a(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==a(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}(r=angular.module("native.services",[])).factory("native",["$rootScope","$window","auth","events","navigation","models",function(e,t,n,r,a,u){var l={STRONG_SUCCESS_INDICATION:"fareharbor.native.indicate.strongSuccessIndication",WEAK_SUCCESS_INDICATION:"fareharbor.native.indicate.weakSuccessIndication",STRONG_ERROR_INDICATION:"fareharbor.native.indicate.strongErrorIndication",WEAK_ERROR_INDICATION:"fareharbor.native.indicate.weakErrorIndication"},d={NFC:"nfc",BLUETOOTH_EMV:"bluetooth_emv"},p=o.db.slipstream("isNative")||!1,m=o.db.slipstream("nativeClient")||"",f=o.db.slipstream("nativeClientVersion")||"",h=o.db.slipstream("isDebug"),g=o.db.slipstream("domain"),v=o.db.slipstream("protocol"),y="fareharborExtended",b=null,T=!1,E=null,k={isNative:p,client:m,version:f,EMV_TYPES:d,get readerType(){return E},broadcast:function(e,n,r){r=r||"fareharbor",console.info("native: triggering",e,n,r);try{if(t.webkit&&t.webkit.messageHandlers&&t.webkit.messageHandlers[r])return void t.webkit.messageHandlers[r].postMessage(JSON.parse(JSON.stringify(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({type:e},n))));if(t.fhdroid)return void(n?fhdroid.postMessage(e,_.stringifyJSON(n)):fhdroid.postMessage(e));console.warn("native: native client unavailable")}catch(e){console.error("native: could not post message")}},indicate:function(e){e=e||l.WEAK_SUCCESS_INDICATION,k.broadcast("fareharbor.native.indicate",{indication:e})},print:function(e){var t={};if(e){var n=["<!DOCTYPE html>",'<html class="native-print">',"<head>",'<meta name="viewport" content="initial-scale=1.0" />'];_.forEach($('head link[type="text/css"][href^="/"]'),(function(e){var t=$(e).attr("href");t=_.startsWith(t,"//")?v+":"+t:v+"://"+g+t,n.push('<link rel="stylesheet" href="'+t+'" type="text/css">')})),n.push("</head>"),n.push("<body>"),n.push(e.outerHTML),n.push("</body>"),n.push("</html>"),t.html=n.join("\n")}console.info("native: print",t),k.broadcast("fareharbor.native.print",t)},isEmvConnected:function(e){return T&&e.shortname===b},disconnectEmv:function(){T=!1,E=null,k.broadcast("fareharbor.native.emv.disconnect"),console.info("native: requesting the native application disconnect")}};_.assign(k,l),r.on(e,"auth.logout",(function(){k.broadcast("fareharbor.native.loggedOut")})),n.currentUser.isAuthenticated||k.broadcast("fareharbor.native.logOut"),t.FH={nativeEvent:function(t){e.$safeApply((function(){r.broadcast(t.type,t)}))}},k.broadcast("fareharbor.native.ready",{sonarKey:o.db.slipstream("pusherKey")},y),r.on(e,"fareharbor.native.inApp",(function(e,t){console.info("native: handle event inApp",t),k.isNative=!0,(T=t.emvConnected||!1)?(E=t.reader||d.BLUETOOTH_EMV,b=t.shortname||null):E=null})),r.on(e,"fareharbor.native.emv.connected",(function(e,t){console.info("native: handle event emv.connected",t),E=t.reader||d.BLUETOOTH_EMV,T=!0})),r.on(e,"fareharbor.native.emv.disconnected",(function(e,t){console.info("native: handle event emv.disconnected",t),E=null,T=!1})),r.on(e,"navigation.company.updated",(function(e,t){if(t&&t.company){var r=t.company,i=n.effectiveGroup({},r),o=_.pick(r,["shortname","name","language","imageCdnUrl","imageEmailCdnUrl","features","processorCurrency","processorCountry","timezone","timeFormatType","isAffiliate","isCharter"]),a=_.pick(i,["pk","groupPermissions"]);k.broadcast("fareharbor.native.companyChanged",{company:o,group:a},y),T&&r.shortname!==b&&k.disconnectEmv(),b=r.shortname}}));var C=function(){var e=n.effectiveGroup({},n.currentUser.company);k.broadcast("fareharbor.native.userPermissionsChanged",{group:_.pick(e,["pk","groupPermissions"])},y)};return r.on(e,"dashboard.shared.userPermissionsChanged",C),r.on(e,"dashboard.shared.permissionsGroupChanged",C),r.on(e,"fareharbor.native.booking.open",(function(e,t){var n=i.D.populate(i.D.dashboard.overlay.contact.booking,{shortname:t.shortname,contactPk:t.contactPk,bookingUuid:t.bookingUuid});a.navigate(n)})),r.on(e,"fareharbor.native.navigate",(function(e,t){a.navigate(t.url)})),h&&r.on(e,"fareharbor.native.test",(function(e,n){t.confirm("fareharbor.native.test triggered; respond?")&&k.broadcast("fareharbor.native.testSucceeded",{number:42})})),k}]),r.run(["$rootScope","native",function(e,t){e.native=t}]),angular.module("native",["native.services"])},87553:function(e,t,n){"use strict";n(16280),n(76918),n(15086),n(94170),n(26099),n(27495),n(90906),n(25440),n(5746);var r=n(72422);!function(){var e=angular.module("navigation.directives",["clientOptions.services","lib.services"]);e.directive("ngNavigationActive",["d","navigation",function(e,t){return{restrict:"A",link:function(n,r,i){var o,a=n.isSet(i.ngNavigationExact)?t.pathEquals:t.pathStartsWith,s=function(){var e=o();if(!e)return console.warn("ng-navigation-active: no url",e,i.ngNavigationActive,i.ngHref),void r.removeClass("current");_.isString(e)?r.toggleClass("current",!!a(e)):_.isArray(e)?r.toggleClass("current",_.some(e,(function(t){return t?!!a(t):(console.warn("ng-navigation-active: empty url in list",t,e,i.ngNavigationActive,i.ngHref),!1)}))):console.warn("ng-navigation-active: invalid url",e,i.ngNavigationActive,i.ngHref)};if(i.ngNavigationActive)o=e.watcher(n,i.ngNavigationActive,"",s,!0);else{if(!i.ngHref)return void console.warn("invalid use of ng-navigation-active");o=e.observer(i,"ngHref","",s)}t.watch(n,s),s()}}}]);var t=function(t,n){e.directive(t,["$injector","$parse","navigation",function(e,r,i){var o=e.invoke(n);return{transclude:"element",priority:1e3,terminal:!0,restrict:"A",compile:function(e,n,i){var a=t+"When",s=n[a]?r(n[a]):null;return function(e,t,n){var r,a,c=o(e,t,n);e.$watch((function(){return!(s&&!s(e))&&(c()||!1)}),(function(o,s){var c;n.ngThen&&(e[n.ngThen]=!!o),o&&s||o?(c=o,a&&a.$destroy(),(a=e.$new()).route={bindings:c},i(a,(function(e){r&&r.remove(),t.after(e),r=e}))):s&&(a&&a.$destroy(),r&&(r.remove(),r=null))}),!0)}}}}])};t("ngNavigationSpec",["$parse","navigation",function(e,t){var n={prefix:"pathStartsWith",path:"pathEquals"};return function(r,i,o){var a=_.bind(e(o.ngNavigationSpec),null,r);return function(){var e,r=a();return null==r||r.some((function(r){return e=function(e){var r=e[0],i=e[1];return t[n[r]](i)}(r),e})),e||void 0}}}]),t("ngNavigationPrefix",["$parse","navigation",function(e,t){return function(n,r,i){var o=_.bind(e(i.ngNavigationPrefix),null,n);return function(){var e,n,r=o();if(_.isUndefined(r))throw new Error("ng-navigation-prefix: undefined paths: "+i.ngNavigationPrefix);if(_.isArray(r)||(r=[r]),!r.length)throw new Error("ng-navigation-prefix: empty paths: "+i.ngNavigationPrefix);return null===(e=r)||void 0===e||e.some((function(e){return n=function(e){if(!e)throw new Error("ng-navigation-prefix: invalid paths: "+i.ngNavigationPrefix);return t.pathStartsWith(e)}(e),n})),n||void 0}}}]),t("ngNavigationPath",["$parse","navigation",function(e,t){return function(n,r,i){var o=_.bind(e(i.ngNavigationPath),null,n);return function(){var e,n,r=o();if(_.isUndefined(r))throw new Error("ng-navigation-path: undefined paths: "+i.ngNavigationPath);if(_.isArray(r)||(r=[r]),!r.length)throw new Error("ng-navigation-path: empty paths: "+i.ngNavigationPath);return null===(e=r)||void 0===e||e.some((function(e){return n=function(e){if(!e)throw new Error("ng-navigation-path: invalid paths: "+i.ngNavigationPath);return t.pathEquals(e)}(e),n})),n||void 0}}}]),t("ngNavigationSection",["navigation",function(e){var t={root:"inRootSection",company:"inCompanySection",manifest:"inManifestSection",dashboard:"inDashboardSection"};return function(n,r,i){return function(){var n=i.ngNavigationSection;return e[t[n]]()}}}]),t("ngNavigationInvoiceLogin",["navigation",function(e){var t=r.D.dashboard.reports.invoices.partnerInvoice.index,n=function(t){var n=e.get("next");return!!n&&e.parseQuery(n).source===t};return function(r,i,o){return function(){return e.nextPathEquals(t)&&(n("uuid-invoice")||n("email"))}}}]),e.directive("ngConfirmNavigateAway",["$parse","$rootScope","$window","auth","navigation",function(e,t,n,r,i){return{restrict:"A",require:"?form",compile:function(t,o){var a=o.ngConfirmNavigateAwayWhen?e(o.ngConfirmNavigateAwayWhen):null,s=o.ngConfirmNavigateAwayComplete?e(o.ngConfirmNavigateAwayComplete):null;return function(e,t,o,c){var u=i.url,l=i.stripQuery(u),d=i.parseQuery(u);if(!n.slipstream.isEmbedded||n.slipstream.isBookEmbed){var p=function(){return o.ngConfirmNavigateAway?o.ngConfirmNavigateAway:T("Your changes will be lost.")},m=function(t){return!r.isSessionExpirationInProgress&&(a?a(e,{$url:t}):function(e){var t=_.isUndefined(e)?"":i.stripPrefix(e),n=i.stripQuery(t);if(l!==n)return!0;var r=i.parseQuery(t);return!_.isEmpty(d)&&!_.isEqual(d,r)}(t)&&c.$dirty)},f=function(){if(m())return p()};e.$on("$locationChangeStart",(function(t,i){if(m(i)){var o=n.confirm(T("Are you sure you want to leave this page?")+" "+p());o||(r.isLogoutInProgress=!1,t.preventDefault()),s&&s(e,{$complete:o})}}));var h=angular.element(n);h.on("beforeunload",f),e.$on("$destroy",(function(){h.off("beforeunload",f)}))}}}}}]),e.config(["$provide",function(e){e.decorator("ngHrefDirective",["$delegate",function(e){return e.shift(),e}])}]),e.directive("ngHref",["$browser","$location","$parse","clientOptions","d","navigation",function(e,t,n,r,i,o){return{restrict:"A",link:function(e,t,n){var a=!1,s=function(){var e=c();a&&(e=o.multiUrl(e)),e=r.reflectUrl(e),n.$set("href",e)},c=i.observer(n,"ngHref","",(function(t){if(!a&&o.parseMultiUrl(t))return a=!0,void o.watch(e,s);s()}))}}}]);var n=function(t,n){return e.directive(t,["d","navigation","$parse",function(e,r,i){return{restrict:"A",link:function(o,a,s){var c=o.isSet(s[t+"Strict"]),u=t+"When",l=s[u]?i(s[u]):_.noop,d=e.observer(s,t);a.on("click",(function(e){var t=$(e.target),i=d();i&&n.test(e)&&(s[u]&&!l(o)||e.defaultPrevented||c&&!a.is(t)||t.is("a")&&!a.is(t)||(o.$apply((function(){r.navigate(i)})),n.preventDefault&&e.preventDefault()))}))}}}])};n("ngNavigate",{test:function(e){return!(e.shiftKey||e.controlKey||e.metaKey||e.altKey)}}),n("ngShiftNavigate",{test:function(e){return e.shiftKey&&!e.controlKey&&!e.metaKey&&!e.altKey}}),n("ngControlNavigate",{test:function(e){return!e.shiftKey&&e.ctrlKey&&!e.metaKey&&!e.altKey}}),n("ngMetaNavigate",{test:function(e){return!e.shiftKey&&!e.controlKey&&e.metaKey&&!e.altKey}}),n("ngAltNavigate",{test:function(e){return!e.shiftKey&&!e.controlKey&&!e.metaKey&&e.altKey},preventDefault:!0}),n("ngShiftOrAltNavigate",{test:function(e){return(e.shiftKey||e.altKey)&&!e.controlKey&&!e.metaKey}}),e.directive("ngRedirect",["navigation",function(e){return{restrict:"A",link:function(t,n,r){var i=t.$eval(r.ngRedirect),o=t.$eval(r.ngRedirectMode)||"";if(!i)throw new Error("ng-redirect: no url: "+r.ngRedirect);e.redirect(i,o)}}}]),e.directive("ngReload",["navigation",function(e){return{restrict:"A",link:function(t,n,r){e.reload()}}}]),e.directive("ngReloadRoot",["$location","$window","navigation",function(e,t,n){return{restrict:"A",link:function(){var i=n.compose(r.D.root.index,e.search());t.location.replace(i)}}}])}(),n(51629),n(74423),n(25276),n(23792),n(48598),n(62062),n(44114),n(34782),n(3362),n(84864),n(57465),n(87745),n(38781),n(21699),n(90744),n(23500),n(62953);var i,o=n(63025),a=(n(47764),n(3296),n(27208),n(48408),n(14603),n(47566),n(98721),function(e,t,n){var r=e.split(".");return r.length>=2&&r[r.length-2]===t&&r[r.length-1]===n});(i=angular.module("navigation.services",["auth.services","lib.services"])).factory("navigation",["$rootScope","$browser","$injector","$location","$timeout","$window","auth","events","models",function(e,t,n,i,s,c,u,l,d){o.db.slipstream("isDebug");var p=o.db.slipstream("protocol"),m=o.db.slipstream("domain"),f=t.baseHref();"/"===f[f.length-1]&&(f=f.slice(0,f.length-1));var h=function(e){return!(!f&&"/embeds/"===e.slice(0,8)||!f&&"/"!==e.slice(0,1)||e.slice(0,f.length)!==f)},g=function(e){return h(e)?e.slice(f.length):e},v=function(e){return h(e)?e:f+e},y="_top"===$("base").attr("target"),b=function(e,t){var n=c;y&&(n=c.top),t?n.location.replace(e):n.location.assign(e)},T={admin:"admin-section",company:"company-section",dashboard:"dashboard-section",root:"root-section"};T.all=_.values(T).join(" ");var E=function(e,t){t?($("body").removeClass(T.all),$("body").addClass(T[e])):$("body").removeClass(T[e])},k={glob:"([a-zA-Z0-9-_.]+)",slug:"([a-z0-9-_.]+)",path:"([a-z-/]+)",pk:"(-?[0-9]+)",pks:"((-?[0-9]+)(,-?[0-9]+)*)"},C=function(e,t,n){return e=(e=e.replace(/\//g,"\\/")).replace(/:(\w+)(\((\w+)\))?/g,(function(e,t,r,i){return n.push(t),r?k[i]:k.glob})),new RegExp("^"+e+(t?"$":""))},A={},P=function(e,t){if(!e)throw new Error("navigation: matcher not given path");if(!_.isString(e))throw console.error("navigation: matcher not given a string path",e,t),new Error("navigation: matcher not given string path");var n,r=e+(t?"$":""),o=A[r];if(o)return o;var a,s=[],c=U.parseMultiUrl(e);if(c&&c.multiPath){a=C(c.path,!1,s);var u=[],l=C(c.multiPath,t,u);n=function(){var e=i.search()[c.key];if(_.isUndefined(e))return!1;"/"!==(e=e||"/")[e.length-1]&&(e+="/");var t=U.path;"/"!==t[t.length-1]&&(t+="/");var n=_.toArray(a.exec(t));if(!n.length)return!1;var r=_.toArray(l.exec(e));if(!r.length)return!1;var o={};return _.forEach(_.slice(n,1),(function(e,t){o[s[t]]=e})),_.forEach(_.slice(r,1),(function(e,t){o[u[t]]=e})),o}}else a=C(e,t,s),n=function(){var e=U.path;"/"!==e[e.length-1]&&(e+="/");var t=_.toArray(a.exec(e));if(!t.length)return!1;var n={};return _.forEach(_.slice(t,1),(function(e,t){n[s[t]]=e})),n};return A[r]=n,n},S={},O=function(e,t){return function(n,r){var i=e+n;if(!r&&!_.isUndefined(S[i]))return S[i];var o=t(n);return S[i]=o,o}},R=function(e,t){return function(){var n=e;if(!_.isUndefined(S[n]))return S[n];var r=t();return S[n]=r,r}},I=function(e){try{return decodeURIComponent(e)}catch(e){}},w=function(e){var t,n,r={};return _.forEach((e||"").split("&"),(function(e){if(e&&(t=e.replace(/\+/g,"%20").split("="),n=I(t[0]),!_.isUndefined(n))){var i=!!_.isUndefined(t[1])||I(t[1]);Object.hasOwnProperty.call(r,n)?_.isArray(r[n])?r[n].push(i):r[n]=[r[n],i]:r[n]=i}})),r},D=function(e){var t=e.replace("%3F","?");return _.includes(t,"?")?t.split("?")[0]:e},N=function(e){if(e){var t=e.replace("%3F","?");if(_.includes(t,"?")){var n=t.split("?")[1];return w(n)}}return{}},U={base:f,previousUrls:[],previousUrl:"",url:v(i.url()||"/"),path:v(i.path()||"/"),compose:function(e,t,n){t=_.pickBy(t,(function(t,r){try{return!new RegExp("[&\\?]"+r+"="+(n?"":t)).test(e)}catch(e){return!0}}));var r=o.db.toKeyValue(t);if(r){var i="",a=e.indexOf("#");return-1!==a&&(i=e.slice(a),e=e.slice(0,a)),_.includes(e,"?")?e+"&"+r+i:e+"?"+r+i}return e},parseQuery:N,stripQuery:D,stripPrefix:function(e){return e.replace(/^https?:\/\/[^\/]+/,"")},extendQuery:function(e,t){var n=U.parseQuery(e);return _.assign(n,t),e=D(e),U.compose(e,n)},pathStartsWith:O("pathStartsWith",(function(e){return P(e)()})),pathEquals:O("pathEquals",(function(e){return P(e,!0)()})),nextPathEquals:O("nextPathEquals",(function(e){var t=C(e,!0,[]),n=i.search().next;if(_.isUndefined(n))return!1;n=D(n);var r=t.exec(n);return r&&r.length})),inCompanySection:R("inCompanySection",(function(){var e,t=!(U.inRootSection()||U.inDashboardSection()||U.inLegacyManifestSection()||!(e=U.pathStartsWith(r.D.company.index)));return E("company",t),e})),inDashboardSection:R("inDashboardSection",(function(){var e,t=!U.inRootSection()&&!!(e=U.pathStartsWith(r.D.dashboard.index));return E("dashboard",t),e})),inLegacyManifestSection:R("inLegacyManifestSection",(function(){var e,t=!U.inRootSection()&&!!(e=U.pathStartsWith(r.D.legacyManifest));return E("dashboard",t),e})),inRootSection:R("inRootSection",(function(){var e=!1;return _.forEach(r.D.root,(function(t){e=t===r.D.root.index?e||U.pathEquals(t):_.isObject(t)?e||U.pathStartsWith(t.index):e||U.pathStartsWith(t)})),E("root",e),e})),reload:function(){s((function(){location.reload()}))},redirect:function(e,t,n){if(i.$$replace)s(_.bind(U.redirect,U,e,t,n));else{if(e=e||"/",t=t||"extend",e=U.multiUrl(e,t),h(e)&&!n)return e=g(e),i.replace(),i.url(e),e;b(e,!0)}},parseDashboardUrl:function(e){var t,n=window.location.search;if(n)var r=n.substring(n.indexOf("/")+1);else r=e.split("/").slice(2).join("/");var i={uuid:new RegExp("\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b","g"),dateLong:new RegExp("\\d\\d\\d\\d-\\d\\d-\\d\\d","g"),dateMedium:new RegExp("/\\d\\d\\d\\d/\\d\\d/","g"),dateShort:new RegExp("/\\d\\d/\\d\\d/","g"),users:new RegExp("/users/.+/","g"),id:new RegExp("/\\d+/","g")};return null===(t=r)||void 0===t||null===(t=t.replace(i.uuid,"{id}"))||void 0===t||null===(t=t.replace(i.dateLong,"{date}"))||void 0===t||null===(t=t.replace(i.dateMedium,"/{date}/"))||void 0===t||null===(t=t.replace(i.dateShort,"/{date}/"))||void 0===t||null===(t=t.replace(i.users,"/users/{user}/"))||void 0===t?void 0:t.replace(i.id,"/{id}/")},navigate:function(e,t,n){if(e=e||"/",t=t||"replace",e=U.multiUrl(e,t),h(e)&&!n)return e=g(e),i.url(e),e;b(e)},forceNavigate:function(t){return e.$apply((function(){return U.navigate(t)}))},open:function(e,t,n){n&&(n.stopPropagation(),n.preventDefault()),t=_.assign({},{status:1,scrollbars:1,resizable:1},t);var r=_.map(t,(function(e,t){return t+"="+e})).join(",");c.open(e,"$$window",r)},get:function(e){return"next"===e?function(e){try{var t=new URL(e).hostname,n=a(t,"fareharbor","com"),r=a(t,"fhbr","co");return n||r?e:""}catch(t){return e}}(i.search()[e]):i.search()[e]},set:function(e,t,n){return n&&i.replace(),i.search(e,t)},clear:function(e,t){return t&&i.replace(),i.search(e,null)},getInt:function(e){var t=_.int(this.get(e));if(!isNaN(t))return t},getPk:function(e){var t=U.getInt(e);if(!(_.isUndefined(t)||t<=0))return t},getPks:function(e){return _.splitPks(this.get(e))},parseMultiUrl:function(e){if(_.isUndefined(e))console.warn("navigation: invalid multi-url",e);else if(!/^(https?|ftp|mailto|tel)/.test(e)){var t=_.split(e,"@",2);if(2===t.length){var n=t[0],r=t[1];if(!r)return;var i=(t=_.split(r,"=",2))[0],o=t[1]||"",a={};return 2===(t=_.split(o,"?",2)).length&&(o=t[0],a=w(t[1])),{path:n,key:i,multiPath:o,search:a}}}},multiUrl:function(e,t,n){if(!e)throw new Error("navigation: bad url to multi");t=t||"replace";var r,o=U.parseMultiUrl(e),a={};return o&&(t="extend",o.multiPath&&(a[o.key]=o.multiPath),_.assign(a,o.search)),"extend"===t&&(a=_.assign({},i.search(),a),o&&!o.multiPath&&delete a[o.key]),o?(r=o.path,n?r=n:U.pathStartsWith(o.path)&&(r=U.path)):r=e,U.compose(r,a)},watch:function(e,t,n){var r=function(){e.$safeApply((function(){t(U.path,U.url)}))};return"path"===n?e.$watch((function(){var e=U.parseMultiUrl(U.url);return e?e.path:U.path}),r):"multiPath"===n?e.$watch((function(){var e=U.parseMultiUrl(U.url);return e?e.key+"="+e.multiPath:""}),r):e.$watch((function(){return U.url}),(function(e,t){if(_.isObject(n)&&n.search)return function(e,t){var i,o,a,s,c;e===t?r():(i=e,o=t,a=n.search,s=N(i),c=N(o),a&&(s=_.pick(s,a),c=_.pick(c,a)),_.isEqual(s,c)||r())}(e,t);r()}))},currentCompany:null,updateCurrentCompany:function(e,t){var r=n.get("analytics");U.currentCompany=t,r.trackCompany(U.currentCompany),l.broadcast("navigation.company.updated",{company:U.currentCompany}),e.$on("$destroy",(function(){U.currentCompany=null,r.trackCompany(null),l.broadcast("navigation.company.updated",{company:U.currentCompany})}))},isCurrentCompany:function(e){return U.currentCompany&&_.isUriEqual(U.currentCompany,e)},absoluteUrl:function(e){return e=_.isUndefined(e)?U.url:v(e),p+"://"+m+e},loginRedirectUrl:function(e){var t;t=U.currentCompany?U.currentCompany.$url(r.D.company.login):r.D.root.login;var n=U.path,o=_.assign({},i.search());delete o.next;var a=U.compose(n,o),s={};return/\/login\//g.test(n)||(s.next=a,e&&(s.require="yes")),U.compose(t,s)},startBookingUrl:function(e,t){if(!e)return t.company.$url(r.D.dashboard.bookings.index);var n,i=e.availability.startAt,o=e.company,a=moment().startOf("day");if(i.diff(a)<0&&(i=a),e.affiliation&&e.affiliation.affiliateCompany===u.currentUser.company&&(u.storage.set("currentPartnerSelection",e.company.uri),o=e.affiliation.affiliateCompany),U.pathStartsWith(r.D.dashboard.bookings.day.index))n=r.D.dashboard.bookings.day.date;else if(U.pathStartsWith(r.D.dashboard.bookings.agenda.index))n=r.D.dashboard.bookings.agenda.date;else if(U.pathStartsWith(r.D.dashboard.bookings.calendar))n=r.D.calendarUrls(r.D.dashboard.bookings.calendar).month;else if(U.pathStartsWith(r.D.dashboard.bookings.grid.index))n=r.D.dashboard.bookings.grid.date;else{if(!U.pathStartsWith(r.D.dashboard.bookings.timeline.index))return U.compose(r.D.populate(r.D.dashboard.bookings.index,{shortname:o.shortname}),{date:i.format("YYYY-MM-DD")});n=r.D.dashboard.bookings.timeline.date}return r.D.populate(n,{shortname:o.shortname,year:i.format("YYYY"),month:i.format("MM"),date:i.format("YYYY-MM-DD")})}},F=!0;return e.$on("$locationChangeStart",(function(t){e.$evalAsync((function(){e.$broadcast("$locationChangeComplete",!t.defaultPrevented),t.defaultPrevented&&e.$broadcast("$locationChangeCancelled")}))})),e.$on("$locationChangeSuccess",(function(e,o,a){var c=o?U.stripPrefix(o):"/";c=v(c);var l=a?U.stripPrefix(a):"/";l=v(l);var d=i.path();"/"===(d=v(d=d||"/"))[d.length-1]?(S={},U.url=c,U.path=d,(c!==l||F)&&s((function(){console.info("navigation: navigation complete",U.url,c),window.dispatchEvent(new Event("NAVIGATION_COMPLETE")),t.notifyWhenNoOutstandingRequests((function(){var e,t,i,a;U.url!==c||(e=U.path,t=U.currentCompany?U.currentCompany.shortname:"",i=[r.D.embeds.calendar.index,r.D.embeds.items.index,r.D.embeds.cart.index,r.D.embeds.checkin.index,r.D.embeds.partners.index],a=_.map(i,(function(e){return e.replace(":shortname/",t)})),_.some(a,(function(t){return _.includes(e,t)})))||(u.currentUser.isAuthenticated||U.pathStartsWith(r.D.company.login)||n.get("analytics").trackView(o),U.previousUrls.push(c),2===U.previousUrls.length&&(U.previousUrl=U.previousUrls[0],U.previousUrls.shift()))}))})),F=!1):U.redirect(U.compose(d+"/",i.search()))})),c.$$navigation=U,c.$$location=i,U}]),i.run(["$rootScope","navigation",function(e,t){e.navigation=t}]),angular.module("navigation",["navigation.services","navigation.directives"])},22285:function(e,t,n){"use strict";n(51629),n(74423),n(62062),n(44114),n(62010),n(26099),n(21699),n(23500);var r,i=n(64937),o=n(63025),a=n(42069);n(95958),(r=angular.module("prices.directives",[])).directive("ngCosts",["$parse",function(e){return{restrict:"A",templateUrl:"prices.costs",scope:!0,compile:function(t,n){var r=e(n.ngCosts),o=e(n.ngCostsCompany);return function(e,t,a){e.$watch(r,(function(t){e.costs=t||{}})),e.$watch(o,(function(t){e.company=t,i.Y.assert(e.company,"ng-costs: invalid company "+a.ngCostsCompany+" ("+n.ngCosts+")")}))}}}}]),r.directive("ngPrice",["$parse","models",function(e,t){return{restrict:"A",templateUrl:"prices.price",scope:!0,compile:function(n,r){var i=e(r.ngPrice),o=e(r.ngPriceCompany),s=e(r.ngPriceCount),c=r.ngPriceAdjustedPrice?e(r.ngPriceAdjustedPrice):null,u=r.ngPriceSubcomponents?e(r.ngPriceSubcomponents):null,l=t.PriceLine;return function(e,t,n){e.hideCents=e.isSet(n.ngPriceHideCents);var r=e.isSet(n.ngPriceExchangeCurrency),d=!1;o(e).features.isCurrencyLocalizationEnabled&&(0,a.D)().then((function(e){d=r&&e})),e.$watchCollection((function(){var t=s(e),n=o(e),r=i(e),a=u&&u(e),l={effectivePricing:r,company:n,count:t,shouldExchangeCurrency:d};if(a&&a.forEach((function(e){l[e.customFieldInstance.pk]=e.count()})),c){var p=c(e);p&&(l.adjustedRate=p.rate,l.adjustedOffset=p.offset)}return l}),(function(t){if(e.effectivePricing=t.effectivePricing,e.company=t.company,e.count=t.count,c&&(e.adjustedPrice=c(e),e.effectivePricing=l.adjustPrice(e.effectivePricing,e.adjustedPrice)),e.subcomponents=u&&u(e)||[],e.showOffset=e.subcomponents.length||l.showOffset(e.effectivePricing,e.adjustedPrice),e.effectiveOffset=e.showOffset?l.effectiveOffset(e.effectivePricing,e.count):null,e.subcomponents.length&&e.subcomponents.forEach((function(t){e.effectiveOffset+=l.effectiveOffset(t.pricing,t.count())})),e.currency=e.company.processorCurrency,e.showOffset&&d){var n=a.j.currencyExchangeRate[e.currency];e.effectiveOffset=_.roundHalfToEven(e.effectiveOffset/n),e.currency=a.j.targetCurrency}}))}}}}]),r.directive("ngPrices",["$q","auth","events","models","prices",function(e,t,n,r,a){return{restrict:"A",scope:!0,controller:function(){var t=this;t.sheets={},t.status="initializing";var s={},c={},u=function(e,t){_.forEach(t,(function(t){t.forObject&&(e[t.forObject.uri]=t)}))},l=null,d=null,p=null,m=null,f=e.defer();t.promise=f.promise,t.refresh=function(){if(!t.sheets.totalSheet||!t.object)return console.warn("ng-prices: attempting to refresh without total sheet or object",t.sheets.totalSheet,t.object),e.when();var r,i,h=[];if(t.sheets.totalSheet!==l){p&&p.cancel&&p.cancel();var g=[t.object,t.sheets.totalSheet];t.queryParams&&_.ref.append(g,[null,null,t.queryParams]),r=a.pricing.apply(a,g),p=r.$promise,h.push(p)}return l=t.sheets.totalSheet,t.sheets.invoiceSheet&&t.sheets.invoiceSheet!==d?(m&&p.cancel&&m.cancel(),g=[t.object,t.sheets.invoiceSheet],t.queryParams&&_.ref.append(g,[null,null,t.queryParams]),i=a.pricing.apply(a,g),m=i.$promise,h.push(m)):t.sheets.invoiceSheet||(c={}),d=t.sheets.invoiceSheet,h.length?(t.status="initializing"===t.status?"initializing":"loading",e.all(h).then((function(e){var a=e[0]===o.db.CANCELLED,l=e[1]===o.db.CANCELLED;r&&!a&&u(s={},r),i&&!l&&u(c={},i),t.status="success",n.broadcast("prices.ngPrices.updated"),f.resolve()}),(function(){console.warn("ng-prices: unable to retrieve pricing",arguments),s={},c={},l=null,d=null,n.broadcast("prices.ngPrices.updated"),t.status="error",f.reject()}))):(n.broadcast("prices.ngPrices.updated"),e.all([p,m]))},t.updateSheets=function(e){return i.Y.assert(!!e,"ng-prices: expected sheets",e),t.sheets=e,t},t.updateTotalSheet=function(e,n){return i.Y.assert(!!e,"ng-prices: expected total sheet",e),t.sheets=_.assign({},t.sheets,{totalSheet:e,totalScheduleEntryRules:n}),t},t.updateInvoiceSheet=function(e,n){return t.sheets=_.assign({},t.sheets,{invoiceSheet:e,invoiceScheduleEntryRules:n}),t},t.totalPricing=function(e){return e&&e.uri?s[e.uri]||r.PriceLine.NONE_PRICING:(console.warn("ng-prices: totalPricing: invalid object"),r.PriceLine.NONE_PRICING)},t.invoicePricing=function(e){return e&&e.uri?c[e.uri]||r.PriceLine.NONE_PRICING:(console.warn("ng-pricing: invoicePricing: invalid object"),r.PriceLine.NONE_PRICING)}},link:{pre:function(e,t,n,r){e.pricesCtrl=r},post:function(e,t,n,r){r.object=e.$eval(n.ngPrices),i.Y.assert(r.object,"ng-prices: no object specified");var o=e.$eval(n.ngPricesTotalSheet),a=e.$eval(n.ngPricesInvoiceSheet);(o||a)&&r.updateSheets({totalSheet:o,invoiceSheet:a}),r.queryParams=e.$eval(n.ngPricesParams),r.refresh()}}}}]),r.directive("ngPricesNone",["models",function(e){return{restrict:"A",scope:!0,controller:function(){this.totalPricing=this.invoicePricing=function(){return e.PriceLine.NONE_PRICING}},controllerAs:"pricesCtrl"}}]),r.directive("ngPricesNavigation",["$q","auth","models",function(e,t,n){return{restrict:"A",scope:!0,templateUrl:"ng-prices-navigation",require:["^ngPrices","^ngBook"],controllerAs:"pricesNavigationCtrl",controller:["$scope",function(t){var r=this,i=t.pricesCtrl,a=t.bookCtrl,s=a.availability.company.shortname;if(!a.totalSheetsAndSchedules){var c=o.db.totalSheets.nonBase({shortname:s}),u=o.db.totalSchedules({shortname:s});r.totalPromises=e.all([c.$promise,u.$promise]).then((function(){a.totalSheetsAndSchedules=_.append(c,u),_.includes(a.totalSheetsAndSchedules,i.sheets.totalSheet)||a.totalSheetsAndSchedules.push(i.sheets.totalSheet)}))}if(a.invoiceSheetsAndSchedules)i.sheets.invoiceSheet&&!_.includes(a.invoiceSheetsAndSchedules,i.sheets.invoiceSheet)&&a.invoiceSheetsAndSchedules.push(i.sheets.invoiceSheet);else{var l=o.db.invoiceSheets.nonBase({shortname:s}),d=o.db.invoiceSchedules({shortname:s});r.invoicePromises=e.all([l.$promise,d.$promise]).then((function(){a.invoiceSheetsAndSchedules=_.append(l,d),i.sheets.invoiceSheet&&!_.includes(a.invoiceSheetsAndSchedules,i.sheets.invoiceSheet)&&a.invoiceSheetsAndSchedules.push(i.sheets.invoiceSheet)}))}t.$watch("bookCtrl.totalSheetOrSchedule",(function(e,t){if(e!==t)if(a.effectiveSheetsRequest&&a.effectiveSheetsRequest!==r.invoiceSheetRequest&&a.effectiveSheetsRequest.cancel(),a.totalSheetOrSchedule.cls===n.TotalSchedule.cls){var c=o.db.totalScheduleEffectiveSheet({shortname:s,availabilityPk:a.availability.pk,totalSchedulePk:a.totalSheetOrSchedule.pk,totalScheduleUuid:a.totalSheetOrSchedule.uuid});a.effectiveSheetsRequest=c.$promise,r.totalSheetRequest=c.$promise,a.effectiveSheetsRequest.then((function(e){e!==o.db.CANCELLED&&i.updateTotalSheet(c.totalSheet,c.totalScheduleEntryRules).refresh()}))}else i.updateTotalSheet(a.totalSheetOrSchedule,null).refresh()})),t.$watch("bookCtrl.invoiceSheetOrSchedule",(function(e,t){if(e!==t)if(a.effectiveSheetsRequest&&a.effectiveSheetsRequest!==r.totalSheetRequest&&a.effectiveSheetsRequest.cancel(),a.invoiceSheetOrSchedule&&a.invoiceSheetOrSchedule.cls===n.InvoiceSchedule.cls){var c=o.db.invoiceScheduleEffectiveSheet({shortname:s,availabilityPk:a.availability.pk,invoiceSchedulePk:a.invoiceSheetOrSchedule.pk});a.effectiveSheetsRequest=c.$promise,r.invoiceSheetRequest=c.$promise,r.invoiceSheetRequest.then((function(e){e!==o.db.CANCELLED&&i.updateInvoiceSheet(c.invoiceSheet,c.invoiceScheduleEntryRules).refresh()}))}else i.updateInvoiceSheet(a.invoiceSheetOrSchedule,null).refresh()}))}]}}]),r.directive("ngPricesExtendedOptions",["$filter","$parse","auth","events","localization","models",function(e,t,n,r,o,a){var s=e("amount"),c=e("currencySymbol"),u=e("percentage");return{require:["ngPricesExtendedOptions","?^ngBook"],scope:!0,controller:["$scope","$attrs",function(e,t){var i=this;i.customField=null,i.visibilityObject=null,i.options=[],i.isForcedOption=!1;var l=e.$eval(t.ngPricesExtendedOptionsCurrency),d=_.constant(c(l)),p=_.constant(o.current().PERCENT_SYMBOL);i.refresh=function(){_.clear(i.options);var e=i.bookCtrl&&!i.bookCtrl.isShowingHiddenCustomFields,t=!1;_.forEach(i.customField.extendedOptions,(function(n){var r=i.pricesCtrl.totalPricing(n);r.visibility.isVisible&&(e&&r.visibility.isHiddenWhenBooking||(i.options.push({pk:n.pk,extendedOption:n}),t||i.customField.isPricingHidden||(t=a.PriceLine.showOffset(r)||a.PriceLine.showRate(r))))})),i.isImpossibleOption=!i.options.length&&i.pricesCtrl.totalPricing(i.visibilityObject).visibility.isRequired,i.isImpossibleOption&&i.model.assign(null),i.isForcedOption=1===i.options.length&&i.pricesCtrl.totalPricing(i.visibilityObject).visibility.isRequired,i.isForcedOption&&i.model.assign(i.options[0].pk),_.forEach(i.options,(function(n){var r=n.extendedOption,o=i.pricesCtrl.totalPricing(r);if(o.visibility.isVisible&&(!e||!o.visibility.isHiddenWhenBooking)){var s="";t&&(o.price.modifierKind===a.PriceLine.OFFSET_MODIFIER_KIND?s+=d(a.PriceLine.effectiveOffset(o))+" - ":o.price.modifierKind===a.PriceLine.PERCENTAGE_MODIFIER_KIND&&(s+=p(o.price.rate)+" - ")),s+=r.name,n.extendedOption.isPrivate&&!i.customField.isPrivate&&(s="ontouchstart"in window||navigator.msMaxTouchPoints?"🔒"+s:'<span class="private"></span>'+s),n.label=s}}))},i.update=function(e,t,r){i.model=e,i.customField=t,i.visibilityObject=r||t,n.permissions.can("viewAmounts",i.customField.company)&&(d=_.partial(s,_,l),p=u),i.refresh()},i.onOptionSelected=function(e){r.broadcast("ngPricesExtendedOptions.optionSelected",{extendedOption:e&&e.extendedOption,visibilityObject:i.visibilityObject})}}],compile:function(e,n){var o=t(n.ngPricesExtendedOptions),s=t(n.ngPricesExtendedOptionsField),c=t(n.ngPricesExtendedOptionsInstance);return{pre:function(e,t,n,r){i.Y.inScope(e,"pricesCtrl","prices.ngPricesExtendedOptions"),e.pricesExtendedOptionsCtrl=r[0],e.pricesExtendedOptionsCtrl.pricesCtrl=e.pricesCtrl},post:function(e,t,n,u){var l=u[1]||null;e.pricesExtendedOptionsCtrl.bookCtrl=l;var d=e.$model(o);d()||d.assign(null);var p=s(e),m=c(e)||null;i.Y.assert(p.type===a.CustomField.EXTENDED_OPTION_TYPE,"prices.ngPricesExtendedOptions"),e.pricesExtendedOptionsCtrl.update(d,p,m),e.$watch((function(){return _.map(p.extendedOptions,"pk")}),(function(){e.pricesExtendedOptionsCtrl.refresh()}),!0),r.on(e,"pricing.ngPricing.updated",(function(){e.pricesExtendedOptionsCtrl.refresh()})),r.on(e,"prices.ngPrices.updated",(function(){e.pricesExtendedOptionsCtrl.refresh()})),l&&e.$watch((function(){return l.isShowingHiddenCustomFields}),(function(){e.pricesExtendedOptionsCtrl.refresh()}))}}}}}]),r.directive("ngAdjustedPrice",["$parse","auth","events","models",function(e,t,n,r){return{restrict:"A",controllerAs:"adjustedPriceCtrl",scope:!0,controller:["$scope","$attrs",function(o,a){i.Y.inScope(o,"pricesCtrl");var s=r.PriceLine,c=this;c.isAdjustmentFieldOpen=!1;var u=e(a.ngAdjustedPrice),l=o.$eval(a.ngAdjustedPriceField),d=o.$eval(a.ngAdjustedPriceCustomFieldInstanceKeyPrefix)||"",p=r.Booking.adjustedPriceKeyPrefix(d),m=function(e,t){var n=u(o);delete n[p+(e?"invoiceRate":"rate")],delete n[p+(e?"invoiceOffset":"offset")],t&&t.$setDirty()};c.clearAdjustedInvoicePrice=_.partial(m,!0),c.clearAdjustedTotalPrice=function(e){m(!1,e),m(!0,e)};var f=function(e){var t=u(o);return s.adjustedPriceFromModel(t,d,e)};c.asTotalPrice=_.partial(f,!1),c.asInvoicePrice=_.partial(f,!0);var h=function(e){var t=function(e){var t=f(e);return!!t&&(_.isNumber(t.rate)?t.rate:t.offset)}(e);return _.isNumber(t)&&!_.isNaN(t)&&t!==function(e){var t=e?c.invoicePricing:c.totalPricing;return t.price.modifierKind===s.PERCENTAGE_MODIFIER_KIND?t.price.rate:t.price.offset}(e)};c.isTotalPriceAdjusted=_.partial(h,!1),c.isInvoicePriceAdjusted=_.partial(h,!0);var g=t.permissions.can("adjustCustomFieldValuePrice",r.Booking,l.company);c.isPriceAdjustable=function(){return!(!l.customField.isAdjustable||!g)&&!(!c.totalPricing||!c.invoicePricing)&&!r.CustomFieldInstanceCondition.isSubcomponent(l)&&(c.isTotalPriceAdjustable()||c.isInvoicePriceAdjustable()||l.customField.type===r.CustomField.EXTENDED_OPTION_TYPE)},c.isTotalPriceAdjustable=function(){return c.totalPricing&&c.totalPricing.price.modifierType!==s.NONE_MODIFIER_TYPE},c.isInvoicePriceAdjustable=function(){return c.invoicePricing&&c.invoicePricing.price.modifierType!==s.NONE_MODIFIER_TYPE};var v=function(e){var t=f(e);return t?t.modifierKind:(e?c.invoicePricing:c.totalPricing).price.modifierKind};c.totalPricingModifierKind=_.partial(v,!1),c.invoicePricingModifierKind=_.partial(v,!0),c.onTotalPriceChange=function(){if(c.isInvoicePriceAdjustable()){var e=u(o),t=e[p+"rate"],n=e[p+"offset"];_.isNumber(t)||_.isNumber(n)?(e[p+"invoiceRate"]=t,e[p+"invoiceOffset"]=n):c.clearAdjustedInvoicePrice()}};var y=l,b=function(){"success"===o.pricesCtrl.status&&(y?(c.totalPricing=o.pricesCtrl.totalPricing(y),c.invoicePricing=o.pricesCtrl.invoicePricing(y)):(c.totalPricing=r.PriceLine.NONE_PRICING,c.invoicePricing=r.PriceLine.NONE_PRICING),c.isTotalPriceAdjustable()||c.clearAdjustedTotalPrice(),c.isInvoicePriceAdjustable()||c.clearAdjustedInvoicePrice())};l.customField.type===r.CustomField.EXTENDED_OPTION_TYPE?n.on(o,"ngPricesExtendedOptions.optionSelected",(function(e,t){t.visibilityObject===l&&(y=t.extendedOption,b())})):b();var T=!1;n.on(o,"prices.ngPrices.updated",(function(){if(b(),!o.isSet(a.ngAdjustedPriceIsUpdate)){var e=c.isInvoicePriceAdjustable();!T&&e&&c.onTotalPriceChange(),T=e}})),o.$watch((function(){var e=u(o),t=d?d+"-":"";c.customFieldValueValue=e[t+"value"],c.customFieldValueValue||(c.clearAdjustedTotalPrice(),c.clearAdjustedInvoicePrice())}))}]}}]),n(34782),n(13609);var s,c=n(72422);(s=angular.module("prices.services",[])).factory("prices",["auth","models",function(e,t){var n=function(e){return _.uncapitalize(e.cls)},r=function(e,t){return _.assign(c.D.extract(t),{objectCls:e.cls,objectPk:e.pk})},i={pricing:function(e,t){var i=o.db[n(t)].pricing,a=_.slice(arguments,2);return a.unshift(r(e,t)),i.apply(o.db,a)}};return i.pricing.update=function(e,t){var i=o.db[n(t)].pricing.update,a=_.slice(arguments,2);return a.unshift(r(e,t)),i.apply(o.db,a)},i.pricing.stack=function(e,t){var i=o.db[n(t)].pricing.stack,a=_.slice(arguments,2);return a.unshift(r(e,t)),i.apply(o.db,a)},i}]),s.factory("priceSheets",["clientOptions",function(e){return{effectiveSheets:function(t){var n={};return e.defaultTotalSheetPk?n.clientOptionSheetPk=e.defaultTotalSheetPk:e.defaultTotalSheetUuid?n.clientOptionSheetUuid=e.defaultTotalSheetUuid:e.defaultTotalSchedulePk?n.clientOptionSchedulePk=e.defaultTotalSchedulePk:e.defaultTotalScheduleUuid&&(n.clientOptionScheduleUuid=e.defaultTotalScheduleUuid),o.db.effectiveSheets({shortname:t.company.shortname,availabilityPk:t.pk},{},{},n)},affiliationEffectiveSheets:function(e,t){return o.db.affiliationEffectiveSheets({shortname:e.company.shortname,availabilityPk:e.pk,affiliationPk:t.pk})},rebookingEffectiveSheets:function(e,t){return o.db.rebookingEffectiveSheets({shortname:e.company.shortname,availabilityPk:e.pk,bookingUuid:t.uuid})}}}]),angular.module("prices",["prices.directives","prices.services"])},90179:function(e,t,n){n(44114),angular.module("tracking.services").factory("analytics",["$injector","$window","auth","consent","tracking","clientOptions","persistentStorage",function(e,t,n,r,i,o,a){t.initialAnalyticsEvents=[];var s=function(e){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return t.initialAnalyticsEvents.push({actionName:e,actionArguments:r})}},c={storeContext:function(){var e={};return"isConsentProvided"in o&&(e.isConsentProvided=o.isConsentProvided),"isConsentSolutionPresent"in o&&(e.isConsentSolutionPresent=o.isConsentSolutionPresent),a.set("analytics",e).then((function(){return!0})).catch((function(){return!1}))},trackCompany:function(o){i.storeAnonUserData("analytics-enabled",!1),n.currentUser.isAuthenticated||(r.addListener((function(n){if(t._ga4Setup){n&&n.tags&&(t.crossDomainedGoogleAnalytics4Tags=n.tags),t.is3rdPartyContext=!1;try{var r=e.get("lightframe");t.is3rdPartyContext=Boolean(r&&!r.isDirectAccess())}catch(e){}void 0!==n&&n&&n.referrerEmbedId&&n.hostPageHasGA4?t._ga4Setup((function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];e.get("lightframe").broadcast("fareharbor.analytics.reportGA4",{arguments:r,embedId:n.referrerEmbedId})})):t._ga4Setup()}_.assign(c,e.get("analytics.enabled")),i.storeAnonUserData("analytics-enabled",!0),c.trackCompany(o)})),r.trackCompany(o))},trackView:s("trackView"),trackViewBookForm:s("trackViewBookForm"),trackViewCalendar:s("trackViewCalendar"),trackViewCalendarSingleItem:s("trackViewCalendarSingleItem"),trackViewItemDescription:s("trackViewItemDescription"),trackViewSearchByDate:s("trackViewSearchByDate"),trackAddToCart:_.noop,trackBooking:_.noop,trackOrder:_.noop};return c}])},70096:function(e,t,n){"use strict";n(96003),n(88431),n(50113),n(51629),n(62062),n(44114),n(15086),n(60739),n(33110),n(26099),n(42762),n(50778),n(23500),n(76031);var r=n(94718);!function(){var e=angular.module("tracking.directives",[]),t=function(t,n){e.directive(t,["$injector","$parse","d","navigation","tracking",function(e,i,o,a,s){_.isArray(n)&&(n=e.invoke(n));var c=n.require||[],u={ngMxDataCompany:s.extract,ngMxDataItem:s.extract,ngMxDataItems:function(e){return _.isArray(e)&&0!=e.length?{items:_.uniq(_.map(e,"name")),"item-ids":_.uniq(_.map(e,"pk"))}:{}},ngMxDataCartEntries:function(e){if(!_.isArray(e)||0==e.length)return{};var t=_.map(e,"availability.item"),n=_.map(e,"availability");return _.isArray(t)&&0!=t.length?{items:_.uniq(_.map(t,"name")),"item-ids":_.uniq(_.map(t,"pk")),availabilities:_.uniq(_.map(n,"pk"))}:{}},ngMxDataManifestDisplay:function(e){return e?s.extractManifestProperties(e):{}},ngMxDataManifestColumns:function(e){return e?{"manifest-columns":s.extractManifestColumns(e)}:{}},ngMxDataManifestFilters:function(e){return e?{"manifest-filter":s.extractManifestFilters(e)}:{}},ngMxDataManifestGroupBy:function(e){return e?{"manifest-group-by":s.extractManifestGroupBy(e)}:{}},ngMxDataManifestDisplayOptions:function(e){return e?{"manifest-display-options":s.extractManifestDisplayOptions(e)}:{}},ngMxDataFlowNode:s.extract,ngMxDataAvailability:s.extract,ngMxDataBooking:s.extract,ngMxDataCustomerType:s.extract,ngMxDataCustomerTypeRate:s.extract,ngMxDataResellerCompany:s.extract,ngMxDataResellerCompanyMapping:s.extract,ngMxDataResellerItem:s.extract,ngMxDataResellerItemMapping:s.extract,ngMxDataResellerCustomerType:s.extract,ngMxDataResellerCustomerTypeMapping:s.extract,ngMxDataResellerOption:s.extract,ngMxDataResellerOptionMapping:s.extract,ngMxDataResellerKey:s.extract,ngMxDataPreviousView:function(e){if(e)return{"previous-view-page":a.parseDashboardUrl(e)}},ngMxDataUrl:function(){return{url:a.url}},ngMxDataPaymentOptions:function(e){if(e)return r.n.constructPaymentMethodEventData(s)}};return{restrict:"A",require:c,compile:function(r,a){var l=a.ngMxWhen?i(a.ngMxWhen):_.always,d=!!a.ngMxLibrary&&a.ngMxLibrary,p=n.compile?o.safeInvoke(e,n.compile)(r,a):o.safeInvoke(e,n.link);return function(e,r,i,o){var a=!1,m=null;if(p){var f=[e,r,i];c.length&&f.push(o),f.push((function(o,c){if(!1!==o&&"false"!==o){_.isObject(o)&&(o.trackLink&&(m=r,delete o.trackLink),c=o,o=void 0);var p=o||i[t];if(p)if(l(e)){if(!n.once||!a){a=!0;var f={};_.forEach(u,(function(t,n){_.assign(f,t(e.$eval(i[n])||null))}));var h=e.$eval(i.ngMxData);if("function"==typeof h){var g=h();_.assign(f,g)}else _.assign(f,h);_.forEach(c,(function(e,t){_.isObject(e)?_.assign(f,s.extract(e)):f[t]=e})),m?s.trackLink(e,m,p,f):s.track(e,p,f,d)}}else console.log("tracking: ng-mx-when cancelled tracking",p);else console.warn("tracking: invalid action",t)}else console.log("tracking: mx() cancelled tracking")})),p.apply(null,f)}}}}}])};e.directive("ngMxScopeData",["tracking",function(e){return{priority:1,restrict:"A",scope:!0,link:{pre:function(t,n,r){if(!r.ngMxWhen||t.$eval(r.ngMxWhen)){var i=t.$eval(r.ngMxScopeData);e.extendScopeProperties(t,i)}}}}}]),t("ngMxTimeEvent",{link:["tracking",function(e){return function(t,n,r,i){n.on("click",(function(){t.$apply((function(){e.timeEvent(r.ngMxTimeEvent)}))}))}}]}),t("ngMxView",{once:!0,link:["tracking",function(e){return function(t,n,r,i){if(!_.isUndefined(r.ngMxViewInitial)&&(!r.ngMxWhen||t.$eval(r.ngMxWhen))){var o=r.ngMxViewInitial||r.ngMxView;e.initialView(o)}i()}}]}),t("ngMxClick",{link:function(e,t,n,r){t.on("click",(function(){e.$apply((function(){r()}))}))}}),t("ngMxTrackLink",{link:function(e,t,n,r){t.on("click",(function(){e.$apply((function(){r({trackLink:!0})}))}))}}),t("ngMxChange",{require:"ngModel",compile:["$parse",function(e){return function(t,n){var r=n.ngMxChangeWhen?e(n.ngMxChangeWhen):_.always;return function(e,t,n,i,o){e.$watch((function(){return i.$modelValue}),(function(t,n){t!==n&&r(e,{$value:t,$oldValue:n})&&o({"new-value":t,"old-value":n})}))}}}]}),t("ngMxForm",{require:"form",link:function(e,t,n,r,i){var o,a,s=n.ngMxForm.split(",");if(0!==s.length){var c=(null!==(o=s[0])&&void 0!==o?o:"").trim();c&&(r.$customSuccessCallbacks||(r.$customSuccessCallbacks=[]),r.$customSuccessCallbacks.push((function(e,t){return i(c,t)})));var u=(null!==(a=s[1])&&void 0!==a?a:"").trim();if(u){var l=function(e){var t={};for(var n in e)e[n].length>0&&(t[n]=e[n]);return JSON.stringify(t)};r.$errorCallbacks||(r.$errorCallbacks=[]),r.$errorCallbacks.push((function(e){return i(u,{formErrors:l(e)})}))}}}});var n=function(e,t,n,r,i,o){var a,s=[],c=!1,u=e.$watch((function(){a||(a=setTimeout((function(){a=null;var n=t.find("[ng-model]");if(n.length){var r=t.find("[ng-mx-form-valid-async]"),l=t.find("[ng-mx-form-valid-async-success]");if(r.length===l.length){var d=_.map(n,(function(e){return angular.element(e).controller("ngModel")})),p=_.every(d,"$valid"),m=_.map(d,"$modelValue");if(p){if(o)u();else if(c&&_.isEqual(m,s))return;e.$apply((function(){i({"form-was-edited":_.some(d,"$dirty")})}))}o||(c=p,s=m)}}})))}))};t("ngMxFormValid",{require:"^form",link:[function(){return _.partialRight(n,!1)}]}),t("ngMxFormValidOnce",{require:"^form",link:[function(){return _.partialRight(n,!0)}]})}(),n(48598);var i=n(72422);angular.module("tracking.services").factory("tracking.iframes",["navigation",function(e){var t={},n=$('<div class="a-embed-iframes-container"></div>');return{requestForBooking:function(e,n,r){t[n.uuid]||(t[n.uuid]=[]),t[n.uuid].push({servicePk:e.pk,uniqueType:r?e.type:null})},loadForBooking:function(r){var o=[],a={};_.forEach(t[r.uuid],(function(e){var t=0;e.uniqueType&&(_.isUndefined(a[e.uniqueType])?a[e.uniqueType]=0:t=++a[e.uniqueType]),o[t]||(o[t]=[]),o[t].push(e)}));var s=r.$url(i.D.embeds.analytics.booking);console.info("analytics: removing iframes"),n.detach().empty(),_.forEach(o,(function(t){var r={"selected-services":_.map(t,"servicePk").join(",")};!function(e){console.info("analytics: enqueuing iframe",e);var t=$('<iframe class="a-embed-iframe"></iframe>');t.attr("src",e),n.append(t)}(e.compose(s,r))})),console.info("analytics: loading iframes"),$("body").append(n),delete t[r.uuid]}}}]),n(74423),n(21699);var o=n(63025);angular.module("tracking.services").factory("consent",["$injector","$rootScope","auth","clientOptions","persistentStorage","xmessage","$window",function(e,t,n,r,i,a,s){var c=!1,u=[];function l(e){if(!c){for(var t=0,n=u;t<n.length;t++)(0,n[t])(e);c=!0}}return{addListener:function(e){_.includes(u,e)||u.push(e)},trackCompany:function(c){n.currentUser.isAuthenticated?l():c&&i.get("analytics").then((function(n){var i;s.analyticsContext=n;var o=r.isConsentProvided,u=r.isConsentSolutionPresent;void 0===o&&void 0===u&&n&&("isConsentProvided"in n&&(o=n.isConsentProvided),"isConsentSolutionPresent"in n&&(u=n.isConsentSolutionPresent));try{i=e.get("lightframe")}catch(e){}var d="defer"===c.features.analyticsPolicy&&!0===u&&!o,p=r.hostHasGA4;if(s.shouldNotStartInternalTrackers="defer"===c.features.analyticsPolicy&&(!0!==u||!0!==o),s.shouldDeferForConsent=d,s.shouldDeferToLoadGA4ClientIds=p,(d||p)&&i&&!i.isDirectAccess())return a.on(t,"fareharbor.analytics.enable",(function(e){null!=e&&e.shouldDeferForConsent&&(s.shouldNotStartInternalTrackers=!e.didCheckForConsent),l(e)})),void e.get("lightframe").broadcast("fareharbor.analytics.ready",{shouldDeferForConsent:d,shouldDeferToLoadGA4ClientIds:p});u&&!0!==o&&"defer"===c.features.analyticsPolicy||l()})).catch((function(e){o.db.isCancelled(e)||console.error("consent: unable to load persistentStorage",e)}))}}}]),n(90179),n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(28706),n(2008),n(23418),n(64346),n(23792),n(34782),n(89572),n(23288),n(62010),n(2892),n(84185),n(16034),n(27495),n(90906),n(38781),n(47764),n(11392),n(62953),n(9868);var a=function(e){return(e/100).toFixed(2)},s=(n(72712),function(e,t){var n=e.get(t)||"";return e.clear(t,!0),n});function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n(79432),n(71761),n(25440);var l={source:"campaign_source",campaign:"campaign_name",medium:"campaign_medium",term:"campaign_keyword",content:"campaign_content"},d=function(e,t,n){var r=t.crossDomainedGoogleAnalytics4Tags||function(e){if(!e)return{};var t={};return _.forEach(e,(function(e,n){try{var r=e.split("__");t[n]={clientId:r[0],sessionId:r[1]}}catch(e){}})),t}(function(e){if(_.isString(e))return _.reduce(e.split(";"),(function(e,t){var n=t.split(",");return 2===n.length&&n[0]&&n[1]&&(e[n[0]]=n[1]),e}),{})}(s(n,"ga4t")));_.some(r)&&console.info("analytics: Google4: received cross-domain link identifiers:",r);var i=function(i,o){var s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],c=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!t._gTag)return this;var u=i.ga4MeasurementId,d=m("GoogleAnalytics4",u),p=null,f=null;if(!s){var h={cookie_flags:"SameSite=None;Secure",company_shortname:n.currentCompany.shortname};if(r[u])h.client_id=r[u].clientId,h.session_id=r[u].sessionId,p=h.client_id,f=h.session_id,d("cross-domain link succeeded, client_id==",h.client_id);else{if(i.isCrossDomainOnly)return d("not reporting; no cross-domain link"),this;d("no cross-domain link")}t.is3rdPartyContext&&(h.send_page_view=!1),t._gTag("config",u,h),d("tracking","config",u,h)}t._gTag("get",u,"client_id",(function(e){e&&(p=e)})),t._gTag("get",u,"session_id",(function(e){e&&(f=e)})),this.setUserId=function(e){d("tracking","userId",e),t._gTag("config",u,{user_id:e})},this.trackView=function(e){if(void 0!==u&&u&&(c||t.is3rdPartyContext)){var r={company_shortname:n.currentCompany.shortname,page_location:e,send_to:u},i=/[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}/gi;e.match(i)&&(r.page_location=e.replace(i,"ID"),r.page_title=T("Confirmation")),t._gTag("event","page_view",r),d("tracking","pageview",r)}},this.trackViewCalendar=function(){if(u){var e={send_to:u,company_shortname:n.currentCompany.shortname};t._gTag("event","view_calendar",e),d("tracking","view_calendar",e)}},this.trackViewCalendarSingleItem=function(){if(u){var e={send_to:u,company_shortname:n.currentCompany.shortname};t._gTag("event","view_calendar_single_item",e),d("tracking","view_calendar_single_item",e)}},this.trackViewSearchByDate=function(){if(u){var e={send_to:u,company_shortname:n.currentCompany.shortname};t._gTag("event","view_search_by_date",e),d("tracking","view_search_by_date",e)}},this.trackUtm=function(e){var n,r=null===(n=t.analyticsContext)||void 0===n?void 0:n.utm;for(var i in l){var o=e?e[i]:null==r?void 0:r[i];if(o){var a=l[i];d("tracking",a,o),t._gTag("set",a,o)}}},this.trackAddToCart=function(e){var n=e.availability,r=e.customerBreakdown,i=e.totals,o=n.company,s=n.item,c=r.map((function(e){var t=e.count,n=e.customerTypeRate,r=e.price,i={item_id:n.customerPrototype.customerType.singular,item_name:s.name,quantity:t};return void 0!==r&&(i.price=a(r)),i})),l={send_to:u,company_shortname:o.shortname,currency:o.processorCurrency.toUpperCase(),value:a(i.price),items:c};t._gTag("event","add_to_cart",l),d("tracking","add_to_cart",l)};var g=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.pk.toString(),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.costs.totalCost.total,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.costs.totalCost.tax;return{company_shortname:n.currentCompany.shortname,transaction_id:t,affiliation:e.company.affiliation?e.company.affiliation.affiliateCompany.shortname:"FareHarbor",currency:e.company.processorCurrency.toUpperCase(),value:a(r),tax:a(i)}};this.trackBooking=function(e){if(void 0!==u&&u){var n=g(e),r={};e.customers.forEach((function(t){var n=t.customerTypeRate.uri;r[n]||(r[n]={item_id:t.customerTypeRate.customerPrototype.customerType.plural,item_name:e.availability.item.name,price:a(t.costs.totalCost.price),quantity:0},o&&(r[n].item_category=e.company.shortname)),r[n].quantity+=1}));var i=_.values(r);n.items=i,n.send_to=u,t._gTag("event","purchase",n),d("tracking",n,i)}},this.trackOrder=function(e,n){if(void 0!==u&&u){var r=0,i=0,s={};_.forEach(e,(function(e){r+=e.costs.totalCost.total,i+=e.costs.totalCost.tax,e.customers.forEach((function(t){var n=t.customerTypeRate.uri;s[n]||(s[n]={item_id:t.customerTypeRate.customerPrototype.customerType.plural,item_name:e.availability.item.name,price:a(t.costs.totalCost.price),quantity:0},o&&(s[n].item_category=e.company.shortname)),s[n].quantity+=1}))}));var c=e[0],l=g(c,n,r,i),p=_.values(s);l.items=p,l.send_to=u,t._gTag("event","purchase",l),d("tracking","order",l,p)}},this.trackViewItemDescription=function(e){if(u){var r={company_shortname:n.currentCompany.shortname,item_name:e.name,item_id:e.pk,send_to:u};t._gTag("event","view_item_description",r),d("tracking","view_item_description",r)}},this.trackViewBookForm=function(e){var r={company_shortname:n.currentCompany.shortname,send_to:u,availability_id:e.pk,item_id:e.item.pk,item_name:e.item.name};t._gTag("event","view_book_form",r),d("tracking","view_book_form",r)},this.serializeContext=function(){return{trackingId:u,clientId:p,sessionId:f}},this.analyticsType=function(){return e}};return i.crossDomainTrackers=r,i},p=(n(25276),function(e){return 0===e.indexOf("/#!")&&(e=e.slice(3)),e}),m=function(e,t){var n="analytics: ".concat(e," (").concat(t,"):");return function(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return(e=console).info.apply(e,[n].concat(r))}},f=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];_.forEach(e,(function(e){e[t]&&e[t].apply(e,r)}))};function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function g(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}angular.module("tracking.services").factory("analytics.enabled",["$window","clientOptions","models","navigation","persistentStorage","tracking.iframes",function(e,t,n,r,a,c){var v,y,b=function(e,t,n,r){return u(u(u(u({},r.GA4_ANALYTICS_TYPE,d(r.GA4_ANALYTICS_TYPE,e,t)),r.FACEBOOK_TYPE,function(e,t,n){var r={pixel:s(t,"fb-pix")};return _.some(r)&&console.info("analytics: Facebook: received cross-domain link identifiers",r),function(t){var i=m("Facebook",t.facebookPixel);if(t.isCrossDomainOnly){if(t.facebookPixel!==r.pixel)return i("not reporting; no cross-domain link"),this;i("cross-domain link succeeded")}i("enabling"),this.trackBooking=function(e){i("initializing booking tracking",e),n.requestForBooking(t,e,!0)},this.analyticsType=function(){return e}}}(r.FACEBOOK_TYPE,t,n)),r.ADROLL_TYPE,function(e,t,n){var r={advertiser:s(t,"ad-adv"),pixel:s(t,"ad-pix")};return _.some(r)&&console.info("analytics: Adroll: received cross-domain link identifiers",r),function(t){var i=m("Adroll","advertiser: "+t.adrollAdvertiser+", pixel: "+t.adrollPixel);if(t.isCrossDomainOnly){var o=t.adrollAdvertiser===r.advertiser,a=t.adrollPixel===r.pixel;if(!o||!a)return i("not reporting; no cross-domain link"),this;i("cross-domain link succeeded")}i("enabling"),this.trackBooking=function(e){i("initializing booking tracking",e),n.requestForBooking(t,e,!0)},this.analyticsType=function(){return e}}}(r.ADROLL_TYPE,t,n)),r.CUSTOM_CODE_TYPE,function(e,t){return function(n){var r=m("Custom Code","#"+n.pk);this.trackBooking=function(e){r("initializing booking tracking"),t.requestForBooking(n,e)},this.analyticsType=function(){return e}}}(r.CUSTOM_CODE_TYPE,n))}(e,r,c,n.AnalyticsService),T=b[n.AnalyticsService.GA4_ANALYTICS_TYPE],E=!0,k=!0,C=!1,A=[],P=[],S=function(e){var t=Object.keys(l).reduce((function(t,n){return t[n]=s(e,"utm_"+n),t}),{});return _.some(t)?t:null}(r),O=!1,R=[],I={},w=function(){var e=!r.pathStartsWith(i.D.company.login),o=!r.pathStartsWith(i.D.dashboard.index),a=t.asnAffiliateCompany,s=!a||a!==n.Company.CALL_CENTER_SHORTNAME;return e&&o&&s},D=function(){var e=[].concat(g(P),g(A));return w()&&e.push.apply(e,g(R)),e},N=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=D();t&&(n=n.filter((function(e){return!e.trackOrder}))),console.info("analytics: tracking booking",e),f(n,"trackBooking",e),c.loadForBooking(e)};o.db.slipstream("googleAnalyticsEnabled")&&(e.shouldNotStartInternalTrackers||(A=[new T({ga4MeasurementId:o.db.slipstream("googleAnalytics4AnonymousId")},E,!0,k)],P=o.db.slipstream("googleAnalytics4FhMeIds").map((function(e){return new T({ga4MeasurementId:e,isCrossDomainOnly:!0},E,!1,k)})),f(A,"setUserId",a.getIdentifier())));var U={storeContext:function(){var e=[];R.forEach((function(t){t.serializeContext&&t.analyticsType()===n.AnalyticsService.GA4_ANALYTICS_TYPE&&e.push(t.serializeContext())}));var r,i,o,s=(r={utm:S},i=n.AnalyticsService.GA4_ANALYTICS_TYPE,o=e,(i=function(e){var t=function(e){if("object"!=h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=h(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==h(t)?t:t+""}(i))in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r);return t.gclid&&(s["google-ads"]={gclid:t.gclid}),"isConsentProvided"in t&&(s.isConsentProvided=t.isConsentProvided),"isConsentSolutionPresent"in t&&(s.isConsentSolutionPresent=t.isConsentSolutionPresent),a.set("analytics",s).then((function(){return!0})).catch((function(){return!1}))},trackCompany:function(t){if(function(t){if(R=[],t)if(I[t.shortname])R=I[t.shortname];else{var i=o.db.analyticsServices({shortname:t.shortname},null,null,null,{flashError:!1});i.$promise.then((function(){var o=e.analyticsContext,a=null==o?void 0:o[n.AnalyticsService.GA4_ANALYTICS_TYPE],s=null==o?void 0:o["google-ads"];if(s){var c=r.extendQuery(r.url,{gclid:s.gclid});r.navigate(c,"extend",!1)}i.forEach((function(e){if(e.type===n.AnalyticsService.GA4_ANALYTICS_TYPE&&a){var t=e.ga4MeasurementId,r=_.find(a,{trackingId:t});r&&(r.clientId||r.sessionId)&&(T.crossDomainTrackers[t]=r)}if(b[e.type]){var i=new b[e.type](e);R.push(i)}else console.error("analytics: invalid service type:",e.type,"(#",e.pk,")")})),I[t.shortname]=R,O||(O=!0,f(R,"trackUtm",S)),C=!0,e.initialAnalyticsEvents&&(e.initialAnalyticsEvents.forEach((function(e){var t,n=e.actionName,r=e.actionArguments;null===(t=U[n])||void 0===t||t.apply(U,r)})),e.initialAnalyticsEvents=void 0)})).catch((function(e){o.db.isCancelled(e)||console.error("analytics: unable to load services",e)}))}}(t),y&&w()){var i=p(y);f(R,"trackView",i)}},trackView:function(e){if(e)if(e!==v){v=e,e=p(e),console.info("analytics: tracking view",e);var t=[];"/"!==e&&t.push.apply(t,g(A)),w()&&(y=e,t.push.apply(t,g(R)),t.push.apply(t,g(P))),f(t,"trackView",e)}else console.info("analytics: not re-tracking",e);else console.warn("analytics: empty url, not tracking",e)},trackViewBookForm:function(e){console.info("analytics: tracking view book form"),f(D(),"trackViewBookForm",e)},trackViewCalendar:function(){console.info("analytics: tracking view calendar"),f(D(),"trackViewCalendar")},trackViewCalendarSingleItem:function(){console.info("analytics: tracking view calendar single item"),f(D(),"trackViewCalendarSingleItem")},trackViewItemDescription:function(e){console.info("analytics: tracking view item description."),f(D(),"trackViewItemDescription",e)},trackViewSearchByDate:function(){console.info("analytics: tracking view search by date"),f(D(),"trackViewSearchByDate")},trackAddToCart:function(e){console.info("analytics: tracking add to cart"),f(D(),"trackAddToCart",e)},trackBooking:N,trackOrder:function(e){Object.values(e.contributingBookings).forEach((function(e){N(e,!0)})),f(D(),"trackOrder",e.contributingBookings,e.identifier)}},F=function(t,n){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];C?n.apply(void 0,i):e.initialAnalyticsEvents.push({actionName:t,actionArguments:i})}};for(var L in U)L.startsWith("trackView")&&(U[L]=F(L,U[L]));return U}]),angular.module("tracking",["tracking.directives","tracking.services"])},96003:function(e,t,n){"use strict";n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(50113),n(51629),n(74423),n(23792),n(48598),n(62062),n(44114),n(72712),n(94490),n(15086),n(13609),n(89572),n(62010),n(2892),n(67945),n(84185),n(83851),n(81278),n(79432),n(26099),n(78459),n(58940),n(27495),n(99449),n(21699),n(47764),n(71761),n(42781),n(25440),n(42762),n(23500),n(62953),n(76031);var r,i=n(65047),o=(n(72422),n(63025));function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=a(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==a(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n(72152),(r=angular.module("tracking.services",["clientOptions.services"])).factory("tracking",["$rootScope","$window","auth","clientOptions","consent","events","models","persistentStorage","xmessage",function(e,t,n,r,i,a,s,u,l){var d="$persistentTrackingProperties",p="$parentPersistentTrackingProperties",m=o.db.slipstream("isMixpanelEnabled"),f=o.db.slipstream("isMixpanelPreventNetworkRequestsEnabled"),h=!1;function g(e){var r,i,o;return r=n.currentUser.isAuthenticated?null===(i=t.mixpanel)||void 0===i?void 0:i.dashboard:null===(o=t.mixpanel)||void 0===o?void 0:o.anonymous,_.isString(e)&&(_.includes(e,"people")?r=r.people:_.includes(e,"group")&&(r=r.group)),r}function v(e,t,n){var r=g(t);if(r){var i=_.isString(e)?r[e]:e;if(i)if(console.info("tracking: mixpanel.".concat(t),n),f)console.warn("Mixpanel is in debug mode. Methods will not be accessible.");else try{return i.apply(r,n)}catch(e){console.error("tracking: mixpanel.".concat(t),"exception",e)}else console.warn("tracking: mixpanel.".concat(t),"invalid method")}else console.info("tracking: mixpanel.".concat(t),n,"skipping: no library for user")}var y=[],b=_.mapValues({getProperty:"get_property",identify:"identify",register:"register",registerOnce:"register_once",reset:"reset",track:"track",trackLink:"track_links",unregister:"unregister",timeEvent:"time_event",peopleSet:"set"},(function(e,t){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];y.push({mixpanelMethodName:e,targetMethodName:t,args:r})}}));l.on(e,"fareharbor-lightframe-created",(function(e){t.$$lightframeClickToOpenTime=moment(e.lightframeClickToOpenTime),t.$$lightframeFinishedLoadingTime=moment(e.lightframeFinishedLoadingTime)}));var T=moment(t.$$loadTime),E={currentCompany:null,storeAnonUserData:function(e,t){E.anonUserData[e]=t},anonUserData:{},getProperty:b.getProperty,identify:b.identify,peopleSet:b.peopleSet,isServiceLoaded:function(){return m&&h&&E.getDistinctId()},initialView:function(e){n.currentUser.isAuthenticated||E.sessionProperties["initial-view"]||(console.log("tracking: setting initial view:",e),E.extendSessionProperties({"initial-view":e}))},sessionProperties:{configuration:o.db.slipstream("configuration"),whitelisted:o.db.slipstream("isWhitelisted")},extendProperties:b.register,extendSessionProperties:function(e){_.assign(E.sessionProperties,e)},extendScopeProperties:function(e,t){var n=e[d];Object.defineProperty(t,p,{value:n,enumerable:!1}),e[d]=t},extract:function(e){if(e&&e.cls){var t=E.extractors[e.cls];if(t)return t(e)}},extractors:{Company:function(e){return{company:e.shortname,"company-id":e.pk}},Item:function(e){return{item:e.name,"item-id":e.pk,items:[e.name],"item-ids":[e.pk],company:e.company.shortname,"company-id":e.company.pk}},FlowNode:function(e){var t={company:e.company.shortname,"company-id":e.company.pk,"flow-page":e.unicode,"flow-page-block-count":s.FlowNode.effectiveChildren(e).length,"flow-page-includes-calendar":s.FlowNode.isCalendarIncluded(e),"flow-page-breadcrumb-count":e.breadcrumbs?e.breadcrumbs.length:void 0,"flow-page-breadcrumbs":_.map(e.breadcrumbs,"name").join(",")};return e.item&&_.assign(t,E.extractors.Item(e.item)),t},Availability:function(e){return{availability:e.pk,availabilities:[e.pk],item:e.item.name,"item-id":e.item.pk,items:[e.item.name],"item-ids":[e.item.pk],company:e.company.shortname,"company-id":e.company.pk}},CustomerType:function(e){return{"customer-type":e.plural,company:e.company.shortname,"company-id":e.company.pk}},CustomerPrototype:function(e){return{"customer-prototype":e.name,"customer-type":e.customerType.plural,company:e.company.shortname,"company-id":e.company.pk}},CustomerTypeRate:function(e){return{item:e.availability.item.name,"item-id":e.availability.item.pk,items:[e.availability.item.name],"item-ids":[e.availability.item.pk],availability:e.availability.pk,"customer-prototype":e.customerPrototype.name,"customer-type":e.customerPrototype.customerType.plural,company:e.company.shortname,"company-id":e.company.pk}},Booking:function(e){return{booking:e.uuid,gross:e.costs.totalCost.total,availability:e.availability.pk,customerCount:e.customerCount,company:e.company.shortname,"company-id":e.company.pk}},ResellerCompany:function(e){return{"reseller-company":e.unicode,"reseller-company-name":e.name,"reseller-company-id":e.pk,"reseller-company-sku":e.shortName,"reseller-company-external-identifier":e.externalIdentifier}},ResellerCompanyMapping:function(e){var t={"external-company-mapping":e.unicode,"external-company-mapping-id":e.pk};return _.assign(t,E.extractors.ResellerCompany(e.resellerCompany)),t},ResellerItem:function(e){var t={"reseller-item":e.unicode,"reseller-item-name":e.name,"reseller-item-id":e.pk,"reseller-item-external-identifier":e.externalIdentifier};return _.assign(t,E.extractors.ResellerCompany(e.resellerCompany)),t},ResellerItemMapping:function(e){var t={"reseller-item-mapping":e.unicode,"reseller-item-mapping-id":e.pk};return _.assign(t,E.extractors.ResellerItem(e.resellerItem)),t},ResellerCustomerType:function(e){var t={"reseller-customer-type":e.unicode,"reseller-customer-name":e.name,"reseller-customer-type-id":e.pk,"reseller-customer-type-external-identifier":e.externalIdentifier};return _.assign(t,E.extractors.ResellerItem(e.resellerItem)),t},ResellerCustomerTypeMapping:function(e){return{"reseller-customer-type-mapping":e.customerPrototype.item.unicode,"reseller-customer-type-mapping-id":e.customerPrototype.item.pk,"reseller-customer-type-mapping-name":e.customerPrototype.item.name}},ResellerOption:function(e){var t={"reseller-option":e.unicode,"reseller-option-name":e.name,"reseller-option-id":e.pk,"reseller-option-external-identifier":e.externalIdentifier};return _.assign(t,E.extractors.ResellerItem(e.resellerItem)),t},ResellerOptionMapping:function(e){var t={"reseller-option-mapping":e.unicode,"reseller-option-mapping-name":e.name,"reseller-option-mapping-id":e.pk};return _.assign(t,E.extractors.ResellerOption(e.resellerOption)),t},ResellerKey:function(e){var t={"reseller-key":e.unicode,"reseller-key-name":e.name,"reseller-key-id":e.pk};return _.assign(t,E.extractors.Company(e.company)),t}},getDistinctId:function(){var e,t=g("get_distinct_id");if(t)return null===(e=t.get_distinct_id)||void 0===e?void 0:e.call(t)},reset:b.reset,registerOnce:b.registerOnce,setupTrackingProperties:function(n,r){for(var i,o,a=[r],s=(n=n||e)[d];s;)a.push(s),s=s[p];return a.push(E.sessionProperties),a.push((i=moment(),o={"elapsed-time-seconds":_.roundHalfToEven(i.diff(T)/1e3,2),"local-time-decimal":parseFloat(i.format("H.mm")),"local-day-of-week":i.format("dddd"),"local-date":i.format("YYYY-MM-DDTHH:mm:ss")},_.isUndefined(t.$$lightframeClickToOpenTime)||_.isUndefined(t.$$lightframeFinishedLoadingTime)||(o["lightframe-loading-time-seconds"]=_.roundHalfToEven(t.$$lightframeFinishedLoadingTime.diff(t.$$lightframeClickToOpenTime)/1e3,2)),o)),a.reverse(),a.unshift({}),_.assign.apply(_,a)},timeEvent:function(e){b.timeEvent(e)},track:function(e,n,r,i,o){var a=E.setupTrackingProperties(e,r),s=[n,r,i,o];if("dashboard"===i){var c;if(!m)return void console.info("tracking: mixpanel.tracking",s,"skipping: disabled");if(null===(c=t.mixpanel)||void 0===c||!c.dashboard)return void console.info("tracking: mixpanel.tracking",s,"skipping: no library for user");if(console.info("tracking: mixpanel.tracking",s),f)return void console.warn("Mixpanel is in debug mode. Methods will not be accessible.");try{return void t.mixpanel.dashboard.track(n,a,o)}catch(e){console.error("tracking: mixpanel.tracking","exception",e)}}b.track(n,a,o)},trackLink:function(e,t,n,r,i){var o=E.setupTrackingProperties(e,r);b.trackLink(t,n,o,i)},trackEmbed:function(e){if(!n.currentUser.isAuthenticated){var t={"embed-type":e};_.isUndefined(r.trackingFromEmbed)||(t["from-embed-type"]=r.trackingFromEmbed);var i=function(e,n){var i=r[e];i&&(i=_.filter(_.map(i.split(","),_.flowRight(_.camelCase,$.trim)))).length&&(t[n]=i)};i("trackingSiteTags","site-tags"),i("trackingPageTags","page-tags"),i("trackingButtonTags","button-tags"),_.isUndefined(r.trackingIsFromSsl)||(t["from-ssl"]=r.trackingIsFromSsl),E.extendSessionProperties(t),E.extendProperties({"is-lightframe-fallback":"fallback"===e,"is-full-items-enabled":r.isFullItemsEnabled,"is-kiosk-mode":r.isKioskModeEnabled,"is-asn-booking":Boolean(r.asnAffiliateCompany),"hide-closed-and-call-to-book":r.isBookableOnly}),console.log("tracking: set up embed tracking",t)}},unregister:b.unregister,extractBookingCalFilters:function(e){if(!e)return{};var t,n={"view-option-applied":e.dashboardBookingsView,"filter-applied":(t=[],_.forEach({minimumAvailableCapacity:"Minimum available capacity",hideEmpty:"Hide no bookings",hideNoAvailableResources:"Hide no open resources"},(function(n,r){_.get(e,r)&&t.push(n)})),_.forEach({items:"Item",resources:"Resource",users:"Crew"},(function(n,r){_.some(_.values(_.get(e,r)),Boolean)&&t.push(n)})),t),"items-count":_.keys(e.items).length,"items-selected-count":_.keys(_.pickBy(e.items,_.identity)).length,"crew-count":_.keys(e.users).length,"resources-count":_.keys(e.resources).length};return"grid"===e.dashboardBookingsView?(n["grid-setup-columns"]=e.gridAxisTypes[0],n["grid-setup-columns-number-of-days"]=e.gridDayRange,n["grid-setup-rows"]=e.gridAxisTypes[1],n["grid-setup-groups"]=e.gridAxisTypes[2]):"timeline"===e.dashboardBookingsView&&(n["timeline-setup-arrange-by"]=e.timelineAvailabilityAxis,n["timeline-setup-hour-range"]=e.timelineHourRangeType,n["timeline-setup-resources"]=function(){var t=[];return _.forEach({showUsesOnTimeline:"Show resource uses",showOverridesOnTimeline:"Show resource overrides",hideEmptyResourcesOnTimeline:"Hide resources that have no use",showUseOverviewsOnTimeline:"Resource use count",showCapacityOverviewsOnTimeline:"Total resource capacity",showSpaceOverviewsOnTimeline:"Unused resource capacity"},(function(n,r){_.get(e,r)&&t.push(n)})),t}()),n},extractBookingCalDisplayOptions:function(e){if(!e)return{};var t=[];return _.forEach({isColorCoded:"Color-coded items",showPrivateHeadline:"Private headlines",showCrew:"Crew members",showFilledSeats:"Show # booked",showEmptySeats:"Show # available",countBlockedAsFilled:"Subtract affiliate blocks",showAffiliateBlocksFilled:"# booked into affiliate blocks",showAffiliateBlocksEmpty:"# available to book into affiliate blocks",showAffiliateRulesApplied:"Show if affiliate rules are applied",customGrouping:"Custom item grouping"},(function(n,r){_.get(e,r)&&t.push(n)})),e.showResources&&e.showAllResources&&t.push("Show counts for all resources"),e.showResources&&e.showVirtualResources&&t.push("Show virtual resources"),t},extractManifest:function(e){if(!e)return{};var t=0,n=[],r=0,i=0,o=0,a=0,s=0;return _.forEach(e.bookings,(function(e){var a;t+=e.customerCount,a=e.customers,_.forEach(a,(function(e){e.checkinStatus?"checked in"===e.checkinStatus.name?i++:o++:r++})),n.includes(e.item.uri)||n.push(e.item.uri)})),_.forEach(_.values(e.seatColumn),(function(e){_.forEach(e,(function(e){e.isUnassigned?s++:a++}))})),{"custom-field-count":e.customFields.default.length,"shared-resources-count":e.resources.default.length,"booking-count":e.bookings.length,"customer-count":t,"items-count":n.length,"not-checked-in-count":r,"checked-in-count":i,"no-show-count":o,"assigned-seating-count":a,"unassigned-seating-count":s}},extractManifestColumns:function(e){return e?_.values(_.pickBy(["showToggle","showBookingID","showOrderIdentifier","showContact","showPhone","showEmail","showLanguage","showCustomerBreakdown","showCustomerCount","showCheckin","showSeatZone","showSeatGroup","showSeat","showPaidStatus","showTotal","showInvoiceTotal","showInvoiceTotalOwed","showAffiliate","showOriginalCreatedAt","showOriginalBookedBy","showCreatedAt","showBookedBy","showLodging","showPickup","showPickupTime","showPickupLocation","showConfirmationEmailStatus","showReminderEmailStatus","showReminderTextMessageStatus","showFollowUpEmailStatus","showPaymentNotes","showAffiliatePaymentNotes","showCashPaymentNotes","showCreditCardPaymentNotes","showStoredValueCardPaymentNotes","showActiveCreditCardHolds"],(function(t){return e[t]}))):{}},extractManifestFilters:function(e){return e?_.keys(_.pickBy(e.tableFilters,(function(e,t){if("Amount due"===t&&e.amount||function(e,t){if("Check-in status"===e||"Seating Zone"===e)return _.some(t,Boolean)}(t,e)||function(e,t){if("Contact"===e||"Search all"===e||"Seat"===e||"Seating group"===e)return!!t}(t,e)||function(e,t){return"Number of customers"===e&&t.number}(t,e))return t}))):{}},extractManifestGroupBy:function(e){return e?e.groupBy?e.groupBy.split(".")[0]:"None":{}},extractManifestDisplayOptions:function(e){if(!e)return{};var t=_.values(_.pickBy(["showEmptyTables","hidePastAvailabilities","showAvailabilityNote","hideEmptyNoteField","showItemShortName"],(function(t){if(e[t])return t})));return _.forEach(["isBrokenOut","hideSummary","noWrap"],(function(n){e[n]||t.push(function(e){return{isBrokenOut:"Summarize custom field answers",hideSummary:"Show summary row",noWrap:"Wrap text"}[e]}(n))})),t},extractManifestProperties:function(e){return e?{"manifest-columns":E.extractManifestColumns(e),"manifest-filter":E.extractManifestFilters(e),"manifest-group-by":E.extractManifestGroupBy(e),"manifest-display-options":E.extractManifestDisplayOptions(e)}:{}},getSelectedDays:function(e){if("none"===e.repeat)return[];var t,n={monday:(t=e).monday,tuesday:t.tuesday,wednesday:t.wednesday,thursday:t.thursday,friday:t.friday,saturday:t.saturday,sunday:t.sunday};return Object.keys(n).filter((function(e){return n[e]}))},getIntFromString:function(e){var t=e.replace(/[^0-9]/g,"");return parseInt(t,10)},getAddedCustomerTypes:function(e,t){return Object.keys(e).reduce((function(n,r){return r.endsWith("-isAdded")&&e[r]&&n.push(t.find((function(e){return e.pk===E.getIntFromString(r)})).customerType.name),n}),[])},getNameValueFromListByPk:function(e,t){var n=t.find((function(t){return t.pk===e}));return n?n.name||n.shortName:"None"},getCreationLimitCount:function(e){var t=e.match(/\d+/)[0];return parseInt(t,10)-5e3},getAvailabilityHeadline:function(e,t){var n=e.availabilityHeadline,r=e.customHeadline;if(!n)return"None";if("custom"===n)return"Custom: ".concat(r);var i=E.getNameValueFromListByPk(n,t);return"Public: ".concat(i)},getDateRangeData:function(e){return e.map((function(e){return[moment(e.startDate).format("YYYY-MM-DD"),moment(e.endDate).format("YYYY-MM-DD")]}))},extractAvailabilityCreatorEventData:function(e){var t=E.getAddedCustomerTypes(e.newRule,e.customerPrototypes);return{"availability-headline":E.getAvailabilityHeadline(e.newRule,e.availabilityHeadlines),"booking-restrictions":E.getNameValueFromListByPk(e.newRule.bookingRestriction,e.bookingRestrictions),"customer-type-count":t.length,"customer-type":t,"custom-field-group":E.getNameValueFromListByPk(e.newRule.customFieldInstanceGroup,e.customFieldInstanceGroups),"days-of-week":E.getSelectedDays(e.newRule),"pickup-route":E.getNameValueFromListByPk(e.newRule.defaultRoute,e.routes),"resource-requirement-group":E.getNameValueFromListByPk(e.newRule.requirementGroup,e.requirementGroups),"date-ranges":E.getDateRangeData(e.dateRanges)}},extractAvailabilityScheduleRuleData:function(e){var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"].filter((function(t){return e[t]})),a=e.availabilityScheduleRuleCustomerPrototypes.map((function(e){return e.customerPrototype.displayName})),s=i?{"availability-schedule-rule-count":i}:{};return c({"repeating-type":e.repeat,"days-of-week":o,"duration-type":e.period,"time-slot-count":e.periods.length,"day-length":e.days||"none","total-capacity":e.capacity||"none","customer-type-count":e.availabilityScheduleRuleCustomerPrototypes.length,"customer-type":a,"availability-headline":function(e){return e.availabilityHeadline?e.availabilityHeadline.name:e.customHeadline||"none"}(e),"private-headline":e.headlinePrivate||"none","online-booking-status":e.status,"custom-field-group":e.customFieldInstanceGroup.name,"resource-requirement-group":(null===(t=e.requirementGroup)||void 0===t?void 0:t.shortName)||"none","pickup-route":(null===(n=e.defaultRoute)||void 0===n?void 0:n.name)||"none","booking-restrictions":(null===(r=e.bookingRestriction)||void 0===r?void 0:r.name)||"none","availability-schedule":e.availabilitySchedule.name,"availability-schedule-notes":e.availabilitySchedule.note,"item-id":e.item.pk,item:e.item.name},s)},initializeCompanySuperProperties:function(){var t=E.currentCompany;if(null!==t&&!n.currentUser.isAuthenticated){var i=_.pickBy(_.mapValues({"is-search-by-date-enabled":"isFlowDateViewEnabled","is-price-previews-enabled":"isPriceEstimateEnabled","is-price-previews-in-calendars-enabled":"isPricePreviewsInCalendarsEnabled","is-zero-price-free-enabled":"isZeroPriceEstimateFree","is-company-logo-enabled":"isCompanyBrandingEnabled","is-background-for-book-embed-enabled":"isBookEmbedBackgroundEnabled","is-cart-enabled":"isCartEnabled","is-two-column-layout-enabled":"isAlternateAnonBookFormEnabled","is-seating-enabled":"isSeatingEnabled","is-payment-links-enabled":"isOnlineInstallmentsEnabled","is-deposits-enabled":"isDepositsEnabled","is-google-ratings-enabled":"isGoogleRatingEnabled","is-tripadvisor-ratings-enabled":"isRatingEnabled","is-online-cancellation-enabled":"isOnlineCancellationEnabled","is-online-cancellation-option-gift-card-enabled":"isOnlineCancellationOptionGiftCardEnabled","is-online-cancellation-option-refund-enabled":"isOnlineCancellationOptionRefundEnabled","is-online-rebooking":"isOnlineRebookingEnabled","is-profile-disabled":"isProfileDisabled","is-tax-included-for-booking-fee":"isTaxIncludedForBookingFee","custom-anonymous-user-theme":"customAnonymousUserTheme","is-new-calendar-embed-enabled":"isNewCalendarEmbedEnabled"},(function(e){return _.keys(_.pickBy(t.features,_.identity)).includes(e)})),_.identity);_.forEach({"is-content-translation-enabled":"isContentTranslationEnabled","is-dark-mode-enabled":"isDarkModeEnabled"},(function(e,n){i[n]=t.companyFeatures[e]?t.companyFeatures[e]:void 0}));var o=c({"current-company":t.shortname,"current-company-id":t.pk,"enabled-payment-processor":t.enabledProcessorTypes,"processor-country":t.processorCountry,"processor-currency":t.displayProcessorCurrency},_.omitBy(i,_.isUndefined));t.isDemoModeEnabled&&(o["is-demo-mode"]=!0),E.extendProperties(o),_.includes(e.navigation.path,"/login")||(E.identify(u.getIdentifier()),E.peopleSet({"current-company-id":t.pk,"current-company":t.shortname,"from-ssl":Boolean(r.trackingIsFromSsl)}))}},initializeSuperProperties:function(){if(n.currentUser.isAuthenticated){var e=E.currentCompany;E.extendProperties({"current-company":null==e?void 0:e.shortname,"current-company-id":null==e?void 0:e.pk,"is-native":o.db.slipstream("isNative")||!1,userType:n.currentUser.company.isAdmin?"Admin":"Client"})}else E.extendProperties({distinct_id:u.getIdentifier(),userType:"anonymous"}),E.registerOnce({"language-picker-default":o.db.slipstream("targetLanguage")});E.initializeCompanySuperProperties()},onAuthChanged:function(){n.currentUser.isAuthenticated||E.reset(),E.initializeSuperProperties()},enable:function(){t._mixpanelSetup&&(t._mixpanelSetup(),h=!0,setInterval((function(){if(h&&m)for(;y.length>0;){var e=y.shift();v(e.mixpanelMethodName,e.targetMethodName,e.args)}}),250))},startExperiment:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[.5,.5];if(!t.mixpanel)return-1;var r=E.getDistinctId();if(!r)return-1;var i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[.5,.5];if(n.length<2||n.some((function(e){return e<0})))return console.warn("Tried to use an invalid distribution for experiment `".concat(e,"`")),-1;for(var r=function(e){for(var t=0,n=3735928559;t<e.length;t++)n=Math.imul(n^e.charCodeAt(t),2654435761);return((n^n>>>16)>>>0)/4294967296}(e+t),i=0,o=0;o<n.length;o++)if(r<(i+=n[o]))return o;return-1}(e,r,n);return-1===i?-1:(E.track(null,"$experiment_started",{"Experiment name":e,"Variant name":i}),i)}};return a.on(e,"navigation.company.updated",(function(e,t){E.currentCompany=t.company,E.initializeSuperProperties()})),a.on(e,"auth.logout",(function(){E.onAuthChanged()})),a.on(e,"auth.login",(function(){E.onAuthChanged()})),n.currentUser.isAuthenticated?E.enable():i.addListener((function(){!0!==t.shouldNotStartInternalTrackers&&E.enable()})),E}]),r.factory("labs",["$window","navigation",function(e,t){var n=function(e){return(e=e||t.currentCompany).features.isLabsEnabled};return{initialize:function(){var t=i.I.get("fhLabsExperiments")||{},n=i.I.get("fhLabsData")||{};e.fhLabsExperiments=_.assign({},e.fhLabsExperiments),e.fhLabsData=_.assign({},e.fhLabsData),_.isEmpty(t)||(console.info("labs: Using experiment assignments from local storage",t),e.fhLabsExperiments=_.assign(e.fhLabsExperiments,t)),_.isEmpty(n)||(console.info("labs: Using labs data from local storage",n),e.fhLabsData=_.assign(e.fhLabsData,n)),e.$$overrideFhLabsExperiment=function(t,n){e.fhLabsExperiments[t]=n,i.I.set("fhLabsExperiments",e.fhLabsExperiments)},e.$$overrideFhLabsData=function(t,n){e.fhLabsExperiments[t]=n,i.I.set("fhLabsData",e.fhLabsExperiments)},console.info("labs: service active")},data:function(t){return e.fhLabsData[t]},isInVariation:function(t,r){if(!n())return!1;var i=e.fhLabsExperiments[t];return r?_.isString(i)&&i===r:_.isString(i)&&"control"!==i},isInControl:function(t){return!n()||"control"===e.fhLabsExperiments[t]},isLabsEnabled:n}}]),r.run(["$rootScope","labs",function(e,t){e.labs=t,t.initialize()}])},94718:function(e,t,n){"use strict";n.d(t,{n:function(){return r}}),n(50113),n(62010),n(26099);var r={constructManageAffiliateBlockEventData:function(e,t){return{"affiliate-name":e.affiliation.affiliateCompany.shortname,"availability-id":e.availability.pk,"blocked-availability":e.reservedCapacity,"total-availability":e.availability.capacity,"action-type":t}},constructManageExpensesEventData:function(e,t,n){var r={"booking-id":e.pk,"taxed-status":t.isTaxable,"expense-amount":t.offset,"action-type":n};return e.affiliation&&(r["affiliate-name"]=e.affiliation.affiliateCompany.shortname),r},constructManageAvailabilityBlocksEventData:function(e,t,n){var r=_.find(e.affiliations,{pk:t.affiliationId}),i={"affected-availability-count":e.count,"affiliate-name":null==r?void 0:r.affiliateCompany.name,"action-type":n};return t.reservedCapacity&&(i["blocked-availability"]=t.reservedCapacity),i},constructClickCreateInvoiceButtonEventData:function(e,t){return{"affiliate-name":e.affiliateShortname,"invoice-total-amount":e.invoiceTotalAmount,"invoice-id":e.invoiceId,"affiliate-type":e.isAffiliateHidden?"hidden":"active","creation-method":t}},constructPaymentMethodEventData:function(e){return{"payment-methods-available":e.anonUserData["payment-methods-available"],"payment-method-selected":e.anonUserData["payment-method-selected"],"payment-method-default":e.anonUserData["payment-method-default"]}}}},66712:function(e,t,n){"use strict";n(93951),n(61673),n(52675),n(89463),n(2259),n(16280),n(76918),n(23418),n(64346),n(23792),n(48598),n(62062),n(44114),n(34782),n(13609),n(23288),n(94170),n(62010),n(26099),n(3362),n(27495),n(90906),n(38781),n(47764),n(62953);var r=n(46329),i=n(72422),o=n(31176);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}window.configure=function(e){var t=window.slipstream?window.slipstream.configuration:"unknown";e.factory("$exceptionHandler",[function(){return function(e,t){var n=_.isArray(e.stack)?e.stack.join("\n"):e.stack,r="$exceptionHandler: uncaught exception "+e.message;t&&(r+=' (caused by "'+t+'")',e.message+=' (caused by "'+t+'")'),console.error(r,n||"(no stack trace)")}}]),e.config(["$animateProvider","$compileProvider","$injector","$interpolateProvider","$httpProvider","$locationProvider","$sceProvider","$qProvider",function(e,n,i,o,a,s,c,u){n.debugInfoEnabled("production"!==t),s.html5Mode(!0),s.hashPrefix("!"),o.startSymbol("[["),o.endSymbol("]]"),o.staticStartSymbol("[!"),o.staticEndSymbol("!]"),a.defaults.transformResponse.push((function(e){return(0,r.Bp)(e)})),a.defaults.transformRequest.unshift((function(e){return(0,r.vh)(e)})),a.defaults.xsrfCookieName="csrftoken",a.defaults.xsrfHeaderName="X-CSRFToken",a.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",a.defaults.headers.common["X-CSRFToken"]=window.slipstream.csrfToken||"",e.classNameFilter(/\banimatable\b/),u.errorOnUnhandledRejections(!1)}]),e.run(["$filter","$browser","$injector","$interpolate","$rootScope",function(e,t,n,r,s){!function(e){function t(e){var t=window.Promise,r=t.prototype[e];t.prototype[e]=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var o,s=t.map(n);return r.bind(this).apply(void 0,function(e){if(Array.isArray(e))return a(e)}(o=s)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}}function n(t){if(!_.isFunction(t)||t.isScopeApplicationWrapped)return t;var n=function(){var n=t.apply(void 0,arguments);return e.$evalAsync(),n};return n.isScopeApplicationWrapped=!0,n}t("then"),t("catch"),t("finally")}(s),window.$$injector=n,s.urls=i.D,s.flash=o.j,s.isReadonlyEnabled=window.slipstream.isReadonlyEnabled,s.max=Math.max,s.addClassIf=e("addClassIf"),s.isUndefined=e("isUndefined"),s.DESKTOP_MIN_WIDTH=680,s.CALENDAR_BREAKPOINT=490,s.T=window.T,s.cT=window.cT,s.nT=window.nT,s.ncT=window.ncT,s.interpolate=interpolate,s.msie=document.documentMode,s.$bind=function(e,t){var n=this,r=function(){var r=_.get(n,t);_.set(n,e,r)};r(),n.$watch(r)},s.$model=function(e){var t=_.bind(e,e,this);return t.assign=_.bind(e.assign,e,this),t},s.$once=function(e,t){var n=this.$on(e,(function(){return n(),t.apply(this,arguments)}));return n},s.isSet=function(e){return!_.isUndefined(e)&&(""===e||this.$eval(e))};var c=s.$new;s.$new=function(e,t){return e?c.call(this,!1,this.$root):c.call(this,e,t)},s.$safeApply=function(e){if(this.$root){var t=this.$root.$$phase;return"$apply"==t||"$digest"==t?e&&e():this.$apply(e)}},s.$safeDigest=function(){if(this.$root){var e=this.$root.$$phase;"$apply"!=e&&"$digest"!=e&&this.$digest()}},s.$asyncApply=function(e){var n=t.defer(_.ignore,31536e6),r=function(){t.defer.cancel(n)};return e(r),r},s.$interpolate=function(e,t){var n=this,i=!1;if(t&&(n=n.$new(),_.assign(n,t),i=!0),_.isUndefined(e))return"";var o=r(e);if(!o)return"";var a=o(n);return i&&n.$destroy(),a},window.$$digest=function(e,t){var n=angular.element(document.querySelector("[ng-app]"));t=t||n.injector().get("$rootScope"),e=e||100,console.info("digest: running "+e+"...");for(var r=performance.now(),i=0;i<e;i++)t.$digest();var o=performance.now();console.info("digest: average time "+(o-r)/e+"ms");var a,s=0,c=t;do{if(s+=c.$$watchers?c.$$watchers.length:0,!(a=c.$$childHead||c!==t&&c.$$nextSibling))for(;c!==t&&!(a=c.$$nextSibling);)c=c.$parent}while(c=a);console.info("digest: watcher count",s)},window.$$scope=function(e){return angular.element(e).scope()}}])}},93951:function(e,t,n){n(51629),n(74423),n(94170),n(26099),n(3362),n(21699),n(23500),function(){"use strict";if(window.scrollTo||(window.scrollTo=function(){}),$(window).on("unload",_.ignore),$(window).on("beforeunload",_.ignore),!window.slipstream||!window.slipstream.isDebug){var e=["error"],t=window.console?window.console:{};window.$$console=t,window.console={},_.forEach(["log","info","warn","error","time","timeEnd","debug"],(function(n){window.console[n]=function(){if(_.includes(e,n)){var r=t[n]||_.ignore;return Function.prototype.bind?(r=Function.prototype.bind.call(r,t)).apply(t,arguments):Function.prototype.call.call(r,t,_.toArray(arguments))}}}))}}()},49141:function(e,t,n){"use strict";n.d(t,{e:function(){return i}}),n(16280),n(76918),n(50113),n(23792),n(26099),n(62953);var r=n(19875),i={REPEATING_WEEKLY:"weekly",AUTO_STATUS:"auto",OPEN_STATUS:"open",CALL_STATUS:"call",CLOSED_STATUS:"closed",CANCELLED_STATUS:"cancelled",DISPLAY_STATUS_BY_STATUS:{auto:T("Auto close"),open:T("Open"),call:T("Closed & Call to book"),closed:T("Closed & hidden"),cancelled:T("Cancelled")},isCancelled:function(e){return e.status===i.CANCELLED_STATUS},isOverlappingWithCartEntries:function(e,t,n){var i,o=null===(i=e||t)||void 0===i||null===(i=i.company)||void 0===i?void 0:i.companyFeatures;if(!o)throw new Error("Availability.isOverlappingWithCartEntries: unable to get company features.");if(!o.isCartTimeOverlapWarningEnabled&&!n)return!1;var a=t.entries||[];if(a.length>0){return!!(e?!!a.find((function(t){var n=t.availability;return e!==n&&r.Y.isOverlapping(e,n,!0)})):_.intersectionWith(a,a,(function(e,t){return e!==t&&r.Y.isOverlapping(e.availability,t.availability,!0)})).length>0)}return!1}}},47695:function(e,t,n){"use strict";n.d(t,{C:function(){return o}}),n(51629),n(44114),n(79432),n(26099),n(11392),n(23500);var r=n(64486),i=function(e){return"benefitUseFor:".concat(e,"-benefit")},o={RELATED_FEATURE_FLAG:"isMembershipsEnabled",AVAILABILITY_DURATION:"availability",DAY_DURATION:r.D.DAY_DURATION,WEEK_DURATION:r.D.WEEK_DURATION,MONTH_DURATION:r.D.MONTH_DURATION,YEAR_DURATION:r.D.YEAR_DURATION,anonDurationLabel:function(e){var t={};return t[o.AVAILABILITY_DURATION]=T("activity"),t[o.DAY_DURATION]=T("day"),t[o.WEEK_DURATION]=T("week"),t[o.MONTH_DURATION]=T("month"),t[o.YEAR_DURATION]=T("year"),t[e.durationType]},durationTypeLabel:function(e){var t={};return t[o.AVAILABILITY_DURATION]=T("per availability"),t[o.DAY_DURATION]=T("per day"),t[o.WEEK_DURATION]=T("per week"),t[o.MONTH_DURATION]=T("per month"),t[o.YEAR_DURATION]=T("per year"),t[e]},applyBenefitDiscount:function(e,t,n,r){var i=-1*n.discount,o=r.mul(t,i);return r.add(t,o)},clearBenefitUseKeys:function(e){Object.keys(e).forEach((function(t){(function(e){return _.startsWith(e,"benefitUseFor:")})(t)&&delete e[t]}))},reflectBenefitUses:function(e,t,n){o.clearBenefitUseKeys(e),t&&n.forEach((function(t){if(t.benefitRate){var n=t.benefitRate.benefit.pk;e[i(t.key)]=n}}))},initializeBenefitRateCount:function(e,t,n){return _.sumBy(t,(function(t){return e.customerTypeRate===t.customerTypeRate&&e.benefit.pk===n[i(t.key)]?(t.benefitRate=e,1):0}))},initializeNonBenefitRateCount:function(e,t){return _.sumBy(t,(function(t){return t.benefitRate||t.customerTypeRate!==e?0:1}))},benefitsUsedOnBooking:function(e){var t=[];return e.customers.forEach((function(e){e.benefitUses.length&&t.push(e.benefitUses[0].benefit)})),_.uniq(t)},rateCountKey:function(e){return"".concat(e.pk,"-count")},benefitUseKey:i}},11859:function(e,t,n){"use strict";n.d(t,{Q:function(){return o}}),n(62062),n(72712),n(26099);var r=n(44065),i=n(11061),o={CANCELLED_STATUS:"cancelled",UNCANCELLED_STATUS:"uncancelled",PAID_PAID_STATUS:"paid",UNPAID_PAID_STATUS:"unpaid",OVERPAID_PAID_STATUS:"overpaid",UNDERPAID_PAID_STATUS:"underpaid",COMPLETED_TYPE:"completed",PENDING_TYPE:"pending",comboDiscountSavings:function(e){return e.company.features.isUpsellingEnabled?e.customers.reduce((function(e,t){return e+_.get(t,"comboDiscounts[0].costs.totalCost.price")||0}),0):0},showTaxByType:function(e){return e.company.features.isTaxTypeBreakdownEnabled&&null===e.explicitGross&&!(r.w.LEGACY_TAX_TYPE_PK in e.costs.totalCost.taxByType)},showTaxType:function(e,t){return void 0!==t.costs.totalCost.taxByType[e.pk]&&(t.costs.totalCost.taxByType[e.pk]||!t.item.isNoTax)},resourceUsesFromBooking:function(e){return _.append(e.bookingLevelResourceUses,_.flatten(e.customers.map((function(e){return e.resourceUses}))))},isEligibleForDeposit:function(e,t,n){return e.effectiveIsDepositEnabled&&t>0&&t<n&&(e.settings.depositModifierKind===i.S.PERCENTAGE_MODIFIER_KIND||e.settings.depositOffset<n)&&(!e.settings.isMinimumBookingAmountForDepositOptionRequired||e.settings.minimumBookingAmountForDepositOption<=n)},effectiveDeposit:function(e,t,n){if(t<=0)return 0;var r=0;return e.settings.depositModifierKind===i.S.OFFSET_MODIFIER_KIND?r=e.settings.depositOffset||0:e.settings.depositModifierKind===i.S.PERCENTAGE_MODIFIER_KIND&&(r=_.roundHalfToEven(e.settings.depositRate*t)),e.company.features.isPerCustomerDepositsEnabled&&(r+=_.sum(n.map((function(e){return(e.customerTypeRate.customerPrototype.settings.depositOffset||0)*e.count})))),r}}},60256:function(e,t,n){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t,n){return(t=function(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{E:function(){return g}}),n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(23792),n(89572),n(2892),n(84185),n(26099),n(47764),n(62953);var o="checked-in",a="no-show",s="none",c={pk:"mixed",name:T("Set check-in per customer..."),type:"mixed"},u={pk:"",name:T("Not yet checked in"),type:s},l=i(i(i({},o,T("checked in")),a,T("no show")),s,T("not checked in")),d=(n(28706),n(88431),n(51629),n(48598),n(62062),n(23288),n(62010),n(38781),n(23500),function(e){return e&&e.type===o}),p=function(e){return e&&e.type===a},m=function(e){return e===c},f=function(e){if(!e||!e.customers||!e.customers.length)return null;var t=e.customers[0].checkinStatus;return _.every(e.customers,{checkinStatus:t})?t:c},h=(n(44114),n(16034),{name:T("Other")}),g={cls:"CheckinStatus",CHECKED_IN_TYPE:o,NO_SHOW_TYPE:a,NOT_CHECKED_IN_TYPE:s,MIXED_CHECKIN_STATUS:c,EMPTY_CHECKIN_STATUS:u,RELATED_FEATURE_FLAG:"isCheckinEnabled",COLORS:{RED:12,GREEN:5,NO_COLOR:0},LABELS_BY_TYPE:l,isCheckedIn:d,isNoShow:p,isMixed:m,bookingCheckinStatus:f,bookingCheckinStatusObject:function(e){return f(e)||u},bookingCheckinBreakdown:function(e){var t={};_.forEach(e.customers,(function(e){var n=e.customerTypeRate.customerPrototype.customerType,r=e.checkinStatus||null,i="".concat(n.uri,":").concat(r?r.uri:""),o=t[i]||{count:0,customerType:n,checkinStatus:r};o.count+=1,t[i]=o}));var n=_.sortBy(_.values(t),[function(e){return e.checkinStatus?[0,e.checkinStatus.type===s?1:0,e.checkinStatus.sortableIndex,e.customerType.sortableIndex]:[1,2,0,e.customerType.sortableIndex]}]);return _.map(n,(function(e){var t=e.customerType.shortName||(1===e.count?e.customerType.singular:e.customerType.plural),n=e.checkinStatus?e.checkinStatus.name:T("not checked in");return"".concat(e.count.toString()," ").concat(t," ").concat(n)})).join(", ")},checkinStatusClass:function(e){return e?e.type:"not-checked-in"},checkinStatusSort:function(e){return[!!e,d(e),m(e),p(e),e?e.sortableIndex:0]},manifestSummary:function(e){var t,n={counts:{},totalCheckedIn:0,humansCheckedIn:0,tagCounts:{},allTags:[]},r=null===(t=e[0])||void 0===t?void 0:t.company.features.isCheckinCountsByTagEnabled;return e.forEach((function(e){e.customers.forEach((function(e){var t=e.checkinStatus,i=t?t.uri:"none";if(n.counts[i]=n.counts[i]||{checkinStatus:t,count:0,humanCount:0},n.counts[i].count+=1,r){var o,a=t?t.type:s,c=e.customerTypeRate.customerPrototype.customerType.tags;(c=null!==(o=c)&&void 0!==o&&o.length?c:[h]).forEach((function(e){var t=n.tagCounts[e.name]||{};t[a]=(t[a]||0)+1,n.tagCounts[e.name]=t,n.allTags.push(e)}))}}))})),r||(n.counts=_.sortBy(Object.values(n.counts),["checkinStatus.type","checkinStatus.sortableIndex"])),r&&(n.allTags=_.uniq(_.sortBy(n.allTags,"pk"))),n}}},13422:function(e,t,n){"use strict";n.d(t,{x:function(){return r}});var r={cls:"Combo"}},55911:function(e,t,n){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return(t=function(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{C:function(){return s}}),n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(51629),n(23792),n(44114),n(89572),n(2892),n(67945),n(84185),n(83851),n(81278),n(79432),n(26099),n(47764),n(23500),n(62953);var s=o(o({},{DEFAULT_TAX_DISPLAY_NAME:T("Taxes"),DEFAULT_TAX_DISPLAY_NAMES:{AU:"GST"}}),{},{taxDisplayName:function(e){return e.features.taxDisplayName?e.features.taxDisplayName:s.DEFAULT_TAX_DISPLAY_NAMES[e.processorCountry]||s.DEFAULT_TAX_DISPLAY_NAME}})},74113:function(e,t,n){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return(t=function(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{i:function(){return s}}),n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(51629),n(74423),n(23792),n(44114),n(89572),n(2892),n(67945),n(84185),n(83851),n(81278),n(79432),n(26099),n(21699),n(47764),n(23500),n(62953);var s=o(o({},{STACK_PRICING_TYPE:"stack",CURRENT_PRICING_TYPE:"current",INITIAL_PRICING_TYPE:"initial",ZERO_PRICING_TYPE:"zero",SHORT_TYPE:"short",LONG_TYPE:"long",YES_NO_TYPE:"yes-no",EXTENDED_OPTION_TYPE:"extended-option",HEADER_TYPE:"header",NOTE_TYPE:"note",TRANSPORTATION_TYPE:"transportation",NEW_TRANSPORTATION_TYPE:"new-transportation",CODE_TYPE:"code",MULTI_CAMPAIGN_TYPE:"multi-campaign",CODE_GENERATOR_TYPE:"code-generator",CARD_GENERATOR_TYPE:"card-generator",COUNT_TYPE:"count",SMARTWAIVER_TYPE:"waiver",WHEREWOLF_TYPE:"wherewolf-waiver",WAIVER_TYPES:["waiver","wherewolf-waiver"],DISPLAY_ONLY_TYPES:["note","header"],MEMBER_AUTOFILL_TYPES:["short","long","extended-option","yes-no","count"],MEMBER_AUTOFILL_PII_TYPES:["short","long"],PII_PLACEHOLDER:"••••••••••••••••••",MAX_CARDS_SUGGESTED_AMOUNT:25e4}),{},{isWaiverType:function(e){return s.WAIVER_TYPES.includes(e.type)}})},77388:function(e,t,n){"use strict";n.d(t,{d:function(){return r}}),n(2008),n(50113),n(23792),n(62062),n(62010),n(26099),n(62953);var r={RELATED_FEATURE_FLAG:"isMembershipsEnabled",isExpiredRange:function(e){return!e.isDeferredStart&&e.utcEndAt.isSameOrBefore(moment.tz(e.member.company.timezone).startOf("day"))},isActiveRange:function(e){return!e.isCancelled&&!e.isDeferredStart&&!0!==e.isFullyUsed&&!r.isExpiredRange(e)},isDeferredStart:function(e){return!e.isCancelled&&e.isDeferredStart},activeRanges:function(e){return _.filter(e.membershipRanges,r.isActiveRange)},isUpcomingRange:function(e){return r.isActiveRange(e)&&e.utcStartAt.isSameOrAfter(moment.tz(e.member.company.timezone).endOf("day"))},activeOrDeferredRanges:function(e){return _.filter(e.membershipRanges,(function(e){return r.isActiveRange(e)||e.isDeferredStart}))},currentRangeForMember:function(e){return _.head(r.activeOrDeferredRanges(e))},cartMemberCode:function(e,t,n){if(n.currentUser.isAuthenticated)return null;if(!e.entries.length)return null;var r=t?_.reject(e.entries,{availability:t}):e.entries,i=_.compact(_.map(r,"model.memberCode"));return _.uniq(i).length>1&&console.error("other entries cannot have different members",i),i.length?i[0]:null},membershipRangeCreatedByBooking:function(e){if(!e.item.settings.isMemberships)return null;if(e.createdMembershipRange)return e.createdMembershipRange;var t=e.contact.member;return t?_.find(t.membershipRanges,(function(t){return t.customer&&t.customer.booking===e})):null},noBenefitRatesMsg:function(e,t,n){return t||n.isRetail?interpolate(T("No benefits are available for %(itemName)s."),{itemName:n.name}):T("No benefits are available for the selected date.")}}},64486:function(e,t,n){"use strict";n.d(t,{D:function(){return i}}),n(51629),n(26099),n(23500);var r=n(63025),i={DAY_DURATION:"days",WEEK_DURATION:"weeks",MONTH_DURATION:"months",YEAR_DURATION:"years",RELATED_FEATURE_FLAG:"isMembershipsEnabled",loadMemberships:function(e,t,n){var i=r.db.membershipsCustomerTypes({shortname:e.company.shortname,availabilityPk:e.pk},null,null,{memberCode:t?t.code:"",rebookingPk:n?n.pk:""});return i.$promise.then((function(){i.forEach((function(e){e.customerType.membership=e}))})),i}}},46565:function(e,t,n){"use strict";n.d(t,{m:function(){return i}}),n(50113),n(51629),n(74423),n(44114),n(26099),n(21699),n(23500);var r=n(19875),i={name:function(e){var t=e.membership,n=t.shortName||t.singular;return e.isDeferredStart?n+=" (deferred)":n+=" ".concat(r.Y.datetimeRange(e.startAt,e.endAt)),n},formattedRange:function(e){var t=e.membership,n="";return e.isDeferredStart?n+=interpolate(T("%(duration)s %(durationType)s after first use."),{duration:t.duration,durationType:t.durationType}):n+=r.Y.datetimeRange(e.startAt,e.endAt),n},groupRanges:function(e){var t=[];return(e||[]).forEach((function(e){if(!e.isCancelled){var n=t.find((function(t){return t.membership===e.membership}));n||(n={membership:e.membership,formattedRanges:[]},t.push(n));var r=i.formattedRange(e);n.formattedRanges.includes(r)||n.formattedRanges.push(r)}})),t}}},90078:function(e,t,n){"use strict";n.d(t,{$:function(){return r}});var r={CC_TYPE:"balanced-cc",LEGACY_CC_TYPE:"cc",IN_STORE_TYPE:"in-store",AFFILIATE_TYPE:"affiliate",STORED_VALUE_CARD_TYPE:"stored-value-card",PENDING_DISPUTE_STATUS:"pending",DISPUTED_DISPUTE_STATUS:"disputed",WON_DISPUTE_STATUS:"won",LOST_DISPUTE_STATUS:"lost",ACCEPTED_DISPUTE_STATUS:"accepted",REFUNDED_DISPUTE_STATUS:"refunded",INITIATED_PAYMENT_STATUS:"initiated",PENDING_PAYMENT_STATUS:"pending",FAILED_PAYMENT_STATUS:"failed",SUCCEEDED_PAYMENT_STATUS:"succeeded",IDEAL_PROCESSOR_BASED_TYPE:"ideal",SOFORT_PROCESSOR_BASED_TYPE:"sofort",BANCONTACT_PROCESSOR_BASED_TYPE:"bancontact",VIPPS_PROCESSOR_BASED_TYPE:"vipps",AFTERPAY_PROCESSOR_BASED_TYPE:"afterpay_clearpay",AFFILIATE_PAYMENT_TYPE:"affiliate",AFFILIATE_PAYMENT_DISPLAY_TEXT:T("Collected by affiliate"),SOFORT_COUNTRY_CHOICES:[["AT",T("Austria")],["BE",T("Belgium")],["DE",T("Germany")],["NL",T("Netherlands")],["ES",T("Spain")]],AFTERPAY_COUNTRY_CHOICES:[["AU",T("Australia")],["NZ",T("New Zealand")]],POSTAL_CODE_VERIFIED_COUNTRIES:["US"],DEMO_CARD_NUMBERS:["4111111111111111","5105105105105100","341111111111111","4242424242424242"]}},77635:function(e,t,n){"use strict";n.d(t,{L:function(){return i},u:function(){return r}});var r={cls:"PaymentSchedule"},i={PERCENTAGE_TYPE:"percentage",AMOUNT_TYPE:"amount",FINAL_TYPE:"final",DAYS_BEFORE_AVAILABILITY:"days_before_availability",DAYS_AFTER_ACTIVATION:"days_after_activation",STATUS_PAID:"paid",STATUS_DUE:"due",STATUS_UPCOMING:"upcoming",STATUS_OVERDUE:"overdue",cls:"PaymentRule"}},11977:function(e,t,n){"use strict";n.d(t,{A1:function(){return m},A6:function(){return C},CT:function(){return y},DA:function(){return k},HI:function(){return v},Ht:function(){return A},KY:function(){return P},NT:function(){return c},OC:function(){return o},PT:function(){return f},PW:function(){return E},UQ:function(){return i},W_:function(){return S},_4:function(){return l},i0:function(){return p},iB:function(){return u},jx:function(){return h},ms:function(){return a},mz:function(){return b},sO:function(){return g},uR:function(){return _},wK:function(){return O},y:function(){return s},z_:function(){return d}});var r=n(89120),i="no",o="only-taxed",a="all",s="always",c="inherit",u="included",l="not-included",d="inherit",p="change",m="inherit",f="change",h="offset",g="percentage",v="adjust",y="set",b="none",E="",_=T("Inherit"),k=!0,C=T("On"),A=!1,P=T("Off"),S=[{label:_,value:E},{label:C,value:k},{label:P,value:A}],O={visibility:{isVisible:!0,isHiddenWhenBooking:!1,isHiddenOnReceipts:!1,isRequired:!1},price:{modifierType:b,customTax:i},taxes:{taxability:r.FM,ratesByType:{},offsetsByType:{}},sheetRate:{sheetRate:1}}},15887:function(e,t,n){"use strict";n.d(t,{d:function(){return i}});var r=n(11977),i=function(e,t,n){if(e.price.modifierType===r.mz)return 0;var i=null!=t?t:1,o=e.price.offset*e.sheetRate.sheetRate*i;return n&&(o-=o*n.benefit.discount),_.roundHalfToEven(o)}},11061:function(e,t,n){"use strict";n.d(t,{S:function(){return y}});var r=n(11977),i=(n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(28706),n(2008),n(51629),n(23418),n(74423),n(64346),n(23792),n(44114),n(34782),n(15086),n(89572),n(23288),n(62010),n(2892),n(67945),n(84185),n(83851),n(81278),n(79432),n(26099),n(16034),n(27495),n(90906),n(38781),n(47764),n(23500),n(62953),n(63025)),o=n(48920),a="adjustedPrice-",s=n(89120),c=n(14691);function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t,n){return(t=function(e){var t=function(e){if("object"!=u(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==u(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=function(e){return["Availability","Item","Company"].includes(e.cls)},g=function(e,t){return t.isBase&&"Company"===e.cls},v=n(15887),y={cls:"PriceLine",NO_CUSTOM_TAX:r.UQ,ONLY_TAXED_CUSTOM_TAX:r.OC,ALL_CUSTOM_TAX:r.ms,ALWAYS_CUSTOM_TAX:r.y,INHERIT_TAX_INCLUSION:r.NT,INCLUDED_TAX_INCLUSION:r.iB,NOT_INCLUDED_TAX_INCLUSION:r._4,INHERIT_PRICE_TYPE:r.z_,CHANGE_PRICE_TYPE:r.i0,INHERIT_SHEET_RATE_TYPE:r.A1,CHANGE_SHEET_RATE_TYPE:r.PT,OFFSET_MODIFIER_KIND:r.jx,PERCENTAGE_MODIFIER_KIND:r.sO,ADJUST_MODIFIER_TYPE:r.HI,SET_MODIFIER_TYPE:r.CT,NONE_MODIFIER_TYPE:r.mz,INHERIT_IS_TAXABLE:r.PW,INHERIT_IS_TAXABLE_LABEL:r.uR,ON_IS_TAXABLE:r.DA,ON_IS_TAXABLE_LABEL:r.A6,OFF_IS_TAXABLE:r.Ht,OFF_IS_TAXABLE_LABEL:r.KY,IS_TAXABLE_CHOICES:r.W_,NONE_PRICING:r.wK,displayTaxInclusion:function(e){return f(f(f({},r.NT,T("Inherit")),r.iB,T("Tax included")),r._4,T("Tax not included"))[e]},displayCustomTax:function(e){var t=f(f(f(f({},r.UQ,T("Standard tax")),r.OC,T("Custom tax")),r.ms,T("Custom tax (include untaxed)")),r.y,T("Custom tax (include untaxed, even on untaxed sheets)"));return t[e]||t[r.UQ]},isInheritTaxability:function(e){return e.isTaxable!==r.Ht&&e.isTaxable!==r.DA&&!Object.values(e.taxTypes||{}).some(o.Lm)},isCustomTaxAllowed:function(e,t){return t.features.isCustomTaxEnabled&&!t.features.isAggregateTaxEnabled&&e.modifierType!==r.mz},isTaxInclusionAllowed:function(e,t){return t.features.isTaxInclusionEnabled&&e.modifierType!==r.mz&&e.customTax===r.UQ&&e.modifierKind!==r.sO},displayTaxable:function(e){return e===r.DA?r.A6:e===r.Ht?r.KY:r.uR},isAggregateTaxableObject:h,isTaxTypesAllowed:function(e,t,n){return e.isTaxable!==r.Ht&&(e.isTaxable!==r.PW||"Item"===t.cls)&&(!n.company.features.isAggregateTaxEnabled||h(t))},showOffset:function(e,t){return!(e.price.customTax!==r.UQ||e.price.modifierType===r.mz||(!t||!(0,o.Et)(t.offset))&&(e.price.modifierKind!==r.jx||!e.price.offset&&e.price.modifierType!==r.CT))},showRate:function(e,t){return!(e.price.customTax!==r.UQ||e.price.modifierType===r.mz||(!t||!(0,o.Et)(t.rate))&&(e.price.modifierKind!==r.sO||!e.price.rate&&e.price.modifierType!==r.CT))},effectiveOffset:v.d,effectiveRate:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.price.modifierType===r.mz?0:e.price.rate*t},modifierKindChoices:function(e){var t,n=i.db.slipstream("currencies");if(n){var o=n[_.resolveCurrency(e)];o&&(t=o.symbol)}return t||(console.warn("modifierKindChoices: unable to determine currency symbol",e),t="$"),[[r.sO,"%"],[r.jx,t]]},isTaxIncluded:function(e){return e.price.taxInclusion===r.iB&&e.taxes.taxability!==s.ZM&&e.price.customTax===r.UQ&&e.price.modifierKind!==r.sO},isCompanyBaseLine:g,effectiveTaxTypes:function(e){var t,n,r,i;return(0,o.sb)([].concat(p(Object.keys(null!==(t=null==e||null===(n=e.taxes)||void 0===n?void 0:n.ratesByType)&&void 0!==t?t:{})||[]),p(Object.keys(null!==(r=null==e||null===(i=e.taxes)||void 0===i?void 0:i.offsetsByType)&&void 0!==r?r:{})||[])))},adjustedPriceFromModel:function(e,t,n){t&&(t+="-");var i=t+a,s=e[i+(n?"invoiceRate":"rate")],u=e[i+(n?"invoiceOffset":"offset")];return(0,o.Et)(s)||(0,o.Et)(u)?{rate:(0,c.z0)(s),offset:u,modifierKind:(0,o.Et)(s)?r.sO:r.jx}:null},extendModelWithAdjustedPrice:function(e,t,n){t&&["offset","rate","invoiceOffset","invoiceRate"].forEach((function(r){var i=t[r];if((0,o.Et)(i)){"rate"!==r&&"invoiceRate"!==r||(i=(0,c.gv)(i));var s=(n?"".concat(n,"-"):"")+a;e[s+r]=i}}))},adjustPrice:function(e,t){return t&&((0,o.Et)(t.rate)||(0,o.Et)(t.offset))?d(d({},e),{},{price:d(d({},e.price||{}),{},{rate:t.rate,offset:t.offset,modifierKind:t.modifierKind})}):e},isTaxableChoices:function(e,t){return g(e,t)?r.W_.slice(1):r.W_}}},89120:function(e,t,n){"use strict";n.d(t,{CT:function(){return u},FM:function(){return i},HI:function(){return c},IZ:function(){return o},ZM:function(){return r},jx:function(){return a},sO:function(){return s}});var r="none",i="pro-rate",o="full",a="offset",s="percentage",c="adjust",u="set"},68374:function(e,t,n){"use strict";n.d(t,{L:function(){return s}});var r=n(89120),i=n(14691),o=n(11977),a=n(15887),s={cls:"PriceSheet",NONE_TAXABILITY:r.ZM,PRO_RATE_TAXABILITY:r.FM,FULL_TAXABILITY:r.IZ,OFFSET_MODIFIER_KIND:r.jx,PERCENTAGE_MODIFIER_KIND:r.sO,ADJUST_MODIFIER_TYPE:r.HI,SET_MODIFIER_TYPE:r.CT,baseSheet:i.h$,nonBaseSheets:i.Pn,sheetRateToModel:i.gv,sheetRateFromModel:i.z0,isInvoiceSheet:i.n6,taxable:function(e){if(e.price.modifierType===o.mz)return 0;var t=e.taxes.taxability;return t===r.ZM?0:t===r.FM?(0,a.d)(e):t===r.IZ?e.price.offset:(console.warn("invalid taxability",t),0)},isNonBaseSheet:i.eG,dropdownLabel:i._f,displayName:i.QC}},14691:function(e,t,n){"use strict";n.d(t,{Pn:function(){return a},QC:function(){return d},_f:function(){return l},eG:function(){return i},gv:function(){return s},h$:function(){return o},n6:function(){return u},z0:function(){return c}}),n(2008),n(50113),n(26099),n(99449);var r=n(48920),i=function(e){return!e.isBase&&!e.isTotalBase&&!e.isInvoiceBase},o=function(e){return e.find((function(e){return e.isBase}))},a=function(e){return e.filter(i)},s=function(e){return _.roundHalfToEven(100*e,7)},c=function(e){return(0,r.gf)(e)?e/100:e},u=function(e){return"InvoiceSheet"===e.cls},l=function(e){var t=e.displayName;return e.cls.endsWith("Schedule")&&(t+=" ".concat(T("(schedule)"))),e.isArchived&&(t+=" ".concat(T("(archived)"))),e.isInheritsTotalCost&&(t+=" ".concat(T("(connected)"))),t},d=function(e){return e.displayName+(e.isArchived?" ".concat(T("(archived)")):"")}},160:function(e,t,n){"use strict";n.d(t,{J:function(){return r}});var r={cls:"Proposal",STATUS_UNCONFIRMED:"unconfirmed",STATUS_CONFIRMED:"confirmed"}},22945:function(e,t,n){"use strict";n.d(t,{Ct:function(){return i},GL:function(){return o},uk:function(){return r}});var r=["AF","AU","BD","BT","BN","KH","CN","CX","CC","CK","FJ","HK","IN","ID","JP","KI","KG","LA","MO","MY","MV","MH","FM","MN","MM","NR","NP","NZ","NF","KP","MP","PW","PG","PH","WS","SG","SB","KR","LK","TW","TH","TL","TK","TO","TM","TV","UZ","VU","VN","WF"],i=["AS","AG","AR","AW","BS","BB","BZ","BM","BO","BR","CA","KY","CL","CO","CR","CU","CW","DM","DQ","EC","SV","FK","GD","GP","GU","GT","GY","HT","HN","JM","MX","NI","PA","PY","PE","PR","KN","LC","MF","VC","SX","SR","TT","VI","US","UY","VE"],o={GDPR_COUNTRY_CODES:_.toTrueKeys(["AN","AT","BE","BG","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK"]),APAC_COUNTRY_CODES:_.toTrueKeys(r),EMEA_COUNTRY_CODES:_.toTrueKeys(["AX","AL","DZ","AD","AO","AM","AC","AT","AZ","BH","BT","BE","BJ","BA","BW","IO","VG","BG","BF","BI","CV","CM","BQ","CF","TD","KM","CD","CG","CI","HR","CY","CZ","DK","DJ","EG","GQ","ER","EE","SZ","ET","FO","FI","FR","GF","PF","GA","GM","GE","DE","GH","GI","GR","GL","GG","GN","GW","HU","IS","IR","IQ","IE","IM","IL","IT","JE","JO","KZ","KE","XK","KW","LV","LB","LS","LR","LY","LI","LT","LU","MG","MW","ML","MT","MQ","MR","MU","YT","MD","MC","ME","MS","MA","MZ","NA","NL","NC","NE","NG","MK","NO","OM","PK","PS","PL","PT","QA","RE","RO","RU","RW","BL","SH","PM","SM","ST","SA","SN","RS","SC","SL","SK","SI","SO","ZA","SS","ES","SD","SJ","SE","CH","SY","TJ","TZ","TG","TN","TR","TC","UG","UA","AE","GB","VA","EH","YE","ZM","ZW"]),NORAM_COUNTRY_CODES:_.toTrueKeys(i)}},76169:function(e,t,n){"use strict";n.d(t,{M:function(){return i}}),n(50113),n(26099);var r=n(63025),i={getOtaTypeDisplayName:function(e){var t=r.db.slipstream("resellerOtaTypes").find((function(t){return t[0]===e}));return t?t[1]:""}}},68457:function(e,t,n){"use strict";n.d(t,{k:function(){return i}}),n(2008),n(74423),n(26099),n(21699);var r=n(63025),i={SEND_BOOKINGS_SCHEMA:"send_bookings",SEND_BOOKINGS_WITH_PAYMENTS_SCHEMA:"send_booking_with_payments",SEND_BOOKINGS_OPTIMIZED_SCHEMA:"send_bookings_optimized",SEND_BOOKINGS_WITH_PAYMENTS_OPTIMIZED_SCHEMA:"send_booking_with_payments_optimized",SEND_ITEMS_SCHEMA:"send_items",filterSchemaOptionsByUser:function(e,t){var n=r.db.slipstream("resellerKeySchemaOptions"),i=t.features.canSeeOptimizedWebhooksOnDashboard;return n.filter((function(e){return!e[0].includes("optimized")||i}))}}},69036:function(e,t,n){"use strict";n.d(t,{j:function(){return r}}),n(51629),n(48598),n(62062),n(44114),n(26099),n(23500);var r={NO_REPEAT:"none",WEEKLY_REPEAT:"weekly",BIWEEKLY_REPEAT:"biweekly",MONTHLY_REPEAT:"monthly",ALL_DAY_PERIOD:"all-day",TIME_RANGE_PERIOD:"time-range",DAY_RANGE_PERIOD:"day-range",FAILED_STATUS:"failed",SUCCEEDED_STATUS:"succeeded",WEEK_DAYS_KEYS:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],WEEK_DAYS:{sunday:T("Sunday"),monday:T("Monday"),tuesday:T("Tuesday"),wednesday:T("Wednesday"),thursday:T("Thursday"),friday:T("Friday"),saturday:T("Saturday")},WEEK_DAYS_SHORT:{sunday:cT("Abbreviation of Sunday","Su"),monday:cT("Abbreviation of Monday","M"),tuesday:cT("Abbreviation of Tuesday","T"),wednesday:cT("Abbreviation of Wednesday","W"),thursday:cT("Abbreviation of Thursday","Th"),friday:cT("Abbreviation of Friday","F"),saturday:cT("Abbreviation of Saturday","S")},weekDays:function(e){var t=_.clone(r.WEEK_DAYS_KEYS);return e.features.isSundayBased||t.push(t.shift()),t},weekDayShort:function(e){return r.WEEK_DAYS_SHORT[e]},weekDaysDefaultModel:function(){var e={};return _.forEach(r.WEEK_DAYS_KEYS,(function(t){e[t]=!0})),e},defaultRule:function(){var e={period:r.TIME_RANGE_PERIOD,repeat:r.NO_REPEAT,hours:"",time:"",startOn:null,endOn:null};return _.assign(e,r.weekDaysDefaultModel()),e},displayDayPattern:function(e){var t=e.dayPattern||[];return t.length||(t=r.WEEK_DAYS_KEYS),_.map(t,(function(e){return r.WEEK_DAYS_SHORT[e]})).join(", ")}}},33553:function(e,t,n){"use strict";n.d(t,{C:function(){return r}}),n(74423),n(62010),n(21699);var r={cls:"TagGroup",CUSTOMER_TYPE_TAGS_GROUP_NAME:"CustomerType",CUSTOM_FIELD_TAGS_GROUP_NAME:"CustomField",groupType:function(e){return[r.CUSTOMER_TYPE_TAGS_GROUP_NAME,r.CUSTOM_FIELD_TAGS_GROUP_NAME].includes(e.name)?e.name:""},isCustomerTypeTaggingEnabled:function(e){return e.features.isCheckinCountsByTagEnabled},isCustomFieldTaggingEnabled:function(e){return e.features.isPrivateEventsEnabled}}},44065:function(e,t,n){"use strict";n.d(t,{w:function(){return i}});var r=n(82448),i={LEGACY_TAX_TYPE_PK:-1,RATE_TYPE:"rate",OFFSET_TYPE:"offset",displayName:function(e){var t=(0,r.$)("$filter");return interpolate(T("%(name)s (%(rate)s)"),{name:t("name")(e),rate:i.displayRate(e)})},displayRate:function(e){var t=(0,r.$)("$filter");return e.type===i.RATE_TYPE?t("percentage")(e.rate,"hideplus"):e.type===i.OFFSET_TYPE?t("amount")(e.offset,e.company):""}}},68227:function(e,t,n){"use strict";n.d(t,{O:function(){return r}}),n(50113),n(44114),n(26099);var r={SCHEMA_BOOKING_PROPERTY_NAME:"booking",SCHEMA_ITEM_PROPERTY_NAME:"item",findOrAddCustomSchema:function(e){var t=_.find(e,{name:"Create custom booking schema",pk:"",propertyName:"booking"});return _.isUndefined(t)&&e.push({name:"Create custom booking schema",pk:"",propertyName:"booking"}),e}}},57913:function(e,t,n){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e){var t="function"==typeof Map?new Map:void 0;return i=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(o())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&a(i,n.prototype),i}(e,arguments,s(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),a(n,e)},i(e)}function o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(o=function(){return!!e})()}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}n.d(t,{iD:function(){return $},kV:function(){return I}}),n(52675),n(89463),n(66412),n(2259),n(45700),n(78125),n(16280),n(76918),n(28706),n(51629),n(23792),n(44114),n(94490),n(34782),n(89572),n(94170),n(62010),n(4731),n(60479),n(2892),n(59904),n(84185),n(40875),n(63548),n(10287),n(26099),n(3362),n(60825),n(47764),n(68156),n(23500),n(62953),n(2008),n(60739),n(33110),n(67945),n(83851),n(81278),n(79432),n(3296),n(27208),n(48408),n(14603),n(47566),n(98721),n(25276),n(23288),n(36033),n(38781);var c=function(e){function t(e,n){var i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var a=e.status,c=e.statusText;return(i=function(e,t,n){return t=s(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,o()?Reflect.construct(t,n||[],s(e).constructor):t.apply(e,n))}(this,t,["Request to '".concat(n,"' failed with HTTP code ").concat(a,": ").concat(c,".")])).httpResponse=e,i.targetUrl=n,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}(t,e),n=t,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(i(Error)),u=n(83184);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function d(){d=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function p(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,a=Object.create(o.prototype),s=new D(r||[]);return i(a,"_invoke",{value:O(e,n,s)}),a}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var f="suspendedStart",h="suspendedYield",g="executing",v="completed",y={};function b(){}function T(){}function E(){}var _={};u(_,a,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(N([])));C&&C!==n&&r.call(C,a)&&(_=C);var A=E.prototype=b.prototype=Object.create(_);function P(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(i,o,a,s){var c=m(e[i],e,o);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==l(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(d).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function O(t,n,r){var i=f;return function(o,a){if(i===g)throw Error("Generator is already running");if(i===v){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=R(s,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=g;var u=m(t,n,r);if("normal"===u.type){if(i=r.done?v:h,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=v,r.method="throw",r.arg=u.arg)}}}function R(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var o=m(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(l(t)+" is not iterable")}return T.prototype=E,i(A,"constructor",{value:E,configurable:!0}),i(E,"constructor",{value:T,configurable:!0}),T.displayName=u(E,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===T||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,u(e,c,"GeneratorFunction")),e.prototype=Object.create(A),e},t.awrap=function(e){return{__await:e}},P(S.prototype),u(S.prototype,s,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new S(p(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(A),u(A,c,"Generator"),u(A,a,(function(){return this})),u(A,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=N,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(w),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){f(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function f(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){h(o,r,i,a,s,"next",e)}function s(e){h(o,r,i,a,s,"throw",e)}a(void 0)}))}}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,y(r.key),r)}}function y(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}var b=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"_executeRequest",value:(i=g(d().mark((function e(t){var n,r,i,o,a,s,l=arguments;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.length>1&&void 0!==l[1]?l[1]:"GET",i=l.length>2&&void 0!==l[2]?l[2]:null,o=m(m({},l.length>3&&void 0!==l[3]?l[3]:{}),{},{"X-CSRFToken":(0,u.Q)(),"X-Requested-With":"XMLHttpRequest"}),(a=null===(n=window.slipstream)||void 0===n?void 0:n.targetLanguage)&&(o["X-FH-Target-Language"]=a),e.next=8,fetch(t.href,{method:r,headers:o,body:i?JSON.stringify(i):void 0});case 8:if((s=e.sent).ok){e.next=11;break}throw new c(s,t);case 11:return e.prev=11,e.next=14,s.json();case 14:return e.abrupt("return",e.sent);case 17:throw e.prev=17,e.t0=e.catch(11),new c(s,t);case 20:case"end":return e.stop()}}),e,null,[[11,17]])}))),function(e){return i.apply(this,arguments)})},{key:"_getEndpointUrl",value:function(e){return new URL(e,window.location.origin)}},{key:"get",value:(r=g(d().mark((function e(t){var n,r=arguments;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this._executeRequest(t,"GET",null,n);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"post",value:(n=g(d().mark((function e(t,n){var r,i=arguments;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=i.length>2&&void 0!==i[2]?i[2]:{},e.next=3,this._executeRequest(t,"POST",n,r);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})}],t&&v(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n,r,i}();function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function E(){E=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),s=new D(r||[]);return i(a,"_invoke",{value:O(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",m="suspendedYield",f="executing",h="completed",g={};function v(){}function y(){}function b(){}var _={};u(_,a,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(N([])));C&&C!==n&&r.call(C,a)&&(_=C);var A=b.prototype=v.prototype=Object.create(_);function P(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(i,o,a,s){var c=d(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==T(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function O(t,n,r){var i=p;return function(o,a){if(i===f)throw Error("Generator is already running");if(i===h){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=R(s,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===p)throw i=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=f;var u=d(t,n,r);if("normal"===u.type){if(i=r.done?h:m,u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=h,r.method="throw",r.arg=u.arg)}}}function R(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=d(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(T(t)+" is not iterable")}return y.prototype=b,i(A,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:y,configurable:!0}),y.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(A),e},t.awrap=function(e){return{__await:e}},P(S.prototype),u(S.prototype,s,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new S(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(A),u(A,c,"Generator"),u(A,a,(function(){return this})),u(A,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=N,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(w),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function _(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function k(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,C(r.key),r)}}function C(e){var t=function(e){if("object"!=T(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=T(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==T(t)?t:t+""}function A(e,t,n){return t=S(t),function(e,t){if(t&&("object"==T(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,P()?Reflect.construct(t,n||[],S(e).constructor):t.apply(e,n))}function P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(P=function(){return!!e})()}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function O(e,t){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},O(e,t)}var R=function(e){var t=e.getFullYear(),n=e.getMonth()+1,r=e.getDate(),i=function(e){return String(e).padStart(2,"0")};return"".concat(t,"-").concat(i(n),"-").concat(i(r))},I=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),A(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&O(e,t)}(t,e),n=t,r=[{key:"getPricesForAvailsInDateRange",value:(i=E().mark((function e(t){var n,r,i,o,a,s,c,u,l,d;return E().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.companyShortname,r=t.startDate,i=t.endDate,o=t.items,a=void 0===o?null:o,s=t.flow,c=void 0===s?null:s,u=t.asn,l=void 0===u?null:u,(d=this._getEndpointUrl("/api/lightframe/v1/".concat(n,"/price-overview/"))).searchParams.set("start_date",R(r)),d.searchParams.set("end_date",R(i)),a&&a.forEach((function(e){d.searchParams.append("item",e)})),c&&d.searchParams.set("flow",c),l&&d.searchParams.set("asn",l),e.next=9,this.get(d);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e,this)})),o=function(){var e=this,t=arguments;return new Promise((function(n,r){var o=i.apply(e,t);function a(e){_(o,n,r,a,s,"next",e)}function s(e){_(o,n,r,a,s,"throw",e)}a(void 0)}))},function(e){return o.apply(this,arguments)})}],r&&k(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,i,o}(b),w=n(72422);function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function N(){N=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),s=new I(r||[]);return i(a,"_invoke",{value:P(e,n,s)}),a}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",m="suspendedYield",f="executing",h="completed",g={};function v(){}function y(){}function b(){}var T={};u(T,a,(function(){return this}));var E=Object.getPrototypeOf,_=E&&E(E(w([])));_&&_!==n&&r.call(_,a)&&(T=_);var k=b.prototype=v.prototype=Object.create(T);function C(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(i,o,a,s){var c=d(e[i],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==D(l)&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function P(t,n,r){var i=p;return function(o,a){if(i===f)throw Error("Generator is already running");if(i===h){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=S(s,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===p)throw i=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=f;var u=d(t,n,r);if("normal"===u.type){if(i=r.done?h:m,u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=h,r.method="throw",r.arg=u.arg)}}}function S(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var o=d(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,g;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function w(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(D(t)+" is not iterable")}return y.prototype=b,i(k,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:y,configurable:!0}),y.displayName=u(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},C(A.prototype),u(A.prototype,s,(function(){return this})),t.AsyncIterator=A,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new A(l(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},C(k),u(k,c,"Generator"),u(k,a,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=w,I.prototype={constructor:I,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;R(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:w(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function U(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function F(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){U(o,r,i,a,s,"next",e)}function s(e){U(o,r,i,a,s,"throw",e)}a(void 0)}))}}function L(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,M(r.key),r)}}function M(e){var t=function(e){if("object"!=D(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=D(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}var x,B,G,$=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"_getTargetUrl",value:function(e){var t=e.shortname,n=e.itemPk,r=w.D.populate(w.D.api.itemStructuredDescription,{shortname:t,itemPk:n});return this.apiEndpoint._getEndpointUrl(r)}},{key:"getStructuredDescription",value:(r=F(N().mark((function e(t){var n,r,i;return N().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.shortname,r=t.itemPk,i=this._getTargetUrl({shortname:n,itemPk:r}),e.prev=2,e.next=5,this.apiEndpoint.get(i,{});case 5:return e.abrupt("return",e.sent);case 8:if(e.prev=8,e.t0=e.catch(2),!(e.t0 instanceof c&&204===e.t0.httpResponse.status)){e.next=12;break}return e.abrupt("return",null);case 12:throw e.t0;case 13:case"end":return e.stop()}}),e,this,[[2,8]])}))),function(e){return r.apply(this,arguments)})},{key:"saveStructuredDescription",value:(n=F(N().mark((function e(t){var n,r,i,o;return N().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.shortname,r=t.itemPk,i=t.structuredDescription,o=this._getTargetUrl({shortname:n,itemPk:r}),e.next=4,this.apiEndpoint.post(o,i);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})}],t&&L(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n,r}();x=$,B="apiEndpoint",G=new b,(B=M(B))in x?Object.defineProperty(x,B,{value:G,enumerable:!0,configurable:!0,writable:!0}):x[B]=G},7492:function(e,t,n){"use strict";n.d(t,{P:function(){return i}}),n(16280),n(76918),n(51629),n(44114),n(79432),n(26099),n(23500);var r=n(72422),i={fresh:function(e){return!!e.$fresh},reference:function(e){if(e.cls&&e.uri)return{cls:e.cls,pk:e.pk,uri:e.uri}}},o=function(e,t){var n=t||{};return Object.keys(e).forEach((function(t){n[t]=s(e[t])})),n},a=function(e,t){var n=t;if(null==e)return n&&delete i.cache[n],e;if(!_.isObject(e))return e;var a=e.uri;n=n||a;var s,c=i.cache[n];a&&n&&n!==a&&void 0!==c&&(console.log("cache: overlapping uris",a,n),delete i.cache[n]),s=void 0!==c?c:{},a&&(i.cache[a]=s,s.$url||(s.$url=r.D.populateForObject));var u=o(e,s);return u.$fresh=!1,u},s=function(e){if(_.isArray(e)){var t=[];return e.forEach((function(e){t.push(s(e))})),t}return _.isModelObject(e)?a(e):_.isObject(e)?o(e):e};i.clear=function(){i.cache={}},i.read=function(e,t){var n=e;if(void 0===n)throw new Error("cache.read: invalid key");t&&(n="[".concat(n,"]"));var r=i.cache[n];return void 0===r&&((r=t?[]:{}).uri=n,r.$fresh=!0,i.cache[n]=r),r},i.update=a,i.populate=s,i.cache={},window.$$cache=i},2729:function(e,t,n){"use strict";n.d(t,{C1:function(){return A},En:function(){return f},Gl:function(){return k},ID:function(){return I},M8:function(){return M},Mo:function(){return P},TK:function(){return O},TZ:function(){return E},Uk:function(){return R},Ux:function(){return L},WX:function(){return F},XM:function(){return S},XV:function(){return b},Yq:function(){return y},gK:function(){return U},nQ:function(){return C},o4:function(){return v},oM:function(){return g},t:function(){return w},tA:function(){return T},ti:function(){return N},wr:function(){return D}}),n(52675),n(89463),n(66412),n(2259),n(78125),n(16280),n(76918),n(18107),n(28706),n(2008),n(50113),n(51629),n(23418),n(64346),n(23792),n(62062),n(44114),n(94490),n(34782),n(23288),n(62010),n(4731),n(60479),n(59904),n(84185),n(40875),n(63548),n(10287),n(26099),n(3362),n(27495),n(90906),n(38781),n(67357),n(47764),n(5746),n(23500),n(62953);var r=n(63025),i=n(65047),o=n(82448),a=n(72422),s=n(46329),c=n(13422),u=n(49141);function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(){p=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function d(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,a=Object.create(o.prototype),s=new D(r||[]);return i(a,"_invoke",{value:O(e,n,s)}),a}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var f="suspendedStart",h="suspendedYield",g="executing",v="completed",y={};function b(){}function T(){}function E(){}var _={};u(_,a,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(N([])));C&&C!==n&&r.call(C,a)&&(_=C);var A=E.prototype=b.prototype=Object.create(_);function P(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(i,o,a,s){var c=m(e[i],e,o);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==l(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(d).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,s)}))}s(c.arg)}var o;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function O(t,n,r){var i=f;return function(o,a){if(i===g)throw Error("Generator is already running");if(i===v){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=R(s,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=g;var u=m(t,n,r);if("normal"===u.type){if(i=r.done?v:h,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=v,r.method="throw",r.arg=u.arg)}}}function R(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var o=m(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(l(t)+" is not iterable")}return T.prototype=E,i(A,"constructor",{value:E,configurable:!0}),i(E,"constructor",{value:T,configurable:!0}),T.displayName=u(E,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===T||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,u(e,c,"GeneratorFunction")),e.prototype=Object.create(A),e},t.awrap=function(e){return{__await:e}},P(S.prototype),u(S.prototype,s,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new S(d(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(A),u(A,c,"Generator"),u(A,a,(function(){return this})),u(A,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=N,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(w),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function m(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}var f="skipped",h=function(e){return"".concat(e,"-clicked-combo-item")},g=function(e,t){var n=r.db.combos.bookableComboItems({shortname:e.company.shortname,itemPk:e.item.pk,availabilityPk:e.pk});return n.$promise.then((function(){var e=n.filter((function(e){return!t.entries.find((function(t){return t.availability.item===e.item}))}));return Promise.resolve(e)}))},v=function(){var e,t=(e=p().mark((function e(t){var n,i,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.$promise;case 2:if(t&&t.entries&&0!==t.entries.length&&t.company.features.isUpsellingEnabled){e.next=4;break}return e.abrupt("return",[]);case 4:return n=_.uniqBy(t.entries,(function(e){return e.availability.item.pk})),i=n.map((function(e){return r.db.combos.associatedComboItems({shortname:t.company.shortname,itemPk:e.availability.item.pk}).$promise})),e.next=8,Promise.all(i);case 8:return o=e.sent,e.abrupt("return",_.flatten(o.map((function(e){return e.data&&e.data.comboItems?e.data.comboItems:[]}))));case 10:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){m(o,r,i,a,s,"next",e)}function s(e){m(o,r,i,a,s,"throw",e)}a(void 0)}))});return function(e){return t.apply(this,arguments)}}(),y=function(e,t,n,r,i,o){var a=e.find((function(e){return e.item.pk===n&&e.combo.settings.isRestrictOverlappingBookings})),s=[];e.find((function(e){return e.item.pk===n&&e.combo.settings.isSameDayRequired}))&&s.push((function(e,t){return o.at.isSame(t.at)})),a&&s.push((function(e){return!u.e.isOverlappingWithCartEntries(e,t,!0)})),s.forEach((function(e){return function(e,t,n,r){t.weeks.forEach((function(i){var o=0;i.days.forEach((function(t){t.count&&(t.availabilities=t.availabilities.filter((function(n){return e(n,t)})),o+=t.count-t.availabilities.length,t.count=t.availabilities.length,t.isBookable=t.count>0,!t.isBookable&&r&&r.at.isSame(t.at)&&n())})),i.availabilityCount-=o,t.availabilityCount-=o}))}(e,r,i,o)}))},b=function(e,t){i.I.set(h(e),{itemPk:t===f?f:t.item.pk})},T=function(e){var t=i.I.get(h(e));return t?t.itemPk:null},E=function(e){i.I.del(h(e))},k=function(e){return!!i.I.get(h(e))},C=function(e,t){return(0,o.$)("$filter")("amount")(e,t)},A=function(e,t,n,r,i){return e.features.isUpsellingEnabled&&!t.currentUser.isAuthenticated&&!n["affiliation-affiliateCompanyShortname"]&&!r.item.settings.isComboPageHidden&&!k(e.shortname)&&!i.search(r)},P=function(e,t){var n=t.search(e);return!(!n||!n.model.comboItem||n.model.openerAvailability)},S=function(e,t){return P(e.availability,t)?t.entries.find((function(t){return e.availability.pk===t.model.openerAvailability})):null},O=function(e){return!!e.model.openerAvailability},R=function(e,t){return O(e)?t.entries.find((function(t){return e.model.openerAvailability===t.availability.pk})):null},I=function(e,t,n,r){return e.company.features.isUpsellingEnabled&&!t.currentUser.isAuthenticated&&!n["affiliation-affiliateCompanyShortname"]&&r.entries.length>0&&!P(e,r)},w=function(e,t){(0,o.$)("tracking").track(null,e,t)},D=function(e,t,n,r){var i=-1*n.comboItem.discount,o=r.mul(t,i);return o.taxByType=_.mapValues(o.taxByType,(function(t,n){var r;return n in((null===(r=e.taxes)||void 0===r?void 0:r.offsetsByType)||{})?0:t})),r.add(t,o)},N=function(e){return"combo-item-".concat((0,s.fX)(e.item.name))},U=function(e){var t,n,r=(t=e.comboItems,n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=r[0],o=r[1];return"combo-".concat((0,s.fX)(i.item.name),"-").concat((0,s.fX)(o.item.name))},F=function(e){return!!e&&(0,o.$)("auth").permissions.canCreate(c.x,e)};function L(e,t,n){var i=(0,o.$)("clientOptions"),a={};if(i.asnAffiliateCompany)return Promise.resolve(a);if(!t||!t.entries||0===t.entries.length)return Promise.resolve(a);var s=t.entries.map((function(e){return e.availability.pk})),c=n.map((function(e){return e.pk})),u=r.db.combos.newComboDiscounts({shortname:e.shortname,cartAvailabilityPks:s,itemPks:c});return u.$promise.then((function(){return u.forEach((function(e){a[e.comboItem.item.pk]=e})),Promise.resolve(a)}))}function M(e){(0,o.$)("navigation").navigate(e.$url(a.D.dashboard.settings.combos.index))}},46329:function(e,t,n){"use strict";n.d(t,{Bp:function(){return h},Cb:function(){return b},JX:function(){return m},MX:function(){return T},ZH:function(){return d},b1:function(){return p},fX:function(){return y},uc:function(){return v},vh:function(){return g}}),n(16280),n(76918),n(28706),n(51629),n(44114),n(34782),n(23288),n(79432),n(26099),n(27495),n(90906),n(38781),n(25440),n(23500);var r=n(97936),i=/([a-z])([A-Z0-9])/g,o=/([0-9])([a-zA-Z])/g,a=/([^a-zA-Z0-9-])+/g,s=/([a-z])([A-Z])/g,c=/([A-Z]+)([A-Z][a-z])/g,u=/([0-9]+)([^0-9 -_])/g,l=/^-|-$/g;function d(e){return"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1).toLowerCase())}function p(e){return(e||"").replace(/:+\s*$/,"")}function m(e,t){var n=function(e,t,n){return"".concat(t," ").concat(n)},r=e.toString().replace(i,n).replace(o,n).replace(/-/g," ").toLowerCase();return t?_.titleize(r):d(r)}function f(e,t){if(!e)return null;var n=moment(e,"YYYY-MM-DDTHH:mm:ssZZ",!0);if(n.isValid())return n;if((n=moment(e,"YYYY-MM-DDTHH:mm:ss",!0)).isValid())return n;if((n=moment(e,"YYYY-MM-DD",!0)).isValid())return n;if(!_.isString(e))return e;if(3===e.split("-")[0].length)return console.warn("convert: date has a 3-digit year; please fix.",t,e),f("0".concat(e),t);throw new Error("convert: invalid date ".concat(t,": ").concat(e))}function h(e){var t=/_at$/;if(_.isArray(e))for(var n=0,i=e.length;n<i;n+=1)h(e[n]);else _.isObject(e)&&Object.keys(e).forEach((function(n){var i=e[n];delete e[n];var o=(0,r.s)(n);t.test(n)||"at"===n?e[o]=f(i,o):e[o]=h(i)}));return e}function g(e){var t,n;if(moment.isMoment(e))t=e.format();else{if(_.isDate(e))throw new Error("convert: expected moment, not date ".concat(e));if(_.isArray(e)){t=[];for(var i=0,o=e.length;i<o;i+=1)t.push(g(e[i]))}else _.isObject(e)?(t={},Object.keys(e).forEach((function(i){i&&"$"!==i[0]&&(n=(0,r.C)(i),t[n]=g(e[i]))}))):t=e}return t}function v(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return null==e?void 0:e.replace(s,"$1_$2").replace(c,"$1-$2").replace(u,"$1-$2").replace(a,"_").replace(/^_|_$/g,"").replace(/-/g,"_").toLowerCase()}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return null==e?void 0:e.replace(s,"$1-$2").replace(c,"$1-$2").replace(u,"$1-$2").replace(a,"-").replace(l,"").toLowerCase()}function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return null==e?void 0:e.replace(a,"-").replace(c,"$1-$2").replace(u,"$1-$2").replace(s,"$1-$2").replace(l,"").replace(/([a-zA-Z0-9]+)([_-]|$)/g,(function(e,t){return d(t)})).replace(/^[A-Z]/,(function(e){return e.toLowerCase()}))}function T(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return null==e?void 0:e.replace(a,"-").replace(c,"$1-$2").replace(u,"$1-$2").replace(s,"$1-$2").replace(l,"").replace(/([a-zA-Z0-9]+)([-]|$)/g,(function(e,t){return d(t)}))}},94893:function(e,t,n){"use strict";n.d(t,{y:function(){return i}}),n(23792),n(26099),n(48718),n(62953);var r=n(64937),i=function(e,t,n){return r.Y.assertDefined(e,"cost: expects price argument"),r.Y.assertDefined(t,"cost: expects taxable argument"),r.Y.assertDefined(n,"cost: expects taxByType argument"),{price:e,tax:_.sum(_.values(n||{})),taxable:t,feeable:e||0,taxByType:n||{}}};i.ZERO=i(0,0,{}),i.NONE=i(null,0,{}),i.add=function(e,t){var n=(e.price||0)+(t.price||0);null===e.price&&null===t.price&&(n=null);var r=_.sumObjectValues(e.taxByType,t.taxByType);return{price:n,tax:_.sum(_.values(r)),taxable:e.taxable+t.taxable,feeable:e.feeable+t.feeable,taxByType:r}},i.sub=function(e,t){var n=(e.price||0)-(t.price||0);null===e.price&&null===t.price&&(n=null);var r=_.subtractObjectValues(e.taxByType,t.taxByType);return{price:n,tax:_.sum(_.values(r)),taxable:e.taxable-t.taxable,feeable:e.feeable-t.feeable,taxByType:r}},i.eq=function(e,t){return e.price===t.price&&e.tax===t.tax&&e.taxable===t.taxable&&e.feeable===t.feeable&&_.isEqual(e.taxByType,t.taxByType)},i.clampAtZero=function(e){var t=_.mapValues(e.taxByType,(function(e){return Math.max(0,e)}));return{price:null===e.price?null:Math.max(0,e.price),tax:_.sum(_.values(t)),taxable:Math.max(0,e.taxable),feeable:Math.max(0,e.feeable),taxByType:t}},i.mul=function(e,t){var n=_.mapObject(e.taxByType,(function(e){return _.roundHalfToEven(e*t)}));return{price:null===e.price?null:_.roundHalfToEven(e.price*t),tax:_.sum(_.values(n)),taxable:_.roundHalfToEven(e.taxable*t),feeable:_.roundHalfToEven(e.feeable*t),taxByType:n}},i.total=function(e){return(e.price||0)+_.sum(_.values(e.taxByType))}},19875:function(e,t,n){"use strict";n.d(t,{Y:function(){return s}});var r=n(82448),i=function(e){return moment.isMoment(e)?e:moment(e)},o=function(e){var t=i(e);if(!t.isValid())return console.log("isMidnight got invalid date",e),!1;var n=t.clone().startOf("day");return!t.diff(n)},a=function(e,t){var n=i(e),r=i(t);return n.isValid()&&r.isValid()?+n==+r:(console.log("isSameDateTime got invalid date",e,t),!1)},s={date:function(e){var t=(0,r.$)("dates");_.isString(e)&&(e=moment(e));for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];var a=t.options(i);return moment.isMoment(e)?t.getDate(e,a):(console.log("date: invalid moment",e,a),"")},time:function(e,t){if(!e)return null;_.isString(e)&&(e=moment(e));var n=(0,r.$)("dates"),i=n.options(t);return n.getTime(e,i)},datetime:function(e){var t=(0,r.$)("dates");_.isString(e)&&(e=moment(e));for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];var a=t.options(i);return moment.isMoment(e)?t.getDatetime(e,a):(console.log("datetime: invalid moment",e,a),"")},datetimeRange:function(e,t){for(var n=(0,r.$)("dates"),i=arguments.length,o=new Array(i>2?i-2:0),a=2;a<i;a++)o[a-2]=arguments[a];var s=n.options(o);return moment.isMoment(e)&&moment.isMoment(t)?n.getDatetimeRange(e,t,s):(console.log("datetimeRange: invalid moments",e,t,s),"")},overlapsWith:function(e,t){return function(n){return s.isOverlapping(e,n,t)}},isOverlapping:function(e,t,n){return e.startAt<t.endAt&&t.startAt<e.endAt||!!n&&t.startAt.isSame(t.endAt)&&t.startAt.isSame(e.startAt)},getMomentDate:i,isMidnight:o,isSameDateTime:a,isAllDay:function(e){if(!e||!e.startAt||!e.endAt)return console.log("isAllDay got insufficient range",e),!1;var t=i(e.startAt),n=i(e.endAt);return t.isValid()&&n.isValid()?!a(e.startAt,e.endAt)&&o(e.startAt)&&o(e.endAt):(console.log("isAllDay got invalid date",e.startAt,e.endAt),!1)}}},63025:function(e,t,n){"use strict";n.d(t,{db:function(){return Mo}}),n(28706),n(23792),n(26099),n(3362),n(27495),n(47764),n(5746),n(62953);var r=n(82448),i=n(64937),o=n(72422),a=(n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(51629),n(23418),n(64346),n(48598),n(62062),n(44114),n(34782),n(89572),n(23288),n(62010),n(2892),n(67945),n(84185),n(83851),n(81278),n(79432),n(9391),n(90906),n(38781),n(23500),n(7492)),s=n(31176),c=(n(59089),1e3),u=0,l=[],d=0,p=!1,m=function(){p=!1;var e=_.slice(l,0,20);_.forEach(e,(function(e){e()})),(l=_.slice(l,20)).length>0&&(p=!0,_.delay(m,c)),d=Date.now()},f=n(46329),h=n(17411);function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function E(e,t,n){return(t=function(e){var t=function(e){if("object"!=g(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==g(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k=window,C=k._,A=k.addEventListener,P=!1;A("beforeunload",(function(){P=!0}));var S={},O=C.debounce((function(){P||s.j.warn("<b>".concat(T("Could not reach FareHarbor."),"</b> ").concat(T("Please check your internet connection.")))}),2e3,{leading:!0,trailing:!1}),R=function(e){var t=e;void 0===t&&(t="<b>".concat(T("That didn't work."),"</b> ").concat(T("Please try again."))),t&&s.j.error(t)},I=C.debounce((function(e){s.j.error("<b>".concat(interpolate(T("Too many %(errorType)s."),{errorType:e}),"</b> ").concat(T("Please wait a few minutes and try again. If you continue to receive this message please contact"),' <a href="mailto:support@fareharbor.com" target="_blank">support@fareharbor.com</a>.'))}),2e3,{leading:!0,trailing:!1}),w=C.debounce((function(){s.j.error("<b>".concat(T("FareHarbor will be right back."),"</b> ").concat(T("Please wait a few minutes and try again.")))}),2e3,{leading:!0,trailing:!1}),D=function(e,t,n){return n?C.map(e,(function(e){return a.P.update(e)})):a.P.update(e,t)},N=function(e,t){if(C.forEach(e,(function(e){e&&e.$error&&delete e.$error.$server})),e.$successCallbacks&&C.forEach(e.$successCallbacks,(function(e){e(t)})),e.$customSuccessCallbacks){var n=(0,h.u1)(null==e?void 0:e.$$controls);e.$customSuccessCallbacks.forEach((function(e){return e(t,n)}))}},U=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e.data&&t.length&&C.forEach(t,(function(t){var n=e.data[t];n&&(e[t]=D(n,null,Array.isArray(n)))}))},F=function(e,t,n){var r=n.data[t];C.forEach(r,(function(t,n){e[n]||(e[n]={$error:{}});var r=e[n];t&&t.length?r.$error.$server=t:r.$error={}})),e.$errorCallbacks&&C.forEach(e.$errorCallbacks,(function(e){e(r)}))},L=function(e,t){var n=C.isBoolean(t)?function(e){return e?"yes":"no"}(t):t;return"".concat((0,h.VW)(e,!0),"=").concat((0,h.VW)(n,!0))},M=function(e){var t=[];return C.forEach(e,(function(e,n){Array.isArray(e)?C.forEach(e,(function(e){t.push(L(n,e))})):t.push(L(n,e))})),t.join("&")},x=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(window.slipstream&&window.slipstream[e]){var n=window.slipstream[e];return C.isObject(n)?(n=t?(0,f.Bp)(n):n,D(n,null,Array.isArray(n))):n}},B=function(e,t){return C.isFunction(t.key)?t.key(e):t.key},G=0,$=function(e){var t={},n=e.formName||"".concat(e.key,"Form");return function(g,y,E,k){var A=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},P=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},L=b(b({isDelete404Success:!0},e),A),$=L.flashError,Y=void 0===$||$,V=L.flash500Error,j=void 0===V||V,K=function(e,t,n){var r,i={};if(C.isString(e)?r=e:(C.assign(i,n.defaultParams||{},e),r=o.D.populate(n.url,i)),void 0===r)return{uri:r,allKeys:i};var a=r;return t&&(r+="?".concat(M((0,f.vh)(t)))),n.ignoreQueryParamsInCacheUri||(a=r),{uri:r,cacheUri:a}}(g,k,L),H=K.uri,W=K.cacheUri,q=K.allKeys;if(void 0===H){console.warn("db: invalid endpoint",L.url,q);var z=L.isArray?[]:{};return z.$promise=Promise.reject(),z.$promise.cancel=function(){},z}var X,Z=G+=1;if(console.log("db: endpoint",H,Z),t[H]&&!L.ignoreInFlight){var Q=t[H];if(L.tagAlong)return console.log("db: tagging along",H,Z),Q.value;"GET"===L.method&&"GET"===Q.method&&(console.log("db: already in flight, cancelling",H,Z),Q.timeout.promise.cancelled=!0,Q.timeout.resolve())}if(X=L.ignoreCache?L.isArray?[]:{}:a.P.read(W,L.isArray),L.eagerCache&&!X.$fresh)return X;var J=function(e){return e};L.key&&(J=L.isArray?function(e){if(console.log("db: success",H,Z),X.requestId!==Z)return console.log("db: out of order",H,X.requestId,Z),e;var t=B(e,L);return C.overwrite(X,D(e.data[t],null,!0)),X.$fresh=!1,e.data?(e.data[t]=X,e.primaryData=X,U(e,L.sideKeys)):e.primaryData=null,E&&N(E,X),e}:function(e){if(console.log("db: success",H,Z),X.requestId!==Z)return console.warn("db: out of order",H,X.requestId,Z),e;var t=B(e,L),n=e.data[t];return n=L.ignoreCache?D(n):D(n,W),e.data?(e.data[t]=n,e.primaryData=n,U(e,L.sideKeys)):e.primaryData=null,E&&N(E,n),e});var ee=function(e){var t;console.log("db: error",H,Z,e);var i=e.status,o={"-1":function(){return e.config.timeout&&e.config.timeout.cancelled?S:(O(),Promise.reject(e))},0:function(){return e.config.timeout&&e.config.timeout.cancelled?S:(O(),Promise.reject(e))},324:function(){return O(),Promise.reject(e)},400:function(){return E?F(E,n,e):Y&&R(e.data.errorMessage||L.errorMessage),Promise.reject(e)},403:function(){var t,n;return Y&&(t=(0,r.$)("navigation").loginRedirectUrl(!0),n='href="'.concat(t,'"'),s.j.error("<b>".concat(T("Not allowed."),"</b> ").concat(interpolate(T("Please <a %(href)s>log in</a> as a different user or request permission from your administrator."),{href:n})))),Promise.reject(e)},404:function(){return L.isDelete404Success&&"DELETE"===L.method?(console.log("db: treating 404 as success",H,Z),J(e)):Promise.reject(e)},420:function(){return I("connections"),Promise.reject(e)},429:function(){return I("requests"),Promise.reject(e)},500:function(){return j&&s.j.error("<b>".concat(T("Whoops, an internal error has occurred."),"</b> ").concat(T("FareHarbor has been notified. Please wait a few minutes and try again."))),Promise.reject(e)},503:function(){return w(),Promise.reject(e)},unknownStatus:function(){return R(e.data.errorMessage||L.errorMessage),console.error("db: unknown error",e,i),Promise.reject(e)}};return(null!==(t=o[i])&&void 0!==t?t:o.unknownStatus)()},te=function(){console.log("db: complete",H,Z),L.ignoreInFlight||(t[H]=null),E&&(E.$submitting=!1),X.requestId===Z&&(delete X.requestId,delete X.$promise)};E&&(E.$submitting=!0);var ne=(0,h.b$)(),re=x("targetLanguage");re&&(P["X-FH-Target-Language"]=re);var ie,oe,ae=(0,r.$)("$http"),se=Array.isArray(ae.defaults.transformResponse)?ae.defaults.transformResponse:[ae.defaults.transformResponse],ce={method:L.method,url:H,data:y||{},timeout:ne.promise,headers:P,transformResponse:[].concat((oe=se,function(e){if(Array.isArray(e))return v(e)}(oe)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(oe)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}(oe)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[function(e,t,n){return(0,r.$)("auth").checkSession(e,t,H,n)}])},ue=function(){return ae(ce).then(J).catch(ee).finally(te)};L.isRatelimited&&(ie=ue,ue=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(Date.now()-d>c&&(u=0),(u+=1)<=20){d=Date.now();var r=ie.apply(void 0,t);return i.Y.assert(_.isPromise(r),"expected promise"),r}return console.log("ratelimit: queuing fn:",ie),new Promise((function(e,n){l.push((function(){var r=ie.apply(void 0,t);return i.Y.assert(_.isPromise(r),"expected promise"),r.then(e,n),r})),p||(p=!0,_.delay(m,c))}))});var le=ue();return i.Y.assert(!le.success&&!le.error,"db: disallow $http promise interface"),L.ignoreInFlight||(t[H]={timeout:ne,value:X,requestId:Z,method:L.method,uri:H}),X.requestId=Z,X.$promise=le,X.$promise.timeout=ne,X.$promise.cancel=function(){if(le.timeout){if(L.tagAlong)return void console.warn("db: attempting to cancel a tag-along to request",H,Z);le.timeout.promise.cancelled=!0,le.timeout.resolve(),L.ignoreInFlight||(t[H]=null),console.log("db: cancelled",H,Z)}else console.warn("db: cancellation failed",H,Z)},X}},Y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"".concat(e,"s"),n=$({method:"GET",url:o.D.api[t],isArray:!0,key:t});return n.create=$({method:"POST",url:o.D.api[t],key:e}),n},V=function(e){var t=$({method:"GET",url:o.D.api[e],key:e});return t.update=$({method:"PUT",url:o.D.api[e],key:e}),t.remove=$({method:"DELETE",url:o.D.api[e],formName:"disableForm"}),t},j=function(e){return function(t,n,r,i,o,a){return $({method:e.method||null,url:e.url||null,key:e.key||null,formName:e.formName||null,flash500Error:e.flash500Error})(t,r,i,o,a,n)}},K=function(e,t,n){var r={};return r[t]=void 0===n?"yes":n,function(t,n,i,o,a){var s=b(b({},r),o);return e(t,n,i,s,a)}},H=function(e){return K(e,"pickable")},W=function(e){return K(e,"all")},q=$({method:"POST",url:o.D.api.login,key:"user",formName:"loginForm"}),z=$({method:"POST",url:o.D.api.loginV11,key:"user",formName:"loginForm"}),X={};X.password=$({method:"POST",url:o.D.api.forgotPassword,formName:"forgotPasswordForm"}),X.password.reset=$({method:"POST",url:o.D.api.resetPassword,formName:"resetPasswordForm"}),X.credentials=$({method:"POST",url:o.D.api.forgotCredentials,formName:"forgotCredentialsForm"});var Z=$({method:"GET",url:o.D.api.reportTest,key:"report"}),Q=$({method:"GET",url:o.D.api.companies,isArray:!0,key:"companies"});Q.pickable=H(Q),Q.jump=K(Q,"jump"),Q.full=K(Q,"full"),Q.create=$({method:"POST",url:o.D.api.companies,key:"company"}),Q.admin=$({method:"GET",url:o.D.api.company,key:"company",defaultParams:{shortname:"admin"}}),Q.report=$({method:"GET",url:o.D.api.reportCompanies,key:"report"});var J=$({method:"GET",url:o.D.api.company,key:"company"});J.update=$({method:"PUT",url:o.D.api.company,key:"company"}),J.remove=$({method:"DELETE",url:o.D.api.company,formName:"disableForm"}),J.styles={},J.styles.update=$({method:"PUT",url:o.D.api.companyStyles,key:"styles",formName:"companyStylesForm"}),J.adminNotes={},J.adminNotes.update=$({method:"PUT",url:o.D.api.companyAdminNotes,key:"adminNotes",formName:"companyAdminNotesForm"}),J.accounts=$({method:"GET",url:o.D.api.companyAccounts,isArray:!0,key:"accounts"}),J.accounts.report=$({method:"GET",url:o.D.api.reportAccounts,key:"report"}),J.nags={},J.nags.update=$({method:"PUT",url:o.D.api.companyNags,key:"companyNags",formName:"companyNagsForm"}),J.companyFeatures={},J.companyFeatures.update=$({method:"PUT",url:o.D.api.companyFeatures,key:"companyFeatures",formName:"companyFeaturesForm"}),J.refundReserve={},J.refundReserve.update=$({method:"PUT",url:o.D.api.refundReserve,key:"companyFeatures",formName:"refundReserveForm"}),J.refundReserve.report=$({method:"GET",url:o.D.api.reportRefundReserve,key:"report"}),J.itemColorsFeature={},J.itemColorsFeature.update=$({method:"PUT",url:o.D.api.companyItemColorsFeature,key:"companyItemColorsFeature",formName:"companyItemColorsFeatureForm"}),J.contactInformation={},J.contactInformation.update=$({method:"PUT",url:o.D.api.companyContactInformation,key:"contactInformation",formName:"companyContactInformationForm"}),J.processorAccount={},J.processorAccount.create=$({method:"POST",url:o.D.api.processorAccount,key:"processorAccount"}),J.tosAcceptance={},J.tosAcceptance.update=$({method:"PUT",url:o.D.api.companyTosAcceptance,key:"tosAcceptance",formName:"companyTosAcceptanceForm"}),J.processorOnboard={},J.processorOnboard.update=$({method:"PUT",url:o.D.api.processorOnboard,key:"processorOnboard",formName:"processorOnboardForm"}),J.processorCompleteAccountSetup={},J.processorCompleteAccountSetup.update=$({method:"PUT",url:o.D.api.processorCompleteAccountSetup,key:"processorCompleteAccountSetup",formName:"processorCompleteAccountSetupForm"}),J.b2bPaymentMethods=$({method:"GET",url:o.D.api.b2bPaymentMethods,key:"b2bPaymentMethods"}),J.b2bPaymentMethods.delete=$({method:"DELETE",url:o.D.api.b2bPaymentMethod}),J.b2bPaymentMethods.setupNewIntent=$({method:"POST",url:o.D.api.b2bPaymentMethodsSetupNewIntent,key:"b2bPaymentMethodsSetupNewIntent"}),J.b2bPaymentMethods.completeNewIntent=$({method:"POST",url:o.D.api.b2bPaymentMethodsSetupIntentComplete,key:"b2bPaymentMethodsCompleteNewIntent"}),J.escrowReport=$({method:"GET",url:o.D.api.reportEscrow,key:"report"}),J.profile={},J.profile.update=$({method:"PUT",url:o.D.api.companyProfile,key:"profile",formName:"companyProfileForm"}),J.payments={},J.payments.update=$({method:"PUT",url:o.D.api.companyPayments,key:"payments",formName:"companyPaymentsForm"}),J.manifestSettings={},J.manifestSettings.update=$({method:"PUT",url:o.D.api.companyManifestSettings,key:"manifestSettings",formName:"manifestSettingsForm"}),J.images=$({method:"GET",url:o.D.api.companyImages,key:"images",isArray:!0}),J.images.create=$({method:"POST",url:o.D.api.companyImages,key:"image"}),J.image={},J.image.update=$({method:"PUT",url:o.D.api.companyImage,key:"image"}),J.image.remove=$({method:"DELETE",url:o.D.api.companyImage}),J.activities={},J.activities.all=$({method:"GET",url:o.D.api.allActivities,isArray:!0,key:"activities"}),J.activities.system=$({method:"GET",url:o.D.api.systemActivities,isArray:!0,key:"activities"}),J.activities.admin=K(J.activities.system,"admin"),J.calendar=$({method:"GET",url:o.D.api.companyCalendar,key:"calendar"}),J.summaryReport={},J.summaryReport.items=$({method:"GET",url:o.D.api.reportItemsSummary,key:"report"}),J.summaryReport.users=$({method:"GET",url:o.D.api.reportUsersSummary,key:"report"}),J.summaryReport.bookingTypes=$({method:"GET",url:o.D.api.reportBookingTypesSummary,key:"report"}),J.summaryReport.customerTypes=$({method:"GET",url:o.D.api.reportCustomerTypesSummary,key:"report"}),J.summaryReport.customField=$({method:"GET",url:o.D.api.reportCustomFieldSummary,key:"report"}),J.summaryReport.lodgings=$({method:"GET",url:o.D.api.reportLodgingsSummary,key:"report"}),J.summaryReport.pickups=$({method:"GET",url:o.D.api.reportPickupsSummary,key:"report"}),J.summaryReport.crew=$({method:"GET",url:o.D.api.reportCrewSummary,key:"report"}),J.summaryReport.agents=$({method:"GET",url:o.D.api.reportAgentsSummary,key:"report"}),J.summaryReport.desks=$({method:"GET",url:o.D.api.reportDesksSummary,key:"report"}),J.summaryReport.campaigns=$({method:"GET",url:o.D.api.reportCampaignsSummary,key:"report"}),J.summaryReport.revenue=$({method:"GET",url:o.D.api.reportRevenueSummary,key:"report"}),J.advancedReport=$({method:"POST",url:o.D.api.reportAdvanced,key:"report"}),J.seatZones=$({method:"GET",isArray:!0,url:o.D.api.companySeatZones,key:"seatZones"}),J.getRecoveryPhone=$({method:"GET",url:o.D.api.companyRecoveryPhone.getPhone}),J.setRecoveryPhone=$({method:"POST",url:o.D.api.companyRecoveryPhone.setPhone});var ee=Y("group"),te=V("group");te.duplicate=$({method:"POST",url:o.D.api.duplicateGroup,key:"group",formName:"duplicateGroupForm"}),te.remove=$({method:"DELETE",url:o.D.api.group,formName:"disableForm"});var ne=Y("groupOverride");ne.related=$({method:"GET",url:o.D.api.relatedGroupOverrides,isArray:!0,key:"groupOverrides"});var re=V("groupOverride");re.activities=$({method:"GET",url:o.D.api.groupOverrideActivities,isArray:!0,key:"activities"});var ie=Y("bankAccount"),oe=V("bankAccount");oe.remove=$({method:"DELETE",url:o.D.api.bankAccount,key:"bankAccount",formName:"disableForm"}),oe.verify=$({method:"PUT",url:o.D.api.verifyBankAccount,key:"verifiedBankAccount",formName:"verifyBankAccountForm"});var ae=Y("card"),se=V("card");se.remove=$({method:"DELETE",url:o.D.api.card,key:"disableForm"});var ce=$({method:"GET",url:o.D.api.cardAffiliations,isArray:!0,key:"cardAffiliations"});ce.create=$({method:"POST",url:o.D.api.cardAffiliations,isArray:!0,key:"cardAffiliations",form:"cardAffiliationsForm"});var ue=Y("customManifest"),le=V("customManifest"),de=Y("customCalendar"),pe=V("customCalendar"),me=Y("customReport"),fe=V("customReport"),he=$({method:"GET",url:o.D.api.users,isArray:!0,key:"users"});he.pickable=H(he),he.all=$({method:"GET",url:o.D.api.allUsers,isArray:!0,key:"users"}),he.related=$({method:"GET",url:o.D.api.relatedUsers,isArray:!0,key:"users"}),he.create=$({method:"POST",url:o.D.api.users,key:"user",formName:"createUserForm"});var ge=$({method:"GET",url:o.D.api.user,key:"user"});ge.update=$({method:"PUT",url:o.D.api.user,key:"user",formName:"updateUserForm"}),ge.remove=$({method:"DELETE",url:o.D.api.user}),ge.activities=$({method:"GET",url:o.D.api.userActivities,isArray:!0,key:"activities"}),ge.subscriptions=$({method:"GET",url:o.D.api.userSubscriptions,isArray:!0,key:"subscriptions"}),ge.itemSubscriptions=$({method:"GET",url:o.D.api.userItemSubscriptions,isArray:!0,key:"subscriptions"}),ge.itemSubscriptions.update=$({method:"POST",url:o.D.api.userItemSubscriptions,isArray:!0,key:"subscriptions"}),ge.overview=$({method:"GET",url:o.D.api.userOverview,key:"overview"}),ge.nags={},ge.nags.update=$({method:"PUT",url:o.D.api.userNags,key:"userNags",formName:"userNagsForm"});var ve={};ve.checkMatch=$({method:"GET",url:o.D.api.nagShortnames,key:"isMatch"});var ye=Y("item");ye.pickable=H(ye),ye.public=K(ye,"public"),ye.all=$({method:"GET",url:o.D.api.allItems,isArray:!0,key:"items"}),ye.calendar=$({method:"GET",url:o.D.api.itemsCalendar,key:"calendar"});var be=V("item");be.pricePreviews=$({method:"GET",url:o.D.api.itemPricePreviews,key:"pricePreviews",isArray:!0}),be.color=$({method:"PUT",url:o.D.api.itemColor,key:"color",formName:"updateItemColorForm"}),be.calendar=$({method:"GET",url:o.D.api.itemCalendar,key:"calendar"}),be.duplicate=$({method:"POST",url:o.D.api.duplicateItem,key:"item"}),be.subscriptions=$({method:"GET",url:o.D.api.itemSubscriptions,isArray:!0,key:"subscriptions"}),be.images=$({method:"GET",url:o.D.api.itemImages,key:"images",isArray:!0}),be.images.create=$({method:"POST",url:o.D.api.itemImages,key:"image"}),be.image={},be.image.update=$({method:"PUT",url:o.D.api.itemImage,key:"image"}),be.image.remove=$({method:"DELETE",url:o.D.api.itemImage}),be.reviewExpressSettings={},be.reviewExpressSettings.update=$({method:"PUT",url:o.D.api.reviewExpressSettings,key:"reviewExpressSettings",form:"reviewExpressSettingsForm"}),be.picthriveSettings={},be.picthriveSettings.update=$({method:"PUT",url:o.D.api.picthriveSettings,key:"picthriveSettings",formName:"picthriveSettingsForm"}),be.ratings=$({method:"GET",url:o.D.api.itemRatings,key:"ratings"}),be.flowPages=$({method:"GET",isArray:!0,url:o.D.api.itemFlowPages,key:"flowNodes"}),be.flowPages.full=K(be.flowPages,"full"),be.futureAvailabilityCount=$({method:"GET",url:o.D.api.futureAvailabilityCount,key:"futureAvailabilityCount"}),be.isQueued=$({method:"GET",url:o.D.api.isItemQueued,key:"queuedStatus"}),be.hasFutureAvailsUsingCompanyLevelCfig=$({method:"GET",url:o.D.api.itemHasFutureAvailsUsingCompanyLevelCfig,key:"hasFutureAvails"});var Te=V("availabilitySchedule"),Ee=Y("availabilitySchedule"),_e=V("availabilityScheduleRule"),ke=Y("availabilityScheduleRule"),Ce=$({method:"POST",url:o.D.api.availabilityScheduleCreateAvailabilities,key:"availabilityScheduleCreate",flashError:!1}),Ae=$({method:"GET",url:o.D.api.availabilityScheduleCreateAvailabilities,key:"taskState"});Te.duplicate=$({method:"POST",url:o.D.api.duplicateAvailabilitySchedule,key:"availabilitySchedule",formName:"duplicateAvailabilityScheduleForm"}),_e.duplicate=$({method:"POST",url:o.D.api.duplicateAvailabilityScheduleRule,key:"availabilityScheduleRule",formName:"duplicateAvailabilityScheduleRuleForm"});var Pe={};Pe.importBookingsDryRun=$({method:"POST",url:o.D.api.importBookings,key:"bookingImporter",formName:"importBookingsForm"}),Pe.importBookings=$({method:"POST",url:o.D.api.importBookings,key:"taskId",formName:"importBookingsForm"}),Pe.importBookingsPoll=$({method:"GET",url:o.D.api.importBookings,key:"taskState"}),Pe.revertImportedBookingsDryRun=$({method:"DELETE",url:o.D.api.importBookingsRevert,key:"bookingCount",formName:"revertBookingsForm"}),Pe.revertImportedBookings=$({method:"DELETE",url:o.D.api.importBookingsRevert,key:"taskId",formName:"revertBookingsForm"}),Pe.revertImportedBookingsPoll=$({method:"GET",url:o.D.api.importBookingsRevertStatus,key:"taskState"}),Pe.revertDeletedBookingsPoll=$({method:"GET",url:o.D.api.importBookingsDeletedBookingsStatus,key:"taskState"});var Se={};Se.duplicateAvailabilities=$({method:"POST",url:o.D.api.duplicateAvailabilities,key:"taskId",formName:"availabilityDuplicationForm"}),Se.duplicateAvailabilitiesPoll=$({method:"GET",url:o.D.api.duplicateAvailabilities,key:"taskState"});var Oe=V("flowNode"),Re=function(){return(0,r.$)("flows").wrapEndpoint(Oe).apply(void 0,arguments)};Re.update=Oe.update,Re.remove=Oe.remove;var Ie=$({method:"GET",url:o.D.api.defaultFlowPage,key:"defaultFlowPage"});Re.withDescendants=K($({method:"GET",url:o.D.api.flowNode,key:"flowNode",ignoreQueryParamsInCacheUri:!0}),"descendants"),Re.duplicate=$({method:"POST",url:o.D.api.duplicateFlowNode,key:"flowNode"});var we=Y("flowNode");we.multi=$({method:"POST",url:o.D.api.flowNodes,isArray:!0,key:"flowNodes",formName:"flowNodeForm"}),we.root=K(we,"root"),we.root.create=K(we.create,"root"),we.pages=K(we,"pages");var De=Y("combo");De.comboSettings=$({method:"PUT",url:o.D.api.comboSettings,key:"item",formName:"updateItemComboHeadlineForm"}),De.bookableComboItems=$({method:"GET",url:o.D.api.bookableComboItems,isArray:!0,key:"comboItems"}),De.associatedComboItems=$({method:"GET",url:o.D.api.associatedComboItems,isArray:!0,key:"comboItems"}),De.newComboDiscounts=$({method:"GET",url:o.D.api.newComboDiscounts,isArray:!0,key:"newComboDiscounts"});var Ne=V("combo"),Ue=$({method:"GET",url:o.D.api.affiliates,isArray:!0,key:"affiliations"});Ue.all=$({method:"GET",url:o.D.api.allAffiliates,isArray:!0,key:"affiliations"}),Ue.pickable=H(Ue),Ue.asFilterOption=K(Ue,"as_filter_option"),Ue.create=$({method:"POST",url:o.D.api.affiliates,key:"affiliation",formName:"createAffiliationForm"});var Fe=$({method:"GET",url:o.D.api.affiliate,key:"affiliation"});Fe.update=$({method:"PUT",url:o.D.api.affiliate,key:"affiliation",formName:"updateAffiliationForm"}),Fe.remove=$({method:"DELETE",url:o.D.api.affiliate,formName:"disableForm"});var Le=$({method:"GET",url:o.D.api.affiliateRules,isArray:!0,key:"affiliateRestriction"});Le.all=$({method:"GET",url:o.D.api.affiliateRules,isArray:!0,key:"affiliateRestrictions"}),Le.create=$({method:"POST",url:o.D.api.affiliateRules,key:"affiliation",formName:"createAffiliateRestrictionForm"});var Me=$({method:"GET",url:o.D.api.affiliateRule});Me.get=$({method:"GET",url:o.D.api.affiliateRule}),Me.update=$({method:"PATCH",url:o.D.api.affiliateRule}),Me.delete=$({method:"DELETE",url:o.D.api.affiliateRule});var xe=$({method:"GET",url:o.D.api.affiliateCards,key:"cards",isArray:!0,flashError:!1}),Be=$({method:"GET",url:o.D.api.affiliateCardAffiliations,key:"cardAffiliations",isArray:!0,flashError:!1}),Ge=$({method:"GET",url:o.D.api.partners,isArray:!0,key:"affiliations"});Ge.all=W(Ge),Ge.pickable=H(Ge),Ge.minimal=K(Ge,"minimal");var $e=$({method:"GET",url:o.D.api.partner,key:"partner"});$e.remove=$({method:"DELETE",url:o.D.api.partner,formName:"disableForm"});var Ye=$({method:"GET",url:o.D.api.partnerCards,key:"cards",isArray:!0,flashError:!1}),Ve=$({method:"GET",url:o.D.api.partnerCardAffiliations,key:"cardAffiliations",isArray:!0,flashError:!1}),je=Y("agent");je.all=$({method:"GET",url:o.D.api.allAgents,isArray:!0,key:"agents"});var Ke=V("agent"),He=Y("desk");He.all=$({method:"GET",url:o.D.api.allDesks,isArray:!0,key:"desks"});var We=V("desk"),qe=Y("hotel"),ze=V("hotel"),Xe=Y("lodging");Xe.duplicate=$({method:"POST",url:o.D.api.duplicateLodgingsAcrossCompanies,formName:"duplicateLodgingsAcrossCompaniesForm",key:"lodgings",isArray:!0});var Ze=V("lodging"),Qe=Y("preferredPickup"),Je=V("preferredPickup"),et=Y("pickup");et.duplicate=$({method:"POST",url:o.D.api.duplicatePickupsAcrossCompanies,formName:"duplicatePickupsAcrossCompaniesForm",key:"pickups",isArray:!0});var tt=V("pickup"),nt=Y("route");nt.pickable=H(nt),nt.duplicate=$({method:"POST",url:o.D.api.duplicateRoutesAcrossCompanies,formName:"duplicateRoutesAcrossCompaniesForm",key:"routes",isArray:!0});var rt=$({method:"GET",url:o.D.api.route,key:"route",ignoreQueryParamsInCacheUri:!0});rt.update=$({method:"PUT",url:o.D.api.route,key:"route"}),rt.remove=$({method:"DELETE",url:o.D.api.route,formName:"disableForm"}),rt.items=$({method:"GET",url:o.D.api.routeItems,isArray:!0,key:"items"}),rt.duplicate=$({method:"POST",url:o.D.api.duplicateRoute,key:"route",formName:"duplicateRouteForm"});var it=Y("stop"),ot=V("stop"),at={};at.searchByDate=$({method:"GET",url:o.D.api.searchRunsByDate,isArray:!0,key:"runs"}),at.manifest=$({method:"GET",url:o.D.api.runsManifest,isArray:!0,key:"runs"});var st=$({method:"GET",url:o.D.api.campaigns,isArray:!0,key:"campaigns"});st.create=$({method:"POST",url:o.D.api.campaigns,key:"campaign"});var ct=$({method:"GET",url:o.D.api.campaign,key:"campaign"});ct.update=$({method:"PUT",url:o.D.api.campaign,key:"campaign"}),ct.remove=$({method:"DELETE",url:o.D.api.campaign,formName:"disableForm"}),ct.customFields=$({method:"GET",url:o.D.api.campaignCustomFields,isArray:!0,key:"customFields"}),st.includeArchived=K(st,"include-archived");var ut=$({method:"GET",url:o.D.api.campaignValidityRules,isArray:!0,key:"campaignValidityRules"});ut.create=$({method:"POST",url:o.D.api.campaignValidityRules,key:"campaignValidityRule",formName:"createCampaignValidityRuleForm"});var lt=$({method:"GET",url:o.D.api.campaignValidityRule,key:"campaignValidityRule"});lt.remove=$({method:"DELETE",url:o.D.api.campaignValidityRule,formName:"disableForm"});var dt=$({method:"GET",url:o.D.api.codes,isArray:!0,key:"codes"});dt.create=$({method:"POST",url:o.D.api.codes,key:"codes",isArray:!0,formName:"createCodesForm"}),dt.byTag={},dt.byTag.clear=$({method:"DELETE",url:o.D.api.codesByTag});var pt=$({method:"GET",url:o.D.api.code,key:"code"});pt.update=$({method:"PUT",url:o.D.api.code,key:"code",formName:"updateCodeForm"}),pt.remove=$({method:"DELETE",url:o.D.api.code});var mt=Y("membership");mt.withCounts=K($({method:"GET",url:o.D.api.memberships,key:"memberships",isArray:!0,ignoreQueryParamsInCacheUri:!0}),"withCounts");var ft=V("membership");ft.withCounts=K($({method:"GET",url:o.D.api.membership,key:"membership",ignoreQueryParamsInCacheUri:!0}),"withCounts"),ft.duplicate=$({method:"POST",url:o.D.api.duplicateMembership,key:"membership"});var ht=V("membershipRange");ht.renew=$({method:"POST",url:o.D.api.membershipRangeRenew,key:"renewUrl"});var gt=Y("member");gt.create=$({method:"POST",url:o.D.api.members,key:"result",formName:"importMembersForm"});var vt=V("member");vt.remove=$({method:"DELETE",url:o.D.api.member,key:"member"}),vt.byCode=$({method:"GET",url:o.D.api.memberByCode,key:"member",sideKeys:["benefitRates","membershipRanges"]});var yt=Y("benefit"),bt=V("benefit");bt.blackOutRules=$({method:"POST",url:o.D.api.benefitBlackOutRules,key:"benefitBlackOutRule",formName:"createBenefitBlackOutRuleForm"}),bt.blackOutRule=$({method:"DELETE",url:o.D.api.benefitBlackOutRule,formName:"disableForm"});var Tt=$({method:"GET",url:o.D.api.membershipsCustomerTypes,isArray:!0,key:"memberships"}),Et=Y("storedValueType"),_t=V("storedValueType"),kt=Y("storedValueCardDesignTemplate");kt.includeArchived=K(kt,"include-archived");var Ct=V("storedValueCardDesignTemplate"),At=$({method:"GET",url:o.D.api.storedValueCards,isArray:!0,key:"storedValueCards"});At.create=$({method:"POST",url:o.D.api.storedValueCards,key:"storedValueCards",isArray:!0,formName:"createStoredValueCardsForm"}),At.issue=$({method:"POST",url:o.D.api.issueStoredValueCard,key:"storedValueCard",formName:"issueStoredValueCardForm"}),At.search=$({method:"GET",url:o.D.api.searchStoredValueCardsByNumber,key:"searchResult"});var Pt=V("storedValueCard");Pt.payments=$({method:"GET",url:o.D.api.storedValueCardPayments,isArray:!0,key:"payments"}),Pt.notifications={},Pt.notifications.create=$({method:"POST",url:o.D.api.storedValueCardNotifications,isArray:!0,key:"notifications",formName:"storedValueCardNotificationForm"});var St=Y("storedValueAdjustment"),Ot=V("storedValueAdjustment");delete Ot.update,delete Ot.remove;var Rt=Y("document"),It=$({method:"GET",url:o.D.api.paymentProcessingDocument,isArray:!0,key:"pk"}),wt=V("proposal");wt.byBookingUuid=$({method:"GET",url:o.D.api.proposalByBookingUuid,key:"proposal"}),wt.updateByBookingUuid=$({method:"PUT",url:o.D.api.proposalByBookingUuid,key:"proposal"}),wt.toggleStatus=$({method:"PUT",url:o.D.api.toggleProposalStatus,key:"proposal",sideKeys:["createdResourceUses","unsatisfiableResources"]});var Dt=V("paymentSchedule"),Nt=Y("paymentSchedule"),Ut=V("contract"),Ft=Y("contract"),Lt=Y("resellerCompany","resellerCompanies"),Mt=V("resellerCompany"),xt=Y("resellerCompanyMapping"),Bt=V("resellerCompanyMapping"),Gt=Y("resellerItem"),$t=V("resellerItem");$t.duplicate=$({method:"POST",url:o.D.api.duplicateResellerItem,key:"resellerItem",formName:"duplicateResellerItemForm"});var Yt=Y("resellerItemMapping"),Vt=V("resellerItemMapping"),jt=Y("resellerCustomerType"),Kt=V("resellerCustomerType"),Ht=Y("resellerCustomerTypeMapping"),Wt=V("resellerCustomerTypeMapping"),qt=Y("resellerOption"),zt=V("resellerOption"),Xt=Y("resellerOptionMapping"),Zt=V("resellerOptionMapping"),Qt=$({method:"GET",url:o.D.api.resellerUnmappedItems,isArray:!0,key:"items"}),Jt=$({method:"GET",url:o.D.api.resellerUnmappedCustomerPrototypes,isArray:!0,key:"customerPrototypes"}),en=Y("resellerKey"),tn=V("resellerKey"),nn=Y("resellerApp"),rn=V("resellerApp"),on=Y("resellerAppRequest"),an=V("resellerAppRequest");on.refresh=K(on,"refresh");var sn=Y("resellerAppCompany","resellerAppCompanies"),cn=V("resellerAppCompany"),un=Y("webhook"),ln=V("webhook");ln.update=$({method:"PUT",url:o.D.api.webhook,key:"webhook"}),ln.delete=$({method:"DELETE",url:o.D.api.webhook,key:"webhook"});var dn=$({method:"GET",url:o.D.api.webhookSchema,key:"customSchema"}),pn=Y("customSchema"),mn=Y("customSchemaField"),fn=$({method:"GET",url:o.D.api.customFields,isArray:!0,key:"customFields"});fn.includeArchived=K(fn,"include-archived"),fn.all=$({method:"GET",url:o.D.api.allCustomFields,isArray:!0,key:"customFields"}),fn.create=$({method:"POST",url:o.D.api.customFields,key:"customField",formName:"createCustomFieldForm"});var hn=$({method:"GET",url:o.D.api.customField,key:"customField"});hn.items=$({method:"GET",url:o.D.api.customFieldItems,key:"items",isArray:!0}),hn.companyCustomFieldInstanceGroups=$({method:"GET",url:o.D.api.customFieldCompanyCustomFieldGroups,key:"customFieldInstanceGroups",isArray:!0}),hn.duplicate=$({method:"POST",url:o.D.api.duplicateCustomField,key:"customField",formName:"duplicateCustomFieldForm"}),hn.prevalidate=$({method:"POST",url:o.D.api.prevalidateCustomField,key:"prevalidity",formName:"prevalidateCustomFieldForm",flashError:!1}),hn.update=$({method:"PUT",url:o.D.api.customField,key:"customField",formName:"updateCustomFieldForm"}),hn.remove=$({method:"DELETE",url:o.D.api.customField,formName:"disableForm"});var gn={};gn.create=$({method:"POST",url:o.D.api.transportationOptions,key:"transportationOption"});var vn={};vn.update=$({method:"PUT",url:o.D.api.transportationOption,key:"transportationOption"}),vn.remove=$({method:"DELETE",url:o.D.api.transportationOption});var yn={};yn.create=$({method:"POST",url:o.D.api.extendedOptions,key:"extendedOption",formName:"createExtendedOptionForm"});var bn={};bn.update=$({method:"PUT",url:o.D.api.extendedOption,key:"extendedOption",formName:"updateExtendedOptionForm"}),bn.remove=$({method:"DELETE",url:o.D.api.extendedOption,key:"extendedOption",formName:"disableForm"});var Tn={};Tn.create=$({method:"POST",url:o.D.api.connectedCampaigns,key:"connectedCampaign",formName:"createConnectedCampaignForm"});var En={};En.remove=$({method:"DELETE",url:o.D.api.connectedCampaign});var _n={};_n.create=$({method:"POST",url:o.D.api.generatingCampaigns,key:"generatingCampaign",formName:"generatingCampaignForm"});var kn={};kn.update=$({method:"PUT",url:o.D.api.generatingCampaign,key:"generatingCampaign",formName:"generatingCampaignForm"}),kn.remove=$({method:"DELETE",url:o.D.api.generatingCampaign});var Cn=$({method:"GET",url:o.D.api.itemCustomFieldInstanceGroups,isArray:!0,key:"customFieldInstanceGroups"});Cn.includeArchived=K(Cn,"include-archived"),Cn.create=$({method:"POST",url:o.D.api.itemCustomFieldInstanceGroups,key:"customFieldInstanceGroup"});var An=$({method:"GET",url:o.D.api.companyCustomFieldInstanceGroups,isArray:!0,key:"customFieldInstanceGroups"});An.includeArchived=K(An,"include-archived"),An.create=$({method:"POST",url:o.D.api.companyCustomFieldInstanceGroups,key:"customFieldInstanceGroup"});var Pn=V("customFieldInstanceGroup");Pn.multi=$({method:"POST",url:o.D.api.customFieldInstanceGroupsMulti,isArray:!0,key:"customFieldInstanceGroups",formName:"customFieldInstanceGroupsForm"}),Pn.remove=$({method:"DELETE",url:o.D.api.customFieldInstanceGroup,key:"customFieldInstanceGroup",formName:"disableForm"}),Pn.duplicate=$({method:"POST",url:o.D.api.duplicateCustomFieldInstanceGroup,key:"customFieldInstanceGroup",formName:"duplicateForm"}),Pn.items=$({method:"GET",url:o.D.api.customFieldInstanceGroupItems,isArray:!0,key:"items"});var Sn=V("customFieldInstance"),On=Y("customFieldInstance");On.multi=$({method:"POST",url:o.D.api.customFieldInstancesMulti,isArray:!0,key:"customFieldInstances",formName:"customFieldInstancesForm"}),On.forPushedCustomFieldValues=$({method:"GET",url:o.D.api.customFieldInstancesForPushedCustomFieldValues,key:"customFieldInstances",isArray:!0});var Rn=V("customFieldInstanceCondition"),In=Y("customFieldInstanceCondition"),wn=V("supportedLanguage"),Dn=Y("supportedLanguage"),Nn=$({method:"GET",url:o.D.api.translations,key:"translations"}),Un=$({method:"GET",url:o.D.api.translationsForModel,key:"translationsForModel",isArray:!0});Un.includeArchived=K(Un,"include-archived");var Fn=$({method:"GET",url:o.D.api.translationsForField,key:"translationsAndSourceField"});Fn.update=$({method:"POST",url:o.D.api.translationsForField,key:"updatedTranslations",formName:"translationsForFieldForm",isArray:!0});var Ln=$({method:"GET",url:o.D.api.understoodLanguages,key:"understoodLanguages"}),Mn=$({method:"GET",url:o.D.api.translationsForSubfield,key:"translationsAndSourceField"});Mn.update=$({method:"POST",url:o.D.api.translationsForSubfield,key:"updatedTranslations",formName:"translationsForFieldForm",isArray:!0});var xn=$({method:"GET",url:o.D.api.roles,isArray:!0,key:"roles"});xn.create=$({method:"POST",url:o.D.api.roles,key:"role"});var Bn=$({method:"GET",url:o.D.api.role,key:"role"});Bn.update=$({method:"PUT",url:o.D.api.role,key:"role"}),Bn.remove=$({method:"DELETE",url:o.D.api.role});var Gn=$({method:"GET",url:o.D.api.crewMembers,isArray:!0,key:"crewMembers"});Gn.create=$({method:"POST",url:o.D.api.crewMembers,key:"crewMember"});var $n=$({method:"GET",url:o.D.api.crewMember,key:"crewMember"});$n.update=$({method:"PUT",url:o.D.api.crewMember,key:"crewMember"}),$n.remove=$({method:"DELETE",url:o.D.api.crewMember,key:"crewMember"});var Yn=V("customerType");Yn.items=$({method:"GET",url:o.D.api.customerTypeItems,key:"items",isArray:!0});var Vn=Y("customerType");Vn.includeArchived=K(Vn,"include-archived"),Vn.all=$({method:"GET",url:o.D.api.allCustomerTypes,isArray:!0,key:"customerTypes"});var jn=V("customerPrototype");jn.duplicate=$({method:"POST",url:o.D.api.duplicateCustomerPrototype,key:"customerPrototype",formName:"duplicateForm"});var Kn=Y("customerPrototype");Kn.includeArchived=K(Kn,"include-archived"),Kn.all=$({method:"GET",url:o.D.api.allCustomerPrototypes,isArray:!0,key:"customerPrototypes"}),Kn.multi=$({method:"POST",url:o.D.api.customerPrototypesMulti,isArray:!0,key:"customerPrototypes",formName:"customerPrototypesForm"});var Hn=$({method:"POST",url:o.D.api.lockPrices,key:"lockedPricesStats"}),Wn=V("checkinStatus"),qn=Y("checkinStatus","checkinStatuses");Wn.updateBookings=$({method:"PUT",url:o.D.api.checkinStatusForBookings,key:"bookings",isArray:!0,formName:"updateCheckinStatusForBookingsForm"});var zn=Y("cannedMessage"),Xn=V("cannedMessage");Xn.items=$({method:"GET",url:o.D.api.cannedMessageItems,key:"items",isArray:!0}),Xn.availabilityHeadlines=$({method:"GET",url:o.D.api.cannedMessageAvailabilityHeadlines,key:"availabilityHeadlines",isArray:!0});var Zn=Y("availabilityHeadline"),Qn=V("availabilityHeadline");Qn.items=$({method:"GET",url:o.D.api.availabilityHeadlineItems,key:"items",isArray:!0});var Jn={};Jn.next=$({method:"GET",url:o.D.api.nextAvailability,key:"availability"}),Jn.update=$({method:"POST",url:o.D.api.updateAvailabilities,formName:"updateAvailabilitiesForm",key:"updateAvailabilities"}),Jn.updateByItem=$({method:"POST",url:o.D.api.updateItemAvailabilities,formName:"updateAvailabilitiesForm",key:"updateAvailabilities"}),Jn.byDate=$({method:"GET",url:o.D.api.availabilitiesByDate,isArray:!0,key:"availabilities"}),Jn.byTag={},Jn.byTag.clear=$({method:"DELETE",url:o.D.api.availabilitiesByTag,formName:"disableForm"}),Jn.byTag.taskStatus=$({method:"GET",url:o.D.api.availabilitiesByTagTaskStatus,key:"taskState"}),Jn.futureCount=$({method:"GET",url:o.D.api.futureAvailabilityCount,key:"futureAvailabilityCount"}),Jn.searchByDate=$({method:"GET",url:o.D.api.searchAvailabilitiesByDate,isArray:!0,key:"availabilities",sideKeys:["nextBookableStartAt"]}),Jn.searchAllByDate=$({method:"GET",url:o.D.api.searchAllAvailabilitiesByDate,isArray:!0,key:"availabilities",sideKeys:["nextBookableStartAt"]}),Jn.searchByPk=$({method:"GET",url:o.D.api.searchAvailabilitiesByPk,isArray:!0,key:"availabilities"}),Jn.manifest=$({method:"GET",url:o.D.api.availabilitiesManifest,isArray:!0,key:"availabilities",sideKeys:["bookings","bookingCounts","crewMembers","sonarAvailabilities"]}),Jn.manifestSelectable=$({method:"GET",url:o.D.api.manifestSelectableAvailabilities,isArray:!0,key:"availabilities"}),Jn.searchByUpcoming=$({method:"GET",url:o.D.api.searchAvailabilitiesByUpcoming,isArray:!0,key:"availabilities"}),Jn.rule=$({method:"POST",url:o.D.api.rule,key:"createdAvailabilities",formName:"ruleForm"}),Jn.ruleTaskStatus=$({method:"GET",url:o.D.api.ruleTaskStatus,key:"taskStatus"}),Jn.updateAvailsTaskStatus=$({method:"POST",url:o.D.api.updateAvailabilitiesTaskStatus,key:"taskStatus"}),Jn.withResourceRequirements=$({method:"GET",url:o.D.api.availabilitiesWithResourceRequirements,key:"availabilities",isArray:!0});var er=$({method:"GET",url:o.D.api.availability,key:"availability"});er.update=$({method:"PUT",url:o.D.api.availability,key:"availability",formName:"updateAvailabilityForm"}),er.status={},er.status.update=$({method:"PUT",url:o.D.api.availabilityStatus,key:"availabilityStatus",formName:"updateAvailabilityStatusForm"}),er.book=j({method:"POST",url:o.D.api.book,key:"booking",formName:"bookForm"}),er.liveCapacity=$({method:"GET",url:o.D.api.availabilityLiveCapacity,key:"liveCapacity",formName:"liveCapacityForm"}),er.resourceUses=$({method:"GET",url:o.D.api.availabilityResourceUses,key:"resourceUses",isArray:!0}),er.remove=$({method:"DELETE",url:o.D.api.availability,formName:"disableForm"}),er.notifications=$({method:"POST",url:o.D.api.notifications,formName:"notificationsForm"}),er.notificationOptions={},er.notificationOptions.update=$({method:"PUT",url:o.D.api.availabilityNotificationOptions,key:"notificationOptions",formName:"updateAvailabilityNotificationOptionsForm"}),er.note={},er.note=$({method:"PUT",url:o.D.api.availabilityNote,key:"note",formName:"updateAvailabilityNoteForm"}),er.smsNotifications={},er.smsNotifications.create=$({method:"POST",url:o.D.api.smsNotifications,formName:"smsNotificationsForm"}),er.checkinStatuses=$({method:"GET",url:o.D.api.availabilityCheckinStatuses,isArray:!0,key:"bookings"}),er.seatRequirements=$({method:"GET",url:o.D.api.seatRequirements,isArray:!0,key:"requirements"});var tr={};tr.create=$({method:"POST",url:o.D.api.customerTypeRates,key:"customerTypeRate"});var nr={};nr.remove=$({method:"DELETE",url:o.D.api.customerTypeRate,formName:"disableForm"}),nr.update=$({method:"PUT",url:o.D.api.customerTypeRate,key:"customerTypeRate"});var rr=Y("block"),ir=V("block"),or={};or.availability=$({method:"GET",url:o.D.api.subjectsAvailability,key:"subjects"}),or.booking=$({method:"GET",url:o.D.api.subjectsBooking,key:"subjects"}),or.order=$({method:"GET",url:o.D.api.subjectsOrder,key:"subjects"});var ar=V("contact");ar.bookings={},ar.bookings.update=$({method:"PUT",url:o.D.api.contactBookings,key:"modified"});var sr={};sr.report=$({method:"GET",url:o.D.api.reportContacts,key:"report"});var cr=$({method:"GET",url:o.D.api.contactPayments,isArray:!0,key:"payments"}),ur=$({method:"GET",url:o.D.api.order,key:"order",sideKeys:["customersWithSeatAssignments","member"]}),lr=$({method:"GET",url:o.D.api.order,key:"order",ignoreQueryParamsInCacheUri:!0});ur.wait=K(lr,"wait"),ur.notification=$({method:"POST",url:o.D.api.orderNotification,formName:"orderNotificationForm"}),ur.cancel=$({method:"POST",url:o.D.api.orderCancellation,key:"order",formName:"cancelOrderBookingsForm"}),ur.customersWithSeatAssignments=$({method:"GET",url:o.D.api.orderCustomersWithSeatAssignments,key:"customersWithSeatAssignments"});var dr={};dr.create=j({method:"POST",url:o.D.api.orders,key:"order",formName:"orderForm"});var pr=$({method:"GET",url:o.D.api.orderPayments,isArray:!0,key:"payments"});pr.create=$({method:"POST",url:o.D.api.orderPayments,key:"payments"}),pr.refund=$({method:"POST",url:o.D.api.orderRefunds,isArray:!0,key:"payments"});var mr=$({method:"GET",url:o.D.api.bookings,isArray:!0,key:"bookings"});mr.byContact=$({method:"GET",url:o.D.api.bookingsByContact,isArray:!0,key:"bookings"}),mr.searchByQuery=$({method:"GET",url:o.D.api.searchBookingsByQuery,isArray:!0,key:"bookings"}),mr.searchByNew=$({method:"GET",url:o.D.api.searchBookingsByNew,isArray:!0,key:"bookings"}),mr.report=$({method:"GET",url:o.D.api.reportBookings,key:"report"}),mr.invoiceableReport=$({method:"GET",url:o.D.api.reportInvoiceableBookings,key:"report"}),mr.manifest=$({method:"GET",url:o.D.api.bookingsManifest,isArray:!0,key:"bookings"}),mr.fhWaiverSignatures=$({method:"POST",url:o.D.api.bookingsFhWaiverSignatures,key:"bookings",flashError:!1}),mr.receipts=$({method:"GET",url:o.D.api.receiptBookings,isArray:!0,key:"bookings"}),mr.searchByUuid=K($({method:"GET",url:o.D.api.searchBookingsByUuid,isArray:!0,key:"bookings"}),"includeResources");var fr=$({method:"GET",url:o.D.api.booking,key:"booking",sideKeys:["customersWithSeatAssignments","member","customerTypeWithAttributes","customersMetaInfo"]}),hr=$({method:"GET",url:o.D.api.recentBooking,key:"recentBooking"});fr.customersWithSeatAssignments=$({method:"GET",url:o.D.api.bookingCustomersWithSeatAssignments,key:"customersWithSeatAssignments"}),fr.withScheduleEntryRules=K($({method:"GET",url:o.D.api.booking,key:"booking",ignoreQueryParamsInCacheUri:!0}),"withScheduleEntryRules");var gr=$({method:"GET",url:o.D.api.booking,key:"booking",ignoreQueryParamsInCacheUri:!0});fr.wait=K(gr,"wait"),fr.byPk=$({method:"GET",url:o.D.api.bookingByPk,key:"booking",ignoreCache:!0}),fr.reprice=$({method:"PUT",url:o.D.api.repriceBooking,key:"repricing",formName:"repriceBookingForm"}),fr.notification=$({method:"POST",url:o.D.api.notification,formName:"notificationForm"}),fr.smsNotification=$({method:"POST",url:o.D.api.smsNotification,formName:"smsNotificationForm"}),fr.cancel=$({method:"DELETE",url:o.D.api.booking,key:"booking",formName:"cancelBookingForm",sideKeys:["member"]}),fr.note={},fr.note.update=$({method:"PUT",url:o.D.api.bookingNote,key:"note",formName:"updateBookingNoteForm"}),fr.explicitGross={},fr.explicitGross.update=$({method:"PUT",url:o.D.api.bookingExplicitGross,key:"explicitGross",formName:"updateBookingExplicitGrossForm"}),fr.explicitInvoicePrice={},fr.explicitInvoicePrice.update=$({method:"PUT",url:o.D.api.bookingExplicitInvoicePrice,key:"explicitInvoicePrice",formName:"updateBookingExplicitInvoicePriceForm"}),fr.notificationOptions={},fr.notificationOptions.update=$({method:"PUT",url:o.D.api.bookingNotificationOptions,key:"notificationOptions",formName:"updateBookingNotificationOptionsForm"}),fr.affiliation={},fr.affiliation.update=$({method:"PUT",url:o.D.api.affiliation,key:"affiliation"}),fr.checkinStatus={},fr.checkinStatus.update=$({method:"PUT",url:o.D.api.bookingCheckinStatus,key:"bookingCheckinStatus",formName:"updateBookingCheckinStatusForm"}),fr.effectiveCancellationRule=$({method:"GET",url:o.D.api.bookingEffectiveCancellationRule,key:"cancellationRule"});var vr={checkinStatus:{}};vr.checkinStatus.update=$({method:"PUT",url:o.D.api.customerCheckinStatus,key:"customerCheckinStatus",formName:"updateCustomerCheckinStatusForm"});var yr={};yr.find=$({method:"GET",url:o.D.api.searchCustomersByEncodedPk,key:"booking"}),yr.withSeats=$({method:"GET",url:o.D.api.customersWithSeats,isArray:!0,key:"customers"});var br={};br.update=$({method:"PUT",url:o.D.api.bookingCustomFieldValue,key:"customFieldValue"}),br.remove=$({method:"DELETE",url:o.D.api.bookingCustomFieldValue});var Tr={};Tr.update=$({method:"PUT",url:o.D.api.customerCustomFieldValue,key:"customFieldValue"}),Tr.remove=$({method:"DELETE",url:o.D.api.customerCustomFieldValue});var Er=$({method:"POST",url:o.D.api.pushCustomFieldValues,key:"customFieldValues",isArray:!0,sideKeys:["booking"],formName:"pushCustomFieldValuesForm"}),_r=Y("report");_r.recent=$({method:"GET",url:o.D.api.recentReports,key:"reports",isArray:!0}),_r.inProgress=$({method:"GET",url:o.D.api.inProgressReports,key:"reports",isArray:!0}),_r.volumeOverview=$({method:"GET",url:o.D.api.volumeOverviewReport,key:"volume"}),_r.dailyVolumeOverview=$({method:"GET",url:o.D.api.dailyVolumeOverviewReport,key:"dailyVolume"}),_r.yearlyBookingOverview=$({method:"GET",url:o.D.api.yearlyBookingOverviewReport,key:"yearlyBookings"}),_r.paymentOverview=$({method:"GET",url:o.D.api.paymentOverviewReport,key:"paymentOverview"}),_r.itemsSummaryOverview=$({method:"GET",url:o.D.api.itemsSummaryOverviewReport,key:"itemsSummary"}),_r.nextPayoutOverview=$({method:"GET",url:o.D.api.nextPayoutOverviewReport,key:"nextPayouts",isArray:!0}),_r.report=$({method:"GET",url:o.D.api.reportReports,key:"report"});var kr=V("report");kr.rerun=kr.update,delete kr.update,kr.cancel=$({method:"DELETE",url:o.D.api.report,formName:"disableForm",key:"report"}),delete kr.remove,kr.objects=$({method:"POST",url:o.D.api.reportObjects,key:"objects",isArray:!1});var Cr={};Cr.create=$({method:"POST",url:o.D.api.invoices,key:"invoice"}),Cr.report=$({method:"GET",url:o.D.api.reportInvoices,key:"report"}),Cr.partnerInvoice=$({method:"GET",url:o.D.api.partnerInvoice,key:"invoice"});var Ar=V("invoice");Ar.uploads=$({method:"GET",url:o.D.api.invoiceUploads,isArray:!0,key:"uploads"}),Ar.uploads.create=$({method:"POST",url:o.D.api.invoiceUploads,key:"upload"}),Ar.notifications={},Ar.notifications.create=$({method:"POST",url:o.D.api.invoiceNotifications,isArray:!0,key:"notifications",formName:"invoiceNotificationForm"}),Ar.uuid=$({method:"GET",url:o.D.api.uuidInvoice,key:"invoice"});var Pr={};Pr.create=$({method:"POST",url:o.D.api.bulkInvoices});var Sr={};Sr.create=$({method:"POST",url:o.D.api.fhdn.invoices.generateInvoicingData}),Sr.upload=$({method:"POST",url:o.D.api.fhdn.invoices.uploadInvoicingData}),Sr.getInvoiceGenerationJobResult=$({method:"GET",url:o.D.api.fhdn.invoices.getInvoiceGenerationJobResult}),Sr.status=$({method:"GET",url:o.D.api.fhdn.invoices.invoicingDataJobStatus}),Sr.activities=$({method:"GET",url:o.D.api.fhdn.invoices.activities,isArray:!0,key:"activities"}),Sr.invoices=$({method:"GET",url:o.D.api.fhdn.invoices.invoices,key:"invoices"});var Or={};Or.verifyOtp=$({method:"POST",url:o.D.api.otp.verifyOtp}),Or.getUserMfaStatus=$({method:"GET",url:o.D.api.otp.getUserMfaStatus}),Or.removeOtpPhoneNumber=$({method:"POST",url:o.D.api.otp.removeOtpPhoneNumber}),Or.registerOtpPhone=$({method:"POST",url:o.D.api.otp.registerOtpPhone});var Rr={};Rr.create=$({method:"POST",url:o.D.api.lineItems,key:"lineItem"}),Rr.report=$({method:"GET",url:o.D.api.reportLineItems,key:"report"});var Ir=$({method:"GET",url:o.D.api.lineItem,key:"lineItem"});Ir.remove=$({method:"DELETE",url:o.D.api.lineItem}),Ir.update=$({method:"PUT",url:o.D.api.lineItem,key:"lineItem"});var wr=Y("tagGroup"),Dr=V("tagGroup"),Nr={};Nr.create=$({method:"POST",url:o.D.api.tags,key:"tag"});var Ur={};Ur.update=$({method:"PUT",url:o.D.api.tag,key:"tag"}),Ur.remove=$({method:"DELETE",url:o.D.api.tag,formName:"disableForm"});var Fr=$({method:"GET",url:o.D.api.objectTags,key:"objectTags",isArray:!0});Fr.update=$({method:"PUT",url:o.D.api.objectTags,key:"objectTags",isArray:!0});var Lr=$({method:"GET",url:o.D.api.payments,isArray:!0,key:"payments"});Lr.related=$({method:"GET",url:o.D.api.relatedPayments,isArray:!0,key:"payments"}),Lr.create=$({method:"POST",url:o.D.api.payments,key:"payment"}),Lr.refund=$({method:"POST",url:o.D.api.refunds,isArray:!0,key:"payments"}),Lr.report=$({method:"GET",url:o.D.api.reportPayments,key:"report"}),Lr.volumeReport=$({method:"GET",url:o.D.api.reportVolume,key:"report"});var Mr={};Mr.create=$({method:"POST",url:o.D.api.installmentPayment,key:"installmentPayment"});var xr={};xr.create=$({method:"POST",url:o.D.api.orderInstallmentPayment,key:"orderInstallmentPayment"});var Br=$({method:"GET",url:o.D.api.authorizationHolds,isArray:!0,key:"authorizationHolds"});Br.update=$({method:"PUT",url:o.D.api.authorizationHolds,isArray:!0,key:"authorizationHolds"});var Gr=$({method:"GET",url:o.D.api.paymentFees,isArray:!0,key:"payments"});Gr.update=$({method:"POST",url:o.D.api.paymentFees,key:"payments"});var $r=Y("inStorePaymentType"),Yr=$({method:"POST",url:o.D.api.emvLocation,key:"emvLocation",formName:"emv_location_form"});$r.all=$({method:"GET",url:o.D.api.allInStorePaymentTypes,isArray:!0,key:"inStorePaymentTypes"});var Vr=Y("ledger");Vr.all=$({method:"GET",url:o.D.api.allLedgers,isArray:!0,key:"ledgers"});var jr=V("ledger"),Kr=V("inStorePaymentType"),Hr=Y("emvDevice"),Wr=V("emvDevice");Wr.authenticate=$({method:"POST",url:o.D.api.retrieveConnectionToken,key:"activation",formName:"retrieve_connection_token_form",flashError:!1,ignoreCache:!0,ignoreInFlight:!0}),Wr.createInteractionToken=$({method:"POST",url:o.D.api.createInteractionToken,key:"tokenId",formName:"emv_device_create_payment_intent_form",flashError:!1}),Wr.checkConnections=$({method:"GET",url:o.D.api.checkEmvDeviceConnections,key:"connectedDevices",flashError:!1}),Wr.checkConnection=$({method:"GET",url:o.D.api.checkEmvDeviceConnection,key:"connectedDevices"}),Wr.checkPaymentStatus=$({method:"POST",url:o.D.api.checkEmvPaymentStatus,key:"result",flashError:!1,flash500Error:!1}),Wr.cancelCharge=$({method:"POST",url:o.D.api.cancelEmvCharge});var qr={custom:{}};qr.custom.create=$({method:"POST",url:o.D.api.customRefunds,key:"refund",formName:"customRefundForm"});var zr={};zr.report=$({method:"GET",url:o.D.api.reportDisputes,key:"report"});var Xr={};Xr.disputes=$({method:"GET",url:o.D.api.disputes,key:"disputes"}),Xr.dispute=$({method:"GET",url:o.D.api.dispute,key:"dispute"});var Zr=$({method:"GET",url:o.D.api.payouts,isArray:!0,key:"payouts"});Zr.report=$({method:"GET",url:o.D.api.reportPayouts,key:"report"});var Qr=$({method:"GET",url:o.D.api.payout,key:"payout"});Qr.retry=$({method:"PUT",url:o.D.api.payoutRetry,key:"payoutRetry"});var Jr=$({method:"GET",url:o.D.api.transfers,isArray:!0,key:"transfers"});Jr.create=$({method:"POST",url:o.D.api.transfers,key:"transfer"});var ei=$({method:"GET",url:o.D.api.transfer,key:"transfer"}),ti={};ti.create=$({method:"POST",url:o.D.api.oneTimeTransfer,formName:"transferAndUploadDelegateForm",key:"oneTimeTransfer"});var ni=$({method:"GET",url:o.D.api.upcomingRefundReserveAmounts,key:"upcomingRefundReserveAmounts"}),ri=$({method:"GET",url:o.D.api.uploads,isArray:!0,key:"uploads"});ri.create=$({method:"POST",url:o.D.api.uploads,key:"upload"});var ii=$({method:"GET",url:o.D.api.upload,key:"upload"}),oi=$({method:"GET",url:o.D.api.funds,isArray:!0,key:"funds"});oi.report=$({method:"GET",url:o.D.api.reportFunds,key:"report"});var ai=$({method:"GET",url:o.D.api.fund,key:"fund"}),si=$({method:"GET",url:o.D.api.adjustments,isArray:!0,key:"adjustments"});si.create=$({method:"POST",url:o.D.api.adjustments,key:"adjustment"});var ci=$({method:"GET",url:o.D.api.adjustment,key:"adjustment"}),ui={};ui.report=$({method:"GET",url:o.D.api.reportTransactions,key:"report"});var li=$({method:"GET",url:o.D.api.activities,isArray:!0,key:"activities"});li.notes={},li.notes.create=$({method:"POST",url:o.D.api.notes,key:"activity",formName:"noteForm"});var di=$({method:"GET",url:o.D.api.activity,key:"activity"});di.update=$({method:"PUT",url:o.D.api.activity,key:"activity"});var pi=$({method:"PUT",url:o.D.api.reorder,key:"reorder"}),mi=$({method:"GET",url:o.D.api.waivers,isArray:!0,key:"waivers"});mi.create=$({method:"POST",url:o.D.api.waivers,key:"waiver"});var fi=$({method:"GET",url:o.D.api.waiver,key:"waiver"});fi.update=$({method:"PUT",url:o.D.api.waiver,key:"waiver"}),fi.remove=$({method:"DELETE",url:o.D.api.waiver,formName:"disableForm"});var hi={};hi.create=$({method:"POST",url:o.D.api.connectedWaivers,key:"connectedWaiver",formName:"createConnectedWaiverForm"});var gi={};gi.remove=$({method:"DELETE",url:o.D.api.connectedWaiver});var vi={};vi.remove=$({method:"DELETE",url:o.D.api.waiverInstance,key:"waiverInstance"});var yi=$({method:"GET",url:o.D.api.fhWaivers,isArray:!0,key:"fhWaivers"});yi.create=$({method:"POST",url:o.D.api.fhWaivers,key:"fhWaivers"});var bi=$({method:"GET",url:o.D.api.fhWaiversItems,key:"fhWaiversItems"}),Ti=$({method:"GET",url:o.D.api.fhWaiver,key:"fhWaiver"});Ti.update=$({method:"PUT",url:o.D.api.fhWaiver,key:"fhWaiver"}),Ti.delete=$({method:"DELETE",url:o.D.api.fhWaiver,key:"fhWaiver"});var Ei=$({method:"GET",url:o.D.api.dockSettings,key:"fhDockSettings"}),_i=$({method:"PUT",url:o.D.api.dockSettingsUpdate,key:"fhDockSettingsUpdate"}),ki=Y("totalSchedule");ki.online=K(ki,"online"),ki.includeArchived=K(ki,"include-archived");var Ci=V("totalSchedule"),Ai=Y("totalScheduleEntry","totalScheduleEntries"),Pi=V("totalScheduleEntry"),Si=Y("totalScheduleEntryRule"),Oi=V("totalScheduleEntryRule"),Ri=Y("invoiceSchedule");Ri.includeArchived=K(Ri,"include-archived");var Ii=V("invoiceSchedule"),wi=Y("invoiceScheduleEntry","invoiceScheduleEntries"),Di=V("invoiceScheduleEntry"),Ni=Y("invoiceScheduleEntryRule"),Ui=V("invoiceScheduleEntryRule");Ci.duplicate=$({method:"POST",url:o.D.api.duplicateTotalSchedule,key:"totalSchedule",formName:"duplicateTotalScheduleForm"}),Ci.affiliations=$({method:"GET",isArray:!0,url:o.D.api.totalScheduleAffiliations,key:"affiliations"}),Ii.duplicate=$({method:"POST",url:o.D.api.duplicateInvoiceSchedule,key:"invoiceSchedule",formName:"duplicateInvoiceScheduleForm"}),Ii.affiliations=$({method:"GET",isArray:!0,url:o.D.api.invoiceScheduleAffiliations,key:"affiliations"});var Fi=$({method:"GET",url:o.D.api.effectiveSheets,key:"effectiveSheets"}),Li=$({method:"GET",url:o.D.api.affiliationEffectiveSheets,key:"effectiveSheets"}),Mi=$({method:"GET",url:o.D.api.rebookingEffectiveSheets,key:"effectiveSheets"}),xi=$({method:"GET",url:o.D.api.totalScheduleEffectiveSheet,key:"effectiveSheets"}),Bi=$({method:"GET",url:o.D.api.invoiceScheduleEffectiveSheet,key:"effectiveSheets"}),Gi=Y("totalSheet");Gi.all=W(Gi),Gi.includeArchived=K(Gi,"include-archived"),Gi.nonBase=K(Gi,"nonBase"),Gi.online=K(Gi,"online"),Gi.bases=K(Gi,"bases");var $i=V("totalSheet");$i.duplicate=$({method:"POST",url:o.D.api.duplicateTotalSheet,key:"totalSheet",formName:"duplicateSheetForm"}),$i.pricing=$({method:"GET",url:o.D.api.totalPricing,key:"effectivePricings",isArray:!0}),$i.pricing.update=$({method:"PUT",url:o.D.api.totalPricing,key:"effectivePricings",isArray:!0,formName:"priceLineForm"}),$i.pricing.stack=$({method:"GET",url:o.D.api.totalStack,key:"lines",isArray:!0}),$i.schedules=$({method:"GET",isArray:!0,url:o.D.api.totalSheetSchedules,key:"totalSchedules"}),$i.affiliations=$({method:"GET",isArray:!0,url:o.D.api.totalSheetAffiliations,key:"affiliations"});var Yi=Y("invoiceSheet");Yi.all=W(Yi),Yi.includeArchived=K(Yi,"include-archived"),Yi.nonBase=K(Yi,"nonBase");var Vi=V("invoiceSheet");Vi.duplicate=$({method:"POST",url:o.D.api.duplicateInvoiceSheet,key:"invoiceSheet",formName:"duplicateSheetForm"}),Vi.pricing=$({method:"GET",url:o.D.api.invoicePricing,key:"effectivePricings",isArray:!0}),Vi.pricing.update=$({method:"PUT",url:o.D.api.invoicePricing,key:"effectivePricings",isArray:!0,formName:"priceLineForm"}),Vi.pricing.stack=$({method:"GET",url:o.D.api.invoiceStack,key:"lines",isArray:!0}),Vi.schedules=$({method:"GET",isArray:!0,url:o.D.api.invoiceSheetSchedules,key:"invoiceSchedules"}),Vi.affiliations=$({method:"GET",isArray:!0,url:o.D.api.invoiceSheetAffiliations,key:"affiliations"});var ji={};ji.channels=$({method:"GET",url:o.D.pusher.channels,key:"channels",isArray:!0}),ji.members=$({method:"POST",url:o.D.pusher.members,key:"channels",isArray:!0});var Ki=Y("taxType");Ki.all=W(Ki);var Hi=V("taxType"),Wi=V("location");Wi.items=$({method:"GET",url:o.D.api.locationItems,key:"items",isArray:!0});var qi=Y("location");qi.createPrimary=$({method:"POST",url:o.D.api.primaryLocation,key:"location"});var zi=Y("resource");zi.includeArchived=K(zi,"include-archived"),zi.manifest=$({method:"GET",url:o.D.api.resourcesManifest,key:"resources",isArray:!0});var Xi=V("resource");Xi.items=$({method:"GET",url:o.D.api.resourceItems,key:"items",isArray:!0}),Xi.requirementGroups=$({method:"GET",url:o.D.api.resourceRequirementGroups,key:"requirementGroups",isArray:!0}),Xi.availabilities=$({method:"GET",url:o.D.api.resourceAvailabilities,key:"availabilities",isArray:!0});var Zi={};Zi.byDate=$({method:"GET",url:o.D.api.resourceUsesByDate,key:"resourceUses",isArray:!0}),Zi.calendar=$({method:"GET",url:o.D.api.resourceUsesCalendar,key:"calendar"}),Zi.unassignSeats=$({method:"PUT",url:o.D.api.resourceUsesUnassignSeats,isArray:!0,key:"resourceUses",formName:"unassignSeatsForm"}),Zi.reapplyResourceUses=$({method:"POST",url:o.D.api.reapplyResourceUses,isArray:!0,key:"resourceUses",sideKeys:["unsatisfiableResources","bookingCount","bookings","originalResourceUses","proposalBooking"],formName:"reapplyResourceUsesForm"}),Zi.bulkReapplyResourceUses=$({method:"POST",url:o.D.api.reapplyResourceUses,key:"taskId",formName:"reapplyResourceUsesForm"}),Zi.reapplyResourceUsesPoll=$({method:"GET",url:o.D.api.reapplyResourceUses,key:"taskState",sideKeys:["bookingCount","bookings","resourceUses","unsatisfiableResources"]});var Qi=$({method:"GET",url:o.D.api.itemRequirementGroups,isArray:!0,key:"requirementGroups"});Qi.create=$({method:"POST",url:o.D.api.itemRequirementGroups,key:"requirementGroup"}),Qi.includeArchived=K(Qi,"include-archived");var Ji=Y("requirementGroup"),eo=V("requirementGroup");eo.duplicate=$({method:"POST",url:o.D.api.duplicateRequirementGroup,key:"requirementGroup",formName:"duplicateRequirementGroupForm"}),eo.items=$({method:"GET",url:o.D.api.requirementGroupItems,isArray:!0,key:"items"});var to=Y("requirement"),no=V("requirement"),ro=Y("resourceRequirement"),io=V("resourceRequirement");io.update=$({method:"PUT",url:o.D.api.resourceRequirement,key:"resourceRequirement",sideKeys:["newResourceRequirement"]});var oo=V("resourceUse");oo.update=$({method:"PUT",url:o.D.api.resourceUse,key:"resourceUse",sideKeys:["customer"],formName:"resourceUseForm",flashError:!1});var ao=$({method:"GET",url:o.D.api.resourceOverride,key:"resourceOverride"});ao.update=$({method:"PUT",url:o.D.api.resourceOverride,key:"resourceOverride",formName:"resourceOverrideForm"}),ao.remove=$({method:"DELETE",url:o.D.api.resourceOverride,formName:"disableForm"}),ao.rule=$({method:"POST",url:o.D.api.resourceOverrideRule,isArray:!0,key:"resourceOverrides",formName:"resourceOverrideRuleForm"});var so={byTag:{}};so.byTag.clear=$({method:"DELETE",url:o.D.api.resourceOverridesByTag,formName:"disableForm"}),so.byDate=$({method:"GET",url:o.D.api.resourceOverridesByDate,key:"resourceOverrides",isArray:!0}),so.forSeat=$({method:"POST",url:o.D.api.seatResourceOverrides,key:"resourceOverrides",isArray:!0,formName:"seatResourceOverridesForm"});var co=Y("seatMap"),uo=V("seatMap");uo.duplicate=$({method:"POST",url:o.D.api.duplicateSeatMap,key:"seatMap",formName:"duplicateSeatMapForm"}),uo.update=$({method:"PUT",url:o.D.api.seatMap,key:"seatMap"}),uo.full=K($({method:"GET",url:o.D.api.seatMap,key:"seatMap",sideKeys:["seatZones","seatGroups"],ignoreQueryParamsInCacheUri:!0}),"full"),uo.resourceUsesBySeat=$({method:"GET",url:o.D.api.seatMapResourceUsesBySeat,key:"resourceUsesBySeat",ignoreCache:!0}),uo.resourceOverridesBySeat=$({method:"GET",url:o.D.api.seatMapResourceOverridesBySeat,key:"resourceOverridesBySeat",sideKeys:["resourceOverrides"],ignoreCache:!0}),uo.resources=$({method:"GET",url:o.D.api.seatMapResources,key:"resources",isArray:!0});var lo=Y("seatGroup"),po=V("seatGroup"),mo=Y("seatZone"),fo=V("seatZone"),ho=Y("ticketLayout"),go=V("ticketLayout"),vo=Y("analyticsService"),yo=V("analyticsService"),bo=Y("cancellationPolicy","cancellationPolicies"),To=V("cancellationPolicy"),Eo=Y("cancellationRule"),_o=V("cancellationRule");To.affiliations=$({method:"GET",isArray:!0,url:o.D.api.cancellationPolicyAffiliations,key:"affiliations"}),To.items=$({method:"GET",isArray:!0,url:o.D.api.cancellationPolicyItems,key:"items"});var ko=Y("bookingRestriction"),Co=V("bookingRestriction");Co.items=$({method:"GET",isArray:!0,url:o.D.api.bookingRestrictionItems,key:"items"});var Ao=$({method:"GET",isArray:!0,url:o.D.api.persistentStore,key:"persistentStores"});Ao.remove=$({method:"DELETE",url:o.D.api.persistentStore});var Po=$({method:"GET",url:o.D.api.persistentStoreForCompany,key:"persistentStore"});Po.remove=$({method:"DELETE",url:o.D.api.persistentStoreForCompany});var So=$({method:"GET",url:o.D.api.persistentStoreItem,key:"value"});So.update=$({method:"PUT",url:o.D.api.persistentStoreItem,key:"value",formName:"persistentStoreForm"}),So.remove=$({method:"DELETE",url:o.D.api.persistentStoreItem});var Oo=$({method:"GET",url:o.D.api.persistentStoreContact,key:"value"});Oo.update=$({method:"PUT",url:o.D.api.persistentStoreContact,key:"value",formName:"PersistentStoreContactForm"});var Ro=$({method:"GET",url:o.D.api.taskResult,key:"taskResult"}),Io=j({method:"POST",url:o.D.api.token,key:"tokens",flash500Error:!1}),wo=$({method:"GET",url:o.D.api.googleRatingsIntegration,key:"googleRatingsSettings"});wo.update=$({method:"PUT",url:o.D.api.googleRatingsIntegration,key:"googleRatingsSettings",form:"googleRatingsSettingsForm"});var Do=$({method:"GET",formName:"noForm",key:function(e){return _.keys(e.data)[0]}}),No=$({method:"GET",url:o.D.api.view,key:"view"}),Uo=$({method:"GET",url:o.D.api.walletPassGoogle,key:"walletPassGoogle"}),Fo=$({method:"GET",url:o.D.api.version,key:"version"}),Lo=$({method:"GET",url:o.D.api.squareCustomerPrototypeMap,isArray:!0,key:"squareCustomerPrototypeMap",flashError:!1}),Mo={CANCELLED:S,isCancelled:function(e){return Number(e.status)<1},toKeyValue:M,login:q,loginV11:z,forgot:X,companies:Q,company:J,users:he,user:ge,groups:ee,group:te,groupOverrides:ne,groupOverride:re,contacts:sr,contact:ar,contactPayments:cr,customManifests:ue,customManifest:le,customCalendars:de,customCalendar:pe,customReports:me,customReport:fe,items:ye,item:be,availabilitySchedule:Te,availabilitySchedules:Ee,availabilityScheduleRule:_e,availabilityScheduleRules:ke,availabilityScheduleCreateAvailabilities:Ce,availabilityScheduleCreateAvailabilitiesPoll:Ae,bookingImporter:Pe,availabilityDuplication:Se,flowNodes:we,flowNode:Re,defaultFlowPage:function(){return(0,r.$)("flows").wrapEndpoint(Ie,!0).apply(void 0,arguments)},combos:De,combo:Ne,activities:li,activity:di,affiliates:Ue,affiliate:Fe,affiliateRules:Le,affiliateRule:Me,affiliateCards:xe,affiliateCardAffiliations:Be,partners:Ge,partner:$e,partnerCards:Ye,partnerCardAffiliations:Ve,agents:je,agent:Ke,desks:He,desk:We,cannedMessages:zn,cannedMessage:Xn,availabilityHeadlines:Zn,availabilityHeadline:Qn,customerPrototypes:Kn,customerPrototype:jn,customerTypes:Vn,customerType:Yn,checkinStatuses:qn,checkinStatus:Wn,customFields:fn,customField:hn,transportationOptions:gn,transportationOption:vn,extendedOptions:yn,extendedOption:bn,connectedCampaigns:Tn,connectedCampaign:En,generatingCampaigns:_n,generatingCampaign:kn,customFieldInstances:On,customFieldInstance:Sn,customFieldInstanceConditions:In,customFieldInstanceCondition:Rn,customFieldInstanceGroup:Pn,companyCustomFieldInstanceGroups:An,combinedCustomFieldInstanceGroups:function(e,t){var n={shortname:e.company.shortname,itemPk:e.pk},r={shortname:e.company.shortname},i=t?Cn.includeArchived(n):Cn(n),o=t?An.includeArchived(r):An(r),a=e.company.features.isCompanyLevelCustomFieldInstanceGroupsEnabled?o:[],s=[];return s.$promise=Promise.all([i.$promise,a.$promise]).then((function(){_.ref.append(s,i,a)})),s},itemCustomFieldInstanceGroups:Cn,pushCustomFieldValues:Er,customerCustomFieldValue:Tr,bookingCustomFieldValue:br,availabilities:Jn,availability:er,customerTypeRates:tr,customerTypeRate:nr,subjects:or,blocks:rr,block:ir,orders:dr,order:ur,orderPayments:pr,bookings:mr,booking:fr,recentBooking:hr,customer:vr,customers:yr,lineItems:Rr,lineItem:Ir,lockPrices:Hn,payments:Lr,installmentPayment:Mr,orderInstallmentPayment:xr,disputes:zr,disputesCenter:Xr,refunds:qr,authorizationHolds:Br,paymentFees:Gr,inStorePaymentTypes:$r,inStorePaymentType:Kr,emvLocation:Yr,emvDevices:Hr,emvDevice:Wr,bankAccounts:ie,bankAccount:oe,cards:ae,card:se,cardAffiliations:ce,proposal:wt,paymentSchedules:Nt,paymentSchedule:Dt,contract:Ut,contracts:Ft,supportedLanguages:Dn,supportedLanguage:wn,translations:Nn,translationsForModel:Un,translationsForField:Fn,understoodLanguages:Ln,translationsForSubfield:Mn,reports:_r,report:kr,campaigns:st,campaign:ct,campaignValidityRules:ut,campaignValidityRule:lt,codes:dt,code:pt,memberships:mt,membershipsCustomerTypes:Tt,membership:ft,membershipRange:ht,members:gt,member:vt,benefits:yt,benefit:bt,storedValueTypes:Et,storedValueType:_t,storedValueCardDesignTemplates:kt,storedValueCardDesignTemplate:Ct,storedValueCards:At,storedValueCard:Pt,storedValueAdjustments:St,storedValueAdjustment:Ot,resellerCompanies:Lt,resellerCompany:Mt,resellerCompanyMappings:xt,resellerCompanyMapping:Bt,resellerItems:Gt,resellerItem:$t,resellerItemMappings:Yt,resellerItemMapping:Vt,resellerCustomerTypes:jt,resellerCustomerType:Kt,resellerCustomerTypeMappings:Ht,resellerCustomerTypeMapping:Wt,resellerOptions:qt,resellerOption:zt,resellerOptionMappings:Xt,resellerOptionMapping:Zt,resellerUnmappedItems:Qt,resellerUnmappedCustomerPrototypes:Jt,resellerKeys:en,resellerKey:tn,resellerApps:nn,resellerApp:rn,resellerAppRequest:an,resellerAppRequests:on,resellerAppCompany:cn,resellerAppCompanies:sn,webhooks:un,webhook:ln,webhookSchema:dn,customSchemas:pn,customSchemaFields:mn,reorder:pi,refresh:function(e,t){return i.Y.assert(e,"db.refresh: expected uri"),Do(e,null,null,null,t)},slipstream:x,ledgers:Vr,ledger:jr,payouts:Zr,payout:Qr,transfers:Jr,transfer:ei,uploads:ri,upload:ii,oneTimeTransfer:ti,upcomingRefundReserveAmounts:ni,adjustments:si,adjustment:ci,transactions:ui,funds:oi,fund:ai,roles:xn,role:Bn,crewMembers:Gn,crewMember:$n,hotels:qe,hotel:ze,lodgings:Xe,lodging:Ze,pickups:et,pickup:tt,routes:nt,route:rt,stops:it,stop:ot,runs:at,preferredPickups:Qe,preferredPickup:Je,testReport:Z,invoices:Cr,bulkInvoices:Pr,invoice:Ar,fhdnInvoices:Sr,totalSchedules:ki,totalSchedule:Ci,totalScheduleEntries:Ai,totalScheduleEntry:Pi,totalScheduleEntryRules:Si,totalScheduleEntryRule:Oi,invoiceScheduleEntryRules:Ni,invoiceScheduleEntryRule:Ui,invoiceSchedules:Ri,invoiceSchedule:Ii,invoiceScheduleEntries:wi,invoiceScheduleEntry:Di,effectiveSheets:Fi,affiliationEffectiveSheets:Li,rebookingEffectiveSheets:Mi,totalScheduleEffectiveSheet:xi,invoiceScheduleEffectiveSheet:Bi,totalSheets:Gi,totalSheet:$i,invoiceSheets:Yi,invoiceSheet:Vi,taxTypes:Ki,taxType:Hi,paymentProcessingDocuments:Rt,paymentProcessingDocument:It,locations:qi,location:Wi,waivers:mi,waiver:fi,connectedWaivers:hi,connectedWaiver:gi,waiverInstance:vi,fhWaivers:yi,fhWaiversItems:bi,fhWaiver:Ti,fhDockSettings:Ei,fhDockSettingsUpdate:_i,resources:zi,resource:Xi,resourceUses:Zi,requirementGroups:function(e){var t=Qi(e),n=Ji(e);return Promise.all([t.$promise,n.$promise]).then((function(){return t.concat(n)}))},requirementGroup:eo,companyRequirementGroups:Ji,itemRequirementGroups:Qi,requirements:to,requirement:no,resourceRequirements:ro,resourceRequirement:io,resourceUse:oo,resourceOverride:ao,resourceOverrides:so,seatMaps:co,seatMap:uo,seatGroups:lo,seatGroup:po,seatZones:mo,seatZone:fo,ticketLayouts:ho,ticketLayout:go,analyticsServices:vo,analyticsService:yo,cancellationPolicies:bo,cancellationPolicy:To,cancellationRules:Eo,cancellationRule:_o,bookingRestrictions:ko,bookingRestriction:Co,persistentStore:Ao,persistentStoreForCompany:Po,persistentStoreItem:So,persistentStoreContact:Oo,tagGroups:wr,tagGroup:Dr,tags:Nr,tag:Ur,objectTags:Fr,taskResult:Ro,tokens:Io,ratingIntegrationSettings:wo,version:Fo,serverResponse:D,formErrorHandler:F,errorStatus:function(e){return 0!==e||P?404===e?"not-found":403===e?"forbidden":"error":"disconnect"},pusher:ji,searchEndpoint:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(r){return e(t,null,null,C.defaults({q:r},n))}},view:No,walletPassGoogle:Uo,otp:Or,squareCustomerPrototypeMap:Lo,nagShortnames:ve}},14479:function(e,t,n){"use strict";n.d(t,{QW:function(){return l},TH:function(){return d},g0:function(){return c}}),n(52675),n(89463),n(66412),n(2259),n(78125),n(16280),n(76918),n(51629),n(23792),n(44114),n(94490),n(34782),n(62010),n(4731),n(60479),n(59904),n(84185),n(40875),n(63548),n(10287),n(26099),n(3362),n(47764),n(23500),n(62953);var r=n(82448);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(){o=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",u=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function d(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,n){return e[t]=n}}function p(e,t,n,r){var i=t&&t.prototype instanceof b?t:b,o=Object.create(i.prototype),s=new D(r||[]);return a(o,"_invoke",{value:O(e,n,s)}),o}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var f="suspendedStart",h="suspendedYield",g="executing",v="completed",y={};function b(){}function T(){}function E(){}var _={};d(_,c,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(N([])));C&&C!==n&&r.call(C,c)&&(_=C);var A=E.prototype=b.prototype=Object.create(_);function P(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(o,a,s,c){var u=m(e[o],e,a);if("throw"!==u.type){var l=u.arg,d=l.value;return d&&"object"==i(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(d).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var o;a(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function O(t,n,r){var i=f;return function(o,a){if(i===g)throw Error("Generator is already running");if(i===v){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=R(s,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=g;var u=m(t,n,r);if("normal"===u.type){if(i=r.done?v:h,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=v,r.method="throw",r.arg=u.arg)}}}function R(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var o=m(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[c];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(i(t)+" is not iterable")}return T.prototype=E,a(A,"constructor",{value:E,configurable:!0}),a(E,"constructor",{value:T,configurable:!0}),T.displayName=d(E,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===T||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,d(e,l,"GeneratorFunction")),e.prototype=Object.create(A),e},t.awrap=function(e){return{__await:e}},P(S.prototype),d(S.prototype,u,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new S(p(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(A),d(A,l,"Generator"),d(A,c,(function(){return this})),d(A,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=N,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(w),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function a(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}var s={},c=function(e){var t;return(null===(t=s[e])||void 0===t?void 0:t.userGroup)>0},u=function(e){var t,n=e.resolve,r=e.tracking,i=e.distribution,o=e.experimentIdentifier,a=r.startExperiment(o,i);s[o].userGroup=a,null===(t=s[o].resultSubscribers)||void 0===t||t.forEach((function(e){e(a)})),n(a)},l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[.5,.5];if(void 0!==s[e])return s[e].userGroup;var n=(0,r.$)("tracking");if(n.isServiceLoaded()){var i=n.startExperiment(e,t);return s[e]={userGroup:i},i}return-1},d=function(){var e,t=(e=o().mark((function e(t){var n,i,a=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:function(){return!0},i=a.length>2&&void 0!==a[2]?a[2]:[.5,.5],e.abrupt("return",new Promise((function(e){var o=s[t];if(void 0!==o)return void 0!==o.userGroup?void e(o.userGroup):void o.resultSubscribers.push((function(t){e(t)}));var a=(0,r.$)("tracking");s[t]={userGroup:void 0,resultSubscribers:[]},a.isServiceLoaded()&&n()?u({resolve:e,tracking:a,distribution:i,experimentIdentifier:t}):window.addEventListener("MIXPANEL_LOADED",(function(){n()&&u({resolve:e,tracking:a,distribution:i,experimentIdentifier:t})}))})));case 3:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){a(o,r,i,s,c,"next",e)}function c(e){a(o,r,i,s,c,"throw",e)}s(void 0)}))});return function(e){return t.apply(this,arguments)}}()},31176:function(e,t,n){"use strict";n.d(t,{j:function(){return a},v:function(){return s}}),n(51629),n(44114),n(26099),n(23500),n(76031);var r=n(82448),i=[],o={debug:"debug",info:"info",warn:"warn",error:"error",success:"success"},a={remove:function(e){_.overwriteWithout(i,_.isReferenceEqualTo(e))},add:function(e){var t={message:e,level:(arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)||o.info,timeout:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||8e3};i.push(t),t.timeout&&setTimeout((function(){(0,r.$)("$rootScope").$apply((function(){a.remove(t)}))}),t.timeout)},all:function(){return i},clear:function(){_.overwrite(i,[])},levels:o};_.forEach(a.levels,(function(e,t){a[t]=function(t,n){a.add(t,e,n)}}));var s=function(){a.debug=_.ignore,a.warn=_.ignore,a.info=_.ignore,a.error=_.ignore,a.success=_.ignore}},82448:function(e,t,n){"use strict";n.d(t,{$:function(){return i}});var r={},i=function(e){if(!window)return console.error("injector: Missing: window"),null;if(!window.$$injector)return console.error("injector: Missing: window.$$injector"),null;try{return r[e]||(r[e]=window.$$injector.get(e)),r[e]}catch(e){return console.error(e),null}}},97936:function(e,t,n){"use strict";n.d(t,{C:function(){return a},s:function(){return o}}),n(28706),n(27495),n(25440);var r=/([a-z])([A-Z0-9])/g,i=/([0-9])([a-zA-Z])/g;function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return"/"===e[0]?e:e.replace(/_([a-z0-9])/g,(function(e,t){return t.toUpperCase()}))}function a(){var e=function(e,t,n){return"".concat(t,"_").concat(n.toLowerCase())};return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(r,e).replace(i,e)}},5681:function(e,t,n){"use strict";n.d(t,{Aq:function(){return r},GG:function(){return i},Rk:function(){return o}});var r=64,i=32,o={CARDHOLDERS_NAME_TOO_LONG:T("Name is too long. Please check that the name in your billing details is correct and try again."),BAD_POSTAL_CODE:T("Incorrect postal (zip) code. Please check that your billing postal code is correct and try again.")}},42069:function(e,t,n){"use strict";n.d(t,{D:function(){return l},j:function(){return c}}),n(52675),n(89463),n(66412),n(2259),n(78125),n(16280),n(76918),n(51629),n(74423),n(23792),n(44114),n(94490),n(34782),n(62010),n(4731),n(60479),n(59904),n(84185),n(40875),n(63548),n(10287),n(26099),n(3362),n(47764),n(23500),n(62953);var r=n(63025),i=n(14479);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(){a=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",u=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function d(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,n){return e[t]=n}}function p(e,t,n,r){var o=t&&t.prototype instanceof b?t:b,a=Object.create(o.prototype),s=new D(r||[]);return i(a,"_invoke",{value:O(e,n,s)}),a}function m(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var f="suspendedStart",h="suspendedYield",g="executing",v="completed",y={};function b(){}function T(){}function E(){}var _={};d(_,c,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(N([])));C&&C!==n&&r.call(C,c)&&(_=C);var A=E.prototype=b.prototype=Object.create(_);function P(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(i,a,s,c){var u=m(e[i],e,a);if("throw"!==u.type){var l=u.arg,d=l.value;return d&&"object"==o(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,s,c)}),(function(e){n("throw",e,s,c)})):t.resolve(d).then((function(e){l.value=e,s(l)}),(function(e){return n("throw",e,s,c)}))}c(u.arg)}var a;i(this,"_invoke",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return a=a?a.then(i,i):i()}})}function O(t,n,r){var i=f;return function(o,a){if(i===g)throw Error("Generator is already running");if(i===v){if("throw"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var s=r.delegate;if(s){var c=R(s,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=g;var u=m(t,n,r);if("normal"===u.type){if(i=r.done?v:h,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=v,r.method="throw",r.arg=u.arg)}}}function R(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var o=m(i,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[c];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(o(t)+" is not iterable")}return T.prototype=E,i(A,"constructor",{value:E,configurable:!0}),i(E,"constructor",{value:T,configurable:!0}),T.displayName=d(E,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===T||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,d(e,l,"GeneratorFunction")),e.prototype=Object.create(A),e},t.awrap=function(e){return{__await:e}},P(S.prototype),d(S.prototype,u,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new S(p(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},P(A),d(A,l,"Generator"),d(A,c,(function(){return this})),d(A,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=N,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(w),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function s(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}var c={currencyExchangeRate:r.db.slipstream("currencyExchangeRates"),targetCurrency:"usd"},u=["America/Adak","America/Atka","Pacific/Honolulu","Pacific/Johnston","America/Anchorage","America/Juneau","America/Metlakatla","America/Nome","America/Sitka","America/Yakutat","America/Los_Angeles","America/Boise","America/Denver","America/Shiprock","America/Phoenix","America/Creston","America/Chicago","America/Indiana/Knox","America/Indiana/Tell_City","America/Menominee","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Knox_IN","America/Detroit","America/Indiana/Indianapolis","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Kentucky/Louisville","America/Kentucky/Monticello","America/New_York","America/Indianapolis","America/Fort_Wayne","America/Louisville"],l=function(){var e,t=(e=a().mark((function e(){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){var t=Intl.DateTimeFormat().resolvedOptions().timeZone;(0,i.TH)("IronBank_CurrencyLocalization_v2",(function(){var e=r.db.slipstream("targetLanguage");return("en"===e||"en-us"===e)&&u.includes(t)})).then((function(t){e(t>0)}))})));case 1:case"end":return e.stop()}}),e)})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(void 0)}))});return function(){return t.apply(this,arguments)}}()},54585:function(e,t,n){"use strict";n.d(t,{Aw:function(){return i},Um:function(){return s},Wb:function(){return c},zF:function(){return o}}),n(26099),n(3362);var r=n(63025),i="payconex",o={isCreditCardsEnabled:!0,minimumChargeAmount:function(e){var t;return null===(t=r.db.slipstream("processorMinimumChargeAmounts")[i])||void 0===t?void 0:t[e]}},a=null,s=function(e){var t={account:e,parentId:"iframe_container",cvv:"required",timeout:60,label_font_family:"font_family_16",css:{class_row:"display:grid;",class_input_box:"background-color:#fff;border:1px solid #afb8c0;border-radius:4px;height:32px;margin-top:3px;margin-bottom:10px;",class_label:"display:inline-block;font-size:13px;width:50px;"}};"production"!==r.db.slipstream("configuration")&&(t.devServer="https://cert.payconex.net");try{a=new PaymentiFrame({create:!0,iframeId:"iframeId",settings:t})}catch(e){console.log(e)}},c=function(){return new Promise((function(e,t){try{a.encrypt().failure((function(e){t(e)})).invalidInput((function(e){t(e.invalidInputs)})).success((function(t){e(t)}))}catch(e){console.log(e)}}))}},72997:function(e,t,n){"use strict";n.d(t,{Fg:function(){return a},Qn:function(){return s},UY:function(){return o},xA:function(){return i}}),n(50113),n(2892),n(26099),n(27495),n(25440);var r=n(5681),i=function(e){return e.length>r.Aq},o=function(e){return e.length>r.GG},a=function(e){var t=e.currency,n=e.amount;if(!t)return"—";var r=Number(n)/100;return new Intl.NumberFormat(navigator.language,{style:"currency",currency:t.toUpperCase()}).format(r).replace("US$","$")},s=function(e){return new Intl.NumberFormat(navigator.language,{style:"currency",currency:e}).formatToParts(1).find((function(e){return"currency"===e.type})).value}},25632:function(e,t,n){"use strict";n.d(t,{X:function(){return i}});var r=n(82448),i={formatPercentage:function(e,t,n,i){var o;void 0===n&&(n=1);var a=(0,r.$)("localization").current();return n?(o=e?e/n:0,i?_.isNumber(i)||(i=0):i=5,a.formatPercentage(o,i,!t)):a.formatPercentage(1,0,!t)}}},76541:function(e,t,n){"use strict";n.d(t,{U:function(){return f}}),n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(51629),n(23418),n(64346),n(23792),n(44114),n(72712),n(34782),n(15086),n(89572),n(23288),n(62010),n(2892),n(67945),n(84185),n(5506),n(83851),n(81278),n(79432),n(26099),n(16034),n(27495),n(90906),n(38781),n(47764),n(23500),n(62953);var r=n(94893),i=n(64937),o=n(48920),a=n(68374),s=n(11061);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){m(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function m(e,t,n){return(t=function(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f={inheritTotalCostTaxByType:function(e,t,n){return t.taxability===a.L.NONE_TAXABILITY?_.mapObject(n.taxByType,(function(){return 0})):t.taxability===a.L.PRO_RATE_TAXABILITY?_.mapObject(n.taxByType,(function(t){return _.roundHalfToEven(t*e)})):p({},n.taxByType)},inheritTotalCostTaxable:function(e,t,n){return t.taxability===a.L.NONE_TAXABILITY?0:t.taxability===a.L.PRO_RATE_TAXABILITY?e:n.price},inheritTotalCost:function(e,t,n){i.Y.assert("InvoiceSheet"===t.cls,"only invoice_pricing can return cost based on total_cost");var c=_.roundHalfToEven((n.price||0)*e.sheetRate.sheetRate),u=f.inheritTotalCostTaxable(c,t,n),l=f.inheritTotalCostTaxByType(e.sheetRate.sheetRate,t,n);return s.S.isTaxIncluded(e)&&t.taxability===a.L.PRO_RATE_TAXABILITY&&(u=c=_.roundHalfToEven(r.y.total(n)*e.sheetRate.sheetRate)-(0,o.jJ)(Object.values(l))),(0,r.y)(c,u,l)},asTaxByType:function(e,t){var n,r=e.taxes;n=r.taxability===a.L.NONE_TAXABILITY?_.mapObject(r.offsetsByType,(function(){return 0})):r.taxability===a.L.FULL_TAXABILITY?p({},r.offsetsByType):_.mapObject(r.offsetsByType,(function(t){return _.roundHalfToEven(t*e.sheetRate.sheetRate)})),t<0&&(n=_.mapObject(n,(function(e){return-1*e})));var i=_.mapObject(r.ratesByType,(function(e){return _.roundHalfToEven(e*t)}));return p(p({},n),i)},nonePriceCost:function(e){i.Y.assert(e.price.modifierType===s.S.NONE_MODIFIER_TYPE,"nonePriceCost: expected none price modifier");var t=f.asTaxByType(e,0);return Object.values(t).some((function(e){return e}))?(0,r.y)(0,0,t):r.y.NONE},applyTaxInclusion:function(e,t,n,i){var s,c,l=e.sheetRate.sheetRate,d=_.roundHalfToEven(t*l),m=p({},null!==(s=null==e||null===(c=e.taxes)||void 0===c?void 0:c.ratesByType)&&void 0!==s?s:{}),f=p({},e.taxes.offsetsByType||{});if(t<0&&(f=_.mapValues(f,(function(e){return-1*e})),n&&i)){var h=r.y.total(n);if(h){var g=Math.abs(t)/h;Object.keys(m).forEach((function(e){if(n.taxByType[e]){var t=n.taxByType[e];f[e]=t*g*-1}delete m[e]}))}}var v,y,b=p({},f),T=_.mapValues(b,(function(e){return _.roundHalfToEven(e*l)})),E=t-(0,o.jJ)(Object.values(b)),k=d-(0,o.jJ)(Object.values(T)),C=(0,o.jJ)(Object.values(m)),A=_.roundHalfToEven(E/(1+C)),P=E-A,S=_.roundHalfToEven(A*l),O=k-S;return Object.entries(m).forEach((function(e){var t=u(e,2),n=t[0],r=t[1],i=C?r/C:0;b[n]=_.roundHalfToEven(P*i),T[n]=_.roundHalfToEven(O*i)})),A+=t-(A+(0,o.jJ)(Object.values(b))),S+=d-(S+(0,o.jJ)(Object.values(T))),e.taxes.taxability===a.L.FULL_TAXABILITY?(y=b,v=A):e.taxes.taxability===a.L.PRO_RATE_TAXABILITY&&(y=T,v=S),(0,r.y)(S,v,y)},applyCustomTax:function(e,t){var n,i=e.price.customTax,o=e.taxes;if(i===s.S.NO_CUSTOM_TAX)return t;i===s.S.ALWAYS_CUSTOM_TAX?n=t.price:o.taxability===a.L.NONE_TAXABILITY?n=0:i===s.S.ONLY_TAXED_CUSTOM_TAX?n=t.taxable:i===s.S.ALL_CUSTOM_TAX&&(n=t.price),o.offsetsByType=p(p({},o.offsetsByType),o.ratesByType);var c=_.mapValues(o.offsetsByType,(function(){return n}));return(0,r.y)(0,0,c)},asCost:function(e,t,n){if(n&&t&&t.isInheritsTotalCost)return f.inheritTotalCost(e,t,n);if(e.price.modifierType===s.S.NONE_MODIFIER_TYPE)return f.nonePriceCost(e);if(s.S.isTaxIncluded(e))return f.applyTaxInclusion(e,e.price.offset);var i=s.S.effectiveOffset(e),o=a.L.taxable(e);return f.applyCustomTax(e,(0,r.y)(i,o,f.asTaxByType(e,o)))},zeroTaxByType:function(e,t){var n={};return t.taxability!==a.L.NONE_TAXABILITY&&Object.entries(e.taxByType).forEach((function(e){var r=u(e,2),i=r[0],o=r[1];(t.offsetsByType[i]||t.ratesByType[i])&&(n[i]=o)})),(0,r.y)(e.price,e.taxable,n)},adjustTax:function(e,t,n){var r=e.price;if(e.taxes.taxability===a.L.NONE_TAXABILITY)return n;if(r.modifierType===s.S.SET_MODIFIER_TYPE){var i;r.modifierKind===s.S.PERCENTAGE_MODIFIER_KIND?i=(t.price||0)*r.rate:r.modifierKind===s.S.OFFSET_MODIFIER_KIND?i=r.offset:console.warn("pricing: invalid price modifierKind",r.modifierKind);var o=f.asTaxByType(e,i);_.isEqual(_.sumObjectValues(t.taxByType,n),o)||(console.info("pricing: adjusting tax",t.taxByType,n,o),n=_.subtractObjectValues(o,t.taxByType))}return n},costPreview:function(e){if(e.price.modifierType===s.S.NONE_MODIFIER_TYPE)return f.nonePriceCost(e);if(e.price.modifierKind===s.S.PERCENTAGE_MODIFIER_KIND)return null;if(s.S.isTaxIncluded(e))return f.applyTaxInclusion(e,e.price.offset);var t=_.roundHalfToEven(e.price.offset*e.sheetRate.sheetRate),n=a.L.taxable(e);return e.price.customTax!==s.S.NO_CUSTOM_TAX?f.applyCustomTax(e,{price:t,taxable:n}):(0,r.y)(t,n,f.asTaxByType(e,n))},computeTotalCostForExplicitGross:function(e,t){var n={},i=t;return e.taxability!==a.L.NONE_TAXABILITY&&(n=p(p({},e.offsetsByType),e.ratesByType),0===i?Object.keys(n).forEach((function(e){n[e]=0})):(Object.entries(e.ratesByType||{}).forEach((function(e){var t=u(e,2),r=t[0],o=t[1];n[r]=i-_.roundHalfToEven(i/(1+o))})),i-=Object.values(n).reduce((function(e,t){return e+t}),0))),r.y.clampAtZero((0,r.y)(i,i,n))}}},64937:function(e,t,n){"use strict";n.d(t,{Y:function(){return i}}),n(16280),n(76918),n(28706);var r=function(e,t){var n="require: ".concat(e);return t?"".concat(n," (").concat(t,")"):n},i={assert:function(e,t){if(!e)throw new Error(r("expected '".concat(e,"' to be true"),t));return!0},assertDefined:function(e,t){if(_.isUndefined(e))throw new Error(r("expected '".concat(e,"' to be defined"),t));return!0},notNull:function(e,t,n){if(null===e[t])throw new Error(r("expected '".concat(t,"' not to be null"),n));return!0},defined:function(e,t,n){if(_.isUndefined(e[t]))throw new Error(r("expected '".concat(t,"' to be defined"),n));return!0},inScope:function(e,t,n){if(_.isUndefined(_.getDotted(e,t)))throw new Error(r("expected '".concat(t,"' to be in scope"),n));return!0}}},1425:function(e,t,n){"use strict";n.d(t,{s:function(){return i}}),n(60739),n(33110),n(79432);var r=function(){var e={};return{get:function(t){var n=e[t];if(void 0!==n)return JSON.parse(n)},set:function(t,n){e[t]=JSON.stringify(n)},del:function(t){delete e[t]},clear:function(){e={}}}},i=r();i.create=r},65047:function(e,t,n){"use strict";n.d(t,{I:function(){return s}}),n(60739),n(33110),n(84185),n(79432);var r=n(1425),i=function(){try{return window.localStorage.setItem("$test","$test"),window.localStorage.removeItem("$test"),!0}catch(e){return!1}},o={},a=r.s.create();i&&(o.key=function(e){try{return window.localStorage.key(e)}catch(e){return}},o.get=function(e){try{var t=window.localStorage.getItem(e);if(!("string"==typeof t||t instanceof String))return;return JSON.parse(t)}catch(e){return}},o.set=function(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}},o.del=function(e){try{window.localStorage.removeItem(e)}catch(e){}},o.clear=function(){try{window.localStorage.clear()}catch(e){}},Object.defineProperty(o,"length",{get:function(){try{return window.localStorage.length}catch(e){return 0}},configurable:!1,enumerable:!1})),o.isPersistent=function(){return i},a.isPersistent=function(){return i};var s=i?o:a},72422:function(e,t,n){"use strict";n.d(t,{D:function(){return l}}),n(28706),n(51629),n(25276),n(79432),n(26099),n(84864),n(57465),n(27495),n(87745),n(38781),n(25440),n(23500);var r=n(82448),i=n(64937),o=function(){return(0,r.$)("models")},a={},s=function(e,t){var n,r,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=e;if(Object.keys(t).forEach((function(e){var i=t[e];e&&void 0!==i&&(r=":".concat(e).concat("(?:\\([^\\)/]+\\))?"),(n=a[r])||(a[r]=new RegExp(r),n=a[r]),o=o.replace(n,i))})),i||-1===o.indexOf(":"))return o},c={Company:function(e){return{shortname:e.shortname,canonical:{company:"company.index",dashboard:"dashboard.index"}}},Hotel:function(e){return{shortname:e.company.shortname,hotelPk:e.pk,canonical:{dashboard:"dashboard.settings.hotels.hotel"}}},Lodging:function(e){return{shortname:e.company.shortname,lodgingPk:e.pk,canonical:{dashboard:"dashboard.settings.lodgings.lodging"}}},PreferredPickup:function(e){return{shortname:e.company.shortname,lodgingPk:e.lodging.pk,preferredPickupPk:e.pk,canonical:{dashboard:"dashboard.settings.lodgings.lodging"}}},Route:function(e){return{shortname:e.company.shortname,routePk:e.pk,canonical:{dashboard:"dashboard.settings.routes.route"}}},Run:function(e){return{shortname:e.route.company.shortname,routePk:e.route.pk,runPk:e.pk,canonical:{dashboard:"dashboard.settings.routes.route"}}},Stop:function(e){return{shortname:e.company.shortname,routePk:e.route.pk,stopPk:e.pk,canonical:{dashboard:"dashboard.settings.routes.route"}}},Pickup:function(e){return{shortname:e.company.shortname,pickupPk:e.pk,canonical:{dashboard:"dashboard.settings.pickups.pickup"}}},User:function(e){return{username:e.username,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.permissions.user.index"}}},CustomManifest:function(e){return{customManifestPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.index"}}},CustomCalendar:function(e){return{customCalendarPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.index"}}},CustomReport:function(e){return{customReportPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.reports.index"}}},Image:function(e){return{imagePk:e.pk,itemPk:e.item?e.item.pk:void 0,shortname:e.company.shortname,canonical:{dashboard:"dashboard.items.item.index"}}},Resource:function(e){return{resourcePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.resources.resource.index"}}},ResourceOverride:function(e){return{resourceOverridePk:e.pk,resourcePk:e.resource.pk,shortname:e.resource.company.shortname,canonical:{dashboard:"dashboard.resources.resource.uses.index"}}},SeatMap:function(e){return{seatMapPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.seating.seatMap.layout.index"}}},SeatGroup:function(e){return{seatGroupPk:e.pk,seatMapPk:e.seatMap.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.seating.seatMap.layout.seatGroup"}}},SeatZone:function(e){return{seatZonePk:e.pk,seatMapPk:e.seatMap.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.seating.seatMap.seatZones.seatZone"}}},Seat:function(e){return{seatPks:e.pk,seatMapPk:e.seatMap.pk,shortname:e.seatMap.company.shortname,canonical:{dashboard:"dashboard.settings.seating.seatMap.layout.seats"}}},TagGroup:function(e){return{tagGroupPk:e.pk,shortname:e.company.shortname}},Tag:function(e){return{tagPk:e.pk,tagGroupPk:e.tagGroup.pk,shortname:e.tagGroup.company.shortname}},Item:function(e){return{itemPk:e.pk,shortname:e.company.shortname,canonical:{company:"company.item.index",dashboard:"dashboard.items.item.index"}}},FlowNode:function(e){return{flowNodePk:e.pk,shortname:e.company.shortname,canonical:{company:"company.flowNode.index",dashboard:"dashboard.settings.flows.flowNode.index"}}},Combo:function(e){return{comboPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.combos.combo"}}},CustomerPrototype:function(e){return{customerPrototypePk:e.pk,itemPk:e.item.pk,shortname:e.item.company.shortname,canonical:{dashboard:"dashboard.items.item.prices.customerTypes"}}},Availability:function(e){return{availabilityPk:e.pk,itemPk:e.item.pk,shortname:e.item.company.shortname,date:e.startAt?e.startAt.format("YYYY-MM-DD"):void 0,canonical:{company:"company.item.availability",dashboard:"dashboard.overlay.availability.index"}}},AvailabilitySchedule:function(e){return{availabilitySchedulePk:e.pk,itemPk:e.item.pk,shortname:e.item.company.shortname,canonical:{dashboard:"dashboard.items.item.availabilitySchedules.availabilitySchedule.index"}}},AvailabilityScheduleRule:function(e){return{availabilityScheduleRulePk:e.pk,itemPk:e.item.pk,availabilitySchedulePk:e.availabilitySchedule.pk,shortname:e.item.company.shortname,canonical:{dashboard:"dashboard.items.item.availabilitySchedules.availabilitySchedule.availabilityScheduleRule"}}},Block:function(e){return{blockPk:e.pk,availabilityPk:e.availability.pk,itemPk:e.availability.item.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.availability.index"}}},Contact:function(e){return{contactPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.index"}}},Order:function(e){return{contactPk:e.contact.pk,orderUuid:e.uuid,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.order",company:"company.order.index"}}},Booking:function(e){return{bookingUuid:e.uuid,itemPk:e.item.pk,contactPk:e.contact.pk,shortname:e.company.shortname,affiliateShortname:e.affiliation?e.affiliation.affiliateCompany.shortname:void 0,canonical:{company:"company.item.booking",dashboard:"dashboard.overlay.contact.booking"}}},Campaign:function(e){return{campaignPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.campaigns.campaign.index"}}},CampaignValidityRule:function(e){return{campaignValidityRulePk:e.pk,campaignPk:e.campaign.pk,shortname:e.campaign.company.shortname,canonical:{dashboard:"dashboard.settings.campaigns.campaign.settings"}}},Code:function(e){return{codePk:e.pk,campaignPk:e.campaign.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.campaigns.campaign.code"}}},Membership:function(e){return{membershipPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.memberships.membership.index"}}},MembershipRange:function(e){return{memberPk:e.member.pk,contactPk:e.member.contact.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.member"}}},Member:function(e){return{memberPk:e.pk,contactPk:e.contact.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.member"}}},Benefit:function(e){return{benefitPk:e.pk,membershipPk:e.membership.pk,shortname:e.membership.company.shortname,canonical:{dashboard:"dashboard.settings.memberships.membership.benefit"}}},BenefitBlackOutRule:function(e){return{benefitBlackOutRulePk:e.pk,benefitPk:e.benefit.pk,membershipPk:e.benefit.membership.pk,shortname:e.benefit.membership.company.shortname,canonical:{dashboard:"dashboard.settings.memberships.membership.benefit"}}},StoredValueType:function(e){return{storedValueTypePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.storedValue.storedValueType"}}},StoredValueCardDesignTemplate:function(e){return{storedValueCardDesignTemplatePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.storedValue.storedValueCardDesignTemplate"}}},StoredValueCard:function(e){return{storedValueCardPk:e.pk,storedValueCardNumber:e.number,shortname:e.storedValueType.company.shortname,canonical:{dashboard:"dashboard.settings.storedValue.storedValueCard.index"}}},StoredValueAdjustment:function(e){return{storedValueAdjustmentPk:e.pk,storedValueCardPk:e.storedValueCard.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.storedValue.storedValueCard.storedValueAdjustment"}}},PaymentProcessingDocument:function(e){return{paymentProcessingDocumentPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.document.index"}}},Customer:function(e){return{customerPk:e.pk,bookingUuid:e.booking.uuid,shortname:e.company.shortname,contactPk:_.get(e,"booking.contact.pk"),canonical:{dashboard:"dashboard.overlay.contact.booking"}}},CheckinStatus:function(e){return{checkinStatusPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.checkinStatuses"}}},CustomerType:function(e){return{customerTypePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customerTypes.customerType"}}},CustomerTypeRate:function(e){return{customerTypeRatePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.availability.prices"}}},CannedMessage:function(e){return{cannedMessagePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.cannedMessages.cannedMessage"}}},AvailabilityHeadline:function(e){return{availabilityHeadlinePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.availabilityHeadlines.availabilityHeadline"}}},InStorePaymentType:function(e){return{inStorePaymentTypePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.inStorePaymentTypes"}}},TaxType:function(e){return{taxTypePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.taxTypes.taxType"}}},Ledger:function(e){return{ledgerPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.ledgers.ledger"}}},EmvDevice:function(e){return{inStorePaymentTypePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.emvDevices"}}},BankAccount:function(e){return{bankAccountPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.bankAccounts"}}},Card:function(e){return{cardPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.cards.card.index"}}},CardAffiliation:function(e){return{cardAffiliationPk:e.pk,cardPk:e.card.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.payments.cards.card.index"}}},Payment:function(e){return{paymentPk:e.pk,contactPk:e.booking.contact.pk,bookingUuid:e.booking.uuid,itemPk:e.item.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},Refund:function(e){return{refundPk:e.pk,paymentPk:e.payment.pk,contactPk:e.payment.booking.contact.pk,bookingUuid:e.payment.booking.uuid,itemPk:e.payment.booking.item.pk,shortname:e.payment.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},LegacyTransfer:function(e){return{transferPk:e.pk,shortname:e.company.shortname}},LegacyTransaction:function(e){return{transactionPk:e.pk}},Account:function(e){return{accountPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.reports.transactions.index"}}},Payout:function(e){return{payoutPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.reports.payouts.payout"}}},Transfer:function(e){return{transferPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.reports.accounts.transfer"}}},Upload:function(e){return{uploadPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.reports.accounts.upload"}}},Adjustment:function(e){return{adjustmentPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.reports.transactions.adjustment"}}},Transaction:function(e){return{transactionPk:e.pk,shortname:o().Company.ADMIN_SHORTNAME,canonical:{dashboard:"dashboard.reports.transactions.index"}}},LineItem:function(e){return{lineItemPk:e.pk,contactPk:e.booking.contact.pk,bookingUuid:e.booking.uuid,itemPk:e.item.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},PaymentSchedule:function(e){return{paymentSchedulePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.privateEvents.paymentSchedules.paymentSchedule.index"}}},Contract:function(e){return{contractPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.privateEvents.contracts.contract.index"}}},Agent:function(e){return{agentPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.agents.agent"}}},Desk:function(e){return{deskPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.desks.desk"}}},Role:function(e){return{rolePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.index"}}},CrewMember:function(e){return{crewMemberPk:e.pk,availabilityPk:e.availability.pk,itemPk:e.availability.item.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.availability.index"}}},CustomField:function(e){return{customFieldPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customFields.customField"}}},TransportationOption:function(e){return{transportationOptionPk:e.pk,customFieldPk:e.customField.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customFields.customField"}}},ExtendedOption:function(e){return{extendedOptionPk:e.pk,customFieldPk:e.customField.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customFields.customField"}}},ConnectedCampaign:function(e){return{connectedCampaignPk:e.pk,customFieldPk:e.customField.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customFields.customField"}}},ConnectedWaiver:function(e){return{connectedWaiverPk:e.pk,customFieldPk:e.customField.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customFields.customField"}}},GeneratingCampaign:function(e){return{generatingCampaignPk:e.pk,customFieldPk:e.customField.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.customFields.customField"}}},CustomFieldInstance:function(e){return{customFieldInstancePk:e.pk,itemPk:e.item?e.item.pk:"",shortname:e.company.shortname,customFieldInstanceGroupPk:e.customFieldInstanceGroup?e.customFieldInstanceGroup.pk:"",canonical:{dashboard:e.item?"dashboard.items.item.prices.index":"dashboard.settings.customFieldInstanceGroups.customFieldInstanceGroup"}}},CustomFieldInstanceCondition:function(e){return{customFieldInstanceConditionPk:e.pk,customFieldInstancePk:e.customFieldInstance.pk,shortname:e.customFieldInstance.company.shortname,customFieldInstanceGroupPk:e.customFieldInstanceGroup?e.customFieldInstanceGroup.pk:"",canonical:{dashboard:e.customFieldInstance.item?"dashboard.items.item.prices.index":"dashboard.settings.customFieldInstanceGroups.customFieldInstanceGroup"}}},CustomFieldInstanceGroup:function(e){return{customFieldInstanceGroupPk:e.pk,itemPk:e.item?e.item.pk:null,shortname:e.company.shortname,canonical:{dashboard:e.item?"dashboard.items.item.prices.fieldGroups":"dashboard.settings.customFieldInstanceGroups.customFieldInstanceGroup"}}},RequirementGroup:function(e){return{requirementGroupPk:e.pk,shortname:e.company.shortname,itemPk:e.isItemLevel?e.item.pk:null,canonical:{dashboard:e.isItemLevel?"dashboard.items.item.prices.resources":"dashboard.settings.requirementGroups.requirementGroup"}}},Requirement:function(e){return{requirementPk:e.pk,requirementGroupPk:e.requirementGroup.pk,itemPk:e.requirementGroup.isItemLevel?e.requirementGroup.item.pk:null,shortname:e.requirementGroup.company.shortname,canonical:{dashboard:"dashboard.items.item.prices.resources"}}},CustomerPrototypeRequirement:function(e){return{customerPrototypeRequirementPk:e.pk,requirementPk:e.requirement.pk,requirementGroupPk:e.requirement.requirementGroup.pk,itemPk:e.requirement.requirementGroup.isItemLevel?e.requirement.requirementGroup.item.pk:null,shortname:e.requirement.requirementGroup.company.shortname,canonical:{dashboard:"dashboard.items.item.prices.resources"}}},ResourceRequirement:function(e){return{resourceRequirementPk:e.pk,requirementPk:e.requirement.pk,requirementGroupPk:e.requirement.requirementGroup.pk,itemPk:e.requirement.requirementGroup.isItemLevel?e.requirement.requirementGroup.item.pk:null,shortname:e.requirement.requirementGroup.company.shortname,canonical:{dashboard:"dashboard.items.item.prices.resources"}}},CustomerCustomFieldValue:function(e){return{customerCustomFieldValuePk:e.pk,contactPk:e.booking.contact.pk,bookingUuid:e.booking.uuid,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},BookingCustomFieldValue:function(e){return{bookingCustomFieldValuePk:e.pk,contactPk:e.booking.contact.pk,bookingUuid:e.booking.uuid,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},Group:function(e){return{groupPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.permissions.group"}}},GroupOverride:function(e){return{groupOverridePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.permissions.groupOverride"}}},ResourceUse:function(e){return{resourceUsePk:e.pk,customerPk:e.customer?e.customer.pk:void 0,contactPk:e.booking.contact.pk,bookingUuid:e.booking.uuid,shortname:e.booking.contact.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},Affiliation:function(e){return{affiliationPk:e.pk,shortname:e.company.shortname,affiliateShortname:e.affiliateCompany.shortname,canonical:{dashboard:"dashboard.settings.network.affiliates.affiliate.index"}}},Activity:function(e){return{activityPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.activity.index"}}},Notification:function(e){return{notificationPk:e.pk,shortname:e.company.shortname,contactPk:e.booking?e.booking.contact.pk:void 0,bookingUuid:e.booking?e.booking.uuid:void 0,availabilityPk:e.availability?e.availability.pk:void 0,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},SmsNotification:function(e){return{smsNotificationPk:e.pk,shortname:e.company.shortname,contactPk:e.booking?e.booking.contact.pk:void 0,bookingUuid:e.booking?e.booking.uuid:void 0,availabilityPk:e.availability?e.availability.pk:void 0,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},Subscription:function(e){return{subscriptionPk:e.pk,username:e.user.username,shortname:e.user.company.shortname,canonical:{dashboard:"dashboard.settings.permissions.user.settings"}}},Invoice:function(e){return{invoicePk:e.pk,invoiceUuid:e.uuid,shortname:e.company.shortname,affiliateShortname:e.affiliation?e.affiliation.affiliateCompany.shortname:void 0,canonical:{dashboard:"dashboard.reports.invoices.invoice.index"}}},InvoiceEntry:function(e){return{invoiceEntryPk:e.pk,invoiceUuid:e.invoice.uuid,invoicePk:e.invoice.pk,shortname:e.invoice.company.shortname,canonical:{dashboard:"dashboard.reports.invoices.invoice.index"}}},Report:function(e){return{reportPk:e.pk,shortname:e.company.shortname,modelSlug:e.type===o().Report.ADVANCED_TYPE?o().Report.MODELS[e.options.modelName].slug:void 0,canonical:{dashboard:"dashboard.reports.advanced.permalink"}}},Waiver:function(e){return{waiverPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.waivers.waiver.index"}}},WaiverInstance:function(e){return{waiverPk:e.waiver.pk,waiverInstancePk:e.pk,bookingUuid:e.booking.uuid,contactPk:e.booking.contact.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.overlay.contact.booking"}}},TotalSchedule:function(e){return{shortname:e.company.shortname,totalSchedulePk:e.pk,totalScheduleUuid:e.uuid,canonical:{dashboard:"dashboard.settings.pricing.totalSchedules.index"}}},TotalScheduleEntry:function(e){return{shortname:e.company.shortname,totalSchedulePk:e.schedule.pk,totalScheduleEntryPk:e.pk,canonical:{dashboard:"dashboard.settings.pricing.totalSchedules.entry.index"}}},TotalScheduleEntryRule:function(e){return{shortname:e.entry.schedule.company.shortname,totalSchedulePk:e.entry.schedule.pk,totalScheduleEntryPk:e.entry.pk,totalScheduleEntryRulePk:e.pk,canonical:{dashboard:e.type===o().ScheduleEntryRule.FALLBACK?"dashboard.settings.pricing.totalSchedules.settings":"dashboard.settings.pricing.totalSchedules.entry.index"}}},InvoiceSchedule:function(e){return{shortname:e.company.shortname,invoiceSchedulePk:e.pk,canonical:{dashboard:"dashboard.settings.pricing.invoiceSchedules.index"}}},InvoiceScheduleEntry:function(e){return{shortname:e.company.shortname,invoiceSchedulePk:e.schedule.pk,invoiceScheduleEntryPk:e.pk,canonical:{dashboard:"dashboard.settings.pricing.invoiceSchedules.entry.index"}}},InvoiceScheduleEntryRule:function(e){return{shortname:e.company.shortname,invoiceSchedulePk:e.entry.schedule.pk,invoiceScheduleEntryPk:e.entry.pk,invoiceScheduleEntryRulePk:e.pk,canonical:{dashboard:"dashboard.settings.pricing.invoiceSchedules.entry.index"}}},TotalSheet:function(e){return{totalSheetPk:e.pk,totalSheetUuid:e.uuid,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.pricing.totalSheet"}}},TotalLine:function(e){return{totalSheetPk:e.sheet.pk,totalSheetUuid:e.sheet.uuid,shortname:e.sheet.company.shortname,canonical:{dashboard:"dashboard.settings.pricing.totalSheet"}}},InvoiceSheet:function(e){return{invoiceSheetPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.pricing.invoiceSheet"}}},InvoiceLine:function(e){return{invoiceSheetPk:e.sheet.pk,shortname:e.sheet.company.shortname,canonical:{dashboard:"dashboard.settings.pricing.invoiceSheet"}}},SupportedLanguage:function(e){return{languagePk:e.pk,shortname:e.company.shortname,modelName:o().Translation.modelNameForUrl(e.modelName),canonical:{dashboard:"dashboard.settings.translations.language.translations.index"}}},Translation:function(e){return{translationPk:e.pk,languagePk:e.supportedLanguage.pk,shortname:e.supportedLanguage.company.shortname,canonical:{dashboard:"dashboard.settings.translations.language.translations.index"}}},Location:function(e){return{locationPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.locations.location"}}},ResellerCompany:function(e){return{resellerCompanyPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.company.index"}}},ResellerCompanyMapping:function(e){return{resellerCompanyMappingPk:e.pk,resellerCompanyPk:e.resellerCompany.pk,shortname:e.resellerCompany.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.company.index"}}},ResellerItem:function(e){return{resellerItemPk:e.pk,resellerCompanyPk:e.resellerCompany.pk,shortname:e.resellerCompany.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.item.index"}}},ResellerItemMapping:function(e){return{resellerItemMappingPk:e.pk,resellerItemPk:e.resellerItem.pk,resellerCompanyPk:e.resellerItem.resellerCompany.pk,shortname:e.resellerItem.resellerCompany.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.item.index"}}},ResellerCustomerType:function(e){return{resellerCustomerTypePk:e.pk,resellerItemPk:e.resellerItem.pk,resellerCompanyPk:e.resellerItem.resellerCompany.pk,shortname:e.resellerItem.resellerCompany.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.customerType.index"}}},ResellerCustomerTypeMapping:function(e){return{resellerCustomerTypeMappingPk:e.pk,resellerCustomerTypePk:e.resellerCustomerType.pk,resellerItemPk:e.resellerCustomerType.resellerItem.pk,resellerCompanyPk:e.resellerCustomerType.resellerItem.resellerCompany.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.customerType.index"}}},ResellerOption:function(e){return{resellerOptionPk:e.pk,resellerItemPk:e.resellerItem.pk,resellerCompanyPk:e.resellerItem.resellerCompany.pk,shortname:e.resellerItem.resellerCompany.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.option.index"}}},ResellerOptionMapping:function(e){return{resellerOptionMappingPk:e.pk,resellerOptionPk:e.resellerOption.pk,resellerItemPk:e.resellerOption.resellerItem.pk,resellerCompanyPk:e.resellerOption.resellerItem.resellerCompany.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.option.index"}}},ResellerKey:function(e){return{resellerKeyPk:e.pk,username:e.user.username,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.permissions.user.apiKeys.apiKey"}}},ResellerApp:function(e){return{resellerAppPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.reseller.apps.app.index"}}},ResellerAppRequest:function(e){return{resellerAppRequestPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.connect"}}},ResellerAppCompany:function(e){return{resellerAppCompanyPk:e.pk,resellerAppPk:e.resellerApp.pk,shortname:e.resellerApp.company.shortname}},AnalyticsService:function(e){return{analyticsServicePk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.analyticsServices.analyticsService"}}},CancellationPolicy:function(e){return{cancellationPolicyPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.cancellationPolicy.index"}}},CancellationRule:function(e){return{cancellationPolicyPk:e.cancellationPolicy.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.cancellationPolicy.index"}}},BookingRestriction:function(e){return{bookingRestrictionPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.bookingRestrictions.bookingRestriction"}}},ItemAffiliateRule:function(e){return{restrictionPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.network.rules.edit"}}},InvoicingDataJob:function(e){return{shortname:e.company.shortname,jobUuid:e.uuid,canonical:{dashboard:"dashboard.fhdn.invoices.existing"}}},TicketLayout:function(e){return{ticketLayoutPk:e.pk,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.ticketLayouts.ticketLayout.index"}}},WebhookConfig:function(e){return{webhookPk:e.pk,username:e.user.username,shortname:e.company.shortname,canonical:{dashboard:"dashboard.settings.permissions.user.webhooks.webhook"}}}},u=function(e){i.Y.assert(e,"urls: unable to extract from object"),i.Y.defined(c,e.cls,"urls: unable to extract cls");try{return c[e.cls](e)}catch(t){return console.warn("urls: unable to extract",e,t),{}}},l={calendarUrls:function(e){return{index:e,month:"".concat(e,":year/:month/"),day:"".concat(e,":year/:month/:day/"),agenda:"".concat(e,":year/:month/:day/"),grid:"".concat(e,":year/:month/:day/"),timeline:"".concat(e,":year/:month/:day/")}},dayUrlForCompany:function(e,t){var n=e.features.isDayViewEnabled?l.dashboard.bookings.day.date:"".concat(l.dashboard.bookings.timeline.date,"?timeline-type=").concat(o().Company.AVAILABILITY_TIMELINE);return s(n,{shortname:e.shortname,date:t.format("YYYY-MM-DD")})},legacyManifest:"/:shortname/manifest/",company:{index:"/:shortname/",login:"/:shortname/login/",about:"/:shortname/about/",faq:"/:shortname/faq/",policies:"/:shortname/policies/",items:{index:"/:shortname/items/",calendar:"/:shortname/items/calendar/",date:{index:"/:shortname/items/date/",date:"/:shortname/items/date/:date/"}},item:{index:"/:shortname/items/:itemPk(pk)/",calendar:"/:shortname/items/:itemPk(pk)/calendar/",month:"/:shortname/items/:itemPk(pk)/calendar/:year/:month/",date:"/:shortname/items/:itemPk(pk)/date/:date/",availability:"/:shortname/items/:itemPk(pk)/availability/:availabilityPk/",book:"/:shortname/items/:itemPk(pk)/availability/:availabilityPk/book/",booking:"/:shortname/items/:itemPk(pk)/booking/:bookingUuid/"},storedValueCard:{index:"/:shortname/gift-cards/:storedValueCardNumber/"},cart:{index:"/:shortname/cart/",permalink:"/:shortname/cart/?u=:cartUuid"},order:{index:"/:shortname/orders/:orderUuid/"},invoice:{index:"/:shortname/invoices/:invoiceUuid/"},flowNode:{index:"/:shortname/items/?flow=:flowNodePk",calendar:"/:shortname/items/calendar/?flow=:flowNodePk",date:{index:"/:shortname/items/date/?flow=:flowNodePk",date:"/:shortname/items/date/:date/?flow=:flowNodePk"}}},dashboard:{index:"/:shortname/dashboard/",overlay:{index:"/:shortname/dashboard/@overlay=/",item:{index:"/:shortname/dashboard/@overlay=/items/:itemPk/",date:"/:shortname/dashboard/@overlay=/items/:itemPk/date/:date/"},availability:{index:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/",bookings:{index:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/bookings/",cancelled:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/bookings/cancelled/"},message:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/message/",settings:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/settings/",prices:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/prices/",integrations:"/:shortname/dashboard/@overlay=/items/:itemPk/availabilities/:availabilityPk/integrations/"},contact:{index:"/:shortname/dashboard/@overlay=/contacts/:contactPk/",booking:"/:shortname/dashboard/@overlay=/contacts/:contactPk/bookings/:bookingUuid/",order:"/:shortname/dashboard/@overlay=/contacts/:contactPk/orders/:orderUuid/",member:"/:shortname/dashboard/@overlay=/contacts/:contactPk/members/:memberPk/"},deprecatedBooking:{index:"/:shortname/dashboard/@overlay=/bookings/:bookingUuid/"},activity:{index:"/:shortname/dashboard/@overlay=/activities/:activityPk/"},translation:{index:"/:shortname/dashboard/@overlayTop=/translations/:objectType/:objectId/:objectField/"},document:{index:"/:shortname/dashboard/@overlay=/documents/:paymentProcessingDocumentPk"},close:"/:shortname/dashboard/@overlay"},translationsOverlay:{index:"/:shortname/dashboard/@translations-overlay=/",forSubfield:"/:shortname/dashboard/@translations-overlay=/for-field/:objectType/:objectId/:objectField/:subfield/",forField:"/:shortname/dashboard/@translations-overlay=/for-field/:objectType/:objectId/:objectField/",close:"/:shortname/dashboard/@translations-overlay"},admin:{index:"/:shortname/dashboard/admin/"},manifest:{index:"/:shortname/dashboard/manifest/",date:"/:shortname/dashboard/manifest/date/:date/",bookings:"/:shortname/dashboard/manifest/date/:date/bookings/",availabilities:"/:shortname/dashboard/manifest/date/:date/availabilities/",items:"/:shortname/dashboard/manifest/date/:date/items/",runs:"/:shortname/dashboard/manifest/date/:date/runs/",resources:"/:shortname/dashboard/manifest/date/:date/resources/"},bookings:{index:"/:shortname/dashboard/bookings/",calendar:"/:shortname/dashboard/bookings/calendar/",day:{index:"/:shortname/dashboard/bookings/day/",date:"/:shortname/dashboard/bookings/day/:date/"},grid:{index:"/:shortname/dashboard/bookings/grid/",date:"/:shortname/dashboard/bookings/grid/:date/"},timeline:{index:"/:shortname/dashboard/bookings/timeline/",date:"/:shortname/dashboard/bookings/timeline/:date/"},agenda:{index:"/:shortname/dashboard/bookings/agenda/",date:"/:shortname/dashboard/bookings/agenda/:date/"},booking:{deprecatedPermalink:"/:shortname/dashboard/bookings/:bookingUuid/view/",deprecatedAffiliatePermalink:"/:affiliateShortname/dashboard/bookings/network/:shortname/:bookingUuid/"},contact:{index:"/:shortname/dashboard/bookings/contacts/:contactPk/",order:"/:shortname/dashboard/bookings/contacts/:contactPk/orders/:orderUuid/view/",booking:"/:shortname/dashboard/bookings/contacts/:contactPk/bookings/:bookingUuid/view/",affiliateContactPermalink:"/:affiliateShortname/dashboard/bookings/network/:shortname/contacts/:contactPk/",affiliateBookingPermalink:"/:affiliateShortname/dashboard/bookings/network/:shortname/contacts/:contactPk/bookings/:bookingUuid/",affiliateOrderPermalink:"/:affiliateShortname/dashboard/bookings/network/:shortname/contacts/:contactPk/orders/:orderUuid/"}},reports:{index:"/:shortname/dashboard/reports/",type:"/:shortname/dashboard/reports/:type/",invoices:{index:"/:shortname/dashboard/reports/invoices/",create:{index:"/:shortname/dashboard/reports/invoices/create/",permalink:"/:shortname/dashboard/reports/invoices/create/report/:reportPk/"},permalink:"/:shortname/dashboard/reports/invoices/report/:reportPk/",invoice:{index:"/:shortname/dashboard/reports/invoices/invoice/:invoicePk/",multi:"/:shortname/dashboard/reports/invoices/invoices/:invoicePks(pks)/",notification:"/:shortname/dashboard/reports/invoices/invoice/:invoicePk/notification/",upload:"/:shortname/dashboard/reports/invoices/invoice/:invoicePk/upload/"},partnerInvoice:{index:"/:affiliateShortname/dashboard/reports/invoices/partner-invoice/:invoicePk/",notification:"/:affiliateShortname/dashboard/reports/invoices/partner-invoice/:invoicePk/notification/",upload:"/:affiliateShortname/dashboard/reports/invoices/partner-invoice/:invoicePk/upload/"}},test:{index:"/:shortname/dashboard/reports/test/",permalink:"/:shortname/dashboard/reports/test/report/:reportPk/"},reports:{index:"/:shortname/dashboard/reports/reports/"},accounts:{index:"/:shortname/dashboard/reports/accounts/",permalink:"/:shortname/dashboard/reports/accounts/report/:reportPk/",transfer:"/:shortname/dashboard/reports/accounts/transfer/:transferPk/",upload:"/:shortname/dashboard/reports/accounts/upload/:uploadPk/"},refundReserve:{index:"/:shortname/dashboard/reports/refund-reserve/",permalink:"/:shortname/dashboard/reports/refund-reserve/report/:reportPk/"},customersRedirect:{index:"/:shortname/dashboard/reports/customers/"},contacts:{index:"/:shortname/dashboard/reports/contacts/",permalink:"/:shortname/dashboard/reports/contacts/report/:reportPk/"},fhdn:{index:"/:shortname/dashboard/reports/fhdn/"},bookings:{index:"/:shortname/dashboard/reports/bookings/",permalink:"/:shortname/dashboard/reports/bookings/report/:reportPk/"},companies:{index:"/:shortname/dashboard/reports/companies/",permalink:"/:shortname/dashboard/reports/companies/report/:reportPk/"},payments:{index:"/:shortname/dashboard/reports/payments/",permalink:"/:shortname/dashboard/reports/payments/report/:reportPk/"},disputes:{index:"/:shortname/dashboard/reports/disputes/",permalink:"/:shortname/dashboard/reports/disputes/report/:reportPk/"},lineItems:{index:"/:shortname/dashboard/reports/line-items/",permalink:"/:shortname/dashboard/reports/line-items/report/:reportPk/"},payouts:{index:"/:shortname/dashboard/reports/payouts/",permalink:"/:shortname/dashboard/reports/payouts/report/:reportPk/",payout:"/:shortname/dashboard/reports/payouts/payout/:payoutPk/"},escrow:{index:"/:shortname/dashboard/reports/future-payouts/",permalink:"/:shortname/dashboard/reports/future-payouts/report/:reportPk/"},volume:{index:"/:shortname/dashboard/reports/volume/",permalink:"/:shortname/dashboard/reports/volume/report/:reportPk/"},transactions:{index:"/:shortname/dashboard/reports/transactions/",permalink:"/:shortname/dashboard/reports/transactions/report/:reportPk/",adjustment:"/:shortname/dashboard/reports/transactions/:adjustmentPk/"},bookingTypesSummary:{index:"/:shortname/dashboard/reports/booking-types-summary/",permalink:"/:shortname/dashboard/reports/booking-types-summary/report/:reportPk/"},crewSummary:{index:"/:shortname/dashboard/reports/crew-summary/",permalink:"/:shortname/dashboard/reports/crew-summary/report/:reportPk/"},disputesCenter:{index:"/:shortname/dashboard/reports/disputes-center/"},customerTypesSummary:{index:"/:shortname/dashboard/reports/customer-types-summary/",permalink:"/:shortname/dashboard/reports/customer-types-summary/report/:reportPk/"},customFieldSummary:{index:"/:shortname/dashboard/reports/custom-field-summary/",permalink:"/:shortname/dashboard/reports/custom-field-summary/report/:reportPk/"},itemsSummary:{index:"/:shortname/dashboard/reports/items-summary/",permalink:"/:shortname/dashboard/reports/items-summary/report/:reportPk/"},lodgingsSummary:{index:"/:shortname/dashboard/reports/lodging-summary/",permalink:"/:shortname/dashboard/reports/lodging-summary/report/:reportPk/"},pickupsSummary:{index:"/:shortname/dashboard/reports/pickups-summary/",permalink:"/:shortname/dashboard/reports/pickups-summary/report/:reportPk/"},usersSummary:{index:"/:shortname/dashboard/reports/users-summary/",permalink:"/:shortname/dashboard/reports/users-summary/report/:reportPk/"},agentsSummary:{index:"/:shortname/dashboard/reports/agents-summary/",permalink:"/:shortname/dashboard/reports/agents-summary/report/:reportPk/"},desksSummary:{index:"/:shortname/dashboard/reports/desks-summary/",permalink:"/:shortname/dashboard/reports/desks-summary/report/:reportPk/"},campaignsSummary:{index:"/:shortname/dashboard/reports/campaigns-summary/",permalink:"/:shortname/dashboard/reports/campaigns-summary/report/:reportPk/"},revenueSummary:{index:"/:shortname/dashboard/reports/revenue-summary/",permalink:"/:shortname/dashboard/reports/revenue-summary/report/:reportPk/"},advanced:{redirect:"/:shortname/dashboard/reports/advanced/",index:"/:shortname/dashboard/reports/advanced/:modelSlug/",permalink:"/:shortname/dashboard/reports/advanced/:modelSlug/:reportPk/"}},items:{index:"/:shortname/dashboard/items/",grid:"/:shortname/dashboard/items/grid/",list:"/:shortname/dashboard/items/list/",item:{index:"/:shortname/dashboard/items/:itemPk/",activity:"/:shortname/dashboard/items/:itemPk/activity/",calendar:"/:shortname/dashboard/items/:itemPk/calendar/",prices:{index:"/:shortname/dashboard/items/:itemPk/prices/",customerTypes:"/:shortname/dashboard/items/:itemPk/prices/customer-types/",fieldGroups:"/:shortname/dashboard/items/:itemPk/prices/field-groups/",resources:"/:shortname/dashboard/items/:itemPk/prices/resources/"},bookingImporter:{index:"/:shortname/dashboard/items/:itemPk/booking-importer/"},availabilitySchedules:{index:"/:shortname/dashboard/items/:itemPk/availability-schedules/",availabilitySchedule:{index:"/:shortname/dashboard/items/:itemPk/availability-schedules/:availabilitySchedulePk/overview/",settings:"/:shortname/dashboard/items/:itemPk/availability-schedules/:availabilitySchedulePk/overview/settings/",availabilityScheduleRule:"/:shortname/dashboard/items/:itemPk/availability-schedules/:availabilitySchedulePk/availability-schedule-rules/:availabilityScheduleRulePk"}},embeds:"/:shortname/dashboard/items/:itemPk/embeds/",onlineBooking:"/:shortname/dashboard/items/:itemPk/online-booking/",suggestedItems:"/:shortname/dashboard/items/:itemPk/suggested-items/",seating:"/:shortname/dashboard/items/:itemPk/seating/",info:{index:"/:shortname/dashboard/items/:itemPk/info/",notes:"/:shortname/dashboard/items/:itemPk/info/notes/",basic:"/:shortname/dashboard/items/:itemPk/info/basic/",photos:"/:shortname/dashboard/items/:itemPk/info/photos/",advanced:"/:shortname/dashboard/items/:itemPk/info/advanced/",tags:"/:shortname/dashboard/items/:itemPk/info/tags/"},listing:{index:"/:shortname/dashboard/items/:itemPk/listing/",basic:"/:shortname/dashboard/items/:itemPk/listing/basic/",contentBuilder:"/:shortname/dashboard/items/:itemPk/listing/content-builder/",photos:"/:shortname/dashboard/items/:itemPk/listing/photos/",facts:"/:shortname/dashboard/items/:itemPk/listing/facts/"},notifications:{index:"/:shortname/dashboard/items/:itemPk/notifications/",internal:"/:shortname/dashboard/items/:itemPk/notifications/internal/",external:"/:shortname/dashboard/items/:itemPk/notifications/external/"},integrations:{index:"/:shortname/dashboard/items/:itemPk/integrations/",subscribe:"/:shortname/dashboard/items/:itemPk/integrations/subscribe/",reviewExpress:"/:shortname/dashboard/items/:itemPk/integrations/review-express/",picthrive:"/:shortname/dashboard/items/:itemPk/integrations/picthrive/",googleRatings:"/:shortname/dashboard/items/:itemPk/integrations/google-ratings/",channelSettings:"/:shortname/dashboard/items/:itemPk/integrations/channel-settings/"}}},resources:{index:"/:shortname/dashboard/resources/",resource:{index:"/:shortname/dashboard/resources/:resourcePk/",settings:"/:shortname/dashboard/resources/:resourcePk/settings/",uses:{index:"/:shortname/dashboard/resources/:resourcePk/uses/",overview:"/:shortname/dashboard/resources/:resourcePk/uses/overview/",day:"/:shortname/dashboard/resources/:resourcePk/uses/date/:date/"}}},settings:{index:"/:shortname/dashboard/settings/",advanced:"/:shortname/dashboard/settings/advanced/",privateEvents:{index:"/:shortname/dashboard/settings/private-events/",paymentSchedules:{index:"/:shortname/dashboard/settings/private-events/payment-schedules/",create:"/:shortname/dashboard/settings/private-events/payment-schedules/create/",paymentSchedule:{index:"/:shortname/dashboard/settings/private-events/payment-schedules/:paymentSchedulePk(pk)/"}},contracts:{index:"/:shortname/dashboard/settings/private-events/contracts/",create:"/:shortname/dashboard/settings/private-events/contracts/create/",contract:{index:"/:shortname/dashboard/settings/private-events/contracts/:contractPk(pk)/"}}},payments:{index:"/:shortname/dashboard/settings/payments/",cards:{index:"/:shortname/dashboard/settings/payments/cards/",card:{index:"/:shortname/dashboard/settings/payments/cards/:cardPk/",settings:"/:shortname/dashboard/settings/payments/cards/:cardPk/settings/"}},inStorePaymentTypes:"/:shortname/dashboard/settings/payments/payment-types/",taxTypes:{index:"/:shortname/dashboard/settings/payments/tax-types/",create:"/:shortname/dashboard/settings/payments/tax-types/create/",taxType:"/:shortname/dashboard/settings/payments/tax-types/tax-type/:taxTypePk/"},emvDevices:"/:shortname/dashboard/settings/payments/emv-devices/",bankAccounts:"/:shortname/dashboard/settings/payments/bank-accounts/",billing:"/:shortname/dashboard/settings/payments/billing/",refundReserve:"/:shortname/dashboard/settings/payments/refund-reserve/",ledgers:{index:"/:shortname/dashboard/settings/payments/ledgers/",ledger:"/:shortname/dashboard/settings/payments/ledgers/:ledgerPk"}},profile:{index:"/:shortname/dashboard/settings/profile/",style:"/:shortname/dashboard/settings/profile/style/",slideshow:"/:shortname/dashboard/settings/profile/slideshow/",pages:"/:shortname/dashboard/settings/profile/pages/"},info:{index:"/:shortname/dashboard/settings/info/",notesAndPolicies:{index:"/:shortname/dashboard/settings/info/notes/",health:"/:shortname/dashboard/settings/info/notes/health/",hours:"/:shortname/dashboard/settings/info/notes/hours/"},contact:"/:shortname/dashboard/settings/info/contact/",socialMedia:"/:shortname/dashboard/settings/info/social-media/",advanced:"/:shortname/dashboard/settings/info/advanced/",tags:"/:shortname/dashboard/settings/info/tags/",facts:"/:shortname/dashboard/settings/info/facts/"},cancellationPolicies:"/:shortname/dashboard/settings/cancellation-policies/",cancellationPolicy:{index:"/:shortname/dashboard/settings/cancellation-policies/:cancellationPolicyPk/",settings:"/:shortname/dashboard/settings/cancellation-policies/:cancellationPolicyPk/settings/"},tagGroups:{index:"/:shortname/dashboard/settings/tag-groups/",tagGroup:{index:"/:shortname/dashboard/settings/tag-groups/:tagGroupPk/",settings:"/:shortname/dashboard/settings/tag-groups/:tagGroupPk/settings/",tag:"/:shortname/dashboard/settings/tag-groups/:tagGroupPk/tags/:tagPk/"}},seating:{index:"/:shortname/dashboard/settings/seat-maps/",seatMap:{index:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/",layout:{index:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/layout/",seatGroup:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/layout/seat-groups/:seatGroupPk/",duplicate:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/layout/seats/:seatPks(pks)/duplicate/",seats:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/layout/seats/:seatPks(pks)/",new:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/layout/new/:seatGroupPk/:xCoord/:yCoord/"},seatZones:{index:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/seat-zones/",seatZone:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/seat-zones/:seatZonePk/"},settings:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/settings/",activity:"/:shortname/dashboard/settings/seat-maps/:seatMapPk/activity/"}},permissions:{index:"/:shortname/dashboard/settings/permissions/",groups:"/:shortname/dashboard/settings/permissions/groups/",group:"/:shortname/dashboard/settings/permissions/groups/:groupPk/",groupOverrides:"/:shortname/dashboard/settings/permissions/outside-users/",groupOverride:"/:shortname/dashboard/settings/permissions/outside-users/:groupOverridePk/",users:"/:shortname/dashboard/settings/permissions/users/",user:{index:"/:shortname/dashboard/settings/permissions/users/:username/",settings:"/:shortname/dashboard/settings/permissions/users/:username/settings/",apiKeys:{index:"/:shortname/dashboard/settings/permissions/users/:username/api-keys/",apiKey:"/:shortname/dashboard/settings/permissions/users/:username/api-keys/:resellerKeyPk/"},webhooks:{index:"/:shortname/dashboard/settings/permissions/users/:username/webhooks/",webhook:"/:shortname/dashboard/settings/permissions/users/:username/webhooks/:webhookPk/"}},twoStepVerification:"/:shortname/dashboard/settings/permissions/two-step-verification/"},agents:{index:"/:shortname/dashboard/settings/agents/",agent:"/:shortname/dashboard/settings/agents/:agentPk/"},desks:{index:"/:shortname/dashboard/settings/desks/",desk:"/:shortname/dashboard/settings/desks/:deskPk/"},campaigns:{index:"/:shortname/dashboard/settings/campaigns/",campaign:{index:"/:shortname/dashboard/settings/campaigns/:campaignPk/",settings:"/:shortname/dashboard/settings/campaigns/:campaignPk/settings/",code:"/:shortname/dashboard/settings/campaigns/:campaignPk/codes/:codePk/"}},memberships:{index:"/:shortname/dashboard/settings/memberships/",members:"/:shortname/dashboard/settings/memberships/members/",membership:{index:"/:shortname/dashboard/settings/memberships/:membershipPk(pk)/",settings:"/:shortname/dashboard/settings/memberships/:membershipPk(pk)/settings/",benefit:"/:shortname/dashboard/settings/memberships/:membershipPk(pk)/benefit/:benefitPk(pk)/"}},checkinStatuses:"/:shortname/dashboard/settings/check-in/",customerTypes:{index:"/:shortname/dashboard/settings/customer-types/",customerType:"/:shortname/dashboard/settings/customer-types/:customerTypePk/"},requirementGroups:{index:"/:shortname/dashboard/settings/requirement-groups/",requirementGroup:"/:shortname/dashboard/settings/requirement-groups/:requirementGroupPk"},customFields:{index:"/:shortname/dashboard/settings/custom-fields/",table:"/:shortname/dashboard/settings/custom-fields/table/",type:"/:shortname/dashboard/settings/custom-fields/type/:type/",customField:"/:shortname/dashboard/settings/custom-fields/:customFieldPk(pk)/"},customFieldInstanceGroups:{index:"/:shortname/dashboard/settings/custom-field-groups/",customFieldInstanceGroup:"/:shortname/dashboard/settings/custom-field-groups/:customFieldInstanceGroupPk(pk)/"},cannedMessages:{index:"/:shortname/dashboard/settings/canned-messages/",cannedMessage:"/:shortname/dashboard/settings/canned-messages/:cannedMessagePk/"},availabilityHeadlines:{index:"/:shortname/dashboard/settings/headlines/",availabilityHeadline:"/:shortname/dashboard/settings/headlines/:availabilityHeadlinePk/"},network:{index:"/:shortname/dashboard/settings/network/",rules:{index:"/:shortname/dashboard/settings/network/affiliate-rules/view",create:"/:shortname/dashboard/settings/network/affiliate-rules/create",edit:"/:shortname/dashboard/settings/network/affiliate-rule/edit/:restrictionPk/",duplicate:"/:shortname/dashboard/settings/network/affiliate-rule/duplicate/:restrictionPk/"},affiliates:{index:"/:shortname/dashboard/settings/network/affiliates/",affiliate:{index:"/:shortname/dashboard/settings/network/affiliates/:affiliationPk/",cards:"/:shortname/dashboard/settings/network/affiliates/:affiliationPk/cards/"}},partners:{index:"/:shortname/dashboard/settings/network/partners/",partner:{index:"/:affiliateShortname/dashboard/settings/network/partners/:affiliationPk/",cards:"/:affiliateShortname/dashboard/settings/network/partners/:affiliationPk/cards/"}}},hotels:{index:"/:shortname/dashboard/settings/hotels/",hotel:"/:shortname/dashboard/settings/hotels/:hotelPk/"},lodgings:{index:"/:shortname/dashboard/settings/lodgings/",lodging:"/:shortname/dashboard/settings/lodgings/:lodgingPk/"},pickups:{index:"/:shortname/dashboard/settings/pickups/",pickup:"/:shortname/dashboard/settings/pickups/:pickupPk/"},routes:{index:"/:shortname/dashboard/settings/routes/",route:"/:shortname/dashboard/settings/routes/:routePk/"},translations:{index:"/:shortname/dashboard/settings/languages/",language:{index:"/:shortname/dashboard/settings/languages/:languagePk/",settings:"/:shortname/dashboard/settings/languages/:languagePk/settings/",translations:{index:"/:shortname/dashboard/settings/languages/:languagePk/translations/",forModel:"/:shortname/dashboard/settings/languages/:languagePk/translations/:modelName/"}}},pricing:{index:"/:shortname/dashboard/settings/pricing/",sheets:"/:shortname/dashboard/settings/pricing/sheets/",totalSheet:"/:shortname/dashboard/settings/pricing/total-sheets/:totalSheetPk/",invoiceSheet:"/:shortname/dashboard/settings/pricing/invoice-sheets/:invoiceSheetPk/",schedules:"/:shortname/dashboard/settings/pricing/schedules/",totalSchedules:{index:"/:shortname/dashboard/settings/pricing/total-schedules/:totalSchedulePk/",settings:"/:shortname/dashboard/settings/pricing/total-schedules/:totalSchedulePk/settings/",entry:{index:"/:shortname/dashboard/settings/pricing/total-schedules/:totalSchedulePk/entries/:totalScheduleEntryPk/",settings:"/:shortname/dashboard/settings/pricing/total-schedules/:totalSchedulePk/entries/:totalScheduleEntryPk/settings/"}},invoiceSchedules:{index:"/:shortname/dashboard/settings/pricing/invoice-schedules/:invoiceSchedulePk/",settings:"/:shortname/dashboard/settings/pricing/invoice-schedules/:invoiceSchedulePk/settings/",entry:{index:"/:shortname/dashboard/settings/pricing/invoice-schedules/:invoiceSchedulePk/entries/:invoiceScheduleEntryPk/",settings:"/:shortname/dashboard/settings/pricing/invoice-schedules/:invoiceSchedulePk/entries/:invoiceScheduleEntryPk/settings/"}},overview:"/:shortname/dashboard/settings/pricing/overview/"},activity:{index:"/:shortname/dashboard/settings/activity/",company:"/:shortname/dashboard/settings/activity/company/"},embeds:"/:shortname/dashboard/settings/embeds/",fhdn:"/:shortname/dashboard/settings/fhdn/",connect:"/:shortname/dashboard/settings/connect/",integrations:{index:"/:shortname/dashboard/settings/integrations/",subscribe:"/:shortname/dashboard/settings/integrations/subscribe/"},reseller:{index:"/:shortname/dashboard/settings/integrations/channels/",requests:"/:shortname/dashboard/settings/integrations/channels/requests/",company:{index:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/",settings:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/settings/"},item:{index:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/items/:resellerItemPk/",settings:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/items/:resellerItemPk/settings/"},customerType:{index:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/items/:resellerItemPk/customer-types/:resellerCustomerTypePk/",settings:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/items/:resellerItemPk/customer-types/:resellerCustomerTypePk/settings/"},option:{index:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/items/:resellerItemPk/options/:resellerOptionPk/",settings:"/:shortname/dashboard/settings/integrations/channels/:resellerCompanyPk/items/:resellerItemPk/options/:resellerOptionPk/settings/"},apps:{index:"/:shortname/dashboard/settings/integrations/apps/",app:{index:"/:shortname/dashboard/settings/integrations/apps/:resellerAppPk/",settings:"/:shortname/dashboard/settings/integrations/apps/:resellerAppPk/settings/"}}},waivers:{index:"/:shortname/dashboard/settings/waivers/",waiver:{index:"/:shortname/dashboard/settings/waivers/:waiverPk/"}},fhWaivers:{index:"/:shortname/dashboard/settings/fh-waivers/",create:"/:shortname/dashboard/settings/fh-waivers/create/",fhWaiver:{index:"/:shortname/dashboard/settings/fh-waivers/fh-waiver/:uuid/"}},fhDock:{index:"/:shortname/dashboard/settings/fh-dock/"},webhooks:{customSchemas:{index:"/:shortname/dashboard/settings/integrations/custom-schemas/"}},locations:{index:"/:shortname/dashboard/settings/locations/",settings:"/:shortname/dashboard/settings/locations/settings/",location:"/:shortname/dashboard/settings/locations/location/:locationPk/"},storedValue:{index:"/:shortname/dashboard/settings/gift-cards/",storedValueTypes:"/:shortname/dashboard/settings/gift-cards/types/",storedValueType:"/:shortname/dashboard/settings/gift-cards/types/:storedValueTypePk/",storedValueCardDesignTemplates:"/:shortname/dashboard/settings/gift-cards/designs/",storedValueCardDesignTemplate:"/:shortname/dashboard/settings/gift-cards/designs/:storedValueCardDesignTemplatePk/",storedValueCards:"/:shortname/dashboard/settings/gift-cards/cards/",storedValueCard:{index:"/:shortname/dashboard/settings/gift-cards/cards/:storedValueCardPk/",settings:"/:shortname/dashboard/settings/gift-cards/cards/:storedValueCardPk/settings/",storedValueAdjustment:"/:shortname/dashboard/settings/gift-cards/cards/:storedValueCardPk/adjustments/:storedValueAdjustmentPk/"}},analyticsServices:{index:"/:shortname/dashboard/settings/analytics/",analyticsService:"/:shortname/dashboard/settings/analytics/:analyticsServicePk/"},flows:{index:"/:shortname/dashboard/settings/flows/",flowNode:{index:"/:shortname/dashboard/settings/flows/:flowNodePk/"}},combos:{index:"/:shortname/dashboard/settings/combos/",combo:"/:shortname/dashboard/settings/combos/:comboPk/"},ticketLayouts:{index:"/:shortname/dashboard/settings/ticket-layouts/",ticketLayout:{index:"/:shortname/dashboard/settings/ticket-layouts/:ticketLayoutPk/"}},suggestedItems:"/:shortname/dashboard/settings/suggested-items/",bookingRestrictions:{index:"/:shortname/dashboard/settings/booking-restrictions/",bookingRestriction:"/:shortname/dashboard/settings/booking-restrictions/:bookingRestrictionPk/"}},fhdn:{invoices:{index:"/:shortname/dashboard/fhdn/invoices/",existing:"/:shortname/dashboard/fhdn/invoices/?jobUuid=:jobUuid"}}},root:{index:"/",login:"/login/",forgot:{index:"/forgot/",password:"/forgot/password/",resetPassword:"/forgot/password/reset/",credentials:"/forgot/credentials/"},version:"/version/",help:"/help/",demo:"/demo/",about:"/about/",tour:"/tour/"},email:{bookingNotification:"/email/:type/:shortname/bookings/:bookingUuid/",orderNotification:"/email/:type/:shortname/orders/:orderUuid/",invoicePaymentRequest:"/email/:type/:shortname/invoice/:invoicePk/"},embeds:{calendar:{index:"/embeds/calendar/:shortname/",all:"/embeds/calendar/:shortname/all/",items:"/embeds/calendar/:shortname/items/:itemPks(pks)/"},cart:{index:"/embeds/cart/"},checkin:{index:"/embeds/checkin/",company:{index:"/embeds/checkin/:shortname/",booking:{index:"/embeds/checkin/:shortname/bookings/:bookingUuid/",customer:"/embeds/checkin/:shortname/bookings/:bookingUuid/customers/:customerPk/"}},qr:"/:encodedCustomerPk"},book:{index:"/embeds/book/:shortname/",storedValueCard:{index:"/embeds/book/:shortname/gift-cards/:storedValueCardNumber/"},items:{index:"/embeds/book/:shortname/items/",calendar:"/embeds/book/:shortname/items/calendar/",date:{index:"/embeds/book/:shortname/items/date/",date:"/embeds/book/:shortname/items/date/:date/"}},item:{index:"/embeds/book/:shortname/items/:itemPk(pk)/",calendar:"/embeds/book/:shortname/items/:itemPk(pk)/calendar/",month:"/embeds/book/:shortname/items/:itemPk(pk)/calendar/:year/:month/",date:"/embeds/book/:shortname/items/:itemPk(pk)/date/:date/",availability:"/embeds/book/:shortname/items/:itemPk(pk)/availability/:availabilityPk/",book:"/embeds/book/:shortname/items/:itemPk(pk)/availability/:availabilityPk/book/",booking:"/embeds/book/:shortname/items/:itemPk(pk)/booking/:bookingUuid/",combos:"/embeds/book/:shortname/items/:itemPk(pk)/availability/:availabilityPk/combos/",contract:"/embeds/book/:shortname/items/:itemPk(pk)/booking/:bookingUuid/contract/"},cart:{index:"/embeds/book/:shortname/cart/",flowNode:"/embeds/book/:shortname/cart/?flow=:flowNodePk",permalink:"/embeds/book/:shortname/cart/?u=:cartUuid"},order:{index:"/embeds/book/:shortname/orders/:orderUuid/"},flowNode:{index:"/embeds/book/:shortname/items/?flow=:flowNodePk",calendar:"/embeds/book/:shortname/items/calendar/?flow=:flowNodePk",date:{index:"/embeds/book/:shortname/items/date/?flow=:flowNodePk",date:"/embeds/book/:shortname/items/date/:date/?flow=:flowNodePk"}},wait:{index:"/embeds/book/:shortname/pending/",order:"/embeds/book/:shortname/pending/orders/:orderUuid/",booking:"/embeds/book/:shortname/pending/bookings/:bookingUuid/"}},partners:{index:"/embeds/partners/",company:"/embeds/partners/:shortname/"},items:{index:"/embeds/items/:shortname/"},analytics:{booking:"/embeds/a/:shortname/booking/:bookingUuid/"}},pusher:{auth:"/realtime/auth/",channels:"/realtime/:shortname/channels/",members:"/realtime/:shortname/members/"},api:{login:"/api/v1/login/",loginV11:"/api/v1.1/login/",logout:"/api/v1/logout/",forgotPassword:"/api/v1/forgot/password/",resetPassword:"/api/v1/forgot/password/reset/:shortname/",forgotCredentials:"/api/v1/forgot/credentials/",companies:"/api/v1/companies/",company:"/api/v1/companies/:shortname/",providerLogin:"/api/v1/companies/:shortname/login/provider/",companyNags:"/api/v1/companies/:shortname/nags/",companyFeatures:"/api/v1/companies/:shortname/features/",refundReserve:"/api/v1/companies/:shortname/refund-reserve/",companyItemColorsFeature:"/api/v1/companies/:shortname/item-colors-feature/",companyProfile:"/api/v1/companies/:shortname/profile/",companyContactInformation:"/api/v1/companies/:shortname/contact-information/",processorAccount:"/api/v1/companies/:shortname/processor-account/",processorOnboard:"/api/v1/companies/:shortname/tax-information/onboard/",processorCompleteAccountSetup:"/api/v1/companies/:shortname/processor-account/complete-setup/",companyTosAcceptance:"/api/v1/companies/:shortname/tos/",b2bPaymentMethods:"/api/v1/companies/:shortname/payments/b2b-payment-methods/",b2bPaymentMethod:"/api/v1/companies/:shortname/payments/b2b-payment-methods/:b2bPaymentMethodPk",b2bPaymentMethodsSetupNewIntent:"/api/v1/companies/:shortname/payments/b2b-payment-methods/setup_intent_new",b2bPaymentMethodsSetupIntentComplete:"/api/v1/companies/:shortname/payments/b2b-payment-methods/:b2bPaymentMethodPk/setup_intent_complete",companyAccounts:"/api/v1/companies/:shortname/accounts/",companyStyles:"/api/v1/companies/:shortname/styles/",companyAdminNotes:"/api/v1/companies/:shortname/admin-notes/",companyPayments:"/api/v1/companies/:shortname/payments/",companyManifestSettings:"/api/v1/companies/:shortname/manifest-settings/",companyCalendar:"/api/v1/companies/:shortname/calendar/:year/:month/",companyImages:"/api/v1/companies/:shortname/images/",companyImage:"/api/v1/companies/:shortname/images/:imagePk/",tagGroups:"/api/v1/companies/:shortname/tag-groups/",tagGroup:"/api/v1/companies/:shortname/tag-groups/:tagGroupPk/",tags:"/api/v1/companies/:shortname/tag-groups/:tagGroupPk/tags/",tag:"/api/v1/companies/:shortname/tag-groups/:tagGroupPk/tags/:tagPk/",objectTags:"/api/v1/companies/:shortname/tags/:objectCls/:objectPk/",taxTypes:"/api/v1/companies/:shortname/tax-types/",taxType:"/api/v1/companies/:shortname/tax-types/:taxTypePk/",inStorePaymentTypes:"/api/v1/companies/:shortname/in-store-payment-types/",allInStorePaymentTypes:"/api/v1/companies/:shortname/in-store-payment-types/all/",ledgers:"/api/v1/companies/:shortname/ledgers/",allLedgers:"/api/v1/companies/:shortname/ledgers/all/",ledger:"/api/v1/companies/:shortname/ledgers/:ledgerPk/",inStorePaymentType:"/api/v1/companies/:shortname/in-store-payment-types/:inStorePaymentTypePk/",emvLocation:"/api/v1/companies/:shortname/emv-location/",emvDevices:"/api/v1/companies/:shortname/emv-devices/",emvDevice:"/api/v1/companies/:shortname/emv-devices/:emvDevicePk/",retrieveConnectionToken:"/api/v1/companies/:shortname/emv-devices/connection-token/",createInteractionToken:"/api/v1/companies/:shortname/emv-devices/emv-interaction-token/",checkEmvDeviceConnections:"/api/v1/companies/:shortname/emv-devices/check-connection/",checkEmvDeviceConnection:"/api/v1/companies/:shortname/emv-devices/check-connection/:emvDevicePk/",checkEmvPaymentStatus:"/api/v1/companies/:shortname/emv-devices/payment-status/",cancelEmvCharge:"/api/v1/companies/:shortname/emv-devices/cancel-charge/",bankAccounts:"/api/v1/companies/:shortname/bank-accounts/",bankAccount:"/api/v1/companies/:shortname/bank-accounts/:bankAccountPk/",cards:"/api/v1/companies/:shortname/cards/",card:"/api/v1/companies/:shortname/cards/:cardPk/",cardAffiliations:"/api/v1/companies/:shortname/cards/:cardPk/card-affiliations/",verifyBankAccount:"/api/v1/companies/:shortname/bank-accounts/:bankAccountPk/verify/",hotels:"/api/v1/companies/:shortname/hotels/",hotel:"/api/v1/companies/:shortname/hotels/:hotelPk/",lodgings:"/api/v1/companies/:shortname/lodgings/",duplicateLodgingsAcrossCompanies:"/api/v1/companies/:shortname/lodgings/duplicate/",lodging:"/api/v1/companies/:shortname/lodgings/:lodgingPk/",preferredPickups:"/api/v1/companies/:shortname/lodgings/:lodgingPk/preferred-pickups/",preferredPickup:"/api/v1/companies/:shortname/lodgings/:lodgingPk/preferred-pickups/:preferredPickupPk/",pickups:"/api/v1/companies/:shortname/pickups/",duplicatePickupsAcrossCompanies:"/api/v1/companies/:shortname/pickups/duplicate/",pickup:"/api/v1/companies/:shortname/pickups/:pickupPk/",routes:"/api/v1/companies/:shortname/routes/",duplicateRoutesAcrossCompanies:"/api/v1/companies/:shortname/routes/duplicate/",route:"/api/v1/companies/:shortname/routes/:routePk/",routeItems:"/api/v1/companies/:shortname/routes/:routePk/items/",duplicateRoute:"/api/v1/companies/:shortname/routes/:routePk/duplicate/",stops:"/api/v1/companies/:shortname/routes/:routePk/stops/",stop:"/api/v1/companies/:shortname/routes/:routePk/stops/:stopPk/",customManifests:"/api/v1/companies/:shortname/custom-manifests/",customManifest:"/api/v1/companies/:shortname/custom-manifests/:customManifestPk/",customCalendars:"/api/v1/companies/:shortname/custom-calendars/",customCalendar:"/api/v1/companies/:shortname/custom-calendars/:customCalendarPk/",customReports:"/api/v1/companies/:shortname/custom-reports/",customReport:"/api/v1/companies/:shortname/custom-reports/:customReportPk/",users:"/api/v1/companies/:shortname/users/",allUsers:"/api/v1/companies/:shortname/users/all/",relatedUsers:"/api/v1/companies/:shortname/users/related/",user:"/api/v1/companies/:shortname/users/:username/",userNags:"/api/v1/companies/:shortname/users/:username/nags/",nagShortnames:"/api/v1/companies/:shortname/nag-shortnames/:nagName",userActivities:"/api/v1/companies/:shortname/users/:username/activities/",userSubscriptions:"/api/v1/companies/:shortname/users/:username/subscriptions/",userItemSubscriptions:"/api/v1/companies/:shortname/users/:username/subscriptions/items/:itemPk/",userOverview:"/api/v1/companies/:shortname/users/:username/overview/",reorder:"/api/v1/companies/:shortname/reorder/:objectCls/:objectPk/",activities:"/api/v1/companies/:shortname/activities/:activityObjectCls/:activityObjectPks/",activity:"/api/v1/companies/:shortname/activities/:activityPk(pk)/",allActivities:"/api/v1/companies/:shortname/activities/all/",systemActivities:"/api/v1/companies/:shortname/activities/system/",notes:"/api/v1/companies/:shortname/activities/:activityObjectCls/:activityObjectPk/notes/",items:"/api/v1/companies/:shortname/items/",allItems:"/api/v1/companies/:shortname/items/all/",item:"/api/v1/companies/:shortname/items/:itemPk/",itemStructuredDescription:"/api/items/v1/:shortname/:itemPk/structured-description/",itemColor:"/api/v1/companies/:shortname/items/:itemPk/color/",itemPricePreviews:"/api/v1/companies/:shortname/items/:itemPk/pricing-overview/",duplicateItem:"/api/v1/companies/:shortname/items/:itemPk/duplicate/",itemCalendar:"/api/v1/companies/:shortname/items/:itemPk/calendar/:year/:month/",itemSubscriptions:"/api/v1/companies/:shortname/items/:itemPk/subscriptions/",itemImages:"/api/v1/companies/:shortname/items/:itemPk/images/",itemImage:"/api/v1/companies/:shortname/items/:itemPk/images/:imagePk/",itemRatings:"/api/v1/companies/:shortname/items/:itemPk/ratings/",itemFlowPages:"/api/v1/companies/:shortname/items/:itemPk/flow-nodes/",itemHasFutureAvailsUsingCompanyLevelCfig:"/api/v1/companies/:shortname/items/:itemPk/has-future-avails-using-company-cfig/",itemsCalendar:"/api/v1/companies/:shortname/items/:itemPks(pks)/calendar/:year/:month/",flowNodes:"/api/v1/companies/:shortname/flow-nodes/",flowNode:"/api/v1/companies/:shortname/flow-nodes/:flowNodePk/",defaultFlowPage:"/api/v1/companies/:shortname/flow-nodes/default/",duplicateFlowNode:"/api/v1/companies/:shortname/flow-nodes/:flowNodePk/duplicate/",combos:"/api/v1/companies/:shortname/combos/",combo:"/api/v1/companies/:shortname/combos/:comboPk/",comboSettings:"/api/v1/companies/:shortname/items/:itemPk/combo-settings/",bookableComboItems:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/bookable-combo-items/",associatedComboItems:"/api/v1/companies/:shortname/items/:itemPk/associated-combo-items/",newComboDiscounts:"/api/v1/companies/:shortname/items/:itemPks(pks)/availabilities/:cartAvailabilityPks(pks)/new-combo-discounts/",proposal:"/api/v1/companies/:shortname/proposals/:proposalPk/",toggleProposalStatus:"/api/v1/companies/:shortname/proposals/:proposalPk/status/",proposalByBookingUuid:"/api/v1/companies/:shortname/bookings/:bookingUuid/proposal/",paymentSchedules:"/api/v1/companies/:shortname/payment-schedules/",paymentSchedule:"/api/v1/companies/:shortname/payment-schedules/:paymentSchedulePk/",paymentScheduleRule:"/api/v1/companies/:shortname/payment-schedules/:paymentSchedulePk/rule/:rulePk",contracts:"/api/v1/companies/:shortname/contracts/",contract:"/api/v1/companies/:shortname/contracts/:contractPk/",cannedMessages:"/api/v1/companies/:shortname/canned-messages/",cannedMessage:"/api/v1/companies/:shortname/canned-messages/:cannedMessagePk/",cannedMessageItems:"/api/v1/companies/:shortname/canned-messages/:cannedMessagePk/items/",cannedMessageAvailabilityHeadlines:"/api/v1/companies/:shortname/canned-messages/:cannedMessagePk/availability-headlines/",availabilityHeadlines:"/api/v1/companies/:shortname/availability-headlines/",availabilityHeadline:"/api/v1/companies/:shortname/availability-headlines/:availabilityHeadlinePk/",availabilityHeadlineItems:"/api/v1/companies/:shortname/availability-headlines/:availabilityHeadlinePk/items/",availabilitySchedules:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/",availabilitySchedule:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/:availabilitySchedulePk/",availabilityScheduleRules:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/:availabilitySchedulePk/availability-schedule-rules/",availabilityScheduleRule:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/:availabilitySchedulePk/availability-schedule-rules/:availabilityScheduleRulePk/",availabilityScheduleCreateAvailabilities:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/:availabilitySchedulePk/create/",duplicateAvailabilitySchedule:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/:availabilitySchedulePk/duplicate/",duplicateAvailabilityScheduleRule:"/api/v1/companies/:shortname/items/:itemPk/availability-schedules/:availabilitySchedulePk/availability-schedule-rules/:availabilityScheduleRulePk/duplicate/",allCustomerTypes:"/api/v1/companies/:shortname/customer-types/all/",customerTypes:"/api/v1/companies/:shortname/customer-types/",customerType:"/api/v1/companies/:shortname/customer-types/:customerTypePk/",customerTypeItems:"/api/v1/companies/:shortname/customer-types/:customerTypePk/items/",customerPrototypes:"/api/v1/companies/:shortname/items/:itemPk/customer-prototypes/",customerPrototype:"/api/v1/companies/:shortname/items/:itemPk/customer-prototypes/:customerPrototypePk/",duplicateCustomerPrototype:"/api/v1/companies/:shortname/items/:itemPk/customer-prototypes/:customerPrototypePk/duplicate/",allCustomerPrototypes:"/api/v1/companies/:shortname/items/:itemPk/customer-prototypes/all/",customerPrototypesMulti:"/api/v1/companies/:shortname/items/customer-prototypes/multi/",lockPrices:"/api/v1/companies/:shortname/lock-prices/",checkinStatuses:"/api/v1/companies/:shortname/checkin-statuses/",checkinStatus:"/api/v1/companies/:shortname/checkin-statuses/:checkinStatusPk/",checkinStatusForBookings:"/api/v1/companies/:shortname/checkin-statuses/bookings/",roles:"/api/v1/companies/:shortname/roles/",role:"/api/v1/companies/:shortname/roles/:rolePk/",crewMembers:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/crew-members/",crewMember:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/crew-members/:crewMemberPk/",customFields:"/api/v1/companies/:shortname/custom-fields/",allCustomFields:"/api/v1/companies/:shortname/custom-fields/all/",customField:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/",customFieldItems:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/items/",customFieldCompanyCustomFieldGroups:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/company-custom-field-groups/",duplicateCustomField:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/duplicate/",prevalidateCustomField:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/prevalidate/total-sheets/:totalSheetPk/availabilities/:availabilityPk/",transportationOptions:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/transportation-options/",transportationOption:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/transportation-options/:transportationOptionPk/",extendedOptions:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/extended-options/",extendedOption:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/extended-options/:extendedOptionPk/",connectedCampaigns:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/connected-campaigns/",connectedCampaign:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/connected-campaigns/:connectedCampaignPk/",generatingCampaigns:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/generating-campaigns/",generatingCampaign:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/generating-campaigns/:generatingCampaignPk/",campaigns:"/api/v1/companies/:shortname/campaigns/",campaign:"/api/v1/companies/:shortname/campaigns/:campaignPk/",campaignValidityRules:"/api/v1/companies/:shortname/campaigns/:campaignPk/campaign-validity-rules/",campaignValidityRule:"/api/v1/companies/:shortname/campaigns/:campaignPk/campaign-validity-rules/:campaignValidityRulePk/",campaignCustomFields:"/api/v1/companies/:shortname/campaigns/:campaignPk/custom-fields/",memberships:"/api/v1/companies/:shortname/memberships/",membership:"/api/v1/companies/:shortname/memberships/:membershipPk/",duplicateMembership:"/api/v1/companies/:shortname/memberships/:membershipPk/duplicate/",members:"/api/v1/companies/:shortname/members/",member:"/api/v1/companies/:shortname/members/:memberPk/",memberByCode:"/api/v1/companies/:shortname/member/",benefits:"/api/v1/companies/:shortname/memberships/:membershipPk/benefits/",benefit:"/api/v1/companies/:shortname/memberships/:membershipPk/benefits/:benefitPk/",benefitBlackOutRules:"/api/v1/companies/:shortname/memberships/:membershipPk/benefits/:benefitPk/black-out-rules/",benefitBlackOutRule:"/api/v1/companies/:shortname/memberships/:membershipPk/benefits/:benefitPk/black-out-rules/:benefitBlackOutRulePk/",membershipRange:"/api/v1/companies/:shortname/membership-ranges/:membershipRangePk/",membershipRangeRenew:"/api/v1/companies/:shortname/membership-ranges/:membershipRangePk/renew/",membershipsCustomerTypes:"/api/v1/companies/:shortname/availabilities/:availabilityPk/memberships-with-customer-types/",storedValueTypes:"/api/v1/companies/:shortname/stored-value-types/",storedValueType:"/api/v1/companies/:shortname/stored-value-types/:storedValueTypePk/",storedValueCardDesignTemplates:"/api/v1/companies/:shortname/stored-value-designs/",storedValueCardDesignTemplate:"/api/v1/companies/:shortname/stored-value-designs/:storedValueCardDesignTemplatePk/",storedValueCards:"/api/v1/companies/:shortname/stored-value-cards/",issueStoredValueCard:"/api/v1/companies/:shortname/stored-value-cards/issue/",storedValueCard:"/api/v1/companies/:shortname/stored-value-cards/:storedValueCardPk/",storedValueCardPayments:"/api/v1/companies/:shortname/stored-value-cards/:storedValueCardPk/payments/",storedValueCardNotifications:"/api/v1/companies/:shortname/stored-value-cards/notifications/?q=:storedValueCardNumber",searchStoredValueCardsByNumber:"/api/v1/companies/:shortname/stored-value-cards/search/",storedValueAdjustments:"/api/v1/companies/:shortname/stored-value-cards/:storedValueCardPk/adjustments/",storedValueAdjustment:"/api/v1/companies/:shortname/stored-value-cards/:storedValueCardPk/adjustments/:storedValueAdjustmentPk/",codes:"/api/v1/companies/:shortname/campaigns/:campaignPk/codes/",code:"/api/v1/companies/:shortname/campaigns/:campaignPk/codes/:codePk/",codesByTag:"/api/v1/companies/:shortname/campaigns/:campaignPk/codes/:tag/",affiliateRules:"/api/v1/companies/:shortname/item-affiliate-rules/",affiliateRule:"/api/v1/companies/:shortname/item-affiliate-rules/:pk/",allAffiliates:"/api/v1/companies/:shortname/affiliates/all/",affiliates:"/api/v1/companies/:shortname/affiliates/",affiliate:"/api/v1/companies/:shortname/affiliates/:affiliationPk/",affiliateCards:"api/v1/companies/:shortname/affiliates/:affiliationPk/cards/",affiliateCardAffiliations:"/api/v1/companies/:shortname/affiliates/:affiliationPk/card-affiliations/",partners:"/api/v1/companies/:shortname/partners/",partner:"/api/v1/companies/:affiliateShortname/partners/:affiliationPk/",partnerCards:"/api/v1/companies/:shortname/partners/:affiliationPk/cards/",partnerCardAffiliations:"/api/v1/companies/:shortname/partners/:affiliationPk/card-affiliations/",allAgents:"/api/v1/companies/:shortname/agents/all/",agents:"/api/v1/companies/:shortname/agents/",agent:"/api/v1/companies/:shortname/agents/:agentPk/",allDesks:"/api/v1/companies/:shortname/desks/all/",desks:"/api/v1/companies/:shortname/desks/",desk:"/api/v1/companies/:shortname/desks/:deskPk/",customFieldInstances:"/api/v1/companies/:shortname/custom-field-instances/",customFieldInstancesMulti:"/api/v1/companies/:shortname/items/custom-field-instances/multi/",customFieldInstance:"/api/v1/companies/:shortname/custom-field-instances/:customFieldInstancePk/",customFieldInstanceConditions:"/api/v1/companies/:shortname/custom-field-instances/:customFieldInstancePk/conditions/",customFieldInstanceCondition:"/api/v1/companies/:shortname/custom-field-instances/:customFieldInstancePk/conditions/:customFieldInstanceConditionPk/",customFieldInstanceGroup:"/api/v1/companies/:shortname/custom-field-instance-groups/:customFieldInstanceGroupPk/",customFieldInstanceGroupsMulti:"/api/v1/companies/:shortname/items/custom-field-instance-groups/multi/",duplicateCustomFieldInstanceGroup:"/api/v1/companies/:shortname/custom-field-instance-groups/:customFieldInstanceGroupPk/duplicate/",itemCustomFieldInstanceGroups:"/api/v1/companies/:shortname/items/:itemPk/custom-field-instance-groups/",companyCustomFieldInstanceGroups:"/api/v1/companies/:shortname/custom-field-instance-groups/",customFieldInstanceGroupItems:"/api/v1/companies/:shortname/custom-field-instance-groups/:customFieldInstanceGroupPk/items/",customFieldInstancesForPushedCustomFieldValues:"/api/v1/companies/:shortname/items/:itemPk/source-booking/:sourceBookingPk/pushed-custom-field-instances/",supportedLanguages:"/api/v1/companies/:shortname/supported-languages/",supportedLanguage:"/api/v1/companies/:shortname/supported-languages/:languagePk/",translationsForModel:"/api/v1/companies/:shortname/supported-languages/:languagePk/translations/:modelName/",translationsForField:"/api/v1/companies/:shortname/translations/:objectType/:objectId/:objectField/",understoodLanguages:"/api/v1/companies/:shortname/understood-languages/",translationsForSubfield:"/api/v1/companies/:shortname/translations/:objectType/:objectId/:objectField/:subfield/",nextAvailability:"/api/v1/companies/:shortname/items/:itemPk/availabilities/next/",futureAvailabilityCount:"/api/v1/companies/:shortname/:objectType/:objectPk/availabilities/future/count/",availabilitiesByDate:"/api/v1/companies/:shortname/items/:itemPk/availabilities/date/:date/",availabilitiesByResource:"/api/v1/companies/:shortname/items/:itemPk/availabilities/date/:date/resource/:resourcePk/",availabilitiesByTag:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:tag/",availabilitiesByTagTaskStatus:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:tag/task/:taskId/",availability:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/",availabilityStatus:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/status/",availabilityLiveCapacity:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/live/",availabilityResourceUses:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/resource-uses/",updateItemAvailabilities:"/api/v1/companies/:shortname/items/:itemPk/availabilities/update/",updateAvailabilities:"/api/v1/companies/:shortname/availabilities/update/",availabilityNote:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/note/",availabilityCheckinStatuses:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/checkin-statuses/",availabilityNotificationOptions:"/api/v1/companies/:shortname/availabilities/:availabilityPk/notification-options/",sendConfirmations:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/send-confirmations/",notifications:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/notifications/",smsNotifications:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/sms-notifications/",subjectsBooking:"/api/v1/companies/:shortname/subjects/:type/bookings/:bookingUuid/:language/",subjectsOrder:"/api/v1/companies/:shortname/subjects/:type/orders/:orderUuid/:language/",subjectsAvailability:"/api/v1/companies/:shortname/subjects/:type/availabilities/:availabilityPk/:languages/",customerTypeRates:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/customer-type-rates/",customerTypeRate:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/customer-type-rates/:customerTypeRatePk/",blocks:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/blocks/",block:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/blocks/:blockPk/",rule:"/api/v1/companies/:shortname/items/:itemPk/availabilities/rule/",ruleTaskStatus:"/api/v1/companies/:shortname/items/:itemPk/availabilities/rule/:taskId/status/",updateAvailabilitiesTaskStatus:"/api/v1/companies/:shortname/availabilities/update/:taskId/status/",orders:"/api/v1/companies/:shortname/orders/",order:"/api/v1/companies/:shortname/orders/:orderUuid/",orderPayments:"/api/v1/companies/:shortname/orders/:orderUuid/payments/",orderNotification:"/api/v1/companies/:shortname/orders/:orderUuid/notification/",orderCancellation:"/api/v1/companies/:shortname/orders/:orderUuid/cancel/",book:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/book/",bookings:"/api/v1/companies/:shortname/items/:itemPk/availabilities/:availabilityPk/bookings/",booking:"/api/v1/companies/:shortname/bookings/:bookingUuid/",bookingByPk:"/api/v1/companies/:shortname/bookings/:bookingPk/",recentBooking:"/api/v1/companies/:shortname/bookings/recent/",importBookings:"/api/v1/companies/:shortname/items/:itemPk/booking-importer/import/",importBookingsRevert:"/api/v1/companies/:shortname/items/:itemPk/booking-importer/revert/:tag/",importBookingsRevertStatus:"/api/v1/companies/:shortname/items/:itemPk/booking-importer/revert/status/",importBookingsDeletedBookingsStatus:"/api/v1/companies/:shortname/items/:itemPk/booking-importer/booking-delete/status/:tag",duplicateAvailabilities:"/api/v1/companies/:shortname/items/:itemPk/duplicate-availabilities/",repriceBooking:"/api/v1/companies/:shortname/bookings/:bookingUuid/reprice/",bookingCheckinStatus:"/api/v1/companies/:shortname/bookings/:bookingUuid/checkin-status/",customerCheckinStatus:"/api/v1/companies/:shortname/bookings/:bookingUuid/customers/:customerPk/checkin-status/",bookingCustomersWithSeatAssignments:"/api/v1/companies/:shortname/bookings/:bookingUuid/customers-with-seat-assignments/",orderCustomersWithSeatAssignments:"/api/v1/companies/:shortname/orders/:orderUuid/customers-with-seat-assignments/",bookingNote:"/api/v1/companies/:shortname/bookings/:bookingUuid/note/",bookingExplicitGross:"/api/v1/companies/:shortname/bookings/:bookingUuid/explicit-gross/",bookingExplicitInvoicePrice:"/api/v1/companies/:shortname/bookings/:bookingUuid/explicit-invoice-price/",bookingNotificationOptions:"/api/v1/companies/:shortname/bookings/:bookingUuid/notification-options/",bookingEffectiveCancellationRule:"/api/v1/companies/:shortname/bookings/:bookingUuid/effective-cancellation-rule/",searchCustomersByEncodedPk:"/embeds/redirect/checkin/:encodedPk/",contact:"/api/v1/companies/:shortname/contacts/:contactPk/",contactBookings:"/api/v1/companies/:shortname/contacts/:contactPk/bookings/",contactPayments:"/api/v1/companies/:shortname/contacts/:contactPk/payments/",affiliation:"/api/v1/companies/:shortname/bookings/:bookingUuid/affiliation/",notification:"/api/v1/companies/:shortname/bookings/:bookingUuid/notification/",smsNotification:"/api/v1/companies/:shortname/bookings/:bookingUuid/sms-notifications/",lineItems:"/api/v1/companies/:shortname/bookings/:bookingUuid/line-items/",lineItem:"/api/v1/companies/:shortname/bookings/:bookingUuid/line-items/:lineItemPk/",customerCustomFieldValue:"/api/v1/companies/:shortname/bookings/:bookingUuid/customers/custom-field-values/:customerCustomFieldValuePk/",bookingCustomFieldValue:"/api/v1/companies/:shortname/bookings/:bookingUuid/custom-field-values/:bookingCustomFieldValuePk/",pushCustomFieldValues:"/api/v1/companies/:shortname/bookings/:bookingUuid/push-custom-field-values/",payments:"/api/v1/companies/:shortname/bookings/:bookingUuid/payments/",installmentPayment:"/api/v1/companies/:shortname/bookings/:bookingUuid/payments/installment-payment/",orderInstallmentPayment:"/api/v1/companies/:shortname/orders/:orderUuid/payments/order-installment-payment/",relatedPayments:"/api/v1/companies/:shortname/bookings/:bookingUuid/payments/related/",authorizationHolds:"/api/v1/companies/:shortname/bookings/:bookingUuid/authorization-holds/",refunds:"/api/v1/companies/:shortname/bookings/:bookingUuid/refunds/",orderRefunds:"/api/v1/companies/:shortname/orders/:orderUuid/refunds/",customRefunds:"/api/v1/companies/:shortname/bookings/:bookingUuid/refunds/custom/",availabilitiesManifest:"/api/v1/companies/:shortname/manifest/availabilities/date/:date/",bookingsManifest:"/api/v1/companies/:shortname/manifest/bookings/date/:date/",bookingsFhWaiverSignatures:"/api/v1/companies/:shortname/fh-waivers/signatures/",runsManifest:"/api/v1/companies/:shortname/manifest/runs/date/:date/",resourcesManifest:"/api/v1/companies/:shortname/manifest/resources/date/:date/",manifestSelectableAvailabilities:"/api/v1/companies/:shortname/manifest/selectable-availabilities/date/:date/",receiptBookings:"/api/v1/companies/:shortname/receipt-bookings/",searchAllAvailabilitiesByDate:"/api/v1/companies/:shortname/search/availabilities/date/:date/",searchAvailabilitiesByDate:"/api/v1/companies/:shortname/search/items/:itemPks(pks)/availabilities/date/:date/",searchAvailabilitiesByUpcoming:"/api/v1/companies/:shortname/search/availabilities/upcoming/:filter",searchAvailabilitiesByPk:"/api/v1/companies/:shortname/search/availabilities/:availabilityPks/",searchBookingsByQuery:"/api/v1/companies/:shortname/search/bookings/query/:filter",searchBookingsByNew:"/api/v1/companies/:shortname/search/bookings/new/:filter",searchBookingsByUuid:"/api/v1/companies/:shortname/search/bookings/:bookingUuids/",searchRunsByDate:"/api/v1/companies/:shortname/search/runs/date/:date/",bookingsByContact:"/api/v1/companies/:shortname/search/bookings/contact/:contactPk/",invoices:"/api/v1/companies/:shortname/invoices/",invoice:"/api/v1/companies/:shortname/invoices/:invoicePk/",uuidInvoice:"/api/v1/companies/:shortname/invoices/uuid/:invoiceUuid/",invoiceNotifications:"/api/v1/companies/:shortname/invoices/:invoicePk/notifications/",invoiceUploads:"/api/v1/companies/:shortname/invoices/:invoicePk/uploads/",partnerInvoice:"/api/v1/companies/:shortname/invoices/partner-invoices/:invoicePk/",bulkInvoices:"/api/v1/companies/:shortname/bulk-invoices/",groups:"/api/v1/companies/:shortname/groups/",group:"/api/v1/companies/:shortname/groups/:groupPk/",duplicateGroup:"/api/v1/companies/:shortname/groups/:groupPk/duplicate/",groupOverrides:"/api/v1/companies/:shortname/group-overrides/",groupOverride:"/api/v1/companies/:shortname/group-overrides/:groupOverridePk/",groupOverrideActivities:"/api/v1/companies/:shortname/group-overrides/:groupOverridePk/activities/",relatedGroupOverrides:"/api/v1/companies/:shortname/group-overrides/related/",reports:"/api/v1/companies/:shortname/reports/",recentReports:"/api/v1/companies/:shortname/reports/recent/",inProgressReports:"/api/v1/companies/:shortname/reports/in-progress/",volumeOverviewReport:"/api/v1/companies/:shortname/reports/volume-overview/",dailyVolumeOverviewReport:"/api/v1/companies/:shortname/reports/daily-volume-overview/",paymentOverviewReport:"/api/v1/companies/:shortname/reports/payment-overview/",itemsSummaryOverviewReport:"/api/v1/companies/:shortname/reports/items-summary-overview/",nextPayoutOverviewReport:"/api/v1/companies/:shortname/reports/next-payout-overview/",yearlyBookingOverviewReport:"/api/v1/companies/:shortname/reports/yearly-booking-overview/",report:"/api/v1/companies/:shortname/reports/:reportPk(pk)/",reportObjects:"/api/v1/companies/:shortname/reports/:reportPk(pk)/objects/",reportReports:"/api/v1/companies/:shortname/reports/reports/",reportContacts:"/api/v1/companies/:shortname/reports/contacts/",reportBookings:"/api/v1/companies/:shortname/reports/bookings/",reportInvoiceableBookings:"/api/v1/companies/:shortname/reports/invoiceable-bookings/",reportTest:"/api/v1/companies/:shortname/reports/test/",reportLineItems:"/api/v1/companies/:shortname/reports/line-items/",reportPayments:"/api/v1/companies/:shortname/reports/payments/",reportDisputes:"/api/v1/companies/:shortname/reports/disputes/",reportPayouts:"/api/v1/companies/:shortname/reports/payouts/",reportInvoices:"/api/v1/companies/:shortname/reports/invoices/",reportAccounts:"/api/v1/companies/:shortname/reports/accounts/",reportRefundReserve:"/api/v1/companies/:shortname/reports/refund-reserve/",reportTransactions:"/api/v1/companies/:shortname/reports/transactions/",reportEscrow:"/api/v1/companies/:shortname/reports/escrow/",reportVolume:"/api/v1/companies/:shortname/reports/volume/",reportCompanies:"/api/v1/companies/:shortname/reports/companies/",reportItemsSummary:"/api/v1/companies/:shortname/reports/summary/items/",reportUsersSummary:"/api/v1/companies/:shortname/reports/summary/users/",reportBookingTypesSummary:"/api/v1/companies/:shortname/reports/summary/booking-types/",reportCustomerTypesSummary:"/api/v1/companies/:shortname/reports/summary/customer-types/",reportCustomFieldSummary:"/api/v1/companies/:shortname/reports/summary/custom-field/",reportLodgingsSummary:"/api/v1/companies/:shortname/reports/summary/lodgings/",reportPickupsSummary:"/api/v1/companies/:shortname/reports/summary/pickups/",reportCrewSummary:"/api/v1/companies/:shortname/reports/summary/crew/",reportAgentsSummary:"/api/v1/companies/:shortname/reports/summary/agents/",reportDesksSummary:"/api/v1/companies/:shortname/reports/summary/desks/",reportCampaignsSummary:"/api/v1/companies/:shortname/reports/summary/campaigns/",reportRevenueSummary:"/api/v1/companies/:shortname/reports/summary/revenue/",reportAdvanced:"/api/v1/companies/:shortname/reports/advanced/",disputes:"/api/v1/disputes/",dispute:"/api/v1/disputes/:disputeId/",reviewExpressSettings:"/api/v1/companies/:shortname/items/:itemPk/review-express-settings/",picthriveSettings:"/api/v1/companies/:shortname/items/:itemPk/picthrive-settings/",payouts:"/api/v1/companies/:shortname/payouts/",payout:"/api/v1/companies/:shortname/payouts/:payoutPk/",payoutRetry:"/api/v1/companies/:shortname/payouts/:payoutPk/retry/",transfers:"/api/v1/companies/:shortname/transfers/",transfer:"/api/v1/companies/:shortname/transfers/:transferPk/",oneTimeTransfer:"/api/v1/companies/:shortname/one-time-transfer/",upcomingRefundReserveAmounts:"/api/v1/companies/:shortname/upcoming-refund-reserve-amounts/",uploads:"/api/v1/companies/:shortname/uploads/",upload:"/api/v1/companies/:shortname/uploads/:uploadPk/",adjustments:"/api/v1/companies/:shortname/adjustments/",adjustment:"/api/v1/companies/:shortname/adjustments/:adjustmentPk/",waivers:"/api/v1/companies/:shortname/waivers/",waiver:"/api/v1/companies/:shortname/waivers/:waiverPk/",waiverInstance:"/api/v1/companies/:shortname/waiver-instances/:waiverInstancePk/",connectedWaivers:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/connected-waivers/",connectedWaiver:"/api/v1/companies/:shortname/custom-fields/:customFieldPk/connected-waivers/:connectedWaiverPk/",fhWaivers:"/api/v1/companies/:shortname/fh-waivers/",fhWaiversItems:"/api/v1/companies/:shortname/fh-waivers/items/",fhWaiver:"/api/v1/companies/:shortname/fh-waivers/:uuid/",fhWaiverPrint:"/api/v1/companies/:shortname/fh-waivers/:uuid/printout/",dockSettings:"/api/v1/companies/:shortname/dock-config/",dockSettingsUpdate:"/api/v1/companies/:shortname/fill-dock-config/",locations:"/api/v1/companies/:shortname/locations/",location:"/api/v1/companies/:shortname/locations/:locationPk/",locationItems:"/api/v1/companies/:shortname/locations/:locationPk/items/",primaryLocation:"/api/v1/companies/:shortname/locations/primary/",totalSchedules:"/api/v1/companies/:shortname/total-schedules/",totalSchedule:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/",totalScheduleAffiliations:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/affiliations/",duplicateTotalSchedule:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/duplicate/",totalScheduleEntries:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/entries/",totalScheduleEntry:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/entries/:totalScheduleEntryPk/",totalScheduleEntryRules:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/entries/:totalScheduleEntryPk/rules/",totalScheduleEntryRule:"/api/v1/companies/:shortname/total-schedules/:totalSchedulePk/entries/:totalScheduleEntryPk/rules/:totalScheduleEntryRulePk/",invoiceSchedules:"/api/v1/companies/:shortname/invoice-schedules/",invoiceSchedule:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/",invoiceScheduleAffiliations:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/affiliations/",duplicateInvoiceSchedule:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/duplicate/",invoiceScheduleEntries:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/entries/",invoiceScheduleEntry:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/entries/:invoiceScheduleEntryPk/",invoiceScheduleEntryRules:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/entries/:invoiceScheduleEntryPk/rules/",invoiceScheduleEntryRule:"/api/v1/companies/:shortname/invoice-schedules/:invoiceSchedulePk/entries/:invoiceScheduleEntryPk/rules/:invoiceScheduleEntryRulePk/",effectiveSheets:"/api/v1/companies/:shortname/availabilities/:availabilityPk/effective-sheets/",affiliationEffectiveSheets:"/api/v1/companies/:shortname/availabilities/:availabilityPk/affiliations/:affiliationPk/effective-sheets/",rebookingEffectiveSheets:"/api/v1/companies/:shortname/availabilities/:availabilityPk/bookings/:bookingUuid/effective-sheets/",totalScheduleEffectiveSheet:"/api/v1/companies/:shortname/availabilities/:availabilityPk/total-schedules/:totalSchedulePk/effective-sheets/",invoiceScheduleEffectiveSheet:"/api/v1/companies/:shortname/availabilities/:availabilityPk/invoice-schedules/:invoiceSchedulePk/effective-sheets/",totalSheets:"/api/v1/companies/:shortname/total-sheets/",totalSheet:"/api/v1/companies/:shortname/total-sheets/:totalSheetPk/",totalSheetSchedules:"/api/v1/companies/:shortname/total-sheets/:totalSheetPk/schedules/",totalSheetAffiliations:"/api/v1/companies/:shortname/total-sheets/:totalSheetPk/affiliations/",duplicateTotalSheet:"/api/v1/companies/:shortname/total-sheets/:totalSheetPk/duplicate/",totalPricing:"/api/v1/companies/:shortname/total-sheets/:totalSheetPk/pricing/:objectCls/:objectPk/",totalStack:"/api/v1/companies/:shortname/total-sheets/:totalSheetPk/pricing/:objectCls/:objectPk/stack/",invoiceSheets:"/api/v1/companies/:shortname/invoice-sheets/",invoiceSheet:"/api/v1/companies/:shortname/invoice-sheets/:invoiceSheetPk/",invoiceSheetSchedules:"/api/v1/companies/:shortname/invoice-sheets/:invoiceSheetPk/schedules/",invoiceSheetAffiliations:"/api/v1/companies/:shortname/invoice-sheets/:invoiceSheetPk/affiliations/",duplicateInvoiceSheet:"/api/v1/companies/:shortname/invoice-sheets/:invoiceSheetPk/duplicate/",invoicePricing:"/api/v1/companies/:shortname/invoice-sheets/:invoiceSheetPk/pricing/:objectCls/:objectPk/",invoiceStack:"/api/v1/companies/:shortname/invoice-sheets/:invoiceSheetPk/pricing/:objectCls/:objectPk/stack/",resources:"/api/v1/companies/:shortname/resources/",resource:"/api/v1/companies/:shortname/resources/:resourcePk/",resourceItems:"/api/v1/companies/:shortname/resources/:resourcePk/items/",resourceRequirementGroups:"/api/v1/companies/:shortname/resources/:resourcePk/requirement-groups/",resourceAvailabilities:"/api/v1/companies/:shortname/resources/:resourcePk/availabilities/date/:date/",resourceUsesByDate:"/api/v1/companies/:shortname/resources/:resourcePk/resource-uses/:date/",resourceUsesCalendar:"/api/v1/companies/:shortname/resources/:resourcePk/resource-uses/calendar/:year/:month/",resourceUsesUnassignSeats:"/api/v1/companies/:shortname/resource-uses/unassign-seats/",reapplyResourceUses:"/api/v1/companies/:shortname/reapply-resource-uses/",requirementGroups:"/api/v1/companies/:shortname/requirement-groups/",itemRequirementGroups:"/api/v1/companies/:shortname/items/:itemPk/requirement-groups/",requirementGroup:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/",duplicateRequirementGroup:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/duplicate/",requirementGroupItems:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/items/",requirements:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/requirements/",requirement:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/requirements/:requirementPk/",resourceRequirements:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/requirements/:requirementPk/resource-requirements/",resourceRequirement:"/api/v1/companies/:shortname/requirement-groups/:requirementGroupPk/requirements/:requirementPk/resource-requirements/:resourceRequirementPk/",resourceUse:"/api/v1/companies/:shortname/bookings/:bookingUuid/resource-uses/:resourceUsePk/",resourceOverride:"/api/v1/companies/:shortname/resources/:resourcePk/resource-overrides/:resourceOverridePk/",resourceOverrideRule:"/api/v1/companies/:shortname/resources/:resourcePk/resource-override-rule/",resourceOverridesByTag:"/api/v1/companies/:shortname/resources/:resourcePk/resource-overrides/:tag/",resourceOverridesByDate:"/api/v1/companies/:shortname/resources/:resourcePk/resource-overrides/:date/",seatResourceOverrides:"/api/v1/companies/:shortname/seat-resource-overrides/",seatMaps:"/api/v1/companies/:shortname/seat-maps/",seatMap:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/",duplicateSeatMap:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/duplicate/",seatMapResourceUsesBySeat:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/resource-uses/:startAt/:endAt/",seatMapResourceOverridesBySeat:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/resource-overrides/:startAt/:endAt/",seatMapResources:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/resources/",seatGroups:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/seat-groups/",seatGroup:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/seat-groups/:seatGroupPk/",seatZones:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/seat-zones/",companySeatZones:"/api/v1/companies/:shortname/seat-zones/",seatZone:"/api/v1/companies/:shortname/seat-maps/:seatMapPk/seat-zones/:seatZonePk/",availabilitiesWithResourceRequirements:"/api/v1/companies/:shortname/availabilities/:availabilityPks(pks)/resource-requirements/",seatRequirements:"/api/v1/companies/:shortname/availabilities/:availabilityPk/total-sheets/:totalSheetPk/seat-requirements/",customersWithSeats:"/api/v1/companies/:shortname/bookings/:bookingUuid/customers-with-seats/",resellerCompanies:"/api/v1/companies/:shortname/reseller-companies/",resellerCompany:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/",resellerCompanyMappings:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-company-mappings/",resellerCompanyMapping:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-company-mappings/:resellerCompanyMappingPk/",resellerItems:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/",resellerItem:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/",duplicateResellerItem:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/duplicate/",resellerItemMappings:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-item-mappings/",resellerItemMapping:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-item-mappings/:resellerItemMappingPk",resellerCustomerTypes:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-customer-types/",resellerCustomerType:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-customer-types/:resellerCustomerTypePk/",resellerCustomerTypeMappings:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-customer-types/:resellerCustomerTypePk/reseller-customer-type-mappings/",resellerCustomerTypeMapping:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-customer-types/:resellerCustomerTypePk/reseller-customer-type-mappings/:resellerCustomerTypeMappingPk/",resellerOptions:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-options/",resellerOption:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-options/:resellerOptionPk/",resellerOptionMappings:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-options/:resellerOptionPk/reseller-option-mappings/",resellerOptionMapping:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-options/:resellerOptionPk/reseller-option-mappings/:resellerOptionMappingPk/",resellerUnmappedItems:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/unmapped/items/",resellerUnmappedCustomerPrototypes:"/api/v1/companies/:shortname/reseller-companies/:resellerCompanyPk/reseller-items/:resellerItemPk/reseller-customer-types/:resellerCustomerTypePk/unmapped/customer-prototypes/",resellerKeys:"/api/v1/companies/:shortname/users/:username/reseller-keys/",resellerKey:"/api/v1/companies/:shortname/reseller-keys/:resellerKeyPk/",resellerApps:"/api/v1/companies/:shortname/reseller-apps/",resellerApp:"/api/v1/companies/:shortname/reseller-apps/:resellerAppPk/",resellerAppRequests:"/api/v1/companies/:shortname/reseller-app-requests/",resellerAppRequest:"/api/v1/companies/:shortname/reseller-app-requests/:resellerAppRequestPk/",resellerAppCompanies:"/api/v1/companies/:shortname/reseller-apps/:resellerAppPk/reseller-app-companies/",resellerAppCompany:"/api/v1/companies/:shortname/reseller-apps/:resellerAppPk/reseller-app-companies/:resellerAppCompanyPk",webhooks:"/api/v1/companies/:shortname/users/:username/webhooks/",webhook:"/api/v1/companies/:shortname/users/:username/webhooks/:webhookPk/",webhookSchema:"/api/v1/companies/:shortname/users/:username/webhooks/:webhookPk/schema/",customSchemas:"/api/v1/companies/:shortname/custom-schemas/",customSchemaFields:"/api/v1/companies/:shortname/custom-schemas/:customSchemaPk/custom-schema-fields/",ticketLayouts:"/api/v1/companies/:shortname/ticket-layouts/",ticketLayout:"/api/v1/companies/:shortname/ticket-layouts/:ticketLayoutPk/",analyticsServices:"/api/v1/companies/:shortname/a-services/",analyticsService:"/api/v1/companies/:shortname/a-services/:analyticsServicePk/",cancellationPolicies:"/api/v1/companies/:shortname/cancellation-policies/",cancellationPolicy:"/api/v1/companies/:shortname/cancellation-policies/:cancellationPolicyPk/",cancellationRules:"/api/v1/companies/:shortname/cancellation-policies/:cancellationPolicyPk/cancellation-rules/",cancellationRule:"/api/v1/companies/:shortname/cancellation-policies/:cancellationPolicyPk/cancellation-rules/:cancellationRulePk/",cancellationPolicyAffiliations:"/api/v1/companies/:shortname/cancellation-policies/:cancellationPolicyPk/affiliations/",cancellationPolicyItems:"/api/v1/companies/:shortname/cancellation-policies/:cancellationPolicyPk/items/",bookingRestrictions:"/api/v1/companies/:shortname/booking-restrictions/",bookingRestriction:"/api/v1/companies/:shortname/booking-restrictions/:bookingRestrictionPk/",bookingRestrictionItems:"/api/v1/companies/:shortname/booking-restrictions/:bookingRestrictionPk/items/",paymentProcessingDocument:"/api/v1/companies/:shortname/payment-processing/document/:paymentProcessingDocumentPk/",persistentStore:"/api/v1/persistence/:identifier/",persistentStoreForCompany:"/api/v1/persistence/:identifier/:shortname/",persistentStoreItem:"/api/v1/persistence/:identifier/:shortname/:key/",persistentStoreContact:"/api/v1/persistence/:identifier/:shortname/contact/",taskResult:"/api/v1/task-result/:taskId/",version:"/api/v1/version/",token:"/api/v1/companies/:shortname/queuing/items/:itemPk/refresh/",isItemQueued:"/api/v1/companies/:shortname/queuing/items/:itemPk/is-queued/",view:"/api/v1/view/:objectType/:objectIdentifier/",walletPassGoogle:"/api/v1/wallet-pass/android/booking/:bookingUuid/customer/:customerId/",googleRatingsIntegration:"/api/v1/companies/:shortname/items/:itemPk/google-ratings-settings/",fhdn:{invoices:{generateInvoicingData:"/api/v1/fhdn/invoicing-data-jobs/",invoicingDataJobStatus:"/api/v1/fhdn/invoicing-data-jobs/:jobId/status/",uploadInvoicingData:"/api/v1/fhdn/invoicing/invoices/generate/",getInvoiceGenerationJobResult:"/api/v1/fhdn/invoicing/invoices/generate/job-result/:jobId/",invoicingDataCSV:"/api/v1/fhdn/invoicing-data/:jobId/",activities:"/api/v1/fhdn/invoicing/activities/",invoices:"/api/v1/companies/:shortname/fhdn/invoicing/invoices/"}},companyRecoveryPhone:{getPhone:"/api/authentication/v1/company/:companyPk/recovery/",setPhone:"/api/authentication/v1/company/recovery/"},otp:{verifyOtp:"/api/authentication/v1/otp/phone/verify-code/",getUserMfaStatus:"/api/authentication/v1/user/:user_pk/info/",removeOtpPhoneNumber:"/api/authentication/v1/otp/phone/remove/",registerOtpPhone:"/api/authentication/v1/otp/phone/register/"},squareCustomerPrototypeMap:"/api/v1/square/:shortname/mapping/customer_prototype/:customerPrototypePk/"},populateForObject:function(e){var t,n=e||"";if(this.$urls){if(t=this.$urls[n])return t}else this.$urls={},this.$params=u(this);if(n)t=s(n,this.$params);else{if(!this.$params.canonical)return"";var r=this.$params.canonical.dashboard||this.$params.canonical.company;if(!r)return"";t=s(_.getDotted(l,r),this.$params)}return this.$urls[n]=t,t}};l.populate=s,l.extract=u,l.updateEndpointsForEmbedsBook=function(){l.company.index=l.embeds.book.items.index,l.company.items=l.embeds.book.items,l.company.item=l.embeds.book.item,l.company.storedValueCard=l.embeds.book.storedValueCard,l.company.cart=l.embeds.book.cart,l.company.order=l.embeds.book.order,l.company.flowNode=l.embeds.book.flowNode}},17411:function(e,t,n){"use strict";n.d(t,{BO:function(){return v},DX:function(){return b},Ew:function(){return f},Kq:function(){return y},VW:function(){return d},b$:function(){return l},bz:function(){return p},qD:function(){return T},ru:function(){return g},t6:function(){return E},u1:function(){return h}}),n(52675),n(89463),n(2259),n(45700),n(16280),n(76918),n(2008),n(51629),n(23418),n(64346),n(23792),n(62062),n(44114),n(72712),n(34782),n(89572),n(23288),n(62010),n(2892),n(67945),n(84185),n(5506),n(53921),n(83851),n(81278),n(79432),n(26099),n(3362),n(27495),n(90906),n(38781),n(31415),n(47764),n(25440),n(43375),n(39225),n(13972),n(99209),n(25714),n(17561),n(66197),n(42207),n(23500),n(62953),n(55815),n(64979),n(79739);var r=n(46329);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){u(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l=function(){var e=null,t=null;return{promise:new Promise((function(n,r){e=n,t=r})),resolve:e,reject:t}},d=function(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%2F/gi,"/").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")},p=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},m=/^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,f=function(e){return e&&m.test(e)},h=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((function(e){return!e.$pristine})).reduce((function(e,t){var n=t.$name,i=t.$modelValue,o=(0,r.fX)(n);return c(c({},e),{},u({},o,i))}),{})},g=function(e){var t=Object.entries(e),n={};return t.forEach((function(e){var t=o(e,2),i=t[0],a=t[1];n[(0,r.fX)(i)]=a})),n},v=function(e,t,n){return n&&(r=e,i=t,o=new Set,r?r.entries.forEach((function(e){var t=e.sheet.uuid;return!o.has(t)&&o.add(t)})):null!=i&&i.uuid&&o.add(null==i?void 0:i.uuid),o).has(n);var r,i,o},y=function(e){return new Promise((function(t,n){var r=new FileReader;r.onload=function(){try{var e=btoa(encodeURIComponent(r.result));t(e)}catch(e){n(e)}},r.onerror=function(e){n(e)},r.readAsText(e)}))},b="YYYY-MM-DD",T=function(e){return e.map((function(e){return Object.fromEntries(Object.entries(e).map((function(e){var t=o(e,2),n=t[0],r=t[1];return[n,r instanceof Date?moment(r).format(b):r]})))}))},E=function(e,t){return Object.fromEntries(t.filter((function(t){return void 0!==e[t]})).map((function(t){return[t,e[t]]})))}},48920:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{Et:function(){return o},Lm:function(){return i},gf:function(){return a},jJ:function(){return c},sb:function(){return s}}),n(52675),n(89463),n(2259),n(16280),n(76918),n(23418),n(64346),n(23792),n(72712),n(34782),n(23288),n(62010),n(40150),n(26099),n(27495),n(90906),n(38781),n(31415),n(47764),n(43375),n(39225),n(13972),n(99209),n(25714),n(17561),n(66197),n(62953);var i=function(e){return e===!!e},o=function(e){return"number"==typeof e},a=function(e){return!Number.isNaN(e)&&o(e)},s=function(e){return function(e){if(Array.isArray(e))return r(e)}(t=new Set(e))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var t},c=function(e){return e.reduce((function(e,t){return e+t}),0)}},20759:function(e,t,n){"use strict";n.d(t,{I:function(){return o}});var r=n(72422),i=n(63025),o=function(e){return e?i.db.slipstream("checkinDomain")+r.D.populate(r.D.embeds.checkin.qr,{encodedCustomerPk:e.encodedPk}):""}},83184:function(e,t,n){"use strict";n.d(t,{Q:function(){return i}});var r=n(63025),i=function(){return function(){var e="; ".concat(document.cookie).split("; ".concat("csrftoken","="));if(2===e.length)return e.pop().split(";").shift()}()||r.db.slipstream("csrfToken")||""}},61673:function(){window.FH_VERSION="0.9.0.1"},96246:function(){!function(e){e.Jcrop=function(t,n){var r,i=e.extend({},e.Jcrop.defaults),o=navigator.userAgent.toLowerCase(),a=/msie/.test(o),s=/msie [1-6]\./.test(o);function c(e){return Math.round(e)+"px"}function u(e){return i.baseClass+"-"+e}function l(t){var n=e(t).offset();return[n.left,n.top]}function d(e){return[e.pageX-r[0],e.pageY-r[1]]}function p(t){"object"!=typeof t&&(t={}),i=e.extend(i,t),e.each(["onChange","onSelect","onRelease","onDblClick"],(function(e,t){"function"!=typeof i[t]&&(i[t]=function(){})}))}function m(e,t,n){if(r=l(P),X.setCursor("move"===e?e:e+"-resize"),"move"===e)return X.activateHandlers(function(e){var t=e;return Z.watchKeys(),function(e){W.moveOffset([e[0]-t[0],e[1]-t[1]]),t=e,z.update()}}(t),y,n);var o=W.getFixed(),a=f(e),s=W.getCorner(f(a));W.setPressed(W.getCorner(a)),W.setCurrent(s),X.activateHandlers(function(e,t){return function(n){if(i.aspectRatio)switch(e){case"e":case"w":n[1]=t.y+1;break;case"n":case"s":n[0]=t.x+1}else switch(e){case"e":case"w":n[1]=t.y2;break;case"n":case"s":n[0]=t.x2}W.setCurrent(n),z.update()}}(e,o),y,n)}function f(e){switch(e){case"n":case"ne":return"sw";case"s":case"e":case"se":return"nw";case"w":case"sw":return"ne";case"nw":return"se"}}function h(e){return function(t){return!(i.disabled||"move"===e&&!i.allowMove||(r=l(P),G=!0,m(e,d(t)),t.stopPropagation(),t.preventDefault(),1))}}function g(e,t,n){var r=e.width(),i=e.height();r>t&&t>0&&(r=t,i=t/e.width()*e.height()),i>n&&n>0&&(i=n,r=n/e.height()*e.width()),x=e.width()/r,B=e.height()/i,e.width(r).height(i)}function v(e){return{x:e.x*x,y:e.y*B,x2:e.x2*x,y2:e.y2*B,w:e.w*x,h:e.h*B}}function y(e){var t=W.getFixed();t.w>i.minSelect[0]&&t.h>i.minSelect[1]?(z.enableHandles(),z.done()):z.release(),X.setCursor(i.allowSelect?"crosshair":"default")}function b(e){if(!i.disabled&&i.allowSelect){G=!0,r=l(P),z.disableHandles(),X.setCursor("crosshair");var t=d(e);return W.setPressed(t),z.update(),X.activateHandlers(T,y,"touch"===e.type.substring(0,5)),Z.watchKeys(),e.stopPropagation(),e.preventDefault(),!1}}function T(e){W.setCurrent(e),z.update()}function E(){var t=e("<div></div>").addClass(u("tracker"));return a&&t.css({opacity:0,backgroundColor:"white"}),t}"object"!=typeof t&&(t=e(t)[0]),"object"!=typeof n&&(n={}),p(n);var _={border:"none",visibility:"visible",margin:0,padding:0,position:"absolute",top:0,left:0},k=e(t),C=!0;if("IMG"==t.tagName){if(0!=k[0].width&&0!=k[0].height)k.width(k[0].width),k.height(k[0].height);else{var A=new Image;A.src=k[0].src,k.width(A.width),k.height(A.height)}var P=k.clone().removeAttr("id").css(_).show();P.width(k.width()),P.height(k.height()),k.after(P).hide()}else P=k.css(_).show(),C=!1,null===i.shade&&(i.shade=!0);g(P,i.boxWidth,i.boxHeight);var S=P.width(),O=P.height(),R=e("<div />").width(S).height(O).addClass(u("holder")).css({position:"relative",backgroundColor:i.bgColor}).insertAfter(k).append(P);i.addClass&&R.addClass(i.addClass);var I=e("<div />"),w=e("<div />").width("100%").height("100%").css({zIndex:310,position:"absolute",overflow:"hidden"}),D=e("<div />").width("100%").height("100%").css("zIndex",320),N=e("<div />").css({position:"absolute",zIndex:600}).dblclick((function(){var e=W.getFixed();i.onDblClick.call(ie,e)})).insertBefore(P).append(w,D);C&&(I=e("<img />").attr("src",P.attr("src")).css(_).width(S).height(O),w.append(I)),s&&N.css({overflowY:"hidden"});var U,F,L,M,x,B,G,$,Y=i.boundary,V=E().width(S+2*Y).height(O+2*Y).css({position:"absolute",top:c(-Y),left:c(-Y),zIndex:290}).mousedown(b),j=i.bgColor,K=i.bgOpacity;r=l(P);var H=function(){function e(){var e,t={},n=["touchstart","touchmove","touchend"],r=document.createElement("div");try{for(e=0;e<n.length;e++){var i=n[e],o=(i="on"+i)in r;o||(r.setAttribute(i,"return;"),o="function"==typeof r[i]),t[n[e]]=o}return t.touchstart&&t.touchend&&t.touchmove}catch(e){return!1}}return{createDragger:function(e){return function(t){return!(i.disabled||"move"===e&&!i.allowMove||(r=l(P),G=!0,m(e,d(H.cfilter(t)),!0),t.stopPropagation(),t.preventDefault(),1))}},newSelection:function(e){return b(H.cfilter(e))},cfilter:function(e){return e.pageX=e.originalEvent.changedTouches[0].pageX,e.pageY=e.originalEvent.changedTouches[0].pageY,e},isSupported:e,support:!0===i.touchSupport||!1===i.touchSupport?i.touchSupport:e()}}(),W=function(){var e,t,n=0,r=0,o=0,a=0;function s(){if(!i.aspectRatio)return t=o-n,s=a-r,U&&Math.abs(t)>U&&(o=t>0?n+U:n-U),F&&Math.abs(s)>F&&(a=s>0?r+F:r-F),M/B&&Math.abs(s)<M/B&&(a=s>0?r+M/B:r-M/B),L/x&&Math.abs(t)<L/x&&(o=t>0?n+L/x:n-L/x),n<0&&(o-=n,n-=n),r<0&&(a-=r,r-=r),o<0&&(n-=o,o-=o),a<0&&(r-=a,a-=a),o>S&&(n-=e=o-S,o-=e),a>O&&(r-=e=a-O,a-=e),n>S&&(a-=e=n-O,r-=e),r>O&&(a-=e=r-O,r-=e),l(u(n,r,o,a));var e,t,s,c,d,p,m,f=i.aspectRatio,h=i.minSize[0]/x,g=i.maxSize[0]/x,v=i.maxSize[1]/B,y=o-n,b=a-r,T=Math.abs(y),E=Math.abs(b);return 0===g&&(g=10*S),0===v&&(v=10*O),T/E<f?(d=a,p=E*f,(c=y<0?n-p:p+n)<0?(c=0,m=Math.abs((c-n)/f),d=b<0?r-m:m+r):c>S&&(c=S,m=Math.abs((c-n)/f),d=b<0?r-m:m+r)):(c=o,m=T/f,(d=b<0?r-m:r+m)<0?(d=0,p=Math.abs((d-r)*f),c=y<0?n-p:p+n):d>O&&(d=O,p=Math.abs(d-r)*f,c=y<0?n-p:p+n)),c>n?(c-n<h?c=n+h:c-n>g&&(c=n+g),d=d>r?r+(c-n)/f:r-(c-n)/f):c<n&&(n-c<h?c=n-h:n-c>g&&(c=n-g),d=d>r?r+(n-c)/f:r-(n-c)/f),c<0?(n-=c,c=0):c>S&&(n-=c-S,c=S),d<0?(r-=d,d=0):d>O&&(r-=d-O,d=O),l(u(n,r,c,d))}function c(e){return e[0]<0&&(e[0]=0),e[1]<0&&(e[1]=0),e[0]>S&&(e[0]=S),e[1]>O&&(e[1]=O),[Math.round(e[0]),Math.round(e[1])]}function u(e,t,n,r){var i=e,o=n,a=t,s=r;return n<e&&(i=n,o=e),r<t&&(a=r,s=t),[i,a,o,s]}function l(e){return{x:e[0],y:e[1],x2:e[2],y2:e[3],w:e[2]-e[0],h:e[3]-e[1]}}return{flipCoords:u,setPressed:function(e){e=c(e),o=n=e[0],a=r=e[1]},setCurrent:function(n){n=c(n),e=n[0]-o,t=n[1]-a,o=n[0],a=n[1]},getOffset:function(){return[e,t]},moveOffset:function(e){var t=e[0],i=e[1];0>n+t&&(t-=t+n),0>r+i&&(i-=i+r),O<a+i&&(i+=O-(a+i)),S<o+t&&(t+=S-(o+t)),n+=t,o+=t,r+=i,a+=i},getCorner:function(e){var t=s();switch(e){case"ne":return[t.x2,t.y];case"nw":return[t.x,t.y];case"se":return[t.x2,t.y2];case"sw":return[t.x,t.y2]}},getFixed:s}}(),q=function(){var t=!1,n=e("<div />").css({position:"absolute",zIndex:240,opacity:0}),r={top:s(),left:s().height(O),right:s().height(O),bottom:s()};function o(){return a(W.getFixed())}function a(e){r.top.css({left:c(e.x),width:c(e.w),height:c(e.y)}),r.bottom.css({top:c(e.y2),left:c(e.x),width:c(e.w),height:c(O-e.y2)}),r.right.css({left:c(e.x2),width:c(S-e.x2)}),r.left.css({width:c(e.x)})}function s(){return e("<div />").css({position:"absolute",backgroundColor:i.shadeColor||i.bgColor}).appendTo(n)}function u(){t||(t=!0,n.insertBefore(P),o(),z.setBgOpacity(1,0,1),I.hide(),l(i.shadeColor||i.bgColor,1),z.isAwake()?p(i.bgOpacity,1):p(1,1))}function l(e,t){ne(m(),e,t)}function d(){t&&(n.remove(),I.show(),t=!1,z.isAwake()?z.setBgOpacity(i.bgOpacity,1,1):(z.setBgOpacity(1,1,1),z.disableHandles()),ne(R,0,1))}function p(e,r){t&&(i.bgFade&&!r?n.animate({opacity:1-e},{queue:!1,duration:i.fadeTime}):n.css({opacity:1-e}))}function m(){return n.children()}return{update:o,updateRaw:a,getShades:m,setBgColor:l,enable:u,disable:d,resize:function(e,t){r.left.css({height:c(t)}),r.right.css({height:c(t)})},refresh:function(){i.shade?u():d(),z.isAwake()&&p(i.bgOpacity)},opacity:p}}(),z=function(){var t,n=370,r={},o={},a={},s=!1;function l(t,n){var r=e("<div />").mousedown(h(t)).css({cursor:t+"-resize",position:"absolute",zIndex:n}).addClass("ord-"+t);return H.support&&r.bind("touchstart.jcrop",H.createDragger(t)),D.append(r),r}function d(){var e=W.getFixed();W.setPressed([e.x,e.y]),W.setCurrent([e.x2,e.y2]),p()}function p(e){if(t)return m(e)}function m(e){var n,r,o,a,s=W.getFixed();n=s.w,r=s.h,N.width(Math.round(n)).height(Math.round(r)),o=s.x,a=s.y,i.shade||I.css({top:c(-a),left:c(-o)}),N.css({top:c(a),left:c(o)}),i.shade&&q.updateRaw(s),t||(N.show(),i.shade?q.opacity(K):f(K,!0),t=!0),e?i.onSelect.call(ie,v(s)):i.onChange.call(ie,v(s))}function f(e,n,r){(t||n)&&(i.bgFade&&!r?P.animate({opacity:e},{queue:!1,duration:i.fadeTime}):P.css("opacity",e))}function g(){if(s=!0,i.allowResize)return D.show(),!0}function y(){s=!1,D.hide()}function b(e){e?($=!0,y()):($=!1,g())}i.dragEdges&&e.isArray(i.createDragbars)&&function(e){var t;for(t=0;t<e.length;t++)a[e[t]]=l(e[t],n++).addClass("jcrop-dragbar")}(i.createDragbars),e.isArray(i.createHandles)&&function(e){var t,r,a,s;for(t=0;t<e.length;t++)o[e[t]]=(r=e[t],void 0,s=void 0,a=i.handleSize,s=l(r,n++).css({opacity:i.handleOpacity}).addClass(u("handle")),a&&s.width(a).height(a),s)}(i.createHandles),i.drawBorders&&e.isArray(i.createBorders)&&function(t){var n,o,a,s;for(o=0;o<t.length;o++){switch(t[o]){case"n":n="hline";break;case"s":n="hline bottom";break;case"e":n="vline right";break;case"w":n="vline"}r[t[o]]=(a=n,void 0,s=e("<div />").css({position:"absolute",opacity:i.borderOpacity}).addClass(u(a)),w.append(s),s)}}(i.createBorders),e(document).bind("touchstart.jcrop-ios",(function(t){e(t.currentTarget).hasClass("jcrop-tracker")&&t.stopPropagation()}));var T=E().mousedown(h("move")).css({cursor:"move",position:"absolute",zIndex:360});return H.support&&T.bind("touchstart.jcrop",H.createDragger("move")),w.append(T),y(),{updateVisible:p,update:m,release:function(){y(),N.hide(),i.shade?q.opacity(1):f(1),t=!1,i.onRelease.call(ie)},refresh:d,isAwake:function(){return t},setCursor:function(e){T.css("cursor",e)},enableHandles:g,enableOnly:function(){s=!0},showHandles:function(){s&&D.show()},disableHandles:y,animMode:b,setBgOpacity:f,done:function(){b(!1),d()}}}(),X=function(){var t=function(){},n=function(){},r=i.trackDocument;function o(e){return t(d(e)),!1}function a(r){return r.preventDefault(),r.stopPropagation(),G&&(G=!1,n(d(r)),z.isAwake()&&i.onSelect.call(ie,v(W.getFixed())),V.css({zIndex:290}),e(document).unbind(".jcrop"),t=function(){},n=function(){}),!1}function s(e){return t(d(H.cfilter(e))),!1}function c(e){return a(H.cfilter(e))}return r||V.mousemove(o).mouseup(a).mouseout(a),P.before(V),{activateHandlers:function(i,u,l){return G=!0,t=i,n=u,function(t){V.css({zIndex:450}),t?e(document).bind("touchmove.jcrop",s).bind("touchend.jcrop",c):r&&e(document).bind("mousemove.jcrop",o).bind("mouseup.jcrop",a)}(l),!1},setCursor:function(e){V.css("cursor",e)}}}(),Z=function(){var t=e('<input type="radio" />').css({position:"fixed",left:"-120px",width:"12px"}).addClass("jcrop-keymgr"),n=e("<div />").css({position:"absolute",overflow:"hidden"}).append(t);function r(e,t,n){i.allowMove&&(W.moveOffset([t,n]),z.updateVisible(!0)),e.preventDefault(),e.stopPropagation()}return i.keySupport&&(t.keydown((function(e){if(e.ctrlKey||e.metaKey)return!0;var t=e.shiftKey?10:1;switch(e.keyCode){case 37:r(e,-t,0);break;case 39:r(e,t,0);break;case 38:r(e,0,-t);break;case 40:r(e,0,t);break;case 27:i.allowSelect&&z.release();break;case 9:return!0}return!1})).blur((function(e){t.hide()})),s||!i.fixedSupport?(t.css({position:"absolute",left:"-20px"}),n.append(t).insertBefore(P)):t.insertBefore(P)),{watchKeys:function(){i.keySupport&&(t.show(),t.focus())}}}();function Q(e){J([e[0]/x,e[1]/B,e[2]/x,e[3]/B]),i.onSelect.call(ie,v(W.getFixed())),z.enableHandles()}function J(e){W.setPressed([e[0],e[1]]),W.setCurrent([e[2],e[3]]),z.update()}function ee(){i.disabled=!0,z.disableHandles(),z.setCursor("default"),X.setCursor("default")}function te(){i.disabled=!1,re()}function ne(t,n,r){var o=n||i.bgColor;i.bgFade&&e.fx.step.hasOwnProperty("backgroundColor")&&i.fadeTime&&!r?t.animate({backgroundColor:o},{queue:!1,duration:i.fadeTime}):t.css("backgroundColor",o)}function re(e){i.allowResize?e?z.enableOnly():z.enableHandles():z.disableHandles(),X.setCursor(i.allowSelect?"crosshair":"default"),z.setCursor(i.allowMove?"move":"default"),i.hasOwnProperty("trueSize")&&(x=i.trueSize[0]/S,B=i.trueSize[1]/O),i.hasOwnProperty("setSelect")&&(Q(i.setSelect),z.done(),delete i.setSelect),q.refresh(),i.bgColor!=j&&(ne(i.shade?q.getShades():R,i.shade&&i.shadeColor||i.bgColor),j=i.bgColor),K!=i.bgOpacity&&(K=i.bgOpacity,i.shade?q.refresh():z.setBgOpacity(K)),U=i.maxSize[0]||0,F=i.maxSize[1]||0,L=i.minSize[0]||0,M=i.minSize[1]||0,i.hasOwnProperty("outerImage")&&(P.attr("src",i.outerImage),delete i.outerImage),z.refresh()}H.support&&V.bind("touchstart.jcrop",H.newSelection),D.hide(),re(!0);var ie={setImage:function(e,t){z.release(),ee();var n=new Image;n.onload=function(){var r=n.width,o=n.height,a=i.boxWidth,s=i.boxHeight;P.width(r).height(o),P.attr("src",e),I.attr("src",e),g(P,a,s),S=P.width(),O=P.height(),I.width(S).height(O),V.width(S+2*Y).height(O+2*Y),R.width(S).height(O),q.resize(S,O),te(),"function"==typeof t&&t.call(ie)},n.src=e},animateTo:function(e,t){var n=e[0]/x,r=e[1]/B,o=e[2]/x,a=e[3]/B;if(!$){var s=W.flipCoords(n,r,o,a),c=W.getFixed(),u=[c.x,c.y,c.x2,c.y2],l=u,d=i.animationDelay,p=s[0]-u[0],m=s[1]-u[1],f=s[2]-u[2],h=s[3]-u[3],g=0,v=i.swingSpeed;n=l[0],r=l[1],o=l[2],a=l[3],z.animMode(!0);var y=function(){g+=(100-g)/v,l[0]=Math.round(n+g/100*p),l[1]=Math.round(r+g/100*m),l[2]=Math.round(o+g/100*f),l[3]=Math.round(a+g/100*h),g>=99.8&&(g=100),g<100?(J(l),b()):(z.done(),z.animMode(!1),"function"==typeof t&&t.call(ie))};b()}function b(){window.setTimeout(y,d)}},setSelect:Q,setOptions:function(e){p(e),re()},tellSelect:function(){return v(W.getFixed())},tellScaled:function(){return W.getFixed()},setClass:function(e){R.removeClass().addClass(u("holder")).addClass(e)},disable:ee,enable:te,cancel:function(){z.done(),X.activateHandlers(null,null)},release:z.release,destroy:function(){R.remove(),k.show(),k.css("visibility","visible"),e(t).removeData("Jcrop")},focus:Z.watchKeys,getBounds:function(){return[S*x,O*B]},getWidgetSize:function(){return[S,O]},getScaleFactor:function(){return[x,B]},getOptions:function(){return i},ui:{holder:R,selection:N}};return a&&R.bind("selectstart",(function(){return!1})),k.data("Jcrop",ie),ie},e.fn.Jcrop=function(t,n){var r;return this.each((function(){if(e(this).data("Jcrop")){if("api"===t)return e(this).data("Jcrop");e(this).data("Jcrop").setOptions(t)}else"IMG"==this.tagName?e.Jcrop.Loader(this,(function(){e(this).css({display:"block",visibility:"hidden"}),r=e.Jcrop(this,t),e.isFunction(n)&&n.call(r)})):(e(this).css({display:"block",visibility:"hidden"}),r=e.Jcrop(this,t),e.isFunction(n)&&n.call(r))})),this},e.Jcrop.Loader=function(t,n,r){var i=e(t),o=i[0];i.bind("load.jcloader",(function t(){o.complete?(i.unbind(".jcloader"),e.isFunction(n)&&n.call(o)):window.setTimeout(t,50)})).bind("error.jcloader",(function(t){i.unbind(".jcloader"),e.isFunction(r)&&r.call(o)})),o.complete&&e.isFunction(n)&&(i.unbind(".jcloader"),n.call(o))},e.Jcrop.defaults={allowSelect:!0,allowMove:!0,allowResize:!0,trackDocument:!0,baseClass:"jcrop",addClass:null,bgColor:"black",bgOpacity:.6,bgFade:!1,borderOpacity:.4,handleOpacity:.5,handleSize:null,aspectRatio:0,keySupport:!0,createHandles:["n","s","e","w","nw","ne","se","sw"],createDragbars:["n","s","e","w"],createBorders:["n","s","e","w"],drawBorders:!0,dragEdges:!0,fixedSupport:!0,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}}}(jQuery)},48498:function(e,t){var n,r={domainThreshold:2,secondLevelThreshold:2,topLevelThreshold:2,defaultDomains:["msn.com","bellsouth.net","telus.net","comcast.net","optusnet.com.au","earthlink.net","qq.com","sky.com","icloud.com","mac.com","sympatico.ca","googlemail.com","att.net","xtra.co.nz","web.de","cox.net","gmail.com","ymail.com","aim.com","rogers.com","verizon.net","rocketmail.com","google.com","optonline.net","sbcglobal.net","aol.com","me.com","btinternet.com","charter.net","shaw.ca"],defaultSecondLevelDomains:["yahoo","hotmail","mail","live","outlook","gmx"],defaultTopLevelDomains:["com","com.au","com.tw","ca","co.nz","co.uk","de","fr","it","ru","net","org","edu","gov","jp","nl","kr","se","eu","ie","co.il","us","at","be","dk","hk","es","gr","ch","no","cz","in","net","net.au","info","biz","mil","co.jp","sg","hu"],run:function(e){e.domains=e.domains||r.defaultDomains,e.secondLevelDomains=e.secondLevelDomains||r.defaultSecondLevelDomains,e.topLevelDomains=e.topLevelDomains||r.defaultTopLevelDomains,e.distanceFunction=e.distanceFunction||r.sift3Distance;var t=function(e){return e},n=e.suggested||t,i=e.empty||t,o=r.suggest(r.encodeEmail(e.email),e.domains,e.secondLevelDomains,e.topLevelDomains,e.distanceFunction);return o?n(o):i()},suggest:function(e,t,n,r,i){e=e.toLowerCase();var o=this.splitEmail(e);if(n&&r&&-1!==n.indexOf(o.secondLevelDomain)&&-1!==r.indexOf(o.topLevelDomain))return!1;if(c=this.findClosestDomain(o.domain,t,i,this.domainThreshold))return c!=o.domain&&{address:o.address,domain:c,full:o.address+"@"+c};var a=this.findClosestDomain(o.secondLevelDomain,n,i,this.secondLevelThreshold),s=this.findClosestDomain(o.topLevelDomain,r,i,this.topLevelThreshold);if(o.domain){var c=o.domain,u=!1;if(a&&a!=o.secondLevelDomain&&(c=c.replace(o.secondLevelDomain,a),u=!0),s&&s!=o.topLevelDomain&&(c=c.replace(o.topLevelDomain,s),u=!0),1==u)return{address:o.address,domain:c,full:o.address+"@"+c}}return!1},findClosestDomain:function(e,t,n,r){var i;r=r||this.topLevelThreshold;var o=99,a=null;if(!e||!t)return!1;n||(n=this.sift3Distance);for(var s=0;s<t.length;s++){if(e===t[s])return e;(i=n(e,t[s]))<o&&(o=i,a=t[s])}return o<=r&&null!==a&&a},sift3Distance:function(e,t){if(null==e||0===e.length)return null==t||0===t.length?0:t.length;if(null==t||0===t.length)return e.length;for(var n=0,r=0,i=0,o=0;n+r<e.length&&n+i<t.length;){if(e.charAt(n+r)==t.charAt(n+i))o++;else{r=0,i=0;for(var a=0;a<5;a++){if(n+a<e.length&&e.charAt(n+a)==t.charAt(n)){r=a;break}if(n+a<t.length&&e.charAt(n)==t.charAt(n+a)){i=a;break}}}n++}return(e.length+t.length)/2-o},splitEmail:function(e){var t=e.trim().split("@");if(t.length<2)return!1;for(var n=0;n<t.length;n++)if(""===t[n])return!1;var r=t.pop(),i=r.split("."),o="",a="";if(0==i.length)return!1;if(1==i.length)a=i[0];else{for(o=i[0],n=1;n<i.length;n++)a+=i[n]+".";a=a.substring(0,a.length-1)}return{topLevelDomain:a,secondLevelDomain:o,domain:r,address:t.join("@")}},encodeEmail:function(e){var t=encodeURI(e);return t.replace("%20"," ").replace("%25","%").replace("%5E","^").replace("%60","`").replace("%7B","{").replace("%7C","|").replace("%7D","}")}};e.exports&&(e.exports=r),void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n),"undefined"!=typeof window&&window.jQuery&&(jQuery.fn.mailcheck=function(e){var t=this;if(e.suggested){var n=e.suggested;e.suggested=function(e){n(t,e)}}if(e.empty){var i=e.empty;e.empty=function(){i.call(null,t)}}e.email=this.val(),r.run(e)})},79118:function(e){var t;e.exports=function(){function e(e){this.mode=r.MODE_8BIT_BYTE,this.data=e,this.parsedData=[];for(var t=0,n=this.data.length;t<n;t++){var i=[],o=this.data.charCodeAt(t);o>65536?(i[0]=240|(1835008&o)>>>18,i[1]=128|(258048&o)>>>12,i[2]=128|(4032&o)>>>6,i[3]=128|63&o):o>2048?(i[0]=224|(61440&o)>>>12,i[1]=128|(4032&o)>>>6,i[2]=128|63&o):o>128?(i[0]=192|(1984&o)>>>6,i[1]=128|63&o):i[0]=o,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function n(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}e.prototype={getLength:function(e){return this.parsedData.length},write:function(e){for(var t=0,n=this.parsedData.length;t<n;t++)e.put(this.parsedData[t],8)}},n.prototype={addData:function(t){var n=new e(t);this.dataList.push(n),this.dataCache=null},isDark:function(e,t){if(e<0||this.moduleCount<=e||t<0||this.moduleCount<=t)throw new Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var r=0;r<this.moduleCount;r++){this.modules[r]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[r][i]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),this.typeNumber>=7&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=n.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var n=-1;n<=7;n++)if(!(e+n<=-1||this.moduleCount<=e+n))for(var r=-1;r<=7;r++)t+r<=-1||this.moduleCount<=t+r||(this.modules[e+n][t+r]=0<=n&&n<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==n||6==n)||2<=n&&n<=4&&2<=r&&r<=4)},getBestMaskPattern:function(){for(var e=0,t=0,n=0;n<8;n++){this.makeImpl(!0,n);var r=a.getLostPoint(this);(0==n||e>r)&&(e=r,t=n)}return t},createMovieClip:function(e,t,n){var r=e.createEmptyMovieClip(t,n);this.make();for(var i=0;i<this.modules.length;i++)for(var o=1*i,a=0;a<this.modules[i].length;a++){var s=1*a;this.modules[i][a]&&(r.beginFill(0,100),r.moveTo(s,o),r.lineTo(s+1,o),r.lineTo(s+1,o+1),r.lineTo(s,o+1),r.endFill())}return r},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)null==this.modules[e][6]&&(this.modules[e][6]=e%2==0);for(var t=8;t<this.moduleCount-8;t++)null==this.modules[6][t]&&(this.modules[6][t]=t%2==0)},setupPositionAdjustPattern:function(){for(var e=a.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var n=0;n<e.length;n++){var r=e[t],i=e[n];if(null==this.modules[r][i])for(var o=-2;o<=2;o++)for(var s=-2;s<=2;s++)this.modules[r+o][i+s]=-2==o||2==o||-2==s||2==s||0==o&&0==s}},setupTypeNumber:function(e){for(var t=a.getBCHTypeNumber(this.typeNumber),n=0;n<18;n++){var r=!e&&1==(t>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=r}for(n=0;n<18;n++)r=!e&&1==(t>>n&1),this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=r},setupTypeInfo:function(e,t){for(var n=this.errorCorrectLevel<<3|t,r=a.getBCHTypeInfo(n),i=0;i<15;i++){var o=!e&&1==(r>>i&1);i<6?this.modules[i][8]=o:i<8?this.modules[i+1][8]=o:this.modules[this.moduleCount-15+i][8]=o}for(i=0;i<15;i++)o=!e&&1==(r>>i&1),i<8?this.modules[8][this.moduleCount-i-1]=o:i<9?this.modules[8][15-i-1+1]=o:this.modules[8][15-i-1]=o;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var n=-1,r=this.moduleCount-1,i=7,o=0,s=this.moduleCount-1;s>0;s-=2)for(6==s&&s--;;){for(var c=0;c<2;c++)if(null==this.modules[r][s-c]){var u=!1;o<e.length&&(u=1==(e[o]>>>i&1)),a.getMask(t,r,s-c)&&(u=!u),this.modules[r][s-c]=u,-1==--i&&(o++,i=7)}if((r+=n)<0||this.moduleCount<=r){r-=n,n=-n;break}}}},n.PAD0=236,n.PAD1=17,n.createData=function(e,t,r){for(var i=l.getRSBlocks(e,t),o=new d,s=0;s<r.length;s++){var c=r[s];o.put(c.mode,4),o.put(c.getLength(),a.getLengthInBits(c.mode,e)),c.write(o)}var u=0;for(s=0;s<i.length;s++)u+=i[s].dataCount;if(o.getLengthInBits()>8*u)throw new Error("code length overflow. ("+o.getLengthInBits()+">"+8*u+")");for(o.getLengthInBits()+4<=8*u&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8*u||(o.put(n.PAD0,8),o.getLengthInBits()>=8*u));)o.put(n.PAD1,8);return n.createBytes(o,i)},n.createBytes=function(e,t){for(var n=0,r=0,i=0,o=new Array(t.length),s=new Array(t.length),c=0;c<t.length;c++){var l=t[c].dataCount,d=t[c].totalCount-l;r=Math.max(r,l),i=Math.max(i,d),o[c]=new Array(l);for(var p=0;p<o[c].length;p++)o[c][p]=255&e.buffer[p+n];n+=l;var m=a.getErrorCorrectPolynomial(d),f=new u(o[c],m.getLength()-1).mod(m);for(s[c]=new Array(m.getLength()-1),p=0;p<s[c].length;p++){var h=p+f.getLength()-s[c].length;s[c][p]=h>=0?f.get(h):0}}var g=0;for(p=0;p<t.length;p++)g+=t[p].totalCount;var v=new Array(g),y=0;for(p=0;p<r;p++)for(c=0;c<t.length;c++)p<o[c].length&&(v[y++]=o[c][p]);for(p=0;p<i;p++)for(c=0;c<t.length;c++)p<s[c].length&&(v[y++]=s[c][p]);return v};for(var r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},i={L:1,M:0,Q:3,H:2},o={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},a={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;a.getBCHDigit(t)-a.getBCHDigit(a.G15)>=0;)t^=a.G15<<a.getBCHDigit(t)-a.getBCHDigit(a.G15);return(e<<10|t)^a.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;a.getBCHDigit(t)-a.getBCHDigit(a.G18)>=0;)t^=a.G18<<a.getBCHDigit(t)-a.getBCHDigit(a.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;0!=e;)t++,e>>>=1;return t},getPatternPosition:function(e){return a.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case o.PATTERN000:return(t+n)%2==0;case o.PATTERN001:return t%2==0;case o.PATTERN010:return n%3==0;case o.PATTERN011:return(t+n)%3==0;case o.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2==0;case o.PATTERN101:return t*n%2+t*n%3==0;case o.PATTERN110:return(t*n%2+t*n%3)%2==0;case o.PATTERN111:return(t*n%3+(t+n)%2)%2==0;default:throw new Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new u([1],0),n=0;n<e;n++)t=t.multiply(new u([1,s.gexp(n)],0));return t},getLengthInBits:function(e,t){if(1<=t&&t<10)switch(e){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+e)}else if(t<27)switch(e){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+e)}else{if(!(t<41))throw new Error("type:"+t);switch(e){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+e)}}},getLostPoint:function(e){for(var t=e.getModuleCount(),n=0,r=0;r<t;r++)for(var i=0;i<t;i++){for(var o=0,a=e.isDark(r,i),s=-1;s<=1;s++)if(!(r+s<0||t<=r+s))for(var c=-1;c<=1;c++)i+c<0||t<=i+c||0==s&&0==c||a==e.isDark(r+s,i+c)&&o++;o>5&&(n+=3+o-5)}for(r=0;r<t-1;r++)for(i=0;i<t-1;i++){var u=0;e.isDark(r,i)&&u++,e.isDark(r+1,i)&&u++,e.isDark(r,i+1)&&u++,e.isDark(r+1,i+1)&&u++,0!=u&&4!=u||(n+=3)}for(r=0;r<t;r++)for(i=0;i<t-6;i++)e.isDark(r,i)&&!e.isDark(r,i+1)&&e.isDark(r,i+2)&&e.isDark(r,i+3)&&e.isDark(r,i+4)&&!e.isDark(r,i+5)&&e.isDark(r,i+6)&&(n+=40);for(i=0;i<t;i++)for(r=0;r<t-6;r++)e.isDark(r,i)&&!e.isDark(r+1,i)&&e.isDark(r+2,i)&&e.isDark(r+3,i)&&e.isDark(r+4,i)&&!e.isDark(r+5,i)&&e.isDark(r+6,i)&&(n+=40);var l=0;for(i=0;i<t;i++)for(r=0;r<t;r++)e.isDark(r,i)&&l++;return n+Math.abs(100*l/t/t-50)/5*10}},s={glog:function(e){if(e<1)throw new Error("glog("+e+")");return s.LOG_TABLE[e]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return s.EXP_TABLE[e]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},c=0;c<8;c++)s.EXP_TABLE[c]=1<<c;for(c=8;c<256;c++)s.EXP_TABLE[c]=s.EXP_TABLE[c-4]^s.EXP_TABLE[c-5]^s.EXP_TABLE[c-6]^s.EXP_TABLE[c-8];for(c=0;c<255;c++)s.LOG_TABLE[s.EXP_TABLE[c]]=c;function u(e,t){if(null==e.length)throw new Error(e.length+"/"+t);for(var n=0;n<e.length&&0==e[n];)n++;this.num=new Array(e.length-n+t);for(var r=0;r<e.length-n;r++)this.num[r]=e[r+n]}function l(e,t){this.totalCount=e,this.dataCount=t}function d(){this.buffer=[],this.length=0}u.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=new Array(this.getLength()+e.getLength()-1),n=0;n<this.getLength();n++)for(var r=0;r<e.getLength();r++)t[n+r]^=s.gexp(s.glog(this.get(n))+s.glog(e.get(r)));return new u(t,0)},mod:function(e){if(this.getLength()-e.getLength()<0)return this;for(var t=s.glog(this.get(0))-s.glog(e.get(0)),n=new Array(this.getLength()),r=0;r<this.getLength();r++)n[r]=this.get(r);for(r=0;r<e.getLength();r++)n[r]^=s.gexp(s.glog(e.get(r))+t);return new u(n,0).mod(e)}},l.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],l.getRSBlocks=function(e,t){var n=l.getRsBlockTable(e,t);if(null==n)throw new Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var r=n.length/3,i=[],o=0;o<r;o++)for(var a=n[3*o+0],s=n[3*o+1],c=n[3*o+2],u=0;u<a;u++)i.push(new l(s,c));return i},l.getRsBlockTable=function(e,t){switch(t){case i.L:return l.RS_BLOCK_TABLE[4*(e-1)+0];case i.M:return l.RS_BLOCK_TABLE[4*(e-1)+1];case i.Q:return l.RS_BLOCK_TABLE[4*(e-1)+2];case i.H:return l.RS_BLOCK_TABLE[4*(e-1)+3];default:return}},d.prototype={get:function(e){var t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(var n=0;n<t;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var p=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function m(){var e=!1,t=navigator.userAgent;if(/android/i.test(t)){e=!0;var n=t.toString().match(/android ([0-9]\.[0-9])/i);n&&n[1]&&(e=parseFloat(n[1]))}return e}var f=function(){var e=function(e,t){this._el=e,this._htOption=t};return e.prototype.draw=function(e){var t=this._htOption,n=this._el,r=e.getModuleCount();function i(e,t){var n=document.createElementNS("http://www.w3.org/2000/svg",e);for(var r in t)t.hasOwnProperty(r)&&n.setAttribute(r,t[r]);return n}Math.floor(t.width/r),Math.floor(t.height/r),this.clear();var o=i("svg",{viewBox:"0 0 "+String(r)+" "+String(r),width:"100%",height:"100%",fill:t.colorLight});o.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),n.appendChild(o),o.appendChild(i("rect",{fill:t.colorLight,width:"100%",height:"100%"})),o.appendChild(i("rect",{fill:t.colorDark,width:"1",height:"1",id:"template"}));for(var a=0;a<r;a++)for(var s=0;s<r;s++)if(e.isDark(a,s)){var c=i("use",{x:String(s),y:String(a)});c.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),o.appendChild(c)}},e.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},e}(),h="svg"===document.documentElement.tagName.toLowerCase()?f:"undefined"!=typeof CanvasRenderingContext2D?function(){function e(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}if(this._android&&this._android<=2.1){var t=1/window.devicePixelRatio,n=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(e,r,i,o,a,s,c,u,l){if("nodeName"in e&&/img/i.test(e.nodeName))for(var d=arguments.length-1;d>=1;d--)arguments[d]=arguments[d]*t;else void 0===u&&(arguments[1]*=t,arguments[2]*=t,arguments[3]*=t,arguments[4]*=t);n.apply(this,arguments)}}function r(e,t){var n=this;if(n._fFail=t,n._fSuccess=e,null===n._bSupportDataURI){var r=document.createElement("img"),i=function(){n._bSupportDataURI=!1,n._fFail&&n._fFail.call(n)};return r.onabort=i,r.onerror=i,r.onload=function(){n._bSupportDataURI=!0,n._fSuccess&&n._fSuccess.call(n)},void(r.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")}!0===n._bSupportDataURI&&n._fSuccess?n._fSuccess.call(n):!1===n._bSupportDataURI&&n._fFail&&n._fFail.call(n)}var i=function(e,t){this._bIsPainted=!1,this._android=m(),this._htOption=t,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=t.width,this._elCanvas.height=t.height,e.appendChild(this._elCanvas),this._el=e,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.alt="Scan me!",this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return i.prototype.draw=function(e){var t=this._elImage,n=this._oContext,r=this._htOption,i=e.getModuleCount(),o=r.width/i,a=r.height/i,s=Math.round(o),c=Math.round(a);t.style.display="none",this.clear();for(var u=0;u<i;u++)for(var l=0;l<i;l++){var d=e.isDark(u,l),p=l*o,m=u*a;n.strokeStyle=d?r.colorDark:r.colorLight,n.lineWidth=1,n.fillStyle=d?r.colorDark:r.colorLight,n.fillRect(p,m,o,a),n.strokeRect(Math.floor(p)+.5,Math.floor(m)+.5,s,c),n.strokeRect(Math.ceil(p)-.5,Math.ceil(m)-.5,s,c)}this._bIsPainted=!0},i.prototype.makeImage=function(){this._bIsPainted&&r.call(this,e)},i.prototype.isPainted=function(){return this._bIsPainted},i.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},i.prototype.round=function(e){return e?Math.floor(1e3*e)/1e3:e},i}():function(){var e=function(e,t){this._el=e,this._htOption=t};return e.prototype.draw=function(e){for(var t=this._htOption,n=this._el,r=e.getModuleCount(),i=Math.floor(t.width/r),o=Math.floor(t.height/r),a=['<table style="border:0;border-collapse:collapse;">'],s=0;s<r;s++){a.push("<tr>");for(var c=0;c<r;c++)a.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:'+i+"px;height:"+o+"px;background-color:"+(e.isDark(s,c)?t.colorDark:t.colorLight)+';"></td>');a.push("</tr>")}a.push("</table>"),n.innerHTML=a.join("");var u=n.childNodes[0],l=(t.width-u.offsetWidth)/2,d=(t.height-u.offsetHeight)/2;l>0&&d>0&&(u.style.margin=d+"px "+l+"px")},e.prototype.clear=function(){this._el.innerHTML=""},e}();function g(e,t){for(var n=1,r=function(e){var t=encodeURI(e).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return t.length+(t.length!=e?3:0)}(e),o=0,a=p.length;o<=a;o++){var s=0;switch(t){case i.L:s=p[o][0];break;case i.M:s=p[o][1];break;case i.Q:s=p[o][2];break;case i.H:s=p[o][3]}if(r<=s)break;n++}if(n>p.length)throw new Error("Too long data");return n}return(t=function(e,t){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:i.H},"string"==typeof t&&(t={text:t}),t)for(var n in t)this._htOption[n]=t[n];"string"==typeof e&&(e=document.getElementById(e)),this._htOption.useSVG&&(h=f),this._android=m(),this._el=e,this._oQRCode=null,this._oDrawing=new h(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)}).prototype.makeCode=function(e){this._oQRCode=new n(g(e,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(e),this._oQRCode.make(),this._el.title=e,this._oDrawing.draw(this._oQRCode),this.makeImage()},t.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},t.prototype.clear=function(){this._oDrawing.clear()},t.CorrectLevel=i,t}()},90254:function(e,t,n){"use strict";function r(){}function i(e,t,n,r,i){for(var o=0,a=t.length,s=0,c=0;o<a;o++){var u=t[o];if(u.removed){if(u.value=e.join(r.slice(c,c+u.count)),c+=u.count,o&&t[o-1].added){var l=t[o-1];t[o-1]=t[o],t[o]=l}}else{if(!u.added&&i){var d=n.slice(s,s+u.count);d=d.map((function(e,t){var n=r[c+t];return n.length>e.length?n:e})),u.value=e.join(d)}else u.value=e.join(n.slice(s,s+u.count));s+=u.count,u.added||(c+=u.count)}}var p=t[a-1];return a>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[a-2].value+=p.value,t.pop()),t}n.d(t,{b2:function(){return c}}),r.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"==typeof n&&(r=n,n={}),this.options=n;var o=this;function a(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var s=(t=this.removeEmpty(this.tokenize(t))).length,c=e.length,u=1,l=s+c;n.maxEditLength&&(l=Math.min(l,n.maxEditLength));var d=[{newPos:-1,components:[]}],p=this.extractCommon(d[0],t,e,0);if(d[0].newPos+1>=s&&p+1>=c)return a([{value:this.join(t),count:t.length}]);function m(){for(var n=-1*u;n<=u;n+=2){var r=void 0,l=d[n-1],p=d[n+1],m=(p?p.newPos:0)-n;l&&(d[n-1]=void 0);var f=l&&l.newPos+1<s,h=p&&0<=m&&m<c;if(f||h){if(!f||h&&l.newPos<p.newPos?(r={newPos:(g=p).newPos,components:g.components.slice(0)},o.pushComponent(r.components,void 0,!0)):((r=l).newPos++,o.pushComponent(r.components,!0,void 0)),m=o.extractCommon(r,t,e,n),r.newPos+1>=s&&m+1>=c)return a(i(o,r.components,t,e,o.useLongestToken));d[n]=r}else d[n]=void 0}var g;u++}if(r)!function e(){setTimeout((function(){if(u>l)return r();m()||e()}),0)}();else for(;u<=l;){var f=m();if(f)return f}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var i=t.length,o=n.length,a=e.newPos,s=a-r,c=0;a+1<i&&s+1<o&&this.equals(t[a+1],n[s+1]);)a++,s++,c++;return c&&e.components.push({count:c}),e.newPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}},new r;var o=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,a=/\S/,s=new r;function c(e,t,n){return n=function(e,t){if("function"==typeof e)t.callback=e;else if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}(n,{ignoreWhitespace:!0}),s.diff(e,t,n)}s.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!a.test(e)&&!a.test(t)},s.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&o.test(t[n])&&o.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var u=new r;function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}u.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var r=0;r<n.length;r++){var i=n[r];r%2&&!this.options.newlineIsToken?t[t.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),t.push(i))}return t},(new r).tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)},(new r).tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var d=Object.prototype.toString,p=new r;function m(e,t,n,r,i){var o,a;for(t=t||[],n=n||[],r&&(e=r(i,e)),o=0;o<t.length;o+=1)if(t[o]===e)return n[o];if("[object Array]"===d.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),o=0;o<e.length;o+=1)a[o]=m(e[o],t,n,r,i);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===l(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),o=0;o<c.length;o+=1)a[s=c[o]]=m(e[s],t,n,r,s);t.pop(),n.pop()}else a=e;return a}p.useLongestToken=!0,p.tokenize=u.tokenize,p.castInput=function(e){var t=this.options,n=t.undefinedReplacement,r=t.stringifyReplacer,i=void 0===r?function(e,t){return void 0===t?n:t}:r;return"string"==typeof e?e:JSON.stringify(m(e,null,null,i),i,"  ")},p.equals=function(e,t){return r.prototype.equals.call(p,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var f=new r;f.tokenize=function(e){return e.slice()},f.join=f.removeEmpty=function(e){return e}}},function(e){e(e.s=47982)}]);;