function F(r){if(!r)return"";const n=r.replace(/\r\n/g,` `).split(` `),o=[];let e=0;const w=new Set(["uid","resourceVersion","creationTimestamp","generation","selfLink","clusterName","generateName","deletionTimestamp"]),L=new Set(["managedFields","ownerReferences","finalizers"]),h={dnsPolicy:["ClusterFirst"],restartPolicy:["Always"],schedulerName:["default-scheduler"],terminationGracePeriodSeconds:["30"],serviceAccountName:["default"],enableServiceLinks:["true"],automountServiceAccountToken:["true"],progressDeadlineSeconds:["600"],revisionHistoryLimit:["10"],sessionAffinity:["None"],externalTrafficPolicy:["Cluster"],internalTrafficPolicy:["Cluster"],ipFamilyPolicy:["SingleStack"],allocateLoadBalancerNodePorts:["true"],preemptionPolicy:["PreemptLowerPriority"],priority:["0"]},C={imagePullPolicy:["Always","IfNotPresent"],terminationMessagePath:["/dev/termination-log"],terminationMessagePolicy:["File"],stdin:["false"],tty:["false"],stdinOnce:["false"]},_=new Set(["clusterIP","clusterIPs","ipFamilies","healthCheckNodePort"]),D=new Set(["kubectl.kubernetes.io/last-applied-configuration","kubectl.kubernetes.io/change-cause","deployment.kubernetes.io/revision","deployment.kubernetes.io/desired-replicas","deployment.kubernetes.io/max-replicas","kubectl.kubernetes.io/restartedAt","control-plane.alpha.kubernetes.io/leader","autoscaling.alpha.kubernetes.io/conditions","kubernetes.io/config.hash","pv.kubernetes.io/bind-completed","pv.kubernetes.io/bound-by-controller"]),W=new Set(["pod-template-hash","controller-revision-hash"]),R=["kube-api-access-","default-token-","kube-"];let A=!1,p=!1,I=!1,T=!1,g=!1,S=!1,E=!1,N=!1,M=0;function m(s){return s.length-s.trimStart().length}function P(s){const l=s.trimStart().match(/^([a-zA-Z_][a-zA-Z0-9_./-]*)\s*:/);return l?l[1]:null}function b(s){const l=s.trim().split(":").slice(1).join(":").trim();return l!==""&&!/^[>|]/.test(l)}function d(s){for(e++;el.startsWith(i)):!1}for(;e=2&&i<=4){const a=P(s);if(a&&W.has(a)){e++;continue}}if(i===2&&t&&w.has(t)){b(s)?e++:d(2);continue}if(i===2&&t&&L.has(t)){for(e++;e2||f===2&&u.startsWith("-")){e++;continue}break}continue}if(p&&i>2&&t&&D.has(t)){if(b(s))e++;else{const a=l.split(":").slice(1).join(":").trim();/^[>|]/.test(a)?d(i):e++}continue}}if(I){if(i===2&&t==="template"){o.push(s),e++;continue}if(i===2&&t){if(_.has(t)){b(s)?e++:d(i);continue}if(h[t]){const c=l.split(":").slice(1).join(":").trim();if(h[t].includes(c)){e++;continue}}}if(i===2&&t==="nodeName"){e++;continue}if(i===2&&t==="strategy"){const c=[];let a=e;for(;ae&&m(k)<=i)break;c.push(k),a++}const u=c.join(` `);if(u.includes("type: RollingUpdate")&&(u.includes("maxUnavailable: 25%")||u.includes("maxUnavailable: 0"))&&(u.includes("maxSurge: 25%")||u.includes("maxSurge: 1"))){e=a;continue}}if(i===2&&t==="spec"){T=!0,M=i,o.push(s),e++;continue}}if(T&&i>M){if(t==="containers"){g=!0,S=!1,o.push(s),e++;continue}if(t==="initContainers"){S=!0,g=!1,o.push(s),e++;continue}if(t==="volumes"){N=!0,o.push(s),e++;continue}if(t&&h[t]){const c=l.split(":").slice(1).join(":").trim();if(h[t].includes(c)){e++;continue}}if(t==="nodeName"){e++;continue}if(t==="serviceAccount"&&l.endsWith(":")){b(s)?e++:d(i);continue}}if((g||S)&&i>=6){if(t&&C[t]){const c=l.split(":").slice(1).join(":").trim();if(C[t].includes(c)){e++;continue}}if(t==="volumeMounts"&&(E=!0),E&&l.startsWith("- name:")){let c=[s],a=e+1,u=!1;for(;a=4&&l.startsWith("- name:")&&$(l)){const c=i;for(e++;e0&&o[o.length-1].trim()===""){e++;continue}o.push(s),e++}return o.join(` `).replace(/\n{3,}/g,` `).trimEnd()+` `}function x(r){return r.includes("mountPath:")&&(r.includes("/var/run/secrets/kubernetes.io")||r.includes("/var/run/secrets/sa"))}const y={green:"#10b981",orange:"#f59e0b",red:"#ef4444",blue:"#326CE5"};function O(r){if(!r)return"#64748b";const n=r.toLowerCase();return["running","available","ready","active","completed","succeeded"].includes(n)?y.green:["pending","updating","progressing","containercreating"].includes(n)?y.orange:["failed","error","crashloopbackoff","imagepullbackoff","errimageneverpull"].includes(n)?y.red:y.blue}function K(r){if(!r)return"-";const n=new Date(r);if(isNaN(n.getTime()))return r;const o=e=>String(e).padStart(2,"0");return`${n.getFullYear()}-${o(n.getMonth()+1)}-${o(n.getDate())} ${o(n.getHours())}:${o(n.getMinutes())}:${o(n.getSeconds())}`}function U(r,n){if(!r||!n)return null;const o=new Date(r).getTime(),e=new Date(n).getTime();return isNaN(o)||isNaN(e)||e