1"use strict";(self.webpackChunkharbor_portal=self.webpackChunkharbor_portal||[]).push([[9841],{2222:(L,f,n)=>{n.r(f),n.d(f,{ProjectModule:()=>H});var d=n(4710),C=n(7659),P=n(1413),O=n(7468),i=n(6040),v=n(152);const g="down";var l=n(3366),a=n(727),u=n(5323),m=n(7142),t=n(7705),D=n(3690),b=n(6838),A=n(9371),S=n(4377),p=n(925),j=n(177),M=n(3955);function N(s,c){if(1&s){const e=t.RV6();t.j41(0,"a",22),t.bIt("click",function(){t.eBV(e);const r=t.XpG();return t.Njj(r.backToProject())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}2&s&&(t.R7$(1),t.JRh(t.bMT(2,1,"PROJECT_DETAIL.PROJECTS")))}function U(s,c){if(1&s){const e=t.RV6();t.qex(0),t.j41(1,"span",0),t.EFF(2,"<"),t.k0s(),t.j41(3,"a",22),t.bIt("click",function(){t.eBV(e);const r=t.XpG();return t.Njj(r.backToWebhook())}),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.bVm()}2&s&&(t.R7$(4),t.JRh(t.bMT(5,1,"PROJECT_DETAIL.WEBHOOKS")))}function Q(s,c){if(1&s){const e=t.RV6();t.qex(0),t.j41(1,"span",0),t.EFF(2,"<"),t.k0s(),t.j41(3,"a",22),t.bIt("click",function(){t.eBV(e);const r=t.XpG();return t.Njj(r.backToP2pPreheat())}),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.bVm()}2&s&&(t.R7$(4),t.JRh(t.bMT(5,1,"P2P_PROVIDER.P2P_PROVIDER")))}const F=function(){return["/harbor","sign-in"]};function x(s,c){1&s&&(t.j41(0,"a",23),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&s&&(t.Y8G("routerLink",t.lJ4(4,F)),t.R7$(1),t.SpI(" ",t.bMT(2,2,"SEARCH.BACK"),""))}function k(s,c){1&s&&t.nrm(0,"clr-icon",24)}function V(s,c){1&s&&t.nrm(0,"clr-icon",25)}function B(s,c){1&s&&t.nrm(0,"div",26)}function K(s,c){if(1&s&&(t.j41(0,"span",27),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&s){const e=t.XpG();t.R7$(1),t.JRh(t.bMT(2,1,e.roleName))}}function Y(s,c){1&s&&(t.j41(0,"div",28)(1,"span",29),t.EFF(2),t.nI1(3,"translate"),t.k0s()()),2&s&&(t.R7$(2),t.JRh(t.bMT(3,1,"PROJECT.PROXY_CACHE")))}function y(s,c){if(1&s&&(t.j41(0,"div")(1,"h3",30)(2,"span",31),t.EFF(3),t.k0s(),t.j41(4,"span"),t.EFF(5),t.k0s()(),t.j41(6,"span",32),t.EFF(7),t.nI1(8,"translate"),t.k0s(),t.j41(9,"span"),t.EFF(10),t.nI1(11,"translate"),t.k0s(),t.j41(12,"span"),t.EFF(13),t.k0s(),t.j41(14,"div")(15,"div",33)(16,"div",34),t.nrm(17,"progress",35),t.k0s()()()()),2&s){const e=t.XpG(2);t.R7$(3),t.JRh(e.getSizeNumber()),t.R7$(2),t.JRh(e.getSizeUnit()),t.R7$(2),t.JRh(t.bMT(8,11,"QUOTA.OF")),t.R7$(3),t.JRh(-1===(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)?t.bMT(11,13,"QUOTA.UNLIMITED"):e.getIntegerAndUnit(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage,null==e.projectQuota||null==e.projectQuota.used?null:e.projectQuota.used.storage).partNumberHard),t.R7$(3),t.JRh(-1===(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)?"":e.getIntegerAndUnit(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage,null==e.projectQuota||null==e.projectQuota.used?null:e.projectQuota.used.storage).partCharacterHard),t.R7$(3),t.AVh("danger",-1!==(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)&&(null==e.projectQuota||null==e.projectQuota.used?null:e.projectQuota.used.storage)/(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)>e.quotaDangerCoefficient)("warning",-1!==(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)&&(null==e.projectQuota||null==e.projectQuota.used?null:e.projectQuota.used.storage)/(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)<=e.quotaDangerCoefficient&&(null==e.projectQuota||null==e.projectQuota.used?null:e.projectQuota.used.storage)/(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)>=e.quotaWarningCoefficient),t.R7$(1),t.FS9("value",-1===(null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)?0:null==e.projectQuota||null==e.projectQuota.used?null:e.projectQuota.used.storage),t.FS9("max",null==e.projectQuota||null==e.projectQuota.hard?null:e.projectQuota.hard.storage)}}function G(s,c){if(1&s&&(t.j41(0,"div",14)(1,"div",15)(2,"div",16),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"div",17),t.DNE(6,y,18,15,"div",2),t.k0s()()()),2&s){const e=t.XpG();t.R7$(3),t.SpI(" ",t.bMT(4,2,"QUOTA.QUOTA_USED")," "),t.R7$(3),t.Y8G("ngIf",e.projectQuota)}}function W(s,c){if(1&s&&(t.qex(0),t.j41(1,"clr-tab")(2,"button",36)(3,"a",37),t.EFF(4),t.nI1(5,"translate"),t.k0s()()(),t.bVm()),2&s){const e=t.XpG(),o=e.$implicit,r=e.index,E=t.XpG();t.R7$(2),t.AVh("clear-default-active",E.isDefaultTab(o,r)),t.FS9("id","project-"+o.linkName),t.FS9("routerLink",o.linkName),t.Y8G("clrTabLinkInOverflow",o.tabLinkInOverflow),t.R7$(2),t.JRh(t.bMT(5,6,o.showTabName))}}function $(s,c){if(1&s&&(t.qex(0),t.DNE(1,W,6,8,"ng-container",2),t.bVm()),2&s){const e=c.$implicit;t.R7$(1),t.Y8G("ngIf",e.permissions())}}let J=(()=>{class s{constructor(e,o,r,E,T,X,w,Z,q){this.projectService=e,this.route=o,this.router=r,this.sessionService=E,this.appConfigService=T,this.userPermissionService=X,this.errorHandler=w,this.cdf=Z,this.event=q,this.hasQuotaReadPermission=!1,this.tabLinkNavList=[{linkName:"summary",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.SUM
1MARY",permissions:()=>this.hasProjectReadPermission},{linkName:"repositories",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.REPOSITORIES",permissions:()=>this.hasRepositoryListPermission},{linkName:"members",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.USERS",permissions:()=>this.hasMemberListPermission},{linkName:"labels",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.LABELS",permissions:()=>this.hasLabelListPermission&&this.hasLabelCreatePermission},{linkName:"scanner",tabLinkInOverflow:!1,showTabName:"SCANNER.SCANNER",permissions:()=>this.hasScannerReadPermission},{linkName:"p2p-provider",tabLinkInOverflow:!1,showTabName:"P2P_PROVIDER.P2P_PROVIDER",permissions:()=>this.hasP2pProviderReadPermission},{linkName:"tag-strategy",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.POLICY",permissions:()=>this.hasTagRetentionPermission||this.hasTagImmutablePermission},{linkName:"robot-account",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.ROBOT_ACCOUNTS",permissions:()=>this.hasRobotListPermission},{linkName:"webhook",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.WEBHOOKS",permissions:()=>this.hasWebhookListPermission},{linkName:"logs",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.LOGS",permissions:()=>this.hasLogListPermission},{linkName:"configs",tabLinkInOverflow:!1,showTabName:"PROJECT_DETAIL.CONFIG",permissions:()=>this.isSessionValid&&this.hasConfigurationListPermission}],this._subject=new P.B,this.isProxyCacheProject=!1,this.quotaDangerCoefficient=l.N6,this.quotaWarningCoefficient=l.MK,this.hasSignedIn=null!==this.sessionService.getCurrentUser(),this.route.data.subscribe(_=>{this.currentProject=_.projectResolver,this.currentProject.registry_id&&(this.isProxyCacheProject=!0),this.isMember=this.currentProject.is_member,this.roleName=this.currentProject.role_name})}ngOnInit(){this.projectId=this.route.snapshot.params.id,this.getPermissionsList(this.projectId),this._subscription||(this._subscription=this._subject.pipe((0,v.B)(100)).subscribe(e=>{e===g?this.resetTabsForDownSize():this.resetTabsForUpSize()})),this.eventSub||(this.eventSub=this.event.subscribe(u.Z.REFRESH_PROJECT_INFO,()=>{this.refreshProjectInfo()}))}ngAfterViewInit(){this.previousWindowWidth=window.innerWidth,setTimeout(()=>{this.resetTabsForDownSize()},0)}ngOnDestroy(){this._subscription&&(this._subscription.unsubscribe(),this._subscription=null),this.eventSub&&(this.eventSub.unsubscribe(),this.eventSub=null)}getPermissionsList(e){let o=[];o.push(this.userPermissionService.getPermission(e,i.DC.PROJECT.KEY,i.DC.PROJECT.VALUE.READ)),o.push(this.userPermissionService.getPermission(e,i.DC.LOG.KEY,i.DC.LOG.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.CONFIGURATION.KEY,i.DC.CONFIGURATION.VALUE.READ)),o.push(this.userPermissionService.getPermission(e,i.DC.MEMBER.KEY,i.DC.MEMBER.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.LABEL.KEY,i.DC.LABEL.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.REPOSITORY.KEY,i.DC.REPOSITORY.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.ROBOT.KEY,i.DC.ROBOT.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.LABEL.KEY,i.DC.LABEL.VALUE.CREATE)),o.push(this.userPermissionService.getPermission(e,i.DC.TAG_RETENTION.KEY,i.DC.TAG_RETENTION.VALUE.READ)),o.push(this.userPermissionService.getPermission(e,i.DC.IMMUTABLE_TAG.KEY,i.DC.IMMUTABLE_TAG.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.WEBHOOK.KEY,i.DC.WEBHOOK.VALUE.LIST)),o.push(this.userPermissionService.getPermission(e,i.DC.SCANNER.KEY,i.DC.SCANNER.VALUE.READ)),o.push(this.userPermissionService.getPermission(e,i.DC.P2P_PROVIDER.KEY,i.DC.P2P_PROVIDER.VALUE.READ)),o.push(this.userPermissionService.getPermission(e,i.DC.QUOTA.KEY,i.DC.QUOTA.VALUE.READ)),(0,O.p)(o).subscribe(r=>{[this.hasProjectReadPermission,this.hasLogListPermission,this.hasConfigurationListPermission,this.hasMemberListPermission,this.hasLabelListPermission,this.hasRepositoryListPermission,this.hasRobotListPermission,this.hasLabelCreatePermission,this.hasTagRetentionPermission,this.hasTagImmutablePermission,this.hasWebhookListPermission,this.hasScannerReadPermission,this.hasP2pProviderReadPermission,this.hasQuotaReadPermission]=r,this.hasQuotaReadPermission&&this.getQuotaInfo()},r=>this.errorHandler.error(r))}getQuotaInfo(){this.projectService.getProjectSummary({projectNameOrId:this.projectId.toString()}).subscribe(e=>{e&&e.quota&&(this.projectQuota=e.quota)},e=>{this.errorHandler.error(e)})}get isSessionValid(){return null!=this.sessionService.getCurrentUser()}backToProject(){window.sessionStorage&&window.sessionStorage.setItem("fromDetails","true"),this.router.navigate(["/harbor","projects"])}
1isDefaultTab(e,o){return this.route.snapshot.children[0].routeConfig.path!==e.linkName&&0===o}isTabLinkInOverFlow(){return this.tabLinkNavList.some(e=>e.tabLinkInOverflow&&this.route.snapshot.children[0].routeConfig.path===e.linkName)}onResize(e){this.previousWindowWidth&&this._subject.next(this.previousWindowWidth>e.target.innerWidth?g:"up"),this.previousWindowWidth=e.target.innerWidth}resetTabsForDownSize(){this.tabLinkNavList.filter(e=>!e.tabLinkInOverflow).forEach((e,o)=>{const r=document.getElementById("project-"+e.linkName);r&&r.getBoundingClientRect&&window.innerWidth-document.getElementById("project-"+e.linkName).getBoundingClientRect().right<80&&(this.tabLinkNavList[o].tabLinkInOverflow=!0)})}resetTabsForUpSize(){for(let e=0;e<this.tabLinkNavList.length;e++)this.tabLinkNavList[e].tabLinkInOverflow=!1;this.cdf.detectChanges(),this.resetTabsForDownSize()}getIntegerAndUnit(e,o){return(0,a.il)(e,(0,a.o8)(l.AK),o,(0,a.o8)(l.AK))}getSizeNumber(){return this.projectQuota&&this.projectQuota.used&&this.projectQuota.used.storage?(0,a.Vd)(this.projectQuota.used.storage):0}getSizeUnit(){return this.projectQuota?(0,a.iO)(this.projectQuota.used.storage):null}refreshProjectInfo(){this.getQuotaInfo(),this.getProject()}getProject(){this.projectService.getProject({projectNameOrId:this.projectId.toString()}).subscribe(e=>{e&&(this.currentProject=e)})}backToWebhook(){this.router.navigate(["harbor","projects",`${this.projectId}`,"webhook"])}isWebhookTaskListPage(){return this.route?.firstChild?.firstChild?.snapshot.data.routeConfigId===m.P.WEBHOOK_TASKS_PAGE}backToP2pPreheat(){this.router.navigate(["harbor","projects",`${this.projectId}`,"p2p-provider","policies"])}isP2pPreheatTaskListPage(){return this.route?.firstChild?.firstChild?.snapshot.data.routeConfigId===m.P.P2P_TASKS_PAGE}static{this.\u0275fac=function(o){return new(o||s)(t.rXU(D.T),t.rXU(d.nX),t.rXU(d.Ix),t.rXU(b.Q),t.rXU(A.R),t.rXU(i.OE),t.rXU(S.z),t.rXU(t.gRc),t.rXU(u.U))}}static{this.\u0275cmp=t.VBU({type:s,selectors:[["project-detail"]],hostBindings:function(o,r){1&o&&t.bIt("resize",function(T){return r.onResize(T)},!1,t.tSv)},decls:31,vars:20,consts:[[1,"back-icon"],["class","backStyle",3,"click",4,"ngIf"],[4,"ngIf"],["class","backStyle",3,"routerLink",4,"ngIf"],[1,"clr-row"],[1,"clr-col-5"],["sub-header-title","",1,"custom-h2","center"],["shape","cloud-traffic","size","30",4,"ngIf"],["shape","organization","size","30",4,"ngIf"],[1,"ml-05","project-name"],["class","divider filter-divider",4,"ngIf"],["class","role-label",4,"ngIf"],["class","clr-row mt-0 line-height-10",4,"ngIf"],[1,"clr-col-7","flex-end"],[1,"card"],[1,"card-block","container"],[1,"head"],[1,"storage-used","font-weight-700"],[1,"mt-0"],["class","card",4,"ngIf"],["id","project-tabs",1,"tabs"],[4,"ngFor","ngForOf"],[1,"backStyle",3,"click"],[1,"backStyle",3,"routerLink"],["shape","cloud-traffic","size","30"],["shape","organization","size","30"],[1,"divider","filter-divider"],[1,"role-label"],[1,"clr-row","mt-0","line-height-10"],[1,"proxy-cache"],[1,"mt-0","clr-display-inline-block"],[1,"size-number"],[1,"of"],[1,"progress-block","progress-min-width","progress-div"],[1,"progress","success"],["data-displayval","100%",3,"value","max"],["clrTabLink","","routerLinkActive","active","type","button",3,"clrTabLinkInOverflow","id","routerLink"],[1,"nav-link"]],template:function(o,r){1&o&&(t.j41(0,"span",0),t.EFF(1,"<"),t.k0s(),t.DNE(2,N,3,3,"a",1),t.DNE(3,U,6,3,"ng-container",2),t.DNE(4,Q,6,3,"ng-container",2),t.DNE(5,x,3,5,"a",3),t.j41(6,"div",4)(7,"div",5)(8,"h1",6),t.DNE(9,k,1,0,"clr-icon",7),t.DNE(10,V,1,0,"clr-icon",8),t.j41(11,"span",9),t.EFF(12),t.k0s(),t.DNE(13,B,1,0,"div",10),t.DNE(14,K,3,3,"span",11),t.k0s(),t.DNE(15,Y,4,3,"div",12),t.k0s(),t.j41(16,"div",13)(17,"div",14)(18,"div",15)(19,"div",16),t.EFF(20),t.nI1(21,"translate"),t.k0s(),t.j41(22,"div",17)(23,"div")(24,"h3",18),t.EFF(25),t.nI1(26,"translate"),t.k0s()()()()(),t.DNE(27,G,7,4,"div",19),t.k0s()(),t.j41(28,"clr-tabs",20),t.DNE(29,$,2,1,"ng-container",21),t.k0s(),t.nrm(30,"router-outlet")),2&o&&(t.R7$(2),t.Y8G("ngIf",r.hasSignedIn),t.R7$(1),t.Y8G("ngIf",r.hasSignedIn&&r.isWebhookTaskListPage()),t.R7$(1),t.Y8G("ngIf",r.hasSignedIn&&r.isP2pPreheatTaskListPage()),t.R7$(1),t.Y8G("ngIf",!r.hasSignedIn),t.R7$(4),t.Y8G("ngIf",r.isProxyCacheProject),t.R7$(1),t.Y8G("ngIf",!r.isProxyCacheProject),t.R7$(2),t.JRh(r.currentProject.name),t.R7$(1),t.Y8G("ngIf",r.isMember),t.R7$(1),t.Y8G("ngIf",r.isMember),t.R7$(1),t.Y8G("ngIf",r.isProxyCacheProject),t.R7$(5),t.JRh(t.bMT(21,16,"PROJECT.ACCESS_LEVEL")),t.R7$(5),t.SpI(" ",t.bMT(26,18,"true"===(null==r.currentProject||null==r.currentProject.metadata?null:r.currentProject.metadata.public)?"PROJECT.PUBLIC":"PROJECT.PRIVATE")," "),t.R7$(2),t.Y8G("ngIf",r.hasQuotaReadPermission),t.R7$(1),t.AVh("in-overflow",r.isTabLinkInOverFlow()),t.R7$(1),t.Y8G("ngForOf",r.tabLinkNavList))},dependencies:[d.n3,d.Wk,d.wQ,p.U4n,p.NvB,p._yY,p.BXK,p.ZMF,p.Ak8,j.Sq,j.bT,M.D9],styles:[".sub-header-title[_ngcontent-%COMP%]{margin-top:12px;margin-bottom:12px}.sub-nav-bg-color[_ngcontent-%COMP%]{background-color:#fafafa}.subnav[_ngcontent-%COMP%] .nav[_ngcontent-%COMP%]{padding-left:0}.role-label[_ngcontent-%COMP%]{font-size:14px;font-style:italic;letter-spacing:.01em;margin-top:8px}.backStyle[_ngcontent-%COMP%]{color:#007cbb;font-size:16px;cursor:pointer;padding:5px;border-radius:2px}button[_ngcontent-%COMP%]{outline:none}#project-tabs[_ngcontent-%COMP%] .clear-default-active[_ngcontent-%COMP%]{box-shadow:none}#project-tabs[_ngcontent-%COMP%] .clear-default-active[_ngcontent-%COMP%]:hover{box-shadow:0 -3px #0077b8 inset}.tabs[_ngcontent-%COMP%] .nav-link[_ngcontent-%COMP%]{padding:0}.ml-05[_ngcontent-%COMP%]{margin-left:.5rem}.proxy-cache[_ngcontent-%COMP%]{margin-left:2.5rem;font-size:10px;font-weight:300;opacity:.8}.line-height-10[_ngcontent-%COMP%]{line-height:10px}.back-icon[_ngcontent-%COMP%]{margin-right:5px;color:#007cbb;font-size:16px}.flex-end[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.card[_ngcontent-%COMP%]{width:auto;min-width:10rem;margin-right:.5rem;margin-top:0;height:6rem}.head[_ngcontent-%COMP%]{margin-top:0;margin-bottom:.25rem;font-size:18px}.font-weight-700[_ngcontent-%COMP%]{font-weight:700}.storage-used[_ngcontent-%COMP%]{flex:1;display:flex;align-items:center;justify-content:center;min-width:8rem}.size-number[_ngcontent-%COMP%]{font-size:1.5rem}.container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.margin-right-5px[_ngcontent-%COMP%]{margin-right:5px}.center[_ngcontent-%COMP%]{display:flex;align-items:center}.divider[_ngcontent-%COMP%]{height:24px;width:1px;margin-right:24px;margin-left:24px}.progress[_ngcontent-%COMP%] progress[_ngcontent-%COMP%], .progress-static[_ngcontent-%COMP%] progress[_ngcontent-%COMP%]{max-height:.48rem}[_nghost-%COMP%] .progress.warning>progress{color:orange}[_nghost-%COMP%] .progress.warning>progress::-webkit-progress-value{background-color:orange}[_nghost-%COMP%] .progress.warning>progress::-moz-progress-bar{background-color:orange}.of[_ngcontent-%COMP%]{margin-right:5px;margin-left:5px}
1.project-name[_ngcontent-%COMP%]{text-overflow:ellipsis;max-width:20rem;overflow:hidden}"]})}}return s})();var h=n(1857);const z=[{path:"",component:J,children:[{path:"summary",canActivate:[h.p],data:{permissionParam:{resource:i.DC.PROJECT.KEY,action:i.DC.PROJECT.VALUE.READ}},loadChildren:()=>n.e(8553).then(n.bind(n,934)).then(s=>s.SummaryModule)},{path:"repositories",canActivate:[h.p],data:{permissionParam:{resource:i.DC.REPOSITORY.KEY,action:i.DC.REPOSITORY.VALUE.LIST}},loadChildren:()=>n.e(165).then(n.bind(n,165)).then(s=>s.RepositoryModule)},{path:"members",canActivate:[h.p],data:{permissionParam:{resource:i.DC.MEMBER.KEY,action:i.DC.MEMBER.VALUE.LIST}},loadChildren:()=>Promise.all([n.e(9035),n.e(3506)]).then(n.bind(n,3506)).then(s=>s.MemberModule)},{path:"logs",canActivate:[h.p],data:{permissionParam:{resource:i.DC.LOG.KEY,action:i.DC.LOG.VALUE.LIST}},loadChildren:()=>n.e(9222).then(n.bind(n,9222)).then(s=>s.AuditLogModule)},{path:"labels",canActivate:[h.p],data:{permissionParam:{resource:i.DC.LABEL.KEY,action:i.DC.LABEL.VALUE.CREATE}},loadChildren:()=>Promise.all([n.e(4318),n.e(4017)]).then(n.bind(n,4017)).then(s=>s.ProjectLabelModule)},{path:"configs",canActivate:[h.p],data:{permissionParam:{resource:i.DC.CONFIGURATION.KEY,action:i.DC.CONFIGURATION.VALUE.READ}},loadChildren:()=>Promise.all([n.e(1720),n.e(9202),n.e(3634),n.e(9035),n.e(3004),n.e(265)]).then(n.bind(n,265)).then(s=>s.ProjectConfigModule)},{path:"robot-account",canActivate:[h.p],data:{permissionParam:{resource:i.DC.ROBOT.KEY,action:i.DC.ROBOT.VALUE.LIST}},loadChildren:()=>Promise.all([n.e(1330),n.e(9537)]).then(n.bind(n,9537)).then(s=>s.ProjectRobotAccountModule)},{path:"tag-strategy",canActivate:[h.p],data:{permissionParam:{resource:i.DC.TAG_RETENTION.KEY,action:i.DC.TAG_RETENTION.VALUE.READ}},loadChildren:()=>Promise.all([n.e(9202),n.e(1981),n.e(2842)]).then(n.bind(n,2842)).then(s=>s.TagFeatureIntegrationModule)},{path:"webhook",canActivate:[h.p],data:{permissionParam:{resource:i.DC.WEBHOOK.KEY,action:i.DC.WEBHOOK.VALUE.LIST}},loadChildren:()=>Promise.all([n.e(3634),n.e(2076),n.e(282)]).then(n.bind(n,282)).then(s=>s.WebhookModule)},{path:"scanner",canActivate:[h.p],data:{permissionParam:{resource:i.DC.SCANNER.KEY,action:i.DC.SCANNER.VALUE.READ}},loadChildren:()=>n.e(6594).then(n.bind(n,6594)).then(s=>s.ProjectScannerModule)},{path:"p2p-provider",canActivate:[h.p],data:{permissionParam:{resource:i.DC.P2P_PROVIDER.KEY,action:i.DC.P2P_PROVIDER.VALUE.READ}},loadChildren:()=>Promise.all([n.e(1720),n.e(1981),n.e(2076),n.e(1410)]).then(n.bind(n,1410)).then(s=>s.P2pProviderModule)},{path:"",redirectTo:"repositories",pathMatch:"full"}]}];let H=(()=>{class s{static{this.\u0275fac=function(o){return new(o||s)}}static{this.\u0275mod=t.$C({type:s})}static{this.\u0275inj=t.G2t({imports:[d.iI.forChild(z),C.G]})}}return s})()},1857:(L,f,n)=>{n.d(f,{p:()=>R});var d=n(1985),C=n(3366),P=n(7705),O=n(4710),i=n(4377),v=n(6040);let R=(()=>{class g{constructor(l,a,u){this.router=l,this.errorHandler=a,this.userPermission=u}canActivate(l,a){return this.checkPermission(l.parent.params.id,l.data.permissionParam)}canActivateChild(l,a){return this.canActivate(l,a)}checkPermission(l,a){return new d.c(u=>{this.userPermission.getPermission(l,a.resource,a.action).subscribe({next:m=>{m||this.router.navigate([C.U6.HARBOR_DEFAULT]),u.next(m)},error:m=>{this.router.navigate([C.U6.HARBOR_DEFAULT]),u.next(!1),this.errorHandler.error(m)}})})}static{this.\u0275fac=function(a){return new(a||g)(P.KVO(O.Ix),P.KVO(i.z),P.KVO(v.OE))}}static{this.\u0275prov=P.jDH({token:g,factory:g.\u0275fac,providedIn:"root"})}}return g})()}}]);
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.