PageSourceSearch

https://www.rlscc.com/dist/Root/Scripts/Home/Index.bundle.js.gz?v=6.3.6.31

js rlscc.com collected 2026-10-09 23:33:33 UTC 289,092 bytes, 1 lines download raw bytes

1(self.webpackChunkmyclubhouse=self.webpackChunkmyclubhouse||[]).push([[9080,9189],{763:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>a});var o=t(53096);const a={matchingUsers:function(e,n,t){o.Ay.get(null,"Lookup","MatchingUsers","searchText=".concat(e)).done(n).fail(t)},matchingUsersForImpersonate:function(e,n,t){o.Ay.get(null,"Lookup","MatchingUsersForImpersonate","searchText=".concat(e)).done(n).fail(t)},matchingUsersExcludingIDs:function(e,n,t,a,i){var s={searchText:e,excludeIDs:n,alwaysShowDisambiguation:t};o.Ay.post(null,"Lookup","MatchingUsersExcludingIDs",s).done(a).fail(i)},matchingCurrentUsers:function(e,n,t){var a={searchText:e};o.Ay.post(null,"Lookup","MatchingCurrentUsers",a).done(n).fail(t)},matchingPurchasers:function(e,n,t){var a={searchText:e};o.Ay.post(null,"Lookup","MatchingPurchasers",a).done(n).fail(t)},matchingFamilyGroups:function(e,n,t){var a={searchText:e};o.Ay.post(null,"Lookup","MatchingFamilyGroups",a).done(n).fail(t)},matchingAddresses:function(e,n,t,a,i,s){var r={street:e,postcode:n,city:t,id:a};o.Ay.post(null,"Lookup","MatchingAddresses",r).done(i).fail(s)},matchingSubscriptions:function(e,n,t,a){var i={searchText:e,forHorse:n};o.Ay.post(null,"Lookup","MatchingSubscriptions",i).done(t).fail(a)},matchingEvents:function(e,n,t){var a={searchText:e};o.Ay.post(null,"Lookup","MatchingEvents",a).done(n).fail(t)},matchingRides:function(e,n,t){o.Ay.get("Horses","Lookup","MatchingRides","searchText=".concat(e)).done(n).fail(t)},matchingHorses:function(e,n,t){o.Ay.get("Horses","Lookup","AnyMatchingHorses","searchText=".concat(e)).done(n).fail(t)},matchingHorsesForUser:function(e,n,t,a){o.Ay.get("Horses","Lookup","MatchingHorses","searchText=".concat(e,"&forUserID=").concat(n||"")).done(t).fail(a)},matchingHorsesForRider:function(e,n,t){o.Ay.get("Horses","Lookup","MatchingHorsesForRider","searchText=".concat(e)).done(n).fail(t)},matchingHorsesForOwner:function(e,n,t){o.Ay.get("Horses","Lookup","MatchingHorsesForOwner","searchText=".concat(e)).done(n).fail(t)},matchingVehicleModels:function(e,n,t){var a={searchText:e};o.Ay.post("Vehicles","Lookup","MatchingModels",a).done(n).fail(t)},myMatchingHorses:function(e,n,t){o.Ay.get("Horses","Lookup","MatchingHorses","searchText=".concat(e)).done(n).fail(t)},matchingVehicles:function(e,n,t){var a={searchText:e};o.Ay.post("Vehicles","Lookup","AnyMatchingVehicles",a).done(n).fail(t)},matchingVehiclesForUser:function(e,n,t,a){var i={forUserID:n,searchText:e};o.Ay.post("Vehicles","Lookup","MatchingVehicles",i).done(t).fail(a)}}},3762:(e,n,t)=>{"use strict";t.d(n,{A:()=>u});var o,a,i=t(79602),s=t.n(i),r=t(34827),l=(t(68773),t(39939),{Title:null,Question:null,AnswerLabel:"Answer",Answer:null,IsRequired:!1});s()((function(){o=r.A.viewmodel.fromModel(l,{extend:{"{root}":function(e){e.validationObject=r.A.validatedObservable({Answer:e.Answer.extend({required:{message:"You must enter a value",onlyIf:e.IsRequired},maxLength:{params:400,message:"Reason can be no longer than 400 characters"}})}),e.onOk=function(){e.validationObject.isValid()?(s()("#simple-question-modal").modal("hide"),a(e.Answer())):e.validationObject.errors.showAllMessages()}}}}),r.A.modalApplyBindings(o,s()("#simple-question-modal")[0])}));const u={show:function(e,n,t,i,l,u){var d={Title:e,Question:n,AnswerLabel:t,Answer:u||null,IsRequired:i};r.A.viewmodel.updateFromModel(o,d),a=l,s()("#simple-question-modal").modal()}}},4209:(e,n,t)=>{"use strict";t.d(n,{A:()=>c});var o,a,i,s=t(79602),r=t.n(s),l=t(45091);function u(){l.Ay.isUndefined(a)||a()}function d(){l.Ay.isUndefined(i)||i()}r()((function(){o=r()("#areyousure-modal")[0],r()(o).find(".yes-button").click(u),r()(o).find(".no-button").click(d),r()(o).on("shown.bs.modal",(function(){r()(".no-button").focus()}))}));const c={show:function(e,n,t){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Are you sure?",l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"Yes",u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"No";r()(o).find(".modal-title").html(s),r()(o).find(".modal-body p").html(e),r()(o).find(".no-button").html(u),r()(o).find(".yes-button").html(l),a=n,i=t,r()(o).modal()}}},4801:(e,n,t)=>{"use strict";t.d(n,{A:()=>m});var o,a=t(79602),i=t.n(a),s=(t(45091),t(34827)),r=t(53096),l=t(34925),u=t(4209),d=t(87507),c=t(57139),p=t(51734);t(84611),t(68773),t(23897),t(68486);const m={initialise:function(){var e=i().parseJSON(i()("#page-data").text());o=s.A.viewmodel.fromModel(e,{extend:{"{root}":function(e){e.HeaderColour=s.A.pureComputed((function(){return p.Ay.contrast(e.Backgroun
1dColour()||"#ffffff")})),e.WindowWidth=s.A.observable(i()(window).width()),i()(window).resize((function(){return e.WindowWidth(i()(window).width())})),e.IsMobile=s.A.pureComputed((function(){return e.WindowWidth()<768})),e.selectVersion=function(e){var n;n=e.ID(),r.Ay.post("Cms","Pages","GetPageVersion",{id:n},null,!0,"Loading ...").done((function(e){s.A.viewmodel.updateFromModel(o,e)})).fail((function(e){l.A.addMessage("Error retrieving page",e,!0,"danger")}))},e.deleteVersion=function(e){u.A.show("Delete version "+e.Name(),(function(){!function(e){r.Ay.post("Cms","Pages","DeletePageVersion",{deleteID:e.ID(),selectedID:o.ID()}).done((function(e){e||(window.location.href=r.Ay.relativeURL("/")),s.A.viewmodel.updateFromModel(o,e)}))}(e)}))},e.editSeo=function(){d.A.show(e.PageID(),(function(n){return s.A.viewmodel.updateFromModel(e.SeoTags,n)}))},e.publish=function(){var n;n=e.ID(),r.Ay.post("Cms","Pages","PublishPage",{id:n},null,!0,"Publishing...").done((function(e){window.history.pushState(null,e.Title,e.PageURL),s.A.viewmodel.updateFromModel(o,e)})).fail((function(e){l.A.addMessage("Error publishing page",e,!0,"danger")}))},e.unpublish=function(){var n;n=e.ID(),r.Ay.post("Cms","Pages","UnpublishPage",{id:n},null,!0,"Reverting...").done((function(e){window.history.pushState(null,e.Title,e.PageURL),s.A.viewmodel.updateFromModel(o,e)})).fail((function(e){l.A.addMessage("Error unpublishing page",e,!0,"danger")}))},e.toggleWatching=function(){var n,t,o;n=e.PageID(),t=!e.IsWatching(),o=function(n){return e.IsWatching(n)},r.Ay.post("Cms","Pages","WatchPage",{pageID:n,isWatching:t}).done(o).fail((function(e){l.A.addMessage("Error setting watch",e,!0,"danger")}))},c.A.extendPageViewModelForComments(e)},"{root}.Blocks[i].Columns[i].Elements[i]":function(e){"HTML"===e.Type()&&e.IgnoreCache()&&r.Ay.post("Cms","Components","RefreshHtmlContentForColumn",{columnID:e.ID()}).done((function(n){return s.A.viewmodel.updateFromModel(e,n)}))}},custom:{"{root}.Blocks[i].Columns[i].Elements[i].ComponentData":{map:function(e){return e},unmap:function(e){return e}}}}),s.A.pageApplyBindings(o,i()("#page-binding")[0])}}},6555:(e,n,t)=>{"use strict";t.d(n,{A:()=>k});var o,a,i=t(79602),s=t.n(i),r=t(45091),l=t(34827),u=t(34925),d=t(53096),c=t(763),p=(t(68773),t(39939),t(41350),{User:{ID:null,Name:null}});s()((function(){a=s()("#impersonation-modal"),o=l.A.viewmodel.fromModel(p,{extend:{"{root}":function(e){e.lookupMatchingUsers=c.Ay.matchingUsersForImpersonate,e.validationObject=l.A.validatedObservable({UserID:e.User.ID.extend({required:{message:"You must select a user"}})}),e.onOk=function(){e.validationObject.isValid()?(a.modal("hide"),function(e){var n=e.User.ID();d.Ay.post(null,"SignIn","Impersonate",{id:n},null,!0,"Impersonating ...").done((function(e){window.location.href=e.url})).fail((function(e){u.A.addMessage("Error impersonating user",e,!0,"danger")}))}(e)):e.validationObject.errors.showAllMessages()}}}}),l.A.modalApplyBindings(o,a[0])}));const m={show:function(){l.A.viewmodel.updateFromModel(o,p),a.modal()}};t(89075);var f,g,v={Roles:[],EnabledRoleIDs:[]};s()((function(){g=s()("#role-dialdown-modal"),f=l.A.viewmodel.fromModel(v,{extend:{"{root}":function(e){e.selectAll=function(){e.EnabledRoleIDs(r.Ay.map(e.Roles(),(function(e){return l.A.unwrap(e.ID)})))},e.selectNone=function(){e.EnabledRoleIDs([])},e.onOk=function(){g.modal("hide"),function(e){var n=r.Ay.map(e.Roles(),(function(e){return l.A.unwrap(e.ID)})),t=e.EnabledRoleIDs(),o=r.Ay.difference(n,t);d.Ay.post(null,"SignIn","SetDisabledRoles",{roleIDs:o},null,!0,"Updating role view ...").done((function(){window.location.reload()})).fail((function(e){u.A.addMessage("Error updating role view",e,!0,"danger")}))}(e)}}}}),l.A.modalApplyBindings(f,g[0])}));const b={show:function(e,n){var t=function(e){return r.Ay.map(e,(function(e){return{ID:l.A.utils.unwrapObservable(e.ID),Name:l.A.utils.unwrapObservable(e.Name)}}))}(e),o=r.Ay.pluck(t,"ID"),a=r.Ay.difference(o,n);l.A.viewmodel.updateFromModel(f,{Roles:t,EnabledRoleIDs:a}),g.modal()}};var A,y,h,I=t(69380),C=(t(44499),{Items:[]});
1s()((function(){h=s()("#my-todo-list-modal"),A=l.A.viewmodel.fromModel(C,{extend:{"{root}":function(e){e.closeModal=function(){y&&y(),h.modal("hide")}},"{root}.Items[i]":function(e){e.markComplete=function(){d.Ay.post("ToDo","Workflow","MarkCompleted",{id:e.ID()}).done((function(n){return l.A.viewmodel.updateFromModel(e,n)})).fail((function(e){return u.A.addMessage("Error",e,!0,"danger")}))},e.skip=function(){d.Ay.post("ToDo","Workflow","Skip",{id:e.ID()}).done((function(n){return l.A.viewmodel.updateFromModel(e,n)})).fail((function(e){return u.A.addMessage("Error",e,!0,"danger")}))},e.hide=function(){d.Ay.post("ToDo","Workflow","Hide",{id:e.ID()}).done((function(n){return e.__parent.Items.remove(e)})).fail((function(e){return u.A.addMessage("Error",e,!0,"danger")}))},e.HasHelpSequence=l.A.pureComputed((function(){return I.Ay.hasHelpSequence(e.SystemActionCode())})),e.runHelpSequence=function(){h.modal("hide"),I.Ay.runHelpSequence(e.SystemActionCode())}}}}),h.length&&l.A.modalApplyBindings(A,h[0])}));const S={show:function(e){y=e,d.Ay.post("ToDo","Workflow","GetMyToDoList",{}).done((function(e){l.A.viewmodel.updateFromModel(A,e),h.modal()})).fail((function(e){return u.A.addMessage("Error retrieving to-do list",e,!0,"danger")}))}};var D,w,E,M=t(21023);t(17212),t(53779),t(76484),t(55815);function O(e){var n=window.getComputedStyle(e);if("none"===n.display)return 0;var t=parseInt(n.width),o=parseInt(n.marginLeft),a=parseInt(n.marginRight),i=t+Math.max(o,0)+Math.max(a,0)+3;return r.Ay.isNaN(i)?0:i}function T(){var e=D.find(".navbar-main > li:not(#overflow-menu)");w=r.Ay.map(e,(function(e){return O(e)}))}function U(){var e=s()(window).width(),n=e<750,t=O(D.find(".navbar-header")[0])+15+(r.Ay.reduce(D.find(".navbar-right"),(function(e,n){return e+O(n)}),0)+15+10),o=D.find(".navbar-main > li:not(#overflow-menu)"),a=s()("#overflow-menu"),i=s()(a).find(".dropdown-menu"),l=t,u=!1;r.Ay.all(w,(function(e){return 0===e}))&&T();for(var d=0;d<o.length;++d){var c=s()(o[d]),p=w[d],m=s()(i.children()[d]);n||l+p+40<=e||d===o.length-1&&l+p<=e?(c.show(),m.hide()):(c.hide(),m.show(),u=!0),l+=p}u?a.show():a.hide()}s()((function(){if((D=s()("#main-menu")).length){var e=s().parseJSON(s()("#menu-user-data").text());e.SearchResults=[],E=l.A.viewmodel.fromModel(e,{extend:{"{root}":function(e){e.SearchText=l.A.observable(null),e.SearchCategory=l.A.observable(null),e.IsSearching=l.A.observable(!1),e.search=function(){e.SearchResults([]),e.SearchCategory(null),e.SearchText()&&(e.IsSearching(!0),M.A.search(e.SearchText(),(function(n){var t=r.Ay.find(e.SearchResults(),(function(e){return e.Category()===n.Category}));t?t.Results.push(n):(t={Category:n.Category,Results:[n]},e.SearchResults.pushFromModel(t))}),(function(){e.IsSearching(!1)})))},e.showToDoList=function(){S.show()},e.impersonate=function(){m.show()},e.stopImpersonating=function(){d.Ay.post(null,"SignIn","StopImpersonating",{returnUrl:window.location.href},null,!0,"Stopping impersonation ...").done((function(e){window.location.href=e.url})).fail((function(e){u.A.addMessage("Error stopping impersonation",e,!0,"danger")}))},e.dialDownRoles=function(){b.show(e.DisableableRoles(),e.DisabledRoleIDs())},e.signIn=function(){d.Ay.signIn()}},"{root}.SearchResults[i]":function(e){e.TopResults=l.A.pureComputed((function(){return e.Results().length<=5?e.Results():r.Ay.first(e.Results(),5)}))}}}),l.A.applyBindings(E,s()("#main-menu")[0]),T(),r.Ay.defer((function(){return U()})),s()(window).resize(r.Ay.debounce(U,100)),D.find(".dropdown-sticky").dropdownSticky()}}));const k={updateUserData:function(){d.Ay.post(null,"MenuBar","GetUserData").done((function(e){l.A.viewmodel.updateFromModel(E,e),U()})).fail((function(e){u.A.addMessage("Error updating user data",e,!0,"danger")}))}}},7405:(e,n,t)=>{"use strict";t.d(n,{A:()=>f});var o,a,i=t(79602),s=t.n(i),r=t(45091),l=t(34827),u=t(53096),d=t(34925),c=t(26069),p=t(38783),m=(t(68773),t(39939),{ID:0,ParentCategoryID:null,Name:null,Description:null});s()((function(){o=l.A.viewmodel.fromModel(m,{extend:{"{root}":function(e){var n=p.Ay.getOptionSetKO("DocumentCategories");e.ParentCategoryOptions=l.A.pureComputed((function(){return r.Ay.filter(n(),(function(n){return n.ID!==e.ID()&&!r.Ay.contains(n.AncestorIDs,e.ID())}))})),e.validationObject=l.A.validatedObservable({Name:e.Name.extend({required:{params:!0,message:"'Name' is required."},maxLength:{params:200,message:"'Name' must be no more than {0} characters."}}),Description:e.Description.extend({maxLength:{params:200,message:"'Description' must be no more than {0} characters."}})}),e.onOk=function(){e.validationObject.isValid()?function(e){var n=l.A.viewmodel.toModel(e);u.Ay.post("Documents","Categories","SaveCategory",n).done((function(n){d.A.addMessage("Success!","Document Category '"+e.Name()+"' saved successfully.",!0,"success"),s()("#document-category-edit-modal").modal("hide"),a(n)})).fail((function(e){c.Ay.show("Error!","Error Saving Document Category: "+e,"danger")}))}(e):e.validationObject.errors.showAllMessages()}}}});var e=s()("#document-category-edit-modal");e.length&&l.A.modalApplyBindings(o,e[0])}));const f={show:function(e,n,t){a=t,e?u.Ay.post("Documents","Categories","GetCategoryForEdit",{id:e}).done((function(e){l.A.viewmodel.updateFromModel(o,e),s()("#document-category-edit-modal").modal()})).fail((function(e){return d.A.addMessage("Error retrieving document category details",e,!0,"danger")})):(l.A.viewmodel.updateFromModel(o,m),o.ParentCategoryID(n),s()("#document-category-edit-modal").modal())}}},23506:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>u});var o=t(45091),a=t(53096),i=t(34925),s=t(23535),r=t(6555);function l(e){return o.Ay.isArray(e)?e:new Array(1).fill(e)}const u={approveSignUps:function(e,n,t,o){var r=l(e);a.Ay.post("Events","Manage","Approve",{signUpIDs:r,skipWaitingList:n}).done((function(){if(o)t();else{var e="Sign-up".concat(r.length>
11?"s":""," approved");s.Ay.showMessage(e,t)}})).fail((function(e){i.A.addMessage("Error approving sign ups",e,!0,"danger")}))},rejectSignUps:function(e,n,t){var o=l(e);a.Ay.post("Events","Manage","Reject",{signUpIDs:o}).done((function(){t?n():s.Ay.showMessage("Sign-up rejected.",n)})).fail((function(e){i.A.addMessage("Error rejecting sign up",e,!0,"danger")}))},deleteSignUps:function(e,n,t){var o=l(e);a.Ay.post("Events","Manage","Delete",{signUpIDs:o}).done((function(e){t?n(e):s.Ay.showMessage("Sign-up deleted.",n)})).fail((function(e){i.A.addMessage("Error deleting sign up",e,!0,"danger")}))},offerPlaces:function(e,n,t){var o=l(e);a.Ay.post("Events","WaitList","OfferPlaces",{signUpIDs:o}).done((function(){t?n():s.Ay.showMessage("Places offered.",n)})).fail((function(e){i.A.addMessage("Error offering places",e,!0,"danger")}))},acceptPlaceOffers:function(e,n,t){var o=l(e);a.Ay.post("Events","WaitList","AcceptPlaceOffers",{signUpIDs:o}).done((function(){t?n():s.Ay.showMessage("Offers accepted.",n)})).fail((function(e){i.A.addMessage("Error accepting places",e,!0,"danger")}))},rejectPlaceOffers:function(e,n,t){var o=l(e);a.Ay.post("Events","WaitList","RejectPlaceOffers",{signUpIDs:o}).done((function(e){t?n(e):s.Ay.showMessage("Offers rejected.",(function(){return n(e)}))})).fail((function(e){i.A.addMessage("Error rejecting places",e,!0,"danger")}))},purchaseAddOns:function(e,n){a.Ay.post("Events","AddOns","PurchaseAddOns",{signUpID:e}).done((function(e){s.Ay.showPurchaseAddOnsModal(e,(function(e){n(e),r.A.updateUserData(),s.Ay.showPurchaseAddOnsResultModal(e)}))})).fail((function(e){i.A.addMessage("Error retrieving add-on purchase options",e,!0,"danger")}))},changeAddOns:function(e,n,t){s.Ay.showChangeAddOnsModal(e,n,t)},cancelAddOns:function(e,n,t){s.Ay.showCancelAddOnsModal(e,n,t)},withdraw:function(e,n,t){var o=l(e);a.Ay.post("Events","Manage","Withdraw",{signUpIDs:o},null,!0,"Withdrawing ...").done((function(e){r.A.updateUserData(),t||i.A.addMessage("Success!",e,!0,"success"),n()})).fail((function(e){i.A.addMessage("Error!","Error withdrawing sign-up(s) for event: "+e.toString(),!0,"danger")}))},seriesWithdraw:function(e,n,t,o){var s=l(e);a.Ay.post("Events","Manage","SeriesWithdraw",{signUpIDs:s,fromInstanceOnwards:n}).done((function(e){r.A.updateUserData(),o||i.A.addMessage("Success!",e,!0,"success"),t()})).fail((function(e){i.A.addMessage("Error!","Error withdrawing sign-up(s) for series: "+e.toString(),!0,"danger")}))},undoRejections:function(e,n,t){var o=l(e);a.Ay.post("Events","Manage","UndoRejections",{signUpIDs:o}).done((function(){t?n():s.Ay.showMessage("Sign-up rejections reinstated.",n)})).fail((function(e){i.A.addMessage("Error undoing sign up rejections",e,!0,"danger")}))},moveSignUp:function(e,n){s.Ay.showMoveSignUpModal(e,n)},moveSignUps:function(e,n){var t=l(e);s.Ay.showMoveMultipleSignUpsModal(t,n)},recordPaymentForSignUps:function(e,n){l(e)},recordRefundForSignUps:function(e,n){l(e)},sendTicket:function(e,n){a.Ay.post("Events","Manage","SendTicket",{signUpID:e}).done(n).fail((function(e){return i.A.addMessage("Error sending ticket",e,!0,"danger")}))}}},23535:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>re});var o,a=t(79602),i=t.n(a),s=t(34827);t(39939);function r(){this.DoneCallback=null,this.Message=s.A.observable()}i()((function(){o=new r,s.A.modalApplyBindings(o,i()("#message-modal")[0])}));const l={show:function(e,n){o.Message(e),o.DoneCallback=n,i()("#message-modal").modal()}};var u=t(45091),d=t(26069),c=t(53096),p=t(28151),m=t(38186),f=(t(68773),{ID:null,Description:null,UnitCost:null,Quantity:0});function g(e){e.incrementQuantity=function(){e.Quantity(e.Quantity()+1)},e.decrementQuantity=function(){var n=e.Quantity()-1;n>=0&&e.Quantity(n)},e.TotalCost=s.A.pureComputed((function(){var n=e.UnitCost.InclTax.Value()*parseInt(e.Quantity());return p.Ay.format(n,!0)})),e.validationObject=s.A.validatedObservable({Quantity:e.Quantity.extend({required:{message:"You must enter a quantity."},digit:{message:"Quantity must be an integer number."},min:{params:0,message:"Quantity must be a positive number."}})})}const v={extendViewModel:function(e){e.SelectedAddOns=s.A.observableArray(),e.IsOnBehalfOfAttendee=s.A.observable(!1),e.AreAddOnsSelected=s.A.pureComputed((function(){return u.Ay.some(e.SelectedAddOns(),(function(e){return e.Quantity()>0}))})),e.validationObject=s.A.validatedObservable({SelectedAddOns:e.SelectedAddOns})},initialiseViewModel:function(e,n){s.A.viewmodel.updateFromModel(e,n),e.SelectedAddOns([]),u.Ay.each(e.AvailableAddOns(),(function(n){var t=u.Ay.extendOwn({},f,s.A.viewmodel.toModel(n)),o=s.A.viewmodel.fromModel(t,{extend:{"{root}":g}});1===e.AvailableAddOns().length&&o.Quantity(1),e.SelectedAddOns.push(o)})),e.IsOnBehalfOfAttendee(e.IsAdmin())},purchaseAddOns:function(e,n){if(!e.validationObject.isValid())return e.validationObject.errors.showAllMessages(),void d.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");var t=u.Ay.map(u.Ay.filter(e.SelectedAddOns(),(function(e){return e.Quantity()>0})),(function(e){return{AddOnProductID:e.ID(),Quantity:e.Quantity()}})),o=u.Ay.reduce(e.SelectedAddOns(),(function(e,n){return e+n.UnitCost.InclTax.Value()*n.Quantity()}),0);!function(e,n,t,o,a){m.A.addToCart(t);var i={SignUpID:e,RequestedAddOns:n,IsOnBehalfOfAttendee:o};c.Ay.post("Events","AddOns","CompleteAddOnPurchase",i).done(a).fail((function(e){d.Ay.show("Error purchasing add-ons",e,"danger")}))}(e.SignUpID(),t,o,e.IsOnBehalfOfAttendee(),n)}};var b,A,y={SignUpID:null,ExistingPurchases:[],AvailableAddOns:[],IsAdmin:!1};i()((function(){b=s.A.viewmodel.fromModel(y,{extend:{"{root}":function(e){v.extendViewModel(e),e.onOk=function(){v.purchaseAddOns(e,A),i()("#purchase-
1addons-modal").modal("hide")}}}}),s.A.modalApplyBindings(b,i()("#purchase-addons-modal")[0])}));const h={show:function(e,n){v.initialiseViewModel(b,e),A=n,i()("#purchase-addons-modal").modal()}};var I,C={Purchases:[],PurchasesInBasket:!1,AvailableDiscounts:[]};i()((function(){I=s.A.viewmodel.fromModel(C),s.A.modalApplyBindings(I,i()("#purchase-addons-result-modal")[0])}));const S={show:function(e){s.A.viewmodel.updateFromModel(I,e),i()("#purchase-addons-result-modal").modal(),e.AnyInBasket&&m.A.addToCart(e.TotalCost)}};var D,w,E=t(34925),M={SignUpID:null,PurchaseID:null,Quantity:null,Description:null,UnitCost:null,TotalCost:null,NewQuantity:null,NewUnitCost:null};i()((function(){D=s.A.viewmodel.fromModel(M,{extend:{"{root}":function(e){e.NewTotalCost=s.A.pureComputed((function(){var n=e.NewQuantity(),t=p.Ay.parse(e.NewUnitCost());if(!n||!t)return null;var o=n*t;return p.Ay.format(o,!0)})),e.validationObject=s.A.validatedObservable({NewQuantity:e.NewQuantity.extend({integer:{message:"Quantity must be an integer"},min:{params:1,message:"Quantity must be > 0"}}),NewUnitCost:e.NewUnitCost.extend({currency:{message:"Unit cost must be a valid currency amount"},currencyMin:{params:0,message:"Unit cost must be a positive amount"}})}),e.onOk=function(){if(!e.validationObject.isValid())return e.validationObject.errors.showAllMessages(),void d.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");var n,t,o,a,s,r;i()("#change-addons-modal").modal("hide"),n=e.SignUpID(),t=e.PurchaseID(),o=e.NewQuantity(),a=e.NewUnitCost(),s=w,r={signUpID:n,purchaseID:t,newQuantity:o,newUnitCost:a},c.Ay.post("Events","AddOns","ChangeAddOnPurchase",r).done((function(e){s(),e&&i()("#refund-issued-modal").modal()})).fail((function(e){E.A.addMessage("Failed to change add-on",e,!0,"danger")}))}}}}),s.A.modalApplyBindings(D,i()("#change-addons-modal")[0])}));const O={show:function(e,n,t){var o={SignUpID:e,PurchaseID:n.PurchaseID,Quantity:n.Quantity,Description:n.Description,UnitCost:n.UnitCost.ExclTax.Formatted,TotalCost:n.TotalCost.ExclTax.Formatted,NewQuantity:n.Quantity,NewUnitCost:n.UnitCost.ExclTax.FormattedNoSymbol};s.A.viewmodel.updateFromModel(D,o),w=t,i()("#change-addons-modal").modal()}};var T,U,k={SignUpID:null,PurchaseID:null,Quantity:null,Description:null,UnitCost:null,TotalCost:null,IsPaid:!1,IsPaidLabel:null};i()((function(){T=s.A.viewmodel.fromModel(k,{extend:{"{root}":function(e){e.onOk=function(){var n,t,o,a;i()("#cancel-addons-modal").modal("hide"),n=e.SignUpID(),t=e.PurchaseID(),o=U,a={signUpID:n,purchaseID:t},c.Ay.post("Events","AddOns","CancelAddOnPurchase",a).done((function(e){o(),e&&i()("#refund-issued-modal").modal()})).fail((function(e){E.A.addMessage("Failed to cancel add-on",e,!0,"danger")}))}}}}),s.A.modalApplyBindings(T,i()("#cancel-addons-modal")[0])}));const x={show:function(e,n,t){var o={SignUpID:e,PurchaseID:n.PurchaseID,Quantity:n.Quantity,Description:n.Description,UnitCost:n.UnitCost.ExclTax.Formatted,TotalCost:n.TotalCost.ExclTax.Formatted,IsPaid:n.IsPaid,IsPaidLabel:n.IsPaidLabel};s.A.viewmodel.updateFromModel(T,o),U=t,i()("#cancel-addons-modal").modal()}};var P,R={EventID:null,EventName:null,AttendeeName:null,User:null,GuestName:null,GuestOfUser:null,Form:{FormName:null,CompletionTime:null,LastEditTime:null,Username:null,ShowHeader:!1,Questions:[]}};i()((function(){P=s.A.viewmodel.fromModel(R),s.A.modalApplyBindings(P,i()("#signup-detail-modal")[0])}));const N={show:function(e,n){!function(e,n,t){c.Ay.post("Events","Manage","GetSignUpFormForView",{signUpID:e,formCompletionID:n}).done(t).fail((function(e){E.A.addMessage("Error getting sign-up detail",e,!0,"danger")}))}(e,n,(function(e){s.A.viewmodel.updateFromModel(P,e),i()("#signup-detail-modal").modal()}))}};var L,F,j=t(27556),V=(t(21829),{SignUpID:null,EventID:null,EventName:null,AttendeeName:null,User:null,GuestName:null,GuestOfUser:null,Form:null});i()((function(){L=s.A.viewmodel.fromModel(V,{extend:{"{root}":function(e){e.onOK=function(){if(!e.Form().validationObject.isValid())return e.Form().validationObject.errors.showAllMessages(),void d.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");!function(e,n){c.Ay.post("Events","Manage","SaveAmendedSignUpForm",e).done(n).fail((function(e){E.A.addMessage("Error saving sign-up details",e,!0,"danger")}))}({signUpID:e.SignUpID(),vm:j.Ay.buildFormModel(e.Form())},(function(){i()("#signup-amend-form-modal").modal("hide"),F()}))}}},custom:{"{root}.Form":{map:function(e,n){var t=n||s.A.observable();return t(null==e?null:j.Ay.buildFormViewModel(e)),t},unmap:function(e){return j.Ay.buildFormModel(e())}}}}),s.A.modalApplyBindings(L,i()("#signup-amend-form-modal")[0])}));const B={show:function(e,n,t,o){F=o,function(e,n,t,o){c.Ay.post("Events","Manage","GetSignUpFormForAmend",{signUpID:e,formCompletionID:n,formID:t}).done(o).fail((function(e){E.A.addMessage("Error getting sign-up detail",e,!0,"danger")}))}(e,n,t,(function(e){e.Forms=[e.Form],s.A.viewmodel.updateFromModel(L,e),i()("#signup-amend-form-modal").modal()}))}};var H,G,W={SignUpID:null,UserName:null,NotesTitle:null,Notes:null};i()((function(){H=s.A.viewmodel.fromModel(W,{extend:{"{root}":function(e){e.validationObject=s.A.validatedObservable({Notes:e.Notes.extend({required:{message:"You must enter a value"},maxLength:{params:100,message:"The value can be no longer than 100 characters long"}})}),e.onOK=function(){if(!e.validationObject.isValid())return e.validationObject.errors.showAllMessages(),void d.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");var n,t,o;n=e.SignUpID(),t=e.Notes(),o=function(){i()("#edit-notes-modal").modal("hide"),G()},c.Ay.post("Events","Manage","SaveSignUpNotes",{signUpID:n,notes:t}).done(o).fail((function(e){E.A.addMessage("Error saving notes",e,!0,"danger")}))}}}}),s.A.modalApplyBindings(H,i()("#edit-notes-modal")[0])}));const q={show:function(e,n,t,o,a){G=a;var r={SignUpID:e,UserName:n,NotesTitle:t,Notes:o};s.A.viewmodel.updateFromModel(H,r),i()("#edit-notes-modal").modal()}};var _,Y,z=t(763),Q=t(6555),$=(t(24468),t(41350),{SignUpID:null,Attendee:null,HasPurchase:!1,PaidWithTokens:!1,CostOption:{ID:null,Name:null},Cost:{ExclTax:{Formatted:null,Value:null}},TokenCost:null,FromEvent:{ID:null,Name:null,Date:null,IsSeries:!1,InstanceCount:null},ToEventID:null,ToCostOptionID:null,PayWithTokens:!1,NewCost:null,NewTokenCost:null,Purchaser:{ID:null,Name:null}});i()((function(){_=s.A.viewmodel.fromModel($,{extend:{"{root}":function(e){e.EventOptions=s.A.observableArray();var n=s.A.observable();e.ToEventDate=s.A.computed({read:n,write:function(t){var o,a;(n(t),e.EventOptions([]),t)&&(o=t,a=function(n){e.EventOptions(n)},c.Ay.post("Events","Move","GetMoveTargetEventsForDate",{date:o,fromEventID:_.FromEvent.ID()}).done(a).fail((function(e){E.A.addMessage("Error getting events",e,!0,"danger")})))}}),e.ToEvent=s.A.pureComputed((function(){var n=e.ToEventID();return n?u.Ay.find(e.EventOptions(),(function(e){return e.ID===n})):null})),e.ToEvent.subscribe((function(n){!n||n.CostOptions.length>0||(n.HasCosts?(e.NewCost(n.FixedCost.ExclTax.FormattedNoSymbol),e.NewTokenCost(n.FixedTokenCost),e.PayWithTokens(0===n.FixedCost.ExclTax.V
1alue)):(e.NewCost(null),e.NewTokenCost(null)))})),e.CostOptions=s.A.pureComputed((function(){var n=e.ToEvent();return n?n.CostOptions:[]})),e.HasCostOptions=s.A.pureComputed((function(){return e.CostOptions().length>0})),e.CostOptions.subscribe((function(n){if(n.length&&e.CostOption){var t=u.Ay.find(n,(function(n){return n.Name===e.CostOption.Name}));t&&e.ToCostOptionID(t.ID)}})),e.ToCostOption=s.A.pureComputed((function(){var n=e.ToCostOptionID();return n?u.Ay.find(e.CostOptions(),(function(e){return e.ID===n})):null})),e.CanPayWithMoney=s.A.pureComputed((function(){var n=e.ToEvent();if(!n)return!1;if(!n.CanPayWithMoney)return!1;if(e.HasCostOptions()){var t=e.ToCostOption();return!!t&&t.CanPayWithMoney}return!0})),e.CanPayWithTokens=s.A.pureComputed((function(){var n=e.ToEvent();if(!n)return!1;if(!n.CanPayWithTokens)return!1;if(e.HasCostOptions()){var t=e.ToCostOption();return!!t&&t.CanPayWithTokens}return!0})),e.ToCostOption.subscribe((function(n){n&&(e.NewCost(n.Cost.ExclTax.FormattedNoSymbol),e.NewTokenCost(n.TokenCost),e.PayWithTokens(!n.Cost.ExclTax.Value))})),e.lookupMatchingUsers=z.Ay.matchingUsers,e.validationObject=s.A.validatedObservable({ToEventID:e.ToEventID.extend({required:{message:"You must select an event to move the sign-up to"}}),ToCostOptionID:e.ToCostOptionID.extend({required:{message:"You must select a cost option",onlyIf:e.HasCostOptions}}),NewCost:e.NewCost.extend({required:{message:"You must enter a cost",onlyIf:function(){return e.CanPayWithMoney()&&!e.PayWithTokens()}},currency:{message:"Cost must be a valid currency amount"},currencyMin:{params:0,message:"Cost must be a positive currency amount"}}),NewTokenCost:e.NewTokenCost.extend({required:{message:"You must enter a cost",onlyIf:function(){return e.CanPayWithTokens()&&e.PayWithTokens()}},integer:{message:"Cost must be a valid integer"},min:{params:0,message:"Cost must be a positive integer"}}),PurchaserID:e.Purchaser.ID.extend({required:{message:"You must specify a purchaser",onlyIf:function(){return e.ToEvent()&&e.ToEvent().HasCosts}}})}),e.onOK=function(){if(e.validationObject.isValid()){i()("#move-signup-modal").modal("hide");var n={signUpID:e.SignUpID(),toEventID:e.ToEventID(),toCostOptionID:e.ToCostOptionID(),newCost:e.PayWithTokens()?null:e.NewCost(),newTokenCost:e.PayWithTokens()?e.NewTokenCost():null,purchaserID:e.Purchaser.ID()};c.Ay.post("Events","Move","MoveSignUp",n).done((function(n){Q.A.updateUserData(),E.A.addMessage("Success!",e.Attendee()+" successfully moved from "+e.FromEvent.Name()+" on "+e.FromEvent.Date()+" to "+e.ToEvent().Name+" on "+e.ToEventDate(),!0,"success",!0),!0===n&&E.A.addMessage("Refund Issued","A refund has been issued and needs to be paid; this can be found in the Finance Home Page.",!0,"info",!0),Y()})).fail((function(e){E.A.addMessage("Error moving sign-up",e,!0,"danger")}))}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(_,i()("#move-signup-modal")[0])}));const K={show:function(e,n){s.A.viewmodel.updateFromModel(_,$),Y=n,c.Ay.post("Events","Move","GetSignUpForMove",{signUpID:e}).done((function(e){s.A.viewmodel.updateFromModel(_,e),i()("#move-signup-modal").modal()})).fail((function(e){E.A.addMessage("Error retrieving sign-up details",e,!0,"danger")}))}};var J,Z,X={SignUpIDs:null,Attendees:null,AllHavePurchases:!1,AllPaidWithTokens:!1,CostOption:{ID:null,Name:null},Cost:{ExclTax:{Formatted:null,Value:null}},TokenCost:null,FromEvent:{ID:null,Name:null,Date:null,IsSeries:!1,InstanceCount:null},ToEventID:null,ToCostOptionID:null,PayWithTokens:!1,NewCost:null,NewTokenCost:null};i()((function(){J=s.A.viewmodel.fromModel(X,{extend:{"{root}":function(e){e.EventOptions=s.A.observableArray();var n=s.A.observable();e.ToEventDate=s.A.computed({read:n,write:function(t){var o,a;(n(t),e.EventOptions([]),t)&&(o=t,a=function(n){e.EventOptions(n)},c.Ay.post("Events","Move","GetMoveTargetEventsForDate",{date:o,fromEventID:J.FromEvent.ID()}).done(a).fail((function(e){E.A.addMessage("Error getting events",e,!0,"danger")})))}}),e.ToEvent=s.A.pureComputed((function(){var n=e.ToEventID();return n?u.Ay.find(e.EventOptions(),(function(e){return e.ID===n})):null})),e.ToEvent.subscribe((function(n){!n||n.CostOptions.length>0||(n.HasCosts?(e.NewCost(n.FixedCost.ExclTax.FormattedNoSymbol),e.NewTokenCost(n.FixedTokenCost),e.PayWithTokens(0===n.FixedCost.ExclTax.V
1alue)):(e.NewCost(null),e.NewTokenCost(null)))})),e.CostOptions=s.A.pureComputed((function(){var n=e.ToEvent();return n?n.CostOptions:[]})),e.HasCostOptions=s.A.pureComputed((function(){return e.CostOptions().length>0})),e.CostOptions.subscribe((function(n){if(n.length&&e.CostOption){var t=u.Ay.find(n,(function(n){return n.Name===e.CostOption.Name}));t&&e.ToCostOptionID(t.ID)}})),e.ToCostOption=s.A.pureComputed((function(){var n=e.ToCostOptionID();return n?u.Ay.find(e.CostOptions(),(function(e){return e.ID===n})):null})),e.CanPayWithMoney=s.A.pureComputed((function(){var n=e.ToEvent();if(!n)return!1;if(!n.CanPayWithMoney)return!1;if(e.HasCostOptions()){var t=e.ToCostOption();return!!t&&t.CanPayWithMoney}return!0})),e.CanPayWithTokens=s.A.pureComputed((function(){var n=e.ToEvent();if(!n)return!1;if(!n.CanPayWithTokens)return!1;if(e.HasCostOptions()){var t=e.ToCostOption();return!!t&&t.CanPayWithTokens}return!0})),e.ToCostOption.subscribe((function(n){n&&(e.NewCost(n.Cost.ExclTax.FormattedNoSymbol),e.NewTokenCost(n.TokenCost),e.PayWithTokens(!n.Cost.ExclTax.Value))})),e.lookupMatchingUsers=z.Ay.matchingUsers,e.validationObject=s.A.validatedObservable({ToEventID:e.ToEventID.extend({required:{message:"You must select an event to move the sign-up to"}}),ToCostOptionID:e.ToCostOptionID.extend({required:{message:"You must select a cost option",onlyIf:e.HasCostOptions}}),NewCost:e.NewCost.extend({required:{message:"You must enter a cost",onlyIf:function(){return e.CanPayWithMoney()&&!e.PayWithTokens()}},currency:{message:"Cost must be a valid currency amount"},currencyMin:{params:0,message:"Cost must be a positive currency amount"}}),NewTokenCost:e.NewTokenCost.extend({required:{message:"You must enter a cost",onlyIf:function(){return e.CanPayWithTokens()&&e.PayWithTokens()}},integer:{message:"Cost must be a valid integer"},min:{params:0,message:"Cost must be a positive integer"}})}),e.onOK=function(){if(e.validationObject.isValid()){i()("#move-multiple-signups-modal").modal("hide");var n={signUpIDs:e.SignUpIDs(),toEventID:e.ToEventID(),toCostOptionID:e.ToCostOptionID(),newCost:e.PayWithTokens()?null:e.NewCost(),newTokenCost:e.PayWithTokens()?e.NewTokenCost():null};c.Ay.post("Events","Move","MoveMultipleSignUps",n).done((function(e){Q.A.updateUserData(),E.A.addMessage("Success!",e,!0,"success",!0),Z()})).fail((function(e){E.A.addMessage("Error moving sign-up",e,!0,"danger")}))}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(J,i()("#move-multiple-signups-modal")[0])}));const ee={show:function(e,n){s.A.viewmodel.updateFromModel(J,X),Z=n,c.Ay.post("Events","Move","GetSignUpsForMove",{signUpIDs:e}).done((function(e){s.A.viewmodel.updateFromModel(J,e),i()("#move-multiple-signups-modal").modal()})).fail((function(e){E.A.addMessage("Error retrieving sign-up details",e,!0,"danger")}))}};var ne,te,oe,ae,ie={SignUpIDs:[],EventPaymentOptions:[],EventPaymentOptionID:null,PaymentMethods:[],PaymentMethodID:null,PayWithTokens:!1,Amount:0,TokenAmount:0,PaymentDate:null,Notes:null,SendEmails:!1,CanPayWithMoney:!1,CanPayWithTokens:!1};i()((function(){ae=i()("#event-record-payment-modal"),ne=s.A.viewmodel.fromModel(ie,{extend:{"{root}":function(e){e.FilteredPaymentOptions=s.A.pureComputed((function(){return e.PayWithTokens()?u.Ay.filter(e.EventPaymentOptions(),(function(e){return!0===e.AppliesToTokens()})):e.EventPaymentOptions()})),e.FilteredPaymentMethods=s.A.pureComputed((function(){return"AllDue"===e.EventPaymentOptionID()?u.Ay.filter(e.PaymentMethods(),(function(e){return!0===e.AppliesToAttendance()&&!0===e.AppliesToAddOns()})):"AllAttendance"===e.EventPaymentOptionID()?u.Ay.filter(e.PaymentMethods(),(function(e){return!0===e.AppliesToAttendance()})):"AllAddOns"===e.EventPaymentOptionID()?u.Ay.filter(e.PaymentMethods(),(function(e){return!0===e.AppliesToAddOns()})):e.PaymentMethods()})),e.validationObject=s.A.validatedObservable({PaymentDate:e.PaymentDate.extend({required:{message:"You must enter a Payment Date"},date:{message:"Payment date must be a valid date"}}),EventPaymentOptionID:e.EventPaymentOptionID.extend({required:{message:"You must select a Payment Option"}}),PaymentMethodID:e.PaymentMethodID.extend({required:{message:"You must select a Payment Method"}}),Amount:e.Amount.extend({currency:{onlyIf:function(){return!e.PayWithTokens()&&"Amount"===e.EventPaymentOptionID()},message:"'Amount' must be a valid currency amount"},required:{onlyIf:function(){return!e.PayWithTokens()&&"Amount"===e.EventPaymentOptionID()},message:"'Amount' is required"},nonZero:{onlyIf:function(){return!e.PayWithTokens()&&"Amount"===e.EventPaymentOptionID()},message:"'Amount' must not be zero"}}),TokenAmount:e.TokenAmount.extend({integer:{onlyIf:function(){return e.PayWithTokens()&&"Amount"===e.EventPaymentOptionID()},message:"'Token Amount' must be a whole number"},required:{onlyIf:function(){return e.PayWithTokens()&&"Amount"===e.EventPaymentOptionID()},message:"'Token Amount' is required"},nonZero:{onlyIf:function(){return e.PayWithTokens()&&"Amount"===e.EventPaymentOptionID()},message:"'Token Amount' must not be zero"}}),Notes:e.Notes.extend({maxLength:{params:200,message:"Notes cannot be longer than 200 characters"}})}),e.execute=function(){if(!e.validationObject.isValid())return e.validationObject.errors.showAllMessages(),void d.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");ae.modal("hide"),e.recordPayment(e)}}}}),s.A.modalApplyBindings(ne,ae[0])}));const se={showForSignUps:function(e,n,t){s.A.viewmodel.updateFromModel(ne,ie),te=n,oe=t,ne.recordPayment=function(e){return function(e){var n={SignUpIDs:e.SignUpIDs(),EventPaymentOptionID:e.EventPaymentOptionID(),PaymentMethodID:e.PaymentMethodID(),PayWithTokes:e.PayWithTokens(),Amou
1nt:e.Amount(),TokenAmount:e.TokenAmount(),PaymentDate:e.PaymentDate(),Notes:e.Notes(),SendEmails:e.SendEmails()};c.Ay.post("Events","SignUp","RecordPaymentForEvent",n).done((function(e){E.A.addMessage("Payments Recorded",e,!0,"success"),te(e)})).fail((function(e){E.A.addMessage("Error Recording Payment",e,!0,"danger"),oe(e)}))}(e)},c.Ay.post("Events","SignUp","GetRecordPaymentForEventVM",{signUpIDs:e}).done((function(e){return n=e,s.A.viewmodel.updateFromModel(ne,n),void ae.modal();var n})).fail((function(e){E.A.addMessage("Error!",e,!0,"danger"),oe(e)}))}};const re={showMessage:function(e,n){l.show(e,n)},showEditNotesModal:function(e,n,t,o,a){q.show(e,n,t,o,a)},showViewFormModal:function(e,n){N.show(e,n)},showAmendFormModal:function(e,n,t,o){B.show(e,n,t,o)},showPurchaseAddOnsModal:function(e,n){h.show(e,n)},showPurchaseAddOnsResultModal:function(e){S.show(e)},showChangeAddOnsModal:function(e,n,t){O.show(e,n,t)},showCancelAddOnsModal:function(e,n,t){x.show(e,n,t)},showMoveSignUpModal:function(e,n){K.show(e,n)},showMoveMultipleSignUpsModal:function(e,n){ee.show(e,n)},showRecordPaymentForSignUpsModal:function(e,n){se.showForSignUps(e,n)}}},26069:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>u});var o=t(79602),a=t.n(o),i=t(34827),s=null;function r(){var e=this;e.Title=i.A.observable(),e.Text=i.A.observable(),e.Type=i.A.observable(),e.ShowHeader=i.A.observable(),e.ShowFooter=i.A.observable(),e.CssClass=i.A.pureComputed((function(){return"alert-"+e.Type()}))}function l(e,n,t){var o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=arguments.length>5?arguments[5]:void 0;o||i||(i=!0),s.Title(e),s.Text(n),s.Type(t),s.ShowHeader(o),s.Show
1Footer(i),a()("#alert-messages").on("shown.bs.modal",(function(){a()("#messageModalOKBtn").focus()})),r&&a()("#alert-messages").on("hidden.bs.modal",r),a()("#alert-messages").modal()}a()((function(){a()("#alert-messages")[0]&&(s=new r,i.A.modalApplyBindings(s,a()("#alert-messages")[0]),a()("#alert-messages").on("hide.bs.modal",(function(){var e=a()(this).prevAll(":visible:first").find("input.has-error");e?e.focus():a()(this).prevAll(":visible:first").find("[autofocus]").focus()})))}));const u={show:l,hookOnErrorEvent:function(e,n){var t=window.onerror;window.onerror=function(o,a,i,s,r){return l("Error!",(e||"")+r+(n||""),"danger"),t&&t(o,a,i,s,r),!0}}}},31175:(e,n,t)=>{"use strict";var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=t(763),m=t(27556),f=t(28151);t(38783),t(68773),t(39939),t(93414),t(23897),t(89075),t(62760);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,n){if(e){if("string"==typeof e)return v(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?v(e,n):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,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}var b={Event:null,AvailableAddOnSets:null,SelectedEventID:null,SignUpDates:null,Attendees:[],SelectedAttendee:null,SelectedInstanceIDs:[],AddOnOptions:[]};r()((function(){i=r()("#add-multi-signup-addon-modal"),o=u.A.viewmodel.fromModel(b,{extend:{"{root}":function(e){e.SelectedInstanceIDs.publishOn("SelectedInstanceIDs"),e.AttendeeOptions=u.A.pureComputed((function(){return l.Ay.map(e.Attendees(),(function(e){return{ID:e,Name:e.Attendee.AttendeeName}}))})),e.InstanceOptions=u.A.pureComputed((function(){if(!e.Event())return[];if("INSTANCE"===e.SignUpDates())return[{ID:e.Event().InstanceEventID,Name:e.Event().InstanceEventDate}];if("SELECTED_INSTANCES"===e.SignUpDates()){var n=e.SelectedAttendee();return n?l.Ay.map(n.SelectedInstanceIDs,(function(n){var t;return{ID:n,Name:null===(t=l.Ay.find(e.Event().SeriesInstances,(function(e){return e.ID==n})))||void 0===t?void 0:t.Name}})):[]}return"SERIES"===e.SignUpDates()?e.Event().SeriesInstances:[]})),u.A.computed((function(){1===e.Attendees().length&&e.SelectedAttendee(e.Attendees()[0])})),u.A.computed((function(){1===e.InstanceOptions().length&&e.SelectedInstanceIDs([e.InstanceOptions()[0].ID])})),u.A.computed((function(){var n=e.SelectedInstanceIDs(),t=l.Ay.map(e.InstanceOptions(),(function(e){return e.ID})),o=l.Ay.intersection(n,t);o.length<n.length&&e.SelectedInstanceIDs(o)})),u.A.computed((function(){if(e.Event()){var n=l.Ay.filter(e.AvailableAddOnSets(),(function(n){return e.SelectedInstanceIDs().includes(n.EventID)})),t=l.Ay.map(n,(function(e){return l.Ay.map(e.AddOns,(function(e){return e.Description}))})),o=l.Ay.intersection.apply(l.Ay,g(t));e.AddOnOptions([]),l.Ay.each(o,(function(t){var o=l.Ay.chain(n).map((function(e){return l.Ay.find(e.AddOns,(function(e){return e.Description===t}))})).filter((function(e){return e})).value();e.AddOnOptions.pushFromModel({Name:t,AddOns:o})}))}}));var n=u.A.validatedObservable({SelectedAttendee:e.SelectedAttendee.extend({required:{message:"You must select an attendee"}}),SelectedInstanceIDs:e.SelectedInstanceIDs.extend({required:{message:"You must select at least one instance"}})});e.onOk=function(){n.isValid()?(i.modal("hide"),function(e){var n=e.SelectedAttendee(),t=l.Ay.findIndex(e.Attendees(),(function(e){return e===n})),o=[];0===e.SelectedInstanceIDs().length?o.push(e.getAddOnRequests(e.SelectedEventID())):o=l.Ay.map(e.SelectedInstanceIDs(),(function(n){return e.getAddOnRequests(n)}));var i={Attendee:u.A.viewmodel.toModel(n),AttendeeIndex:t,InstanceRequests:o};a(i)}(e)):n.errors.showAllMessages()},e.getAddOnRequests=function(n){var t=l.Ay.find(e.InstanceOptions(),(function(e){return e.ID===n})),o=l.Ay.find(e.AvailableAddOnSets(),(function(e){return e.EventID===n})),a=l.Ay.chain(e.AddOnOptions()).filter((function(e){return e.Quantity()>0})).map((function(e){var n=l.Ay.find(o.AddOns,(function(n){return n.Description==e.Name()}
1));return{AddOnProductID:n.ID,AddOnProductName:n.Description,AddOnUnitCost:n.UnitCost.InclTax.Value,Quantity:e.Quantity()}})).value();return{InstanceID:n,InstanceDate:t.Name,AddOnRequests:a}}},"{root}.AddOnOptions[i]":function(e){e.SelectedInstanceIDs=u.A.observable([]).subscribeTo("SelectedInstanceIDs",!0),e.Quantity=u.A.observable(0),e.MaxQuantity=l.Ay.reduce(e.AddOns(),(function(e,n){return null==e||null!=n.AvailableQuantity()&&n.AvailableQuantity()<e?n.AvailableQuantity():e}),null)}},custom:{"{root}.Event":{map:function(e,n){var t=n||u.A.observable();return t(e),t},unmap:function(e){return e()}},"{root}.AvailableAddOnSets":{map:function(e,n){var t=n||u.A.observable();return t(e),t},unmap:function(e){return e()}}},append:["{root}.Attendees[i]"]}),u.A.modalApplyBindings(o,i[0])}));const A={show:function(e,n,t,s,r,l){a=l;var d={Event:e,AvailableAddOnSets:n,SignUpDates:s,SelectedEventID:t,Attendees:r};u.A.viewmodel.updateFromModel(o,d),i.modal()}};t(24468),t(41350),t(83233),t(80737),t(68166);function y(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,n){if(e){if("string"==typeof e)return h(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var o=0,a=function(){};return{s:a,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,r=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){r=!0,i=e},f:function(){try{s||null==t.return||t.return()}finally{if(r)throw i}}}}function h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}u.A.components.register("multi-signup-attendee",{viewModel:function(e){var n=this;n.Event=e.Event,n.EventCapacities=e.EventCapacities,n.AvailableResources=e.AvailableResources,n.SignUpDates=e.SignUpDates,n.Attendee=e.Attendee,n.IsActive=e.IsActive,n.UsedAttendeeTypes=e.UsedAttendeeTypes,n.nextAttendee=e.nextAttendee,n.cancelAttendee=e.cancelAttendee,n.HideAttendeeSelector=u.A.observable(!1)},template:'\n            <div class="form-horizontal">\n                <div class="form-group" data-bind="visible: !HideAttendeeSelector()">\n                    <label class="control-label col-md-3">Attendee</label>\n                    <div class="col-md-8">               \n                        <div data-bind="component: { name: \'multi-signup-attendee-selector\', params: { Event: Event, AttendeeType: Attendee.AttendeeType, selectAttendeeType: Attendee.selectAttendeeType, Attendee: Attendee, UsedAttendeeTypes: UsedAttendeeTypes, HideSelector: HideAttendeeSelector } }"></div>\n                    </div>\n                </div>\n\n                <div data-bind="if: Attendee.AttendeeType() === \'GUEST\'">\n                    <div data-bind="component: { name: \'multi-signup-guest\', params: { Guest: Attendee.Guest, GuestSettings: Event.CanSignUp.GuestSettings } }"></div>\n                </div>\n\n                <div data-bind="if: Attendee.AttendeeType() === \'MEMBER\'">\n                    <div data-bind="component: { name: \'multi-signup-other-member\', params: { OtherMember: Attendee.OtherMember, EventID: Event.InstanceEventID } }"></div>\n                </div>\n\n                <div data-bind="if: Attendee.AttendeeType() === \'REGISTER\'">\n                    <div data-bind="component: { name: \'multi-signup-register-attendee\', params: { Registration: Attendee.Registration, RegistrationWizardID: Event.RegistrationWizardID } }"></div>\n                </div>\n\n                <div data-bind="if: Attendee.AttendeeType() && Attendee.SelectedAttendeeOption()">\n                    <div data-bind="component: { name: \'multi-signup-attendee-dates\', params: { Event: Event, EventCapacities: EventCapacities, SignUpDates: SignUpDates, Attendee: Attendee, AttendeeRules: Attendee.SelectedAttendeeOption } }"></div>\n                    <div data-bind="component: { name: \'multi-signup-attendee-horse\', params: { Event: Event, Attendee: Attendee } }, visible: Event.SupportHorseSignUp"></div>\n                    <div data-bind="component: { name: \'multi-signup-attendee-vehicle\', params: { Event: Event, Attendee: Attendee } }, visible: Event.SupportVehicleSignUp"></div>\n                    <div data-bind="component: { name: \'multi-signup-attendee-resource\', params: { Event: Event, AvailableResources: AvailableResources, Attendee: Attendee } }, visible: Event.HasResources"></div>\n                    <div data-bind="component: { name: \'multi-signup-attendee-notes\', params: { NotesTitle: Event.NotesTitle, Notes: Attendee.Notes } }, visible: Event.NotesTitle"></div>\n                    <div data-bind="component: { name: \'multi-signup-attendee-forms\', params: { Event: Event, Forms: Attendee.Forms, UserID: Attendee.AttendeeUserID } }"></div>\n                </div>\n\n                <div class="form-group" data-bind="visible: !Attendee.IsPrimary()">\n                    <div class="col-md-8 col-md-offset-3">               \n                        <button type="button" class="btn btn-default" data-bind="click: cancelAttendee">\n                            <i class="fas fa-times text-danger"></i>\n                            Cancel\n                        </button>\n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-attendee-complete",{viewModel:function(e){var n=this;n.Event=e.Event,n.Attendee=e.Attendee,n.SignUpDates=e.SignUpDates,n.removeAttendee=e.removeAttendee,n.Instances=u.A.pureComputed((function(){if("SELECTED_INSTANCES"!=n.SignUpDates())return[];if(!n.Attendee.SelectedInstanceIDs().length)return[];var e=n.Attendee.SelectedAttendeeOption().SeriesInstances,t=l.Ay.filter(e,(function(e){return n.Attendee.SelectedInstanceIDs().includes(e.ID)}));return l.Ay.map(t,(function(e){return e.EventDate}))})),n.FormFields=u.A.pureComputed((function(){var e=l.Ay.chain(n.Attendee.Forms()).map((function(e){return e.Questions()}
1)).flatten().value();return l.Ay.map(e,(function(e){return{Name:e.QuestionShortName(),Value:e.AnswerFormatted()}}))}))},template:'\n            <div>\n                <div data-bind="visible: Attendee.AttendeeType">\n                    <div class="attendee-name">\n                        <i class="fal fa-user"></i>\n                        <span data-bind="text: Attendee.AttendeeName"></span>\n                        <span class="attendee-horse" data-bind="visible: Attendee.HorseName"> \n                            <i class="fal fa-horse-head"></i>\n                            <span data-bind="text: Attendee.HorseName"></span>\n                        </span>\n                        <span class="attendee-horse" data-bind="visible: Attendee.VehicleName"> \n                            <i class="fal fa-car"></i>\n                            <span data-bind="text: Attendee.VehicleName"></span>\n                        </span>\n\n                        <i class="fal fa-trash-alt text-danger clickable" style="font-size: 0.8em; margin-left: 5px;" data-bind="click: removeAttendee, visible: !Attendee.IsPrimary()"></i>\n                    </div>\n\n                    <div class="attendee-dates" data-bind="visible: Instances().length, foreach: Instances"> \n                        <span>\n                            <i class="fal fa-calendar-day"></i>\n                            <span data-bind="text: $data"></span>\n                        </span>\n                    </div>\n\n                    <div class="attendee-fields">\n                        <span class="attendee-field" data-bind="visible: Event.HasResources && Attendee.ResourceID()">\n                            <span class="field-name" data-bind="text: Event.ResourceTerm"></span>: \n                            <span class="field-value" data-bind="text: Attendee.ResourceName"></span>\n                        </span>\n\n                        <span class="attendee-field" data-bind="visible: Event.NotesTitle">\n                            <span class="field-name" data-bind="text: Event.NotesTitle"></span>: \n                            <span class="field-value" data-bind="text: Attendee.Notes"></span>\n                        </span>\n                    \n                        \x3c!-- ko foreach: Attendee.Forms --\x3e\n                        <span class="attendee-field" data-bind="css: IsSkipped()? \'text-muted\': \'text-success\'">\n                            <i class="fal" data-bind="css: IsSkipped()? \'fa-times\': \'fa-check\'"></i>\n                            <span data-bind="text: FormName"></span>\n                        </span>\n                        \x3c!-- /ko --\x3e \n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-attendee-selector",{viewModel:function(e){var n=this;n.AttendeeType=e.AttendeeType,n.AvailableOptions=u.A.pureComputed((function(){return l.Ay.filter(e.Event.CanSignUp.AttendeeOptions,(function(n){var t,o,a;return"GUEST"===n.ID?n.CanSignUp&&(!(null!==(o=e.Attendee)&&void 0!==o&&o.IsPrimary())||n.CanSignUpAsPrimary):"MEMBER"===n.ID||("REGISTER"===n.ID?null===(a=e.Attendee)||void 0===a?void 0:a.IsPrimary():!l.Ay.contains(null!==(t=e.UsedAttendeeTypes())&&void 0!==t?t:[],n.ID))}))})),n.SelectableOptions=u.A.pureComputed((function(){return l.Ay.filter(n.AvailableOptions(),(function(e){return e.CanSignUp||"MEMBER"===e.ID}))})),n.IsVisible=u.A.pureComputed((function(){if(1!=n.AvailableOptions().length)return!0;if(!n.AttendeeType())return!0;var e=n.AttendeeType();return"REGISTER"!=e&&"GUEST"!=e})),n.selectAttendeeType=function(t){t.CanSignUp&&(t.ID==n.AttendeeType()?e.selectAttendeeType(null):e.selectAttendeeType(t.ID))},u.A.computed((function(){n.AttendeeType()||1!=n.SelectableOptions().length||"REGISTER"!=n.SelectableOptions()[0].ID&&"GUEST"!=n.SelectableOptions()[0].ID||n.AttendeeType(n.SelectableOptions()[0].ID)})),u.A.computed((function(){e.HideSelector&&e.HideSelector(!n.IsVisible())}))},template:'\n            <div class="event-attendee-selector" data-bind="foreach: AvailableOptions, visible: IsVisible() && AvailableOptions().length">\n                <div class="event-attendee-option" data-bind="css: { active: $parent.AttendeeType() === ID, disable: !CanSignUp && ID !== \'MEMBER\', other: ID === \'MEMBER\' || ID === \'GUEST\' }, click: $parent.selectAttendeeType">\n\n                    <div class="attendee-image">\n                        <img class="img-circle" data-bind="visible: Photo, attr: { src: Photo }" />
1\n                        <span data-bind="component: { name: \'attendee-type-icon\', params: { Type: ID } }, visible: !Photo"></span>\n                    </div>\n\n                    <div class="attendee-name" data-bind="text: Name"></div>\n\n                    <div class="label-me label label-info label-lg label-outline" data-bind="visible: ID === \'ME\' && User.ID">\n                        <i class="fal fa-user"></i> Me\n                    </div>\n\n                    <div class="label-me label label-info label-lg label-outline" data-bind="visible: ID !== \'ME\' && User.ID && IsFamily">\n                        <i class="fal fa-user-friends"></i> Family\n                    </div>\n\n                    <div class="label-me label label-warning label-lg label-outline" data-bind="visible: User.ID && !IsFamily">\n                        <i class="fal fa-user-clock"></i> Recent\n                    </div>\n                </div>\n            </div>\n            <div class="alert alert-danger" data-bind="visible: !AvailableOptions().length">\n                <i class="fas fa-ban"></i> No attendee options available.\n            </div>'}),u.A.components.register("multi-signup-guest",{viewModel:function(e){var n=this;n.Guest=e.Guest,n.GuestSettings=e.GuestSettings,n.HideHeader=e.HideHeader},template:'\n            <div>\n                <h4 class="form-header" data-bind="hidden: HideHeader">\n                    Guest Details\n                </h4>\n                <div class="form-group" data-bind="visible: GuestSettings.Title.IsVisible, validationElement: Guest.Title">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.Title.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.Title.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.Title" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.Title"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.Forename.IsVisible, validationElement: Guest.Forename">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.Forename.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.Forename.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.Forename" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.Forename"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.MiddleName.IsVisible, validationElement: Guest.MiddleName">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.MiddleName.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.MiddleName.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.MiddleName" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.MiddleName"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.Surname.IsVisible, validationElement: Guest.Surname">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.Surname.IsRequired"></i>
1\n                        <span data-bind="text: GuestSettings.Surname.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.Surname" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.Surname"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.PostNominal.IsVisible, validationElement: Guest.PostNominal">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.PostNominal.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.PostNominal.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.PostNominal" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.PostNominal"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.CompanyName.IsVisible, validationElement: Guest.CompanyName">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.CompanyName.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.CompanyName.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.CompanyName" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.CompanyName"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.DOB.IsVisible, validationElement: Guest.DOB">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.DOB.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.DOB.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="kendoDatePicker: Guest.DOB"/>\n                        <span class="help-block" data-bind="validationMessage: Guest.DOB"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.Gender.IsVisible, validationElement: Guest.Gender">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.Gender.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.Gender.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <select class="form-control" data-bind="select2: true, value: Guest.Gender, optionsSet: \'Genders\', optionsValue: \'ID\', optionsText: \'Name\', valueAllowUnset: true"></select>\n                        <span class="help-block" data-bind="validationMessage: Guest.Gender"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.Email.IsVisible, validationElement: Guest.Email">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.Email.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.Email.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.Email" maxlength=50 />
1\n                        <span class="help-block" data-bind="validationMessage: Guest.Email"></span>\n                    </div>\n                </div>\n                <div class="form-group" data-bind="visible: GuestSettings.MobilePhone.IsVisible, validationElement: Guest.MobilePhone">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary" data-bind="visible: GuestSettings.MobilePhone.IsRequired"></i>\n                        <span data-bind="text: GuestSettings.MobilePhone.Label"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Guest.MobilePhone" maxlength=50 />\n                        <span class="help-block" data-bind="validationMessage: Guest.MobilePhone"></span>\n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-other-member",{viewModel:{createViewModel:function(e,n){var t,o,a=n.element,i={};return i.OtherMember=e.OtherMember,i.UserID=u.A.observable(null===(t=e.OtherMember())||void 0===t?void 0:t.User.ID),i.UserName=u.A.observable(null===(o=e.OtherMember())||void 0===o?void 0:o.User.Name),i.LoadingAttendeeInfo=u.A.observable(!1),i.lookupUsers=p.Ay.matchingUsers,u.A.computed((function(){if(i.UserID()){var n;if(i.UserID()==(null===(n=i.OtherMember())||void 0===n?void 0:n.User.ID))return;i.LoadingAttendeeInfo(!0),d.Ay.post("Events","SignUp","GetInfoForUserSignUp",{eventID:e.EventID,userID:i.UserID()}).done((function(e){return i.OtherMember(e)})).fail((function(e){return c.A.addMessage("Error retrieving user details",e,!0,"danger")})).always((function(){return i.LoadingAttendeeInfo(!1)}))}else i.OtherMember(null)}),i,{disposeWhenNodeIsRemoved:a}),i}},template:'\n            <div>\n                <div class="form-group" data-bind="validationElement: OtherMember">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary"></i>\n                        <span data-bind="term: \'User\'"></span>\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="clubhouseAutoCompleteMulti: { value: UserID, text: UserName, options: { dataSource: lookupUsers, singleValue: true } }" />\n                        <span class="help-block" data-bind="validationMessage: OtherMember"></span>\n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-register-attendee",{viewModel:{createViewModel:function(e,n){var t=n.element,o={};return o.Registration=e.Registration,o.RegistrationWizard=u.A.observable(),o.Api=u.A.observable(),u.A.computed((function(){if(e.RegistrationWizardID){var n={id:e.RegistrationWizardID};d.Ay.post("Registration","Register","GetWizard",n).done((function(e){return o.RegistrationWizard(e)})).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")}))}}),o,{disposeWhenNodeIsRemoved:t}),u.A.computed((function(){if(o.Api()){var e=o.Api().validate();o.Registration(e)}}),o,{disposeWhenNodeIsRemoved:t}),o}},template:'\n            <div>\n                <div class="modal-body" data-bind="if: RegistrationWizard()">\n                    <div data-bind="component: { name: \'registration-wizard\', params: { RegistrationWizard: RegistrationWizard(), IsPreviewing: false, Api: Api } }"></div>\n                </div>\n            </div>'}),u.A.components.register("attendee-type-icon",{viewModel:function(e){this.Icon=u.A.pureComputed((function(){switch(e.Type){case"ME":return"fal fa-head-side";case"GUEST":return"fal fa-user-alien";case"MEMBER":return"fal fa-user";case"REGISTER":return"fal fa-user-plus";default:return"fal fa-user-friends"}}))},template:'<i data-bind="css: Icon"></i>'}),u.A.components.register("multi-signup-attendee-notes",{viewModel:function(e){this.NotesTitle=e.NotesTitle,this.Notes=e.Notes},template:'\n            <div>\n                <h4 class="form-header">\n                    Additional Information\n                </h4>\n\n                <div class="form-group" data-bind="visible: NotesTitle, validationElement: Notes">\n                    <label class="col-md-3 control-label">\n                        <i class="fas fa-asterisk text-primary"></i>
1\n                        <span data-bind="text: NotesTitle"></span>\n                    </label>\n                    <div class="col-md-8">\n                        <input name="Notes" type="text" class="form-control" data-bind="value: Notes" />\n                        <span class="help-block" data-bind="validationMessage: Notes"></span>\n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-attendee-forms",{viewModel:function(e){var n=this;n.Event=e.Event,n.EventID=e.Event.InstanceEventID,n.UserID=e.UserID,n.Forms=e.Forms,n.LoadingForms=u.A.observable(!1),u.A.computed((function(){n.Event.HasForms&&(n.LoadingForms(!0),d.Ay.post("Events","SignUp","GetFormsForSignUp",{eventID:n.EventID,userID:e.UserID()}).done((function(e){var t=l.Ay.map(e,(function(e){return m.Ay.buildFormViewModel(e)}));n.Forms(t)})).fail((function(e){return c.A.addMessage("Error retrieving forms",e,!0,"danger")})).always((function(){return n.LoadingForms(!1)})))}))},template:'\n            <div>\n                <div data-bind="foreach: Forms">\n                    <div class="clearfix">\n                        <div data-bind="component: { name: \'form-entry-horizontal\', params: { Form: $data, ShowHeader: true, Context: { UserID: UserID } } }"></div>\n                        <div class="pull-right" data-bind="visible: CanSaveDefaults && !IsSkipped()">\n                            <span data-bind="component: { name: \'checkbox\', params: { Icon: \'fas fa-save\', Class: \'primary\', Text: \'Save answers as defaults\', Value: IsSaveAsDefault } }"></span>\n                        </div>\n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-attendee-horse",{viewModel:function(e){var n=this;n.Event=e.Event,n.Attendee=e.Attendee,n.HorseOptions=u.A.observableArray(),n.LoadingHorseOptions=u.A.observable(!1),n.HorseSearchText=u.A.observable(),n.FilteredHorseOptions=u.A.pureComputed((function(){if(!n.HorseSearchText())return n.HorseOptions();var e=n.HorseSearchText().toLowerCase();return l.Ay.filter(n.HorseOptions(),(function(n){return-1!==n.Name.toLowerCase().indexOf(e)}))})),n.SelectedHorse=u.A.pureComputed((function(){if("REGISTERED"!==n.Attendee.HorseType())return null;var e=n.Attendee.HorseID();return null==e?null:l.Ay.find(n.HorseOptions(),(function(n){return n.ID===e}))})),n.selectNoHorse=function(){n.Attendee.HorseType("NONE"),n.Attendee.HorseID(null),n.Attendee.HorseName(null)},n.selectRegisteredHorse=function(e){n.Attendee.HorseType("REGISTERED"),n.Attendee.HorseID(e.ID),n.Attendee.HorseName(e.Name)},n.selectUnregisteredHorse=function(){"GUEST"!==n.Attendee.HorseType()&&(n.Attendee.HorseType("GUEST"),n.Attendee.HorseID(null),n.Attendee.HorseName(null))},u.A.computed((function(){n.Event.RequireHorseSignUp&&"NONE"==n.Attendee.HorseType()&&n.Attendee.HorseType("REGISTERED")})),u.A.computed((function(){if(n.HorseOptions([]),n.Event.InstanceEventID&&n.Event.SupportHorseSignUp)return n.Attendee.AttendeeUserID()||"GUEST"===n.Attendee.AttendeeType()?(n.LoadingHorseOptions(!0),void d.Ay.post("Events","SignUp","GetHorsesForSignUp",{eventID:n.Event.InstanceEventID,userID:n.Attendee.AttendeeUserID()||null}).done((function(e){if(n.HorseOptions(e),!l.Ay.find(e,(function(e){return e.ID==n.Attendee.HorseID()}))){var t=l.Ay.find(e,(function(e){return e.IsDefault}));t&&(n.Attendee.HorseType("REGISTERED"),n.Attendee.HorseID(t.ID),n.Attendee.HorseName(t.Name))}})).fail((function(e){return c.A.addMessage("Error retrieving horses",e,!0,"danger")})).always((function(){return n.LoadingHorseOptions(!1)}))):"REGISTER"===n.Attendee.AttendeeType()&&n.Attendee.getData().Attendee.Registration?(n.LoadingHorseOptions(!0),void d.Ay.post("Events","SignUp","GetNewUserHorseOptions",{eventID:n.Event.InstanceEventID,registration:n.Attendee.getData().Attendee.Registration}).done((function(e){n.HorseOptions(e)})).fail((function(e){return c.A.addMessage("Error retrieving horses",e,!0,"danger")})).always((function(){return n.LoadingHorseOptions(!1)}))):void 0}))},template:'\n            <div>\n                <h4 class="form-header">\n                    <i class="fas fa-horse-head"></i>\n                    Horse\n                </h4>\n                <div class="alert alert-info">\n                    <i class="fas fa-info-square"></i> \n                    If the horse you are looking for is missing, please contact the horse\'s owner and get them to ensure that \n                    you are recorded as a rider of that horse. \n                </div>\n\n                <div class="alert alert-danger" data-bind="visible: !LoadingHorseOptions() && !HorseOptions().length && Event.RequireHorseSignUp && Event.RequireRegisteredHorse">\n                    <i class="fas fa-exclamation-triangle"></i> \n                    Attendee has no horses and a horse selection is required to attend this event. \n                </div>\n\n                \x3c!-- Registered Horses --\x3e\n\n                <div class="form-group" data-bind="validationElement: Attendee.HorseID, visible: HorseOptions().length || !Event.RequireHorseSignUp || !Event.RequireRegisteredHorse">\n                    <label class="control-label col-md-3">
1Horse</label>\n                    <div class="col-md-8">               \n                        <div data-bind="visible: HorseOptions().length > 4">\n                            <input class="form-control mb-10" data-bind="textInput: HorseSearchText" placeholder="Search for horse" />\n                        </div>\n                        <div data-bind="css: HorseOptions().length > 4? \'scroll-400\': \'\'"> \n                            <div class="event-attendee-selector">\n\n                                \x3c!-- None --\x3e\n                                <div class="event-attendee-option" data-bind="visible: !Event.RequireHorseSignUp, css: { active: Attendee.HorseType() === \'NONE\' }, click: selectNoHorse">\n                                    <div class="attendee-image">\n                                        <i class="fal fa-ban"></i>\n                                    </div>\n\n                                    <div class="attendee-name">\n                                        None\n                                    </div>\n                                </div>\n\n                                \x3c!-- ko foreach: FilteredHorseOptions --\x3e\n                                <div class="event-attendee-option" data-bind="css: { active: $parent.Attendee.HorseType() === \'REGISTERED\' && $parent.Attendee.HorseID() === ID }, click: $parent.selectRegisteredHorse">\n\n                                    <div class="attendee-image">\n                                        <img class="img-circle" data-bind="visible: PhotoURL, attr: { src: PhotoURL }" />\n                                        <span data-bind="visible: !PhotoURL">\n                                            <i class="fas fa-horse-head"></i>\n                                        </span>\n                                    </div>\n\n                                    <div class="attendee-name">\n                                        <span data-bind="text: Name"></span>\n                                    </div>\n                                </div>\n                                \x3c!-- /ko --\x3e\n                                \x3c!-- Unregistered Horse --\x3e\n                                <div class="event-attendee-option other" data-bind="visible: !Event.RequireRegisteredHorse, css: { active: Attendee.HorseType() === \'GUEST\' }, click: selectUnregisteredHorse">\n                                    <div class="attendee-image">\n                                        <i class="fal fa-horse-head"></i>\n                                    </div>\n\n                                    <div class="attendee-name">\n                                        Non-registered Horse\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n\n                        <span class="help-block" data-bind="validationMessage: Attendee.HorseID"></span>\n                    </div>\n                </div>\n\n                \x3c!-- ko if: SelectedHorse() --\x3e \n                <div class="form-group">\n                    <label class="control-label col-md-3">\n                        Horse Details\n                    </label>\n                    <div class="col-md-8">               \n                        <div class="form-control-static">\n                            <div data-bind="component: { name: \'horse-details\', params: { Horse: SelectedHorse() } }"></div>\n                        </div>\n                    </div>\n                </div>\n                \x3c!-- /ko --\x3e\n\n                <div class="form-group" data-bind="visible: Attendee.HorseType() == \'GUEST\', validationElement: Attendee.HorseName">\n                    <label class="control-label col-md-3">\n                        <i class="fas fa-asterisk text-primary"></i>\n                        Horse Name\n                    </label>\n                    <div class="col-md-8">               \n                        <input type="text" class="form-control" data-bind="value: Attendee.HorseName" maxlength="50" />
1\n                        <span class="help-block" data-bind="validationMessage: Attendee.HorseName"></span>\n                    </div>\n                </div>\n\n                <div class="alert alert-info mt-10" data-bind="visible: LoadingHorseOptions">\n                    <i class="fas fa-spin fa-spinner"></i> Loading horses ...\n                </div>\n            </div>'}),u.A.components.register("horse-details",{viewModel:function(e){this.Horse=e.Horse},template:'\n            <div data-bind="with: Horse">\n                <span class="label label-sm label-outline" data-bind="visible: MustNotRideBefore, \n                                                                      css: IsMustNotRideBeforeViolation? \'label-danger\': \'label-success\',\n                                                                      attr: { title: IsMustNotRideBeforeViolation? \'Event occurs BEFORE must not compete date\': \'Must not compete before\' }">\n                    <i class="fas" data-bind="css: IsMustNotRideBeforeViolation? \'fa-calendar-exclamation\': \'fa-calendar-check\'"></i> <span data-bind="text: MustNotRideBefore"></span>\n                </span>\n\n                <span class="label label-sm label-outline label-success" data-bind="visible: IsCurrentMember === true, term: \'HORSEMEMBER\'"></span>\n                <span class="label label-sm label-outline label-danger" data-bind="visible: IsCurrentMember === false, term: \'HORSENONMEMBER\'"></span>\n\n                <span class="label label-sm label-outline label-success" data-bind="visible: LogBookNumber, text: LogBookNumber"></span>\n                <span class="label label-sm label-outline label-danger" data-bind="visible: !LogBookNumber">NO LOGBOOK</span>\n\n                <span data-bind="visible: Age">\n                    <span class="label label-sm label-outline label-primary">\n                        <strong>Age:</strong> <span data-bind="text: Age"></span>\n                    </span>\n                </span>\n\n                <span class="label label-sm label-outline label-primary" data-bind="visible: AbilityLevel.ID, text: AbilityLevel.Name"></span>\n                <span class="label label-sm label-outline label-primary" data-bind="visible: SecondAbilityLevel.ID, text: SecondAbilityLevel.Name"></span>\n            </div>'}),u.A.components.register("multi-signup-attendee-vehicle",{viewModel:function(e){var n=this;n.Event=e.Event,n.Attendee=e.Attendee,n.VehicleType=u.A.observable(n.Attendee.VehicleID()?"REGIST
1ERED":"NONE"),n.VehicleOptions=u.A.observableArray(),n.LoadingVehicleOptions=u.A.observable(!1),n.SelectedVehicle=u.A.pureComputed((function(){var e=n.Attendee.VehicleID();return e?l.Ay.find(n.VehicleOptions(),(function(n){return n.ID===e})):null})),n.selectNoVehicle=function(){n.VehicleType("NONE"),n.Attendee.VehicleID(null),n.Attendee.VehicleName(null)},n.selectRegisteredVehicle=function(e){var t;n.VehicleType("REGISTERED"),n.Attendee.VehicleID(e.ID),n.Attendee.VehicleName(null!==(t=e.Name)&&void 0!==t?t:e.Registration)},u.A.computed((function(){n.Event.RequireVehicleSignUp&&"NONE"==n.VehicleType()&&n.VehicleType("REGISTERED")})),u.A.computed((function(){var e=n.Attendee.AttendeeUserID();n.VehicleOptions([]),n.Event.InstanceEventID&&n.Event.SupportVehicleSignUp&&(e||"GUEST"===n.Attendee.AttendeeType())&&(n.LoadingVehicleOptions(!0),d.Ay.post("Events","SignUp","GetVehiclesForSignUp",{eventID:n.Event.InstanceEventID,userID:e||null}).done((function(e){n.VehicleOptions(e)})).fail((function(e){return c.A.addMessage("Error retrieving vehicles",e,!0,"danger")})).always((function(){return n.LoadingVehicleOptions(!1)})))}))},template:'\n            <div>\n                <h4 class="form-header">\n                    <i class="fas fa-car"></i>\n                    Vehicle\n                </h4>\n                <div class="alert alert-info">\n                    <i class="fas fa-info-square"></i>\n                    If the vehicle you are looking for is missing, please contact the vehicle\'s owner and get them to ensure that\n                    you are recorded as a driver/rider of that vehicle.\n                </div>\n\n                <div class="alert alert-danger mt-10" data-bind="visible: Event.RequireVehicleSignUp && !VehicleOptions().length && !LoadingVehicleOptions()">\n                    <i class="fas fa-exclamation-triangle"></i> \n                    Attendee has no vehicles and a vehicle selection is required to attend this event. \n                </div>\n\n                <div class="form-group" data-bind="validationElement: Attendee.VehicleID, visible: VehicleOptions().length || !Event.RequireVehicleSignUp">\n                    <label class="control-label col-md-3">Vehicle</label>\n                    <div class="col-md-8">               \n                        <div class="event-attendee-selector">\n\n                            \x3c!-- None --\x3e\n                            <div class="event-attendee-option" data-bind="visible: !Event.RequireVehicleSignUp, css: { active: VehicleType() === \'NONE\' }, click: selectNoVehicle">\n                                <div class="attendee-image">\n                                    <i class="far fa-car"></i>\n                                </div>\n\n                                <div class="attendee-name">\n                                    None\n                                </div>\n                            </div>\n\n                            \x3c!-- Registered Vehicle --\x3e\n                            \x3c!-- ko foreach: VehicleOptions --\x3e\n                            <div class="event-attendee-option" data-bind="css: { active: $parent.VehicleType() === \'REGISTERED\' && $parent.Attendee.VehicleID() === ID }, click: $parent.selectRegisteredVehicle">\n\n                                <div class="attendee-image">\n                                    <img class="img-circle" data-bind="visible: PhotoURL, attr: { src: PhotoURL }" />\n                                    <span data-bind="visible: !PhotoURL">\n                                        <i data-bind="css: Icon"></i>\n                                    </span>\n                                </div>\n\n                                <div class="attendee-name">\n                                    <span data-bind="text: Name"></span>\n                                </div>\n                            </div>\n                            \x3c!-- /ko --\x3e\n                        </div>\n\n                        <span class="help-block" data-bind="validationMessage: Attendee.VehicleID"></span>\n                    </div>\n                </div>\n\n                \x3c!-- ko if: SelectedVehicle() --\x3e \n                <div class="form-group">\n                    <label class="control-label col-md-3">\n                        Vehicle Details\n                    </label>\n                    <div class="col-md-8">               \n                        <div class="form-control-static">\n                            <div data-bind="component: { name: \'vehicle-details\', params: { Vehicle: SelectedVehicle() } }"></div>\n                        </div>\n                    </div>\n                </div>\n                \x3c!-- /ko --\x3e\n\n                <div class="alert alert-info mt-10" data-bind="visible: LoadingVehicleOptions">\n                    <i class="fas fa-spin fa-spinner"></i> Loading vehicles ...\n                </div>\n            </div>'}),u.A.components.register("vehicle-details",{viewModel:function(e){this.Vehicle=e.Vehicle},template:'\n            <div data-bind="with: Vehicle">
1\n                <span class="label label-sm label-outline label-primary" data-bind="visible: Description, text: Description"></span>\n                <span class="label label-sm label-outline label-info" data-bind="visible: Registration, text: Registration"></span>\n                <span class="label label-sm label-outline label-info" data-bind="visible: Colour, text: Colour"></span>\n                <span class="label label-sm label-outline label-info" data-bind="visible: Year, text: Year"></span>\n            </div>'}),u.A.components.register("multi-signup-attendee-resource",{viewModel:{createViewModel:function(e,n){n.element;var t={Event:e.Event,AvailableResources:e.AvailableResources,Attendee:e.Attendee};return t.SelectedResource=u.A.pureComputed((function(){var e=l.Ay.find(t.Event.AvailableResources,(function(e){return e.ID==t.Attendee.ResourceID()}));return e||null})),t.SelectedResourceName=u.A.pureComputed((function(){var e=t.SelectedResource();return e?e.Name:null})),t.SelectedResourceDescription=u.A.pureComputed((function(){var e=t.SelectedResource();return e?e.Description:null})),u.A.computed((function(){t.Attendee.ResourceName(t.SelectedResourceName())})),t}},template:'\n            <div>\n                <div class="form-group" data-bind="validationElement: Attendee.ResourceID, visible: AvailableResources().length">\n                    <label class="control-label col-md-3" data-bind="text: Event.ResourceTerm"></label>\n                    <div class="col-md-8">\n                        <select class="form-control" data-bind="select2: true, value: Attendee.ResourceID, options: AvailableResources, optionsValue: \'ID\', optionsText: \'Name\'"></select>\n                        <span class="help-block" data-bind="validationMessage: Attendee.ResourceID"></span>\n                        <span class="help-block" data-bind="text: SelectedResourceDescription"></span>\n                    </div>\n                </div>\n\n                <div class="alert alert-danger" data-bind="visible: !AvailableResources().length">\n                    <i class="fas fa-cubes"></i> Apologies, all <span data-bind="text: Event.ResourceTerm"></span>s have been allocated. \n                    Please contact the organisers for further information.\n                </div>\n            </div>'}),u.A.components.register("multi-signup-attendee-dates",{viewModel:{createViewModel:function(e,n){var t=n.element,o={Event:e.Event,EventCapacities:e.EventCapacities,SignUpDates:e.SignUpDates,Attendee:e.Attendee,AttendeeRules:e.AttendeeRules},a=u.A.observable().subscribeTo("PrimaryAttendeeInstanceIDs",!0);return o.SeriesInstanceOptions=u.A.pureComputed((function(){return o.AttendeeRules()?l.Ay.map(o.AttendeeRules().SeriesInstances,(function(e){var n,t=l.Ay.find(o.EventCapacities(),(function(n){return n.EventID()===e.ID})),i=(n=e).CanSignUp?0!==l.Ay.find(o.EventCapacities(),(function(e){return e.EventID()===n.ID})).Capacity()||n.HasWaitingList?"GUEST"!==o.Attendee.AttendeeType()||l.Ay.contains(a(),n.ID)?{IsAvailable:!0,Reason:null}:{IsAvailable:!1,Reason:"Lead is not attending this instance"}:{IsAvailable:!1,Reason:"Event is full"}:{IsAvailable:!1,Reason:n.CantSignUpReason};return{ID:e.ID,Name:e.EventDate+(null!=t.Capacity()?' <span class="badge">'.concat(t.Capacity(),"</span>"):""),Capacity:t.Capacity(),HasWaitingList:e.HasWaitingList,IsAvailable:i.IsAvailable,CanSignUp:e.CanSignUp,CantSignUpReason:i.Reason,CssClass:e.CssClass}})):[]})),o.InstanceCount=u.A.pureComputed((function(){return"SELECTED_INSTANCES"===o.SignUpDates()?o.Attendee.SelectedInstanceIDs().length:null})),o.SelectedInstances=u.A.pureComputed((function(){return"SERIES"===o.SignUpDates()?o.AttendeeRules().SeriesInstances:"SELECTED_INSTANCES"===o.SignUpDates()?l.Ay.map(o.Attendee.SelectedInstanceIDs(),(function(e){return l.Ay.find(o.AttendeeRules().SeriesInstances,(function(n){return n.ID===e}))})):"INSTANCE"===o.SignUpDates()?[{ID:o.Event.InstanceEventID,EventDate:o.Event.InstanceEventDate}]:[]})),o.SeriesSignUpWarnings=u.A.pureComputed((function(){if("SERIES"!==o.SignUpDates())return[];var e=o.AttendeeRules(),n=e.SeriesInstances.length,t=e.SeriesInstanceCount,a=e.AvailableSeriesInstanceCount,i=e.SeriesHasWaitingList;if(a===t)return[];var s=[];return n<t&&s.push("Series has already started. There are only <strong>".concat(n,"</strong> instances left.")),0===a?i?s.push("All instances are full. If eligible, the attendee will be placed on the waiting lists for <strong>".concat(n,"</strong> instances.")):s.push("All instances are full. The attendee cannot be signed up for any instances."):a<n&&(i?s.push("O
1nly <strong>".concat(a,"</strong> instances have availability. If eligible, the attendee will be placed on waiting lists for the other ").concat(n-a," instances")):s.push("The attendee can only be signed up to <strong>".concat(a,"</strong> instances. All other instances are full."))),s})),o.SelectedWaitingListInstances=u.A.pureComputed((function(){if("SELECTED_INSTANCES"!==o.SignUpDates())return[];var e,n=[],t=y(o.SelectedInstances());try{var a=function(){var t=e.value,a=l.Ay.find(o.SeriesInstanceOptions(),(function(e){return e.ID==t.ID}));0===a.Capacity&&a.HasWaitingList&&n.push(t.EventDate)};for(t.s();!(e=t.n()).done;)a()}catch(e){t.e(e)}finally{t.f()}return n})),o.selectAllInstances=function(){var e=l.Ay.chain(o.SeriesInstanceOptions()).filter((function(e){return e.IsAvailable})).map((function(e){return e.ID})).value();o.Attendee.SelectedInstanceIDs(e)},o.unselectAllInstances=function(){o.Attendee.SelectedInstanceIDs([])},u.A.computed((function(){if("SELECTED_INSTANCES"===o.SignUpDates()){var e=l.Ay.chain(o.SeriesInstanceOptions()).filter((function(e){return e.IsAvailable})).map((function(e){return e.ID})).value(),n=o.Attendee.SelectedInstanceIDs();(n=l.Ay.intersection(n,e)).length!=o.Attendee.SelectedInstanceIDs().length&&o.Attendee.SelectedInstanceIDs(n)}}),o,{disposeWhenNodeIsRemoved:t}),u.A.computed((function(){"SELECTED_INSTANCES"===o.SignUpDates()&&"GUEST"===o.Attendee.AttendeeType()&&o.Attendee.SelectedInstanceIDs(a())})),u.A.computed((function(){"SERIES"===o.SignUpDates()&&o.AttendeeRules().CantSignUpToSeriesReason?(o.Attendee.HasDateError(!0),o.Attendee.DateErrorMessage(o.AttendeeRules().CantSignUpToSeriesReason)):"INSTANCE"===o.SignUpDates()&&o.AttendeeRules().CantSignUpToInstanceReason?(o.Attendee.HasDateError(!0),o.Attendee.DateErrorMessage(o.AttendeeRules().CantSignUpToInstanceReason)):(o.Attendee.HasDateError(!1),o.Attendee.DateErrorMessage(null))}),o,{disposeWhenNodeIsRemoved:t}),o}},template:'\n            <div>\n                <div data-bind="if: Event.SeriesEventID">\n                    <div class="alert alert-danger" data-bind="visible: (SignUpDates() === \'INSTANCE\' && AttendeeRules().CantSignUpToInstanceReason) || (SignUpDates() === \'SERIES\' && AttendeeRules().CantSignUpToSeriesReason)">\n                        <p data-bind="visible: AttendeeRules().CantSignUpToInstanceReason">\n                            <i class="fas fa-exclamation-triangle"></i>\n                            Can\'t sign up to <span data-bind="text: Event.InstanceEventDate"></span>:\n                            <span data-bind="text: AttendeeRules().CantSignUpToInstanceReason"></span>\n                        </p>\n                        <p data-bind="visible: AttendeeRules().CantSignUpToSeriesReason">\n                            <i class="fas fa-exclamation-triangle"></i>\n                            Can\'t sign up to whole series:\n                            <span data-bind="text: AttendeeRules().CantSignUpToSeriesReason"></span>\n                        </p>\n                    </div>\n\n                    <div class="alert alert-warning" data-bind="visible: SeriesSignUpWarnings().length">\n                        <strong><i class="fas fa-exclamation-triangle"></i> Note:</strong> the following restrictions apply to series sign-ups:\n                        <ul data-bind="foreach: SeriesSignUpWarnings">\n                            <li data-bind="html: $data"></li>\n                        </ul>\n                    </div>\n\n                    <div class="alert alert-warning" data-bind="visible: SelectedWaitingListInstances().length">\n                        <strong><i class="fas fa-exclamation-triangle"></i> Note</strong>: The following instances are full. \n                        <span data-bind="visible: Attendee.FullMessage">\n                            (<span data-bind="text: Attendee.FullMessage"></span>)\n                        </span>\n                        <p class="mt-5">\n                            The attendee will be placed on waiting lists.\n                        </p>\n                        <p class="mt-5" data-bind="foreach: SelectedWaitingListInstances">\n                            <strong class="mr-10" data-bind="text: $data"></strong>\n                        </p>\n                    </div>\n\n                    <div class="form-group" data-bind="visible: SignUpDates() === \'SELECTED_INSTANCES\', validationElement: Attendee.SelectedInstanceIDs">\n                        <label class="control-label col-md-3">Dates</label>\n                        <div class="col-md-8">\n                            <div class="mb-10" data-bind="component: {\n                                            name: \'checkbox-group\',\n                                            params: {\n                                                Value: Attendee.SelectedInstanceIDs,\n                                                Options: SeriesInstanceOptions,\n                                                OptionsValue: \'ID\', OptionsText: \'Name\', OptionsClass: \'CssClass\', OptionsEnable: \'IsAvailable\', OptionsTooltip: \'CantSignUpReason\'\n                                            }\n                                        }"></div>
1\n\n                            <span data-bind="visible: Attendee.AttendeeType() !== \'GUEST\'">\n                                <button class="btn btn-xs btn-success" data-bind="click: selectAllInstances">\n                                    <i class="fas fa-check"></i> All\n                                </button>\n                                <button class="btn btn-xs btn-danger" data-bind="click: unselectAllInstances">\n                                    <i class="fas fa-times"></i> None\n                                </button>\n                            </span>\n                            <span class="help-block" data-bind="visible: Attendee.AttendeeType() === \'GUEST\'">\n                                <i class="fas fa-info-circle text-info"></i>\n                                <span class="text-info">Guests can only sign-up to the same instances as the lead attendee.</span>\n                            </span>\n                            <span class="help-block" data-bind="validationMessage: Attendee.SelectedInstanceIDs"></span>\n                        </div>\n                    </div>\n                </div>\n\n                <div data-bind="if: !Event.SeriesEventID">\n                    <div class="form-group">\n                        <label class="control-label col-md-3">Signing up to</label>\n                        <div class="col-md-8">\n                            <p class="form-control-static">\n                                Event on <span data-bind="text: Event.InstanceEventDate"></span>\n                                <span class="label label-danger" data-bind="visible: AttendeeRules().InstanceIsFull && !AttendeeRules().InstanceHasWaitingList">EVENT FULL</span>\n                                <span class="label label-info" data-bind="visible: AttendeeRules().InstanceIsFull && AttendeeRules().InstanceHasWaitingList">WAITING LIST</span>\n                                <span data-bind="visible: AttendeeRules().InstanceIsFull && AttendeeRules().InstanceHasWaitingList">\n                                    <span class="help-block mb-5" data-bind="text: AttendeeRules().FullMessage, visible: AttendeeRules().FullMessage"></span>\n\n                                    <span class="help-block">\n                                        You will be placed on the waiting list for this event.\n                                    </span>\n                                </span>\n                            </p>\n                        </div>\n                    </div>\n                </div>\n\n                <div class="form-group" data-bind="validationElement: Attendee.HasDateError">\n                    <div class="col-md-offset-3 col-md-8">\n                        <span class="help-block" data-bind="validationMessage: Attendee.HasDateError"></span>\n                    </div>\n                </div>\n            </div>'}),u.A.components.register("multi-signup-attendee-costoptions",{viewModel:{createViewModel:function(e,n){var t=n.element,o={Event:e.Event,SelectedEventID:e.SelectedEventID,Attendees:e.Attendees};return l.Ay.each(o.Attendees(),(function(e){e.CostOptions=u.A.observableArray(),e.HasCostOptions=u.A.pureComputed((function(){return e.CostOptions().length>0})),e.SelectedCostName=u.A.pureComputed((function(){var n=l.Ay.find(e.CostOptions(),(function(n){return n.ID===e.SelectedCostID()}));return null==n?void 0:n.Name})),e.SelectedCostAdvisory=u.A.pureComputed((function(){var n=l.Ay.find(e.CostOptions(),(function(n){return n.ID===e.SelectedCostID()}));return null==n?void 0:n.AdvisoryMessage})),e.select=function(n){e.SelectedCostID(n.ID)},u.A.computed((function(){1==e.CostOptions().length?e.SelectedCostID(e.CostOptions()[0].ID):o.Event.DefaultOptionID&&l.Ay.find(e.CostOptions(),(function(e){return e.ID==o.Event.DefaultOptionID}))&&e.SelectedCostID(o.Event.DefaultOptionID)})),u.A.computed((function(){e.HasOptionChoice(e.CostOptions().length>1)}))})),o.LoadingCostOptions=u.A.observable(!1),u.A.computed((function(){if(o.Event.HasCostStructure){var e={eventID:o.SelectedEventID(),attendees:l.Ay.map(o.Attendees(),(function(e){return e.getData()}))};return o.LoadingCostOptions(!0),d.Ay.post("Events","SignUp","GetOptionsForMultiSignUp",e).then((function(e){for(var n=0;n<e.length;++n)o.Attendees()[n].CostOptions(e[n])})).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")})).always((function(){return o.LoadingCostOptions(!1)}))}}),o,{disposeWhenNodeIsRemoved:t}),o}},template:'\n            <div data-bind="visible: Event.HasCostStructure">\n                <table class="table">\n                    <thead>\n                    <tr>\n                        <th>Attendee</th>\n                        <th>Option</th>\n                    </tr>\n                    </thead>\n                    <tbody data-bind="foreach: Attendees">\n                    <tr>\n                        <td data-bind="text: AttendeeName"></td>\n                        <td data-bind="validationElement: SelectedCostID">\n                            <div data-bind="visible: HasOptionCh
1oice">\n                                <div class="btn-group">\n                                    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n                                        <span data-bind="text: SelectedCostName"></span>\n                                        <span data-bind="visible: !SelectedCostID()">Please select ...</span>\n                                        <span class="caret"></span>\n                                    </button>\n                                    <ul class="dropdown-menu" data-bind="foreach: CostOptions">\n                                        <li>\n                                            <a href="#" data-bind="click: $parent.select">\n                                                <i class="fas fa-exclamation-triangle text-warning" data-bind="visible: AdvisoryMessage, attr: { title: AdvisoryMessage }"></i>\n                                                <span data-bind="text: Name"></span>\n                                                <span data-bind="visible: Cost.Formatted">\n                                                    - <strong data-bind="text: Cost.Formatted"></strong>\n                                                </span>\n                                            </a>\n                                        </li>\n                                    </ul>\n                                </div>\n                                <span class="help-block" data-bind="validationMessage: SelectedCostID"></span>\n                            </div>\n\n                            <div data-bind="visible: !HasOptionChoice()">\n                                <div data-bind="text: SelectedCostName"></div>\n                                <div class="text-danger" data-bind="visible: !SelectedCostID()">\n                                    <i class="far fa-exclamation-triangle"></i>\n                                    No options are available for this attendee.\n                                </div>\n                            </div>\n\n                            <div class="text-warning" data-bind="visible: SelectedCostAdvisory">\n                                <i class="far fa-exclamation-triangle"></i>\n                                <span data-bind="text: SelectedCostAdvisory"></span>\n                            </div>\n                        </td>\n                    </tr>\n                    </tbody>\n                </table>\n            </div>'}),u.A.components.register("multi-signup-attendee-addons",{viewModel:{createViewModel:function(e,n){
1n.element;var t={Event:e.Event,AvailableAddOnSets:e.AvailableAddOnSets,SelectedEventID:e.SelectedEventID,SignUpDates:e.SignUpDates,Attendees:e.Attendees,addAddOn:function(){var e=u.A.viewmodel.toModel(t.AvailableAddOnSets),n=l.Ay.map(t.Attendees(),(function(e){return e.getData()}));A.show(t.Event,e,t.SelectedEventID(),t.SignUpDates(),n,(function(e){var n=t.Attendees()[e.AttendeeIndex];l.Ay.each(e.InstanceRequests,(function(e){var t=l.Ay.find(n.AddOnRequests(),(function(n){return n.InstanceID()===e.InstanceID}));null==t?(t=u.A.viewmodel.fromModel(e),n.AddOnRequests.push(t)):l.Ay.each(e.AddOnRequests,(function(e){var n=l.Ay.find(t.AddOnRequests(),(function(n){return n.AddOnProductID()===e.AddOnProductID}));null==n?(n=u.A.viewmodel.fromModel(e),t.AddOnRequests.push(n)):n.Quantity(n.Quantity()+e.Quantity)}))}))}))},removeAddOn:function(e,n,t){var o=l.Ay.find(e.AddOnRequests(),(function(e){return e.InstanceID()===n})),a=l.Ay.find(o.AddOnRequests(),(function(e){return e.AddOnProductID()===t}));o.AddOnRequests.remove(a),0===o.AddOnRequests().length&&e.AddOnRequests.remove(o)}};return t}},template:'\n            <div data-bind="visible: Event.AvailableAddOnSets.length">\n                <table class="table">\n                    <thead>\n                    <tr>\n                        <th>Attendee</th>\n                        <th>Add-ons</th>\n                    </tr>\n                    </thead>\n                    <tbody data-bind="foreach: Attendees">\n                    <tr data-bind="visible: AddOnRequests().length">\n                        <td data-bind="text: AttendeeName"></td>\n                        <td style="padding-top: 0;">\n                            <table class="table borderless" style="margin-bottom: 0;">\n                                <tbody data-bind="foreach: AddOnRequests">\n                                <tr>\n                                    <td data-bind="text: InstanceDate"></td>\n                                    <td data-bind="foreach: AddOnRequests">\n                                        <div>\n                                            <strong data-bind="text: Quantity"></strong>x \n                                            <span data-bind="text: AddOnProductName"></span>\n                                            <i class="fal fa-trash-alt text-danger clickable" data-bind="click: function() { $component.removeAddOn($parents[1], $parent.InstanceID(), AddOnProductID()); }"></i>\n                                        </div>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                        </td>\n                    </tr>\n                    </tbody>\n                </table>\n\n                <button type="button" class="btn btn-sm btn-success" data-bind="click: addAddOn">\n                    <i class="fas fa-plus"></i> Request Add-on(s)\n                </button>\n            </div>'}),u.A.components.register("multi-signup-costs",{viewModel:{createViewModel:function(e,n){var t=n.element,o={Event:e.Event,SelectedEventID:e.SelectedEventID,Attendees:e.Attendees};return o.CostElements=u.A.observableArray(),o.CostElementGroups=u.A.pureComputed((function(){return l.Ay.chain(o.CostElements()).groupBy((function(e){return e.TypeID})).pairs().map((function(e){return{TypeID:e[0],Elements:e[1],Quantity:l.Ay.reduce(e[1],(function(e,n){return e+n.Quantity}),0),Description:e[1][0].Description,HasCosts:e[1][0].HasCosts,CanPayWithMoney:e[1][0].CanPayWithMoney,CanPayWithTokens:e[1][0].CanPayWithTokens,CostInclTax:e[1][0].CanPayWithMoney?f.Ay.format(l.Ay.reduce(e[1],(function(e,n){return e+f.Ay.parse(n.CostInclTax)}),0),!0):null,TokenCost:e[1][0].CanPayWithTokens?l.Ay.reduce(e[1],(function(e,n){return e+n.TokenCost}),0):null,IsExpanded:u.A.observable(!1)}})).value()})),o.CanPayWithMoney=u.A.pureComputed((function(){return l.Ay.some(o.CostElementGroups(),(function(e){return e.CanPayWithMoney}))})),o.CanPayWithTokens=u.A.pureComputed((function(){return l.Ay.some(o.CostElementGroups(),(function(e){return e.CanPayWithTokens}))}
1)),o.TotalCostInclTax=u.A.pureComputed((function(){var e=l.Ay.reduce(o.CostElementGroups(),(function(e,n){return e+f.Ay.parse(n.CostInclTax)}),0);return f.Ay.format(e,!0)})),o.TotalTokenCost=u.A.pureComputed((function(){return l.Ay.reduce(o.CostElementGroups(),(function(e,n){return e+n.TokenCost}),0)})),o.CalculatingCosts=u.A.observable(!1),u.A.computed((function(){var e={eventID:o.SelectedEventID(),attendees:l.Ay.map(o.Attendees(),(function(e){return e.getData()}))};return o.CalculatingCosts(!0),d.Ay.post("Events","SignUp","GetMultiSignUpCosts",e).then((function(e){o.CostElements(e)})).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")})).always((function(){return o.CalculatingCosts(!1)}))}),o,{disposeWhenNodeIsRemoved:t}),o}},template:'\n            <div>\n                <table class="table">\n                    <thead>\n                    <tr>\n                        <th class="integer-column">Qty</th>\n                        <th>Item</th>\n                        <th class="money-column" data-bind="visible: CanPayWithMoney">Cost</th>\n                        <th class="integer-column" data-bind="visible: CanPayWithTokens">Tokens</th>\n                    </tr>\n                    </thead>\n                    <tbody data-bind="foreach: CostElementGroups">\n                    <tr>\n                        <td class="integer-column" data-bind="text: Quantity"></td>\n                        <td>\n                            <i class="clickable" data-bind="css: IsExpanded()? \'fal fa-minus-circle\': \'fal fa-plus-circle\', click: function() { IsExpanded(!IsExpanded()); }"></i>\n                            <span data-bind="text: Description"></span>\n                            <div class="ml-30" data-bind="visible: IsExpanded, foreach: Elements">\n                                <div>\n                                    <span data-bind="text: AttendeeName"></span>\n                                    <span data-bind="visible: $component.Event.SeriesEventID">\n                                        - <span data-bind="text: InstanceDate"></span>\n                                    <span>\n                                    <span data-bind="visible: Quantity > 1">\n                                        (x<strong data-bind="text: Quantity"></strong>)\n                                    <span>\n                                </div>\n                            </div>\n                        </td>\n                        <td class="money-column" data-bind="text: CostInclTax, visible: $component.CanPayWithMoney">\n                        </td>\n                        <td class="integer-column" data-bind="text: TokenCost, visible: $component.CanPayWithTokens">\n                        </td>\n                    </tr>\n                    </tbody>\n                    <tfoot>\n                        <td colspan="2">TOTAL</td>\n                        <td class="money-column" data-bind="text: TotalCostInclTax, visible: CanPayWithMoney"></td>\n                        <td class="integer-column" data-bind="text: TotalTokenCost, visible: CanPayWithTokens"></td>\n                    </tfoot>\n                </table>\n            </div>'}),u.A.components.register("multi-signup-payment",{viewModel:{createViewModel:function(e,n){var t=n.element,o={Event:e.Event,SelectedEventID:e.SelectedEventID,Attendees:e.Attendees,SelectedPaymentOption:e.SelectedPaymentOption,PurchaserID:e.PurchaserID};return o.PrimaryAttendeeName=u.A.pureComputed((function(){return o.Attendees()[0].AttendeeName()})),o.PaymentOptions=u.A.observable(),o.getPaymentOptions=function(){if(o.PurchaserID()){var e={eventID:o.SelectedEventID(),purchaserID:o.PurchaserID(),attendees:l.Ay.map(o.Attendees(),(function(e){return e.getData()}))};d.Ay.post("Events","SignUp","GetMultiSignUpPaymentOptions",e).done((function(e){return o.PaymentOptions(e)})).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")}))}},u.A.computed((function(){o.getPaymentOptions()}),o,{disposeWhenNodeIsRemoved:t}),u.A.computed((function(){o.Event.PurchaserOptions.length>0&&o.PurchaserID(o.Event.PurchaserOptions[0].ID)})),u.A.computed((function(){if(o.PaymentOptions()&&(l.Ay.find(o.PaymentOptions().Options,(function(e){return e.Code==o.SelectedPaymentOption()}))||o.SelectedPaymentOption(null),o.PaymentOptions().Options.length&&!o.SelectedPaymentOption())){var e=l.Ay.find(o.PaymentOptions().Options,(function(e){return e.IsAvailable}));e?o.SelectedPaymentOption(e.Code):o.SelectedPaymentOption(null)}}),o,{disposeWhenNodeIsRemoved:t}),o}},template:'\n            \x3c!-- We can only save the purchaser if the event has no admin confirmation required --\x3e\n            <div class="form-horizontal" data-bind="visible: !Event.RequiresConfirmation">\n                <div class="form-group" data-bind="validationElement: PurchaserID, visible: Event.PurchaserOptions.length">\n                    <label class="col-md-3 control-label">Purchaser</label>\n                    <div class="col-md-8">\n                        <div data-bind="component: {\n                                        name: \'radio-group\',\n                                        params: {\n                                            Value: PurchaserID,\n                                            Options: Event.PurchaserOptions,\n                                            OptionsValue: \'ID\', OptionsText: \'Name\'\n                                        }\n                                    }"></div>
1\n                        <span class="help-block" data-bind="validationMessage: PurchaserID"></span>\n                        <span class="help-block" data-bind="visible: Event.HasWaitingList">Purchaser will not be saved if you are placed on the waiting list.</span>\n                    </div>\n                </div>\n\n                <div class="form-group" data-bind="visible: !Event.PurchaserOptions.length">\n                    <label class="col-md-3 control-label">Purchaser</label>\n                    <div class="col-md-8">\n                        <div class="form-control-static" data-bind="text: PrimaryAttendeeName"></div>\n                    </div>\n                </div>\n\n                \x3c!-- ko if: PaymentOptions() --\x3e\n                \x3c!-- Payment Options --\x3e\n                <div class="form-group" data-bind="validationElement: SelectedPaymentOption, visible: PaymentOptions().Options.length">\n                    <label class="control-label col-md-3">Pay With</label>\n                    <div class="col-md-8">\n                        <div data-bind="component: { name: \'payment-option-selector\', params: { Options: PaymentOptions, Value: SelectedPaymentOption, refresh: getPaymentOptions } }"></div>\n                        <span class="help-block" data-bind="validationMessage: SelectedPaymentOption"></span>\n                    </div>\n                </div>\n                \x3c!-- /ko --\x3e\n            </div>'})},31928:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>p});var o,a,i,s=t(79602),r=t.n(s),l=t(34827),u=t(53096),d=t(34925),c=(t(68166),t(68773),{RegistrationWizard:null,IsPreviewing:!1});r()((function(){i=r()("#registration-modal"),o=l.A.viewmodel.fromModel(c,{extend:{"{root}":function(e){e.register=function(n){i.modal("hide"),e.IsPreviewing()?a(n):u.Ay.post("Registration","Register","Register",n,null,!0,"Registering ...").done(a).fail((function(e){return d.A.addMessage("Error completing registration",e,!0,"danger")}))}}}}),l.A.modalApplyBindings(o,i[0])}));const p={show:function(e,n,t){a=t,l.A.viewmodel.updateFromModel(o,c),function(e,n,t){n.id=e,u.Ay.post("Registration","Register","GetWizard",n).done(t).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")}))}(e,n,(function(e){var n={RegistrationWizard:e,IsPreviewing:!1};l.A.viewmodel.updateFromModel(o,n),i.modal()}))},showForPreview:function(e,n){a=n;var t={RegistrationWizard:e,IsPreviewing:!0};l.A.viewmodel.updateFromModel(o,t),i.modal()}}},34925:(e,n,t)=>{"use strict";t.d(n,{A:()=>i});var o=t(79602),a=t.n(o);t(38041);const i={addMessage:function(e,n,t,o,i){var s={title:e,message:n},r={delay:i?0:5e3,allow_dismiss:t||!1,type:o,width:"",z_index:1e4};"info"===o?s.icon="fa fa-info-circle":"warning"===o?s.icon="fa fa-exclamation-triangle":"success"===o?s.type="fa fa-check-circle":"danger"===o&&(s.icon="fa fa-exclamation-circle",r.delay=0),a().notify(s,r)}}},35358:(e,n,t)=>{var o={"./af":19183,"./af.js":19183,"./ar":31035,"./ar-dz":47214,"./ar-dz.js":47214,"./ar-kw":40830,"./ar-kw.js":40830,"./ar-ly":68899,"./ar-ly.js":68899,"./ar-ma":77258,"./ar-ma.js":77258,"./ar-ps":19121,"./ar-ps.js":19121,"./ar-sa":64096,"./ar-sa.js":64096,"./ar-tn":97826,"./ar-tn.js":97826,"./ar.js":31035,"./az":20051,"./az.js":20051,"./be":23813,"./be.js":23813,"./bg":64323,"./bg.js":64323,"./bm":57837,"./bm.js":57837,"./bn":75780,"./bn-bd":25959,"./bn-bd.js":25959,"./bn.js":75780,"./bo":81451,"./bo.js":81451,"./br":76480,"./br.js":76480,"./bs":91607,"./bs.js":91607,"./ca":23232,"./ca.js":23232,"./cs":91034,"./cs.js":91034,"./cv":54213,"./cv.js":54213,"./cy":95800,"./cy.js":95800,"./da":40739,"./da.js":40739,"./de":66951,"./de-at":82181,"./de-at.js":82181,"./de-ch":61339,"./de-ch.js":61339,"./de.js":66951,"./dv":16938,"./dv.js":16938,"./el":59573,"./el.js":59573,"./en-au":62458,"./en-au.js":62458,"./en-ca":51816,"./en-ca.js":51816,"./en-gb":8069,"./en-gb.js":8069,"./en-ie":15586,"./en-ie.js":15586,"./en-il":60009,"./en-il.js":60009,"./en-in":51207,"./en-in.js":51207,"./en-nz":83724,"./en-nz.js":83724,"./en-sg":24334,"./en-sg.js":24334,"./eo":1292,"./eo.js":1292,"./es":66328,"./es-do":61452,"./es-do.js":61452,"./es-mx":94444,"./es-mx.js":94444,"./es-us":81285,"./es-us.js":81285,"./es.js":66328,"./et":7181,"./et.js":7181,"./eu":62830,"./eu.js":62830,"./fa":19565,"./fa.js":19565,"./fi":85541,"./fi.js":85541,"./fil":65661,"./fil.js":65661,"./fo":26087,"./fo.js":26087,"./fr":25396,"./fr-ca":96581,"./fr-ca.js":96581,"./fr-ch":81294,"./fr-ch.js":81294,"./fr.js":25396,"./fy":12533,"./fy.js":12533,"./ga":55796,"./ga.js":55796,"./gd":50847,"./gd.js":50847,"./gl":60439,"./gl.js":60439,"./gom-deva":46514,"./gom-deva.js":46514,"./gom-latn":66525,"./gom-latn.js":66525,"./gu":34232,"./gu.js":34232,"./he":50915,"./he.js":50915,"./hi":22095,"./hi.js":22095,"./hr":10762,"./hr.js":10762,"./hu":88275,"./hu.js":88275,"./hy-am":73094,"./hy-am.js":73094,"./id":27769,"./id.js":27769,"./is":99676,"./is.js":99676,"./it":74313,"./it-ch":25141,"./it-ch.js":25141,"./it.js":74313,"./ja":11985,"./ja.js":11985,"./jv":53908,"./jv.js":53908,"./ka":32808,"./ka.js":32808,"./kk":33930,"./kk.js":33930,"./km":71532,"./km.js":71532,"./kn":69461,"./kn.js":69461,"./ko":60502,"./ko.js":60502,"./ku":18660,"./ku-kmr":58035,"./ku-kmr.js":58035,"./ku.js":18660,"./ky":83088,"./ky.js":83088,"./lb":65742,"./lb.js":65742,"./lo":25417,"./lo.js":254
117,"./lt":64968,"./lt.js":64968,"./lv":41202,"./lv.js":41202,"./me":34438,"./me.js":34438,"./mi":18498,"./mi.js":18498,"./mk":6744,"./mk.js":6744,"./ml":63949,"./ml.js":63949,"./mn":4459,"./mn.js":4459,"./mr":46679,"./mr.js":46679,"./ms":56960,"./ms-my":47483,"./ms-my.js":47483,"./ms.js":56960,"./mt":99989,"./mt.js":99989,"./my":64978,"./my.js":64978,"./nb":88460,"./nb.js":88460,"./ne":23993,"./ne.js":23993,"./nl":95378,"./nl-be":62678,"./nl-be.js":62678,"./nl.js":95378,"./nn":67560,"./nn.js":67560,"./oc-lnc":87060,"./oc-lnc.js":87060,"./pa-in":62187,"./pa-in.js":62187,"./pl":93532,"./pl.js":93532,"./pt":49396,"./pt-br":92485,"./pt-br.js":92485,"./pt.js":49396,"./ro":33179,"./ro.js":33179,"./ru":93797,"./ru.js":93797,"./sd":40675,"./sd.js":40675,"./se":59036,"./se.js":59036,"./si":59160,"./si.js":59160,"./sk":31266,"./sk.js":31266,"./sl":74699,"./sl.js":74699,"./sq":69728,"./sq.js":69728,"./sr":87129,"./sr-cyrl":55e3,"./sr-cyrl.js":55e3,"./sr.js":87129,"./ss":74346,"./ss.js":74346,"./sv":9877,"./sv.js":9877,"./sw":918,"./sw.js":918,"./ta":24787,"./ta.js":24787,"./te":6199,"./te.js":6199,"./tet":91851,"./tet.js":91851,"./tg":33881,"./tg.js":33881,"./th":87828,"./th.js":87828,"./tk":99677,"./tk.js":99677,"./tl-ph":29253,"./tl-ph.js":29253,"./tlh":95586,"./tlh.js":95586,"./tr":17254,"./tr.js":17254,"./tzl":61192,"./tzl.js":61192,"./tzm":69631,"./tzm-latn":72841,"./tzm-latn.js":72841,"./tzm.js":69631,"./ug-cn":71720,"./ug-cn.js":71720,"./uk":28048,"./uk.js":28048,"./ur":86751,"./ur.js":86751,"./uz":96343,"./uz-latn":60513,"./uz-latn.js":60513,"./uz.js":96343,"./vi":44821,"./vi.js":44821,"./x-pseudo":23973,"./x-pseudo.js":23973,"./yo":15e3,"./yo.js":15e3,"./zh-cn":43762,"./zh-cn.js":43762,"./zh-hk":9246,"./zh-hk.js":9246,"./zh-mo":41107,"./zh-mo.js":41107,"./zh-tw":79014,"./zh-tw.js":79014};function a(e){var n=i(e);return t(n)}function i(e){if(!t.o(o,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return o[e]}a.keys=function(){return Object.keys(o)},a.resolve=i,e.exports=a,a.id=35358},38336:(e,n,t)=>{"use strict";var o=t(34827),a=t(53096),i=t(34925),s=t(4209),r=t(79558),l=t(80817),u=t(73066),d=t(70861),c=t(40036);o.A.components.register("event-actions-dropdown",{viewModel:{createViewModel:function(e,n){
1n.element;var t,p,m,f={Event:e.Event,ButtonSize:null!==(t=o.A.unwrap(e.ButtonSize))&&void 0!==t?t:"md",LeftMenu:null!==(p=o.A.unwrap(e.LeftMenu))&&void 0!==p&&p,refresh:null!==(m=e.refresh)&&void 0!==m?m:function(){},bulkSignUp:function(){r.A.show(f.Event.ID(),(function(e){f.refresh()}))},diagnoseSignUp:function(){l.A.showForEvent(f.Event.ID())},publishEvent:function(){s.A.show("This will make the event live",(function(){a.Ay.post("Events","Admin","PublishEvent",{id:f.Event.ID()},null,"Publishing ...").done((function(){return f.refresh()})).fail((function(e){return i.A.addMessage("Error",e,!0,"danger")}))}))},syncSignUps:function(){u.A.show(f.Event.ID(),f.refresh)},syncSeriesSignUps:function(){u.A.show(f.Event.SeriesID(),f.refresh)},cancel:function(){d.A.show(f.Event.ID(),(function(){return f.refresh()}))},unCancel:function(){var e=o.A.viewmodel.toModel(f.Event);c.A.show(e,(function(){return f.refresh()}))},deleteEvent:function(){var e=o.A.viewmodel.toModel(f.Event),n=e.IsSeries?"<b>entire event series </b>":"event ",t=e.IsSeries?"event series ":"event ";s.A.show('<h1><i class="fa fa-exclamation-triangle"></i> DANGER!</h1><p>Are you sure you want to completely delete the '+n+"<b>FOR ALL</b> and remove all attendees?</p> <h4>No notification emails will be sent.</h4><p>This should only be used if the "+t+"was created in error or for testing purposes.</p>",(function(){a.Ay.post("Events","Admin","DeleteEvent",{id:e.ID},null,!0,"Deleting ...",!1,!1).done((function(){i.A.addMessage("Success!","Event deleted successfully",!0,"success"),f.refresh()})).fail((function(e){i.A.addMessage("Error deleting event",e,!0,"danger")}))}))},deleteEventSeries:function(){var e=o.A.viewmodel.toModel(f.Event);if(e.IsInSeries){s.A.show('<h1><i class="fa fa-exclamation-triangle"></i> DANGER!</h1><p>Are you sure you want to completely delete the <b>entire event series </b><b>FOR ALL</b> and remove all attendees?</p> <h4>No notification emails will be sent.</h4><p>This should only be used if the event series was created in error or for testing purposes.</p>',(function(){a.Ay.post("Events","Admin","DeleteEvent",{id:e.SeriesID},null,!0,"Deleting ...",!1,!1).done((function(){i.A.addMessage("Success!","Event deleted successfully",!0,"success"),f.refresh()})).fail((function(e){i.A.addMessage("Error deleting event",e,!0,"danger")}))}))}else i.A.addMessage("Event is not part of a series.",error,!0,"danger")}};return f}},template:'\n            <span data-bind="with: Event">\n                \x3c!-- Email Options --\x3e\n                <div class="btn-group" data-bind="visible: !IsShadowEvent() && (CanEmail() || CanEmailAttendees())">\n                    <button type="button" class="btn btn-primary dropdown-toggle" data-bind="css: \'btn-\' + $parent.ButtonSize" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n                        <i class="fas fa-envelope"></i> <span class="caret"></span>\n                    </button>\n                    <ul class="dropdown-menu" data-bind="css: $parent.LeftMenu? \'\': \'dropdown-menu-right\'">\n                        <li>\n                            <a data-bind="visible: CanEmail, clubhouseHref: \'/Events/Admin/SendPublicityEmail?id=\' + ID(), attr: { title: \'Notify members of this event\' }">\n                                <i class="fa fa-envelope"></i> Invite <span data-bind="term: \'Users\'"></span> ...\n                            </a>\n                        </li>\n                        <li>\n                            <a data-bind="visible: CanEmailAttendees, clubhouseHref: \'/Events/Admin/SendAttendeeEmail?id=\' + ID(), attr: { title: \'Contact event attendees\' }">\n                                <i class="far fa-envelope"></i> Contact Attendees ...\n                            </a>\n                        </li>\n                    </ul>\n                </div>\n\n                \x3c!-- Other Actions --\x3e\n                <div class="btn-group" data-bind="visible: (CanAdmin() || CanViewAttendees() || CanRecordAttendance() || CanDuplicate()) && !IsShadowEvent()">\n                    <button type="button" class="btn btn-default dropdown-toggle" data-bind="css: \'btn-\' + $parent.ButtonSize" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n                        <i class="fa fa-cog"></i> <span class="caret"></span>\n                    </button>\n                    <ul class="dropdown-menu" data-bind="css: $parent.LeftMenu? \'\': \'dropdown-menu-right\'">\n                        \x3c!-- ko if: CanEdit --\x3e\n                        <li>\n                            <a data-bind="clubhouseHref: \'/Events/Admin/EditEvent?eventID=\' + ID(), attr: { title:\'Edit settings\' }">\n                                <i class="fas fa-pencil"></i>
1 Edit \n                                <span data-bind="visible: IsInSeries">Instance</span>\n                                <span data-bind="visible: IsSeries">Series</span>\n                            </a>\n                        </li>\n                        <li data-bind="visible: IsInSeries">\n                            <a data-bind="clubhouseHref: \'/Events/Admin/EditEvent?eventID=\' + SeriesID(), attr: { title:\'Edit series settings\' }">\n                                <i class="fas fa-pencil-ruler"></i> Edit Series\n                            </a>\n                        </li>\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanPublish --\x3e\n                        <li>\n                            <a href="#" data-bind="click: $component.publishEvent" title="Publish the event">\n                                <i class="fas fa-satellite-dish"></i> Publish Event\n                            </a>\n                        </li>\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanDuplicate --\x3e\n                        <li>\n                            <a data-bind="clubhouseHref: \'/Events/Admin/CreateCopyEvent?eventID=\' + ID(), attr: { title: IsSeries() ? \'Create a new event series, based on this one\' : \'Create a new instance event based on this one\' }">\n                                <i class="fa fa-copy"></i> Duplicate \n                                <span data-bind="visible: IsInSeries">Instance</span>\n                                <span data-bind="visible: IsSeries">Series</span>\n                            </a>\n                        </li>\n                        <li data-bind="visible: IsInSeries">\n                            <a data-bind="clubhouseHref: \'/Events/Admin/CreateCopyEvent?eventID=\' + SeriesID(), attr: { title:\'Create a new event series, based on this one\' }">\n                                <i class="fa fa-copy"></i> Duplicate Series\n                            </a>\n                        </li>\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanCreateTemplateFromEvent --\x3e\n                        <li>\n                            <a data-bind="clubhouseHref: \'/Events/Admin/CreateTemplateFromEvent?eventID=\' + ID(), attr: { title: \'Create a new event template based on this event\' }">\n                                <i class="fal fa-calendar-plus"></i> Create Template From Event\n                            </a>\n                        </li>\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: IsSignUpEnabled() && CanAdmin() --\x3e\n                        <li>\n                            <a href="#" data-bind="click: $component.bulkSignUp" title="Bulk sign-up people to the event">\n                                <i class="fas fa-user-plus"></i> Admin Sign-up\n                            </a>\n                        </li>\n                        <li>\n                            <a href="#" data-bind="click: $component.diagnoseSignUp" title="Determine why somebody can\'t sign-up to an event">\n                                <i class="fas fa-user-md"></i> Diagnose Sign-up Issues\n                            </a>\n                        </li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanAdmin --\x3e\n                        <li>\n                            <a data-bind="clubhouseHref: ViewURL, attr: { title: IsSeries() ? \'Manage or delete series\' : \'Manage or delete this instance\' }">\n                                <i class="fa fa-cube"></i> Manage \n                                <span data-bind="visible: IsInSeries">Instance</span>\n                                <span data-bind="visible: IsSeries">Series</span>\n                            </a>\n                        </li>\n                        <li data-bind="visible: IsInSeries">\n                            <a data-bind="clubhouseHref: ViewSeriesURL, attr: { title:\'Manage or delete series\' }">\n                                <i class="fa fa-cubes"></i> Manage Series\n                            </a>\n                        </li>\n                        \x3c!-- /ko --\x3e\n                        <li data-bind="visible: IsSignUpEnabled() && CanViewAttendees()">\n                            <a data-bind="clubhouseHref: \'/Events/Attendees?id=\' + ID(), attr: { title:\'View or export attendee lists\' }">\n                                <i class="fa fa-users"></i> View/Export Attendees\n                            </a>\n                        </li>\n                        <li data-bind="visible: IsSignUpEnabled() && CanRecordAttendance()">\n                            <a data-bind="clubhouseHref: \'/Events/Attendance?id=\' + ID(), attr: { title:\'Track attendance/registers on site\' }">\n                                <i class="fa fa-sign-in"></i> Track Attendance/Take Register\n                            </a>\n                        </li>\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- ko if: CanSyncSignUps --\x3e\n                        <li data-bind="visible: SignUpSituation.IsSignUpEnabled">\n                            <a href="#" data-bind="click: $component.syncSignUps" title="Synchronise sign-ups with participant list">\n                                <i class="far fa-sync-alt"></i> Sync. <span data-bind="visible: IsInSeries">Instance </span>Sign-ups\n                            </a>\n                        </li>\n                        <li data-bind="visible: IsInSeries() && SignUpSituation.IsSignUpEnabled()">\n                            <a href="#" data-bind="click: $component.syncSeriesSignUps" title="Synchronise series sign-ups with participant list">\n                                <i class="fas fa-sync-alt"></i> Sync. Series Sign-ups\n                            </a>\n                        </li>\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanCancel() || CanUnCancel() || CanDelete() --\x3e\n                        \x3c!-- ko if: CanCancel --\x3e\n                        <li>\n                            <a href="#" data-bind="click: $component.cancel" title="Cancel this event">\n                                <i class="fa fa-calendar-times-o"></i>
1 \n                                <span data-bind="visible: IsInSeries()">Cancel Instance or Series</span>\n                                <span data-bind="visible: IsSeries()">Cancel Series</span>\n                                <span data-bind="visible: !IsInSeries() && !IsSeries()">Cancel</span>\n                            </a>\n                        </li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanUnCancel --\x3e\n                        <li>\n                            <a href="#" data-bind="click: $component.unCancel" title="Un-Cancel this event">\n                                <i class="fa fa-calendar-times-o"></i> \n                                <span data-bind="visible: IsInSeries()">Un-Cancel Instance or Series</span>\n                                <span data-bind="visible: IsSeries()">Un-Cancel Series</span>\n                                <span data-bind="visible: !IsInSeries() && !IsSeries()">Un-Cancel</span>\n                            </a>\n                        </li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanDelete --\x3e\n                        <li data-bind="visible: !IsSeries()">\n                            <a href="#" data-bind="click: $component.deleteEvent" title="Delete this event">\n                                <i class="far fa-trash-alt"></i> Delete <span data-bind="visible: IsInSeries">Instance</span>\n                            </a>\n                        </li>\n                        <li data-bind="visible: (IsInSeries() || IsSeries())">\n                            <a href="#" data-bind="click: $component.deleteEventSeries" title="Delete this series of events">\n                                <i class="far fa-trash-alt"></i> Delete Series\n                            </a>\n                        </li>\n                        \x3c!-- /ko --\x3e\n\n                        <li role="separator" class="divider"></li>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: CanEmail --\x3e\n                        <li>\n                            <a data-bind="clubhouseHref: \'/Events/Admin/SendPublicityEmail?id=\' + ID(), attr: { title: \'Notify your members of this event\' }">\n                                <i class="fa fa-envelope"></i> Invite <span data-bind="term: \'Users\'"></span> ...\n                            </a>\n                        </li>\n                        <li data-bind="visible: IsSignUpEnabled">\n                            <a data-bind="clubhouseHref: \'/Events/Admin/SendAttendeeEmail?id=\' + ID(), attr: { title: \'Contact event attendees\' }">\n                                <i class="far fa-envelope"></i> Contact Attendees ...\n                            </a>\n                        </li>\n                        \x3c!-- /ko --\x3e\n                    </ul>\n                </div>\n            </span>'})},40036:(e,n,t)=>{"use strict";t.d(n,{A:()=>p});var o=t(79602),a=t.n(o),i=t(34827),s=t(53096),r=t(34925),l=t(26069),u=(t(39939),t(4209)),d=null;function c(){var e=this;e.Event=null,e.Date=i.A.observable(),e.IsInSeries=i.A.observable(!1),e.UnCancelOption=i.A.observable("INSTANCE"),e.Reason=i.A.observable(),e.SendEmails=i.A.observable(!0),e.RevokeRefunds=i.A.observable(!0),e.DoneCallback=null,e.validationObject=i.A.validatedObservable({UnCancelOption:e.UnCancelOption.extend({required:{message:"You must select an option"}}),Reason:e.Reason.extend({required:{message:"You must enter a reason for the un-cancellation"}})}),e.onOk=function(){if(!e.validationObject.isValid())return e.validationObject.errors.showAllMessages(),void l.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");u.A.show("Do you really want to un-cancel this event and notify all attendees?",(function(){e.doUnCancel()}))},e.doUnCancel=function(){switch(a()("#un-cancel-modal").modal("hide"),e.UnCancelOption()){case"INSTANCE":s.Ay.post("Events","Admin","UnCancelEvent",{id:e.Event.ID,reason:e.Reason(),sendEmail
1s:e.SendEmails(),revokeRefunds:e.RevokeRefunds()}).done((function(){r.A.addMessage("Success!","Event instance un-cancelled successfully.",!0,"success"),e.DoneCallback(e.Event)})).fail((function(e){r.A.addMessage("Error un-cancelling event",e,!0,"danger")}));break;case"INSTANCE_ONWARDS":s.Ay.post("Events","Admin","UnCancelEventSeries",{id:e.Event.ID,fromInstanceOnwards:!0,reason:e.Reason(),sendEmails:e.SendEmails(),revokeRefunds:e.RevokeRefunds()}).done((function(){r.A.addMessage("Success!","Event instances un-cancelled successfully.",!0,"success"),e.DoneCallback()})).fail((function(e){r.A.addMessage("Error un-cancelling events",e,!0,"danger")}));break;case"ALL":s.Ay.post("Events","Admin","UnCancelEventSeries",{id:e.Event.ID,fromInstanceOnwards:!1,reason:e.Reason(),sendEmails:e.SendEmails(),revokeRefunds:e.RevokeRefunds()}).done((function(){r.A.addMessage("Success!","Event instances un-cancelled successfully.",!0,"success"),e.DoneCallback()})).fail((function(e){r.A.addMessage("Error un-cancelling event series",e,!0,"danger")}))}}}a()((function(){d=new c,i.A.modalApplyBindings(d,a()("#un-cancel-modal")[0])}));const p={show:function(e,n){d.Event=e,d.Date(e.FullDate),d.IsInSeries(e.IsInSeries),e.IsSeries?d.UnCancelOption("ALL"):d.UnCancelOption("INSTANCE"),d.Reason(null),d.DoneCallback=n,a()("#un-cancel-modal").modal()}}},46278:(e,n,t)=>{"use strict";t.d(n,{A:()=>A});var o,a,i=t(79602),s=t.n(i),r=t(45091),l=t(34827),u=t(53096),d=t(34925),c=t(83906),p=t(48370),m=t(3762),f=(t(68773),{SingleSelect:!1,AspectRatio:null,MaxWidth:3840,MaxHeight:3840}),g={Type:null,ContextID:null,Name:null,ParentFolderPath:null,FolderPath:null,Files:[],SubFolders:[],Options:f,Selection:[],BrowsableTypes:[]};function v(e,n,t){o.Type(e);var a={type:e,subFolder:n};u.Ay.post(null,"Upload","GetUploadedFiles",a,null,!0,"Retrieving file information ...").done((function(e){l.A.viewmodel.updateFromModel(o,e),t&&t()})).fail((function(e){d.A.addMessage("Error getting file details",e,!0,"danger")}))}function b(e){u.Ay.post(null,"Upload","GetBrowsableImageTypes",{},null,!0,"Loading image library ...").done((function(n){l.A.viewmodel.updateFromModel(o,{Type:null,FolderPath:null,Files:[],SubFolders:[],BrowsableTypes:n}),e&&e()})).fail((function(e){d.A.addMessage("Error loading image library",e,!0,"danger")}))}s()((function(){o=l.A.viewmodel.fromModel(g,{extend:{"{root}":function(e){e.IsAtTypeIndex=l.A.pureComputed((function(){return!e.Type()})),e.AllowBulkUpload=l.A.pureComputed((function(){return e.Type()&&!e.Options.AspectRatio()})),e.CurrentTypeName=l.A.pureComputed((function(){var n=e.Type();if(!n)return null;var t=r.Ay.find(e.BrowsableTypes(),(function(e){return l.A.unwrap(e.TypeName)===n}));return t?l.A.unwrap(t.Label):n})),e.Breadcrumbs=l.A.pureComputed((function(){var n=[{Name:"All Images",FolderPath:null,IsTypeIndex:!0}];if(!e.Type())return n;if(n.push({Name:e.CurrentTypeName(),FolderPath:null,IsTypeIndex:!1}),!e.FolderPath())return n;var t=r.Ay.rest((e.FolderPath()||"").split("/")),o="";return n=n.concat(r.Ay.map(t,(function(e){return{Name:e,FolderPath:o=o+"/"+e,IsTypeIndex:!1}})))})),e.selectBreadcrumb=function(n){n.IsTypeIndex?b():v(e.Type(),n.FolderPath)},e.Files.extend({deferred:!0}),e.TypeRows=l.A.pureComputed((function(){return r.Ay.chunk(e.BrowsableTypes(),6)})),e.navigateToType=function(e){v(l.A.unwrap(e.TypeName),null)},e.SearchString=l.A.observable(),e.ShowSearchResults=l.A.observable(!1),e.search=function(){e.ShowSearchResults(!0)},e.IsEmpty=l.A.pureComputed((function(){return!e.ParentFolderPath()&&(0===e.SubFolders().length&&0===e.Files().length)})),e.FilteredFiles=l.A.pureComputed((function(){if(!e.SearchString())return e.Files();var n=e.SearchString().toLowerCase();return r.Ay.filter(e.Files(),(function(e){return-1!==e.Filename().toLowerCase().indexOf(n)}))})),e.FilteredFilesAndFolders=l.A.pureComputed((function(){return e.SubFolders().concat(e.FilteredFiles())})),e.FileCount=l.A.pureComputed((function(){return e.FilteredFilesAndFolders().length})),e.PageCount=l.A.pureComputed((function(){return Math.ceil(e.FileCount()/60)||1})),e.Pages=l.A.pureComputed((function(){return r.Ay.range(1,e.PageCount()+1)})),e.SelectedPage=l.A.observable(0),e.previousPage=function(){e.SelectedPage(Math.max(e.SelectedPage()-1,0))},e.nextPage=function(){e.SelectedPage(Math.min(e.SelectedPage()+1,e.PageCount()-1))},e.selectPage=function(n){e.SelectedPage(n-1)},e.VisibleFiles=l.A.pureComputed((function(){var n=60*e.SelectedPage();return r.Ay.first(r.Ay.rest(e.FilteredFilesAndFolders(),n),60)||[]})),l.A.computed((function(){e.SelectedPage()>=e.PageCount()-1&&e.SelectedPage(e.PageCount()-1)})),e.FileRows=l.A.pureComputed((function(){return r.Ay.chunk(e.VisibleFiles(),6)})),e.isSelected=function(n){return r.Ay.contains(e.Selection(),n)},e.toggleSelection=function(n){r.Ay.contains(e.Selection(),n)?e.Selection.remove(n):l.A.unwrap(e.Options.SingleSelect)?e.Selection([n]):e.Selection.push(n)},e.createFolder=function(){m.A.show("Create Folder","Enter name of folder","Name",!0,(function(n){var t={type:e.Type(),parentFolder:e.FolderPath(),folderName:n};u.Ay.post(null,"Upload","CreateFolder",t,null,!0,"Creating folder ...").done((function(n){e.SubFolders.pushFromModel(n)})).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")}))}))},e.uploadImage=function(){c.A.show("Upload Image",e.Type(),e.ContextID(),e.Options.AspectRatio(),null,e.Options.MaxWidth(),e.Options.MaxHeight(),(function(n){v(e.Type(),e.FolderPath(),(function(){var t=r.Ay.find(e.Files(),(function(e){return"".concat(e.RelativePath(),"/").concat(e.Filename())===n}));e.Options.SingleSelect()?e.Selection([t]):e.Selection.push(t)}))}),e.FolderPath())},e.bulkUploadImages=function(){p.A.show(e.Type(),e.ContextID(),(function(){return v(e.Type(),e.FolderPath(),(function(){}))}),e.FolderPath())},e.onOk=function(){var n=r.Ay.map(e.Selection(),(function(e){return l.A.viewmodel.toModel(e)}));a(n)}},"{root}.SubFolders[i]":function(e){e.Type="FOLDER",e.select=function(){v(e.__parent.Type(),e.FolderPath())}},"{root}.Files[i]":function(e){e.Type="FILE"}}}),l.A.modalApplyBindings(o,s()("#image-selector-modal")[0])}));
1const A={show:function(e,n,t,i){n=r.Ay.extendOwn({},f,n),l.A.viewmodel.updateFromModel(o,{Options:n,ContextID:i,Selection:[]}),b((function(){null!=e&&v(e)})),a=t,s()("#image-selector-modal").modal()}}},46401:(e,n,t)=>{"use strict";t.d(n,{A:()=>d});var o,a,i,s=t(79602),r=t.n(s),l=t(34827),u=(t(68773),t(2861),{Title:null,Items:[]});r()((function(){i=r()("#reorder-items-modal"),o=l.A.viewmodel.fromModel(u,{extend:{"{root}":function(e){e.onOk=function(){a(e.Items())}}},append:["{root}.Items[i]"]}),l.A.modalApplyBindings(o,i[0])}));const d={show:function(e,n,t){a=t,l.A.viewmodel.updateFromModel(o,{Title:e,Items:n}),i.modal()}}},46988:(e,n,t)=>{"use strict";t.d(n,{A:()=>c});var o,a=t(79602),i=t.n(a),s=t(45091),r=t(34827),l=t(53096),u=t(34925),d=(t(68773),t(39939),t(14846),{ToUserID:null,To:null,AlternativeEmail:null,AlternativeContact:null,Subject:null,MessageBody:null,CopyToSender:!1});i()((function(){o=r.A.viewmodel.fromModel(d,{extend:{"{root}":function(e){e.validationObject=r.A.validatedObservable({AlternativeEmail:e.AlternativeEmail.extend({maxLength:{params:100,message:"Email address must be no longer than 100 characters"},email:{message:"Must be a valid email address."}}),AlternativeContact:e.AlternativeContact.extend({maxLength:{params:200,message:"Must be no longer than 200 characters"}}),Subject:e.Subject.extend({required:{message:"Subject is required."},maxLength:{params:200,message:"Must be no longer than 200 characters"}}),MessageBody:e.MessageBody.extend({required:{message:"Message is required."}})}),e.send=function(){e.validationObject.isValid()?function(e){var n={ToUserID:e.ToUserID(),AlternativeEmail:e.AlternativeEmail(),AlternativeContact:e.AlternativeContact(),Subject:e.Subject(),MessageBody:e.MessageBody(),CopyToSender:e.CopyToSender()};l.Ay.post(null,"MessageMe","Send",n).done((function(e){e.IsError?u.A.addMessage("Error!",e.Error,!0,"danger"):(u.A.addMessage("Success!","Message sent",!0,"success"),i()("#messageme-modal").modal("hide"))})).fail((function(e){u.A.addMessage("Error!",e,!0,"danger")}))}(e):e.validationObject.errors.showAllMessages()}}}}),r.A.applyBindings(o,i()("#messageme-modal")[0])}));const c={showMessageMeForm:function(e,n){var t=s.Ay.extendOwn({},d,{ToUserID:e,To:n});r.A.viewmodel.updateFromModel(o,t),i()("#messageme-modal").modal()}}},47516:(e,n,t)=>{"use strict";t.d(n,{A:()=>u});var o,a,i=t(79602),s=t.n(i),r=t(34827),l=(t(68773),t(39939),{Title:null,Message:null,Reason:null,Caption:"Reason"});s()((function(){o=r.A.viewmodel.fromModel(l,{extend:{"{root}":function(e){e.validationObject=r.A.validatedObservable({Reason:e.Reason.extend({required:{message:"You must enter a reason"},maxLength:{params:400,message:"Reason can be no longer than 400 characters"}})}),e.onOk=function(){e.validationObject.isValid()?(s()("#reason-modal").modal("hide"),a(e.Reason())):e.validationObject.errors.showAllMessages()}}}}),r.A.modalApplyBindings(o,s()("#reason-modal")[0])}));const u={show:function(e,n,t,i,l){var u={Title:e,Message:n,Reason:i||null,Caption:l||"Reason"};r.A.viewmodel.updateFromModel(o,u),a=t,s()("#reason-modal").modal()}}},48370:(e,n,t)=>{"use strict";t.d(n,{A:()=>I});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=(t(38783),t(763),t(81748)),m=t(19685),f=t(41655),g=t.n(f);t(48848),t(84968),t(41350),t(48483),t(74685),t(68773),t(39939),t(71699);function v(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return b(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?b(e,n):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 b(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}var A={UploadType:null,ContextID:null,FolderPath:null,DiskSpace:{ShouldDisplayMessages:!1,IsSpaceAvailable:null,UsedDiskSpace:null,DiskSpaceLimit:null},Files:[],UploadInProgress:!1,UploadComplete:!1,UploadProgress:0};function y(e,n,t){return function(e,n){var t=r().Deferred(),o=e.File,a={Type:n.UploadType(),ContextID:n.ContextID(),FolderPath:n.FolderPath()};return d.Ay.uploadFile(o.name,o,a,e.UploadProgress).done((function(e){return t.resolve(e)})).fail((function(e){c.A.addMessage("Error uploading file",e,!0,"danger"),t.reject(e)})),t}(e,n).then((function(){++t.doneCount;var e=100*t.doneCount/t.totalCount;n.UploadProgress(Math.floor(e))}))}function h(e,n,t,o){if(e.length){var a=e[0],i=e.slice(1);(function(e,n,t){var o=l.Ay.map(e,(function(e){return y(e,n,t)}));return r().when.apply(r(),v(o))})(a,n,o).done((function(){return h(i,n,t,o)})).fail((function(e){return t.reject(e)}))}else t.resolve()}r()((function(){i=r()("#bulk-image-upload-modal"),o=u.A.viewmodel.fromModel(A,{extend:{"{root}":function(e){e.multiFileData={fileArray:u.A.observableArray()},u.A.computed((function(){var n=e.multiFileData.fileArray();n.length&&(l.Ay.each(n,(function(n){l.Ay.some(e.Files(),(function(e){return e.isSameAs(n)}))||e.Files.pushFromModel({File:n})})),e.multiFileData.clear())})),e.deleteFile=function(n){e.Files.remove(n)},e.onClear=function(e){e.clear&&e.clear()},e.validationObject=u.A.validatedObservable({Files:e.Files.extend({required:{message:"You must add a least one file"}})}),e.onOk=function(){e.validationObject.isValid()?(e.UploadInProgress(!0),function(e){var n=l.Ay.chunk(e.Files(),5),t=r().Deferred(),o={doneCount:0,totalCount:e.Files().length};return h(n,e,t,o),t}(e).done((function(){c.A.addMessage("Done","Finished uploading files",!0,"success"),e.UploadComplete(!0),a()})).fail((function(n){c.A.addMessage("Error",n,!0,"danger"),e.UploadInProgress(!1)}))):e.validationObject.errors.showAllMessages()}},"{root}.Files[i]":function(e){e.UploadProgress=u.A.observable(0),e.DataURL=u.A.observable();var n=new FileReader;n.onload=function(n){return e.DataURL(n.target.result)},n.readAsDataURL(e.File),e.Filename=u.A.pureComputed((function(){return e.File.name})),e.Size=u.A.pureComputed((function(){return p.A.humanFileSize(e.File.size)})),e.IsTooBig=u.A.pureComputed((function(){return e.File.size>10485760})),e.Type=u.A.pureComputed((function(){return e.File.type})),e.LastModified=u.A.pureComputed((function(){return m.Ay.formatDateTime(g()(e.File.lastModifiedDate))}
1)),e.isSameAs=function(n){return n.name===e.File.name&&n.size===e.File.size&&n.lastModified===e.File.lastModified},e.validationObject=u.A.validatedObservable({IsTooBig:e.IsTooBig.extend({mustBeFalse:{message:"File is larger than 10 MiB"}})})}},append:["{root}.Files[i].File"]}),u.A.modalApplyBindings(o,i[0])}));const I={show:function(e,n,t,s){a=t;var r=l.Ay.extendOwn({},A,{UploadType:e,ContextID:n,FolderPath:s});u.A.viewmodel.updateFromModel(o,r),i.modal(),o.multiFileData.clear()}}},50249:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>s});var o=t(45091),a=t(53096),i=t(34925);const s={getStandaloneMembershipOptions:function(e,n,t,s,r){if(o.Ay.isBoolean(e.IsNewApplicant)){var l={registrant:e,restrictToCategoryIDs:n};a.Ay.post(null,"MembershipOptions","Standalone",l).done(t).fail(s||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(r||function(){})}},getMembershipOptionsForChange:function(e,n,t,s,r,l){if(o.Ay.isBoolean(t.IsNewApplicant)&&n&&e){var u={fromCategoryID:e,startDate:n,registrant:t};a.Ay.post(null,"MembershipOptions","ForChange",u).done(s).fail(r||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(l||function(){})}},getLinkedMembershipOptions:function(e,n,t,s,r,l,u){if(o.Ay.isNumber(e)&&s&&o.Ay.isBoolean(s.IsNewApplicant)&&n){var d={coreCategoryID:e,startDate:n,endDate:t,registrant:s,allowInvitationOnly:!1};a.Ay.post(null,"MembershipOptions","Linked",d).done(r).fail(l||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(u||function(){})}},getLinkedMembershipOptionsForSubscription:function(e,n,t,o){var s={id:e,allowInvitationOnly:!1};a.Ay.post(null,"MembershipOptions","LinkedForSubscription",s).done(n).fail(t||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(o||function(){})},getGroupSlotMembershipOptions:function(e,n,t,s,r){if(e&&n&&o.Ay.isBoolean(n.IsNewApplicant)){var l={code:e,registrant:n,allowInvitationOnly:!1};a.Ay.post(null,"MembershipOptions","GroupSlot",l).done(t).fail(s||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(r||function(){})}},getGroupApplicantMembershipOptions:function(e,n,t,s,r,l,u){if(o.Ay.isNumber(e)&&s&&o.Ay.isBoolean(s.IsNewApplicant)&&n){var d={groupCategoryID:e,startDate:n,endDate:t,registrant:s,allowInvitationOnly:!1};a.Ay.post(null,"MembershipOptions","GroupMembershipApplicant",d).done(r).fail(l||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(u||function(){})}},getCustomMembershipOption:function(e,n,t,s,r,l,u){if(o.Ay.isNumber(e)&&o.Ay.isNumber(n)&&t){var d={startOptionID:e,categoryID:n,startDate:t,registrant:s,allowInvitationOnly:!1};a.Ay.post(null,"MembershipOptions","Custom",d).done(r).fail(l||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(u||function(){})}},getHorseMembershipOptions:function(e,n,t){a.Ay.post(null,"MembershipOptions","Horse",null).done(e).fail(n||function(e){return i.A.addMessage("Error retrieving membership options",e,!0,"danger")}).always(t||function(){})}}},54110:(e,n,t)=>{"use strict";t.d(n,{A:()=>b});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=t(28151),m=t(21553),f=(t(68773),t(39939),null),g=null,v={User:{ID:null,Name:null},EposnowCustomerID:null,CreditBalance:{Formatted:null},TopUpMinimum:{Formatted:null,Value:null},TopUpMaximum:{Formatted:null,Value:null},NoTopUpMessage:null,PaymentMethodOptions:[]};r()((function(){i=r()("#eposnow-balance-top-up-modal"),o=u.A.viewmodel.fromModel(v,{extend:{"{root}":function(e){e.Phase=u.A.observable("amount"),e.IsBusy=u.A.observable(!1),e.Amount=u.A.observable(),e.AmountOptions=[{Amount:"5.00",Caption:p.Ay.format(5,!0),Value:5},{Amount:"10.00",Caption:p.Ay.format(10,!0),Value:10},{Amount:"20.00",Caption:p.Ay.format(20,!0),Value:20},{Amount:"50.00",Caption:p.Ay.format(50,!0),Value:50},{Amount:"100.00",Caption:p.Ay.format(100,!0),Value:100}],e.AvailableAmountOptions=u.A.pureComputed((function(){var n,t,o=null!==(n=e.TopUpMinimum.Value())&&void 0!==n?n:0,a=null!==(t=e.TopUpMaximum.Value())&&void 0!==t?t:1e3;return l.Ay.filter(e.AmountOptions,(function(e){return e.Value>=o&&e.Value<=a}))})),e.LimitsMessage=u.A.pureComputed((function(){if(e.NoTopUpMessage())return e.N
1oTopUpMessage();var n=e.TopUpMinimum.Formatted(),t=e.TopUpMaximum.Formatted();return n&&t?"Note: top-up amount must be between <strong>".concat(n,"</strong> and <strong>").concat(t,"</strong>"):n?"Note: the minimum top-up amount is <strong>".concat(n,"</strong>"):t?"Note: the maximum top-up amount is <strong>".concat(t,"</strong>"):void 0})),e.validationObject=u.A.validatedObservable({Amount:e.Amount.extend({required:{message:"You must enter an amount"},currency:{message:"The amount must be a valid currency amount"},currencyMin:{params:function(){return e.TopUpMinimum.Value()||0},message:"The amount must be a positive currency amount and at least the minimum allowed"},currencyMax:{params:function(){return e.TopUpMaximum.Value()||1e6},message:"The amount cannot be more than the maximum allowed"}})}),e.onContinue=function(){if(e.validationObject.isValid()){var n=e.PaymentMethodOptions();if(n.length){var t=n[0];e.IsBusy(!0),d.Ay.post("Admin","Eposnow","CreateEposnowTopUpPaymentIntent",{userID:e.User.ID(),amount:e.Amount(),paymentMethodCustomerID:t.PaymentMethodCustomerID()},null,!0,"Preparing payment ...").done((function(n){f=m.A.initialiseStripe(t.PublicKey(),t.StripeConnectAccountId()),e.Phase("payment"),g=m.A.mountPaymentElement(f,n.PaymentIntentClientSecret,n.CustomerSessionClientSecret,"#eposnow-topup-payment-element",null,null),e.IsBusy(!1)})).fail((function(n){e.IsBusy(!1),c.A.addMessage("Error",n,!0,"danger")}))}else c.A.addMessage("Error","No payment method is available. Please add a Stripe payment method on your profile page.",!0,"danger")}else e.validationObject.errors.showAllMessages()},e.onBack=function(){e.Phase("amount")},e.onPay=function(){var n=e.PaymentMethodOptions()[0];e.IsBusy(!0),m.A.confirmElementPayment(g,f,(function(t){d.Ay.post("Admin","Eposnow","ConfirmEposnowTopUpPayment",{userID:e.User.ID(),amount:e.Amount(),paymentMethodCustomerID:n.PaymentMethodCustomerID(),paymentIntentID:t.id},null,!0,"Processing payment ...").done((function(e){i.modal("hide"),a(e)})).fail((function(n){e.IsBusy(!1),c.A.addMessage("Error",n,!0,"danger")}))}),(function(n){e.IsBusy(!1),c.A.addMessage("Error",n,!0,"danger")}))}}}}),u.A.modalApplyBindings(o,i[0])}));const b={show:function(e,n){a=n,f=null,g=null;var t={userID:e};d.Ay.post("Admin","Eposnow","GetDetailsForTopUpBalance",t).done((function(e){var n=l.Ay.extendOwn({},v,e);u.A.viewmodel.updateFromModel(o,n),o.Phase("amount"),o.IsBusy(!1),i.modal()})).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")}))}}},57139:(e,n,t)=>{"use strict";t.d(n,{A:()=>m});var o=t(34827),a=t(53096),i=t(34925),s=t(47516);t(68773),t(23897);function r(e,n,t,o){var s={pageID:e,comment:n,replyToID:t};a.Ay.post("Cms","Comments","Post",s,null,!0).done(o).fail((function(e){i.A.addMessage("Error posting comment",e,!0,"danger")}))}function l(e,n,t){var o={id:e,comment:n};a.Ay.post("Cms","Comments","Edit",o,null,!0).done(t).fail((function(e){i.A.addMessage("Error editing comment",e,!0,"danger")}))}function u(e,n,t){var o={id:e,reason:n};a.Ay.post("Cms","Comments","Moderate",o,null,!0).done(t).fail((function(e){i.A.addMessage("Error moderating comment",e,!0,"danger")}))}function d(e,n){var t={id:e};a.Ay.post("Cms","Comments","Unmoderate",t,null,!0).done(n).fail((function(e){i.A.addMessage("Error un-moderating comment",e,!0,"danger")}))}function c(e,n){var t={id:e};a.Ay.post("Cms","Comments","Like",t).done(n).fail((function(e){i.A.addMessage("Error liking comment",e,!0,"danger")}))}function p(e,n){var t={id:e};a.Ay.post("Cms","Comments","Unlike",t).done(n).fail((function(e){i.A.addMessage("Error unliking comment",e,!0,"danger")}))}const m={post:r,edit:l,moderate:u,unmoderate:d,delete:function(e,n){var t={id:e};a.Ay.post("Cms","Comments","Delete",t,null,!0).done(n).fail((function(e){i.A.addMessage("Error deleting comment",e,!0,"danger")}))},like:c,unlike:p,extendPageViewModelForComments:function(e){e.ShowNewCommentsOnly=o.A.observable(!1),e.NewComment=o.A.observable(),e.addComment=function(){r(e.PageID(),e.NewComment(),null,(function(n){e.Comments.pushFromModel(n),e.UpdatedComments.pushFromModel(n)}))},e.EditComment=o.A.observable(),e.EditCommentID=o.A.observable(),e.editComment=function(n){e.EditComment(n.Comment()),e.EditCommentID(n.ID())},e.cancelCommentEdit=function(){e.EditComment(null),e.EditCommentID(null)},e.postCommentEdit=function(n){l(n.ID(),e.EditComment(),(function(t){e.E
1ditCommentID(null),o.A.viewmodel.updateFromModel(n,t)}))},e.ReplyToCommentID=o.A.observable(),e.NewReply=o.A.observable(),e.replyToComment=function(n){e.NewReply(null),e.ReplyToCommentID(n.ID())},e.cancelCommentReply=function(){e.NewReply(null),e.ReplyToCommentID(null)},e.postCommentReply=function(n){r(e.PageID(),e.NewReply(),n.ID(),(function(t){e.ReplyToCommentID(null),n.Replies.pushFromModel(t),e.UpdatedComments.pushFromModel(t)}))},e.likeComment=function(e){c(e.ID(),(function(n){o.A.viewmodel.updateFromModel(e,n)}))},e.unlikeComment=function(e){p(e.ID(),(function(n){o.A.viewmodel.updateFromModel(e,n)}))},e.deleteComment=function(e){s.A.show("Delete Comment","Why are you deleting this comment?",(function(n){u(e.ID(),n,(function(n){o.A.viewmodel.updateFromModel(e,n)}))}))},e.undeleteComment=function(e){d(e.ID(),(function(n){o.A.viewmodel.updateFromModel(e,n)}))}}}},58750:(e,n,t)=>{"use strict";t.d(n,{A:()=>A});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=t(28151),m=t(21553),f=(t(68773),t(39939),t(59962),null),g=null,v={User:{ID:null,Name:null},TokenValue:{Value:null,Formatted:null,FormattedNoSymbol:null},TokensAreMoney:!1,CurrentBalance:{Value:null,Formatted:null,FormattedWithLabel:null,TokenTerm:null},CurrentBalanceValue:{Value:null,Formatted:null,FormattedNoSymbol:null},TopUpMinimum:{Value:null,Formatted:null,FormattedWithLabel:null,TokenTerm:null},TopUpMaximum:{Value:null,Formatted:null,FormattedWithLabel:null,TokenTerm:null},NoTopUpMessage:null,PurchaseUnits:[],PaymentMethodOptions:[],TokenLots:[]},b={Quantity:1,TokenCount:null,UnitCost:null};r()((function(){i=r()("#token-balance-topup-modal"),o=u.A.viewmodel.fromModel(v,{extend:{"{root}":function(e){e.Phase=u.A.observable("amount"),e.IsBusy=u.A.observable(!1),e.AmountOptions=[{Amount:"5.00",Caption:p.Ay.format(5,!0),Value:5},{Amount:"10.00",Caption:p.Ay.format(10,!0),Value:10},{Amount:"20.00",Caption:p.Ay.format(20,!0),Value:20},{Amount:"50.00",Caption:p.Ay.format(50,!0),Value:50},{Amount:"100.00",Caption:p.Ay.format(100,!0),Value:100}],e.AvailableAmountOptions=u.A.pureComputed((function(){var n,t,o=null!==(n=e.TopUpMinimum.Value())&&void 0!==n?n:0,a=null!==(t=e.TopUpMaximum.Value())&&void 0!==t?t:1e6;return l.Ay.filter(e.AmountOptions,(function(e){return e.Value>=o&&e.Value<=a}))})),e.TokenCount=u.A.computed({read:function(){return l.Ay.reduce(e.TokenLots(),(function(e,n){return e+n.Quantity()*n.TokenCount()}),0)},write:function(n){e.TokenLots([]);var t=l.Ay.extendOwn({},b,{Quantity:n,TokenCount:1,UnitCost:e.TokenValue.Value()});e.TokenLots.pushFromModel(t)}}),e.TokenCountMoney=u.A.computed({read:function(){return p.Ay.format(.01*e.TokenCount())},write:function(n){if(e.TokensAreMoney()&&!e.PurchaseUnits().length){var t=100*p.Ay.parse(n);e.TokenCount(t)}}}),e.Cost=u.A.pureComputed((function(){var n=l.Ay.reduce(e.TokenLots(),(function(e,n){return e+n.Quantity()*n.UnitCost()}),0);return p.Ay.format(n,!0)})),e.TokenCountWithLabel=u.A.pureComputed((function(){var n=e.CurrentBalance.TokenTerm(),t=e.TokenCount();return n?"".concat(t," ").concat(n):"".concat(t)})),e.LimitsMessage=u.A.pureComputed((function(){var n=e.TopUpMinimum.Formatted(),t=null;return null!=e.TopUpMaximum.Value()&&(t=e.TokensAreMoney()?p.Ay.format(e.TopUpMaximum.Value()*e.TokenValue.Value(),!0):"".concat(e.TopUpMaximum.Formatted())),n&&t?"Note: top-up amount must be between <strong>".concat(n,"</strong> and <strong>").concat(t,"</strong>"):n?"Note: the minimum top-up amount is <strong>".concat(n,"</strong>"):t?"Note: the maximum top-up amount is <strong>".concat(t,"</strong>"):null})),e.addLot=function(n){var t=l.Ay.find(e.TokenLots(),(function(e){return e.TokenCount()===n.TokenCount.Value()}));t?t.Quantity(t.Quantity()+1):(t=l.Ay.extendOwn({},b,{TokenCount:n.TokenCount.Value(),UnitCost:n.Cost.Value()}),e.TokenLots.pushFromModel(t))},e.reset=function(){e.TokenLots([])},e.validationObject=u.A.validatedObservable({TokenCount:e.TokenCount.extend({min:{params:function(){return e.TopUpMinimum.Value()||1},message:"The amount must be a positive integer amount and at least the minimum allowed"},max:{params:function(){return e.TopUpMaximum.Value()||1e6},message:"The amount cannot be more than the maximum allowed"},integer:{message:"The amount must be a valid integer amount"}})}),e.onContinue=function(){if(e.validationObject.isValid()){var n=e.PaymentMethodOptions();if(n.length){var t=n[0],o=l.Ay.map(e.TokenLots(),(function(e){return{Quantity:e.Quantity(),TokenCount:e.TokenCount()}}));e.IsBusy(!0),d.Ay.post("Finance","Tokens","CreateTokenTopUpPaymentIntent",{userID:e.User.ID(),tokenLots:o,paymentMethodCustomerID:t.PaymentMethodCustomerID()},null,!0,"Preparing payment ...").done((function(n){f=m.A.initialiseStripe(t.PublicKey(),t.StripeConnectAccountId()),e.Phase("payment"),g=m.A.mountPaymentElement(f,n.PaymentIntentClientSecret,n.CustomerSessionClientSecret,"#token-topup-payment-element",null,null),e.IsBusy(!1)})).fail((function(n){e.IsBusy(!1),c.A.addMessage("Error",n,!0,"danger")}))}else c.A.addMessage("Error","No payment method is available. Please add a Stripe payment method on your profile page.",!0,"danger")}else e.validationObject.errors.showAllMessages()},e.onBack=function(){e.Phase("amount")},e.onPay=function(){var n=e.PaymentMethodOptions()[0],t=l.Ay.map(e.TokenLots(),(function(e){return{Quantity:e.Quantity(),TokenCount:e.TokenCount()}}));e.IsBusy(!0),m.A.confirmElementPayment(g,f,(function(o){d.Ay.post("Finance","Tokens","ConfirmTokenTopUpPayment",{userID:e.User.ID(),tokenLots:t,paymentMethodCustomerID:n.PaymentMethodCustomerID(),paymentIntentID:o.id},null,!0,"Processing payment ...").done((function(e){i.modal("hide"),a(e)})).fail((function(n){e.IsBusy(!1),c.A.addMessage("Error",n,!0,"danger")}))}),(function(n){e.IsBusy(!1),c.A.addMessage("Error",n,!0,"danger")}))}}}}),u.A.modalApplyBindings(o,i[0])}));const A={show:function(e,n){a=n,f=null,g=null;var t={userID:e};d.Ay.post("Finance","Tokens","GetDetailsForTopUpBalance",t).done((function(e){var n=l.Ay.extendOwn({},v,e);u.A.viewmodel.updateFromModel(o,n),o.Phase("amount"),o.IsBusy(!1),i.modal()})).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")}))}}},65253:(e,n,t)=>{"use strict";t.d(n,{A:()=>b});var o=t(79602),a=t.n(o),i=t(45091),s=t(34827),r=t(29506),l=t(80721),u=t.n(l),d=t(82461),c=t.n(d);t(68773),t(39939);var p,m,f,g={SelectedIcon:null,Icons:(p=i.Ay.pairs(u()),p=i.Ay.map(p,(function(e){return i.Ay.map(e[1].styles,(function(n){return{id:e[0],label:e[1].label,search:e[1].search,style:n}}
1))})),i.Ay.reduce(p,(function(e,n){return e.concat(n)}),[])),Categories:i.Ay.map(i.Ay.pairs(c()),(function(e){return{id:e[0],icons:e[1].icons,label:e[1].label}}))};function v(e,n,t,o){if(t.length&&!i.Ay.contains(t,e.style()))return!1;if(o.length&&!i.Ay.some(o,(function(n){return function(e,n){return-1!==c()[n].icons.indexOf(e.id())}(e,n)})))return!1;if(n){var a=new RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"i"),s=e.search.terms().slice(0);if(s.push(e.id()),s.push(e.label()),!i.Ay.some(s,(function(e){return a.test(e)})))return!1}return!0}a()((function(){m=s.A.viewmodel.fromModel(g,{extend:{"{root}":function(e){e.SearchString=s.A.observable(),e.SelectedStyles=s.A.observableArray(),e.SelectedCategories=s.A.observableArray(),e.MatchingIcons=s.A.pureComputed((function(){return i.Ay.filter(e.Icons(),(function(n){return v(n,e.SearchString(),e.SelectedStyles(),e.SelectedCategories())}))})),e.PageIndex=s.A.observable(0),e.PageSize=s.A.observable(20),e.PageCount=s.A.pureComputed((function(){var n=e.MatchingIcons().length;return Math.ceil(n/e.PageSize())})),e.Pages=s.A.pureComputed((function(){return r.A.getPageIndexes(e.PageIndex(),e.PageCount(),15)})),e.nextPage=function(){var n=Math.min(e.PageCount()-1,e.PageIndex()+1);e.PageIndex(n)},e.previousPage=function(){var n=Math.max(0,e.PageIndex()-1);e.PageIndex(n)},e.DisplayedIcons=s.A.pureComputed((function(){var n=e.PageIndex()*e.PageSize(),t=n+e.PageSize();return e.MatchingIcons().slice(n,t)})),e.DisplayedIconRows=s.A.pureComputed((function(){return i.Ay.chunk(e.DisplayedIcons(),4)}))},"{root}.Icons[i]":function(e){e.CssClass=s.A.pureComputed((function(){var n="";return"solid"===e.style()?n+="fas ":"regular"===e.style()?n+="far ":"light"===e.style()?n+="fal ":"duotone"===e.style()?n+="fad ":n+="fab ",n+"fa-"+e.id()})),e.select=function(){a()("#icon-select-modal").modal("hide"),f(e.CssClass())}}}}),s.A.modalApplyBindings(m,a()("#icon-select-modal")[0])}));const b={show:function(e,n){f=n,m.PageIndex(0),m.SelectedIcon(e),a()("#icon-select-modal").modal()}}},65312:(e,n,t)=>{"use strict";t.d(n,{A:()=>A});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=t(38783),m=t(46278),f=t(26069),g=(t(68773),t(39939),t(60130),t(24468),t(41350),t(23897),{ID:-1,ImageURL:null,Caption:null,Description:null,TextColour:"#ffffff",LinkURL:null,Position:null,UploadProgress:0,IsActive:!0,Starts:null,Expires:null,MemberListID:null,NotMemberListID:null}),v=!1;function b(e){a.modal("hide"),function(e,n){var t=n;if(t&&t.length>0){var o=t.indexOf("?d=");-1!==o&&(t=t.substring(0,o)),t+="?d=".concat(Date.now())}var a={ID:e.ID(),ImageURL:t,ImageUrlWithoutTimestamp:n,Caption:e.Caption(),Description:e.Description(),TextColour:e.TextColour(),LinkURL:e.LinkURL(),Position:e.Position(),IsActive:e.IsActive(),Starts:e.Starts(),Expires:e.Expires(),MemberListID:e.MemberListID()||null,MemberListName:e.getMemberListName(e.MemberListID()),NotMemberListID:e.NotMemberListID()||null,NotMemberListName:e.getMemberListName(e.NotMemberListID())};v?i(a):d.Ay.post("Admin","Carousel","SaveCarouselElement",a).done((function(n){var t="Carousel Element ";e.Caption()&&(t="".concat(t,"'").concat(n.Caption,"', ")),t+="with ID: ".concat(n.ID,", saved successfully."),c.A.addMessage("Success!",t,!0,"success"),i(n)})).fail((function(e){f.Ay.show("Error!","Error Saving Carousel Element: ".concat(e),"danger")}))}(e,e.ImageURL())}r()((function(){a=r()("#edit-carousel-element-modal"),o=u.A.viewmodel.fromModel(g,{extend:{"{root}":function(e){e.ImageURLWithDate=u.A.pureComputed((function(){return e.ImageURL()?d.Ay.relativeURL(e.ImageURL()+"?d="+(new Date).getTime()):null})),e.changeImage=function(){m.A.show("CarouselImage",{SingleSelect:!0,MaxWidth:3500,MaxHeight:1225},(function(n){return e.ImageURL("".concat(n[0].RelativePath,"/").concat(n[0].Filename))}),e.ID())},e.MemberLists=p.Ay.getOptionSetKO("MemberLists"),e.getMemberListName=function(n){var t=l.Ay.find(e.MemberLists(),(function(e){return e.ID==n}));return t?t.Name:null},e.validationObject=u.A.validatedObservable({ImageURL:e.ImageURL.extend({maxLength:{params:200,message:"'ImageURL' must be no more than {0} characters."}}),IsActive:e.IsActive.extend({required:{params:!0,message:"'Active?' is required."}}),Starts:e.Starts.extend({date:{params:!0,message:"'From' date must be correctly formatted."}}),Expires:e.Expires.extend({date:{params:!0,message:"'until' date must be correctly formatted."}}),Caption:e.Caption.extend({maxLength:{params:200,message:"'Caption' must be no more than {0} characters."}}),LinkURL:e.LinkURL.extend({maxLength:{params:200,message:"'Link URL' must be no more than {0} characters."},url:{params:!0,message:"'Link URL' must be a full url starting with 'http://', 'https://' or 'ftp://'."}}),Description:e.Description.extend({maxLength:{params:1400,message:"'Description' must be no more than {0} characters."}})}),e.save=function(){if(!e.validationObject.isValid())return e.validationObject.errors.showAllMessages(),void f.Ay.show("Incomplete Form","Some of the fields have not been completed correctly. Please check messages on the page.","danger");b(e)}}}}),u.A.modalApplyBindings(o,a[0])}));const A={showForAdd:function(e,n,t){u.A.viewmodel.updateFromModel(o,g),o.Position(e),i=n,v=t||!1,a.modal()},showForEdit:function(e,n,t){u.A.viewmodel.updateFromModel(o,e),i=n,v=t||!1,a.modal()}}},70861:(e,n,t)=>{"use strict";t.d(n,{A:()=>A});var o,a,i,s=t(79602),r=t.n(s),l=t(34827),u=t(53096),d=t(34925),c=t(4209),p=(t(68773),t(39939),{CancelledEvent:null,RefreshEventID:0,UnpaidRefunds:[],PaidRefunds:[],CanAdmin:!1,RefundsPending:!1,PendingRefundsMessage:null,IssuedRefundCount:0,UnpaidRefundCount:0,UnpaidRefundsMessage:null,PaidRefundCount:0,EventCancelledEmailSuccessfulRecipientCount:0,EventCancelledEmailFailedRecipientCount:0,EmailMessage:null,RefundsEmailSuccessfulRecipientCount:0,RefundsEmailFailedRecipientCount:0,RefundsEmailMessage:null});r()((function(){i=r()("#cancel-summary-modal"),o=l.A.viewmodel.fromModel(p,{extend:{"{root}":function(e){e.onClose=function(){i.modal("hide"),a(e)}}}}),l.A.modalApplyBindings(o,i[0])}));const m={show:function(e,n){a=n,l.A.viewmodel.updateFromModel(o,e),i.modal()}};var f,g,v,b={EventID:null,EventName:null,EventStartTime:null,IsSeries:!1,IsInSeries:!1,TotalInstanceCount:null,FutureInstanceCount:null,CanSignUpForInstances:!1,CanSignUpForWholeSeries:!1,HasCosts:!1,HasAddOns:!1,CancelOption:"INSTANCE",RefundOption:null,RefundAddOns:!0,Reason:null,SendEmail
1s:!0,SendRefundEmail:!0,AutoProcessRefunds:!1};r()((function(){v=r()("#cancel-modal"),f=l.A.viewmodel.fromModel(b,{extend:{"{root}":function(e){e.CancelOptionEdit=l.A.computed({read:e.CancelOption,write:function(n){e.CancelOption(n),e.RefundOption(null)}}),e.validationObject=l.A.validatedObservable({CancelOption:e.CancelOption.extend({required:{message:"You must select an option",onlyIf:e.IsInSeries}}),RefundOption:e.RefundOption.extend({required:{message:"You must select a refund option",onlyIf:e.HasCosts}}),Reason:e.Reason.extend({required:{message:"You must enter a reason for the cancellation"},maxLength:{params:200,message:"Reason cannot be longer than 200 characters"}})}),e.onOk=function(){e.validationObject.isValid()?c.A.show("Do you really want to cancel this event for everyone?",(function(){return function(e){var n={EventID:e.EventID(),CancelOption:e.CancelOption(),RefundOption:e.RefundOption(),RefundAddOns:e.RefundAddOns(),Reason:e.Reason(),SendEmails:e.SendEmails(),SendRefundEmail:e.SendRefundEmail(),AutoProcessRefunds:e.AutoProcessRefunds()};u.Ay.post("Events","Admin","CancelEvent",n,null,!0,"Cancelling event ...").done((function(e){v.modal("hide"),m.show(e,g)})).fail((function(e){d.A.addMessage("Error",e,!0,"danger")}))}(e)})):e.validationObject.errors.showAllMessages()}}}}),l.A.modalApplyBindings(f,v[0])}));const A={show:function(e,n){g=n,u.Ay.post("Events","Admin","GetEventForCancel",{id:e}).done((function(e){l.A.viewmodel.updateFromModel(f,e),v.modal()})).fail((function(e){return d.A.addMessage("Error retrieving event details",e,!0,"danger")}))}}},73066:(e,n,t)=>{"use strict";t.d(n,{A:()=>f});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=(t(68773),t(39939),t(72062),{EventID:null,EventName:null,InvitedLists:[],ExcludedLists:[],ToBeSignedUp:[],ToBeWithdrawn:[],SelectedCostOptionID:null,CostOptions:[]});function m(e){var n={vm:{EventID:e.EventID(),ToBeSignedUp:l.Ay.map(e.SelectedSignUps(),(function(e){return u.A.viewmodel.toModel(e)})),ToBeWithdrawn:l.Ay.map(e.SelectedWithdrawals(),(function(e){return u.A.viewmodel.toModel(e)})),SelectedCostOptionID:e.SelectedCostOptionID()},sendEmails:e.SendEmails()};d.Ay.post("Events","Synchronise","SyncSignUps",n,null,!0,"Synchronising ...").done((function(n){!function(e,n){l.Ay.each(n.SignUps,(function(n){l.Ay.find(e.ToBeSignedUp(),(function(e){return e.ID()===n.User.ID})).Result(n)})),l.Ay.each(n.Withdrawals,(function(n){l.Ay.find(e.ToBeWithdrawn(),(function(e){return e.ID()===n.User.ID})).Result(n)})),e.HasResults(!0)}(e,n),a(e.EventID())})).fail((function(e){return c.A.addMessage("Error sync'ing sign-ups",e,!0,"danger")}))}r()((function(){i=r()("#event-signup-sync-modal"),o=u.A.viewmodel.fromModel(p,{extend:{"{root}":function(e){e.NothingToDo=u.A.pureComputed((function(){return!e.ToBeSignedUp().length&&!e.ToBeWithdrawn().length})),e.SelectedSignUps=u.A.pureComputed((function(){return l.Ay.filter(e.ToBeSignedUp(),(function(e){return e.IsSelected()}))})),e.SelectedWithdrawals=u.A.pureComputed((function(){return l.Ay.filter(e.ToBeWithdrawn(),(function(e){return e.IsSelected()}))})),e.Selections=u.A.pureComputed((function(){return e.SelectedSignUps().concat(e.SelectedWithdrawals())})),e.validationObject=u.A.validatedObservable({SelectedCostOptionID:e.SelectedCostOptionID.extend({required:{message:"You must select an option",onlyIf:function(){return e.CostOptions().length>0}}}),Selections:e.Selections.extend({required:{message:"You must select at least one sign-up or withdrawal to apply"}})}),e.HasResults=u.A.observable(!1),e.SendEmails=u.A.observable(!0),e.apply=function(){e.validationObject.isValid()?m(e):e.validationObject.errors.showAllMessages()}},"{root}.ToBeSignedUp[i]":function(e){e.IsSelected=u.A.observable(!0),e.Result=u.A.observable()},"{root}.ToBeWithdrawn[i]":function(e){e.IsSelected=u.A.observable(!0),e.Result=u.A.observable()}}}),u.A.modalApplyBindings(o,i[0])}));const f={show:function(e,n){a=n,o.HasResults(!1),o.SendEmails(!0),function(e){d.Ay.post("Events","Synchronise","GetSignUpSyncInfo",{eventID:e}).done((function(e){u.A.viewmodel.updateFromModel(o,e),i.modal()})).fail((function(e){return c.A.addMessage("Error retrieving sync info",e,!0,"danger")}))}(e)}}},75957:(e,n,t)=>{"use strict";t.d(n,{A:()=>A});var o,a,i=t(79602),s=t.n(i),r=t(45091),l=t(34827),u=t(53096),d=t(34925),c=t(38783),p=t(26069),m=t(7405),f=(t(41350),t(48483),t(74685),t(23897),t(68773),t(39939),t(71699),!1),g={ID:0,Title:null,Description:null,User:{ID:null,Name:null},Horse:{ID:null,Name:null},FormQuestionID:null,FormCompletionReference:null,SelectedCategoryID:null,CategoryIDs:[],UploadType:null,ContextID:null,Filename:null,URL:null,
1LastUpload:null,IsNewUpload:!0,UploadProgress:0,Entitlements:{EntityID:null,EntityTypeName:null,EntityDescription:null,Entitlements:[],CanEdit:!1},DiskSpace:{ShouldDisplayMessages:!1,IsSpaceAvailable:null,UsedDiskSpace:null,DiskSpaceLimit:null},CanUpload:!1};function v(e){e&&"function"==typeof e.clear&&e.clear()}function b(e,n){var t,o=!!n;if(o||(n=e.URL()),n){var i=n.lastIndexOf("/");t=n.substr(i+1);var r={ID:e.ID(),Title:e.Title(),Description:e.Description(),CategoryIDs:e.CategoryIDs(),User:{ID:e.User.ID()},Horse:{ID:e.Horse.ID()},FormQuestionID:e.FormQuestionID(),FormCompletionReference:e.FormCompletionReference(),Filename:t,URL:n,IsNewUpload:o,Entitlements:l.A.viewmodel.toModel(e.Entitlements)};u.Ay.post("Documents","Upload","SaveDocument",r).done((function(n){d.A.addMessage("Success!","Document '".concat(e.Title(),"' saved successfully."),!0,"success"),s()("#document-edit-modal").modal("hide"),a(n)})).fail((function(e){return p.Ay.show("Error Saving Document",e,"danger")}))}else p.Ay.show("Error!","Error Saving Document: A file must be uploaded.","danger")}s()((function(){o=l.A.viewmodel.fromModel(g,{extend:{"{root}":function(e){e.CategoryCount=l.A.pureComputed((function(){return e.CategoryIDs().length})),e.CurrentFilename=l.A.pureComputed((function(){if(!e.CurrentURL())return null;var n=e.CurrentURL().lastIndexOf("/")+1;return e.CurrentURL().substr(n)})),e.FileData=l.A.observable({file:l.A.observable()}),e.IsScanning=l.A.observable(!1),e.UploadFilename=l.A.pureComputed((function(){return e.FileData().file()?e.FileData().file().name:null})),e.addCategory=function(){m.A.show(null,e.SelectedCategoryID(),(function(n){c.Ay.refreshOptionSet("DocumentCategories",(function(){return e.CategoryIDs.push(n.ID)}))}))},e.validationObject=l.A.validatedObservable({Title:e.Title.extend({required:{params:!0,message:"'Title' is required."},maxLength:{params:50,message:"'Title' must be no more than {0} characters."}}),Description:e.Description.extend({maxLength:{params:500,message:"'Description' must be no more than {0} characters."}}),UploadFilePath:e.FileData().file.extend({required:{onlyIf:e.IsNewUpload,message:"File: Please click the 'Choose File' button to select a file from your device."}}),CategoryCount:e.CategoryCount.extend({min:{params:1,message:"At least one category must be selected.",onlyIf:function(){return"Document"===e.UploadType()}}}),Entitlements:e.Entitlements}),e.onOk=function(){e.validationObject.isValid()?e.IsNewUpload()?function(e,n){var t=e.FileData().file(),o={Type:e.UploadType(),ContextID:e.ContextID()};e.IsScanning(!1),u.Ay.uploadFile(t.name,t,o,e.UploadProgress,null,!1,null,(function(){return e.IsScanning(!0)})).done((function(t){e.IsScanning(!1),n(t)})).fail((function(n){e.IsScanning(!1),p.Ay.show("Error uploading file",n,"danger")}))}(e,(function(n){return b(e,n)})):b(e,null):e.validationObject.errors.showAllMessages()}},"{root}.Entitlements":function(e){e.validationObject=l.A.validatedObservable({Entitlememts:e.Entitlements})},"{root}.Entitlements.Entitlements[i]":function(e){e.HasError=l.A.observable(!1),e.validationObject=l.A.validatedObservable({HasError:e.HasError.extend({mustBeFalse:{message:"You must select an option from the drop-down"}})})}}});var e=s()("#document-edit-modal");e.length&&l.A.modalApplyBindings(o,e[0])}));const A={showForCreateSiteDocument:function(e,n){f||(a=n,f=!0,u.Ay.post("Documents","Upload","GetDocumentForEdit",{categoryID:e},null,!0,"Loading ...").done((function(n){var t=r.Ay.extendOwn({},g,n);e&&(t.SelectedCategoryID=e),l.A.viewmodel.updateFromModel(o,t),v(o.FileData()),o.IsScanning(!1),s()("#document-edit-modal").modal()})).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")})).always((function(){return f=!1})))},showForCreateUserDocument:function(e,n){f||(a=n,f=!0,u.Ay.post("Documents","Upload","GetDocumentForEdit",{userID:e},null,!0,"Loading ...").done((function(e){var n=r.Ay.extendOwn({},g,e);l.A.viewmodel.updateFromModel(o,n),v(o.FileData()),o.IsScanning(!1),s()("#document-edit-modal").modal()})).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")})).always((function(){return f=!1})))},showForCreateHorseDocument:function(e,n){f||(a=n,f=!0,u.Ay.post("Documents","Upload","GetDocumentForEdit",{horseID:e},null,!0,"Loading ...").done((function(e){var n=r.Ay.extendOwn({},g,e);l.A.viewmodel.updateFromModel(o,n),v(o.FileData()),o.IsScanning(!1),s()("#document-edit-modal").modal()})).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")})).always((function(){return f=!1})))},showForCreateFormAnswerDocument:function(e,n,t){if(!f){a=t,f=!0;var i={questionID:e,completionReference:n};u.Ay.post("Documents","Upload","GetDocumentForEdit",i,null,!0,"Loading ...").done((function(e){var n=r.Ay.extendOwn({},g,e);l.A.viewmodel.updateFromModel(o,n),v(o.FileData()),o.IsScanning(!1),s()("#document-edit-modal").modal()})).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")})).always((function(){return f=!1}))}},showForEditDocument:function(e,n){f||(a=n,f=!0,u.Ay.post("Documents","Upload","GetDocumentForEdit",{id:e},null,!0,"Loading ...").done((function(e){var n=r.Ay.extendOwn({},g,e);l.A.viewmodel.updateFromModel(o,n),v(o.FileData()),o.IsScanning(!1),s()("#document-edit-modal").modal()})).fail((function(e){return d.A.addMessage("Error",e,!0,"danger")})).always((function(){return f=!1})))}}},79558:(e,n,t)=>{"use strict";t.d(n,{A:()=>E});var o=t(79602),a=t.n(o),i=t(45091),s=t(34827),r=t(53096),l=t(34925),u=t(763),d=t(38783),c=t(99226);t(68773),t(39939),t(41350);function p(e,n){var t=i.Ay.filter(e,(function(e){return!e.User.ID||!i.Ay.some(n.SelectedAttendees(),(function(n){return n.User.ID()===e.User.ID}))}));i.Ay.each(t,(function(e){return n.SelectedAttendees.pushFromModel(e)}))}
1const m={ModelBlank:{SupportHorseSignUp:!1,SupportVehicleSignUp:!1,AttendeeSelectionMode:"USERS",SelectedMemberListID:null,UsersToBeAdded:[],GuestForename:null,GuestSurname:null,InvitingUser:{ID:null,Name:null},OmitIfAlreadyAttending:!0,SelectedAttendees:[]},extendViewModel:function(e){e.MemberListOptions=d.Ay.getOptionSetKO("MemberLists"),e.lookupMatchingUsers=function(n,t,o){var a=i.Ay.map(e.UsersToBeAdded(),(function(e){return s.A.unwrap(e.ID)}));u.Ay.matchingUsersExcludingIDs(n,a,!0,t,o)},e.bulkLookupUsers=function(){c.A.show((function(n){i.Ay.each(n,(function(n){return e.UsersToBeAdded.pushFromModel(n)}))}))};var n=s.A.validatedObservable({SelectedMemberListID:e.SelectedMemberListID.extend({required:{message:"You must select a member list",onlyIf:function(){return"MEMBER_LIST"===e.AttendeeSelectionMode()}}}),UsersToBeAdded:e.UsersToBeAdded.extend({required:{message:"You must select at least one user",onlyIf:function(){return"USERS"===e.AttendeeSelectionMode()}}}),GuestForename:e.GuestForename.extend({required:{message:"You must enter a guest forename",onlyIf:function(){return"GUEST"===e.AttendeeSelectionMode()}},maxLength:{params:50,message:"Guest forename cannot be longer than 50 characters"}}),GuestSurname:e.GuestSurname.extend({required:{message:"You must enter a guest surname",onlyIf:function(){return"GUEST"===e.AttendeeSelectionMode()}},maxLength:{params:50,message:"Guest surname cannot be longer than 50 characters"}}),InvitingUserID:e.InvitingUser.ID.extend({required:{message:"You must specify the inviting user",onlyIf:function(){return"GUEST"===e.AttendeeSelectionMode()}}})});e.addAttendees=function(){if(n.isValid())switch(e.AttendeeSelectionMode()){case"MEMBER_LIST":!function(e){var n={eventID:e.InstanceEventID(),memberListID:e.SelectedMemberListID(),omitAlreadyAttending:e.OmitIfAlreadyAttending()};r.Ay.post("Events","BulkSignUp","GetMemberListAttendees",n,null,!0,"Fetching attendee details ...").done((function(n){return p(n,e)})).fail((function(e){return l.A.addMessage("Error",e,!0,"danger")}))}(e);break;case"USERS":!function(e){var n=i.Ay.map(e.UsersToBeAdded(),(function(e){return s.A.unwrap(e.ID)})),t={eventID:e.InstanceEventID(),userIDs:n,omitAlreadyAttending:e.OmitIfAlreadyAttending()};r.Ay.post("Events","BulkSignUp","GetUserAttendees",t,null,!0,"Fetching attendee details ...").done((function(n){p(n,e),e.UsersToBeAdded.removeAll()})).fail((function(e){return l.A.addMessage("Error",e,!0,"danger")}))}(e);break;case"GUEST":!function(e){r.Ay.post("Events","BulkSignUp","GetGuestAttendee",{eventID:e.InstanceEventID(),guestForename:e.GuestForename(),guestSurname:e.GuestSurname(),invitingUserID:e.InvitingUser.ID()}).done((function(n){p([n],e),e.GuestForename(null),e.GuestSurname(null),e.InvitingUser.ID(0)})).fail((function(e){return l.A.addMessage("Error",e,!0,"danger")}))}(e)}else n.errors.showAllMessages()},e.removeAttendee=function(n){e.SelectedAttendees.remove(n)}},getValidators:function(e){return{SelectedAttendees:e.SelectedAttendees.extend({required:{message:"You must select at least one attendee to sign-up; click 'Add' button to select."}})}}
1,getRequestData:function(e,n){n.Attendees=s.A.viewmodel.toModel(e.SelectedAttendees)}};const f={ModelBlank:{SeriesInstances:[],CanSignUpToSeries:!1,CanSignUpToInstances:!0,SignUpDates:"INSTANCE",SelectedInstanceIDs:[],ApproveSignUps:!0,SkipWaitingLists:!0},extendViewModel:function(e){s.A.computed((function(){e.SelectedInstanceIDs([]),e.CanSignUpToSeries()?e.SignUpDates("SERIES"):e.SignUpDates("INSTANCE")})),e.SelectedEventID=s.A.pureComputed((function(){switch(e.SignUpDates()){case"SERIES":case"SELECTED_INSTANCES":return e.SeriesEventID();case"INSTANCE":return e.InstanceEventID();default:return null}})),e.InstanceCount=s.A.pureComputed((function(){return"SELECTED_INSTANCES"===e.SignUpDates()?e.SelectedInstanceIDs().length:null})),e.SelectedInstances=s.A.pureComputed((function(){return"SERIES"===e.SignUpDates()?e.SeriesInstances():"SELECTED_INSTANCES"===e.SignUpDates()?i.Ay.map(e.SelectedInstanceIDs(),(function(n){return i.Ay.find(e.SeriesInstances(),(function(e){return e.ID()===n}))})):"INSTANCE"===e.SignUpDates()?[{ID:e.InstanceEventID(),EventDate:e.InstanceEventDate()}]:[]})),e.selectAllInstances=function(){var n=i.Ay.map(e.SeriesInstances(),(function(e){return e.ID()}));e.SelectedInstanceIDs(n)},e.unselectAllInstances=function(){e.SelectedInstanceIDs([])}},getValidators:function(e){return{SignUpDates:e.SignUpDates.extend({required:{message:"You must select an option"}}),SelectedInstanceIDs:e.SelectedInstanceIDs.extend({required:{message:"You must select at least one instance",onlyIf:function(){return"SELECTED_INSTANCES"===e.SignUpDates()}}})}}
1,getRequestData:function(e,n){n.EventID="INSTANCE"===e.SignUpDates()?e.InstanceEventID():e.SeriesEventID(),"SELECTED_INSTANCES"===e.SignUpDates()&&(n.SelectedInstanceIDs=e.SelectedInstanceIDs()),n.ApproveSignUps=e.ApproveSignUps(),n.SkipWaitingLists=e.SkipWaitingLists()}};const g={ModelBlank:{},extendViewModel:function(e){},getValidators:function(e){return{}},getRequestData:function(e,n){}};const v={ModelBlank:{CostOptions:[],SelectedCostOptionID:null},extendViewModel:function(e){},getValidators:function(e){return{SelectedCostOptionID:e.SelectedCostOptionID.extend({required:{message:"You must select a Sign-up Option",onlyIf:function(){return e.CostOptions().length}}})}},getRequestData:function(e,n){n.SelectedCostID=e.SelectedCostOptionID()}};t(23897);function b(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return A(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(e,n):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 A(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}var y,h,I,C=[f,v,{ModelBlank:{HasCosts:!1,PayeeUserID:null,CanPayWithMoney:!1,CanPayWithTokens:!1,PayWithTokens:!1,RecordPayment:!1,PaymentMethodID:null},extendViewModel:function(e){var n=d.Ay.getOptionSetKO("ManualPaymentMethods");e.PaymentMethodOptions=s.A.pureComputed((function(){return i.Ay.filter(n(),(function(n){return n.PayeeUserID===e.PayeeUserID()}))})),e.IsConfirmed=s.A.pureComputed((function(){return!e.RequiresConfirmation()&&
1!e.HasWaitingList()||!(e.RequiresConfirmation()&&!e.ApproveSignUps())&&!(e.HasWaitingList()&&!e.SkipWaitingLists())}))},getValidators:function(e){return{PaymentMethodID:e.PaymentMethodID.extend({required:{message:"You must select a payment method",onlyIf:function(){return e.RecordPayment()&&e.IsConfirmed()}}})}},getRequestData:function(e,n){n.PayWithTokens=e.PayWithTokens(),n.PaymentMethodID=e.RecordPayment()?e.PaymentMethodID():null}},m,g],S={InstanceEventID:null,SeriesEventID:null,EventName:null,InstanceEventDate:null,SeriesEventDateRange:null,SendEmails:!0,RequiresConfirmation:!1,HasWaitingList:!1};function D(){var e=i.Ay.map(C,(function(e){return e.ModelBlank}));return i.Ay.extendOwn.apply(i.Ay,[{},S].concat(b(e)))}function w(e){var n=function(e){var n={};return i.Ay.each(C,(function(t){return t.getRequestData(e,n)})),n.SendEmails=e.SendEmails(),n}(e);I.modal("hide"),r.Ay.post("Events","BulkSignUp","SignUp",n,null,!0,"Signing up attendees ...").done((function(e){return h(e)})).fail((function(e){return l.A.addMessage("Error signing up",e,!0,"danger")}))}a()((function(){I=a()("#bulk-sign-up-modal");var e=D();y=s.A.viewmodel.fromModel(e,{extend:{"{root}":function(e){i.Ay.each(C,(function(n){return n.extendViewModel(e)}));var n=i.Ay.map(C,(function(n){return n.getValidators(e)}));e.validationObject=s.A.validatedObservable(i.Ay.extendOwn.apply(i.Ay,[{}].concat(b(n)))),e.signUp=function(){if(!e.validationObject.isValid())return l.A.addMessage("Form Not Completed","<ol><li>"+e.validationObject.errors().join("</li><li>")+"</li></ol>",!0,"warning",!1),void e.validationObject.errors.showAllMessages();w(e)}}}}),s.A.modalApplyBindings(y,I[0])}));const E={show:function(e,n){h=n,r.Ay.post("Events","BulkSignUp","GetEventForBulkSignUp",{eventID:e}).done((function(e){var n=i.Ay.extendOwn(D(),e);s.A.viewmodel.updateFromModel(y,n),I.modal()})).fail((function(e){return l.A.addMessage("Error retrieving event details",e,!0,"danger")}))}}},80817:(e,n,t)=>{"use strict";t.d(n,{A:()=>p});var o,a,i=t(79602),s=t.n(i),r=(t(45091),t(34827)),l=t(53096),u=t(34925),d=t(763),c=(t(68773),t(39939),{EventID:null,EventName:null,EventDate:null,SupportsHorseSignUp:!1,IsGuest:!1,AttendeeUser:{ID:null,Name:null},AttendeeHorse:{ID:null,Name:null},HasDiagnosis:!1,CanSignUp:!1,Reasons:[],CostGroups:[],Costs:[],IsDiagnosing:!1});s()((function(){a=s()("#sign-up-diagnosis-modal"),o=r.A.viewmodel.fromModel(c,{extend:{"{root}":function(e){e.lookupMatchingUsers=d.Ay.matchingUsers,e.lookupMatchingHorses=d.Ay.matchingHorses,e.refresh=function(){!function(e){if(e.EventID()){var n={eventID:e.EventID(),userID:e.IsGuest()?null:e.AttendeeUser.ID(),horseID:e.AttendeeHorse.ID()};e.IsDiagnosing(!0),l.Ay.post("Events","SignUp","GetDiagnosis",n).done((function(n){return r.A.viewmodel.updateFromModel(e,n)})).fail((function(e){return u.A.addMessage("Error",e,!0,"danger")})).always((function(){e.IsDiagnosing(!1)}))}}(e)}}}}),r.A.modalApplyBindings(o,a[0])}));const p={showForEvent:function(e){var n={eventID:e};l.Ay.post("Events","SignUp","GetEventForDiagnosis",n).done((function(e){r.A.viewmodel.updateFromModel(o,e),a.modal()})).fail((function(e){return u.A.addMessage("Error",e,!0,"danger")}))},show:function(e,n,t){var i={eventID:e,userID:n,horseID:t};l.Ay.post("Events","SignUp","GetDiagnosis",i).done((function(e){r.A.viewmodel.updateFromModel(o,e),a.modal()})).fail((function(e){return u.A.addMessage("Error",e,!0,"danger")}))}}},83512:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>I});var o=t(79602),a=t.n(o),i=t(45091),s=t(34827),r=t(53096),l=t(34925);t(68773);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 d(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,c(o.key),o)}}function c(e){var n=function(e,n){if("object"!=u(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=u(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==u(n)?n:n+""}var p={},m="cmsc-",f="MODULE_NOT_ACTIVE";function g(e,n){return e.Config?function(e,n){s.A.options.deferUpdates=!0;var t=e.Config();t?t=a().parseJSON(t):(t=i.Ay.extendOwn({},n.getDefaultConfig()),e.Config(JSON.stringify(t)));
1var o=n.buildViewModel(t,null,e.Width,!0,s.A.unwrap(e.SpaceID));e.configure&&e.configure((function(){t=a().parseJSON(e.Config()),n.configure(t,(function(t){n.updateViewModelForEdit(o,t,s.A.unwrap(e.SpaceID)),e.Config(JSON.stringify(t)),e.CssClass&&e.CssClass(t.CssClass)}))}));return e.IsConfigured&&s.A.computed((function(){var t=a().parseJSON(e.Config()),o=n.isValidConfiguration(t);e.IsConfigured(o)})),s.A.options.deferUpdates=!1,o}(e,n):function(e,n){var t=s.A.unwrap(e.ColumnID),o=s.A.unwrap(e.IgnoreCache);return n.buildViewModel(null,t,e.Width,o)}(e,n)}var v={},b=i.Ay.debounce((function(){var e,n;e=v,n=i.Ay.keys(e),r.Ay.post("Cms","Components","GetComponentTemplates",{componentCodes:n}).done((function(n){i.Ay.each(n,(function(n){i.Ay.each(e[n.Code],(function(e){s.A.components.defaultLoader.loadTemplate(e.name,n.Html,e.callback)}))}))})).fail((function(e){return l.A.addMessage("Error retrieving component templates for ".concat(n),e,!0,"danger")})),v={}}),100);var A={getConfig:function(e,n){if(e.startsWith(m)){var t=e.substr(5),o=p[t];o.initialise(),n({template:{code:t},viewModel:{module:o}})}else n(null)},loadTemplate:function(e,n,t){if(n.code){var o,a,i,s=p[n.code];o=n.code,a={name:e,callback:function(e){t(e),s.onTemplateLoaded()}},(i=v[o])||(i=[],v[o]=i),i.push(a),b()}else t(null)},loadViewModel:function(e,n,t){if(n.module){var o=n.module;s.A.components.defaultLoader.loadViewModel(e,(function(e){return g(e,o)}),t)}else t(null)}};s.A.components.loaders.unshift(A);var y=function(){return e=function e(n,t,o){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.componentCode=n,this.componentError=s.A.observable(null),this.modelBlank=t||{},this.defaultConfig=o||{},this.isInitialised=!1},n=[{key:"register",value:function(){h(this.componentCode,this)}},{key:"initialise",value:function(){}},{key:"onTemplateLoaded",value:function(){}},{key:"buildViewModel",value:function(e,n,t,o,a){var i=s.A.viewmodel.fromModel(this.modelBlank,this.buildViewModelDefinition(e,null,t));return i.ColumnID=n,i.ComponentError=this.componentError,n?this.updateViewModelForView(i,n,o):e&&this.updateViewModelForEdit(i,e,a),i}},{key:"buildViewModelDefinition",value:function(e,n,t){var o=this;return{extend:{"{root}":function(a){return o.extendViewModel(a,e,n,t)}}}}},{key:"extendViewModel",value:function(e,n,t,o){}},{key:"refreshViewModel",value:function(e){this.updateViewModelForView(e,e.ColumnID,!0)}},{key:"updateViewModelForView",value:function(e,n,t){var o=this;o.componentError(null);var a={columnID:n,ignoreCache:t};r.Ay.post("Cms","Components","GetComponentDataForColumn",a).done((function(n){return s.A.viewmodel.updateFromModel(e,n)})).fail((function(e,n){o.componentError(e),n!==f&&l.A.addMessage("Error retrieving component data",e,!0,"danger")}))}},{key:"updateViewModelForEdit",value:function(e,n,t){var o=this;o.componentError(null);var a={componentCode:this.componentCode,config:JSON.stringify(n),spaceID:t};r.Ay.post("Cms","Components","GetComponentData",a).done((function(n){return s.A.viewmodel.updateFromModel(e,n)})).fail((function(e,n){o.componentError(e),n!==f&&l.A.addMessage("Error retrieving component data",e,!0,"danger")}))}},{key:"getDefaultConfig",value:function(){return this.defaultConfig}},{key:"isValidConfiguration",value:function(e){return!0}},{key:"configure",value:function(e,n){}}],n&&d(e.prototype,n),t&&d(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}();function h(e,n){p[e]=n}const I={registerComponent:h,CmsComponent:y}},83906:(e,n,t)=>{"use strict";t.d(n,{A:()=>y});var o=t(79602),a=t.n(o),i=t(34827),s=t(53096),r=t(34925),l=t(26069),u=(t(91976),t(84394),t(71699),a()(".image-uploader")),d=u.find(".img-container img"),c=a()(".img-container")[0],p=null;function m(){var e=this;e.Title=i.A.observable(),e.AspectRatio=i.A.observable(1),e.MaxWidth=i.A.observable(),e.MaxHeight=i.A.observable(),e.FolderPath=i.A.observable(),e.photoUrl=i.A.observable(),e.progress=i.A.observable(0),e.FileData=i.A.observable({file:i.A.observable(),dataURL:i.A.observable()}),i.A.computed((function(){var n=e.FileData().file();if(n&&/^image\/\w+$/.test(n.type)){var t=e.FileData().dataURL();e.photoUrl(t)}else e.photoUrl("/Content/spacer.gif"),e.photoUrl(null)})),e.selectedFilename=i.A.pureComputed((function(){var n=e.FileData().file();return n?n.name:null})),e.parameters=i.A.observable(),e.Type=null,e.ContextID=null,e.upload=function(n,t){if(d[0].src&&a()(c).is(":visible")){var o=a()(d).data("cropper"),i=o.getCroppedCanvas();if(!a()(i).is("canvas")){var u=e.photoUrl();if(!u)return void l.Ay.show("Error!","Error uploading photo: Please click the 'Choose File' button to select an image from your device or the web, then use the cropper to define image area.","danger");if(u.startsWith("blob"))return void l.Ay.show("Error!","Error uploading photo: Please use the '+' button on the toolbar to define a cropped area for your image.","danger");var p=u.indexOf("?");return-1!==p&&(u=u.substring(0,p)),void n(u)}var m=e.selectedFilename();if(!m){var f=(m=e.photoUrl().split("/").pop()).indexOf("?");-1!==f&&(m=m.substring(0,f))}var g="image/png";if(m.toLowerCase().endsWith(".jpg")||m.toLowerCase().endsWith(".jpeg"))g="image/jpeg";else{var v=m.indexOf(".");m=m.substring(0,v)+".png"}var b={maxWidth:e.MaxWidth(),maxHeight:e.MaxHeight(),beforeDrawImage:function(e){var n=e.getContext("2d");n.imageSmoothingEnabled=!1,n.imageSmoothingQuality="high"}};"image/jpeg"===g&&(b.fillColor="white"),o.getCroppedCanvas(b).toBlob((function(o){!function(n,t,o,a,i){t=decodeURI(t);var l=new Blob([n],{type:o}),u={Filename:t,Type:e.Type,ContextID:e.ContextID,CropData:e.parameters(),MaxWidth:e.MaxWidth(),MaxHeight:e.MaxHeight(),FolderPath:e.FolderPath()};s.Ay.uploadFile(t,l,u,e.progress).done((function(e){return a(e)})).fail((function(e){r.A.addMessage("Error uploading photo!",e,!0,"danger"),i(e)}))}(o,m,g,n,t)}),g,.75)}else l.Ay.show("Error!","Error uploading photo: Please click the 'Choose File' button to select an image from your device or the web.","danger")}}function f(e){e&&"function"==typeof e.clear&&e.clear()}a()((function(){a()(".cropper-btn").click((function(e){e.preventDefault();var n=a()(e.delegateTarget),t=n.data("method"),o=n.data("option");d.cropper(t,o)}
1)),p=new m,u.length&&i.A.applyBindings(p,u[0])}));const g={setup:function(e,n,t,o,a,i,s){f(p.FileData()),p.AspectRatio(t),p.MaxWidth(a||1280),p.MaxHeight(i||1024),p.FolderPath(s),p.progress(0),p.parameters(null),p.Type=e,p.ContextID=n,p.photoUrl(o)},clearImage:function(){f(p.FileData())},getDataURL:function(e){if(d[0].src&&a()(c).is(":visible")){var n={maxWidth:p.MaxWidth(),maxHeight:p.MaxHeight(),beforeDrawImage:function(e){var n=e.getContext("2d");n.imageSmoothingEnabled=!1,n.imageSmoothingQuality="high"}};e(a()(d).data("cropper").getCroppedCanvas(n).toDataURL("image/png",1))}else l.Ay.show("Error!","Error uploading photo: Please click the 'Choose File' button to select an image from your device or the web.","danger")},upload:function(e,n){p.upload(e,n)}};var v=null,b=null,A=null;a()((function(){(v=a()("#photo-upload-dlg")).on("shown.bs.modal",(function(){a()(this).find("[autofocus]").focus()})),v.find(".ok-btn").click((function(){"favicon"==A?(v.modal("hide"),g.getDataURL(b)):g.upload((function(e){v.modal("hide"),b(e)}),(function(e){v.modal("hide")}))}))}));const y={show:function(e,n,t,o,a,i,s,r,l){A=n,i=i||2048,s=s||2048,b=r,v.find(".modal-title").text(e),v.on("shown.bs.modal",(function(){g.setup(n,t,o,a,i,s,l),v.off("shown.bs.modal")})),v.modal()}}},84611:(e,n,t)=>{"use strict";var o,a,i,s=t(34827),r=t(79602),l=t.n(r),u=t(45091),d=t(38783),c=t(763),p=t(46401),m=(t(68773),t(39939),t(60130),t(68486),t(89075),t(23897),t(41350),{Title:null,UseMemberList:!0,MemberListID:null,Users:[],Mode:"CARD",ShowCompanyName:!1,ShowPhoto:!0,ShowHomeTelephone:!1,ShowBusinessTelephone:!1,ShowMobileTelephone:!1,ShowAddress1:!1,ShowAddress2:!1,ShowEmail1:!0,ShowEmail2:!0,ShowRoles:!1,ShowBiography:!1,ShowMessageMe:!1,AttributeIDs:[],DisableMemberViewEntitlements:!1,DisableFieldViewEntitlements:!1,ShowOnlySharedContactDetails:!1,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null}),f={ID:null,Name:null};l()((function(){i=l()("#cms-member-list-config-modal"),o=s.A.viewmodel.fromModel(m,{extend:{"{root}":function(e){e.MemberLists=d.Ay.getOptionSetKO("MemberLists"),e.AttributeOptions=d.Ay.getOptionSetKO("UserAttributes"),e.FieldViewModeOptions=[{ID:"SHARED",Name:"Shared details only",Icon:"fas fa-eye",Class:"success"},{ID:"APPLY_ENTS",Name:"All details entitled to view",Icon:"fas fa-user-check",Class:"success"},{ID:"NO_APPLY_ENTS",Name:"All details",Icon:"fas fa-asterisk",Class:"danger"}],e.lookupMatchingUsers=c.Ay.matchingUsers,e.FieldViewMode=s.A.computed({read:function(){return e.ShowOnlySharedContactDetails()?"SHARED":e.DisableFieldViewEntitlements()?"NO_APPLY_ENTS":"APPLY_ENTS"},write:function(n){switch(n){case"SHARED":e.DisableFieldViewEntitlements(!1),e.ShowOnlySharedContactDetails(!0);break;case"APPLY_ENTS":default:e.DisableFieldViewEntitlements(!1),e.ShowOnlySharedContactDetails(!1);break;case"NO_APPLY_ENTS":e.DisableFieldViewEntitlements(!0),e.ShowOnlySharedContactDetails(!1)}}}),e.addUser=function(){e.Users.pushFromModel(f)},e.deleteUser=function(n){e.Users.remove(n)},e.reorderUsers=function(){var n=u.Ay.map(e.Users(),(function(e){return{ID:e.ID(),Name:e.Name(),User:e}}));p.A.show("Re-order Users",n,(function(n){return e.Users(u.Ay.pluck(n,"User"))}))},e.validationObject=s.A.validatedObservable({MemberListID:e.MemberListID.extend({required:{message:"You must select a member list",onlyIf:e.UseMemberList}}),Users:e.Users.extend({required:{message:"You must add at least one user",onlyIf:function(){return!e.UseMemberList()}}})}),e.save=function(){if(e.validationObject.isValid()){i.modal("hide");var n={Title:e.Title(),MemberListID:e.UseMemberList()?e.MemberListID():null,Users:e.UseMemberList()?[]:s.A.viewmodel.toModel(e.Users),Mode:e.Mode(),ShowCompanyName:e.ShowCompanyName(),ShowPhoto:e.ShowPhoto(),ShowHomeTelephone:e.ShowHomeTelephone(),ShowBusinessTelephone:e.ShowBusinessTelephone(),ShowMobileTelephone:e.ShowMobileTelephone(),ShowAddress1:e.ShowAddress1(),ShowAddress2:e.ShowAddress2(),ShowEmail1:e.ShowEmail1(),ShowEmail2:e.ShowEmail2(),ShowRoles:e.ShowRoles(),ShowBiography:e.ShowBiography(),ShowMessageMe:e.ShowMessageMe(),AttributeIDs:e.AttributeIDs(),DisableMemberViewEntitlements:e.DisableMemberViewEntitlements(),DisableFieldViewEntitlements:e.DisableFieldViewEntitlements(),ShowOnlySharedContactDetails:e.ShowOnlySharedContactDetails(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};a(n)}else e.validationObject.errors.showAllMessages()}},"{root}.Users[i]":function(e){e.validationObject=s.A.validatedObservable({ID:e.ID.extend({required:{message:"You must select a user from the drop-down"}})})}}}),s.A.modalApplyBindings(o,i[0])}));const g={show:function(e,n){a=n,e?((e=u.Ay.extendOwn({},m,e)).UseMemberList=!e.Users.length,s.A.viewmodel.updateFromModel(o,e)):s.A.viewmodel.updateFromModel(o,m),i.modal()}};
1var v=t(83512),b=t(46988);t(85375);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 y(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,h(o.key),o)}}function h(e){var n=function(e,n){if("object"!=A(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=A(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==A(n)?n:n+""}function I(e,n,t){return n=S(n),function(e,n){if(n&&("object"==A(n)||"function"==typeof n))return n;if(void 0!==n)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,C()?Reflect.construct(n,t||[],S(e).constructor):n.apply(e,t))}function C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(C=function(){return!!e})()}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function D(e,n){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},D(e,n)}var w="CARD",E={Title:null,MemberListID:null,Users:[],Mode:w,ShowCompanyName:!1,ShowPhoto:!0,ShowHomeTelephone:!1,ShowBusinessTelephone:!1,ShowMobileTelephone:!1,ShowEmail1:!0,ShowEmail2:!0,ShowAddress1:!1,ShowAddress2:!1,ShowRoles:!1,ShowBiography:!1,ShowMessageMe:!1,Attributes:[]},M={Title:null,Mode:w,ShowCompanyName:!1,ShowPhoto:!0,ShowHomeTelephone:!1,ShowBusinessTelephone:!1,ShowMobileTelephone:!1,ShowEmail1:!0,ShowEmail2:!0,ShowAddress1:!1,ShowAddress2:!1,ShowRoles:!1,ShowBiography:!1,ShowMessageMe:!1,Attributes:[],Members:[]};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),I(this,n,["member-list",M,E])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&D(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){e.MemberWidthClasses=s.A.pureComputed((function(){var e=o(),n="";return e<=4?(n="col-lg-12",2===e?n+=" cms-member-hide-photo":1===e&&(n+=" cms-member-hide-details")):n=e<=7?"col-lg-6 col-md-6 col-sm-12":e<=10?"col-lg-4 col-md-4 col-sm-6 col-xs-12":"col-lg-3 col-md-4 col-sm-6 col-xs-12",n})),e.messageMe=function(e){b.A.showMessageMeForm(e.MessageMeID(),e.FullName())}}},{key:"isValidConfiguration",value:function(e){return!(!e||!(e.MemberListID||e.Users&&e.Users.length))}},{key:"configure",value:function(e,n){g.show(e,n)}}])&&y(t.prototype,o),a&&y(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var O,T,U,k=t(53096),x=t(34925),P=(t(93752),t(24468),t(4824),{Caption:"News & Announcements",Icon:"fas fa-newspaper",AnnouncementCount:null,HideAuthor:!1,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null});l()((function(){U=l()("#cms-announcements-config-modal"),O=s.A.viewmodel.fromModel(P,{extend:{"{root}":function(e){e.validationObject=s.A.validatedObservable({Caption:e.Caption.extend({required:{message:"You must enter a caption"}})}),e.onOk=function(){if(e.validationObject.isValid()){U.modal("hide");var n={Caption:e.Caption(),Icon:e.Icon(),AnnouncementCount:e.AnnouncementCount(),HideAuthor:e.HideAuthor(),IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),TextColour:e.TextColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};T(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(O,U[0])}));const R={show:function(e,n){T=n,e?s.A.viewmodel.updateFromModel(O,e):s.A.viewmodel.updateFromModel(O,P),U.modal()}};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 L(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,F(o.key),o)}}function F(e){var n=function(e,n){if("object"!=N(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=N(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==N(n)?n:n+""}function j(e,n,t){return n=B(n),function(e,n){if(n&&("object"==N(n)||"function"==typeof n))return n;if(void 0!==n)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,V()?Reflect.construct(n,t||[],B(e).constructor):n.apply(e,t))}function V(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(V=function(){return!!e})()}function B(e){return B=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},B(e)}function H(e,n){return H=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},H(e,n)}var G,W,q,_={Icon:"fas fa-newspaper",Caption:"News & Announcements",AnnouncementCount:null,HideAuthor:!1,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null},Y={Caption:"News & Announcements",Icon:"fas fa-newspaper",Announcements:[],AnnouncementCount:null,HideAuthor:!1,IsAdmin:!1,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),j(this,n,["announcements",Y,_])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&H(e,n)}(n,e),t=n,(o=[{key:"buildViewModelDefinition",value:function(e,n,t){return{extend:{"{root}":function(e){e.IsUserLoggedIn=s.A.pureComputed((function(){return!!window.myClubhouseData.CurrentUser.ID})),e.Mode=s.A.observable("Unread"),e.ShowAll=s.A.observable(!1),e.ReadAnnouncements=s.A.pureComputed((function(){return u.Ay.filter(e.Announcements(),(function(e){return e.HasBeenRead()}))})),e.UnreadAnnouncements=s.A.pureComputed((function(){return u.Ay.filter(e.Announcements(),(function(e){return!e.HasBeenRead()}))})),e.DisplayedAnnouncements=s.A.pureComputed((function(){return"Unread"===e.Mode()?e.UnreadAnnouncements():e.ReadAnnouncements()})),e.AreNoDisplayedAnnouncements=s.A.pureComputed((function(){return 0===e.DisplayedAnnouncements().length})),e.MoreToShow=s.A.pureComputed((function(){return e.AnnouncementCount()&&e.DisplayedAnnouncements().length>e.AnnouncementCount()}
1)),e.toggleMode=function(){"Read"===e.Mode()?e.Mode("Unread"):e.Mode("Read")},e.toggleShowAll=function(){e.ShowAll(!e.ShowAll())}},"{root}.Announcements[i]":function(e){e.ReadButtonText=s.A.pureComputed((function(){return e.HasBeenRead()?"Mark as unread":"Mark as read"})),e.onReadClick=function(){!function(e,n,t){var o={ID:e,hasBeenRead:n};k.Ay.post(null,"Home","MarkAnnouncementRead",o).done((function(){t(n)})).fail((function(e){x.A.addMessage("Error!",e,!0,"danger")}))}(e.ID(),!e.HasBeenRead(),e.HasBeenRead)}}}}}},{key:"configure",value:function(e,n){R.show(e,n)}}])&&L(t.prototype,o),a&&L(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var z={Mode:"BLOG",Caption:null,Icon:null,BlogPageID:null,Tags:null,AllTagsRequired:!1,EntryCount:5,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){q=l()("#cms-blog-config-modal"),G=s.A.viewmodel.fromModel(z,{extend:{"{root}":function(e){e.Blogs=d.Ay.getOptionSetKO("CmsBlogs"),e.validationObject=s.A.validatedObservable({BlogPageID:e.BlogPageID.extend({required:{message:"You must select a blog",onlyIf:function(){return"BLOG"===e.Mode()}}}),Tags:e.Tags.extend({required:{message:"You must enter at least one tag",onlyIf:function(){return"TAGS"===e.Mode()}}}),EntryCount:e.EntryCount.extend({required:{message:"You must enter a value"},integer:{message:"The value must be an integer"},min:{params:1,message:"The value must be at least one"}})}),e.onOk=function(){if(e.validationObject.isValid()){q.modal("hide");var n={Caption:e.Caption(),Icon:e.Icon(),EntryCount:e.EntryCount(),IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),TextColour:e.TextColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};if("BLOG"===e.Mode())n.BlogPageID=e.BlogPageID();else{var t=e.Tags().split(",");t=u.Ay.map(t,(function(e){return e.trim()})),n.Tags=t,n.AllTagsRequired=e.AllTagsRequired()}W(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(G,q[0])}));const Q={show:function(e,n){W=n,e?(e.Tags&&(e.Tags=e.Tags.join(", ")),s.A.viewmodel.updateFromModel(G,e),e.BlogPageID?G.Mode("BLOG"):G.Mode("TAGS")):s.A.viewmodel.updateFromModel(G,z),q.modal()}};function $(e){return $="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},$(e)}function K(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,J(o.key),o)}}function J(e){var n=function(e,n){if("object"!=$(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=$(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==$(n)?n:n+""}function Z(e,n,t){return n=ee(n),function(e,n){if(n&&("object"==$(n)||"function"==typeof n))return n;if(void 0!==n)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,X()?Reflect.construct(n,t||[],ee(e).constructor):n.apply(e,t))}function X(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(X=function(){return!!e})()}function ee(e){return ee=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ee(e)}function ne(e,n){return ne=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},ne(e,n)}var te={Caption:null,Icon:null,BlogPageID:null,Tags:null,AllTagsRequired:!1,EntryCount:5,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null},oe={Caption:null,Icon:null,Entries:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),Z(this,n,["blog",oe,te])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&ne(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){}},{key:"configure",value:function(e,n){Q.show(e,n)}}])&&K(t.prototype,o),a&&K(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var ae,ie,se,re=t(65312),le=(t(17406),t(25937),{IsDefaultMode:!0,Height:"35vw",Elements:[],PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null});l()((function(){se=l()("#cms-carousel-config-modal"),ae=s.A.viewmodel.fromModel(le,{extend:{"{root}":function(e){e.addElement=function(){re.A.showForAdd(1,(function(n){var t={ImageURL:n.ImageURL,LinkURL:n.LinkURL,Caption:n.Caption,Description:n.Description,IsActive:n.IsActive,Starts:n.Starts,Expires:n.Expires,MemberListID:n.MemberListID,MemberListName:n.MemberListName,NotMemberListID:n.NotMemberListID,NotMemberListName:n.NotMemberListName,TextColour:n.TextColour,PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};e.Elements.pushFromModel(t)}),!0)},e.deleteElement=function(n){e.Elements.remove(n)},e.reorderElements=function(){var n=u.Ay.map(e.Elements(),(function(e){return{ID:e.Caption(),Name:e.Caption(),Item:e}}));p.A.show("Re-order Elements",n,(function(n){var t=u.Ay.map(n,(function(e){return e.Item}));e.Elements(t)}))}
1,e.validationObject=s.A.validatedObservable({Height:e.Height.extend({required:{message:"Height is required"}}),Elements:e.Elements.extend({required:{message:"You must add one or more elements",onlyIf:function(){return!e.IsDefaultMode()}}})}),e.onOk=function(){if(e.validationObject.isValid()){se.modal("hide");var n={IsDefaultMode:e.IsDefaultMode(),Height:e.Height(),Elements:u.Ay.map(e.Elements(),(function(e){return e.getData()})),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};ie(n)}else e.validationObject.errors.showAllMessages()}},"{root}.Elements[i]":function(e){e.FullImageURL=s.A.pureComputed((function(){return k.Ay.relativeURL(e.ImageURL())})),e.editElement=function(){var n=s.A.viewmodel.toModel(e);re.A.showForEdit(n,(function(n){var t={ImageURL:n.ImageURL,LinkURL:n.LinkURL,Caption:n.Caption,Description:n.Description,IsActive:n.IsActive,Starts:n.Starts,Expires:n.Expires,MemberListID:n.MemberListID,MemberListName:n.MemberListName,NotMemberListID:n.NotMemberListID,NotMemberListName:n.NotMemberListName,TextColour:n.TextColour};s.A.viewmodel.updateFromModel(e,t)}),!0)},e.getData=function(){return{ImageURL:e.ImageURL(),LinkURL:e.LinkURL(),Caption:e.Caption(),Description:e.Description(),IsActive:e.IsActive(),Starts:e.Starts(),Expires:e.Expires(),MemberListID:e.MemberListID(),MemberListName:e.MemberListName(),NotMemberListID:e.NotMemberListID(),NotMemberListName:e.NotMemberListName(),TextColour:e.TextColour()}}}}}),s.A.modalApplyBindings(ae,se[0])}));const ue={show:function(e,n){ie=n,e?s.A.viewmodel.updateFromModel(ae,e):s.A.viewmodel.updateFromModel(ae,le),se.modal()}};t(47465);function de(e){return de="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},de(e)}function ce(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,pe(o.key),o)}}function pe(e){var n=function(e,n){if("object"!=de(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=de(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==de(n)?n:n+""}function me(e,n,t){return n=ge(n),function(e,n){if(n&&("object"==de(n)||"function"==typeof n))return n;if(void 0!==n)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,fe()?Reflect.construct(n,t||[],ge(e).constructor):n.apply(e,t))}function fe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(fe=function(){return!!e})()}function ge(e){return ge=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ge(e)}function ve(e,n){return ve=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},ve(e,n)}var be,Ae,ye={IsDefaultMode:!0,Height:"35vw",Elements:[]},he={IsDefaultMode:!0,Height:"35vw",Elements:[],IsAdmin:!1};(new(function(e){function n(){var e;return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),(e=me(this,n,["carousel",he,ye])).idFountain=0,e}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&ve(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){e.IsPaused=s.A.observable(!1),e.togglePause=function(){e.IsPaused(!e.IsPaused())}}},{key:"configure",value:function(e,n){ue.show(e,n)}}])&&ce(t.prototype,o),a&&ce(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var Ie={LinkType:"MENUITEM",MenuItemID:null,CmsPageID:null,ExternalURL:null,Caption:null,Description:null,Icon:null};l()((function(){be=s.A.viewmodel.fromModel(Ie,{extend:{"{root}":function(e){e.MenuItems=d.Ay.getOptionSetKO("MenuItems"),e.CmsPages=d.Ay.getOptionSetKO("CmsPages"),e.MenuItemIDEdit=s.A.computed({read:e.MenuItemID,write:function(n){e.MenuItemID(n);var t=u.Ay.find(e.MenuItems(),(function(e){return e.ID===n}));t?(e.Caption(t.Caption),e.Description(t.Description),e.Icon(t.GlyphClass)):(e.Caption(null),e.Description(null))}}),e.CmsPageIDEdit=s.A.computed({read:e.CmsPageID,write:function(n){e.CmsPageID(n);var t=u.Ay.find(e.CmsPages(),(function(e){return e.ID===n}));null==n||""===n?(e.Caption(null),e.Description(null)):(e.Caption(t.Name),e.Description(null))}}),e.LinkURL=s.A.pureComputed((function(){if("MENUITEM"===e.LinkType()){var n=u.Ay.find(e.MenuItems(),(function(n){return n.ID==e.MenuItemID()}));return n?n.LinkURL:null}if("CMSPAGE"===e.LinkType()){var t=u.Ay.find(e.CmsPages(),(function(n){return n.ID==e.CmsPageID()}));return t?t.LinkURL:null}return"EXTERNAL"===e.LinkType()?e.ExternalURL():null})),e.validationObject=s.A.validatedObservable({MenuItemID:e.MenuItemID.extend({required:{message:"'Menu Item' must be selected.",onlyIf:function(){return"MENUITEM"===e.LinkType()}}}),CmsPageID:e.CmsPageID.extend({required:{message:"'CMS Page' must be selected.",onlyIf:function(){return"CMSPAGE"===e.LinkType()}}}
1),ExternalURL:e.ExternalURL.extend({required:{message:"You must enter a URL",onlyIf:function(){return"EXTERNAL"===e.LinkType()}},maxLength:{params:300,message:"URL cannot be longer than 300 characters"}}),Caption:e.Caption.extend({maxLength:{params:200,message:"'Caption' must be no more than {0} characters."}}),Description:e.Description.extend({maxLength:{params:8e3,message:"'Description' must be no more than {0} characters."}})}),e.save=function(){if(e.validationObject.isValid()){l()("#edit-cms-common-link-modal").modal("hide");var n={MenuItemID:"MENUITEM"===e.LinkType()?e.MenuItemID():null,CmsPageID:"CMSPAGE"===e.LinkType()?e.CmsPageID():null,ExternalURL:"EXTERNAL"===e.LinkType()?e.ExternalURL():null,Caption:e.Caption(),Description:e.Description(),Icon:e.Icon()};Ae(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(be,l()("#edit-cms-common-link-modal")[0])}));const Ce={show:function(e,n){Ae=n,e?(e.LinkType=e.MenuItemID?"MENUITEM":e.CmsPageID?"CMSPAGE":"EXTERNAL",s.A.viewmodel.updateFromModel(be,e)):s.A.viewmodel.updateFromModel(be,Ie),l()("#edit-cms-common-link-modal").modal()}};t(29452);var Se,De,we,Ee={IsDefaultMode:!0,Links:[],IconColour:null,CaptionColour:null,UnderlineColour:null,DescriptionColour:null,BackgroundColour:null,BorderColour:null,Margin:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){we=l()("#cms-common-links-config-modal"),Se=s.A.viewmodel.fromModel(Ee,{extend:{"{root}":function(e){e.addLink=function(){Ce.show(null,(function(n){return e.Links.pushFromModel(n)}))},e.deleteLink=function(n){e.Links.remove(n)},e.reorderLinks=function(){var n=u.Ay.map(e.Links(),(function(e){return{ID:e.Caption(),Name:e.Caption(),Item:e}}));p.A.show("Re-order Links",n,(function(n){var t=u.Ay.map(n,(function(e){return e.Item}));e.Links(t)}))},e.validationObject=s.A.validatedObservable({Links:e.Links.extend({required:{message:"You must add one or more links",onlyIf:function(){return!e.IsDefaultMode()}}})}),e.onOk=function(){if(e.validationObject.isValid()){we.modal("hide");var n={IsDefaultMode:e.IsDefaultMode(),Links:u.Ay.map(e.Links(),(function(e){return e.getData()})),IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),DescriptionColour:e.DescriptionColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),Margin:e.Margin(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};De(n)}else e.validationObject.errors.showAllMessages()}},"{root}.Links[i]":function(e){e.editLink=function(){var n=s.A.viewmodel.toModel(e);Ce.show(n,(function(n){return s.A.viewmodel.updateFromModel(e,n)}))},e.getData=function(){return{MenuItemID:e.MenuItemID(),CmsPageID:e.CmsPageID(),ExternalURL:e.ExternalURL(),Caption:e.Caption(),Description:e.Description(),Icon:e.Icon()}}}}}),s.A.modalApplyBindings(Se,we[0])}));const Me={show:function(e,n){De=n,e?s.A.viewmodel.updateFromModel(Se,e):s.A.viewmodel.updateFromModel(Se,Ee),we.modal()}};function Oe(e){return Oe="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},Oe(e)}function Te(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Ue(o.key),o)}}function Ue(e){var n=function(e,n){if("object"!=Oe(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=Oe(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==Oe(n)?n:n+""}function ke(e,n,t){return n=Pe(n),function(e,n){if(n&&("object"==Oe(n)||"function"==typeof n))return n;if(void 0!==n)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,xe()?Reflect.construct(n,t||[],Pe(e).constructor):n.apply(e,t))}function xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(xe=function(){return!!e})()}function Pe(e){return Pe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Pe(e)}function Re(e,n){return Re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Re(e,n)}var Ne={IsDefaultMode:!0,Links:[],IconColour:null,CaptionColour:null,UnderlineColour:null,DescriptionColour:null,BackgroundColour:null,BorderColour:null,Margin:null},Le={IsDefaultMode:!0,Links:[],IconColour:null,CaptionColour:null,UnderlineColour:null,DescriptionColour:null,BackgroundColour:null,BorderColour:null,Margin:null,IsAdmin:!1};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),ke(this,n,["common-links",Le,Ne])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Re(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){}},{key:"configure",value:function(e,n){Me.show(e,n)}}])&&Te(t.prototype,o),a&&Te(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();t(48483);var Fe,je,Ve,Be={Caption:"Upcoming Matches",Icon:"fas fa-calendar-alt",CompetitionIDs:[],MatchCount:10,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){Ve=l()("#cms-competition-fixtures-config-modal"),Fe=s.A.viewmodel.fromModel(Be,{extend:{"{root}":function(e){e.validationObject=s.A.validatedObservable({Caption:e.Caption.extend({required:{message:"You must enter a caption"}}),MatchCount:e.MatchCount.extend({required:{message:"You must enter a value"},integer:{message:"The value must be an integer"},min:{params:1,message:"The value must be at least one"}})}),e.onOk=function(){if(e.validationObject.isValid()){Ve.modal("hide");var n={Caption:e.Caption(),Icon:e.Icon(),CompetitionIDs:e.CompetitionIDs(),MatchCount:e.MatchCount(),IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),TextColour:e.TextColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};je(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(Fe,Ve[0])}));const He={show:function(e,n){if(je=n,e){var t=u.Ay.extendOwn({},Be,e);s.A.viewmodel.updateFromModel(Fe,t)}else s.A.viewmodel.updateFromModel(Fe,Be);Ve.modal()}};function Ge(e){return Ge="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},Ge(e)}function We(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,qe(o.key),o)}}function qe(e){var n=function(e,n){if("object"!=Ge(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=Ge(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==Ge(n)?n:n+""}function _e(e,n,t){return n=ze(n),function(e,n){if(n&&("object"==Ge(n)||"function"==typeof n))return n;if(void 0!==n)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,Ye()?Reflect.construct(n,t||[],ze(e).constructor):n.apply(e,t))}function Ye(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ye=function(){return!!e})()}function ze(e){return ze=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ze(e)}function Qe(e,n){return Qe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Qe(e,n)}var $e,Ke,Je,Ze={Caption:"Upcoming Matches",Icon:"fas fa-calendar-alt",CompetitionIDs:[],MatchCount:10,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null},Xe={Caption:"Upcoming Matches",Icon:"fas fa-calendar-alt",Matches:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),_e(this,n,["competition-fixtures",Xe,Ze])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Qe(e,n)}(n,e),t=n,(o=[{key:"configure",value:function(e,n){He.show(e,n)}}])&&We(t.prototype,o),a&&We(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var en={Caption:"Recent Results",Icon:"fas fa-trophy",CompetitionIDs:[],ResultCount:10,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){Je=l()("#cms-competition-results-config-modal"),$e=s.A.viewmodel.fromModel(en,{extend:{"{root}":function(e){e.validationObject=s.A.validatedObservable({Caption:e.Caption.extend({required:{message:"You must enter a caption"}}),ResultCount:e.ResultCount.extend({required:{message:"You must enter a value"},integer:{message:"The value must be an integer"},min:{params:1,message:"The value must be at least one"}})}),e.onOk=function(){if(e.validationObject.isValid()){Je.modal("hide");var n={Caption:e.Caption(),Icon:e.Icon(),CompetitionIDs:e.CompetitionIDs(),ResultCount:e.ResultCount(),IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),TextColour:e.TextColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};Ke(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings($e,Je[0])}));const nn={show:function(e,n){if(Ke=n,e){var t=u.Ay.extendOwn({},en,e);s.A.viewmodel.updateFromModel($e,t)}else s.A.viewmodel.updateFromModel($e,en);Je.modal()}};function tn(e){return tn="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},tn(e)}function on(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,an(o.key),o)}}function an(e){var n=function(e,n){if("object"!=tn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=tn(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==tn(n)?n:n+""}function sn(e,n,t){return n=ln(n),function(e,n){if(n&&("object"==tn(n)||"function"==typeof n))return n;if(void 0!==n)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,rn()?Reflect.construct(n,t||[],ln(e).constructor):n.apply(e,t))}function rn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(rn=function(){return!!e})()}function ln(e){return ln=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ln(e)}function un(e,n){return un=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},un(e,n)}var dn,cn,pn,mn={Caption:"Recent Results",Icon:"fas fa-trophy",CompetitionIDs:[],ResultCount:10,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null},fn={Caption:"Recent Results",Icon:"fas fa-trophy",Results:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),sn(this,n,["competition-results",fn,mn])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&un(e,n)}
1(n,e),t=n,(o=[{key:"configure",value:function(e,n){nn.show(e,n)}}])&&on(t.prototype,o),a&&on(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var gn={Mode:"DEFAULT",IsDefaultMode:!0,StreamName:null,Caption:"Upcoming Events",Icon:"fas fa-calendar-alt",EventTypeIDs:[],OrganisingBranchIDs:[],OrganisingSectionIDs:[],FromDate:null,UntilDate:null,EventCount:10,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,DisplayMode:"COLUMN",HideImage:!1,HideTabs:!1,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){pn=l()("#cms-event-list-config-modal"),dn=s.A.viewmodel.fromModel(gn,{extend:{"{root}":function(e){e.StreamOptions=d.Ay.getOptionSetKO("EventStreams"),e.validationObject=s.A.validatedObservable({Mode:e.Mode.extend({required:{message:"You must select a mode"}}),StreamName:e.StreamName.extend({required:{message:"You must select a stream",onlyIf:function(){return"STREAM"===e.Mode()}}}),Caption:e.Caption.extend({required:{message:"You must enter a caption"}}),FromDate:e.FromDate.extend({date:{message:"Must be a valid date"}}),UntilDate:e.UntilDate.extend({date:{message:"Must be a valid date"}}),EventCount:e.EventCount.extend({required:{message:"You must enter a value"},integer:{message:"The value must be an integer"},min:{params:1,message:"The value must be at least one"}})}),e.onOk=function(){if(e.validationObject.isValid()){pn.modal("hide");var n={IsDefaultMode:"DEFAULT"===e.Mode(),StreamName:"STREAM"===e.Mode()?e.StreamName():null,Caption:e.Caption(),Icon:e.Icon(),EventTypeIDs:e.EventTypeIDs(),OrganisingBranchIDs:e.OrganisingBranchIDs(),OrganisingSectionIDs:e.OrganisingSectionIDs(),FromDate:e.FromDate(),UntilDate:e.UntilDate(),EventCount:e.EventCount(),IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),TextColour:e.TextColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),DisplayMode:e.DisplayMode(),HideImage:e.HideImage(),HideTabs:e.HideTabs(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};cn(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(dn,pn[0])}));const vn={show:function(e,n){if(cn=n,e){e.Mode=e.StreamName?"STREAM":e.IsDefaultMode?"DEFAULT":"CUSTOM";var t=u.Ay.extendOwn({},gn,e);s.A.viewmodel.updateFromModel(dn,t)}else s.A.viewmodel.updateFromModel(dn,gn);pn.modal()}};t(98966),t(88493),t(38336);var bn=t(25792);function An(e){return An="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},An(e)}function yn(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,hn(o.key),o)}}function hn(e){var n=function(e,n){if("object"!=An(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=An(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==An(n)?n:n+""}function In(e,n,t){return n=Sn(n),function(e,n){if(n&&("object"==An(n)||"function"==typeof n))return n;if(void 0!==n)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,Cn()?Reflect.construct(n,t||[],Sn(e).constructor):n.apply(e,t))}function Cn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Cn=function(){return!!e})()}function Sn(e){return Sn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Sn(e)}function Dn(e,n){return Dn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Dn(e,n)}var wn={IsDefaultMode:!0,Caption:"Upcoming Events",Icon:"fas fa-calendar-alt",EventTypeIDs:[],OrganisingBranchIDs:[],OrganisingSectionIDs:[],FromDate:null,UntilDate:null,EventCount:10,IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,DisplayMode:"COLUMN",HideImage:!1,HideTabs:!1},En={Icon:"fas fa-calendar-alt",Caption:"Upcoming Events",Events:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,DisplayMode:"COLUMN",HideImage:!1,HideTabs:!1,CalendarURL:null};function Mn(e){return Mn="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},Mn(e)}function On(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Tn(o.key),o)}}function Tn(e){var n=function(e,n){if("object"!=Mn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=Mn(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==Mn(n)?n:n+""}function Un(e,n,t){return n=xn(n),function(e,n){if(n&&("object"==Mn(n)||"function"==typeof n))return n;if(void 0!==n)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,kn()?Reflect.construct(n,t||[],xn(e).constructor):n.apply(e,t))}function kn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(kn=function(){return!!e})()}function xn(e){return xn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},xn(e)}
1function Pn(e,n){return Pn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Pn(e,n)}(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),In(this,n,["event-list",En,wn])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Dn(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){var a=this;e.ScrollContainer=bn.observable(),e.scrollLeft=function(){e.ScrollContainer().scrollBy({left:-410,behavior:"smooth"})},e.scrollRight=function(){e.ScrollContainer().scrollBy({left:410,behavior:"smooth"})},e.refresh=function(){a.refreshViewModel(e)}}},{key:"configure",value:function(e,n){vn.show(e,n)}}])&&yn(t.prototype,o),a&&yn(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var Rn,Nn,Ln,Fn={Messages:[]};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),Un(this,n,["important-messages",Fn])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Pn(e,n)}(n,e),t=n,o&&On(t.prototype,o),a&&On(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var jn=/^<a class="twitter-timeline" href="([^"]+)">([\w\s]+)<\/a>/,Vn={TwitterURL:null,Caption:null,Height:600,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){Ln=l()("#cms-twitter-feed-config-modal"),Rn=s.A.viewmodel.fromModel(Vn,{extend:{"{root}":function(e){var n=s.A.observable();e.TwitterCode=s.A.computed({read:n,write:function(n){var t=n.match(jn);e.TwitterURL(t[1]),e.Caption(t[2])}}),e.validationObject=s.A.validatedObservable({TwitterURL:e.TwitterURL.extend({required:{message:"You must enter a URL"}}),Caption:e.Caption.extend({required:{message:"You must enter a caption"}}),Height:e.Height.extend({required:{message:"You must enter a height"},integer:{message:"The height must be an integer"},min:{params:1,message:"The height must be a positive integer"}})}),e.onOk=function(){if(e.validationObject.isValid()){l()(Ln).modal("hide");var n={TwitterURL:e.TwitterURL(),Caption:e.Caption(),Height:e.Height(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};Nn(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(Rn,Ln[0])}));const Bn={show:function(e,n){Nn=n,e?s.A.viewmodel.updateFromModel(Rn,e):s.A.viewmodel.updateFromModel(Rn,Vn),Ln.modal()}};function Hn(e){return Hn="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},Hn(e)}function Gn(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Wn(o.key),o)}}function Wn(e){var n=function(e,n){if("object"!=Hn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=Hn(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==Hn(n)?n:n+""}function qn(e,n,t){return n=Yn(n),function(e,n){if(n&&("object"==Hn(n)||"function"==typeof n))return n;if(void 0!==n)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,_n()?Reflect.construct(n,t||[],Yn(e).constructor):n.apply(e,t))}function _n(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_n=function(){return!!e})()}
1function Yn(e){return Yn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Yn(e)}function zn(e,n){return zn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},zn(e,n)}var Qn={TwitterURL:null,Caption:null,Height:600},$n=!1;(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),qn(this,n,["twitter-feed",Qn])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&zn(e,n)}(n,e),t=n,(o=[{key:"onTemplateLoaded",value:function(){u.Ay.defer((function(){window.CookieConsent&&window.CookieConsent.onConsentChange&&window.CookieConsent.onConsentChange((function(e){e.embeddedContent&&($n||($n=!0,l()("head").append('<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>')))}))}))}},{key:"isValidConfiguration",value:function(e){return!!e.TwitterURL}},{key:"configure",value:function(e,n){Bn.show(e,n)}}])&&Gn(t.prototype,o),a&&Gn(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var Kn,Jn,Zn,Xn=t(46278),et={GoogleEventCategory:"Outbound Link",GoogleEventAction:"click",LinkURL:null,ImageURL:null,ObjectFit:"contain",ImageHeight:null,AltText:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){Zn=l()("#cms-advert-config-modal"),Kn=s.A.viewmodel.fromModel(et,{extend:{"{root}":function(e){e.ObjectFitOptions=[{ID:"fill",Name:"Stretch to fit"},{ID:"contain",Name:"Scale up/down to fit"},{ID:"cover",Name:"Cover and clip"}
1,{ID:"none",Name:"No change to dimensions"},{ID:"scale-down",Name:"Scale down to fit"}],e.selectImage=function(){Xn.A.show("PageImage",{SingleSelect:!0},(function(n){var t=n[0];e.ImageURL(t.ImageURL)}))},e.clearImage=function(){e.ImageURL(null)},e.validationObject=s.A.validatedObservable({ImageURL:e.ImageURL.extend({required:{message:"You must supply an image"}}),LinkURL:e.LinkURL.extend({required:{message:"You must supply a link URL"}}),GoogleEventCategory:e.GoogleEventCategory.extend({required:{message:"You must supply an event category"}}),GoogleEventAction:e.GoogleEventAction.extend({required:{message:"You must supply an event action"}})}),e.onOk=function(){if(e.validationObject.isValid()){Zn.modal("hide");var n={LinkURL:e.LinkURL(),ImageURL:e.ImageURL(),ObjectFit:e.ObjectFit(),ImageHeight:e.ImageHeight(),GoogleEventCategory:e.GoogleEventCategory(),GoogleEventAction:e.GoogleEventAction(),AltText:e.AltText(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};Jn(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(Kn,Zn[0])}));const nt={show:function(e,n){Jn=n,e?s.A.viewmodel.updateFromModel(Kn,e):s.A.viewmodel.updateFromModel(Kn,et),Zn.modal()}};function tt(e){return tt="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},tt(e)}function ot(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,at(o.key),o)}}function at(e){var n=function(e,n){if("object"!=tt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=tt(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==tt(n)?n:n+""}function it(e,n,t){return n=rt(n),function(e,n){if(n&&("object"==tt(n)||"function"==typeof n))return n;if(void 0!==n)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,st()?Reflect.construct(n,t||[],rt(e).constructor):n.apply(e,t))}function st(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(st=function(){return!!e})()}function rt(e){return rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},rt(e)}function lt(e,n){return lt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},lt(e,n)}var ut,dt,ct,pt={GoogleEventCategory:"Outbound Link",GoogleEventAction:"click",LinkURL:null,ImageURL:null,ObjectFit:"contain",ImageHeight:null,AltText:null},mt={GoogleEventCategory:"Outbound Link",GoogleEventAction:"click",LinkURL:null,ImageURL:null,ObjectFit:"contain",ImageHeight:null,AltText:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),it(this,n,["advert",mt,pt])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&lt(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){e.onClick=function(){window.ga&&window.ga("send","event",{eventCategory:e.GoogleEventCategory(),eventAction:e.GoogleEventAction(),eventLabel:e.LinkURL(),transport:"beacon"}),window.open(e.LinkURL(),"_blank")}}},{key:"isValidConfiguration",value:function(e){return!(!e.LinkURL||!e.ImageURL)}}
1,{key:"configure",value:function(e,n){nt.show(e,n)}}])&&ot(t.prototype,o),a&&ot(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var ft={Images:[],ColumnCount:3,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null},gt={ImageURL:null,Caption:null,Width:null,Height:null,ColumnSpan:1};l()((function(){ct=l()("#cms-gallery-config-modal"),ut=s.A.viewmodel.fromModel(ft,{extend:{"{root}":function(e){function n(e){var n='<img class="small-image-thumbnail ml-10 mr-10" src="'.concat(e.ImageURL(),'"></img> ');if(e.Caption())n+=e.Caption();else{var t=e.ImageURL().lastIndexOf("/");n+=-1===t?e.ImageURL():e.ImageURL().substring(t+1)}return n}e.ColumnSpanOptions=[1,2,3],e.addImages=function(){Xn.A.show("PageImage",{SingleSelect:!1},(function(n){u.Ay.each(n,(function(n){var t,o,a,i,s=u.Ay.extendOwn({},gt,{ImageURL:n.ImageURL});t=n.ImageURL,o=s,a=function(){return e.Images.pushFromModel(s)},(i=new Image).onload=function(){o.Width=this.width,o.Height=this.height;var e=this.width/this.height;o.ColumnSpan=e<16/9?1:e<22/9?2:3,a()},i.src=t}))}))},e.deleteImage=function(n){e.Images.remove(n)},e.reorderImages=function(){var t=u.Ay.map(e.Images(),(function(e){return{ID:e.ImageURL(),Name:n(e),Item:e}}));p.A.show("Re-order Images",t,(function(n){var t=u.Ay.map(n,(function(e){return e.Item}));e.Images(t)}))},e.validationObject=s.A.validatedObservable({Images:e.Images.extend({required:{message:"You must add at least one image"}})}),e.onOk=function(){if(e.validationObject.isValid()){ct.modal("hide");var n={Images:u.Ay.map(e.Images(),(function(e){return{ImageURL:e.ImageURL(),Caption:e.Caption(),Width:e.Width(),Height:e.Height(),ColumnSpan:e.ColumnSpan()}})),ColumnCount:e.ColumnCount(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};dt(n)}else e.validationObject.errors.showAllMessages()}},"{root}.Images[i]":function(e){e.selectImage=function(){Xn.A.show("PageImage",{SingleSelect:!0},(function(n){var t=n[0];e.ImageURL(t.ImageURL)}))},e.validationObject=s.A.validatedObservable({ImageURL:e.ImageURL.extend({required:{message:"You must select an image"}})})}}}),s.A.modalApplyBindings(ut,ct[0])}));const vt={show:function(e,n){dt=n,e?(e.Images=u.Ay.map(e.Images,(function(e){return u.Ay.extendOwn({},gt,e)})),s.A.viewmodel.updateFromModel(ut,e)):s.A.viewmodel.updateFromModel(ut,ft),ct.modal()}};t(40594);var bt=t(25792);function At(e){return At="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},At(e)}function yt(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,ht(o.key),o)}}function ht(e){var n=function(e,n){if("object"!=At(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=At(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==At(n)?n:n+""}function It(e,n,t){return n=St(n),function(e,n){if(n&&("object"==At(n)||"function"==typeof n))return n;if(void 0!==n)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,Ct()?Reflect.construct(n,t||[],St(e).constructor):n.apply(e,t))}function Ct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ct=function(){return!!e})()}function St(e){return St=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},St(e)}function Dt(e,n){return Dt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Dt(e,n)}var wt={Images:[],ColumnCount:3},Et={Images:[],ColumnCount:3};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),It(this,n,["gallery",Et,wt])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Dt(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){e.LayoutFunc=bt.observable(),o.subscribe((function(){return e.LayoutFunc()()}))}},{key:"isValidConfiguration",value:function(e){return!!e.Images.length}},{key:"configure",value:function(e,n){vt.show(e,n)}}
1])&&yt(t.prototype,o),a&&yt(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();var Mt,Ot,Tt,Ut=t(84183),kt={Caption:"Membership Categories",Icon:"fas fa-id-card",Mode:"USER",SectionID:null,MembershipCategoryIDs:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){Tt=l()("#cms-membership-categories-config-modal"),Mt=s.A.viewmodel.fromModel(kt,{extend:{"{root}":function(e){e.ClubHasSections=s.A.pureComputed((function(){return Ut.A.isFeatureActive("SECTIONS")})),e.ClubHasHorses=s.A.pureComputed((function(){return Ut.A.isFeatureActive("HORSES")})),e.SectionOptions=d.Ay.getOptionSetKO("Sections"),e.validationObject=s.A.validatedObservable({MembershipCategoryIDs:e.MembershipCategoryIDs.extend({required:{message:"You must select at least one membership category",onlyIf:function(){return"CATEGORY_LIST"===e.Mode()}}})}),e.onOk=function(){if(e.validationObject.isValid()){Tt.modal("hide");var n={Caption:e.Caption(),Icon:e.Icon(),Mode:e.Mode(),SectionID:"SECTION"===e.Mode()?e.SectionID():null,MembershipCategoryIDs:"CATEGORY_LIST"===e.Mode()?e.MembershipCategoryIDs():[],IconColour:e.IconColour(),CaptionColour:e.CaptionColour(),UnderlineColour:e.UnderlineColour(),TextColour:e.TextColour(),Backgroun
1dColour:e.BackgroundColour(),BorderColour:e.BorderColour(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};Ot(n)}else e.validationObject.errors.showAllMessages()}}}}),s.A.modalApplyBindings(Mt,Tt[0])}));const xt={show:function(e,n){Ot=n,e?s.A.viewmodel.updateFromModel(Mt,e):s.A.viewmodel.updateFromModel(Mt,kt),Tt.modal()}};var Pt=t(25792);function Rt(e){return Rt="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},Rt(e)}function Nt(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Lt(o.key),o)}}function Lt(e){var n=function(e,n){if("object"!=Rt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=Rt(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==Rt(n)?n:n+""}function Ft(e,n,t){return n=Vt(n),function(e,n){if(n&&("object"==Rt(n)||"function"==typeof n))return n;if(void 0!==n)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,jt()?Reflect.construct(n,t||[],Vt(e).constructor):n.apply(e,t))}function jt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(jt=function(){return!!e})()}function Vt(e){return Vt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Vt(e)}function Bt(e,n){return Bt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},Bt(e,n)}var Ht={Caption:"Membership Categories",Icon:"fas fa-id-card",Mode:"USER",SectionID:null,MembershipCategoryIDs:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null},Gt={Icon:"fas fa-id-card",Caption:"Membership Categories",MembershipCategories:[],IconColour:null,CaptionColour:null,UnderlineColour:null,TextColour:null,BackgroundColour:null,BorderColour:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),Ft(this,n,["membership-cats",Gt,Ht])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&Bt(e,n)}(n,e),t=n,(o=[{key:"extendViewModel",value:function(e,n,t,o){e.ShowLinked=Pt.pureComputed((function(){return u.Ay.some(e.MembershipCategories(),(function(e){return e.IsLinked()}))})),e.ShowJoiningFee=Pt.pureComputed((function(){return u.Ay.some(e.MembershipCategories(),(function(e){return e.HasJoiningFee()}))})),e.ShowEarlyPaymentCost=Pt.pureComputed((function(){return u.Ay.some(e.MembershipCategories(),(function(e){return e.HasEarlyPaymentOption()}))})),e.ShowTokenReward=Pt.pureComputed((function(){return u.Ay.some(e.MembershipCategories(),(function(e){return e.TokenReward()}))}))}},{key:"configure",value:function(e,n){xt.show(e,n)}}])&&Nt(t.prototype,o),a&&Nt(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register();t(71699);var Wt,qt,_t,Yt={Rendering:"TABLE",Table:{IsBordered:!1,IsStriped:!1,IsCondensed:!1,HeaderRows:[],Rows:[]},RowRenderingTemplate:null,SheetName:null,CellRange:null,HasHeaderRow:!1,UploadProgress:0,PhoneVisible:!0,TabletVisible:!0,DesktopVisible:!0,CssClass:null,PageLinkName:null,PageLinkCaption:null};l()((function(){_t=l()("#cms-excel-config-modal"),s.A.options.deferUpdates=!0,Wt=s.A.viewmodel.fromModel(Yt,{extend:{"{root}":function(e){e.FileData=s.A.observable({file:s.A.observable()}),e.uploadValidationObject=s.A.validatedObservable({File:e.FileData().file.extend({required:{message:"You must select a file to upload"}}),SheetName:e.SheetName.extend({required:{message:"You must enter a worksheet name"}}),CellRange:e.CellRange.extend({required:{message:"You must enter a cell range"}})}),e.upload=function(){e.uploadValidationObject.isValid()?function(e,n){var t=e.FileData().file(),o={sheetName:e.SheetName(),cellRange:e.CellRange(),hasHeaderRow:e.HasHeaderRow()},a=k.Ay.actionURL("Cms","Components","ReadExcelDataFromFile");k.Ay.uploadFile(t.name,t,o,e.UploadProgress,a).done(n).fail((function(e){return x.A.addMessage("Error uploading file",e,!0,"danger")}))}(e,(function(n,t){t.IsBordered=e.Table.IsBordered(),t.IsStriped=e.Table.IsStriped(),t.IsCondensed=e.Table.IsCondensed(),s.A.viewmodel.updateFromModel(e.Table,t)})):e.uploadValidationObject.errors.showAllMessages()},e.validationObject=s.A.validatedObservable({Rows:e.Table.Rows.extend({required:{message:"You must have at least one row of data"}}),RowRenderingTemplate:e.RowRenderingTemplate.extend({required:{message:"You must supply a template",onlyIf:function(){return"CONTENT"==e.Rendering()}}})}),e.onOk=function(){e.validationObject.isValid()?(_t.modal("hide"),function(e){var n={Rendering:e.Rendering(),Table:s.A.viewmodel.toModel(e.Table),RowRenderingTemplate:e.RowRenderingTemplate(),SheetName:e.SheetName(),
1CellRange:e.CellRange(),HasHeaderRow:e.HasHeaderRow(),PhoneVisible:e.PhoneVisible(),TabletVisible:e.TabletVisible(),DesktopVisible:e.DesktopVisible(),CssClass:e.CssClass(),PageLinkName:e.PageLinkName(),PageLinkCaption:e.PageLinkCaption()};qt(n)}(e)):e.validationObject.errors.showAllMessages()}}}}),s.A.options.deferUpdates=!1,s.A.applyBindings(Wt,_t[0])}));const zt={show:function(e,n){var t;qt=n,e?(e=u.Ay.extendOwn({},Yt,e),s.A.viewmodel.updateFromModel(Wt,e)):s.A.viewmodel.updateFromModel(Wt,Yt),(t=Wt.FileData())&&"function"==typeof t.clear&&t.clear(),_t.modal()}};function Qt(e){return Qt="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},Qt(e)}function $t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Kt(o.key),o)}}function Kt(e){var n=function(e,n){if("object"!=Qt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=Qt(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==Qt(n)?n:n+""}function Jt(e,n,t){return n=Xt(n),function(e,n){if(n&&("object"==Qt(n)||"function"==typeof n))return n;if(void 0!==n)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,Zt()?Reflect.construct(n,t||[],Xt(e).constructor):n.apply(e,t))}function Zt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Zt=function(){return!!e})()}function Xt(e){return Xt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xt(e)}function eo(e,n){return eo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},eo(e,n)}var no={Rendering:"TABLE",RowRenderingTemplate:null,Table:{IsBordered:!1,IsStriped:!1,IsCondensed:!1,HeaderRows:[],Rows:[]},SheetName:null,CellRange:null,HasHeaderRow:!1},to={Rendering:"TABLE",Table:{IsBordered:!1,IsStriped:!1,IsCondensed:!1,HeaderRows:[],Rows:[]},Content:null};(new(function(e){function n(){return function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),Jt(this,n,["excel",to,no])}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&eo(e,n)}(n,e),t=n,(o=[{key:"isValidConfiguration",value:function(e){return!(!e||!e.Table.Rows.length)}},{key:"configure",value:function(e,n){zt.show(e,n)}}])&&$t(t.prototype,o),a&&$t(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,a}(v.Ay.CmsComponent))).register()},87507:(e,n,t)=>{"use strict";t.d(n,{A:()=>f});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=(t(4209),t(68773),t(39939),{PageID:null,MetaDescription:{ID:0,Name:null,Value:null},MetaKeywords:{ID:0,Name:null,Value:null},OgTitle:{ID:0,Name:null,Value:null},OgDescription:{ID:0,Name:null,Value:null},OgType:{ID:0,Name:null,Value:null},OgImage:{ID:0,Name:null,Value:null},OgUrl:{ID:0,Name:null,Value:null},CustomTags:[]}),m={ID:0,Name:null,Value:null};r()((function(){i=r()("#edit-seo-modal"),o=u.A.viewmodel.fromModel(p,{extend:{"{root}":function(e){e.validationObject=u.A.validatedObservable({CustomTags:e.CustomTags}),e.addCustomTag=function(){e.CustomTags.pushFromModel(m)},e.deleteCustomTag=function(n){e.CustomTags.remove(n)},e.save=function(){e.validationObject.isValid()?(i.modal("hide"),function(e){var n=u.A.viewmodel.toModel(e);delete n.validationObject,l.Ay.each(n.CustomTags,(function(e){delete e.validationObject})),d.Ay.post("Cms","Pages","SaveSeoTags",n,null,!0,"Saving ...").done(a).fail((function(e){return c.A.addMessage("Error",e,!0,"danger")}))}(e)):e.validationObject.errors.showAllMessages()}},"{root}.CustomTags[i]":function(e){e.validationObject=u.A.validatedObservable({Name:e.Name.extend({required:{message:"You must enter a tag name"},maxLength:{params:100,message:"The name can be no longer than 100 characters"}}
1),Value:e.Value.extend({required:{message:"You must enter a value"}})})}}}),u.A.modalApplyBindings(o,i[0])}));const f={show:function(e,n){a=n,d.Ay.post("Cms","Pages","GetSeoTagsForEdit",{pageID:e}).done((function(e){u.A.viewmodel.updateFromModel(o,e),i.modal()}))}}},88493:(e,n,t)=>{"use strict";t(45091);var o=t(34827),a=t(53096),i=t(34925),s=t(23506),r=t(98966);o.A.components.register("event-signup-dropdown",{viewModel:{createViewModel:function(e,n){n.element;var t,l,u,d={Event:e.Event,ButtonSize:null!==(t=o.A.unwrap(e.ButtonSize))&&void 0!==t?t:"md",IsCompact:null!==(l=o.A.unwrap(e.IsCompact))&&void 0!==l&&l,refresh:null!==(u=e.refresh)&&void 0!==u?u:function(){},oneClickSignUp:function(e){0!=e?a.Ay.post("Events","MultiSignUp","OneClickSignUp",{eventID:d.Event.ID(),userID:e},null,!0,"Signing up ...",!0).done((function(e){e.IsSuccess?e.SendToBasket?window.location.href=a.Ay.actionURL("Finance","Cart","Index"):(a.Ay.unblockUI(),d.refresh()):(a.Ay.unblockUI(),i.A.addMessage("Event Sign-up Failed",e.SignUpResults[0].MainResult.Reason,!0,"danger"),d.refresh())})).fail((function(e){return i.A.addMessage("Error",e,!0,"danger")})):window.location.href=a.Ay.actionURL("Events","MultiSignUp","Index")+"?id=".concat(d.Event.ID())},declineSignUp:function(){var e;r.A.show(null!==(e=d.Event.SeriesID())&&void 0!==e?e:d.Event.ID(),(function(e){d.refresh()}))},withdrawSignUp:function(e){s.Ay.withdraw([e],(function(){d.refresh()}))},acceptPlaceOffer:function(){s.Ay.acceptPlaceOffers(d.Event.SignUpSituation.SignUpID(),(function(){return d.refresh()}),!1)},rejectPlaceOffer:function(){s.Ay.rejectPlaceOffers(d.Event.SignUpSituation.SignUpID(),(function(){return d.refresh()}),!1)}};return d}},template:'\n            <span data-bind="with: Event">\n                \x3c!-- Match Fixtures / Shadow Events --\x3e\n                <span data-bind="visible: IsShadowEvent">\n                    <a type="button" class="btn btn-success" data-bind="css: \'btn-\' + $parent.ButtonSize, attr: { href: ViewURL, title: \'Set match availability\' }, visible: CanSetMatchAvailability">\n                        <i class="fa fa-calendar-check"></i> Confirm Availability\n                    </a>\n                </span>\n            \n                \x3c!-- Externally managed event --\x3e\n                <span data-bind="visible: IsExternalSignUp">\n                    <a class="btn btn-success" data-bind="attr: { href: ExternalSignUpURL }, css: \'btn-\' + $parent.ButtonSize" target="_blank">\n                        <i class="fas fa-external-link"></i> <span data-bind="text: SignUpTerm"></span>\n                    </a>\n                </span>\n\n                \x3c!-- Standard Event with sign-up --\x3e\n                <span data-bind="visible: !IsShadowEvent() && !IsExternalSignUp() && IsSignUpEnabled() && IsSignUpWindowOpen() && !SignUpSituation.IsUserPlaceOffered()">\n\n                    \x3c!-- Not Logged In --\x3e\n                    <span data-bind="visible: !UserLoggedIn()">\n                        <a class="btn btn-success" data-bind="css: \'btn-\' + $parent.ButtonSize, visible: CanRegisterAndSignUp, clubhouseHref: SignUpURL">\n                            <i class="fas fa-user-plus"></i> <span data-bind="text: SignUpTerm"></span>\n                        </a>\n\n                        <a class="btn btn-success" data-bind="css: \'btn-\' + $parent.ButtonSize, visible: !CanRegisterAndSignUp(), clubhouseHref: \'/SignIn/Index?returnUrl=\' + encodeURIComponent(RelativeSignUpURL())">\n                            <i class="fas fa-user-plus"></i> <span data-bind="text: SignUpTerm"></span>\n                        </a>\n                    </span>\n\n                    \x3c!-- Logged In --\x3e\n                    <span class="btn-set" data-bind="visible: UserLoggedIn() && (CanSignSomebodyUp() || CanDeclineSignUpForSomebody() || WithdrawalOptions().length)">\n\n                        \x3c!-- Normal Sign-up --\x3e \n                        <a class="btn btn-success" data-bind="visible: !CanOneClickSignUp() && CanSignSomebodyUp(), clubhouseHref: SignUpURL, css: \'btn-\' + $parent.ButtonSize">\n                            <i class="fas fa-user-plus"></i> <span data-bind="text: SignUpTerm"></span>\n                        </a>\n\n                        \x3c!-- One-click Sign-up --\x3e \n                        <sp
1an data-bind="visible: CanOneClickSignUp">\n                            \x3c!-- Family Options --\x3e\n                            <div class="btn-group" data-bind="visible: OneClickOptions().length">\n                                <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-bind="css: \'btn-\' + $parent.ButtonSize">\n                                    <i class="fas fa-user-plus"></i> 1-click <span class="hidden-sm-container" data-bind="text: SignUpTerm"></span> <span class="caret"></span>\n                                </button>\n                                <ul class="dropdown-menu dropdown-menu-right" data-bind="foreach: OneClickOptions">\n                                    <li>\n                                        <a href="#" data-bind="text: Name, click: function() { $component.oneClickSignUp(ID()); }"></a>\n                                    </li>\n                                </ul>\n                            </div>\n\n                            \x3c!-- Just Self --\x3e\n                            <button type="button" class="btn btn-success" data-bind="visible: !OneClickOptions().length, click: function() { $component.oneClickSignUp(null); }, css: \'btn-\' + $parent.ButtonSize">\n                                <i class="fas fa-user-plus"></i> 1-click <span class="hidden-sm-container" data-bind="text: SignUpTerm"></span>\n                            </button>\n                        </span>\n                        \n                        \x3c!-- Decline Sign-up --\x3e\n                        <button type="button" class="btn btn-danger" data-bind="visible: AllowDecline() && CanDeclineSignUpForSomebody(), click: $component.declineSignUp, css: \'btn-\' + $parent.ButtonSize" title="Not attending">\n                            <i class="fas fa-user-slash"></i> <span data-bind="visible: !$component.IsCompact">Not Attending</span>\n                        </button>\n\n                        \x3c!-- Withdrawal Options --\x3e\n                        <div class="btn-group" data-bind="visible: WithdrawalOptions().length">\n                            <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-bind="css: \'btn-\' + $parent.ButtonSize">\n                                <i class="fas fa-user-times"></i> <span class="hidden-sm-container">Withdraw</span> <span class="caret"></span>\n                            </button>\n                            <ul class="dropdown-menu dropdown-menu-right" data-bind="foreach: WithdrawalOptions">\n                                <li>\n                                    <a href="#" data-bind="text: Name, click: function() { $component.withdrawSignUp(ID()); }"></a>\n                                </li>\n                            </ul>\n                        </div>\n                    </span>\n\n                </span>\n\n                \x3c!-- Place being offered --\x3e \n                <div class="event-place-offer-buttons" data-bind="visible: SignUpSituation.IsUserPlaceOffered() && !$component.IsCompact">\n                    <button type="button" class="btn btn-success" data-bind="click: $component.acceptPlaceOffer, css: \'btn-\' + $parent.ButtonSize" title="Accept">\n                        <i class="fas fa-check"></i> Accept\n                    </button>\n                    <button type="button" class="btn btn-danger" data-bind="click: $component.rejectPlaceOffer, css: \'btn-\' + $parent.ButtonSize" title="Reject">\n                        <i class="fas fa-times"></i> Reject\n                    </button>\n                </div>\n            </span>'})},98613:(e,n,t)=>{"use strict";var o=t(79602),a=t.n(o),i=t(4801);t(54061);a()((function(){var e=a()("#sandbox-modal");e.length&&"1"!==a().cookie("sandbox_modal")&&(e.modal(),a().cookie("sandbox_modal","1"))})),a()((function(){i.A.initialise()}))},98966:(e,n,t)=>{"use strict";t.d(n,{A:()=>O});var o=t(79602),a=t.n(o),i=t(45091),s=t(34827),r=t(53096),l=t(34925),u=t(763);t(31928),t(6555),t(68773),t(39939),t(41350),t(17406);const d={ModelBlank:{CanSignUp:{LoggedInUser:{ID:null,Name:null},Anybody:{CanSignUp:!1,CantSignUpReason:null,CanSignUpToInstance:!1,CantSignUpToInstanceReason:null,CanSignUpToSeries:!1,CantSignUpToSeriesReason:null},AttendeeOptions:[]},AttendeeType:null,OtherMember:{ID:null,Name:null}},extendViewModel:function(e){e.lookupMatchingUsers=u.Ay.matchingUsers,e.Attendee=s.A.pureComputed((function(){return e.AttendeeType()?i.Ay.find(e.CanSignUp.AttendeeOptions(),(function(n){return n.ID()==e.AttendeeType()})):null})),e.AttendeeUserID=s.A.pureComputed((function(){var n=e.Attendee();return n?n.User.ID():null})),e.AttendeeIsValid=s.A.pureComputed((function(){var n=e.Attendee();return!!n&&("ME"===e.AttendeeType()?!!n.User.ID():!!("MEMBER"!==e.AttendeeType()||e.OtherMember.ID()&&e.Attendee().User.ID())&&!n.CantSignUpReason())})).extend({deferred:!0}
1),e.LoadingAttendeeInfo=s.A.observable(!1),s.A.computed((function(){var n=e.Attendee();if(n&&"MEMBER"===n.ID()&&e.OtherMember.ID()){if(e.OtherMember.ID()==n.User.ID())return;e.LoadingAttendeeInfo(!0),r.Ay.post("Events","SignUp","GetInfoForUserSignUp",{eventID:e.InstanceEventID(),userID:e.OtherMember.ID()}).done((function(e){delete e.ID,delete e.Name,s.A.viewmodel.updateFromModel(n,e)})).fail((function(e){return l.A.addMessage("Error retrieving user details",e,!0,"danger")})).always((function(){return e.LoadingAttendeeInfo(!1)}))}})).extend({deferred:!0}),e.signIn=function(){r.Ay.signIn()},e.selectAttendeeType=function(n){(n.CanSignUp()||"MEMBER"===n.ID())&&e.AttendeeType(n.ID())},e.onAttendeeSelectorKeyUp=function(n,t){if(!a()(t.target).is("input")&&!a()(t.target).is("a")){var o=e.AttendeeType(),s=i.Ay.filter(e.CanSignUp.AttendeeOptions(),(function(e){return e.CanSignUp()}));if(s.length){var r=i.Ay.findIndex(s,(function(e){return e.ID()===o}));if(32===t.which){var l=r+1;l>=s.length&&(l=0),e.AttendeeType(s[l].ID())}if(37===t.which||38===t.which){var u=Math.max(r-1,0);e.AttendeeType(s[u].ID())}if(39===t.which||40===t.which){var d=Math.min(r+1,s.length-1);e.AttendeeType(s[d].ID())}}}}},getValidators:function(e){return{Attendee:e.Attendee.extend({required:{message:"You must select an attendee"},validation:{validator:function(e){return!!e.User.ID()},message:"You must first register by clicking the 'Register' button",onlyIf:function(){return"ME"===e.AttendeeType()||"REGISTER"===e.AttendeeType()}}}),OtherMemberID:e.OtherMember.ID.extend({required:{message:"You must select an attendee",onlyIf:function(){return"MEMBER"===e.AttendeeType()}}})}},getRequestData:function(e,n){var t=e.Attendee();n.UserID=t.User.ID()}};t(23897),t(89075);const c={ModelBlank:{SignUpDates:"INSTANCE",SelectedInstanceIDs:[]},extendViewModel:function(e){s.A.computed((function(){e.SelectedInstanceIDs([]),e.Attendee()&&(e.Attendee().CanSignUpToSeries()?e.SignUpDates("SERIES"):e.Attendee().CanSignUpToSelectedInstances()?e.SignUpDates("SELECTED_INSTANCES"):e.Attendee().CanSignUpToInstance()?e.SignUpDates("INSTANCE"):e.SignUpDates(null))})),e.SelectedEventID=s.A.pureComputed((function(){switch(e.SignUpDates()){case"SERIES":case"SELECTED_INSTANCES":return e.SeriesEventID();case"INSTANCE":return e.InstanceEventID();default:return null}})),e.InstanceCount=s.A.pureComputed((function(){return"SELECTED_INSTANCES"===e.SignUpDates()?e.SelectedInstanceIDs().length:null})),e.SelectedInstances=s.A.pureComputed((function(){return e.Attendee()?"SERIES"===e.SignUpDates()?e.Attendee().SeriesInstances():"SELECTED_INSTANCES"===e.SignUpDates()?i.Ay.map(e.SelectedInstanceIDs(),(function(n){return i.Ay.find(e.Attendee().SeriesInstances(),(function(e){return e.ID()===n}))})):"INSTANCE"===e.SignUpDates()?[{ID:e.InstanceEventID(),EventDate:e.InstanceEventDate()}]:[]:[]})),e.SeriesSignUpWarnings=s.A.pureComputed((function(){if("SERIES"!==e.SignUpDates())return[];var n=e.Attendee();if(!n)return[];var t=n.SeriesInstances().length,o=[];return t<n.SeriesInstanceCount()&&o.push("Series has already started. There are only <strong>".concat(t,"</strong> instances left.")),o})),e.selectAllInstances=function(){if(e.Attendee()){var n=i.Ay.chain(e.Attendee().SeriesInstances()).filter((function(e){return e.CanSignUp()})).map((function(e){return e.ID()})).value();e.SelectedInstanceIDs(n)}},e.unselectAllInstances=function(){e.SelectedInstanceIDs([])}},getValidators:function(e){return{SignUpDates:e.SignUpDates.extend({required:{message:"You must select an option"}}),SelectedInstanceIDs:e.SelectedInstanceIDs.extend({required:{message:"You must select at least one instance",onlyIf:function(){return"SELECTED_INSTANCES"===e.SignUpDates()}}})}}
1,getRequestData:function(e,n){n.EventID="INSTANCE"===e.SignUpDates()?e.InstanceEventID():e.SeriesEventID(),"SELECTED_INSTANCES"===e.SignUpDates()&&(n.SelectedInstanceIDs=e.SelectedInstanceIDs())}};t(68486);const p={ModelBlank:{NotesTitle:"Reason",Notes:null},extendViewModel:function(e){},getValidators:function(e){return{Notes:e.Notes.extend({maxLength:2e3})}},getRequestData:function(e,n){n.Notes=e.Notes()}};var m,f,g,v=t(38186),b={EventName:null,Attendee:{Name:null,IsGuest:!1,Horse:null,Vehicle:null},IsSeries:!1,IsMultiInstanceSignUp:!1,IsDecline:!1,MainResult:{EventID:null,EventName:null,EventStartTime:null,ResultType:null,Cost:{InclTax:{Formatted:null}},TokenCost:null,PaidWithTokens:!1,CostDescription:null,IsInBasket:!1,IsPaid:!1,Reason:null,WaitingListPosition:null,Message:null,AddOnPurchases:[]},InstanceResults:[],PaymentRequiredWithinHour:!1,Purchaser:{ID:null,Name:null},PurchaserIsLoggedInUser:!1,TotalCost:null};a()((function(){m=a()("#sign-up-result-modal"),f=s.A.viewmodel.fromModel(b,{extend:{"{root}":function(e){e.signUpAnother=function(){window.location.href=e.MainResult.SignUpURL()},e.declineSignUpAnother=function(){m.modal("hide"),O.show(e.MainResult.EventID(),g,null)},e.AnyInBasket=s.A.pureComputed((function(){return e.MainResult.IsInBasket()||i.Ay.some(e.InstanceResults(),(function(e){return e.IsInBasket()}))})),e.AnyWithCosts=s.A.pureComputed((function(){return e.MainResult.CostDescription()||i.Ay.some(e.InstanceResults(),(function(e){return e.CostDescription()}))})),e.AnyWithAddOns=s.A.pureComputed((function(){return e.MainResult.AddOnPurchases().length||i.Ay.some(e.InstanceResults(),(function(e){return e.AddOnPurchases().length}))})),e.closeModal=function(){m.modal("hide"),g()}}}}),s.A.modalApplyBindings(f,m[0])}));const A={show:function(e,n){s.A.viewmodel.updateFromModel(f,e),g=n,m.modal(),e.AnyInBasket&&v.A.addToCart(e.TotalCost)}};t(31175);function y(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return h(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,n):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 h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}var I,C,S,D=[d,c,p],w={InstanceEventID:null,SeriesEventID:null,EventName:null,InstanceEventDate:null,SeriesEventDateRange:null,CanAdmin:!1};function E(){var e=i.Ay.map(D,(function(e){return e.ModelBlank}));return i.Ay.extendOwn.apply(i.Ay,[{},w].concat(y(e)))}function M(e){var n=function(e){var n={};return i.Ay.each(D,(function(t){return t.getRequestData(e,n)})),n}(e);S.modal("hide"),r.Ay.post("Events","SignUp","DeclineSignUp",n,null,!0,"Saving ...").done((function(e){A.show(e,C)})).fail((function(e){return l.A.addMessage("Error signing up",e,!0,"danger")}))}a()((function(){S=a()("#sign-up-decline-modal");var e=E();I=s.A.viewmodel.fromModel(e,{extend:{"{root}":function(e){i.Ay.each(D,(function(n){return n.extendViewModel(e)}));var n=i.Ay.map(D,(function(n){return n.getValidators(e)}));e.validationObject=s.A.validatedObservable(i.Ay.extendOwn.apply(i.Ay,[{}].concat(y(n)))),e.LoadingDetails=s.A.pureComputed((function(){return e.LoadingAttendeeInfo()})),e.EnableSignUp=s.A.pureComputed((function(){return!e.LoadingDetails()&&e.AttendeeIsValid()})),e.onOk=function(){if(!e.validationObject.isValid())return l.A.addMessage("Form Not Completed","<ol><li>"+e.validationObject.errors().join("</li><li>")+"</li></ol>",!0,"warning",!1),void e.validationObject.errors.showAllMessages();M(e)}}}}),s.A.modalApplyBindings(I,S[0])}));const O={show:function(e,n){C=n,s.A.viewmodel.updateFromModel(I,E()),r.Ay.post("Events","SignUp","GetInfoForSignUpDecline",{eventID:e}).done((function(e){var n=i.Ay.extendOwn(E(),e);s.A.viewmodel.updateFromModel(I,n),S.modal()})).fail((function(e){return l.A.addMessage("Error retrieving event details",e,!0,"danger")}))}}},99226:(e,n,t)=>{"use strict";t.d(n,{A:()=>m});var o,a,i,s=t(79602),r=t.n(s),l=t(45091),u=t(34827),d=t(53096),c=t(34925),p=(t(68773),t(39939),{NamesText:null,Names:[]});r()((function(){i=r()("#multi-user-lookup-modal"),o=u.A.viewmodel.fromModel(p,{extend:{"{root}":function(e){e.AllowEmailAddresses=u.A.observable(!1),e.lookup=function(){var n=e.NamesText()||"";if(e.Names([]),e.AllowEmailAddresses()){var t=function(e){var n=/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/,t=/^(.*?)\s*<([^>]+)>\s*$/,o=/^(.*?)\s*\[([^\]]+)\]\s*$/,a=/^(.*?)\s*\(([a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,})\)\s*$/,i=/^(.+)\s+([a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,})\s*$/,s=e.split(/[\n;]+/),r=[];
1s.forEach((function(e){(function(e){for(var n=[],t="",o=0,a=0;a<e.length;a++){var i=e[a];"<"===i?(o++,t+=i):">"===i?(o--,t+=i):","===i&&0===o?(n.push(t),t=""):t+=i}return t&&n.push(t),n})(e).forEach((function(e){r.push(e)}))}));var l=[];return r.forEach((function(e){var s=e.trim();if(s){var r,u=null,d=null;if(null!==(r=t.exec(s))){var c=r[2].trim();n.test(c)?(d=c,u=r[1].trim().replace(/^"|"$/g,"")||null):u=s}else null!==(r=o.exec(s))?(c=r[2].trim(),n.test(c)?(d=c,u=r[1].trim()||null):u=s):null!==(r=a.exec(s))?(d=r[2].trim(),u=r[1].trim()||null):n.test(s)?d=s:null!==(r=i.exec(s))?(d=r[2],u=r[1].trim()||null):u=s;(u||d)&&l.push({text:s,name:u,email:d})}})),l}(n);d.Ay.post(null,"Lookup","MatchingRecipientsByInputList",{items:t}).done((function(n){u.A.viewmodel.updateFromModel(e.Names,n)})).fail((function(e){c.A.addMessage("Error",e,!0,"danger")}))}else{var o=n.split("\n"),a=l.Ay.filter(o,(function(e){return e}));d.Ay.post(null,"Lookup","MatchingUsersByNameList",{names:a}).done((function(n){u.A.viewmodel.updateFromModel(e.Names,n)})).fail((function(e){c.A.addMessage("Error",e,!0,"danger")}))}},e.validationObject=u.A.validatedObservable({Names:e.Names.extend({required:{message:"You must click Lookup and match at least one recipient"}})}),e.onOk=function(){e.validationObject.isValid()?(i.modal("hide"),function(e){var n;n=e.AllowEmailAddresses()?l.Ay.chain(e.Names()).filter((function(e){return!e.Excluded()&&(e.MatchingUserID()||e.IsEmailRecipient())})).map((function(e){if(e.IsEmailRecipient())return{EmailAddress:e.InputEmail()};var n=l.Ay.find(e.Matches(),(function(n){return n.ID()===e.MatchingUserID()}));return u.A.viewmodel.toModel(n)})).value():l.Ay.chain(e.Names()).filter((function(e){return!e.Excluded()&&e.MatchingUserID()})).map((function(e){var n=l.Ay.find(e.Matches(),(function(n){return n.ID()===e.MatchingUserID()}));return u.A.viewmodel.toModel(n)})).value(),a(n)}(e)):e.validationObject.errors.showAllMessages()}},"{root}.Names[i]":function(e){e.Excluded=u.A.observable(!1)}}}),u.A.applyBindings(o,i[0])}));const m={show:function(e,n){a=e,o.AllowEmailAddresses(!(!n||!n.allowEmailAddresses)),u.A.viewmodel.updateFromModel(o,p),i.modal()}}}},e=>{e.O(0,[953,6008,4121],(()=>{return n=98613,e(e.s=n);var n}));e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.