1"use strict";(self.webpackChunkngPorchFest=self.webpackChunkngPorchFest||[]).push([[736],{7736:(Ut,S,c)=>{c.r(S),c.d(S,{PorchfestScheduleModule:()=>Lt});var h=c(9808),_=c(7423),M=c(5245),g=c(9776),m=c(7429),t=c(5e3),C=c(508),u=c(7579),v=c(5698),P=c(2722),p=c(1777),O=c(925),k=c(3191),N=c(9841),D=c(7272),q=c(8306),Y=c(5684),j=c(8372),T=c(4004),J=c(8675);const A=new Set;let f,Q=(()=>{class n{constructor(e){this._platform=e,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):$}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function H(n){if(!A.has(n))try{f||(f=document.createElement("style"),f.setAttribute("type","text/css"),document.head.appendChild(f)),f.sheet&&(f.sheet.insertRule(`@media ${n} {body{ }}`,0),A.add(n))}catch(o){console.error(o)}}(e),this._matchMedia(e)}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(O.t4))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function $(n){return{matches:"all"===n||""===n,media:n,addListener:()=>{},removeListener:()=>{}}}let Z=(()=>{class n{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new u.x}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return B((0,k.Eq)(e)).some(s=>this._registerQuery(s).mql.matches)}observe(e){const s=B((0,k.Eq)(e)).map(r=>this._registerQuery(r).observable);let a=(0,N.a)(s);return a=(0,D.z)(a.pipe((0,v.q)(1)),a.pipe((0,Y.T)(1),(0,j.b)(0))),a.pipe((0,T.U)(r=>{const d={matches:!1,breakpoints:{}};return r.forEach(({matches:l,query:w})=>{d.matches=d.matches||l,d.breakpoints[w]=l}),d}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),a={observable:new q.y(r=>{const d=l=>this._zone.run(()=>r.next(l));return i.addListener(d),()=>{i.removeListener(d)}}).pipe((0,J.O)(i),(0,T.U)(({matches:r})=>({query:e,matches:r})),(0,P.R)(this._destroySubject)),mql:i};return this._queries.set(e,a),a}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(Q),t.LFG(t.R0b))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function B(n){return n.map(o=>o.split(",")).reduce((o,e)=>o.concat(e)).map(o=>o.trim())}var E=c(5664);function G(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",2)(1,"button",3),t.NdJ("click",function(){return t.CHM(e),t.oxw().action()}),t._uU(2),t.qZA()()}if(2&n){const e=t.oxw();
1t.xp6(2),t.Oqu(e.data.action)}}function W(n,o){}const I=new t.OlP("MatSnackBarData");class x{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}const V=Math.pow(2,31)-1;class y{constructor(o,e){this._overlayRef=e,this._afterDismissed=new u.x,this._afterOpened=new u.x,this._onAction=new u.x,this._dismissedByAction=!1,this.containerInstance=o,o._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(o){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(o,V))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}let X=(()=>{class n{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(y),t.Y36(I))},n.\u0275cmp=t.Xpm({type:n,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-simple-snackbar"],decls:3,vars:2,consts:[[1,"mat-simple-snack-bar-content"],["class","mat-simple-snackbar-action",4,"ngIf"],[1,"mat-simple-snackbar-action"],["mat-button","",3,"click"]],template:function(e,i){1&e&&(t.TgZ(0,"span",0),t._uU(1),t.qZA(),t.YNc(2,G,3,1,"div",1)),2&e&&(t.xp6(1),t.Oqu(i.data.message),t.xp6(1),t.Q6J("ngIf",i.hasAction))},directives:[_.lW,h.O5],styles:[".mat-simple-snackbar{display:flex;justify-content:space-between;align-items:center;line-height:20px;opacity:1}.mat-simple-snackbar-action{flex-shrink:0;margin:-8px -8px -8px 8px}.mat-simple-snackbar-action button{max-height:36px;min-width:0}[dir=rtl] .mat-simple-snackbar-action{margin-left:-8px;margin-right:8px}.mat-simple-snack-bar-content{overflow:hidden;text-overflow:ellipsis}\n"],encapsulation:2,changeDetection:0}),n})();const tt={snackBarState:(0,p.X$)("state",[(0,p.SB)("void, hidden",(0,p.oB)({transform:"scale(0.8)",opacity:0}
1)),(0,p.SB)("visible",(0,p.oB)({transform:"scale(1)",opacity:1})),(0,p.eR)("* => visible",(0,p.jt)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,p.eR)("* => void, * => hidden",(0,p.jt)("75ms cubic-bezier(0.4, 0.0, 1, 1)",(0,p.oB)({opacity:0})))])};let et=(()=>{class n extends m.en{constructor(e,i,s,a,r){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=s,this._platform=a,this.snackBarConfig=r,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new u.x,this._onExit=new u.x,this._onEnter=new u.x,this._animationState="void",this.attachDomPortal=d=>(this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachDomPortal(d)),this._live="assertive"!==r.politeness||r.announcementMessage?"off"===r.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachComponentPortal(e)}attachTemplatePortal(e){return this._assertNotAttached(),this._applySnackBarClasses(),this._portalOutlet.attachTemplatePortal(e)}onAnimationEnd(e){const{fromState:i,toState:s}=e;if(("void"===s&&"void"!==i||"hidden"===s)&&this._completeExit(),"visible"===s){const a=this._onEnter;this._ngZone.run(()=>{a.next(),a.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe((0,v.q)(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_applySnackBarClasses(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(s=>e.classList.add(s)):e.classList.add(i)),"center"===this.snackBarConfig.horizontalPosition&&e.classList.add("mat-snack-bar-center"),"top"===this.snackBarConfig.verticalPosition&&e.classList.add("mat-snack-bar-top")}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let s=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(s=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),null==s||s.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.R0b),t.Y36(t.SBq),t.Y36(t.sBO),t.Y36(O.t4),t.Y36(x))},n.\u0275cmp=t.Xpm({type:n,selectors:[["snack-bar-container"]],viewQuery:function(e,i){if(1&e&&t.Gf(m.Pl,7),2&e){let s;t.iGM(s=t.CRH())&&(i._portalOutlet=s.first)}},hostAttrs:[1,"mat-snack-bar-container"],hostVars:1,hostBindings:function(e,i){1&e&&t.WFA("@state.done",function(a){return i.onAnimationEnd(a)}),2&e&&t.d8E("@state",i._animationState)},features:[t.qOj],decls:3,vars:2,consts:[["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(t.TgZ(0,"div",0),t.YNc(1,W,0,0,"ng-template",1),t.qZA(),t._UZ(2,"div")),2&e&&(t.xp6(2),t.uIk("aria-live",i._live)("role",i._role))},directives:[m.Pl],styles:[".mat-snack-bar-container{border-radius:4px;box-sizing:border-box;display:block;margin:24px;max-width:33vw;min-width:344px;padding:14px 16px;min-height:48px;transform-origin:center}.cdk-high-contrast-active .mat-snack-bar-container{border:solid 1px}.mat-snack-bar-handset{width:100%}.mat-snack-bar-handset .mat-snack-bar-container{margin:8px;max-width:100%;min-width:0;width:100%}\n"],encapsulation:2,data:{animation:[tt.snackBarState]}}),n})(),z=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({imports:[[g.U8,m.eL,h.ez,_.ot,C.BQ],C.BQ]}),n})();const L=new t.OlP("mat-snack-bar-default-options",{providedIn:"root",factory:function nt(){return new x}});let it=(()=>{class n{constructor(e,i,s,a,r,d){this._overlay=e,this._live=i,this._injector=s,this._breakpointObserver=a,this._parentSnackBar=r,this._defaultConfig=d,this._snackBarRefAtThisLevel=null}get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",s){const a=Object.assign(Object.assign({},this._defaultConfig),s);return a.data={message:e,action:i},a.announcementMessage===e&&(a.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,a)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const a=t.zs3.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:x,useValue:i}]}),r=new m.C5(this.snackBarContainerComponent,i.viewContainerRef,a),d=e.attach(r);return d.instance.snackBarConfig=i,d.instance}_attach(e,i){const s=Object.assign(Object.assign(Object.assign({},new x),this._defaultConfig),i),a=this._createOverlay(s),r=this._attachSnackBarContainer(a,s),d=new y(r,a);if(e instanceof t.Rgc){const l=new m.UE(e,null,{$implicit:s.data,snackBarRef:d});d.instance=r.attachTemplatePortal(l)}else{const l=this._createInjector(s,d),w=new m.C5(e,void 0,l),Ft=r.attachComponentPortal(w);d.instance=Ft.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe((0,P.R)(a.detachments())).subscribe(l=>{a.overlayElement.classList.toggle(this.handsetCssClass,l.matches)}),s.announcementMessage&&r._onAnnounce.subscribe(()=>{this._live.announce(s.announcementMessage,s.politeness)}),this._animateSnackBar(d,s),this._openedSnackBarRef=d,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new g.X_;i.direction=e.direction;let s=this._overlay.position().global();const a="rtl"===e.direction,r="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!a||"end"===e.horizontalPosition&&a,d=!r&&"center"!==e.horizontalPosition;return r?s.left("0"):d?s.right("0"):s.centerHorizontally(),"top"===e.verticalPosition?s.top("0"):s.bottom("0"),i.positionStrategy=s,this._overlay.create(i)}_createInjector(e,i){return t.zs3.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:y,useValue:i},{provide:I,useValue:e.data}]})}}
1return n.\u0275fac=function(e){return new(e||n)(t.LFG(g.aV),t.LFG(E.Kd),t.LFG(t.zs3),t.LFG(Z),t.LFG(n,12),t.LFG(L))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac}),n})(),st=(()=>{class n extends it{constructor(e,i,s,a,r,d){super(e,i,s,a,r,d),this.simpleSnackBarComponent=X,this.snackBarContainerComponent=et,this.handsetCssClass="mat-snack-bar-handset"}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(g.aV),t.LFG(E.Kd),t.LFG(t.zs3),t.LFG(Z),t.LFG(n,12),t.LFG(L))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:z}),n})();var ot=c(2),b=c(1564),F=c(3093),U=c(921),R=c(678),at=c(6097),rt=c(2614);function ct(n,o){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.festDate)}}function dt(n,o){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.hij(" \xa0\xb7\xa0 ",e.timeSpan,"")}}function pt(n,o){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.hij(' "',e.show.houseName,'"')}}function lt(n,o){if(1&n&&(t.TgZ(0,"tr")(1,"td",8),t._uU(2),t.qZA(),t.TgZ(3,"td",9),t._uU(4),t.qZA(),t.TgZ(5,"td",10),t._uU(6),t.qZA(),t.TgZ(7,"td",11),t._uU(8),t.YNc(9,pt,2,1,"span",4),t.qZA(),t.TgZ(10,"td",12),t._uU(11),t.qZA()()),2&n){const e=o.$implicit,i=o.index,s=t.oxw(2);t.xp6(2),t.Oqu(i+1),t.xp6(2),t.Oqu(e.artist.setTime),t.xp6(2),t.Oqu(e.artist.name),t.xp6(2),t.Oqu(e.show.address),t.xp6(1),t.Q6J("ngIf",e.show.houseName),t.xp6(2),t.Oqu(s.entryAttributes(e))}}function ht(n,o){if(1&n&&(t.TgZ(0,"div",1)(1,"div",2)(2,"h2"),t._uU(3,"My West Philly Porchfest Schedule"),t.qZA(),t.TgZ(4,"p",3),t.YNc(5,ct,2,1,"span",4),t.YNc(6,dt,2,1,"span",4),t.TgZ(7,"span"),t._uU(8," \xa0\xb7\xa0 westphillyporchfest.com"),t.qZA()()(),t.TgZ(9,"table",5),t.YNc(10,lt,12,6,"tr",6),t.qZA(),t.TgZ(11,"div",7)(12,"p"),t._uU(13,"westphillyporchfest.com"),t.qZA()()()),2&n){const e=t.oxw();
1t.xp6(5),t.Q6J("ngIf",e.festDate),t.xp6(1),t.Q6J("ngIf",e.timeSpan),t.xp6(4),t.Q6J("ngForOf",e.entries)}}let mt=(()=>{class n{constructor(e,i){this.scheduleService=e,this.shared=i,this.entries=[],this.festDate="",this.timeSpan=""}ngOnInit(){this.festDate=this.shared.displayDate,this.scheduleService.getScheduleEntries().subscribe(e=>this.entries=e),this.scheduleService.getPrintTimeSpan().subscribe(e=>this.timeSpan=e)}entryAttributes(e){return[...e.artist.genres,...e.artist.desc,e.artist.amplified?"Amplified":"Not amplified"].filter(s=>s).join(" / ")}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(U.o),t.Y36(R.F))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-pf-print-schedule"]],decls:1,vars:1,consts:[["class","print-schedule",4,"ngIf"],[1,"print-schedule"],[1,"print-header"],[1,"print-info"],[4,"ngIf"],[1,"print-table"],[4,"ngFor","ngForOf"],[1,"print-footer"],[1,"print-num"],[1,"print-time"],[1,"print-name"],[1,"print-addr"],[1,"print-attrs"]],template:function(e,i){1&e&&t.YNc(0,ht,14,3,"div",0),2&e&&t.Q6J("ngIf",i.entries.length>0)},directives:[h.O5,h.sg],styles:[".print-schedule[_ngcontent-%COMP%]{display:none}@media print{.print-schedule[_ngcontent-%COMP%]{display:block;font-size:9pt;line-height:1.3;color:#000;padding:10px;margin-top:16px;border-top:2px solid black}.print-header[_ngcontent-%COMP%]{text-align:center;border-bottom:2px solid black;padding-bottom:6px;margin-bottom:6px}.print-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:14pt}.print-info[_ngcontent-%COMP%]{margin:3px 0 0;font-size:9pt;color:#333}.print-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:8pt}.print-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid #ddd}.print-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:3px 6px;vertical-align:top}.print-num[_ngcontent-%COMP%]{font-weight:700;color:#555;width:16px;text-align:center;white-space:nowrap}.print-time[_ngcontent-%COMP%]{font-weight:700;white-space:nowrap;width:46px}
1.print-name[_ngcontent-%COMP%]{font-weight:500;width:160px}.print-addr[_ngcontent-%COMP%]{color:#555}.print-attrs[_ngcontent-%COMP%]{color:#888;font-size:7pt}.print-footer[_ngcontent-%COMP%]{text-align:center;margin-top:8px;font-size:7pt;color:#888}}"]}),n})();function ut(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",8)(1,"button",9),t.NdJ("click",function(){return t.CHM(e),t.oxw().shareSchedule()}),t.TgZ(2,"mat-icon"),t._uU(3,"share"),t.qZA(),t._uU(4," Share "),t.qZA(),t.TgZ(5,"button",9),t.NdJ("click",function(){return t.CHM(e),t.oxw().printSchedule()}),t.TgZ(6,"mat-icon"),t._uU(7,"print"),t.qZA(),t._uU(8," Print "),t.qZA()()}}function ft(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",10)(1,"div",11)(2,"p"),t._uU(3),t.qZA(),t.TgZ(4,"button",12),t.NdJ("click",function(){return t.CHM(e),t.oxw().addAllToSchedule()}),t.TgZ(5,"mat-icon"),t._uU(6,"add"),t.qZA(),t._uU(7," Add All to My Schedule "),t.qZA()()()}if(2&n){const e=t.oxw();t.xp6(3),t.AsE("This shared schedule adds ",e.sharedEntries.length," new performer",1!==e.sharedEntries.length?"s":""," (highlighted below).")}}function _t(n,o){if(1&n&&(t.TgZ(0,"span",15),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.festDate)}}function gt(n,o){if(1&n&&(t.TgZ(0,"span",15),t._uU(1),t.qZA()),2&n){const e=t.oxw(2);t.xp6(1),t.Oqu(e.timeSpan)}}function xt(n,o){if(1&n&&(t.TgZ(0,"div",13)(1,"span"),t._uU(2),t.qZA(),t.YNc(3,_t,2,1,"span",14),t.YNc(4,gt,2,1,"span",14),t.qZA()),2&n){const e=t.oxw();
1t.xp6(2),t.AsE("",e.displayEntries.length," performer",1!==e.displayEntries.length?"s":"",""),t.xp6(1),t.Q6J("ngIf",e.festDate),t.xp6(1),t.Q6J("ngIf",e.timeSpan)}}function vt(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",16)(1,"button",17),t.NdJ("click",function(){t.CHM(e);const s=t.oxw();return s.showMap=!s.showMap}),t.TgZ(2,"mat-icon"),t._uU(3,"map"),t.qZA(),t._uU(4),t.qZA(),t.TgZ(5,"div",18),t._UZ(6,"app-pf-map",19),t.qZA()()}if(2&n){const e=t.oxw();t.xp6(4),t.hij(" ",e.showMap?"Hide Map":"Show Map"," "),t.xp6(1),t.Udp("display",e.showMap?"block":"none"),t.xp6(1),t.Q6J("shows",e.scheduleShows)("pinLabels",e.schedulePinLabels)}}function yt(n,o){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.hij(': "',e.show.houseName,'"')}}function bt(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"a",40),t.NdJ("click",function(s){t.CHM(e);const a=t.oxw(2).$implicit;return t.oxw(2).toggleInfo(a.artist.id),s.stopPropagation()}),t._uU(1),t.qZA()}if(2&n){const e=t.oxw(2).$implicit,i=t.oxw(2);t.xp6(1),t.hij(" ",i.expandedEntries[e.artist.id]?"less":"more info"," ")}}function wt(n,o){if(1&n&&(t.TgZ(0,"div",38),t._uU(1),t.YNc(2,bt,2,1,"a",39),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.hij(" ",e.artist.short_description," "),t.xp6(1),t.Q6J("ngIf",e.artist.long_description||e.artist.website_url)}}function St(n,o){if(1&n){const e=t.EpF();t.TgZ(0,"div",38)(1,"a",40),t.NdJ("click",function(s){t.CHM(e);const a=t.oxw().$implicit;return t.oxw(2).toggleInfo(a.artist.id),s.stopPropagation()}),t._uU(2),t.qZA()()}if(2&n){const e=t.oxw().$implicit,i=t.oxw(2);t.xp6(2),t.hij(" ",i.expandedEntries[e.artist.id]?"less":"more info"," ")}}function Mt(n,o){if(1&n&&(t.TgZ(0,"p",44),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).$implicit;t.xp6(1),t.Oqu(e.artist.long_description)}}function Ct(n,o){if(1&n&&(t.TgZ(0,"a",45),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).$implicit;t.Q6J("href",e.artist.website_url,t.LSH),t.xp6(1),t.hij(" ",e.artist.website_url," ")}}function Pt(n,o){if(1&n&&(t.TgZ(0,"div",41),t.YNc(1,Mt,2,1,"p",42),t.YNc(2,Ct,2,2,"a",43),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Q6J("ngIf",e.artist.long_description),t.xp6(1),t.Q6J("ngIf",e.artist.website_url)}}function Ot(n,o){if(1&n&&(t.TgZ(0,"span",46),t._uU(1),t.qZA()),2&n){const e=o.$implicit;t.xp6(1),t.Oqu(e)}}function kt(n,o){if(1&n&&(t.TgZ(0,"span",47),t._uU(1),t.qZA()),2&n){const e=o.$implicit;t.xp6(1),t.Oqu(e)}}function Tt(n,o){1&n&&(t.TgZ(0,"span",48),t._uU(1,"Amplified"),t.qZA())}function At(n,o){1&n&&(t.TgZ(0,"span",49),t._uU(1,"Not amplified"),t.qZA())}function Zt(n,o){if(1&n&&(t.TgZ(0,"div",22),t._UZ(1,"div",23),t.TgZ(2,"div",24),t._uU(3),t.qZA(),t.TgZ(4,"div",25)(5,"div",26),t._uU(6),t.qZA(),t.TgZ(7,"div",27),t._uU(8),t.YNc(9,yt,2,1,"span",28),t.qZA(),t.YNc(10,wt,3,2,"div",29),t.YNc(11,St,3,1,"div",29),t.YNc(12,Pt,3,2,"div",30),t.TgZ(13,"div",31),t.YNc(14,Ot,2,1,"span",32),t.YNc(15,kt,2,1,"span",33),t.YNc(16,Tt,2,0,"span",34),t.YNc(17,At,2,0,"span",35),t.qZA()(),t.TgZ(18,"span",36),t._UZ(19,"app-pf-bookmark-button",37),t.qZA()()),2&n){const e=o.$implicit,i=o.index,s=t.oxw(2);t.ekj("entry-new",s.isNewEntry(e)),t.xp6(1),t.Q6J("innerHTML",s.entryIcons[i],t.oJD),t.xp6(2),t.Oqu(e.artist.setTime),t.xp6(3),t.Oqu(e.artist.name),t.xp6(2),t.Oqu(e.show.address),t.xp6(1),t.Q6J("ngIf",e.show.houseName),t.xp6(1),t.Q6J("ngIf",e.artist.short_description),t.xp6(1),t.Q6J("ngIf",!e.artist.short_description&&(e.artist.long_description||e.artist.website_url)),t.xp6(1),t.Q6J("ngIf",s.expandedEntries[e.artist.id]),t.xp6(2),t.Q6J("ngForOf",e.artist.genres),t.xp6(1),t.Q6J("ngForOf",e.artist.desc),t.xp6(1),t.Q6J("ngIf",e.artist.amplified),t.xp6(1),t.Q6J("ngIf",!e.artist.amplified),t.xp6(2),t.Q6J("showId",e.show.id)("artistId",e.artist.id)}}function Bt(n,o){if(1&n&&(t.TgZ(0,"div",20),t.YNc(1,Zt,20,16,"div",21),t.qZA()),2&n){const e=t.oxw();
1t.xp6(1),t.Q6J("ngForOf",e.displayEntries)}}function Et(n,o){1&n&&(t.TgZ(0,"div",50)(1,"mat-icon",51),t._uU(2,"bookmark_border"),t.qZA(),t.TgZ(3,"h3"),t._uU(4,"No shows saved yet"),t.qZA(),t.TgZ(5,"p"),t._uU(6,"Explore the shows and tap the bookmark icon next to any performer to add them to your schedule!"),t.qZA()())}const It=[{path:"",component:(()=>{class n{constructor(e,i,s,a,r){this.scheduleService=e,this.shared=i,this.route=s,this.snackBar=a,this.sanitizer=r,this.entries=[],this.sharedEntries=[],this.displayEntries=[],this.entryIcons=[],this.scheduleShows=[],this.schedulePinLabels=new Map,this.timeSpan="",this.festDate="",this.isSharedView=!1,this.imported=!1,this.showMap=!0,this.expandedEntries={},this.newSharedKeys=new Set,this.subs=[]}ngOnInit(){this.festDate=this.shared.displayDate,this.route.queryParams.pipe((0,v.q)(1)).subscribe(e=>{if(e.keys){const i=e.keys.split(","),s=new Set(this.scheduleService.getBookmarkedKeys());this.newSharedKeys=new Set(i.filter(r=>!s.has(r))),this.isSharedView=!0;const a=Array.from(new Set([...s,...i]));this.subs.push(this.scheduleService.resolveKeysToEntries(a).subscribe(r=>{this.sharedEntries=r.filter(d=>this.newSharedKeys.has(`${d.show.id}::${d.artist.id}`)),this.displayEntries=r,this.schedulePinLabels=this.buildPinLabels(r),this.entryIcons=this.buildEntryIcons(r),this.updateScheduleShows(r)}))}else this.subscribeToUserSchedule()}),this.subs.push(this.scheduleService.getTimeSpan().subscribe(e=>this.timeSpan=e))}subscribeToUserSchedule(){this.subs.push(this.scheduleService.getScheduleEntries().subscribe(e=>{this.entries=e,this.displayEntries=e,this.schedulePinLabels=this.buildPinLabels(e),this.entryIcons=this.buildEntryIcons(e),this.updateScheduleShows(e)}))}ngOnDestroy(){this.subs.forEach(e=>e.unsubscribe())}updateScheduleShows(e){const i=new Map;for(const s of e)i.has(s.show.id)||i.set(s.show.id,s.show);this.scheduleShows=Array.from(i.values())}buildPinLabels(e){const i=new Map;e.forEach((a,r)=>{const d=String(r+1);i.has(a.show.id)||i.set(a.show.id,[]),i.get(a.show.id).push(d)});const s=new Map;for(const[a,r]of i)s.set(a,r.join("\xb7"));return s}buildEntryIcons(e){return e.map((i,s)=>this.sanitizer.bypassSecurityTrustHtml((0,F.J6)(i.show.zone,i.show.startTime,String(s+1),28)))}toggleInfo(e){this.expandedEntries[e]=!this.expandedEntries[e]}isNewEntry(e){return this.newSharedKeys.has(`${e.show.id}::${e.artist.id}`)}shareSchedule(){const e=this.scheduleService.getShareUrl();!e||(this.copyToClipboard(e),"undefined"!=typeof navigator&&navigator.share&&navigator.share({title:"My Porchfest Schedule",url:e}).catch(()=>{}))}printSchedule(){window.print()}addAllToSchedule(){const e=Array.from(this.newSharedKeys);this.scheduleService.importFromKeys(e),this.imported=!0,this.isSharedView=!1,this.newSharedKeys=new Set,this.subscribeToUserSchedule(),this.snackBar.open("Added to your schedule!","Close",{duration:3e3})}copyToClipboard(e){"undefined"!=typeof navigator&&navigator.clipboard&&navigator.clipboard.writeText(e).then(()=>{this.snackBar.open("Schedule link copied!","Close",{duration:3e3})})}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(U.o),t.Y36(R.F),t.Y36(b.gz),t.Y36(st),t.Y36(at.H7))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-pf-schedule"]],decls:11,vars:7,consts:[[1,"schedule-container"],[1,"schedule-header","no-print"],["class","schedule-actions",4,"ngIf"],["class","import-banner no-print",4,"ngIf"],["class","schedule-stats no-print",4,"ngIf"],["class","map-section",4,"ngIf"],["class","schedule-entries no-print",4,"ngIf"],["class","empty-state no-print",4,"ngIf"],[1,"schedule-actions"],["mat-stroked-button","",3,"click"],[1,"import-banner","no-print"],[1,"import-card"],["mat-raised-button","","color","primary",3,"click"],[1,"schedule-stats","no-print"],["class","time-span",4,"ngIf"],[1,"time-span"],[1,"map-section"],["mat-stroked-button","",1,"map-toggle","no-print",3,"click"],[1,"schedule-map"],[3,"shows","pinLabels"],[1,"schedule-entries","no-print"],["class","entry-card",3,"entry-new",4,"ngFor","ngForOf"],[1,"entry-card"],[1,"entry-icon",3,"innerHTML"],[1,"entry-time"],[1,"entry-details"],[1,"entry-artist"],[1,"entry-address"],[4,"ngIf"],["class","entry-short-desc",4,"ngIf"],["class","entry-expanded",4,"ngIf"],[1,"entry-tags"],["class","genre-pill",4,"ngFor","ngForOf"],["class","desc-pill",4,"ngFor","ngForOf"],["class","amp-
1pill amp-yes",4,"ngIf"],["class","amp-pill amp-no",4,"ngIf"],[1,"no-print"],["removeLabel","Remove",3,"showId","artistId"],[1,"entry-short-desc"],["class","more-link",3,"click",4,"ngIf"],[1,"more-link",3,"click"],[1,"entry-expanded"],["class","entry-long-desc",4,"ngIf"],["target","_blank","rel","noopener","class","entry-website",3,"href",4,"ngIf"],[1,"entry-long-desc"],["target","_blank","rel","noopener",1,"entry-website",3,"href"],[1,"genre-pill"],[1,"desc-pill"],[1,"amp-pill","amp-yes"],[1,"amp-pill","amp-no"],[1,"empty-state","no-print"],[1,"empty-icon"]],template:function(e,i){1&e&&(t.TgZ(0,"div",0)(1,"div",1)(2,"h2"),t._uU(3),t.qZA(),t.YNc(4,ut,9,0,"div",2),t.qZA(),t.YNc(5,ft,8,2,"div",3),t.YNc(6,xt,5,4,"div",4),t.YNc(7,vt,7,5,"div",5),t.YNc(8,Bt,2,1,"div",6),t.YNc(9,Et,7,0,"div",7),t._UZ(10,"app-pf-print-schedule"),t.qZA()),2&e&&(t.xp6(3),t.hij("My ",i.shared.festYear," Porchfest Schedule"),t.xp6(1),t.Q6J("ngIf",i.entries.length>0),t.xp6(1),t.Q6J("ngIf",i.isSharedView&&!i.imported&&i.sharedEntries.length>0),t.xp6(1),t.Q6J("ngIf",i.displayEntries.length>0),t.xp6(1),t.Q6J("ngIf",i.displayEntries.length>0),t.xp6(1),t.Q6J("ngIf",i.displayEntries.length>0),t.xp6(1),t.Q6J("ngIf",0===i.displayEntries.length&&!i.isSharedView))},directives:[h.O5,_.lW,M.Hw,F.$q,h.sg,rt.y,mt],styles:[".schedule-container[_ngcontent-%COMP%]{width:90%;max-width:900px;margin:0 auto;padding:12px 0}.schedule-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.schedule-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-family:Poppins,sans-serif;font-weight:700;font-size:1.4rem;color:#000}.schedule-actions[_ngcontent-%COMP%]{display:flex;gap:8px}.schedule-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:.8rem}.import-banner[_ngcontent-%COMP%]{margin-bottom:20px}.import-card[_ngcontent-%COMP%]{background:#fce4ec;padding:16px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.entry-card.entry-new[_ngcontent-%COMP%]{background:#f5f5f5;padding-left:12px;padding-right:12px;border-radius:4px;border-bottom:1px solid #e0e0e0}.import-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9rem}.schedule-stats[_ngcontent-%COMP%]{display:flex;gap:16px;margin-bottom:16px;font-size:.85rem;color:#666;font-family:Poppins,sans-serif}.time-span[_ngcontent-%COMP%]{color:#999}.map-section[_ngcontent-%COMP%]{margin-bottom:16px}.map-toggle[_ngcontent-%COMP%]{font-size:.8rem;margin-bottom:10px;border-color:#ddd;color:#555}.map-toggle[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;margin-right:4px}.schedule-map[_ngcontent-%COMP%]{height:300px;border:1px solid #eee;border-radius:4px;overflow:hidden;isolation:isolate}.entry-card[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid #eee}.entry-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-width:28px;width:28px;height:28px;margin-top:1px;flex-shrink:0}.entry-icon[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{display:block}.entry-time[_ngcontent-%COMP%]{font-family:Poppins,sans-serif;font-weight:600;font-size:.95rem;color:#e91e63;min-width:50px;padding-top:2px}.entry-details[_ngcontent-%COMP%]{flex:1;min-width:0}.entry-artist[_ngcontent-%COMP%]{font-family:Poppins,sans-serif;font-weight:500;font-size:.9rem;color:#000}.entry-address[_ngcontent-%COMP%]{font-family:Poppins,sans-serif;font-size:.8rem;color:#888;margin-top:1px}.entry-short-desc[_ngcontent-%COMP%]{font-family:Poppins,sans-serif;font-size:.78rem;color:#666;margin-top:3px}.more-link[_ngcontent-%COMP%]{color:#1976d2;font-size:.75rem;margin-left:6px;cursor:pointer;text-decoration:none;white-space:nowrap}.more-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.entry-expanded[_ngcontent-%COMP%]{margin-top:4px;padding:6px 10px;background:#f9f9f9;border-left:3px solid #e0e0e0;border-radius:0 4px 4px 0}.entry-long-desc[_ngcontent-%COMP%]{margin:0 0 4px;font-size:.78rem;color:#444;line-height:1.45}.entry-website[_ngcontent-%COMP%]{display:block;font-size:.75rem;color:#1976d2;word-break:break-all;text-decoration:none}.entry-website[_ngcontent-%COMP%]:hover{text-decoration:underline}.entry-tags[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.genre-pill[_ngcontent-%COMP%]{background:#f3e5f5;color:#7b1fa2;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.desc-pill[_ngcontent-%COMP%]{background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.amp-pill[_ngcontent-%COMP%]{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500}.amp-yes[_ngcontent-%COMP%]{background:#e8f5e9;color:#2e7d32}.amp-no[_ngcontent-%COMP%]{background:#f5f5f5;color:#757575}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:80px 20px;color:#888}.empty-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:#ddd}.empty-state[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:12px 0 8px;font-size:1.1rem;color:#666;font-family:Poppins,sans-serif}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.9rem;max-width:350px;margin:0 auto}@media (max-width: 768px){.schedule-container[_ngcontent-%COMP%]{width:90%}.schedule-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.6rem}.schedule-stats[_ngcontent-%COMP%]{font-size:.95rem}
1.entry-time[_ngcontent-%COMP%]{font-size:1.05rem}.entry-artist[_ngcontent-%COMP%]{font-size:1rem}.entry-address[_ngcontent-%COMP%]{font-size:.9rem}.entry-short-desc[_ngcontent-%COMP%]{font-size:.88rem}.more-link[_ngcontent-%COMP%]{font-size:.82rem}.entry-long-desc[_ngcontent-%COMP%]{font-size:.9rem}.entry-website[_ngcontent-%COMP%]{font-size:.85rem}}@media print{.no-print[_ngcontent-%COMP%]{display:none!important}.schedule-container[_ngcontent-%COMP%]{width:100%;padding:0}.schedule-map[_ngcontent-%COMP%]{display:block!important;height:260px;border:1px solid #ccc;border-radius:0;margin-bottom:12px}.map-section[_ngcontent-%COMP%]{margin-bottom:0}}"]}),n})()}];let zt=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({imports:[[b.Bz.forChild(It)],b.Bz]}),n})(),Lt=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({imports:[[h.ez,_.ot,M.Ps,z,ot.E,zt]]}),n})()}}]);
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.