1import{D as Z,Xc as ne,Zc as ae,b as O,d as Q,k as q,kh as le,m as J,ve as re,w as X,x as Y}from"./chunk-X5J6QTCG.js";import{$,$a as h,Ad as ee,Eb as k,Fa as a,Fb as y,Ib as e,Jb as x,Ka as K,Kb as p,Lb as V,Ma as L,Na as W,Qb as B,Rb as R,Sb as A,U as P,Wc as N,Yc as j,_ as H,ad as G,ba as U,bb as u,d as M,db as w,eb as D,fa as _,fb as I,fi as te,ga as S,gb as z,hb as t,ib as i,jb as f,lc as m,mc as v,nc as b,pj as ie,qb as E,sb as C,tb as d,x as F}from"./chunk-SMW7PHYX.js";import"./chunk-BMIYOSOG.js";var T=(()=>{let s=class s{constructor(l){this.webAPI=l}getStats(){return this.webAPI.getData("admin/cache/stats")}getKeys(){return this.webAPI.getData("admin/cache/keys")}getHealthSummary(){return this.webAPI.getData("admin/cache/all/summary")}clear(){return this.webAPI.deleteData("admin/cache")}remove(l){return this.webAPI.deleteData(`admin/cache/${l}`)}invalidateClub(l){return this.webAPI.deleteData(`admin/cache/page-builder/club/${l}`)}triggerCleanup(){return this.webAPI.postData("admin/cache/page-builder/cleanup",{})}resetMetrics(){return this.webAPI.postData("admin/cache/page-builder/metrics/reset",{})}compactCache(l){return this.webAPI.postData(`admin/cache/compact?percentage=${l}`,{})}getMemoryStats(){return this.webAPI.getData("admin/cache/memory")}};s.\u0275fac=function(o){return new(o||s)(U(te))},s.\u0275prov=H({token:s,factory:s.\u0275fac});let r=s;return r})();function de(r,s){r&1&&(e(0,` 2 `),t(1,"div"),e(2,"Cache is empty"),i(),e(3,` 3 `))}function me(r,s){if(r&1){let n=E();e(0,` 4 `),t(1,"button",3),C("click",function(){_(n);let o=d();return S(o.clear())}),e(2,` 5 Remove All Items 6 `),i(),e(3,` 7 `)}}function xe(r,s){if(r&1){let n=E();e(0,` 8 `),t(1,"tr"),e(2,` 9 `),t(3,"td"),e(4),i(),e(5,` 10 `),t(6,"td",13),e(7),i(),e(8,` 11 `),t(9,"td"),e(10,` 12 `),t(11,"button",3),C("click",function(){let o=_(n).$implicit,c=d(2);
12return S(c.remove(o.key||o.Key))}),e(12,` 13 Remove 14 `),i(),e(13,` 15 `),i(),e(14,` 16 `),i(),e(15,` 17 `)}if(r&2){let n=s.$implicit,l=d(2);a(4),x(n.key||n.Key),a(3),x(l.formatBytes(n.sizeBytes||n.SizeBytes))}}function pe(r,s){if(r&1&&(e(0,` 18 `),t(1,"table",12),e(2,` 19 `),t(3,"thead"),e(4,` 20 `),t(5,"tr"),e(6,` 21 `),t(7,"th"),e(8,"Cache Key"),i(),e(9,` 22 `),t(10,"th",13),e(11,"Size"),i(),e(12,` 23 `),t(13,"th"),e(14,"Action"),i(),e(15,` 24 `),i(),e(16,` 25 `),i(),e(17,` 26 `),t(18,"tbody"),e(19,` 27 `),D(20,xe,16,2,null,null,w),i(),e(22,` 28 `),i(),e(23,` 29 `)),r&2){let n=d();a(20),I(n.items)}}function he(r,s){if(r&1){let n=E();e(0,` 30 `),t(1,"button",14),C("click",function(){_(n);let o=d();return S(o.clear())}),e(2,` 31 `),t(3,"span"),e(4,"\u{1F5D1}\uFE0F"),i(),e(5,` Clear All 32 `),i(),e(6,` 33 `)}}function ue(r,s){r&1&&(e(0,` 34 `),t(1,"div",15),e(2,` 35 `),f(3,"div",16),e(4,` 36 `),t(5,"div",17),e(6,"Loading cache statistics..."),i(),e(7,` 37 `),i(),e(8,` 38 `))}function Ce(r,s){if(r&1&&(e(0,` 39 `),t(1,"div",37),e(2,` 40 `),t(3,"div",38),e(4,` 41 `),t(5,"h3")(6,"span",39),e(7,"\u{1F4BE}"),i(),e(8," Server Memory"),i(),e(9,` 42 `),t(10,"span",40),e(11),m(12,"number"),i(),e(13,` 43 `),i(),e(14,` 44 `),t(15,"div",41),e(16,` 45 `),t(17,"div",42),e(18,` 46 `),t(19,"div",43),e(20,` 47 `),t(21,"span",44),e(22,"Memory Usage"),i(),e(23,` 48 `),t(24,"span",45),e(25),m(26,"number"),m(27,"number"),i(),e(28,` 49 `),i(),e(29,` 50 `),t(30,"div",46),e(31,` 51 `),t(32,"div",47),e(33,` 52 `),i(),e(34,` 53 `),i(),e(35,` 54 `),i(),e(36,` 55 `),t(37,"div",48),e(38,` 56 `),t(39,"div",49),e(40,` 57 `),t(41,"div",50),e(42),m(43,"number"),i(),e(44,` 58 `),t(45,"div",51),e(46,"Heap (MB)"),i(),e(47,` 59 `),i(),e(48,` 60 `),t(49,"div",49),e(50,` 61 `),t(51,"div",50),e(52),i(),e(53,` 62 `),t(54,"div",51),e(55,"Gen 0 GC"),i(),e(56,` 63 `),i(),e(57,` 64 `),t(58,"div",49),e(59,` 65 `),t(60,"div",50),e(61),i(),e(62,` 66 `),t(63,"div",51),e(64,"Gen 1 GC"),i(),e(65,` 67 `),i(),e(66,` 68 `),t(67,"div",49),e(68,` 69 `),t(69,"div",50),e(70),i(),e(71,` 70 `),t(72,"div",51),e(73,"Gen 2 GC"),i(),e(74,` 71 `),i(),e(75,` 72 `),i(),e(76,` 73 `),i(),e(77,` 74 `),i(),e(78,` 75 `)),r&2){let n=d(2);a(10),y("healthy",n.memoryStats.memoryUsagePercent<70)("warning",n.memoryStats.memoryUsagePercent>=70&&n.memoryStats.memoryUsagePercent<85)("critical",n.memoryStats.memoryUsagePercent>=85),a(),p(` 76 `,b(12,21,n.memoryStats.memoryUsagePercent,"1.1-1"),`% Used 77 `),a(14),V("",b(26,24,n.memoryStats.usedMemoryMB,"1.0-0")," MB / ",b(27,27,n.memoryStats.totalMemoryMB,"1.0-0")," MB"),a(7),k("width",n.memoryStats.memoryUsagePercent,"%"),y("healthy",n.memoryStats.memoryUsagePercent<70)("warning",n.memoryStats.memoryUsagePercent>=70&&n.memoryStats.memoryUsagePercent<85)("critical",n.memoryStats.memoryUsagePercent>=85),a(10),x(b(43,30,n.memoryStats.heapSizeMB,"1.0-0")),a(10),x(n.memoryStats.gen0Collections),a(9),x(n.memoryStats.gen1Collections),a(9),x(n.memoryStats.gen2Collections)}}function _e(r,s){r&1&&(e(0,` 78 `),t(1,"span",52),e(2,"\u26A0\uFE0F"),i(),e(3,` 79 `))}function Se(r,s){if(r&1){let n=E();e(0,` 80 `),t(1,"span",65),C("click",function(){let o=_(n).$implicit,c=d(4);return S(c.invalidateClubId=o)}),e(2),i(),e(3,` 81 `)}if(r&2){let n=s.$implicit;a(2),p(` 82 `,n,` 83 `)}}
83function ve(r,s){if(r&1&&(e(0,` 84 `),t(1,"span",66),e(2),i(),e(3,` 85 `)),r&2){let n=d(4);a(2),p(` 86 +`,n.getClubIds().length-8,` more 87 `)}}function ye(r,s){if(r&1&&(e(0,` 88 `),t(1,"div",62),e(2,` 89 `),t(3,"div",63),e(4,"Quick select:"),i(),e(5,` 90 `),t(6,"div",64),e(7,` 91 `),D(8,Se,4,1,null,null,w),h(10,ve,4,1),i(),e(11,` 92 `),i(),e(12,` 93 `)),r&2){let n=d(3);a(8),I(n.getClubIds().slice(0,8)),a(2),u(n.getClubIds().length>8?10:-1)}}function ge(r,s){if(r&1){let n=E();e(0,` 94 `),t(1,"div",53),e(2,` 95 `),t(3,"div",54),e(4,` 96 `),t(5,"h3"),e(6,"\u26A1 Advanced Admin Actions"),i(),e(7,` 97 `),i(),e(8,` 98 `),t(9,"div",55),e(10,` 99 `),t(11,"div",56),e(12,` 100 `),e(13,` 101 `),t(14,"div",57),e(15,` 102 `),t(16,"h4"),e(17,"\u{1F4C9} Compact Cache"),i(),e(18,` 103 `),t(19,"p"),e(20,"Force memory compaction. Evicts low-priority entries first."),i(),e(21,` 104 `),t(22,"p-inputgroup"),e(23,` 105 `),t(24,"input",58),A("ngModelChange",function(o){_(n);let c=d(2);return R(c.compactPercentage,o)||(c.compactPercentage=o),S(o)}),i(),e(25,` 106 `),t(26,"p-inputgroup-addon"),e(27,"%"),i(),e(28,` 107 `),i(),e(29,` 108 `),t(30,"button",59),C("click",function(){_(n);let o=d(2);return S(o.compactCache())}),e(31,` 109 Compact Now 110 `),i(),e(32,` 111 `),i(),e(33,` 112 `),e(34,` 113 `),t(35,"div",57),e(36,` 114 `),t(37,"h4"),e(38,"\u{1F3E2} Invalidate Club"),i(),e(39,` 115 `),t(40,"p"),e(41,"Clear all cached content for a specific club."),i(),e(42,` 116 `),t(43,"p-inputgroup"),e(44,` 117 `),t(45,"input",60),A("ngModelChange",function(o){_(n);let c=d(2);return R(c.invalidateClubId,o)||(c.invalidateClubId=o),S(o)}),i(),e(46,` 118 `),t(47,"p-inputgroup-addon"),e(48,` 119 `),t(49,"button",14),C("click",function(){_(n);let o=d(2);return S(o.invalidateClub())}),e(50,` 120 Invalidate 121 `),i(),e(51,` 122 `),i(),e(52,` 123 `),i(),e(53,` 124 `),h(54,ye,13,1),i(),e(55,` 125 `),e(56,` 126 `),t(57,"div",57),e(58,` 127 `),t(59,"h4"),e(60,"\u{1F527} Maintenance"),i(),e(61,` 128 `),t(62,"p"),e(63,"Trigger cache maintenance operations."),i(),e(64,` 129 `),t(65,"div",61),e(66,` 130 `),t(67,"button",9),C("click",function(){_(n);let o=d(2);return S(o.triggerCleanup())}),e(68,` 131 \u{1F9F9} Cleanup Expired 132 `),i(),e(69,` 133 `),t(70,"button",9),C("click",function(){_(n);let o=d(2);return S(o.resetMetrics())}),e(71,` 134 \u{1F4CA} Reset Metrics 135 `),i(),e(72,` 136 `),i(),e(73,` 137 `),i(),e(74,` 138 `),i(),e(75,` 139 `),i(),e(76,` 140 `),i(),e(77,` 141 `)}if(r&2){let n=d(2);a(24),B("ngModel",n.compactPercentage),a(21),B("ngModel",n.invalidateClubId),a(9),u(n.getClubIds().length>0?54:-1)}}function Ee(r,s){if(r&1){let n=E();e(0,` 142 `),t(1,"div",70),C("click",function(){let o=_(n).$implicit,c=d(3);return c.invalidateClubId=o,S(c.showAdvanced=!0)}),e(2,` 143 `),t(3,"div",71),e(4),i(),e(5,` 144 `),t(6,"div",72),e(7),m(8,"number"),i(),e(9,` 145 `),i(),e(10,` 146 `)}if(r&2){let n=s.$implicit,l=d(3);a(4),p("Club ",n),a(3),x(v(8,2,l.stats.pageBuilderCache.keyCountByClub[n]))}}function fe(r,s){if(r&1&&(e(0,` 147 `),t(1,"div",67),e(2,` 148 `),t(3,"div",68),e(4,` 149 `),t(5,"h3"),e(6,"\u{1F3E2} Keys by Club"),i(),e(7,` 150 `),i(),e(8,` 151 `),t(9,"div",69),e(10,` 152 `),D(11,Ee,11,4,null,null,w),i(),e(13,` 153 `),i(),e(14,` 154 `)),r&2){let n=d(2);a(11),I(n.getClubIds())}}function be(r,s){if(r&1){let n=E();e(0,` 155 `),t(1,"button",79),C("click",function(){_(n);let o=d(3);return o.keyFilter="",S(o.applyKeyFilter())}),e(2,` 156 \u2715 157 `),i(),e(3,` 158 `)}}function we(r,s){if(r&1&&(e(0,` 159 `),t(1,"div",80),e(2),i(),e(3,` 160 `)),r&2){let n=d(3);a(2),p(`
161 `,n.keys.length===0?"No cache keys found":"No keys match your filter",` 162 `)}}function De(r,s){if(r&1){let n=E();e(0,` 163 `),t(1,"tr"),e(2,` 164 `),t(3,"td"),e(4),i(),e(5,` 165 `),t(6,"td"),e(7,` 166 `),t(8,"button",14),C("click",function(){let o=_(n).$implicit,c=d(4);return S(c.remove(o))}),e(9,` 167 Remove 168 `),i(),e(10,` 169 `),i(),e(11,` 170 `),i(),e(12,` 171 `)}if(r&2){let n=s.$implicit;a(4),x(n)}}function Ie(r,s){if(r&1&&(e(0,` 172 `),t(1,"table",81),e(2,` 173 `),t(3,"thead"),e(4,` 174 `),t(5,"tr"),e(6,` 175 `),t(7,"th"),e(8,"Key"),i(),e(9,` 176 `),t(10,"th"),e(11,"Actions"),i(),e(12,` 177 `),i(),e(13,` 178 `),i(),e(14,` 179 `),t(15,"tbody"),e(16,` 180 `),D(17,De,13,1,null,null,w),i(),e(19,` 181 `),i(),e(20,` 182 `)),r&2){let n=d(3);a(17),I(n.filteredKeys)}}function ke(r,s){if(r&1){let n=E();e(0,` 183 `),t(1,"div",73),e(2,` 184 `),t(3,"div",68),e(4,` 185 `),t(5,"h3"),e(6,"\u{1F511} Cache Keys "),t(7,"span",74),e(8),i()(),e(9,` 186 `),t(10,"div",75),e(11,` 187 `),t(12,"span",76),e(13,"\u{1F50D}"),i(),e(14,` 188 `),t(15,"input",77),A("ngModelChange",function(o){_(n);let c=d(2);return R(c.keyFilter,o)||(c.keyFilter=o),S(o)}),C("ngModelChange",function(){_(n);let o=d(2);return S(o.applyKeyFilter())}),i(),e(16,` 189 `),h(17,be,4,0),i(),e(18,` 190 `),i(),e(19,` 191 `),t(20,"div",78),e(21,` 192 `),h(22,we,4,1),h(23,Ie,21,0),i(),e(24,` 193 `),i(),e(25,` 194 `)}if(r&2){let n=d(2);a(8),V("(",n.filteredKeys.length," of ",n.keys.length,")"),a(7),B("ngModel",n.keyFilter),a(2),u(n.keyFilter?17:-1),a(5),u(n.filteredKeys.length===0?22:-1),a(),u(n.filteredKeys.length>0?23:-1)}}function Be(r,s){if(r&1&&(e(0,` 195 `),t(1,"span",82),e(2,` 196 `),f(3,"span",83),e(4),i(),e(5,` 197 `)),r&2){let n=d(2);a(4),p(` 198 Auto-refreshing every `,n.autoRefreshInterval,`s 199 `)}}function Re(r,s){if(r&1&&(e(0,` 200 `),t(1,"div"),e(2,` 201 `),e(3,` 202 `),h(4,Ce,79,33),t(5,"div",18),e(6,` 203 `),t(7,"div",19),e(8,` 204 `),t(9,"div",20),e(10,"\u{1F4CA}"),i(),e(11,` 205 `),t(12,"div",21),e(13),m(14,"number"),i(),e(15,` 206 `),t(16,"div",22),e(17,"Total Keys"),i(),e(18,` 207 `),i(),e(19,` 208 `),t(20,"div",19),e(21,` 209 `),t(22,"div",23),e(23,"\u{1F527}"),i(),e(24,` 210 `),t(25,"div",21),e(26),m(27,"number"),i(),e(28,` 211 `),t(29,"div",22),e(30,"App Cache"),i(),e(31,` 212 `),i(),e(32,` 213 `),t(33,"div",19),e(34,`
214 `),t(35,"div",24),e(36,"\u{1F4C4}"),i(),e(37,` 215 `),t(38,"div",21),e(39),m(40,"number"),i(),e(41,` 216 `),t(42,"div",22),e(43,"Page Builder"),i(),e(44,` 217 `),i(),e(45,` 218 `),t(46,"div",19),e(47,` 219 `),t(48,"div",25),e(49,"\u{1F3E2}"),i(),e(50,` 220 `),t(51,"div",21),e(52),i(),e(53,` 221 `),t(54,"div",22),e(55,"Active Clubs"),i(),e(56,` 222 `),i(),e(57,` 223 `),i(),e(58,` 224 `),e(59,` 225 `),t(60,"div",26),e(61,` 226 `),e(62,` 227 `),t(63,"div",27),e(64,` 228 `),t(65,"div",28),e(66,` 229 `),t(67,"h3"),e(68,"\u{1F527} Application Cache"),i(),e(69,` 230 `),t(70,"span",29),e(71),i(),e(72,` 231 `),i(),e(73,` 232 `),t(74,"div",30),e(75,` 233 `),t(76,"div",31),e(77,` 234 `),t(78,"div",32),e(79,` 235 `),t(80,"div",33),e(81,` 236 `),i(),e(82,` 237 `),i(),e(83,` 238 `),i(),e(84,` 239 `),t(85,"table",34),e(86,` 240 `),t(87,"tr"),e(88,` 241 `),t(89,"td"),e(90,"Cache Hits"),i(),e(91,` 242 `),t(92,"td",35),e(93),m(94,"number"),i(),e(95,` 243 `),i(),e(96,` 244 `),t(97,"tr"),e(98,` 245 `),t(99,"td"),e(100,"Cache Misses"),i(),e(101,` 246 `),t(102,"td"),e(103),m(104,"number"),i(),e(105,` 247 `),i(),e(106,` 248 `),t(107,"tr"),e(108,` 249 `),t(109,"td"),e(110,"Item Count"),i(),e(111,` 250 `),t(112,"td"),e(113),m(114,"number"),i(),e(115,` 251 `),i(),e(116,` 252 `),t(117,"tr"),e(118,` 253 `),t(119,"td"),e(120,"Stampede Blocks"),i(),e(121,` 254 `),t(122,"td"),e(123),m(124,"number"),i(),e(125,` 255 `),i(),e(126,` 256 `),t(127,"tr"),e(128,` 257 `),t(129,"td"),e(130,"Lock Timeouts"),i(),e(131,` 258 `),t(132,"td"),e(133),m(134,"number"),h(135,_e,4,0),i(),e(136,` 259 `),i(),e(137,` 260 `),i(),e(138,` 261 `),i(),e(139,` 262 `),i(),e(140,` 263 `),e(141,` 264 `),t(142,"div",27),e(143,` 265 `),t(144,"div",28),e(145,` 266 `),t(146,"h3"),e(147,"\u{1F4C4} Page Builder Cache"),i(),e(148,` 267 `),t(149,"span",29),e(150),i(),e(151,` 268 `),i(),e(152,` 269 `),t(153,"div",30),e(154,` 270 `),t(155,"div",31),e(156,` 271 `),t(157,"div",32),e(158,` 272 `),t(159,"div",33),e(160,` 273 `),i(),e(161,` 274 `),i(),e(162,` 275 `),i(),e(163,` 276 `),t(164,"table",34),e(165,` 277 `),t(166,"tr"),e(167,` 278 `),t(168,"td"),e(169,"Cache Hits"),i(),e(170,` 279 `),t(171,"td",35),e(172),m(173,"number"),i(),e(174,` 280 `),i(),e(175,` 281 `),t(176,"tr"),e(177,` 282 `),t(178,"td"),e(179,"Cache Misses"),i(),e(180,` 283 `),t(181,"td"),e(182),m(183,"number"),i(),e(184,` 284 `),i(),e(185,` 285 `),t(186,"tr"),e(187,` 286 `),t(188,"td"),e(189,"Total Keys"),i(),e(190,` 287 `),t(191,"td"),e(192),m(193,"number"),i(),e(194,` 288 `),i(),e(195,` 289 `),t(196,"tr"),e(197,` 290 `),t(198,"td"),e(199,"Invalidations"),i(),e(200,` 291 `),t(201,"td"),e(202),m(203,"number"),i(),e(204,` 292 `),i(),e(205,` 293 `),t(206,"tr"),e(207,` 294 `),t(208,"td"),e(209,"Stampede Blocks"),i(),e(210,` 295 `),t(211,"td"),e(212),m(213,"number"),i(),e(214,` 296 `),i(),e(215,` 297 `),t(216,"tr"),e(217,` 298 `),t(218,"td"),e(219,"Evictions"),i(),e(220,` 299 `),t(221,"td"),e(222),m(223,"number"),i(),e(224,` 300 `),i(),e(225,` 301 `),i(),e(226,` 302 `),i(),e(227,` 303 `),i(),e(228,` 304 `),i(),e(229,` 305 `),e(230,` 306 `),h(231,ge,78,3),h(232,fe,15,0),h(233,ke,26,6),t(234,"div",36),e(235,` 307 `),t(236,"span"),e(237),m(238,"date"),i(),e(239,` 308 `),h(240,Be,6,1),i(),e(241,` 309 `),i(),e(242,` 310 `)),r&2){let n=d();a(4),u(n.memoryStats?4:-1),a(9),x(v(14,60,n.stats.summary.totalTrackedKeys)),a(13),x(v(27,62,n.stats.summary.applicationCacheKeys)),a(13),x(v(40,64,n.stats.summary.pageBuilderCacheKeys)),a(13),x(n.stats.summary.clubsWithCachedContent),a(18),y("excellent",n.parseHitRate(n.stats.applicationCache.hitRate)>=80)("good",n.parseHitRate(n.stats.applicationCache.hitRate)>=60&&n.parseHitRate(n.stats.applicationCache.hitRate)<80)("poor",n.parseHitRate(n.stats.applicationCache.hitRate)<60),a(),p(` 311 `,n.stats.applicationCache.hitRate,` 312 `),a(9),k("width",n.parseHitRate(n.stats.applicationCache.hitRate),"%"),y("excellent",n.parseHitRate(n.stats.applicationCache.hitRate)>=80)("good",n.parseHitRate(n.stats.applicationCache.hitRate)>=60&&n.parseHitRate(n.stats.applicationCache.hitRate)<80)("poor",n.parseHitRate(n.stats.applicationCache.hitRate)<60),a(13),x(v(94,66,n.stats.applicationCache.hits)),a(10),x(v(104,68,n.stats.applicationCache.misses)),a(10),x(v(114,70,n.stats.applicationCache.approximateItemCount)),a(9),y("warning-value",n.stats.applicationCache.stampedeProtectionCount>0),a(),p(` 313 `,v(124,72,n.stats.applicationCache.stampedeProtectionCount),` 314 `),a(9),y("danger-value",n.stats.applicationCache.lockTimeoutCount>0),a(),p(` 315 `,v(134,74,n.stats.applicationCache.lockTimeoutCount),` 316 `),a(2),u(n.stats.applicationCache.lockTimeoutCount>10?135:-1),a(14),y("excellent",n.parseHitRate(n.stats.pageBuilderCache.hitRatio)>=80)("good",n.parseHitRate(n.stats.pageBuilderCache.hitRatio)>=60&&n.parseHitRate(n.stats.pageBuilderCache.hitRatio)<80)("poor",n.parseHitRate(n.stats.pageBuilderCache.hitRatio)<60),a(),p(` 317 `,n.stats.pageBuilderCache.hitRatio,` 318 `),a(9),k("width",n.parseHitRate(n.stats.pageBuilderCache.hitRatio),"%"),y("excellent",n.parseHitRate(n.stats.pageBuilderCache.hitRatio)>=80)("good",n.parseHitRate(n.stats.pageBuilderCache.hitRatio)>=60&&n.parseHitRate(n.stats.pageBuilderCache.hitRatio)<80)("poor",n.parseHitRate(n.stats.pageBuilderCache.hitRatio)<60),a(13),x(v(173,76,n.stats.pageBuilderCache.hitCount)),a(10),x(v(183,78,n.stats.pageBuilderCache.missCount)),a(10),x(v(193,80,n.stats.pageBuilderCache.totalKeyCount)),a(10),x(v(203,82,n.stats.pageBuilderCache.invalidationCount)),a(9),y("warning-value",n.stats.pageBuilderCache.stampedeProtectionCount>0),a(),p(` 319 `,v(213,84,n.stats.pageBuilderCache.stampedeProtectionCount),` 320 `),a(9),y("warning-value",n.stats.pageBuilderCache.evictionCount>0),a(),p(` 321 `,v(223,86,n.stats.pageBuilderCache.evictionCount),` 322 `),a(9),u(n.showAdvanced?231:-1),a(),u(n.getClubIds().length>0?232:-1),a(),u(n.showKeys?233:-1),a(4),p("Last updated: ",b(238,88,n.stats.timestamp,"medium")),a(3),u(n.autoRefresh?240:-1)}}var se=(()=>{let s=class s{constructor(l,o){this.siteDataService=l,this.cacheService=o,this.stats=null,this.memoryStats=null,this.keys=[],this.filteredKeys=[],this.showKeys=!1,this.keyFilter="",this.autoRefresh=!1,this.autoRefreshInterval=30,this.invalidateClubId=null,this.compactPercentage=25,this.showAdvanced=!1,this.items=[],this.totalSizeBytes=0,this.totalItems=0,this.destroy$=new M,this.autoRefresh$=new M}ngOnInit(){this.loadCacheData(),this.loadMemoryStats()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.autoRefresh$.next(),this.autoRefresh$.complete()}loadCacheData(){this.cacheService.getStats().subscribe({next:l=>
322{this.stats=l,this.siteDataService.hideSiteLoader()},error:()=>{this.siteDataService.showSiteErrorAlert("Error fetching cache statistics"),this.siteDataService.hideSiteLoader()}})}loadMemoryStats(){this.cacheService.getMemoryStats().subscribe({next:l=>{this.memoryStats=l},error:()=>{}})}toggleAutoRefresh(){this.autoRefresh=!this.autoRefresh,this.autoRefresh?(this.autoRefresh$.next(),F(this.autoRefreshInterval*1e3).pipe(P(this.autoRefresh$),P(this.destroy$)).subscribe(()=>{this.loadCacheData(),this.loadMemoryStats(),this.showKeys&&this.loadKeys()}),this.siteDataService.showSiteSuccessAlert(`Auto-refresh enabled (${this.autoRefreshInterval}s)`)):(this.autoRefresh$.next(),this.siteDataService.showSiteSuccessAlert("Auto-refresh disabled"))}toggleKeys(){if(this.showKeys){this.showKeys=!1;return}this.loadKeys()}loadKeys(){this.cacheService.getKeys().subscribe({next:l=>{this.keys=l,this.applyKeyFilter(),this.showKeys=!0},error:()=>{this.siteDataService.showSiteErrorAlert("Error fetching cache keys")}})}applyKeyFilter(){if(!this.keyFilter.trim())this.filteredKeys=this.keys;else{let l=this.keyFilter.toLowerCase();this.filteredKeys=this.keys.filter(o=>o.toLowerCase().includes(l))}}refresh(){this.loadCacheData(),this.loadMemoryStats(),this.showKeys&&this.loadKeys()}clear(){confirm("Are you sure you want to clear ALL cache? This will affect performance temporarily.")&&this.cacheService.clear().subscribe({next:()=>{this.loadCacheData(),this.loadMemoryStats(),this.keys=[],this.filteredKeys=[],this.showKeys=!1,this.siteDataService.showSiteSuccessAlert("Cache cleared.")},error:()=>{this.siteDataService.showSiteErrorAlert("There was an error clearing cache")}})}formatBytes(l){if(!l||l===0)return"0 Bytes";let o=1024,c=["Bytes","KB","MB","GB"],g=Math.floor(Math.log(l)/Math.log(o));return Math.round(l/Math.pow(o,g)*100)/100+" "+c[g]}remove(l){this.cacheService.remove(l).subscribe({next:()=>{this.loadCacheData(),this.keys=this.keys.filter(o=>o!==l),this.applyKeyFilter(),this.siteDataService.showSiteSuccessAlert("Item removed successfully."),this.cacheService.getStats().subscribe({next:o=>{this.totalItems=this.items.length,this.totalSizeBytes=this.items.length>0?this.items.reduce((c,g)=>c+(g.sizeBytes||g.SizeBytes||0),0):0,this.siteDataService.showSiteSuccessAlert("Item removed successfully.")}})},error:()=>{this.siteDataService.showSiteErrorAlert("There was an error removing item.")}})}invalidateClub(){if(!this.invalidateClubId){this.siteDataService.showSiteErrorAlert("Please enter a Club ID");return}this.cacheService.invalidateClub(this.invalidateClubId).subscribe({next:()=>{this.loadCacheData(),this.siteDataService.showSiteSuccessAlert(`Cache invalidated for Club ${this.invalidateClubId}`),this.invalidateClubId=null},error:()=>{this.siteDataService.showSiteErrorAlert("Error invalidating club cache")}})}triggerCleanup(){this.cacheService.triggerCleanup().subscribe({next:l=>{this.loadCacheData(),this.siteDataService.showSiteSuccessAlert(l.message)},error:()=>{this.siteDataService.showSiteErrorAlert("Error triggering cleanup")}})}resetMetrics(){confirm("Reset all cache metrics? This will clear hit/miss counters.")&&this.cacheService.resetMetrics().subscribe({next:l=>{this.loadCacheData(),this.siteDataService.showSiteSuccessAlert(l.message)},error:()=>{this.siteDataService.showSiteErrorAlert("Error resetting metrics")}})}compactCache(){let l=this.compactPercentage/100;confirm(`Compact cache by ${this.compactPercentage}%? This will evict low-priority entries.`)&&this.cacheService.compactCache(l).subscribe({next:o=>{this.loadCacheData(),this.loadMemoryStats(),this.siteDataService.showSiteSuccessAlert(`${o.message} - ${o.entriesRemoved} entries removed`)},error:()=>{this.siteDataService.showSiteErrorAlert("Error compacting cache")}})}getClubIds(){return this.stats?.pageBuilderCache?.keyCountByClub?Object.keys(this.stats.pageBuilderCache.keyCountByClub).map(l=>parseInt(l,10)).sort((l,o)=>l-o):[]}getHealthClass(l){let o=parseFloat(l.replace("%",""));return isNaN(o)?"text-muted":o>=80?"text-success":o>=60?"text-warning":"text-danger"}getMemoryHealthClass(){if(!this.memoryStats?.memoryUsagePercent)return"text-muted";let l=this.memoryStats.memoryUsagePercent;return l<70?"text-success":l<85?"text-warning":"text-danger"}parseHitRate(l){return parseFloat(l.replace("%",""))||0}};s.\u0275fac=function(o){return new(o||s)(K(ie),K(T))},s.\u0275cmp=L({type:s,selectors:[["ng-component"]],standalone:!1,decls:64,vars:18,consts:[["role","main"],[3,"pageTitle"],[1,"mb-3"],["type","button",1,"btn","btn-lg",3,"click"],[1,"content"],[1,"row"],[1,"col-lg-12"],[1,"action-bar"],["type","button",1,"btn-action","primary",3,"click"],["type","button",1,"btn-action","secondary",3,"click"],["type","button",1,"btn-action",3,"click"],["type","button",1,"btn-action","outline",3,"click"],[1,"temp-table"],[2,"text-align","right"],["type","button",1,"btn-action","danger",3,"click"],[1,"loading-state"],[1,"spinner"],[1,"loading-text"],[1,"stats-grid"],[1,"stat-card"],[1,"stat-icon","primary"],[1,"stat-value"],[1,"stat-label"],[1,"stat-icon","success"],[1,"stat-icon","info"],[1,"stat-icon","warning"],[1,"performance-grid"],[1,"performance-card"],[1,"card-header"],[1,"hit-rate-badge"],[1,"card-body"],[1,"hit-rate-visual"],[1,"rate-bar"],[1,"fill"],[1,"stats-table"],[1,"highlight"],[1,"dashboard-footer"],[1,"memory-card"],[1,"memory-header"],[1,"icon"],[1,"memory-badge"],[1,"memory-body"],[1,"memory-progress-container"],[1,"progress-label"],[1,"label"],[1,"value"],[1,"progress-bar-container"],[1,"progress-bar"],[1,"gc-stats"],[1,"gc-stat"],[1,"gc-value"],[1,"gc-label"],[1,"badge"],[1,"advanced-panel"],[1,"panel-header"],[1,"panel-body"],[1,"actions-grid"],[1,"action-card"],["type","number","min","5","max","50","placeholder","25",3,"ngModelChange","ngModel"],["type","button",1,"btn-action","warning",3,"click"],["type","number","placeholder","Club ID",3,"ngModelChange","ngModel"],[1,"action-buttons"],[1,"club-badges"],[1,"badge-label"],[1,"badges"],[1,"club-badge",3,"click"],[1,"more-badge"],[1,"clubs-section"],[1,"section-header"],[1,"clubs-grid"],[1,"club-card",3,"click"],[1,"club-id"],[1,"club-count"],[1,"keys-section"],[1,"count"],[1,"search-box"],[1,"search-icon"],["type","text","placeholder","Filter keys...",3,"ngModelChange","ngModel"],[1,"keys-list"],["type","button",1,"clear-btn",3,"click"],[1,"empty-state"],[1,"keys-table"],[1,"auto-refresh-status"],[1,"pulse-dot"]],template:function(o,c){o&1&&(t(0,"main",0),e(1,` 323 `),f(2,"app-admin-header",1),e(3,` 324 325 `),t(4,"div",2),e(5,` 326 `),t(6,"strong"),e(7,"Total Items:"),i(),e(8),t(9,"strong"),e(10,"Total Size:"),i(),e(11),i(),e(12,` 327 328 `),h(13,de,4,0),h(14,me,4,0),t(15,"button",3),C("click",function(){return c.refresh()}),e(16,` 329 Refresh 330 `),i(),e(17,` 331 `),f(18,"br"),e(19,` 332 `),f(20,"br"),e(21,` 333 `),t(22,"div",4),e(23,` 334 `),t(24,"div",5),e(25,` 335 `),t(26,"div",6),e(27,` 336 `),h(28,pe,24,0),i(),e(29,` 337 `),i(),e(30,` 338 339 `),e(31,` 340 `),t(32,"div",7),e(33,` 341 `),t(34,"button",8),C("click",function(){return c.refresh()}),e(35,` 342 `),t(36,"span"),e(37,"\u21BB"),i(),e(38,` Refresh 343 `),i(),e(39,` 344 `),t(40,"button",9),C("click",function(){return c.toggleKeys()}),e(41,` 345 `),t(42,"span"),e(43,"\u{1F511}"),i(),e(44),i(),e(45,` 346 `),t(46,"button",10),C("click",function(){return c.toggleAutoRefresh()}),e(47,` 347 `),t(48,"span"),e(49,"\u{1F4E1}"),i(),e(50),i(),e(51,` 348 `),t(52,"button",11),C("click",function(){return c.showAdvanced=!c.showAdvanced}),e(53,` 349 `),t(54,"span"),e(55,"\u2699\uFE0F"),i(),e(56),i(),e(57,` 350 `),h(58,he,7,0),i(),e(59,` 351 352 `),e(60,` 353 `),h(61,ue,9,0),h(62,Re,243,91),i(),e(63,` 354`),i()),o&2&&(a(2),z("pageTitle","Cache"),a(6),p(" ",c.totalItems,` \xA0\xA0 355 `),a(3),p(" ",c.formatBytes(c.totalSizeBytes),` 356 `),a(2),u(!c.items||(c.items==null?null:c.items.length)===0?13:-1),a(),u((c.items==null?null:c.items.length)>0?14:-1),a(14),u(c.items?28:-1),a(16),p(" ",c.showKeys?"Hide Keys":"Show Keys",` 357 `),a(2),y("success",c.autoRefresh)("secondary",!c.autoRefresh)("active",c.autoRefresh),a(4),p(" ",c.autoRefresh?"Live":"Auto-Refresh",` 358 `),a(6),p(" ",c.showAdvanced?"Hide Advanced":"Advanced",` 359 `),a(2),u(c.stats&&c.stats.summary.totalTrackedKeys>0?58:-1),a(3),u(c.stats?-1:61),a(),u(c.stats?62:-1))},dependencies:[O,J,Q,Y,X,q,re,ne,ae,j,N],encapsulation:2});let r=s;return r})();var Ze=(()=>{let s=class s{};s.\u0275fac=function(o){return new(o||s)},s.\u0275mod=W({type:s}),s.\u0275inj=$({providers:[T],imports:[G,Z,le,ee.forChild([{path:"",component:se}])]});let r=s;return r})();export{Ze as CacheModule};
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.