hackagent-webui 0.5.7.dev44__py3-none-any.whl → 0.5.8.dev45__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. hackagent_webui/__init__.py +1 -1
  2. hackagent_webui/static/404.html +1 -1
  3. hackagent_webui/static/VERSION +1 -1
  4. hackagent_webui/static/_next/static/chunks/355-e2dea3684934b9a8.js +1 -0
  5. hackagent_webui/static/_next/static/chunks/472-7be5a19832ac0441.js +1 -0
  6. hackagent_webui/static/_next/static/chunks/701-a112195c75a7cfee.js +1 -0
  7. hackagent_webui/static/_next/static/chunks/874-12bc26fc27858118.js +1 -0
  8. hackagent_webui/static/_next/static/chunks/889-80b0f84a20daf258.js +1 -0
  9. hackagent_webui/static/_next/static/chunks/app/agents/{page-63d562af288bd470.js → page-9ae4eb31e2675d8a.js} +1 -1
  10. hackagent_webui/static/_next/static/chunks/app/{layout-7c1fdd2e3cdffab4.js → layout-efaecd4333ef00dc.js} +1 -1
  11. hackagent_webui/static/_next/static/chunks/app/page-b3f42114f30a338c.js +1 -0
  12. hackagent_webui/static/_next/static/chunks/app/reports/page-5c5fe914aa4f6b6e.js +1 -0
  13. hackagent_webui/static/_next/static/chunks/app/stats/page-2e5ec7e947f6ceb6.js +1 -0
  14. hackagent_webui/static/_next/static/css/ad4ca82c66199e5e.css +1 -0
  15. hackagent_webui/static/agents.html +1 -1
  16. hackagent_webui/static/agents.txt +5 -5
  17. hackagent_webui/static/api-keys.html +1 -1
  18. hackagent_webui/static/api-keys.txt +4 -4
  19. hackagent_webui/static/attacks/builder.html +1 -1
  20. hackagent_webui/static/attacks/builder.txt +4 -4
  21. hackagent_webui/static/attacks.html +1 -1
  22. hackagent_webui/static/attacks.txt +4 -4
  23. hackagent_webui/static/index.html +1 -1
  24. hackagent_webui/static/index.txt +5 -5
  25. hackagent_webui/static/profile.html +1 -1
  26. hackagent_webui/static/profile.txt +4 -4
  27. hackagent_webui/static/reports.html +1 -1
  28. hackagent_webui/static/reports.txt +5 -5
  29. hackagent_webui/static/stats.html +1 -1
  30. hackagent_webui/static/stats.txt +5 -5
  31. {hackagent_webui-0.5.7.dev44.dist-info → hackagent_webui-0.5.8.dev45.dist-info}/METADATA +1 -1
  32. {hackagent_webui-0.5.7.dev44.dist-info → hackagent_webui-0.5.8.dev45.dist-info}/RECORD +35 -36
  33. hackagent_webui/static/_next/static/chunks/130-ea2c854c99cceb32.js +0 -1
  34. hackagent_webui/static/_next/static/chunks/391-c0e09f348021cffc.js +0 -1
  35. hackagent_webui/static/_next/static/chunks/594-97628408277cbac5.js +0 -1
  36. hackagent_webui/static/_next/static/chunks/680-25d8e1ea98a28dad.js +0 -1
  37. hackagent_webui/static/_next/static/chunks/8-42d532ba984375d8.js +0 -1
  38. hackagent_webui/static/_next/static/chunks/816-19f20afc3075826e.js +0 -1
  39. hackagent_webui/static/_next/static/chunks/app/page-44982fec817d0e96.js +0 -1
  40. hackagent_webui/static/_next/static/chunks/app/reports/page-1507b6373935769e.js +0 -1
  41. hackagent_webui/static/_next/static/chunks/app/stats/page-3d22606b7f9ba4b8.js +0 -1
  42. hackagent_webui/static/_next/static/css/c66d365ae0bced97.css +0 -1
  43. /hackagent_webui/static/_next/static/{HIoXscjHtxVCsDuJEjr4J → C3j3ir9ytDUgv-14RiTcK}/_buildManifest.js +0 -0
  44. /hackagent_webui/static/_next/static/{HIoXscjHtxVCsDuJEjr4J → C3j3ir9ytDUgv-14RiTcK}/_ssgManifest.js +0 -0
  45. {hackagent_webui-0.5.7.dev44.dist-info → hackagent_webui-0.5.8.dev45.dist-info}/WHEEL +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[701],{1262:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=r(12115),o=n.useLayoutEffect,i=n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},5313:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(40246);class o extends Error{}function i(e,t){let r;if("string"!=typeof e)throw new o("Invalid token specified: must be a string");t||(t={});let n=+(!0!==t.header),i=e.split(".")[n];if("string"!=typeof i)throw new o(`Invalid token specified: missing part #${n+1}`);try{r=function(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw Error("base64 string is not of the correct length")}try{var r;return r=t,decodeURIComponent(atob(r).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}catch(e){return atob(t)}}(i)}catch(e){throw new o(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(r)}catch(e){throw new o(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}if(o.prototype.name="InvalidTokenError","undefined"==typeof Promise)throw Error("Keycloak requires an environment that supports Promises. Make sure that you include the appropriate polyfill.");function s(e){if(!(this instanceof s))throw Error("The 'Keycloak' constructor must be invoked with 'new'.");for(var t,r,o=this,a=[],c={enable:!0,callbackList:[],interval:5},u=document.getElementsByTagName("script"),l=0;l<u.length;l++)(-1!==u[l].src.indexOf("keycloak.js")||-1!==u[l].src.indexOf("keycloak.min.js"))&&-1!==u[l].src.indexOf("version=")&&(o.iframeVersion=u[l].src.substring(u[l].src.indexOf("version=")+8).split("&")[0]);var d=!0,f=I(console.info),h=I(console.warn);function p(e,t){for(var r=function(e){var t=null,r=window.crypto||window.msCrypto;if(r&&r.getRandomValues&&window.Uint8Array)return t=new Uint8Array(e),r.getRandomValues(t),t;t=Array(e);for(var n=0;n<t.length;n++)t[n]=Math.floor(256*Math.random());return t}(e),n=Array(e),o=0;o<e;o++)n[o]=t.charCodeAt(r[o]%t.length);return String.fromCharCode.apply(null,n)}function m(){return void 0===o.authServerUrl?void 0:"/"==o.authServerUrl.charAt(o.authServerUrl.length-1)?o.authServerUrl+"realms/"+encodeURIComponent(o.realm):o.authServerUrl+"/realms/"+encodeURIComponent(o.realm)}function g(e,t){var r=e.code,n=e.error,i=e.prompt,s=new Date().getTime();if(e.kc_action_status&&o.onActionUpdate&&o.onActionUpdate(e.kc_action_status),n){if("none"!=i){var a={error:n,error_description:e.error_description};o.onAuthError&&o.onAuthError(a),t&&t.setError(a)}else t&&t.setSuccess();return}if("standard"!=o.flow&&(e.access_token||e.id_token)&&h(e.access_token,null,e.id_token,!0),"implicit"!=o.flow&&r){var c="code="+r+"&grant_type=authorization_code",u=o.endpoints.token(),l=new XMLHttpRequest;l.open("POST",u,!0),l.setRequestHeader("Content-type","application/x-www-form-urlencoded"),c+="&client_id="+encodeURIComponent(o.clientId)+"&redirect_uri="+e.redirectUri,e.pkceCodeVerifier&&(c+="&code_verifier="+e.pkceCodeVerifier),l.withCredentials=!0,l.onreadystatechange=function(){if(4==l.readyState)if(200==l.status){var e=JSON.parse(l.responseText);h(e.access_token,e.refresh_token,e.id_token,"standard"===o.flow),_()}else o.onAuthError&&o.onAuthError(),t&&t.setError()},l.send(c)}function h(r,n,i,a){y(r,n,i,s=(s+new Date().getTime())/2),d&&o.idTokenParsed&&o.idTokenParsed.nonce!=e.storedNonce?(f("[KEYCLOAK] Invalid nonce, clearing token"),o.clearToken(),t&&t.setError()):a&&(o.onAuthSuccess&&o.onAuthSuccess(),t&&t.setSuccess())}}function v(e){return 0==e.status&&e.responseText&&e.responseURL.startsWith("file:")}function y(e,t,r,n){if(o.tokenTimeoutHandle&&(clearTimeout(o.tokenTimeoutHandle),o.tokenTimeoutHandle=null),t?(o.refreshToken=t,o.refreshTokenParsed=i(t)):(delete o.refreshToken,delete o.refreshTokenParsed),r?(o.idToken=r,o.idTokenParsed=i(r)):(delete o.idToken,delete o.idTokenParsed),e){if(o.token=e,o.tokenParsed=i(e),o.sessionId=o.tokenParsed.sid,o.authenticated=!0,o.subject=o.tokenParsed.sub,o.realmAccess=o.tokenParsed.realm_access,o.resourceAccess=o.tokenParsed.resource_access,n&&(o.timeSkew=Math.floor(n/1e3)-o.tokenParsed.iat),null!=o.timeSkew&&(f("[KEYCLOAK] Estimated time difference between browser and server is "+o.timeSkew+" seconds"),o.onTokenExpired)){var s=(o.tokenParsed.exp-new Date().getTime()/1e3+o.timeSkew)*1e3;f("[KEYCLOAK] Token expires in "+Math.round(s/1e3)+" s"),s<=0?o.onTokenExpired():o.tokenTimeoutHandle=setTimeout(o.onTokenExpired,s)}}else delete o.token,delete o.tokenParsed,delete o.subject,delete o.realmAccess,delete o.resourceAccess,o.authenticated=!1}function b(){var e="0123456789abcdef",t=p(36,e).split("");return t[14]="4",t[19]=e.substr(3&t[19]|8,1),t[8]=t[13]=t[18]=t[23]="-",t.join("")}function k(e){var t=function(e){switch(o.flow){case"standard":t=["code","state","session_state","kc_action_status","iss"];break;case"implicit":t=["access_token","token_type","id_token","state","session_state","expires_in","kc_action_status","iss"];break;case"hybrid":t=["access_token","token_type","id_token","code","state","session_state","expires_in","kc_action_status","iss"]}t.push("error"),t.push("error_description"),t.push("error_uri");var t,r,n,i=e.indexOf("?"),s=e.indexOf("#");if("query"===o.responseMode&&-1!==i?(r=e.substring(0,i),""!==(n=w(e.substring(i+1,-1!==s?s:e.length),t)).paramsString&&(r+="?"+n.paramsString),-1!==s&&(r+=e.substring(s))):"fragment"===o.responseMode&&-1!==s&&(r=e.substring(0,s),""!==(n=w(e.substring(s+1),t)).paramsString&&(r+="#"+n.paramsString)),n&&n.oauthParams){if("standard"===o.flow||"hybrid"===o.flow){if((n.oauthParams.code||n.oauthParams.error)&&n.oauthParams.state)return n.oauthParams.newUrl=r,n.oauthParams}else if("implicit"===o.flow&&(n.oauthParams.access_token||n.oauthParams.error)&&n.oauthParams.state)return n.oauthParams.newUrl=r,n.oauthParams}}(e);if(t){var n=r.get(t.state);return n&&(t.valid=!0,t.redirectUri=n.redirectUri,t.storedNonce=n.nonce,t.prompt=n.prompt,t.pkceCodeVerifier=n.pkceCodeVerifier),t}}function w(e,t){for(var r=e.split("&"),n={paramsString:"",oauthParams:{}},o=0;o<r.length;o++){var i=r[o].indexOf("="),s=r[o].slice(0,i);-1!==t.indexOf(s)?n.oauthParams[s]=r[o].slice(i+1):(""!==n.paramsString&&(n.paramsString+="&"),n.paramsString+=r[o])}return n}function x(){var e={setSuccess:function(t){e.resolve(t)},setError:function(t){e.reject(t)}};return e.promise=new Promise(function(t,r){e.resolve=t,e.reject=r}),e}function S(){var e=x();if(!c.enable||c.iframe)return e.setSuccess(),e.promise;var t=document.createElement("iframe");c.iframe=t,t.onload=function(){var t=o.endpoints.authorize();"/"===t.charAt(0)?c.iframeOrigin=window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""):c.iframeOrigin=t.substring(0,t.indexOf("/",8)),e.setSuccess()};var r=o.endpoints.checkSessionIframe();return t.setAttribute("src",r),t.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),t.setAttribute("title","keycloak-session-iframe"),t.style.display="none",document.body.appendChild(t),window.addEventListener("message",function(e){if(e.origin===c.iframeOrigin&&c.iframe.contentWindow===e.source&&("unchanged"==e.data||"changed"==e.data||"error"==e.data)){"unchanged"!=e.data&&o.clearToken();for(var t=c.callbackList.splice(0,c.callbackList.length),r=t.length-1;r>=0;--r){var n=t[r];"error"==e.data?n.setError():n.setSuccess("unchanged"==e.data)}}},!1),e.promise}function _(){c.enable&&o.token&&setTimeout(function(){A().then(function(e){e&&_()})},1e3*c.interval)}function A(){var e=x();if(c.iframe&&c.iframeOrigin){var t=o.clientId+" "+(o.sessionId?o.sessionId:"");c.callbackList.push(e);var r=c.iframeOrigin;1==c.callbackList.length&&c.iframe.contentWindow.postMessage(t,r)}else e.setSuccess();return e.promise}function E(){var e,t,r,n=x();if(c.enable||o.silentCheckSsoRedirectUri){var i=document.createElement("iframe");i.setAttribute("src",o.endpoints.thirdPartyCookiesIframe()),i.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),i.setAttribute("title","keycloak-3p-check-iframe"),i.style.display="none",document.body.appendChild(i);var s=function(e){i.contentWindow===e.source&&("supported"===e.data||"unsupported"===e.data)&&("unsupported"===e.data&&(h("[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means:\n\n - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication).\n - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab).\n\nFor more information see: https://www.keycloak.org/docs/latest/securing_apps/#_modern_browsers"),c.enable=!1,o.silentCheckSsoFallback&&(o.silentCheckSsoRedirectUri=!1)),document.body.removeChild(i),window.removeEventListener("message",s),n.setSuccess())};window.addEventListener("message",s,!1)}else n.setSuccess();return e=n.promise,t=o.messageReceiveTimeout,r=null,Promise.race([e,new Promise(function(e,n){r=setTimeout(function(){n({error:"Timeout when waiting for 3rd party check iframe message."})},t)})]).finally(function(){clearTimeout(r)})}function C(e){if(!e||"default"==e)return{login:function(e){return window.location.assign(o.createLoginUrl(e)),x().promise},logout:async function(e){if("GET"===(e?.logoutMethod??o.logoutMethod))return void window.location.replace(o.createLogoutUrl(e));let r=o.createLogoutUrl(e),n=await fetch(r,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({id_token_hint:o.idToken,client_id:o.clientId,post_logout_redirect_uri:t.redirectUri(e,!1)})});if(n.redirected){window.location.href=n.url;return}if(n.ok)return void window.location.reload();throw Error("Logout failed, request returned an error code.")},register:function(e){return window.location.assign(o.createRegisterUrl(e)),x().promise},accountManagement:function(){var e=o.createAccountUrl();if(void 0!==e)window.location.href=e;else throw"Not supported by the OIDC server";return x().promise},redirectUri:function(e,t){return e&&e.redirectUri?e.redirectUri:o.redirectUri?o.redirectUri:location.href}};if("cordova"==e){c.enable=!1;var r=function(e,t,r){return window.cordova&&window.cordova.InAppBrowser?window.cordova.InAppBrowser.open(e,t,r):window.open(e,t,r)},n=function(e){var t=e&&e.cordovaOptions?Object.keys(e.cordovaOptions).reduce(function(t,r){return t[r]=e.cordovaOptions[r],t},{}):{};return t.location="no",e&&"none"==e.prompt&&(t.hidden="yes"),Object.keys(t).reduce(function(e,r){return e.push(r+"="+t[r]),e},[]).join(",")},i=function(){return o.redirectUri||"http://localhost"};return{login:function(e){var t=x(),s=n(e),a=r(o.createLoginUrl(e),"_blank",s),c=!1,u=!1,l=function(){u=!0,a.close()};return a.addEventListener("loadstart",function(e){0==e.url.indexOf(i())&&(g(k(e.url),t),l(),c=!0)}),a.addEventListener("loaderror",function(e){c||(0==e.url.indexOf(i())?(g(k(e.url),t),l(),c=!0):(t.setError(),l()))}),a.addEventListener("exit",function(e){u||t.setError({reason:"closed_by_user"})}),t.promise},logout:function(e){var t,n=x(),s=r(o.createLogoutUrl(e),"_blank","location=no,hidden=yes,clearcache=yes");return s.addEventListener("loadstart",function(e){0==e.url.indexOf(i())&&s.close()}),s.addEventListener("loaderror",function(e){0==e.url.indexOf(i())||(t=!0),s.close()}),s.addEventListener("exit",function(e){t?n.setError():(o.clearToken(),n.setSuccess())}),n.promise},register:function(e){var t=x(),s=r(o.createRegisterUrl(),"_blank",n(e));return s.addEventListener("loadstart",function(e){0==e.url.indexOf(i())&&(s.close(),g(k(e.url),t))}),t.promise},accountManagement:function(){var e=o.createAccountUrl();if(void 0!==e){var t=r(e,"_blank","location=no");t.addEventListener("loadstart",function(e){0==e.url.indexOf(i())&&t.close()})}else throw"Not supported by the OIDC server"},redirectUri:function(e){return i()}}}if("cordova-native"==e)return c.enable=!1,{login:function(e){var t=x(),r=o.createLoginUrl(e);return universalLinks.subscribe("keycloak",function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),g(k(e.url),t)}),window.cordova.plugins.browsertab.openUrl(r),t.promise},logout:function(e){var t=x(),r=o.createLogoutUrl(e);return universalLinks.subscribe("keycloak",function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),o.clearToken(),t.setSuccess()}),window.cordova.plugins.browsertab.openUrl(r),t.promise},register:function(e){var t=x(),r=o.createRegisterUrl(e);return universalLinks.subscribe("keycloak",function(e){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),g(k(e.url),t)}),window.cordova.plugins.browsertab.openUrl(r),t.promise},accountManagement:function(){var e=o.createAccountUrl();if(void 0!==e)window.cordova.plugins.browsertab.openUrl(e);else throw"Not supported by the OIDC server"},redirectUri:function(e){return e&&e.redirectUri?e.redirectUri:o.redirectUri?o.redirectUri:"http://localhost"}};throw"invalid adapter type: "+e}o.init=function(n){if(o.didInitialize)throw Error("A 'Keycloak' instance can only be initialized once.");if(o.didInitialize=!0,o.authenticated=!1,r=function(){try{return new O}catch(e){}return new U}(),t=n&&["default","cordova","cordova-native"].indexOf(n.adapter)>-1?C(n.adapter):n&&"object"==typeof n.adapter?n.adapter:window.Cordova||window.cordova?C("cordova"):C(),n){if(void 0!==n.useNonce&&(d=n.useNonce),void 0!==n.checkLoginIframe&&(c.enable=n.checkLoginIframe),n.checkLoginIframeInterval&&(c.interval=n.checkLoginIframeInterval),"login-required"===n.onLoad&&(o.loginRequired=!0),n.responseMode)if("query"===n.responseMode||"fragment"===n.responseMode)o.responseMode=n.responseMode;else throw"Invalid value for responseMode";if(n.flow){switch(n.flow){case"standard":o.responseType="code";break;case"implicit":o.responseType="id_token token";break;case"hybrid":o.responseType="code id_token token";break;default:throw"Invalid value for flow"}o.flow=n.flow}if(null!=n.timeSkew&&(o.timeSkew=n.timeSkew),n.redirectUri&&(o.redirectUri=n.redirectUri),n.silentCheckSsoRedirectUri&&(o.silentCheckSsoRedirectUri=n.silentCheckSsoRedirectUri),"boolean"==typeof n.silentCheckSsoFallback?o.silentCheckSsoFallback=n.silentCheckSsoFallback:o.silentCheckSsoFallback=!0,void 0!==n.pkceMethod){if("S256"!==n.pkceMethod&&!1!==n.pkceMethod)throw TypeError(`Invalid value for pkceMethod', expected 'S256' or false but got ${n.pkceMethod}.`);o.pkceMethod=n.pkceMethod}else o.pkceMethod="S256";"boolean"==typeof n.enableLogging?o.enableLogging=n.enableLogging:o.enableLogging=!1,"POST"===n.logoutMethod?o.logoutMethod="POST":o.logoutMethod="GET","string"==typeof n.scope&&(o.scope=n.scope),"string"==typeof n.acrValues&&(o.acrValues=n.acrValues),"number"==typeof n.messageReceiveTimeout&&n.messageReceiveTimeout>0?o.messageReceiveTimeout=n.messageReceiveTimeout:o.messageReceiveTimeout=1e4}o.responseMode||(o.responseMode="fragment"),o.responseType||(o.responseType="code",o.flow="standard");var i=x(),s=x();s.promise.then(function(){o.onReady&&o.onReady(o.authenticated),i.setSuccess(o.authenticated)}).catch(function(e){i.setError(e)});var a=function(t){var r=x();function n(e){e?o.endpoints={authorize:function(){return e.authorization_endpoint},token:function(){return e.token_endpoint},logout:function(){if(!e.end_session_endpoint)throw"Not supported by the OIDC server";return e.end_session_endpoint},checkSessionIframe:function(){if(!e.check_session_iframe)throw"Not supported by the OIDC server";return e.check_session_iframe},register:function(){throw'Redirection to "Register user" page not supported in standard OIDC mode'},userinfo:function(){if(!e.userinfo_endpoint)throw"Not supported by the OIDC server";return e.userinfo_endpoint}}:o.endpoints={authorize:function(){return m()+"/protocol/openid-connect/auth"},token:function(){return m()+"/protocol/openid-connect/token"},logout:function(){return m()+"/protocol/openid-connect/logout"},checkSessionIframe:function(){var e=m()+"/protocol/openid-connect/login-status-iframe.html";return o.iframeVersion&&(e=e+"?version="+o.iframeVersion),e},thirdPartyCookiesIframe:function(){var e=m()+"/protocol/openid-connect/3p-cookies/step1.html";return o.iframeVersion&&(e=e+"?version="+o.iframeVersion),e},register:function(){return m()+"/protocol/openid-connect/registrations"},userinfo:function(){return m()+"/protocol/openid-connect/userinfo"}}}if(e?"string"==typeof e&&(a=e):a="keycloak.json",a){var i=new XMLHttpRequest;i.open("GET",a,!0),i.setRequestHeader("Accept","application/json"),i.onreadystatechange=function(){if(4==i.readyState)if(200==i.status||v(i)){var e=JSON.parse(i.responseText);o.authServerUrl=e["auth-server-url"],o.realm=e.realm,o.clientId=e.resource,n(null),r.setSuccess()}else r.setError()},i.send()}else{if(!e.clientId)throw"clientId missing";o.clientId=e.clientId;var s=e.oidcProvider;if(s)if("string"==typeof s){var a,c="/"==s.charAt(s.length-1)?s+".well-known/openid-configuration":s+"/.well-known/openid-configuration",i=new XMLHttpRequest;i.open("GET",c,!0),i.setRequestHeader("Accept","application/json"),i.onreadystatechange=function(){4==i.readyState&&(200==i.status||v(i)?(n(JSON.parse(i.responseText)),r.setSuccess()):r.setError())},i.send()}else n(s),r.setSuccess();else{if(!e.url){for(var u=document.getElementsByTagName("script"),l=0;l<u.length;l++)if(u[l].src.match(/.*keycloak\.js/)){e.url=u[l].src.substr(0,u[l].src.indexOf("/js/keycloak.js"));break}}if(!e.realm)throw"realm missing";o.authServerUrl=e.url,o.realm=e.realm,n(null),r.setSuccess()}}return r.promise}();function u(){var e=function(e){e||(r.prompt="none"),n&&n.locale&&(r.locale=n.locale),o.login(r).then(function(){s.setSuccess()}).catch(function(e){s.setError(e)})},t=function(){var e=document.createElement("iframe"),t=o.createLoginUrl({prompt:"none",redirectUri:o.silentCheckSsoRedirectUri});e.setAttribute("src",t),e.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),e.setAttribute("title","keycloak-silent-check-sso"),e.style.display="none",document.body.appendChild(e);var r=function(t){t.origin===window.location.origin&&e.contentWindow===t.source&&(g(k(t.data),s),document.body.removeChild(e),window.removeEventListener("message",r))};window.addEventListener("message",r)},r={};switch(n.onLoad){case"check-sso":c.enable?S().then(function(){A().then(function(r){r?s.setSuccess():o.silentCheckSsoRedirectUri?t():e(!1)}).catch(function(e){s.setError(e)})}):o.silentCheckSsoRedirectUri?t():e(!1);break;case"login-required":e(!0);break;default:throw"Invalid value for onLoad"}}function l(){var e=k(window.location.href);if(e&&window.history.replaceState(window.history.state,null,e.newUrl),e&&e.valid)return S().then(function(){g(e,s)}).catch(function(e){s.setError(e)});n?n.token&&n.refreshToken?(y(n.token,n.refreshToken,n.idToken),c.enable?S().then(function(){A().then(function(e){e?(o.onAuthSuccess&&o.onAuthSuccess(),s.setSuccess(),_()):s.setSuccess()}).catch(function(e){s.setError(e)})}):o.updateToken(-1).then(function(){o.onAuthSuccess&&o.onAuthSuccess(),s.setSuccess()}).catch(function(e){o.onAuthError&&o.onAuthError(),n.onLoad?u():s.setError(e)})):n.onLoad?u():s.setSuccess():s.setSuccess()}return a.then(function(){var e,t;(e=x(),t=function(){("interactive"===document.readyState||"complete"===document.readyState)&&(document.removeEventListener("readystatechange",t),e.setSuccess())},document.addEventListener("readystatechange",t),t(),e.promise).then(E).then(l).catch(function(e){i.setError(e)})}),a.catch(function(e){i.setError(e)}),i.promise},o.login=function(e){return t.login(e)},o.createLoginUrl=function(e){var i,s=b(),a=b(),c=t.redirectUri(e),u={state:s,nonce:a,redirectUri:encodeURIComponent(c)};e&&e.prompt&&(u.prompt=e.prompt),i=e&&"register"==e.action?o.endpoints.register():o.endpoints.authorize();var l=e&&e.scope||o.scope;l?-1===l.indexOf("openid")&&(l="openid "+l):l="openid";var f=i+"?client_id="+encodeURIComponent(o.clientId)+"&redirect_uri="+encodeURIComponent(c)+"&state="+encodeURIComponent(s)+"&response_mode="+encodeURIComponent(o.responseMode)+"&response_type="+encodeURIComponent(o.responseType)+"&scope="+encodeURIComponent(l);if(d&&(f=f+"&nonce="+encodeURIComponent(a)),e&&e.prompt&&(f+="&prompt="+encodeURIComponent(e.prompt)),e&&e.maxAge&&(f+="&max_age="+encodeURIComponent(e.maxAge)),e&&e.loginHint&&(f+="&login_hint="+encodeURIComponent(e.loginHint)),e&&e.idpHint&&(f+="&kc_idp_hint="+encodeURIComponent(e.idpHint)),e&&e.action&&"register"!=e.action&&(f+="&kc_action="+encodeURIComponent(e.action)),e&&e.locale&&(f+="&ui_locales="+encodeURIComponent(e.locale)),e&&e.acr&&(f+="&claims="+encodeURIComponent(JSON.stringify({id_token:{acr:e.acr}}))),(e&&e.acrValues||o.acrValues)&&(f+="&acr_values="+encodeURIComponent(e.acrValues||o.acrValues)),o.pkceMethod){var h=p(96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");u.pkceCodeVerifier=h,f+="&code_challenge="+function(e,t){if("S256"!==e)throw TypeError(`Invalid value for 'pkceMethod', expected 'S256' but got '${e}'.`);return btoa(String.fromCodePoint(...new Uint8Array(n.arrayBuffer(t)))).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}(o.pkceMethod,h)+"&code_challenge_method="+o.pkceMethod}return r.add(u),f},o.logout=function(e){return t.logout(e)},o.createLogoutUrl=function(e){if("POST"===(e?.logoutMethod??o.logoutMethod))return o.endpoints.logout();var r=o.endpoints.logout()+"?client_id="+encodeURIComponent(o.clientId)+"&post_logout_redirect_uri="+encodeURIComponent(t.redirectUri(e,!1));return o.idToken&&(r+="&id_token_hint="+encodeURIComponent(o.idToken)),r},o.register=function(e){return t.register(e)},o.createRegisterUrl=function(e){return e||(e={}),e.action="register",o.createLoginUrl(e)},o.createAccountUrl=function(e){var r=m(),n=void 0;return void 0!==r&&(n=r+"/account?referrer="+encodeURIComponent(o.clientId)+"&referrer_uri="+encodeURIComponent(t.redirectUri(e))),n},o.accountManagement=function(){return t.accountManagement()},o.hasRealmRole=function(e){var t=o.realmAccess;return!!t&&t.roles.indexOf(e)>=0},o.hasResourceRole=function(e,t){if(!o.resourceAccess)return!1;var r=o.resourceAccess[t||o.clientId];return!!r&&r.roles.indexOf(e)>=0},o.loadUserProfile=function(){var e=m()+"/account",t=new XMLHttpRequest;t.open("GET",e,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Authorization","bearer "+o.token);var r=x();return t.onreadystatechange=function(){4==t.readyState&&(200==t.status?(o.profile=JSON.parse(t.responseText),r.setSuccess(o.profile)):r.setError())},t.send(),r.promise},o.loadUserInfo=function(){var e=o.endpoints.userinfo(),t=new XMLHttpRequest;t.open("GET",e,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Authorization","bearer "+o.token);var r=x();return t.onreadystatechange=function(){4==t.readyState&&(200==t.status?(o.userInfo=JSON.parse(t.responseText),r.setSuccess(o.userInfo)):r.setError())},t.send(),r.promise},o.isTokenExpired=function(e){if(!o.tokenParsed||!o.refreshToken&&"implicit"!=o.flow)throw"Not authenticated";if(null==o.timeSkew)return f("[KEYCLOAK] Unable to determine if token is expired as timeskew is not set"),!0;var t=o.tokenParsed.exp-Math.ceil(new Date().getTime()/1e3)+o.timeSkew;if(e){if(isNaN(e))throw"Invalid minValidity";t-=e}return t<0},o.updateToken=function(e){var t=x();if(!o.refreshToken)return t.setError(),t.promise;e=e||5;var r=function(){var r=!1;if(-1==e?(r=!0,f("[KEYCLOAK] Refreshing token: forced refresh")):(!o.tokenParsed||o.isTokenExpired(e))&&(r=!0,f("[KEYCLOAK] Refreshing token: token expired")),r){var n="grant_type=refresh_token&refresh_token="+o.refreshToken,i=o.endpoints.token();if(a.push(t),1==a.length){var s=new XMLHttpRequest;s.open("POST",i,!0),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),s.withCredentials=!0,n+="&client_id="+encodeURIComponent(o.clientId);var c=new Date().getTime();s.onreadystatechange=function(){if(4==s.readyState)if(200==s.status){f("[KEYCLOAK] Token refreshed"),c=(c+new Date().getTime())/2;var e=JSON.parse(s.responseText);y(e.access_token,e.refresh_token,e.id_token,c),o.onAuthRefreshSuccess&&o.onAuthRefreshSuccess();for(var t=a.pop();null!=t;t=a.pop())t.setSuccess(!0)}else{h("[KEYCLOAK] Failed to refresh token"),400==s.status&&o.clearToken(),o.onAuthRefreshError&&o.onAuthRefreshError();for(var t=a.pop();null!=t;t=a.pop())t.setError(!0)}},s.send(n)}}else t.setSuccess(!1)};return c.enable?A().then(function(){r()}).catch(function(e){t.setError(e)}):r(),t.promise},o.clearToken=function(){o.token&&(y(null,null,null),o.onAuthLogout&&o.onAuthLogout(),o.loginRequired&&o.login())};var O=function(){if(!(this instanceof O))return new O;function e(){for(var e=new Date().getTime(),t=0;t<localStorage.length;t++){var r=localStorage.key(t);if(r&&0==r.indexOf("kc-callback-")){var n=localStorage.getItem(r);if(n)try{var o=JSON.parse(n).expires;(!o||o<e)&&localStorage.removeItem(r)}catch(e){localStorage.removeItem(r)}}}}localStorage.setItem("kc-test","test"),localStorage.removeItem("kc-test"),this.get=function(t){if(t){var r="kc-callback-"+t,n=localStorage.getItem(r);return n&&(localStorage.removeItem(r),n=JSON.parse(n)),e(),n}},this.add=function(t){e();var r="kc-callback-"+t.state;t.expires=new Date().getTime()+36e5,localStorage.setItem(r,JSON.stringify(t))}},U=function(){if(!(this instanceof U))return new U;this.get=function(n){if(n){var o=t("kc-callback-"+n);if(r("kc-callback-"+n,"",e(-100)),o)return JSON.parse(o)}},this.add=function(t){r("kc-callback-"+t.state,JSON.stringify(t),e(60))},this.removeItem=function(t){r(t,"",e(-100))};var e=function(e){var t=new Date;return t.setTime(t.getTime()+60*e*1e3),t},t=function(e){for(var t=e+"=",r=document.cookie.split(";"),n=0;n<r.length;n++){for(var o=r[n];" "==o.charAt(0);)o=o.substring(1);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return""},r=function(e,t,r){var n=e+"="+t+"; expires="+r.toUTCString()+"; ";document.cookie=n}};function I(e){return function(){o.enableLogging&&e.apply(console,Array.prototype.slice.call(arguments))}}}},5370:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},12108:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},14105:(e,t)=>{"use strict";function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:o,blurDataURL:i,objectFit:s}=e,a=n?40*n:t,c=o?40*o:r,u=a&&c?"viewBox='0 0 "+a+" "+c+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+u+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(u?"none":"contain"===s?"xMidYMid":"cover"===s?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+i+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},14806:(e,t,r)=>{"use strict";e.exports=r(30125)},15239:(e,t,r)=>{"use strict";r.d(t,{default:()=>o.a});var n=r(54652),o=r.n(n)},20821:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},26550:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]])},30125:(e,t,r)=>{"use strict";var n=r(12115),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=n.useState,s=n.useEffect,a=n.useLayoutEffect,c=n.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!o(e,r)}catch(e){return!0}}var l="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=i({inst:{value:r,getSnapshot:t}}),o=n[0].inst,l=n[1];return a(function(){o.value=r,o.getSnapshot=t,u(o)&&l({inst:o})},[e,r,t]),s(function(){return u(o)&&l({inst:o}),e(function(){u(o)&&l({inst:o})})},[e]),c(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:l},33455:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=r(30943)._(r(12115)),o=r(20821),i=n.default.createContext(o.imageConfigDefault)},37397:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("swords",[["polyline",{points:"14.5 17.5 3 6 3 3 6 3 17.5 14.5",key:"1hfsw2"}],["line",{x1:"13",x2:"19",y1:"19",y2:"13",key:"1vrmhu"}],["line",{x1:"16",x2:"20",y1:"16",y2:"20",key:"1bron3"}],["line",{x1:"19",x2:"21",y1:"21",y2:"19",key:"13pww6"}],["polyline",{points:"14.5 6.5 18 3 21 3 21 6 17.5 9.5",key:"hbey2j"}],["line",{x1:"5",x2:"9",y1:"14",y2:"18",key:"1hf58s"}],["line",{x1:"7",x2:"4",y1:"17",y2:"20",key:"pidxm4"}],["line",{x1:"3",x2:"5",y1:"19",y2:"21",key:"1pehsh"}]])},40246:(e,t,r)=>{var n,o=r(95704);!function(){"use strict";var t="input is invalid type",i="object"==typeof window,s=i?window:{};s.JS_SHA256_NO_WINDOW&&(i=!1);var a=!i&&"object"==typeof self,c=!s.JS_SHA256_NO_NODE_JS&&"object"==typeof o&&o.versions&&o.versions.node&&"renderer"!=o.type;c?s=r.g:a&&(s=self);var u=!s.JS_SHA256_NO_COMMON_JS&&e.exports,l=r.amdO,d=!s.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,f="0123456789abcdef".split(""),h=[-0x80000000,8388608,32768,128],p=[24,16,8,0],m=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2],g=["hex","array","digest","arrayBuffer"],v=[];(s.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),d&&(s.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var y=function(e,t){return function(r){return new S(t,!0).update(r)[e]()}},b=function(e){var t=y("hex",e);c&&(t=k(t,e)),t.create=function(){return new S(e)},t.update=function(e){return t.create().update(e)};for(var r=0;r<g.length;++r){var n=g[r];t[n]=y(n,e)}return t},k=function(e,n){var o,i=r(24394),a=r(91903).Buffer,c=n?"sha224":"sha256";return o=a.from&&!s.JS_SHA256_NO_BUFFER_FROM?a.from:function(e){return new a(e)},function(r){if("string"==typeof r)return i.createHash(c).update(r,"utf8").digest("hex");if(null==r)throw Error(t);return r.constructor===ArrayBuffer&&(r=new Uint8Array(r)),Array.isArray(r)||ArrayBuffer.isView(r)||r.constructor===a?i.createHash(c).update(o(r)).digest("hex"):e(r)}},w=function(e,t){return function(r,n){return new _(r,t,!0).update(n)[e]()}},x=function(e){var t=w("hex",e);t.create=function(t){return new _(t,e)},t.update=function(e,r){return t.create(e).update(r)};for(var r=0;r<g.length;++r){var n=g[r];t[n]=w(n,e)}return t};function S(e,t){t?(v[0]=v[16]=v[1]=v[2]=v[3]=v[4]=v[5]=v[6]=v[7]=v[8]=v[9]=v[10]=v[11]=v[12]=v[13]=v[14]=v[15]=0,this.blocks=v):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=0xc1059ed8,this.h1=0x367cd507,this.h2=0x3070dd17,this.h3=0xf70e5939,this.h4=0xffc00b31,this.h5=0x68581511,this.h6=0x64f98fa7,this.h7=0xbefa4fa4):(this.h0=0x6a09e667,this.h1=0xbb67ae85,this.h2=0x3c6ef372,this.h3=0xa54ff53a,this.h4=0x510e527f,this.h5=0x9b05688c,this.h6=0x1f83d9ab,this.h7=0x5be0cd19),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}function _(e,r,n){var o,i=typeof e;if("string"===i){var s,a=[],c=e.length,u=0;for(o=0;o<c;++o)(s=e.charCodeAt(o))<128?a[u++]=s:(s<2048?a[u++]=192|s>>>6:(s<55296||s>=57344?a[u++]=224|s>>>12:(s=65536+((1023&s)<<10|1023&e.charCodeAt(++o)),a[u++]=240|s>>>18,a[u++]=128|s>>>12&63),a[u++]=128|s>>>6&63),a[u++]=128|63&s);e=a}else if("object"===i){if(null===e)throw Error(t);else if(d&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!d||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);e.length>64&&(e=new S(r,!0).update(e).array());var l=[],f=[];for(o=0;o<64;++o){var h=e[o]||0;l[o]=92^h,f[o]=54^h}S.call(this,r,n),this.update(f),this.oKeyPad=l,this.inner=!0,this.sharedMemory=n}S.prototype.update=function(e){if(!this.finalized){var r,n=typeof e;if("string"!==n){if("object"===n){if(null===e)throw Error(t);else if(d&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!d||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);r=!0}for(var o,i,s=0,a=e.length,c=this.blocks;s<a;){if(this.hashed&&(this.hashed=!1,c[0]=this.block,this.block=c[16]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]=c[7]=c[8]=c[9]=c[10]=c[11]=c[12]=c[13]=c[14]=c[15]=0),r)for(i=this.start;s<a&&i<64;++s)c[i>>>2]|=e[s]<<p[3&i++];else for(i=this.start;s<a&&i<64;++s)(o=e.charCodeAt(s))<128?c[i>>>2]|=o<<p[3&i++]:(o<2048?c[i>>>2]|=(192|o>>>6)<<p[3&i++]:(o<55296||o>=57344?c[i>>>2]|=(224|o>>>12)<<p[3&i++]:(o=65536+((1023&o)<<10|1023&e.charCodeAt(++s)),c[i>>>2]|=(240|o>>>18)<<p[3&i++],c[i>>>2]|=(128|o>>>12&63)<<p[3&i++]),c[i>>>2]|=(128|o>>>6&63)<<p[3&i++]),c[i>>>2]|=(128|63&o)<<p[3&i++]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.block=c[16],this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>0xffffffff&&(this.hBytes+=this.bytes/0x100000000|0,this.bytes=this.bytes%0x100000000),this}},S.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=h[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},S.prototype.hash=function(){var e,t,r,n,o,i,s,a,c,u,l=this.h0,d=this.h1,f=this.h2,h=this.h3,p=this.h4,g=this.h5,v=this.h6,y=this.h7,b=this.blocks;for(e=16;e<64;++e)t=((o=b[e-15])>>>7|o<<25)^(o>>>18|o<<14)^o>>>3,r=((o=b[e-2])>>>17|o<<15)^(o>>>19|o<<13)^o>>>10,b[e]=b[e-16]+t+b[e-7]+r|0;for(e=0,u=d&f;e<64;e+=4)this.first?(this.is224?(s=300032,y=(o=b[0]-0x543c9a5b)-0x8f1a6c7|0,h=o+0x170e9b5|0):(s=0x2a01a605,y=(o=b[0]-0xc881298)-0x5ab00ac6|0,h=o+0x8909ae5|0),this.first=!1):(t=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),r=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),n=(s=l&d)^l&f^u,o=y+r+(p&g^~p&v)+m[e]+b[e],i=t+n,y=h+o|0,h=o+i|0),t=(h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10),r=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),n=(a=h&l)^h&d^s,o=v+r+(y&p^~y&g)+m[e+1]+b[e+1],i=t+n,v=f+o|0,t=((f=o+i|0)>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),r=(v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7),n=(c=f&h)^f&l^a,o=g+r+(v&y^~v&p)+m[e+2]+b[e+2],i=t+n,g=d+o|0,t=((d=o+i|0)>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),r=(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7),n=(u=d&f)^d&h^c,o=p+r+(g&v^~g&y)+m[e+3]+b[e+3],i=t+n,p=l+o|0,l=o+i|0,this.chromeBugWorkAround=!0;this.h0=this.h0+l|0,this.h1=this.h1+d|0,this.h2=this.h2+f|0,this.h3=this.h3+h|0,this.h4=this.h4+p|0,this.h5=this.h5+g|0,this.h6=this.h6+v|0,this.h7=this.h7+y|0},S.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,s=this.h6,a=this.h7,c=f[e>>>28&15]+f[e>>>24&15]+f[e>>>20&15]+f[e>>>16&15]+f[e>>>12&15]+f[e>>>8&15]+f[e>>>4&15]+f[15&e]+f[t>>>28&15]+f[t>>>24&15]+f[t>>>20&15]+f[t>>>16&15]+f[t>>>12&15]+f[t>>>8&15]+f[t>>>4&15]+f[15&t]+f[r>>>28&15]+f[r>>>24&15]+f[r>>>20&15]+f[r>>>16&15]+f[r>>>12&15]+f[r>>>8&15]+f[r>>>4&15]+f[15&r]+f[n>>>28&15]+f[n>>>24&15]+f[n>>>20&15]+f[n>>>16&15]+f[n>>>12&15]+f[n>>>8&15]+f[n>>>4&15]+f[15&n]+f[o>>>28&15]+f[o>>>24&15]+f[o>>>20&15]+f[o>>>16&15]+f[o>>>12&15]+f[o>>>8&15]+f[o>>>4&15]+f[15&o]+f[i>>>28&15]+f[i>>>24&15]+f[i>>>20&15]+f[i>>>16&15]+f[i>>>12&15]+f[i>>>8&15]+f[i>>>4&15]+f[15&i]+f[s>>>28&15]+f[s>>>24&15]+f[s>>>20&15]+f[s>>>16&15]+f[s>>>12&15]+f[s>>>8&15]+f[s>>>4&15]+f[15&s];return this.is224||(c+=f[a>>>28&15]+f[a>>>24&15]+f[a>>>20&15]+f[a>>>16&15]+f[a>>>12&15]+f[a>>>8&15]+f[a>>>4&15]+f[15&a]),c},S.prototype.toString=S.prototype.hex,S.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3,o=this.h4,i=this.h5,s=this.h6,a=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n,o>>>24&255,o>>>16&255,o>>>8&255,255&o,i>>>24&255,i>>>16&255,i>>>8&255,255&i,s>>>24&255,s>>>16&255,s>>>8&255,255&s];return this.is224||c.push(a>>>24&255,a>>>16&255,a>>>8&255,255&a),c},S.prototype.array=S.prototype.digest,S.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},_.prototype=new S,_.prototype.finalize=function(){if(S.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();S.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),S.prototype.finalize.call(this)}};var A=b();A.sha256=A,A.sha224=b(!0),A.sha256.hmac=x(),A.sha224.hmac=x(!0),u?e.exports=A:(s.sha256=A.sha256,s.sha224=A.sha224,l&&(void 0===(n=(function(){return A}).call(A,r,A,e))||(e.exports=n)))}()},46591:(e,t,r)=>{"use strict";r.d(t,{H4:()=>_,_V:()=>S,bL:()=>x});var n=r(12115),o=r(3468),i=r(70222),s=r(4129),a=r(88142),c=r(14806);function u(){return()=>{}}var l=r(95155),d="Avatar",[f,h]=(0,o.A)(d),[p,m]=f(d),g=n.forwardRef((e,t)=>{let{__scopeAvatar:r,...o}=e,[i,s]=n.useState("idle");return(0,l.jsx)(p,{scope:r,imageLoadingStatus:i,onImageLoadingStatusChange:s,children:(0,l.jsx)(a.sG.span,{...o,ref:t})})});g.displayName=d;var v="AvatarImage",y=n.forwardRef((e,t)=>{let{__scopeAvatar:r,src:o,onLoadingStatusChange:d=()=>{},...f}=e,h=m(v,r),p=function(e,t){let{referrerPolicy:r,crossOrigin:o}=t,i=(0,c.useSyncExternalStore)(u,()=>!0,()=>!1),a=n.useRef(null),l=i?(a.current||(a.current=new window.Image),a.current):null,[d,f]=n.useState(()=>w(l,e));return(0,s.N)(()=>{f(w(l,e))},[l,e]),(0,s.N)(()=>{let e=e=>()=>{f(e)};if(!l)return;let t=e("loaded"),n=e("error");return l.addEventListener("load",t),l.addEventListener("error",n),r&&(l.referrerPolicy=r),"string"==typeof o&&(l.crossOrigin=o),()=>{l.removeEventListener("load",t),l.removeEventListener("error",n)}},[l,o,r]),d}(o,f),g=(0,i.c)(e=>{d(e),h.onImageLoadingStatusChange(e)});return(0,s.N)(()=>{"idle"!==p&&g(p)},[p,g]),"loaded"===p?(0,l.jsx)(a.sG.img,{...f,ref:t,src:o}):null});y.displayName=v;var b="AvatarFallback",k=n.forwardRef((e,t)=>{let{__scopeAvatar:r,delayMs:o,...i}=e,s=m(b,r),[c,u]=n.useState(void 0===o);return n.useEffect(()=>{if(void 0!==o){let e=window.setTimeout(()=>u(!0),o);return()=>window.clearTimeout(e)}},[o]),c&&"loaded"!==s.imageLoadingStatus?(0,l.jsx)(a.sG.span,{...i,ref:t}):null});function w(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}k.displayName=b;var x=g,S=y,_=k},46826:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("circle-plus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]])},47937:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},54652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return c},getImageProps:function(){return a}});let n=r(30943),o=r(75040),i=r(81356),s=n._(r(71124));function a(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:s.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=i.Image},60861:(e,t)=>{"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},65993:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]])},71124:(e,t)=>{"use strict";function r(e){var t;let{config:r,src:n,width:o,quality:i}=e,s=i||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+o+"&q="+s+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},74841:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return d}});let n=r(30943),o=r(88604),i=r(95155),s=o._(r(12115)),a=n._(r(1262)),c=r(90737),u=r(82073),l=r(60861);function d(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(94781);let h=["name","httpEquiv","charSet","itemProp"];function p(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(d(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let i=!0,s=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){s=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?i=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?i=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e<t;e++){let t=h[e];if(o.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?i=!1:r.add(t);else{let e=o.props[t],r=n[t]||new Set;("name"!==t||!s)&&r.has(e)?i=!1:(r.add(e),n[t]=r)}}}return i}}()).reverse().map((e,t)=>{let r=e.key||t;return s.default.cloneElement(e,{key:r})})}let m=function(e){let{children:t}=e,r=(0,s.useContext)(c.AmpStateContext),n=(0,s.useContext)(u.HeadManagerContext);return(0,i.jsx)(a.default,{reduceComponentsToState:p,headManager:n,inAmpMode:(0,l.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},75040:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return c}}),r(94781);let n=r(14105),o=r(20821),i=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c(e,t){var r,c;let u,l,d,{src:f,sizes:h,unoptimized:p=!1,priority:m=!1,loading:g,className:v,quality:y,width:b,height:k,fill:w=!1,style:x,overrideSrc:S,onLoad:_,onLoadingComplete:A,placeholder:E="empty",blurDataURL:C,fetchPriority:O,decoding:U="async",layout:I,objectFit:R,objectPosition:T,lazyBoundary:P,lazyRoot:M,...j}=e,{imgConf:L,showAltText:z,blurComplete:N,defaultLoader:D}=t,H=L||o.imageConfigDefault;if("allSizes"in H)u=H;else{let e=[...H.deviceSizes,...H.imageSizes].sort((e,t)=>e-t),t=H.deviceSizes.sort((e,t)=>e-t),n=null==(r=H.qualities)?void 0:r.sort((e,t)=>e-t);u={...H,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===D)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let V=j.loader||D;delete j.loader,delete j.srcSet;let B="__next_img_default"in V;if(B){if("custom"===u.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=V;V=t=>{let{config:r,...n}=t;return e(n)}}if(I){"fill"===I&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[I];e&&(x={...x,...e});let t={responsive:"100vw",fill:"100vw"}[I];t&&!h&&(h=t)}let q="",F=a(b),J=a(k),K=!1;if((c=f)&&"object"==typeof c&&(s(c)||void 0!==c.src)){let e=s(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(l=e.blurWidth,d=e.blurHeight,C=C||e.blurDataURL,q=e.src,K=/\.avif(?:\?|$)/i.test(q),!w)if(F||J){if(F&&!J){let t=F/e.width;J=Math.round(e.height*t)}else if(!F&&J){let t=J/e.height;F=Math.round(e.width*t)}}else F=e.width,J=e.height}K&&"blur"===E&&!C&&(E="empty");let G=!m&&("lazy"===g||void 0===g);(!(f="string"==typeof f?f:q)||f.startsWith("data:")||f.startsWith("blob:"))&&(p=!0,G=!1),u.unoptimized&&(p=!0),B&&!u.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(p=!0);let W=a(y),Y=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:R,objectPosition:T}:{},z?{}:{color:"transparent"},x),X=N||"empty"===E?null:"blur"===E?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:F,heightInt:J,blurWidth:l,blurHeight:d,blurDataURL:C||"",objectFit:Y.objectFit})+'")':'url("'+E+'")',$=i.includes(Y.objectFit)?"fill"===Y.objectFit?"100% 100%":"cover":Y.objectFit,Q=X?{backgroundSize:$,backgroundPosition:Y.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},Z=function(e){let{config:t,src:r,unoptimized:n,width:o,quality:i,sizes:s,loader:a}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:c,kind:u}=function(e,t,r){let{deviceSizes:n,allSizes:o}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:o.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:o,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>o.find(t=>t>=e)||o[o.length-1]))],kind:"x"}}(t,o,s),l=c.length-1;return{sizes:s||"w"!==u?s:"100vw",srcSet:c.map((e,n)=>a({config:t,src:r,quality:i,width:e})+" "+("w"===u?e:n+1)+u).join(", "),src:a({config:t,src:r,quality:i,width:c[l]})}}({config:u,src:f,unoptimized:p,width:F,quality:W,sizes:h,loader:V});return{props:{...j,loading:G?"lazy":g,fetchPriority:O,width:F,height:J,decoding:U,className:v,style:{...Y,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:S||Z.src},meta:{unoptimized:p,priority:m,placeholder:E,fill:w}}}},77931:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]])},79862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(30943)._(r(12115)).default.createContext(null)},80534:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},81356:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return k}});let n=r(30943),o=r(88604),i=r(95155),s=o._(r(12115)),a=n._(r(47650)),c=n._(r(74841)),u=r(75040),l=r(20821),d=r(33455);r(94781);let f=r(79862),h=n._(r(71124)),p=r(83011),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,r,n,o,i,s){let a=null==e?void 0:e.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function v(e){return s.use?{fetchPriority:e}:{fetchpriority:e}}let y=(0,s.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:o,height:a,width:c,decoding:u,className:l,style:d,fetchPriority:f,placeholder:h,loading:m,unoptimized:y,fill:b,onLoadRef:k,onLoadingCompleteRef:w,setBlurComplete:x,setShowAltText:S,sizesInput:_,onLoad:A,onError:E,...C}=e,O=(0,s.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&g(e,h,k,w,x,y,_))},[r,h,k,w,x,E,y,_]),U=(0,p.useMergedRef)(t,O);return(0,i.jsx)("img",{...C,...v(f),loading:m,width:c,height:a,decoding:u,"data-nimg":b?"fill":"1",className:l,style:d,sizes:o,srcSet:n,src:r,ref:U,onLoad:e=>{g(e.currentTarget,h,k,w,x,y,_)},onError:e=>{S(!0),"empty"!==h&&x(!0),E&&E(e)}})});function b(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...v(r.fetchPriority)};return t&&a.default.preload?(a.default.preload(r.src,n),null):(0,i.jsx)(c.default,{children:(0,i.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let k=(0,s.forwardRef)((e,t)=>{let r=(0,s.useContext)(f.RouterContext),n=(0,s.useContext)(d.ImageConfigContext),o=(0,s.useMemo)(()=>{var e;let t=m||n||l.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),o=t.deviceSizes.sort((e,t)=>e-t),i=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:o,qualities:i}},[n]),{onLoad:a,onLoadingComplete:c}=e,p=(0,s.useRef)(a);(0,s.useEffect)(()=>{p.current=a},[a]);let g=(0,s.useRef)(c);(0,s.useEffect)(()=>{g.current=c},[c]);let[v,k]=(0,s.useState)(!1),[w,x]=(0,s.useState)(!1),{props:S,meta:_}=(0,u.getImgProps)(e,{defaultLoader:h.default,imgConf:o,blurComplete:v,showAltText:w});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(y,{...S,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:p,onLoadingCompleteRef:g,setBlurComplete:k,setShowAltText:x,sizesInput:e.sizes,ref:t}),_.priority?(0,i.jsx)(b,{isAppRouter:!r,imgAttributes:S}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},84926:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(71847).A)("log-out",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]])},90737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(30943)._(r(12115)).default.createContext({})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[874],{3468:(e,t,n)=>{n.d(t,{A:()=>i,q:()=>u});var r=n(12115),o=n(95155);function u(e,t){let n=r.createContext(t),u=e=>{let{children:t,...u}=e,i=r.useMemo(()=>u,Object.values(u));return(0,o.jsx)(n.Provider,{value:i,children:t})};return u.displayName=e+"Provider",[u,function(o){let u=r.useContext(n);if(u)return u;if(void 0!==t)return t;throw Error(`\`${o}\` must be used within \`${e}\``)}]}function i(e,t=[]){let n=[],u=()=>{let t=n.map(e=>r.createContext(e));return function(n){let o=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:o}}),[n,o])}};return u.scopeName=e,[function(t,u){let i=r.createContext(u),l=n.length;n=[...n,u];let a=t=>{let{scope:n,children:u,...a}=t,c=n?.[e]?.[l]||i,d=r.useMemo(()=>a,Object.values(a));return(0,o.jsx)(c.Provider,{value:d,children:u})};return a.displayName=t+"Provider",[a,function(n,o){let a=o?.[e]?.[l]||i,c=r.useContext(a);if(c)return c;if(void 0!==u)return u;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}(u,...t)]}},4129:(e,t,n)=>{n.d(t,{N:()=>o});var r=n(12115),o=globalThis?.document?r.useLayoutEffect:()=>{}},23558:(e,t,n)=>{n.d(t,{i:()=>l});var r,o=n(12115),u=n(4129),i=(r||(r=n.t(o,2)))[" useInsertionEffect ".trim().toString()]||u.N;function l({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[u,l,a]=function({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),u=o.useRef(n),l=o.useRef(t);return i(()=>{l.current=t},[t]),o.useEffect(()=>{u.current!==n&&(l.current?.(n),u.current=n)},[n,u]),[n,r,l]}({defaultProp:t,onChange:n}),c=void 0!==e,d=c?e:u;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=c},[c,r])}return[d,o.useCallback(t=>{if(c){let n="function"==typeof t?t(e):t;n!==e&&a.current?.(n)}else l(t)},[c,e,l,a])]}Symbol("RADIX:SYNC_STATE")},28150:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(71847).A)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]])},35795:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(71847).A)("lock-open",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]])},50803:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(71847).A)("terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]])},59584:(e,t,n)=>{n.d(t,{U:()=>u});var r=n(12115),o=n(70222);function u(e,t=globalThis?.document){let n=(0,o.c)(e);r.useEffect(()=>{let e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}},68946:(e,t,n)=>{n.d(t,{B:()=>a});var r,o=n(12115),u=n(4129),i=(r||(r=n.t(o,2)))[" useId ".trim().toString()]||(()=>void 0),l=0;function a(e){let[t,n]=o.useState(i());return(0,u.N)(()=>{e||n(e=>e??String(l++))},[e]),e||(t?`radix-${t}`:"")}},70222:(e,t,n)=>{n.d(t,{c:()=>o});var r=n(12115);function o(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}},76842:(e,t,n)=>{n.d(t,{C:()=>i});var r=n(12115),o=n(94446),u=n(4129),i=e=>{let{present:t,children:n}=e,i=function(e){var t,n;let[o,i]=r.useState(),a=r.useRef(null),c=r.useRef(e),d=r.useRef("none"),[s,f]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>{let r=n[e][t];return null!=r?r:e},t));return r.useEffect(()=>{let e=l(a.current);d.current="mounted"===s?e:"none"},[s]),(0,u.N)(()=>{let t=a.current,n=c.current;if(n!==e){let r=d.current,o=l(t);e?f("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?f("UNMOUNT"):n&&r!==o?f("ANIMATION_OUT"):f("UNMOUNT"),c.current=e}},[e,f]),(0,u.N)(()=>{if(o){var e;let t,n=null!=(e=o.ownerDocument.defaultView)?e:window,r=e=>{let r=l(a.current).includes(e.animationName);if(e.target===o&&r&&(f("ANIMATION_END"),!c.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",t=n.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},u=e=>{e.target===o&&(d.current=l(a.current))};return o.addEventListener("animationstart",u),o.addEventListener("animationcancel",r),o.addEventListener("animationend",r),()=>{n.clearTimeout(t),o.removeEventListener("animationstart",u),o.removeEventListener("animationcancel",r),o.removeEventListener("animationend",r)}}f("ANIMATION_END")},[o,f]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:r.useCallback(e=>{a.current=e?getComputedStyle(e):null,i(e)},[])}}(t),a="function"==typeof n?n({present:i.isPresent}):r.Children.only(n),c=(0,o.s)(i.ref,function(e){var t,n;let r=null==(t=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:t.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(o=(r=null==(n=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:n.get)&&"isReactWarning"in r&&r.isReactWarning)?e.props.ref:e.props.ref||e.ref}(a));return"function"==typeof n||i.isPresent?r.cloneElement(a,{ref:c}):null};function l(e){return(null==e?void 0:e.animationName)||"none"}i.displayName="Presence"},80534:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(71847).A)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},87066:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(71847).A)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]])},89715:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(71847).A)("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},92556:(e,t,n)=>{n.d(t,{m:()=>r});function r(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[889],{5917:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},12108:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},24033:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},50803:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]])},59929:(e,t,r)=>{r.d(t,{UC:()=>tI,In:()=>tL,q7:()=>tO,VF:()=>tB,p4:()=>t_,ZL:()=>tD,bL:()=>tk,wn:()=>tF,PP:()=>tW,l9:()=>tA,WT:()=>tT,LM:()=>tM});var n,l,o=r(12115),i=r(47650),a=r(34212),s=r(92556),u=r(97239),c=r(97999),d=r(69023),f=r(3468),p=r(94446),h=r(95155);function v(e){let t=function(e){let t=o.forwardRef((e,t)=>{var r,n,l;let i,a,{children:s,...u}=e,c=o.isValidElement(s)?(a=(i=null==(n=Object.getOwnPropertyDescriptor((r=s).props,"ref"))?void 0:n.get)&&"isReactWarning"in i&&i.isReactWarning)?r.ref:(a=(i=null==(l=Object.getOwnPropertyDescriptor(r,"ref"))?void 0:l.get)&&"isReactWarning"in i&&i.isReactWarning)?r.props.ref:r.props.ref||r.ref:void 0,d=(0,p.s)(c,t);if(o.isValidElement(s)){let e=function(e,t){let r={...t};for(let n in t){let l=e[n],o=t[n];/^on[A-Z]/.test(n)?l&&o?r[n]=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let n=o(...t);return l(...t),n}:l&&(r[n]=l):"style"===n?r[n]={...l,...o}:"className"===n&&(r[n]=[l,o].filter(Boolean).join(" "))}return{...e,...r}}(u,s.props);return s.type!==o.Fragment&&(e.ref=d),o.cloneElement(s,e)}return o.Children.count(s)>1?o.Children.only(null):null});return t.displayName="".concat(e,".SlotClone"),t}(e),r=o.forwardRef((e,r)=>{let{children:n,...l}=e,i=o.Children.toArray(n),a=i.find(y);if(a){let e=a.props.children,n=i.map(t=>t!==a?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,h.jsx)(t,{...l,ref:r,children:o.isValidElement(e)?o.cloneElement(e,void 0,n):null})}return(0,h.jsx)(t,{...l,ref:r,children:n})});return r.displayName="".concat(e,".Slot"),r}var m=Symbol("radix.slottable");function y(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===m}var g=new WeakMap;function w(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let r=function(e,t){let r=e.length,n=x(t),l=n>=0?n:r+n;return l<0||l>=r?-1:l}(e,t);return -1===r?void 0:e[r]}function x(e){return e!=e||0===e?0:Math.trunc(e)}n=new WeakMap,class e extends Map{set(e,t){return g.get(this)&&(this.has(e)?(0,u._)(this,n)[(0,u._)(this,n).indexOf(e)]=e:(0,u._)(this,n).push(e)),super.set(e,t),this}insert(e,t,r){let l,o=this.has(t),i=(0,u._)(this,n).length,a=x(e),s=a>=0?a:i+a,c=s<0||s>=i?-1:s;if(c===this.size||o&&c===this.size-1||-1===c)return this.set(t,r),this;let d=this.size+ +!o;a<0&&s++;let f=[...(0,u._)(this,n)],p=!1;for(let e=s;e<d;e++)if(s===e){let n=f[e];f[e]===t&&(n=f[e+1]),o&&this.delete(t),l=this.get(n),this.set(t,r)}else{p||f[e-1]!==t||(p=!0);let r=f[p?e:e-1],n=l;l=this.get(r),this.delete(r),this.set(r,n)}return this}with(t,r,n){let l=new e(this);return l.insert(t,r,n),l}before(e){let t=(0,u._)(this,n).indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let l=(0,u._)(this,n).indexOf(e);return -1===l?this:this.insert(l,t,r)}after(e){let t=(0,u._)(this,n).indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let l=(0,u._)(this,n).indexOf(e);return -1===l?this:this.insert(l+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return(0,d._)(this,n,[]),super.clear()}delete(e){let t=super.delete(e);return t&&(0,u._)(this,n).splice((0,u._)(this,n).indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=w((0,u._)(this,n),e);if(void 0!==t)return this.get(t)}entryAt(e){let t=w((0,u._)(this,n),e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return(0,u._)(this,n).indexOf(e)}keyAt(e){return w((0,u._)(this,n),e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],l=0;for(let e of this)Reflect.apply(t,r,[e,l,this])&&n.push(e),l++;return new e(n)}map(t,r){let n=[],l=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,l,this])]),l++;return new e(n)}reduce(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let[n,l]=t,o=0,i=null!=l?l:this.at(0);for(let e of this)i=0===o&&1===t.length?e:Reflect.apply(n,this,[i,e,o,this]),o++;return i}reduceRight(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let[n,l]=t,o=null!=l?l:this.at(-1);for(let e=this.size-1;e>=0;e--){let r=this.at(e);o=e===this.size-1&&1===t.length?r:Reflect.apply(n,this,[o,r,e,this])}return o}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let l=[...this.entries()];return l.splice(...r),new e(l)}slice(t,r){let n=new e,l=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(l=r-1);for(let e=t;e<=l;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}constructor(e){super(e),(0,c._)(this,n,{writable:!0,value:void 0}),(0,d._)(this,n,[...super.keys()]),g.set(this,!0)}};var b=r(66218),E=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=v(`Primitive.${t}`),n=o.forwardRef((e,n)=>{let{asChild:l,...o}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,h.jsx)(l?r:t,{...o,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),C=r(70222),S=r(59584),R="dismissableLayer.update",P=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),N=o.forwardRef((e,t)=>{var r,n;let{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:a,onPointerDownOutside:u,onFocusOutside:c,onInteractOutside:d,onDismiss:f,...v}=e,m=o.useContext(P),[y,g]=o.useState(null),w=null!=(n=null==y?void 0:y.ownerDocument)?n:null==(r=globalThis)?void 0:r.document,[,x]=o.useState({}),b=(0,p.s)(t,e=>g(e)),N=Array.from(m.layers),[A]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),T=N.indexOf(A),L=y?N.indexOf(y):-1,D=m.layersWithOutsidePointerEventsDisabled.size>0,I=L>=T,M=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null==(t=globalThis)?void 0:t.document,n=(0,C.c)(e),l=o.useRef(!1),i=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!l.current){let t=function(){k("dismissableLayer.pointerDownOutside",n,l,{discrete:!0})},l={originalEvent:e};"touch"===e.pointerType?(r.removeEventListener("click",i.current),i.current=t,r.addEventListener("click",i.current,{once:!0})):t()}else r.removeEventListener("click",i.current);l.current=!1},t=window.setTimeout(()=>{r.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(t),r.removeEventListener("pointerdown",e),r.removeEventListener("click",i.current)}},[r,n]),{onPointerDownCapture:()=>l.current=!0}}(e=>{let t=e.target,r=[...m.branches].some(e=>e.contains(t));I&&!r&&(null==u||u(e),null==d||d(e),e.defaultPrevented||null==f||f())},w),O=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null==(t=globalThis)?void 0:t.document,n=(0,C.c)(e),l=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!l.current&&k("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return r.addEventListener("focusin",e),()=>r.removeEventListener("focusin",e)},[r,n]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}(e=>{let t=e.target;![...m.branches].some(e=>e.contains(t))&&(null==c||c(e),null==d||d(e),e.defaultPrevented||null==f||f())},w);return(0,S.U)(e=>{L===m.layers.size-1&&(null==a||a(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))},w),o.useEffect(()=>{if(y)return i&&(0===m.layersWithOutsidePointerEventsDisabled.size&&(l=w.body.style.pointerEvents,w.body.style.pointerEvents="none"),m.layersWithOutsidePointerEventsDisabled.add(y)),m.layers.add(y),j(),()=>{i&&1===m.layersWithOutsidePointerEventsDisabled.size&&(w.body.style.pointerEvents=l)}},[y,w,i,m]),o.useEffect(()=>()=>{y&&(m.layers.delete(y),m.layersWithOutsidePointerEventsDisabled.delete(y),j())},[y,m]),o.useEffect(()=>{let e=()=>x({});return document.addEventListener(R,e),()=>document.removeEventListener(R,e)},[]),(0,h.jsx)(E.div,{...v,ref:b,style:{pointerEvents:D?I?"auto":"none":void 0,...e.style},onFocusCapture:(0,s.m)(e.onFocusCapture,O.onFocusCapture),onBlurCapture:(0,s.m)(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:(0,s.m)(e.onPointerDownCapture,M.onPointerDownCapture)})});function j(){let e=new CustomEvent(R);document.dispatchEvent(e)}function k(e,t,r,n){let{discrete:l}=n,o=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});if(t&&o.addEventListener(e,t,{once:!0}),l)o&&i.flushSync(()=>o.dispatchEvent(a));else o.dispatchEvent(a)}N.displayName="DismissableLayer",o.forwardRef((e,t)=>{let r=o.useContext(P),n=o.useRef(null),l=(0,p.s)(t,n);return o.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,h.jsx)(E.div,{...e,ref:l})}).displayName="DismissableLayerBranch";var A=r(19526),T="focusScope.autoFocusOnMount",L="focusScope.autoFocusOnUnmount",D={bubbles:!1,cancelable:!0},I=o.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:l,onUnmountAutoFocus:i,...a}=e,[s,u]=o.useState(null),c=(0,C.c)(l),d=(0,C.c)(i),f=o.useRef(null),v=(0,p.s)(t,e=>u(e)),m=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(n){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?f.current=t:_(f.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;null!==t&&(s.contains(t)||_(f.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&_(s)});return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,s,m.paused]),o.useEffect(()=>{if(s){B.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(T,D);s.addEventListener(T,c),s.dispatchEvent(t),t.defaultPrevented||(function(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=document.activeElement;for(let n of e)if(_(n,{select:t}),document.activeElement!==r)return}(M(s).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&_(s))}return()=>{s.removeEventListener(T,c),setTimeout(()=>{let t=new CustomEvent(L,D);s.addEventListener(L,d),s.dispatchEvent(t),t.defaultPrevented||_(null!=e?e:document.body,{select:!0}),s.removeEventListener(L,d),B.remove(m)},0)}}},[s,c,d,m]);let y=o.useCallback(e=>{if(!r&&!n||m.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,l=document.activeElement;if(t&&l){let t=e.currentTarget,[n,o]=function(e){let t=M(e);return[O(t,e),O(t.reverse(),e)]}(t);n&&o?e.shiftKey||l!==o?e.shiftKey&&l===n&&(e.preventDefault(),r&&_(o,{select:!0})):(e.preventDefault(),r&&_(n,{select:!0})):l===t&&e.preventDefault()}},[r,n,m.paused]);return(0,h.jsx)(E.div,{tabIndex:-1,...a,ref:v,onKeyDown:y})});function M(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function O(e,t){for(let r of e)if(!function(e,t){let{upTo:r}=t;if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===r||e!==r);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function _(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}I.displayName="FocusScope";var B=function(){let e=[];return{add(t){let r=e[0];t!==r&&(null==r||r.pause()),(e=W(e,t)).unshift(t)},remove(t){var r;null==(r=(e=W(e,t))[0])||r.resume()}}}();function W(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var F=r(68946),H=r(88334),z=r(58146),V=o.forwardRef((e,t)=>{let{children:r,width:n=10,height:l=5,...o}=e;return(0,h.jsx)(E.svg,{...o,ref:t,width:n,height:l,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,h.jsx)("polygon",{points:"0,0 30,0 15,10"})})});V.displayName="Arrow";var K=r(4129),U=r(84288),X="Popper",[Y,q]=(0,f.A)(X),[Z,$]=Y(X),G=e=>{let{__scopePopper:t,children:r}=e,[n,l]=o.useState(null);return(0,h.jsx)(Z,{scope:t,anchor:n,onAnchorChange:l,children:r})};G.displayName=X;var J="PopperAnchor",Q=o.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...l}=e,i=$(J,r),a=o.useRef(null),s=(0,p.s)(t,a);return o.useEffect(()=>{i.onAnchorChange((null==n?void 0:n.current)||a.current)}),n?null:(0,h.jsx)(E.div,{...l,ref:s})});Q.displayName=J;var ee="PopperContent",[et,er]=Y(ee),en=o.forwardRef((e,t)=>{var r,n,l,i,a,s,u,c;let{__scopePopper:d,side:f="bottom",sideOffset:v=0,align:m="center",alignOffset:y=0,arrowPadding:g=0,avoidCollisions:w=!0,collisionBoundary:x=[],collisionPadding:b=0,sticky:S="partial",hideWhenDetached:R=!1,updatePositionStrategy:P="optimized",onPlaced:N,...j}=e,k=$(ee,d),[A,T]=o.useState(null),L=(0,p.s)(t,e=>T(e)),[D,I]=o.useState(null),M=(0,U.X)(D),O=null!=(u=null==M?void 0:M.width)?u:0,_=null!=(c=null==M?void 0:M.height)?c:0,B="number"==typeof b?b:{top:0,right:0,bottom:0,left:0,...b},W=Array.isArray(x)?x:[x],F=W.length>0,V={padding:B,boundary:W.filter(ea),altBoundary:F},{refs:X,floatingStyles:Y,placement:q,isPositioned:Z,middlewareData:G}=(0,H.we)({strategy:"fixed",placement:f+("center"!==m?"-"+m:""),whileElementsMounted:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,z.ll)(...t,{animationFrame:"always"===P})},elements:{reference:k.anchor},middleware:[(0,H.cY)({mainAxis:v+_,alignmentAxis:y}),w&&(0,H.BN)({mainAxis:!0,crossAxis:!1,limiter:"partial"===S?(0,H.ER)():void 0,...V}),w&&(0,H.UU)({...V}),(0,H.Ej)({...V,apply:e=>{let{elements:t,rects:r,availableWidth:n,availableHeight:l}=e,{width:o,height:i}=r.reference,a=t.floating.style;a.setProperty("--radix-popper-available-width","".concat(n,"px")),a.setProperty("--radix-popper-available-height","".concat(l,"px")),a.setProperty("--radix-popper-anchor-width","".concat(o,"px")),a.setProperty("--radix-popper-anchor-height","".concat(i,"px"))}}),D&&(0,H.UE)({element:D,padding:g}),es({arrowWidth:O,arrowHeight:_}),R&&(0,H.jD)({strategy:"referenceHidden",...V})]}),[J,Q]=eu(q),er=(0,C.c)(N);(0,K.N)(()=>{Z&&(null==er||er())},[Z,er]);let en=null==(r=G.arrow)?void 0:r.x,el=null==(n=G.arrow)?void 0:n.y,eo=(null==(l=G.arrow)?void 0:l.centerOffset)!==0,[ei,ec]=o.useState();return(0,K.N)(()=>{A&&ec(window.getComputedStyle(A).zIndex)},[A]),(0,h.jsx)("div",{ref:X.setFloating,"data-radix-popper-content-wrapper":"",style:{...Y,transform:Z?Y.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ei,"--radix-popper-transform-origin":[null==(i=G.transformOrigin)?void 0:i.x,null==(a=G.transformOrigin)?void 0:a.y].join(" "),...(null==(s=G.hide)?void 0:s.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,h.jsx)(et,{scope:d,placedSide:J,onArrowChange:I,arrowX:en,arrowY:el,shouldHideArrow:eo,children:(0,h.jsx)(E.div,{"data-side":J,"data-align":Q,...j,ref:L,style:{...j.style,animation:Z?void 0:"none"}})})})});en.displayName=ee;var el="PopperArrow",eo={top:"bottom",right:"left",bottom:"top",left:"right"},ei=o.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,l=er(el,r),o=eo[l.placedSide];return(0,h.jsx)("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:(0,h.jsx)(V,{...n,ref:t,style:{...n.style,display:"block"}})})});function ea(e){return null!==e}ei.displayName=el;var es=e=>({name:"transformOrigin",options:e,fn(t){var r,n,l,o,i;let{placement:a,rects:s,middlewareData:u}=t,c=(null==(r=u.arrow)?void 0:r.centerOffset)!==0,d=c?0:e.arrowWidth,f=c?0:e.arrowHeight,[p,h]=eu(a),v={start:"0%",center:"50%",end:"100%"}[h],m=(null!=(o=null==(n=u.arrow)?void 0:n.x)?o:0)+d/2,y=(null!=(i=null==(l=u.arrow)?void 0:l.y)?i:0)+f/2,g="",w="";return"bottom"===p?(g=c?v:"".concat(m,"px"),w="".concat(-f,"px")):"top"===p?(g=c?v:"".concat(m,"px"),w="".concat(s.floating.height+f,"px")):"right"===p?(g="".concat(-f,"px"),w=c?v:"".concat(y,"px")):"left"===p&&(g="".concat(s.floating.width+f,"px"),w=c?v:"".concat(y,"px")),{data:{x:g,y:w}}}});function eu(e){let[t,r="center"]=e.split("-");return[t,r]}var ec=o.forwardRef((e,t)=>{var r,n;let{container:l,...a}=e,[s,u]=o.useState(!1);(0,K.N)(()=>u(!0),[]);let c=l||s&&(null==(n=globalThis)||null==(r=n.document)?void 0:r.body);return c?i.createPortal((0,h.jsx)(E.div,{...a,ref:t}),c):null});ec.displayName="Portal";var ed=r(23558),ef=r(78108),ep=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"});o.forwardRef((e,t)=>(0,h.jsx)(E.span,{...e,ref:t,style:{...ep,...e.style}})).displayName="VisuallyHidden";var eh=r(97745),ev=r(71450),em=r(60216),ey=r(78357),eg=(0,r(43711).f)(),ew=function(){},ex=o.forwardRef(function(e,t){var r=o.useRef(null),n=o.useState({onScrollCapture:ew,onWheelCapture:ew,onTouchMoveCapture:ew}),l=n[0],i=n[1],a=e.forwardProps,s=e.children,u=e.className,c=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,h=e.noIsolation,v=e.inert,m=e.allowPinchZoom,y=e.as,g=e.gapMode,w=(0,ev.Tt)(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),x=(0,ey.S)([r,t]),b=(0,ev.Cl)((0,ev.Cl)({},w),l);return o.createElement(o.Fragment,null,d&&o.createElement(p,{sideCar:eg,removeScrollBar:c,shards:f,noIsolation:h,inert:v,setCallbacks:i,allowPinchZoom:!!m,lockRef:r,gapMode:g}),a?o.cloneElement(o.Children.only(s),(0,ev.Cl)((0,ev.Cl)({},b),{ref:x})):o.createElement(void 0===y?"div":y,(0,ev.Cl)({},b,{className:u,ref:x}),s))});ex.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ex.classNames={fullWidth:em.pN,zeroRight:em.Mi};var eb=r(39615),eE=r(46810),eC=r(65841),eS=!1;if("undefined"!=typeof window)try{var eR=Object.defineProperty({},"passive",{get:function(){return eS=!0,!0}});window.addEventListener("test",eR,eR),window.removeEventListener("test",eR,eR)}catch(e){eS=!1}var eP=!!eS&&{passive:!1},eN=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&(r.overflowY!==r.overflowX||"TEXTAREA"===e.tagName||"visible"!==r[t])},ej=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),ek(e,n)){var l=eA(e,n);if(l[1]>l[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},ek=function(e,t){return"v"===e?eN(t,"overflowY"):eN(t,"overflowX")},eA=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},eT=function(e,t,r,n,l){var o,i=(o=window.getComputedStyle(t).direction,"h"===e&&"rtl"===o?-1:1),a=i*n,s=r.target,u=t.contains(s),c=!1,d=a>0,f=0,p=0;do{var h=eA(e,s),v=h[0],m=h[1]-h[2]-i*v;(v||m)&&ek(e,s)&&(f+=m,p+=v),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return d&&(l&&1>Math.abs(f)||!l&&a>f)?c=!0:!d&&(l&&1>Math.abs(p)||!l&&-a>p)&&(c=!0),c},eL=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},eD=function(e){return[e.deltaX,e.deltaY]},eI=function(e){return e&&"current"in e?e.current:e},eM=0,eO=[];let e_=(0,eb.m)(eg,function(e){var t=o.useRef([]),r=o.useRef([0,0]),n=o.useRef(),l=o.useState(eM++)[0],i=o.useState(eC.T0)[0],a=o.useRef(e);o.useEffect(function(){a.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(l));var t=(0,ev.fX)([e.lockRef.current],(e.shards||[]).map(eI),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(l))}),function(){document.body.classList.remove("block-interactivity-".concat(l)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(l))})}}},[e.inert,e.lockRef.current,e.shards]);var s=o.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!a.current.allowPinchZoom;var l,o=eL(e),i=r.current,s="deltaX"in e?e.deltaX:i[0]-o[0],u="deltaY"in e?e.deltaY:i[1]-o[1],c=e.target,d=Math.abs(s)>Math.abs(u)?"h":"v";if("touches"in e&&"h"===d&&"range"===c.type)return!1;var f=ej(d,c);if(!f)return!0;if(f?l=d:(l="v"===d?"h":"v",f=ej(d,c)),!f)return!1;if(!n.current&&"changedTouches"in e&&(s||u)&&(n.current=l),!l)return!0;var p=n.current||l;return eT(p,t,e,"h"===p?s:u,!0)},[]),u=o.useCallback(function(e){if(eO.length&&eO[eO.length-1]===i){var r="deltaY"in e?eD(e):eL(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta,n[0]===r[0]&&n[1]===r[1])})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var l=(a.current.shards||[]).map(eI).filter(Boolean).filter(function(t){return t.contains(e.target)});(l.length>0?s(e,l[0]):!a.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=o.useCallback(function(e,r,n,l){var o={name:e,delta:r,target:n,should:l,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(o),setTimeout(function(){t.current=t.current.filter(function(e){return e!==o})},1)},[]),d=o.useCallback(function(e){r.current=eL(e),n.current=void 0},[]),f=o.useCallback(function(t){c(t.type,eD(t),t.target,s(t,e.lockRef.current))},[]),p=o.useCallback(function(t){c(t.type,eL(t),t.target,s(t,e.lockRef.current))},[]);o.useEffect(function(){return eO.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",u,eP),document.addEventListener("touchmove",u,eP),document.addEventListener("touchstart",d,eP),function(){eO=eO.filter(function(e){return e!==i}),document.removeEventListener("wheel",u,eP),document.removeEventListener("touchmove",u,eP),document.removeEventListener("touchstart",d,eP)}},[]);var h=e.removeScrollBar,v=e.inert;return o.createElement(o.Fragment,null,v?o.createElement(i,{styles:"\n .block-interactivity-".concat(l," {pointer-events: none;}\n .allow-interactivity-").concat(l," {pointer-events: all;}\n")}):null,h?o.createElement(eE.jp,{gapMode:e.gapMode}):null)});var eB=o.forwardRef(function(e,t){return o.createElement(ex,(0,ev.Cl)({},e,{ref:t,sideCar:e_}))});eB.classNames=ex.classNames;var eW=[" ","Enter","ArrowUp","ArrowDown"],eF=[" ","Enter"],eH="Select",[ez,eV,eK]=function(e){let t=e+"CollectionProvider",[r,n]=(0,f.A)(t),[l,i]=r(t,{collectionRef:{current:null},itemMap:new Map}),a=e=>{let{scope:t,children:r}=e,n=o.useRef(null),i=o.useRef(new Map).current;return(0,h.jsx)(l,{scope:t,itemMap:i,collectionRef:n,children:r})};a.displayName=t;let s=e+"CollectionSlot",u=v(s),c=o.forwardRef((e,t)=>{let{scope:r,children:n}=e,l=i(s,r),o=(0,p.s)(t,l.collectionRef);return(0,h.jsx)(u,{ref:o,children:n})});c.displayName=s;let d=e+"CollectionItemSlot",m="data-radix-collection-item",y=v(d),g=o.forwardRef((e,t)=>{let{scope:r,children:n,...l}=e,a=o.useRef(null),s=(0,p.s)(t,a),u=i(d,r);return o.useEffect(()=>(u.itemMap.set(a,{ref:a,...l}),()=>void u.itemMap.delete(a))),(0,h.jsx)(y,{...{[m]:""},ref:s,children:n})});return g.displayName=d,[{Provider:a,Slot:c,ItemSlot:g},function(t){let r=i(e+"CollectionConsumer",t);return o.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll("[".concat(m,"]")));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}(eH),[eU,eX]=(0,f.A)(eH,[eK,q]),eY=q(),[eq,eZ]=eU(eH),[e$,eG]=eU(eH),eJ=e=>{let{__scopeSelect:t,children:r,open:n,defaultOpen:l,onOpenChange:i,value:a,defaultValue:s,onValueChange:u,dir:c,name:d,autoComplete:f,disabled:p,required:v,form:m}=e,y=eY(t),[g,w]=o.useState(null),[x,E]=o.useState(null),[C,S]=o.useState(!1),R=(0,b.jH)(c),[P,N]=(0,ed.i)({prop:n,defaultProp:null!=l&&l,onChange:i,caller:eH}),[j,k]=(0,ed.i)({prop:a,defaultProp:s,onChange:u,caller:eH}),A=o.useRef(null),T=!g||m||!!g.closest("form"),[L,D]=o.useState(new Set),I=Array.from(L).map(e=>e.props.value).join(";");return(0,h.jsx)(G,{...y,children:(0,h.jsxs)(eq,{required:v,scope:t,trigger:g,onTriggerChange:w,valueNode:x,onValueNodeChange:E,valueNodeHasChildren:C,onValueNodeHasChildrenChange:S,contentId:(0,F.B)(),value:j,onValueChange:k,open:P,onOpenChange:N,dir:R,triggerPointerDownPosRef:A,disabled:p,children:[(0,h.jsx)(ez.Provider,{scope:t,children:(0,h.jsx)(e$,{scope:e.__scopeSelect,onNativeOptionAdd:o.useCallback(e=>{D(t=>new Set(t).add(e))},[]),onNativeOptionRemove:o.useCallback(e=>{D(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),T?(0,h.jsxs)(tR,{"aria-hidden":!0,required:v,tabIndex:-1,name:d,autoComplete:f,value:j,onChange:e=>k(e.target.value),disabled:p,form:m,children:[void 0===j?(0,h.jsx)("option",{value:""}):null,Array.from(L)]},I):null]})})};eJ.displayName=eH;var eQ="SelectTrigger",e0=o.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...l}=e,i=eY(r),a=eZ(eQ,r),u=a.disabled||n,c=(0,p.s)(t,a.onTriggerChange),d=eV(r),f=o.useRef("touch"),[v,m,y]=tN(e=>{let t=d().filter(e=>!e.disabled),r=t.find(e=>e.value===a.value),n=tj(t,e,r);void 0!==n&&a.onValueChange(n.value)}),g=e=>{u||(a.onOpenChange(!0),y()),e&&(a.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,h.jsx)(Q,{asChild:!0,...i,children:(0,h.jsx)(E.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":tP(a.value)?"":void 0,...l,ref:c,onClick:(0,s.m)(l.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&g(e)}),onPointerDown:(0,s.m)(l.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(g(e),e.preventDefault())}),onKeyDown:(0,s.m)(l.onKeyDown,e=>{let t=""!==v.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),(!t||" "!==e.key)&&eW.includes(e.key)&&(g(),e.preventDefault())})})})});e0.displayName=eQ;var e1="SelectValue",e5=o.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:l,children:o,placeholder:i="",...a}=e,s=eZ(e1,r),{onValueNodeHasChildrenChange:u}=s,c=void 0!==o,d=(0,p.s)(t,s.onValueNodeChange);return(0,K.N)(()=>{u(c)},[u,c]),(0,h.jsx)(E.span,{...a,ref:d,style:{pointerEvents:"none"},children:tP(s.value)?(0,h.jsx)(h.Fragment,{children:i}):o})});e5.displayName=e1;var e2=o.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...l}=e;return(0,h.jsx)(E.span,{"aria-hidden":!0,...l,ref:t,children:n||"▼"})});e2.displayName="SelectIcon";var e4=e=>(0,h.jsx)(ec,{asChild:!0,...e});e4.displayName="SelectPortal";var e8="SelectContent",e9=o.forwardRef((e,t)=>{let r=eZ(e8,e.__scopeSelect),[n,l]=o.useState();return((0,K.N)(()=>{l(new DocumentFragment)},[]),r.open)?(0,h.jsx)(te,{...e,ref:t}):n?i.createPortal((0,h.jsx)(e6,{scope:e.__scopeSelect,children:(0,h.jsx)(ez.Slot,{scope:e.__scopeSelect,children:(0,h.jsx)("div",{children:e.children})})}),n):null});e9.displayName=e8;var[e6,e7]=eU(e8),e3=v("SelectContent.RemoveScroll"),te=o.forwardRef((e,t)=>{let{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:l,onEscapeKeyDown:i,onPointerDownOutside:a,side:u,sideOffset:c,align:d,alignOffset:f,arrowPadding:v,collisionBoundary:m,collisionPadding:y,sticky:g,hideWhenDetached:w,avoidCollisions:x,...b}=e,E=eZ(e8,r),[C,S]=o.useState(null),[R,P]=o.useState(null),j=(0,p.s)(t,e=>S(e)),[k,T]=o.useState(null),[L,D]=o.useState(null),M=eV(r),[O,_]=o.useState(!1),B=o.useRef(!1);o.useEffect(()=>{if(C)return(0,eh.Eq)(C)},[C]),(0,A.Oh)();let W=o.useCallback(e=>{let[t,...r]=M().map(e=>e.ref.current),[n]=r.slice(-1),l=document.activeElement;for(let r of e)if(r===l||(null==r||r.scrollIntoView({block:"nearest"}),r===t&&R&&(R.scrollTop=0),r===n&&R&&(R.scrollTop=R.scrollHeight),null==r||r.focus(),document.activeElement!==l))return},[M,R]),F=o.useCallback(()=>W([k,C]),[W,k,C]);o.useEffect(()=>{O&&F()},[O,F]);let{onOpenChange:H,triggerPointerDownPosRef:z}=E;o.useEffect(()=>{if(C){let e={x:0,y:0},t=t=>{var r,n,l,o;e={x:Math.abs(Math.round(t.pageX)-(null!=(l=null==(r=z.current)?void 0:r.x)?l:0)),y:Math.abs(Math.round(t.pageY)-(null!=(o=null==(n=z.current)?void 0:n.y)?o:0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():C.contains(r.target)||H(!1),document.removeEventListener("pointermove",t),z.current=null};return null!==z.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[C,H,z]),o.useEffect(()=>{let e=()=>H(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[H]);let[V,K]=tN(e=>{let t=M().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=tj(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),U=o.useCallback((e,t,r)=>{let n=!B.current&&!r;(void 0!==E.value&&E.value===t||n)&&(T(e),n&&(B.current=!0))},[E.value]),X=o.useCallback(()=>null==C?void 0:C.focus(),[C]),Y=o.useCallback((e,t,r)=>{let n=!B.current&&!r;(void 0!==E.value&&E.value===t||n)&&D(e)},[E.value]),q="popper"===n?tr:tt,Z=q===tr?{side:u,sideOffset:c,align:d,alignOffset:f,arrowPadding:v,collisionBoundary:m,collisionPadding:y,sticky:g,hideWhenDetached:w,avoidCollisions:x}:{};return(0,h.jsx)(e6,{scope:r,content:C,viewport:R,onViewportChange:P,itemRefCallback:U,selectedItem:k,onItemLeave:X,itemTextRefCallback:Y,focusSelectedItem:F,selectedItemText:L,position:n,isPositioned:O,searchRef:V,children:(0,h.jsx)(eB,{as:e3,allowPinchZoom:!0,children:(0,h.jsx)(I,{asChild:!0,trapped:E.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,s.m)(l,e=>{var t;null==(t=E.trigger)||t.focus({preventScroll:!0}),e.preventDefault()}),children:(0,h.jsx)(N,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:(0,h.jsx)(q,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:e=>e.preventDefault(),...b,...Z,onPlaced:()=>_(!0),ref:j,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:(0,s.m)(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||K(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=M().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>W(t)),e.preventDefault()}})})})})})})});te.displayName="SelectContentImpl";var tt=o.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...l}=e,i=eZ(e8,r),s=e7(e8,r),[u,c]=o.useState(null),[d,f]=o.useState(null),v=(0,p.s)(t,e=>f(e)),m=eV(r),y=o.useRef(!1),g=o.useRef(!0),{viewport:w,selectedItem:x,selectedItemText:b,focusSelectedItem:C}=s,S=o.useCallback(()=>{if(i.trigger&&i.valueNode&&u&&d&&w&&x&&b){let e=i.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),r=i.valueNode.getBoundingClientRect(),l=b.getBoundingClientRect();if("rtl"!==i.dir){let n=l.left-t.left,o=r.left-n,i=e.left-o,s=e.width+i,c=Math.max(s,t.width),d=window.innerWidth-10,f=(0,a.q)(o,[10,Math.max(10,d-c)]);u.style.minWidth=s+"px",u.style.left=f+"px"}else{let n=t.right-l.right,o=window.innerWidth-r.right-n,i=window.innerWidth-e.right-o,s=e.width+i,c=Math.max(s,t.width),d=window.innerWidth-10,f=(0,a.q)(o,[10,Math.max(10,d-c)]);u.style.minWidth=s+"px",u.style.right=f+"px"}let o=m(),s=window.innerHeight-20,c=w.scrollHeight,f=window.getComputedStyle(d),p=parseInt(f.borderTopWidth,10),h=parseInt(f.paddingTop,10),v=parseInt(f.borderBottomWidth,10),g=p+h+c+parseInt(f.paddingBottom,10)+v,E=Math.min(5*x.offsetHeight,g),C=window.getComputedStyle(w),S=parseInt(C.paddingTop,10),R=parseInt(C.paddingBottom,10),P=e.top+e.height/2-10,N=x.offsetHeight/2,j=p+h+(x.offsetTop+N);if(j<=P){let e=o.length>0&&x===o[o.length-1].ref.current;u.style.bottom="0px";let t=Math.max(s-P,N+(e?R:0)+(d.clientHeight-w.offsetTop-w.offsetHeight)+v);u.style.height=j+t+"px"}else{let e=o.length>0&&x===o[0].ref.current;u.style.top="0px";let t=Math.max(P,p+w.offsetTop+(e?S:0)+N);u.style.height=t+(g-j)+"px",w.scrollTop=j-P+w.offsetTop}u.style.margin="".concat(10,"px 0"),u.style.minHeight=E+"px",u.style.maxHeight=s+"px",null==n||n(),requestAnimationFrame(()=>y.current=!0)}},[m,i.trigger,i.valueNode,u,d,w,x,b,i.dir,n]);(0,K.N)(()=>S(),[S]);let[R,P]=o.useState();(0,K.N)(()=>{d&&P(window.getComputedStyle(d).zIndex)},[d]);let N=o.useCallback(e=>{e&&!0===g.current&&(S(),null==C||C(),g.current=!1)},[S,C]);return(0,h.jsx)(tn,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:y,onScrollButtonChange:N,children:(0,h.jsx)("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:R},children:(0,h.jsx)(E.div,{...l,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...l.style}})})})});tt.displayName="SelectItemAlignedPosition";var tr=o.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:l=10,...o}=e,i=eY(r);return(0,h.jsx)(en,{...i,...o,ref:t,align:n,collisionPadding:l,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});tr.displayName="SelectPopperPosition";var[tn,tl]=eU(e8,{}),to="SelectViewport",ti=o.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...l}=e,i=e7(to,r),a=tl(to,r),u=(0,p.s)(t,i.onViewportChange),c=o.useRef(0);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,h.jsx)(ez.Slot,{scope:r,children:(0,h.jsx)(E.div,{"data-radix-select-viewport":"",role:"presentation",...l,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...l.style},onScroll:(0,s.m)(l.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=a;if((null==n?void 0:n.current)&&r){let e=Math.abs(c.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,l=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(l<n){let o=l+e,i=Math.min(n,o),a=o-i;r.style.height=i+"px","0px"===r.style.bottom&&(t.scrollTop=a>0?a:0,r.style.justifyContent="flex-end")}}}c.current=t.scrollTop})})})]})});ti.displayName=to;var ta="SelectGroup",[ts,tu]=eU(ta);o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=(0,F.B)();return(0,h.jsx)(ts,{scope:r,id:l,children:(0,h.jsx)(E.div,{role:"group","aria-labelledby":l,...n,ref:t})})}).displayName=ta;var tc="SelectLabel";o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=tu(tc,r);return(0,h.jsx)(E.div,{id:l.id,...n,ref:t})}).displayName=tc;var td="SelectItem",[tf,tp]=eU(td),th=o.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:l=!1,textValue:i,...a}=e,u=eZ(td,r),c=e7(td,r),d=u.value===n,[f,v]=o.useState(null!=i?i:""),[m,y]=o.useState(!1),g=(0,p.s)(t,e=>{var t;return null==(t=c.itemRefCallback)?void 0:t.call(c,e,n,l)}),w=(0,F.B)(),x=o.useRef("touch"),b=()=>{l||(u.onValueChange(n),u.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,h.jsx)(tf,{scope:r,value:n,disabled:l,textId:w,isSelected:d,onItemTextChange:o.useCallback(e=>{v(t=>{var r;return t||(null!=(r=null==e?void 0:e.textContent)?r:"").trim()})},[]),children:(0,h.jsx)(ez.ItemSlot,{scope:r,value:n,disabled:l,textValue:f,children:(0,h.jsx)(E.div,{role:"option","aria-labelledby":w,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":l||void 0,"data-disabled":l?"":void 0,tabIndex:l?void 0:-1,...a,ref:g,onFocus:(0,s.m)(a.onFocus,()=>y(!0)),onBlur:(0,s.m)(a.onBlur,()=>y(!1)),onClick:(0,s.m)(a.onClick,()=>{"mouse"!==x.current&&b()}),onPointerUp:(0,s.m)(a.onPointerUp,()=>{"mouse"===x.current&&b()}),onPointerDown:(0,s.m)(a.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:(0,s.m)(a.onPointerMove,e=>{if(x.current=e.pointerType,l){var t;null==(t=c.onItemLeave)||t.call(c)}else"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,s.m)(a.onPointerLeave,e=>{if(e.currentTarget===document.activeElement){var t;null==(t=c.onItemLeave)||t.call(c)}}),onKeyDown:(0,s.m)(a.onKeyDown,e=>{var t;((null==(t=c.searchRef)?void 0:t.current)===""||" "!==e.key)&&(eF.includes(e.key)&&b()," "===e.key&&e.preventDefault())})})})})});th.displayName=td;var tv="SelectItemText",tm=o.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:l,...a}=e,s=eZ(tv,r),u=e7(tv,r),c=tp(tv,r),d=eG(tv,r),[f,v]=o.useState(null),m=(0,p.s)(t,e=>v(e),c.onItemTextChange,e=>{var t;return null==(t=u.itemTextRefCallback)?void 0:t.call(u,e,c.value,c.disabled)}),y=null==f?void 0:f.textContent,g=o.useMemo(()=>(0,h.jsx)("option",{value:c.value,disabled:c.disabled,children:y},c.value),[c.disabled,c.value,y]),{onNativeOptionAdd:w,onNativeOptionRemove:x}=d;return(0,K.N)(()=>(w(g),()=>x(g)),[w,x,g]),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(E.span,{id:c.textId,...a,ref:m}),c.isSelected&&s.valueNode&&!s.valueNodeHasChildren?i.createPortal(a.children,s.valueNode):null]})});tm.displayName=tv;var ty="SelectItemIndicator",tg=o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return tp(ty,r).isSelected?(0,h.jsx)(E.span,{"aria-hidden":!0,...n,ref:t}):null});tg.displayName=ty;var tw="SelectScrollUpButton",tx=o.forwardRef((e,t)=>{let r=e7(tw,e.__scopeSelect),n=tl(tw,e.__scopeSelect),[l,i]=o.useState(!1),a=(0,p.s)(t,n.onScrollButtonChange);return(0,K.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){i(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),l?(0,h.jsx)(tC,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});tx.displayName=tw;var tb="SelectScrollDownButton",tE=o.forwardRef((e,t)=>{let r=e7(tb,e.__scopeSelect),n=tl(tb,e.__scopeSelect),[l,i]=o.useState(!1),a=(0,p.s)(t,n.onScrollButtonChange);return(0,K.N)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;i(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),l?(0,h.jsx)(tC,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});tE.displayName=tb;var tC=o.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...l}=e,i=e7("SelectScrollButton",r),a=o.useRef(null),u=eV(r),c=o.useCallback(()=>{null!==a.current&&(window.clearInterval(a.current),a.current=null)},[]);return o.useEffect(()=>()=>c(),[c]),(0,K.N)(()=>{var e;let t=u().find(e=>e.ref.current===document.activeElement);null==t||null==(e=t.ref.current)||e.scrollIntoView({block:"nearest"})},[u]),(0,h.jsx)(E.div,{"aria-hidden":!0,...l,ref:t,style:{flexShrink:0,...l.style},onPointerDown:(0,s.m)(l.onPointerDown,()=>{null===a.current&&(a.current=window.setInterval(n,50))}),onPointerMove:(0,s.m)(l.onPointerMove,()=>{var e;null==(e=i.onItemLeave)||e.call(i),null===a.current&&(a.current=window.setInterval(n,50))}),onPointerLeave:(0,s.m)(l.onPointerLeave,()=>{c()})})});o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,h.jsx)(E.div,{"aria-hidden":!0,...n,ref:t})}).displayName="SelectSeparator";var tS="SelectArrow";o.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,l=eY(r),o=eZ(tS,r),i=e7(tS,r);return o.open&&"popper"===i.position?(0,h.jsx)(ei,{...l,...n,ref:t}):null}).displayName=tS;var tR=o.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,...l}=e,i=o.useRef(null),a=(0,p.s)(t,i),s=(0,ef.Z)(n);return o.useEffect(()=>{let e=i.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(s!==n&&t){let r=new Event("change",{bubbles:!0});t.call(e,n),e.dispatchEvent(r)}},[s,n]),(0,h.jsx)(E.select,{...l,style:{...ep,...l.style},ref:a,defaultValue:n})});function tP(e){return""===e||void 0===e}function tN(e){let t=(0,C.c)(e),r=o.useRef(""),n=o.useRef(0),l=o.useCallback(e=>{let l=r.current+e;t(l),function e(t){r.current=t,window.clearTimeout(n.current),""!==t&&(n.current=window.setTimeout(()=>e(""),1e3))}(l)},[t]),i=o.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,l,i]}function tj(e,t,r){var n,l;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,a=(n=e,l=Math.max(i,0),n.map((e,t)=>n[(l+t)%n.length]));1===o.length&&(a=a.filter(e=>e!==r));let s=a.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==r?s:void 0}tR.displayName="SelectBubbleInput";var tk=eJ,tA=e0,tT=e5,tL=e2,tD=e4,tI=e9,tM=ti,tO=th,t_=tm,tB=tg,tW=tx,tF=tE},78108:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(12115);function l(e){let t=n.useRef({value:e,previous:e});return n.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},85408:(e,t,r)=>{r.d(t,{b:()=>c});var n=r(12115);r(47650);var l=r(94446),o=r(95155),i=Symbol("radix.slottable");function a(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===i}var s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=function(e){let t=function(e){let t=n.forwardRef((e,t)=>{var r,o,i;let a,s,{children:u,...c}=e,d=n.isValidElement(u)?(s=(a=null==(o=Object.getOwnPropertyDescriptor((r=u).props,"ref"))?void 0:o.get)&&"isReactWarning"in a&&a.isReactWarning)?r.ref:(s=(a=null==(i=Object.getOwnPropertyDescriptor(r,"ref"))?void 0:i.get)&&"isReactWarning"in a&&a.isReactWarning)?r.props.ref:r.props.ref||r.ref:void 0,f=(0,l.s)(d,t);if(n.isValidElement(u)){let e=function(e,t){let r={...t};for(let n in t){let l=e[n],o=t[n];/^on[A-Z]/.test(n)?l&&o?r[n]=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let n=o(...t);return l(...t),n}:l&&(r[n]=l):"style"===n?r[n]={...l,...o}:"className"===n&&(r[n]=[l,o].filter(Boolean).join(" "))}return{...e,...r}}(c,u.props);return u.type!==n.Fragment&&(e.ref=f),n.cloneElement(u,e)}return n.Children.count(u)>1?n.Children.only(null):null});return t.displayName="".concat(e,".SlotClone"),t}(e),r=n.forwardRef((e,r)=>{let{children:l,...i}=e,s=n.Children.toArray(l),u=s.find(a);if(u){let e=u.props.children,l=s.map(t=>t!==u?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...i,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,l):null})}return(0,o.jsx)(t,{...i,ref:r,children:l})});return r.displayName="".concat(e,".Slot"),r}(`Primitive.${t}`),i=n.forwardRef((e,n)=>{let{asChild:l,...i}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(l?r:t,{...i,ref:n})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{}),u=n.forwardRef((e,t)=>(0,o.jsx)(s.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null==(r=e.onMouseDown)||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));u.displayName="Label";var c=u}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[165],{11186:(e,t,n)=>{"use strict";n.d(t,{bq:()=>p,eb:()=>g,gC:()=>u,l6:()=>d,yv:()=>c});var a=n(95155);n(12115);var s=n(59929),i=n(24033),r=n(5917),l=n(12108),o=n(64269);function d(e){let{...t}=e;return(0,a.jsx)(s.bL,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(s.WT,{"data-slot":"select-value",...t})}function p(e){let{className:t,size:n="default",children:r,...l}=e;return(0,a.jsxs)(s.l9,{"data-slot":"select-trigger","data-size":n,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l,children:[r,(0,a.jsx)(s.In,{asChild:!0,children:(0,a.jsx)(i.A,{className:"size-4 opacity-50"})})]})}function u(e){let{className:t,children:n,position:i="popper",...r}=e;return(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:i,...r,children:[(0,a.jsx)(x,{}),(0,a.jsx)(s.LM,{className:(0,o.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),(0,a.jsx)(h,{})]})})}function g(e){let{className:t,children:n,...i}=e;return(0,a.jsxs)(s.q7,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...i,children:[(0,a.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(s.VF,{children:(0,a.jsx)(r.A,{className:"size-4"})})}),(0,a.jsx)(s.p4,{children:n})]})}function x(e){let{className:t,...n}=e;return(0,a.jsx)(s.PP,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(l.A,{className:"size-4"})})}function h(e){let{className:t,...n}=e;return(0,a.jsx)(s.wn,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(i.A,{className:"size-4"})})}},17254:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>P});var a=n(95155),s=n(12115),i=n(80230),r=n(7831),l=n(41444),o=n(22470),d=n(56419),c=n(35835),p=n(87270),u=n(20243),g=n(18332),x=n(98053),h=n(50803),m=n(78192),f=n(35299),j=n(3998),v=n(46826),y=n(18514),b=n(71360),N=n(51834),w=n(11186),A=n(46767),C=n(65142),E=n(76444);let k=[{value:"LITELLM",label:"LiteLLM"},{value:"OPENAI_SDK",label:"OpenAI SDK/API"},{value:"GOOGLE_ADK",label:"Google ADK"},{value:"OTHER",label:"Other / Proprietary"},{value:"UNKNOWN",label:"Unknown"}],I={LITELLM:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300",OPENAI_SDK:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",GOOGLE_ADK:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",OTHER:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-300",UNKNOWN:"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"},z=(0,l.h)("AgentsPage");function P(){var e;let{isAuthenticated:t,isLoading:n}=(0,i.h)(),[l,P]=(0,s.useState)([]),[T,D]=(0,s.useState)(!0),[_,L]=(0,s.useState)(null),[O,F]=(0,s.useState)(null),[S,K]=(0,s.useState)(!1),[U,M]=(0,s.useState)({open:!1,title:"",description:""}),[$,q]=(0,s.useState)({open:!1,agent:null}),[G,J]=(0,s.useState)(null),[R,H]=(0,s.useState)(!0),[Z,V]=(0,s.useState)(null),[W,X]=(0,s.useState)(!1),[B,Q]=(0,s.useState)(!1),[Y,ee]=(0,s.useState)(null),[et,en]=(0,s.useState)({name:"",endpoint:"",agentType:"",description:""}),ea=(0,s.useCallback)(async()=>{D(!0),L(null),z.debug("Fetching agents...");try{var e;let t=await r.in.agentList();z.info({count:null==(e=t.results)?void 0:e.length},"Agents fetched successfully"),P(t.results||[])}catch(t){z.error({err:t},"Error fetching agents");let e=t.message||"Failed to load agents. Please try again later.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}z.error({status:n,responseBody:a},"API Error"),e=403===n?"Forbidden: Check your permissions.":401===n?"Unauthorized: Please log in again.":"API Error (".concat(n,"): ").concat(a||e)}L(e),P([])}finally{D(!1)}},[]);(0,s.useEffect)(()=>{(async()=>{if(!n&&t){H(!0),V(null);try{z.debug("Fetching user profile via /user/me...");let e=await r.userApi.userMeRetrieve();J(e),z.debug({org:e.organization},"User profile fetched")}catch(t){z.error({err:t},"Error fetching user profile");let e=t.message||"Failed to load user profile.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}e="Profile API Error (".concat(n,"): ").concat(a||e)}V(e)}finally{H(!1)}}})()},[n,t]);let es=()=>{en({name:"",endpoint:"",agentType:"",description:""}),X(!0)},ei=async()=>{if(!et.name||!et.endpoint)return void M({open:!0,title:"Validation Error",description:"Name and API Endpoint are required."});if(R)return void M({open:!0,title:"Please Wait",description:"User profile is still loading. Please wait a moment."});if(Z||!(null==G?void 0:G.organization))return void M({open:!0,title:"Organization Error",description:"Cannot create agent: Organization ID not found. ".concat(Z||"Organization ID missing from profile.")});K(!0);let e={name:et.name,endpoint:et.endpoint,...et.agentType&&{agentType:et.agentType},...et.description&&{description:et.description}};try{await r.in.agentCreate({agentRequest:e}),z.info({name:e.name},"Agent created successfully"),await ea(),X(!1)}catch(t){z.error({err:t},"Error creating agent");let e=t.message||"Failed to create agent. Please try again.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}z.error({status:n,responseBody:a},"Create API Error"),e="Create API Error (".concat(n,"): ").concat(a||e)}M({open:!0,title:"Error Creating Agent",description:e})}finally{K(!1)}},er=async()=>{if(!(null==Y?void 0:Y.id))return void M({open:!0,title:"Invalid Agent",description:"No agent selected for editing or ID is missing."});if(!et.name||!et.endpoint)return void M({open:!0,title:"Validation Error",description:"Name and API Endpoint are required."});K(!0);let e={name:et.name,endpoint:et.endpoint,...et.agentType&&{agentType:et.agentType},...void 0!==et.description&&{description:et.description}};try{await r.in.agentUpdate({id:Y.id,agentRequest:e}),z.info({agentId:Y.id},"Agent updated successfully"),await ea(),Q(!1),ee(null)}catch(t){z.error({err:t},"Error updating agent");let e=t.message||"Failed to update agent. Please try again.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}z.error({status:n,responseBody:a},"Update API Error"),e="Update API Error (".concat(n,"): ").concat(a||e)}M({open:!0,title:"Error Updating Agent",description:e})}finally{K(!1)}},el=async()=>{let e=$.agent;if(!(null==e?void 0:e.id))return;let t=e.id;q({open:!1,agent:null}),F(t);try{await r.in.agentDestroy({id:t}),z.info({agentId:t},"Agent deleted successfully"),P(e=>e.filter(e=>e.id!==t))}catch(n){z.error({err:n},"Error deleting agent");let t=n.message||'Failed to delete agent "'.concat(e.name,'". Please try again.');if(n.response){let e=n.response.status,a="Could not read error body";try{a=await n.response.text()}catch(e){}z.error({status:e,responseBody:a},"Delete API Error"),t="Delete API Error (".concat(e,"): ").concat(a||t)}M({open:!0,title:"Error Deleting Agent",description:t})}finally{F(null)}};return((0,s.useEffect)(()=>{!n&&t?ea():n||t||(D(!1),P([]),L(null),F(null))},[n,t,ea]),n||T&&0===l.length&&!_||R)?(0,a.jsx)(o.M,{title:"Agents",description:"Configure and monitor your AI agents for security testing.",children:(0,a.jsx)("div",{className:"px-6 space-y-3",children:[void 0,void 0,void 0].map((e,t)=>(0,a.jsxs)("div",{className:"border rounded-lg p-4 flex items-start gap-4",children:[(0,a.jsx)(u.E,{className:"h-10 w-10 rounded-md flex-shrink-0"}),(0,a.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,a.jsx)(u.E,{className:"h-4 w-1/4"}),(0,a.jsx)(u.E,{className:"h-3 w-1/2"})]}),(0,a.jsx)(u.E,{className:"h-6 w-20 rounded-full"}),(0,a.jsx)(u.E,{className:"h-8 w-8 rounded"}),(0,a.jsx)(u.E,{className:"h-8 w-8 rounded"})]},"skeleton-".concat(t)))})}):(0,a.jsxs)(o.M,{title:"Agents",description:"Configure and monitor your AI agents for security testing.",action:t&&(0,a.jsxs)(j.$,{onClick:es,children:[(0,a.jsx)(v.A,{className:"mr-2 h-4 w-4"})," Create Agent"]}),children:[(0,a.jsxs)("div",{className:"px-6 space-y-4",children:[!t&&!n&&(0,a.jsxs)(g.Fc,{children:[(0,a.jsx)(h.A,{className:"h-4 w-4"}),(0,a.jsx)(g.XL,{children:"Authentication Required"}),(0,a.jsx)(g.TN,{children:"Please log in to manage agents."})]}),t&&_&&(0,a.jsxs)(g.Fc,{variant:"destructive",children:[(0,a.jsx)(h.A,{className:"h-4 w-4"}),(0,a.jsx)(g.XL,{children:"Error Loading Agents"}),(0,a.jsx)(g.TN,{children:_})]}),t&&Z&&(0,a.jsxs)(g.Fc,{variant:"destructive",children:[(0,a.jsx)(h.A,{className:"h-4 w-4"}),(0,a.jsx)(g.XL,{children:"Profile Error"}),(0,a.jsxs)(g.TN,{children:[Z," — Agent creation may not be available."]})]}),t&&!T&&0===l.length&&!_&&(0,a.jsx)(d.p,{icon:m.A,title:"No agents configured",description:"Get started by creating your first AI agent for security testing.",action:(0,a.jsxs)(j.$,{onClick:es,children:[(0,a.jsx)(v.A,{className:"mr-2 h-4 w-4"})," Create Agent"]})}),t&&l.length>0&&(0,a.jsx)(A.Bc,{children:(0,a.jsx)("div",{className:"rounded-lg border overflow-hidden",children:(0,a.jsxs)(p.XI,{children:[(0,a.jsx)(p.A0,{children:(0,a.jsxs)(p.Hj,{className:"bg-muted/50 hover:bg-muted/50",children:[(0,a.jsx)(p.nd,{className:"w-[30%] pl-4",children:"Agent"}),(0,a.jsx)(p.nd,{className:"w-[30%]",children:"Endpoint"}),(0,a.jsx)(p.nd,{className:"w-[15%]",children:"Type"}),(0,a.jsx)(p.nd,{className:"w-[12%]",children:"Created"}),(0,a.jsx)(p.nd,{className:"w-[13%] text-right pr-4",children:"Actions"})]})}),(0,a.jsx)(p.BF,{children:l.map(e=>{var t,n,s,i;return(0,a.jsxs)(p.Hj,{className:"group",children:[(0,a.jsx)(p.nA,{className:"pl-4",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("div",{className:"mt-0.5 h-8 w-8 rounded-md bg-muted flex items-center justify-center flex-shrink-0",children:(0,a.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm leading-tight",children:e.name}),e.description&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:e.description}),(null==(t=e.organizationDetail)?void 0:t.name)&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-0.5",children:e.organizationDetail.name})]})]})}),(0,a.jsx)(p.nA,{children:(0,a.jsxs)(A.m_,{children:[(0,a.jsx)(A.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground font-mono truncate block max-w-[260px] cursor-default",children:e.endpoint})}),(0,a.jsx)(A.ZI,{side:"bottom",className:"max-w-sm break-all",children:e.endpoint})]})}),(0,a.jsx)(p.nA,{children:e.agentType?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ".concat(null!=(s=I[e.agentType])?s:I.UNKNOWN),children:null!=(i=null==(n=k.find(t=>t.value===e.agentType))?void 0:n.label)?i:e.agentType}):(0,a.jsx)("span",{className:"text-xs text-muted-foreground/50",children:"—"})}),(0,a.jsx)(p.nA,{children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:e.createdAt?new Date(e.createdAt).toLocaleDateString():"—"})}),(0,a.jsx)(p.nA,{className:"text-right pr-4",children:(0,a.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[(0,a.jsxs)(A.m_,{children:[(0,a.jsx)(A.k$,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"ghost",size:"icon",onClick:()=>(e=>{if(!e.id)return void M({open:!0,title:"Invalid Agent",description:"Cannot edit agent: ID is missing."});ee(e),en({name:e.name||"",endpoint:e.endpoint||"",agentType:e.agentType||"",description:e.description||""}),Q(!0)})(e),disabled:!!O,className:"h-8 w-8 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A.ZI,{children:"Edit agent"})]}),(0,a.jsxs)(A.m_,{children:[(0,a.jsx)(A.k$,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"ghost",size:"icon",onClick:()=>(e=>{if(!e.id)return void M({open:!0,title:"Invalid Agent",description:"Cannot delete agent: ID missing or invalid."});q({open:!0,agent:e})})(e),disabled:!!O,className:"h-8 w-8 opacity-0 group-hover:opacity-100 transition-opacity ".concat(O===e.id?"text-destructive opacity-100":"hover:text-destructive"),children:O===e.id?(0,a.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(b.A,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A.ZI,{children:"Delete agent"})]})]})})]},e.id)})})]})})})]}),(0,a.jsx)(N.lG,{open:W,onOpenChange:X,children:(0,a.jsxs)(N.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsxs)(N.c7,{children:[(0,a.jsx)(N.L3,{children:"Create New Agent"}),(0,a.jsx)(N.rr,{children:"Configure a new AI agent for security testing. Provide the endpoint and details below."})]}),(0,a.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"create-name",children:["Name ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"create-name",value:et.name,onChange:e=>en(t=>({...t,name:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&ei()},placeholder:"My Awesome Agent"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"create-endpoint",children:["API Endpoint ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"create-endpoint",value:et.endpoint,onChange:e=>en(t=>({...t,endpoint:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&ei()},placeholder:"https://your-agent-api.com/invoke",className:"font-mono text-sm"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"create-type",children:"Agent Type"}),(0,a.jsxs)(w.l6,{value:et.agentType,onValueChange:e=>en(t=>({...t,agentType:e})),children:[(0,a.jsx)(w.bq,{id:"create-type",children:(0,a.jsx)(w.yv,{placeholder:"Select agent type..."})}),(0,a.jsx)(w.gC,{children:k.map(e=>(0,a.jsx)(w.eb,{value:e.value,children:e.label},e.value))})]})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"create-description",children:"Description"}),(0,a.jsx)("textarea",{id:"create-description",value:et.description,onChange:e=>en(t=>({...t,description:e.target.value})),placeholder:"A brief description of what this agent does...",rows:3,className:"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-none"})]})]}),(0,a.jsxs)(N.Es,{children:[(0,a.jsx)(N.HM,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"outline",disabled:S,children:"Cancel"})}),(0,a.jsxs)(j.$,{onClick:ei,disabled:S,children:[S&&(0,a.jsx)(f.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Create Agent"]})]})]})}),(0,a.jsx)(N.lG,{open:B,onOpenChange:e=>{Q(e),e||ee(null)},children:(0,a.jsxs)(N.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsxs)(N.c7,{children:[(0,a.jsx)(N.L3,{children:"Edit Agent"}),(0,a.jsxs)(N.rr,{children:["Update the details for ",(0,a.jsx)("strong",{children:null==Y?void 0:Y.name}),"."]})]}),(0,a.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"edit-name",children:["Name ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"edit-name",value:et.name,onChange:e=>en(t=>({...t,name:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&er()},placeholder:"My Awesome Agent"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"edit-endpoint",children:["API Endpoint ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"edit-endpoint",value:et.endpoint,onChange:e=>en(t=>({...t,endpoint:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&er()},placeholder:"https://your-agent-api.com/invoke",className:"font-mono text-sm"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"edit-type",children:"Agent Type"}),(0,a.jsxs)(w.l6,{value:et.agentType,onValueChange:e=>en(t=>({...t,agentType:e})),children:[(0,a.jsx)(w.bq,{id:"edit-type",children:(0,a.jsx)(w.yv,{placeholder:"Select agent type..."})}),(0,a.jsx)(w.gC,{children:k.map(e=>(0,a.jsx)(w.eb,{value:e.value,children:e.label},e.value))})]})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"edit-description",children:"Description"}),(0,a.jsx)("textarea",{id:"edit-description",value:et.description,onChange:e=>en(t=>({...t,description:e.target.value})),placeholder:"A brief description of what this agent does...",rows:3,className:"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-none"})]})]}),(0,a.jsxs)(N.Es,{children:[(0,a.jsx)(N.HM,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"outline",disabled:S,onClick:()=>ee(null),children:"Cancel"})}),(0,a.jsxs)(j.$,{onClick:er,disabled:S,children:[S&&(0,a.jsx)(f.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Save Changes"]})]})]})}),(0,a.jsx)(x.Lt,{open:U.open,onOpenChange:e=>M(t=>({...t,open:e})),children:(0,a.jsxs)(x.EO,{children:[(0,a.jsxs)(x.wd,{children:[(0,a.jsx)(x.r7,{children:U.title}),(0,a.jsx)(x.$v,{children:U.description})]}),(0,a.jsx)(x.ck,{children:(0,a.jsx)(x.Rx,{onClick:()=>M(e=>({...e,open:!1})),children:"OK"})})]})}),(0,a.jsx)(c.T,{open:$.open,onOpenChange:e=>q(t=>({...t,open:e})),title:"Delete Agent",description:'Are you sure you want to delete "'.concat(null==(e=$.agent)?void 0:e.name,'"? This action cannot be undone.'),onConfirm:el,confirmText:"Delete",variant:"destructive"})]})}},34212:(e,t,n)=>{"use strict";function a(e,[t,n]){return Math.min(n,Math.max(t,e))}n.d(t,{q:()=>a})},46767:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>r,ZI:()=>d,k$:()=>o,m_:()=>l});var a=n(95155);n(12115);var s=n(53583),i=n(64269);function r(e){let{delayDuration:t=0,...n}=e;return(0,a.jsx)(s.Kq,{"data-slot":"tooltip-provider",delayDuration:t,...n})}function l(e){let{...t}=e;return(0,a.jsx)(r,{children:(0,a.jsx)(s.bL,{"data-slot":"tooltip",...t})})}function o(e){let{...t}=e;return(0,a.jsx)(s.l9,{"data-slot":"tooltip-trigger",...t})}function d(e){let{className:t,sideOffset:n=0,children:r,...l}=e;return(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{"data-slot":"tooltip-content",sideOffset:n,className:(0,i.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...l,children:[r,(0,a.jsx)(s.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},50952:(e,t,n)=>{Promise.resolve().then(n.bind(n,17254))}},e=>{e.O(0,[187,539,292,8,391,594,924,905,441,493,358],()=>e(e.s=50952)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[165],{11186:(e,t,n)=>{"use strict";n.d(t,{bq:()=>p,eb:()=>g,gC:()=>u,l6:()=>d,yv:()=>c});var a=n(95155);n(12115);var s=n(59929),i=n(24033),r=n(5917),l=n(12108),o=n(64269);function d(e){let{...t}=e;return(0,a.jsx)(s.bL,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(s.WT,{"data-slot":"select-value",...t})}function p(e){let{className:t,size:n="default",children:r,...l}=e;return(0,a.jsxs)(s.l9,{"data-slot":"select-trigger","data-size":n,className:(0,o.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l,children:[r,(0,a.jsx)(s.In,{asChild:!0,children:(0,a.jsx)(i.A,{className:"size-4 opacity-50"})})]})}function u(e){let{className:t,children:n,position:i="popper",...r}=e;return(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{"data-slot":"select-content",className:(0,o.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:i,...r,children:[(0,a.jsx)(x,{}),(0,a.jsx)(s.LM,{className:(0,o.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),(0,a.jsx)(h,{})]})})}function g(e){let{className:t,children:n,...i}=e;return(0,a.jsxs)(s.q7,{"data-slot":"select-item",className:(0,o.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...i,children:[(0,a.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(s.VF,{children:(0,a.jsx)(r.A,{className:"size-4"})})}),(0,a.jsx)(s.p4,{children:n})]})}function x(e){let{className:t,...n}=e;return(0,a.jsx)(s.PP,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(l.A,{className:"size-4"})})}function h(e){let{className:t,...n}=e;return(0,a.jsx)(s.wn,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(i.A,{className:"size-4"})})}},17254:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>P});var a=n(95155),s=n(12115),i=n(80230),r=n(7831),l=n(41444),o=n(22470),d=n(56419),c=n(35835),p=n(87270),u=n(20243),g=n(18332),x=n(98053),h=n(50803),m=n(78192),f=n(35299),j=n(3998),v=n(46826),y=n(18514),b=n(71360),N=n(51834),w=n(11186),A=n(46767),C=n(65142),E=n(76444);let k=[{value:"LITELLM",label:"LiteLLM"},{value:"OPENAI_SDK",label:"OpenAI SDK/API"},{value:"GOOGLE_ADK",label:"Google ADK"},{value:"OTHER",label:"Other / Proprietary"},{value:"UNKNOWN",label:"Unknown"}],I={LITELLM:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300",OPENAI_SDK:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",GOOGLE_ADK:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",OTHER:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-300",UNKNOWN:"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"},z=(0,l.h)("AgentsPage");function P(){var e;let{isAuthenticated:t,isLoading:n}=(0,i.h)(),[l,P]=(0,s.useState)([]),[T,D]=(0,s.useState)(!0),[_,L]=(0,s.useState)(null),[O,F]=(0,s.useState)(null),[S,K]=(0,s.useState)(!1),[U,M]=(0,s.useState)({open:!1,title:"",description:""}),[$,q]=(0,s.useState)({open:!1,agent:null}),[G,J]=(0,s.useState)(null),[R,H]=(0,s.useState)(!0),[Z,V]=(0,s.useState)(null),[W,X]=(0,s.useState)(!1),[B,Q]=(0,s.useState)(!1),[Y,ee]=(0,s.useState)(null),[et,en]=(0,s.useState)({name:"",endpoint:"",agentType:"",description:""}),ea=(0,s.useCallback)(async()=>{D(!0),L(null),z.debug("Fetching agents...");try{var e;let t=await r.in.agentList();z.info({count:null==(e=t.results)?void 0:e.length},"Agents fetched successfully"),P(t.results||[])}catch(t){z.error({err:t},"Error fetching agents");let e=t.message||"Failed to load agents. Please try again later.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}z.error({status:n,responseBody:a},"API Error"),e=403===n?"Forbidden: Check your permissions.":401===n?"Unauthorized: Please log in again.":"API Error (".concat(n,"): ").concat(a||e)}L(e),P([])}finally{D(!1)}},[]);(0,s.useEffect)(()=>{(async()=>{if(!n&&t){H(!0),V(null);try{z.debug("Fetching user profile via /user/me...");let e=await r.userApi.userMeRetrieve();J(e),z.debug({org:e.organization},"User profile fetched")}catch(t){z.error({err:t},"Error fetching user profile");let e=t.message||"Failed to load user profile.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}e="Profile API Error (".concat(n,"): ").concat(a||e)}V(e)}finally{H(!1)}}})()},[n,t]);let es=()=>{en({name:"",endpoint:"",agentType:"",description:""}),X(!0)},ei=async()=>{if(!et.name||!et.endpoint)return void M({open:!0,title:"Validation Error",description:"Name and API Endpoint are required."});if(R)return void M({open:!0,title:"Please Wait",description:"User profile is still loading. Please wait a moment."});if(Z||!(null==G?void 0:G.organization))return void M({open:!0,title:"Organization Error",description:"Cannot create agent: Organization ID not found. ".concat(Z||"Organization ID missing from profile.")});K(!0);let e={name:et.name,endpoint:et.endpoint,...et.agentType&&{agentType:et.agentType},...et.description&&{description:et.description}};try{await r.in.agentCreate({agentRequest:e}),z.info({name:e.name},"Agent created successfully"),await ea(),X(!1)}catch(t){z.error({err:t},"Error creating agent");let e=t.message||"Failed to create agent. Please try again.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}z.error({status:n,responseBody:a},"Create API Error"),e="Create API Error (".concat(n,"): ").concat(a||e)}M({open:!0,title:"Error Creating Agent",description:e})}finally{K(!1)}},er=async()=>{if(!(null==Y?void 0:Y.id))return void M({open:!0,title:"Invalid Agent",description:"No agent selected for editing or ID is missing."});if(!et.name||!et.endpoint)return void M({open:!0,title:"Validation Error",description:"Name and API Endpoint are required."});K(!0);let e={name:et.name,endpoint:et.endpoint,...et.agentType&&{agentType:et.agentType},...void 0!==et.description&&{description:et.description}};try{await r.in.agentUpdate({id:Y.id,agentRequest:e}),z.info({agentId:Y.id},"Agent updated successfully"),await ea(),Q(!1),ee(null)}catch(t){z.error({err:t},"Error updating agent");let e=t.message||"Failed to update agent. Please try again.";if(t.response){let n=t.response.status,a="Could not read error body";try{a=await t.response.text()}catch(e){}z.error({status:n,responseBody:a},"Update API Error"),e="Update API Error (".concat(n,"): ").concat(a||e)}M({open:!0,title:"Error Updating Agent",description:e})}finally{K(!1)}},el=async()=>{let e=$.agent;if(!(null==e?void 0:e.id))return;let t=e.id;q({open:!1,agent:null}),F(t);try{await r.in.agentDestroy({id:t}),z.info({agentId:t},"Agent deleted successfully"),P(e=>e.filter(e=>e.id!==t))}catch(n){z.error({err:n},"Error deleting agent");let t=n.message||'Failed to delete agent "'.concat(e.name,'". Please try again.');if(n.response){let e=n.response.status,a="Could not read error body";try{a=await n.response.text()}catch(e){}z.error({status:e,responseBody:a},"Delete API Error"),t="Delete API Error (".concat(e,"): ").concat(a||t)}M({open:!0,title:"Error Deleting Agent",description:t})}finally{F(null)}};return((0,s.useEffect)(()=>{!n&&t?ea():n||t||(D(!1),P([]),L(null),F(null))},[n,t,ea]),n||T&&0===l.length&&!_||R)?(0,a.jsx)(o.M,{title:"Agents",description:"Configure and monitor your AI agents for security testing.",children:(0,a.jsx)("div",{className:"px-6 space-y-3",children:[void 0,void 0,void 0].map((e,t)=>(0,a.jsxs)("div",{className:"border rounded-lg p-4 flex items-start gap-4",children:[(0,a.jsx)(u.E,{className:"h-10 w-10 rounded-md flex-shrink-0"}),(0,a.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,a.jsx)(u.E,{className:"h-4 w-1/4"}),(0,a.jsx)(u.E,{className:"h-3 w-1/2"})]}),(0,a.jsx)(u.E,{className:"h-6 w-20 rounded-full"}),(0,a.jsx)(u.E,{className:"h-8 w-8 rounded"}),(0,a.jsx)(u.E,{className:"h-8 w-8 rounded"})]},"skeleton-".concat(t)))})}):(0,a.jsxs)(o.M,{title:"Agents",description:"Configure and monitor your AI agents for security testing.",action:t&&(0,a.jsxs)(j.$,{onClick:es,children:[(0,a.jsx)(v.A,{className:"mr-2 h-4 w-4"})," Create Agent"]}),children:[(0,a.jsxs)("div",{className:"px-6 space-y-4",children:[!t&&!n&&(0,a.jsxs)(g.Fc,{children:[(0,a.jsx)(h.A,{className:"h-4 w-4"}),(0,a.jsx)(g.XL,{children:"Authentication Required"}),(0,a.jsx)(g.TN,{children:"Please log in to manage agents."})]}),t&&_&&(0,a.jsxs)(g.Fc,{variant:"destructive",children:[(0,a.jsx)(h.A,{className:"h-4 w-4"}),(0,a.jsx)(g.XL,{children:"Error Loading Agents"}),(0,a.jsx)(g.TN,{children:_})]}),t&&Z&&(0,a.jsxs)(g.Fc,{variant:"destructive",children:[(0,a.jsx)(h.A,{className:"h-4 w-4"}),(0,a.jsx)(g.XL,{children:"Profile Error"}),(0,a.jsxs)(g.TN,{children:[Z," — Agent creation may not be available."]})]}),t&&!T&&0===l.length&&!_&&(0,a.jsx)(d.p,{icon:m.A,title:"No agents configured",description:"Get started by creating your first AI agent for security testing.",action:(0,a.jsxs)(j.$,{onClick:es,children:[(0,a.jsx)(v.A,{className:"mr-2 h-4 w-4"})," Create Agent"]})}),t&&l.length>0&&(0,a.jsx)(A.Bc,{children:(0,a.jsx)("div",{className:"rounded-lg border overflow-hidden",children:(0,a.jsxs)(p.XI,{children:[(0,a.jsx)(p.A0,{children:(0,a.jsxs)(p.Hj,{className:"bg-muted/50 hover:bg-muted/50",children:[(0,a.jsx)(p.nd,{className:"w-[30%] pl-4",children:"Agent"}),(0,a.jsx)(p.nd,{className:"w-[30%]",children:"Endpoint"}),(0,a.jsx)(p.nd,{className:"w-[15%]",children:"Type"}),(0,a.jsx)(p.nd,{className:"w-[12%]",children:"Created"}),(0,a.jsx)(p.nd,{className:"w-[13%] text-right pr-4",children:"Actions"})]})}),(0,a.jsx)(p.BF,{children:l.map(e=>{var t,n,s,i;return(0,a.jsxs)(p.Hj,{className:"group",children:[(0,a.jsx)(p.nA,{className:"pl-4",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("div",{className:"mt-0.5 h-8 w-8 rounded-md bg-muted flex items-center justify-center flex-shrink-0",children:(0,a.jsx)(m.A,{className:"h-4 w-4 text-muted-foreground"})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"font-medium text-sm leading-tight",children:e.name}),e.description&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:e.description}),(null==(t=e.organizationDetail)?void 0:t.name)&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-0.5",children:e.organizationDetail.name})]})]})}),(0,a.jsx)(p.nA,{children:(0,a.jsxs)(A.m_,{children:[(0,a.jsx)(A.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground font-mono truncate block max-w-[260px] cursor-default",children:e.endpoint})}),(0,a.jsx)(A.ZI,{side:"bottom",className:"max-w-sm break-all",children:e.endpoint})]})}),(0,a.jsx)(p.nA,{children:e.agentType?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ".concat(null!=(s=I[e.agentType])?s:I.UNKNOWN),children:null!=(i=null==(n=k.find(t=>t.value===e.agentType))?void 0:n.label)?i:e.agentType}):(0,a.jsx)("span",{className:"text-xs text-muted-foreground/50",children:"—"})}),(0,a.jsx)(p.nA,{children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:e.createdAt?new Date(e.createdAt).toLocaleDateString():"—"})}),(0,a.jsx)(p.nA,{className:"text-right pr-4",children:(0,a.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[(0,a.jsxs)(A.m_,{children:[(0,a.jsx)(A.k$,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"ghost",size:"icon",onClick:()=>(e=>{if(!e.id)return void M({open:!0,title:"Invalid Agent",description:"Cannot edit agent: ID is missing."});ee(e),en({name:e.name||"",endpoint:e.endpoint||"",agentType:e.agentType||"",description:e.description||""}),Q(!0)})(e),disabled:!!O,className:"h-8 w-8 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A.ZI,{children:"Edit agent"})]}),(0,a.jsxs)(A.m_,{children:[(0,a.jsx)(A.k$,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"ghost",size:"icon",onClick:()=>(e=>{if(!e.id)return void M({open:!0,title:"Invalid Agent",description:"Cannot delete agent: ID missing or invalid."});q({open:!0,agent:e})})(e),disabled:!!O,className:"h-8 w-8 opacity-0 group-hover:opacity-100 transition-opacity ".concat(O===e.id?"text-destructive opacity-100":"hover:text-destructive"),children:O===e.id?(0,a.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(b.A,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(A.ZI,{children:"Delete agent"})]})]})})]},e.id)})})]})})})]}),(0,a.jsx)(N.lG,{open:W,onOpenChange:X,children:(0,a.jsxs)(N.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsxs)(N.c7,{children:[(0,a.jsx)(N.L3,{children:"Create New Agent"}),(0,a.jsx)(N.rr,{children:"Configure a new AI agent for security testing. Provide the endpoint and details below."})]}),(0,a.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"create-name",children:["Name ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"create-name",value:et.name,onChange:e=>en(t=>({...t,name:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&ei()},placeholder:"My Awesome Agent"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"create-endpoint",children:["API Endpoint ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"create-endpoint",value:et.endpoint,onChange:e=>en(t=>({...t,endpoint:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&ei()},placeholder:"https://your-agent-api.com/invoke",className:"font-mono text-sm"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"create-type",children:"Agent Type"}),(0,a.jsxs)(w.l6,{value:et.agentType,onValueChange:e=>en(t=>({...t,agentType:e})),children:[(0,a.jsx)(w.bq,{id:"create-type",children:(0,a.jsx)(w.yv,{placeholder:"Select agent type..."})}),(0,a.jsx)(w.gC,{children:k.map(e=>(0,a.jsx)(w.eb,{value:e.value,children:e.label},e.value))})]})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"create-description",children:"Description"}),(0,a.jsx)("textarea",{id:"create-description",value:et.description,onChange:e=>en(t=>({...t,description:e.target.value})),placeholder:"A brief description of what this agent does...",rows:3,className:"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-none"})]})]}),(0,a.jsxs)(N.Es,{children:[(0,a.jsx)(N.HM,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"outline",disabled:S,children:"Cancel"})}),(0,a.jsxs)(j.$,{onClick:ei,disabled:S,children:[S&&(0,a.jsx)(f.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Create Agent"]})]})]})}),(0,a.jsx)(N.lG,{open:B,onOpenChange:e=>{Q(e),e||ee(null)},children:(0,a.jsxs)(N.Cf,{className:"sm:max-w-[480px]",children:[(0,a.jsxs)(N.c7,{children:[(0,a.jsx)(N.L3,{children:"Edit Agent"}),(0,a.jsxs)(N.rr,{children:["Update the details for ",(0,a.jsx)("strong",{children:null==Y?void 0:Y.name}),"."]})]}),(0,a.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"edit-name",children:["Name ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"edit-name",value:et.name,onChange:e=>en(t=>({...t,name:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&er()},placeholder:"My Awesome Agent"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsxs)(E.J,{htmlFor:"edit-endpoint",children:["API Endpoint ",(0,a.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,a.jsx)(C.p,{id:"edit-endpoint",value:et.endpoint,onChange:e=>en(t=>({...t,endpoint:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&er()},placeholder:"https://your-agent-api.com/invoke",className:"font-mono text-sm"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"edit-type",children:"Agent Type"}),(0,a.jsxs)(w.l6,{value:et.agentType,onValueChange:e=>en(t=>({...t,agentType:e})),children:[(0,a.jsx)(w.bq,{id:"edit-type",children:(0,a.jsx)(w.yv,{placeholder:"Select agent type..."})}),(0,a.jsx)(w.gC,{children:k.map(e=>(0,a.jsx)(w.eb,{value:e.value,children:e.label},e.value))})]})]}),(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(E.J,{htmlFor:"edit-description",children:"Description"}),(0,a.jsx)("textarea",{id:"edit-description",value:et.description,onChange:e=>en(t=>({...t,description:e.target.value})),placeholder:"A brief description of what this agent does...",rows:3,className:"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-none"})]})]}),(0,a.jsxs)(N.Es,{children:[(0,a.jsx)(N.HM,{asChild:!0,children:(0,a.jsx)(j.$,{variant:"outline",disabled:S,onClick:()=>ee(null),children:"Cancel"})}),(0,a.jsxs)(j.$,{onClick:er,disabled:S,children:[S&&(0,a.jsx)(f.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Save Changes"]})]})]})}),(0,a.jsx)(x.Lt,{open:U.open,onOpenChange:e=>M(t=>({...t,open:e})),children:(0,a.jsxs)(x.EO,{children:[(0,a.jsxs)(x.wd,{children:[(0,a.jsx)(x.r7,{children:U.title}),(0,a.jsx)(x.$v,{children:U.description})]}),(0,a.jsx)(x.ck,{children:(0,a.jsx)(x.Rx,{onClick:()=>M(e=>({...e,open:!1})),children:"OK"})})]})}),(0,a.jsx)(c.T,{open:$.open,onOpenChange:e=>q(t=>({...t,open:e})),title:"Delete Agent",description:'Are you sure you want to delete "'.concat(null==(e=$.agent)?void 0:e.name,'"? This action cannot be undone.'),onConfirm:el,confirmText:"Delete",variant:"destructive"})]})}},34212:(e,t,n)=>{"use strict";function a(e,[t,n]){return Math.min(n,Math.max(t,e))}n.d(t,{q:()=>a})},46767:(e,t,n)=>{"use strict";n.d(t,{Bc:()=>r,ZI:()=>d,k$:()=>o,m_:()=>l});var a=n(95155);n(12115);var s=n(53583),i=n(64269);function r(e){let{delayDuration:t=0,...n}=e;return(0,a.jsx)(s.Kq,{"data-slot":"tooltip-provider",delayDuration:t,...n})}function l(e){let{...t}=e;return(0,a.jsx)(r,{children:(0,a.jsx)(s.bL,{"data-slot":"tooltip",...t})})}function o(e){let{...t}=e;return(0,a.jsx)(s.l9,{"data-slot":"tooltip-trigger",...t})}function d(e){let{className:t,sideOffset:n=0,children:r,...l}=e;return(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{"data-slot":"tooltip-content",sideOffset:n,className:(0,i.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...l,children:[r,(0,a.jsx)(s.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},50952:(e,t,n)=>{Promise.resolve().then(n.bind(n,17254))}},e=>{e.O(0,[187,539,292,355,889,924,905,441,493,358],()=>e(e.s=50952)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{6259:(e,t,a)=>{"use strict";a.d(t,{SQ:()=>o,_2:()=>c,mB:()=>d,rI:()=>s,ty:()=>l});var n=a(95155);a(12115);var r=a(24595),i=a(64269);function s(e){let{...t}=e;return(0,n.jsx)(r.bL,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,n.jsx)(r.l9,{"data-slot":"dropdown-menu-trigger",...t})}function o(e){let{className:t,sideOffset:a=4,...s}=e;return(0,n.jsx)(r.ZL,{children:(0,n.jsx)(r.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...s})})}function c(e){let{className:t,inset:a,variant:s="default",...l}=e;return(0,n.jsx)(r.q7,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":s,className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l})}function d(e){let{className:t,...a}=e;return(0,n.jsx)(r.wv,{"data-slot":"dropdown-menu-separator",className:(0,i.cn)("bg-border -mx-1 my-1 h-px",t),...a})}},24323:(e,t,a)=>{"use strict";a.d(t,{P:()=>x,T:()=>f});var n=a(95155),r=a(12115),i=a(52619),s=a.n(i),l=a(68321),o=a(76784),c=a(7831),d=a(41444),u=a(3998),h=a(51834);let m=(0,d.h)("AnalyticsConsent");async function f(e){await c.userApi.userMeUpdate({userProfileRequest:{analyticsConsent:e}})}function x(){let[e,t]=(0,r.useState)(null),a=(0,r.useRef)(!1);(0,r.useEffect)(()=>{let e=!1;return c.userApi.userMeRetrieve().then(a=>{var n;e||t(null!=(n=a.analyticsConsent)?n:"unset")}).catch(e=>{m.debug({err:e},"Could not load analytics consent (not authenticated yet?)")}),()=>{e=!0}},[]);let i=async e=>{a.current=!0,t(e);try{await f(e)}catch(e){m.error({err:e},"Failed to save analytics consent")}};return(0,n.jsxs)(n.Fragment,{children:["accepted"===e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.GoogleAnalytics,{gaId:"G-2P6K2HWVEE"}),(0,n.jsx)(l.default,{id:"microsoft-clarity",strategy:"afterInteractive",children:'(function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n })(window, document, "clarity", "script", "xowemo04qg");'})]}),(0,n.jsx)(h.lG,{open:"unset"===e,onOpenChange:e=>{e||a.current||i("declined")},children:(0,n.jsxs)(h.Cf,{children:[(0,n.jsxs)(h.c7,{children:[(0,n.jsx)(h.L3,{children:"Help us improve HackAgent"}),(0,n.jsxs)(h.rr,{children:["We'd like to use optional analytics to understand how HackAgent is used. This is separate from the cookies that keep you signed in, and you can change it anytime in Settings. See our"," ",(0,n.jsx)(s(),{href:"https://hackagent.dev/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"Privacy Policy"}),"."]})]}),(0,n.jsxs)(h.Es,{children:[(0,n.jsx)(u.$,{variant:"outline",onClick:()=>i("declined"),children:"Not now"}),(0,n.jsx)(u.$,{onClick:()=>i("accepted"),children:"Sounds good"})]})]})})]})}},24394:()=>{},27180:(e,t,a)=>{"use strict";a.d(t,{Authorization:()=>C});var n=a(95155),r=a(67176),i=a(20063),s=a(12115),l=a(34105),o=a(7831),c=a(41444);let d=(0,c.h)("Auth0Adapter");function u(e){let{children:t}=e,{getAccessTokenSilently:i,isAuthenticated:c,isLoading:u,loginWithRedirect:h,logout:m,user:f}=(0,r.WB)(),[x,g]=(0,s.useState)(!1),p=(0,s.useRef)(!1),v=(0,s.useCallback)(async()=>{let e=await i()||"";return(0,o.ki)(e),e},[i]);(0,s.useEffect)(()=>{let e;if(u)return;let t=!1;if(!c){(0,o.ki)(null),g(!0),p.current=!1;return}let n=async()=>{try{if(await v(),!p.current){p.current=!0;let{userApi:e}=await Promise.resolve().then(a.bind(a,7831));e.userMeRetrieve().catch(()=>d.debug("User profile synchronization deferred"))}}catch(e){d.error({err:e},"Unable to obtain Auth0 access token"),(0,o.ki)(null)}finally{t||g(!0)}};return n(),e=setInterval(()=>void n(),6e5),()=>{t=!0,e&&clearInterval(e)}},[c,u,v]);let j=(0,s.useCallback)(async()=>{await h({appState:{returnTo:"/"}})},[h]),y=(0,s.useCallback)(async()=>{(0,o.ki)(null),await m({logoutParams:{returnTo:window.location.origin}})},[m]),k=(0,s.useMemo)(()=>({provider:"auth0",user:f,isAuthenticated:c,isLoading:u||c&&!x,login:j,logout:y,getAccessTokenSilently:v}),[f,c,u,x,j,y,v]);return(0,n.jsx)(l.c.Provider,{value:k,children:t})}function h(e){let{config:t,children:a}=e,l=(0,i.useRouter)(),o=(0,s.useCallback)(e=>{l.push((null==e?void 0:e.returnTo)||"/")},[l]);if(!t.auth0Domain||!t.auth0ClientId||!t.auth0Audience)return(0,n.jsx)(m,{provider:"Auth0"});let c=t.auth0RedirectUri||window.location.origin;return(0,n.jsx)(r.y2,{domain:t.auth0Domain,clientId:t.auth0ClientId,authorizationParams:{redirect_uri:c,audience:t.auth0Audience,scope:"openid profile email"},onRedirectCallback:o,cacheLocation:"localstorage",children:(0,n.jsx)(u,{children:a})})}function m(e){let{provider:t}=e;return(0,n.jsx)("div",{role:"alert",className:"flex min-h-screen items-center justify-center p-6 text-center",children:(0,n.jsxs)("p",{children:[t," authentication is selected but its runtime configuration is incomplete."]})})}let f=async()=>"mock-dev-token";function x(e){let{children:t}=e,[a,r]=(0,s.useState)(!1);(0,s.useEffect)(()=>((0,o.ki)("mock-dev-token"),r(!0),()=>(0,o.ki)(null)),[]);let i=(0,s.useMemo)(()=>({provider:"disabled",user:{email:"dev@hackagent.local",name:"Dev User",preferred_username:"dev",picture:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><rect fill="%23ccc" width="48" height="48"/><text x="50%25" y="50%25" dominant-baseline="middle" text-anchor="middle" font-family="sans-serif" font-size="24" fill="%23666">D</text></svg>'},isAuthenticated:!0,isLoading:!a,login:void 0,logout:void 0,getAccessTokenSilently:f}),[a]);return(0,n.jsx)(l.c.Provider,{value:i,children:t})}var g=a(5313);let p=(0,c.h)("KeycloakAdapter"),v=async()=>"",j={provider:"keycloak",user:void 0,isAuthenticated:!1,isLoading:!0,login:void 0,logout:void 0,getAccessTokenSilently:v};function y(e){let{config:t,children:r}=e,[i,c]=(0,s.useState)(j);return((0,s.useEffect)(()=>{let e;if(!t.keycloakRealmUrl||!t.keycloakClientId)return;let n=new URL(t.keycloakRealmUrl),r="/realms/",i=n.pathname.indexOf(r),s=i>=0?"".concat(n.origin).concat(n.pathname.slice(0,i)):n.origin,l=i>=0?n.pathname.slice(i+r.length).split("/")[0]:n.pathname.split("/").filter(Boolean).at(-1)||"hackagent",d=new g.A({url:s,realm:l,clientId:t.keycloakClientId}),u=!1,h=async()=>{await d.updateToken(60);let e=d.token||"";return(0,o.ki)(e||null),e};return(async()=>{try{var t,n,r,i,s;let l=await d.init({onLoad:"login-required",silentCheckSsoRedirectUri:"".concat(window.location.origin,"/silent-check-sso.html"),pkceMethod:"S256"});if(u)return;if(!l){(0,o.ki)(null),c({provider:"keycloak",user:void 0,isAuthenticated:!1,isLoading:!1,login:async()=>{await d.login()},logout:void 0,getAccessTokenSilently:v});return}let m={sub:d.subject,email:null==(t=d.tokenParsed)?void 0:t.email,name:null==(n=d.tokenParsed)?void 0:n.name,given_name:null==(r=d.tokenParsed)?void 0:r.given_name,family_name:null==(i=d.tokenParsed)?void 0:i.family_name,preferred_username:null==(s=d.tokenParsed)?void 0:s.preferred_username};await h();let{userApi:f}=await Promise.resolve().then(a.bind(a,7831));f.userMeRetrieve().catch(()=>p.debug("User profile synchronization deferred")),c({provider:"keycloak",user:m,isAuthenticated:!0,isLoading:!1,login:async()=>{await d.login()},logout:async()=>{(0,o.ki)(null),await d.logout({redirectUri:window.location.origin})},getAccessTokenSilently:h}),e=setInterval(()=>{h().catch(e=>p.error({err:e},"Unable to refresh Keycloak access token"))},3e4)}catch(e){p.error({err:e},"Keycloak initialization failed"),(0,o.ki)(null),u||c({...j,isLoading:!1})}})(),()=>{u=!0,e&&clearInterval(e),(0,o.ki)(null)}},[t.keycloakClientId,t.keycloakRealmUrl]),t.keycloakRealmUrl&&t.keycloakClientId)?(0,n.jsx)(l.c.Provider,{value:i,children:r}):(0,n.jsx)("div",{role:"alert",className:"flex min-h-screen items-center justify-center p-6 text-center",children:(0,n.jsx)("p",{children:"Keycloak authentication is selected but its runtime configuration is incomplete."})})}function k(e){return{authProvider:e.disableAuth?"disabled":"auth0"===e.authProvider||"keycloak"===e.authProvider||"disabled"===e.authProvider?e.authProvider:e.auth0Domain&&e.auth0ClientId?"auth0":"keycloak",auth0Domain:e.auth0Domain||"",auth0ClientId:e.auth0ClientId||"",auth0Audience:e.auth0Audience||"",auth0RedirectUri:e.auth0RedirectUri||"",keycloakRealmUrl:e.keycloakRealmUrl||"",keycloakClientId:e.keycloakClientId||"",apiUrl:e.apiUrl||""}}a(95704);var b=a(95704);let w=(0,c.h)("useRuntimeConfig"),N=k({authProvider:b.env.NEXT_PUBLIC_AUTH_PROVIDER,auth0Domain:b.env.NEXT_PUBLIC_AUTH0_DOMAIN,auth0ClientId:b.env.NEXT_PUBLIC_AUTH0_CLIENT_ID,auth0Audience:b.env.NEXT_PUBLIC_AUTH0_AUDIENCE,auth0RedirectUri:b.env.NEXT_PUBLIC_AUTH0_REDIRECT_URI,keycloakRealmUrl:b.env.NEXT_PUBLIC_KEYCLOAK_REALM_URL||"",keycloakClientId:b.env.NEXT_PUBLIC_KEYCLOAK_CLIENT_ID||"",apiUrl:b.env.NEXT_PUBLIC_API_URL||"",disableAuth:!0});function C(e){let{children:t}=e,{config:a,isLoading:r}=function(){let[e,t]=(0,s.useState)(N),[a,n]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{(async()=>{try{let e=await fetch("/config.json");if(!e.ok)throw Error("Failed to load config: ".concat(e.status));let a=k(await e.json());w.info("Runtime config loaded successfully"),t(a)}catch(e){w.warn("Failed to load runtime config, using build-time defaults"),t(N)}finally{n(!1)}})()},[]),{config:e,isLoading:a}}();if(r)return null;switch(a.authProvider){case"auth0":return(0,n.jsx)(h,{config:a,children:t});case"keycloak":return(0,n.jsx)(y,{config:a,children:t});case"disabled":return(0,n.jsx)(x,{children:t})}}},34105:(e,t,a)=>{"use strict";a.d(t,{c:()=>n});let n=(0,a(12115).createContext)(void 0)},46767:(e,t,a)=>{"use strict";a.d(t,{Bc:()=>s,ZI:()=>c,k$:()=>o,m_:()=>l});var n=a(95155);a(12115);var r=a(53583),i=a(64269);function s(e){let{delayDuration:t=0,...a}=e;return(0,n.jsx)(r.Kq,{"data-slot":"tooltip-provider",delayDuration:t,...a})}function l(e){let{...t}=e;return(0,n.jsx)(s,{children:(0,n.jsx)(r.bL,{"data-slot":"tooltip",...t})})}function o(e){let{...t}=e;return(0,n.jsx)(r.l9,{"data-slot":"tooltip-trigger",...t})}function c(e){let{className:t,sideOffset:a=0,children:s,...l}=e;return(0,n.jsx)(r.ZL,{children:(0,n.jsxs)(r.UC,{"data-slot":"tooltip-content",sideOffset:a,className:(0,i.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...l,children:[s,(0,n.jsx)(r.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},51834:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>u,Es:()=>m,HM:()=>c,L3:()=>f,c7:()=>h,lG:()=>l,rr:()=>x});var n=a(95155);a(12115);var r=a(88292),i=a(65229),s=a(64269);function l(e){let{...t}=e;return(0,n.jsx)(r.bL,{"data-slot":"dialog",...t})}function o(e){let{...t}=e;return(0,n.jsx)(r.ZL,{"data-slot":"dialog-portal",...t})}function c(e){let{...t}=e;return(0,n.jsx)(r.bm,{"data-slot":"dialog-close",...t})}function d(e){let{className:t,...a}=e;return(0,n.jsx)(r.hJ,{"data-slot":"dialog-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function u(e){let{className:t,children:a,...l}=e;return(0,n.jsxs)(o,{"data-slot":"dialog-portal",children:[(0,n.jsx)(d,{}),(0,n.jsxs)(r.UC,{"data-slot":"dialog-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...l,children:[a,(0,n.jsxs)(r.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,n.jsx)(i.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function h(e){let{className:t,...a}=e;return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,s.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function m(e){let{className:t,...a}=e;return(0,n.jsx)("div",{"data-slot":"dialog-footer",className:(0,s.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...a})}function f(e){let{className:t,...a}=e;return(0,n.jsx)(r.hE,{"data-slot":"dialog-title",className:(0,s.cn)("text-lg leading-none font-semibold",t),...a})}function x(e){let{className:t,...a}=e;return(0,n.jsx)(r.VY,{"data-slot":"dialog-description",className:(0,s.cn)("text-muted-foreground text-sm",t),...a})}},63479:(e,t,a)=>{"use strict";a.d(t,{D:()=>s,N:()=>c});var n=a(95155),r=a(12115);let i=(0,r.createContext)({theme:"system",resolvedTheme:"light",setTheme:()=>{}});function s(){return(0,r.useContext)(i)}let l="hackagent-theme";function o(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function c(e){let{children:t}=e,[a,s]=(0,r.useState)("system"),[c,d]=(0,r.useState)("light"),u=e=>{let t=document.documentElement;"dark"===e?t.classList.add("dark"):t.classList.remove("dark")};return(0,r.useEffect)(()=>{var e;let t=null!=(e=localStorage.getItem(l))?e:"system";s(t);let a="system"===t?o():t;d(a),u(a)},[]),(0,r.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: dark)"),t=()=>{if("system"===a){let e=o();d(e),u(e)}};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[a]),(0,n.jsx)(i.Provider,{value:{theme:a,resolvedTheme:c,setTheme:e=>{localStorage.setItem(l,e),s(e);let t="system"===e?o():e;d(t),u(t)}},children:t})}},75377:(e,t,a)=>{Promise.resolve().then(a.bind(a,27180)),Promise.resolve().then(a.bind(a,96280)),Promise.resolve().then(a.t.bind(a,93836,23))},80230:(e,t,a)=>{"use strict";a.d(t,{h:()=>s});var n=a(12115),r=a(34105);let i=async()=>"";function s(){let e=(0,n.useContext)(r.c);return e||{provider:"disabled",user:void 0,isAuthenticated:!1,isLoading:!0,login:void 0,logout:void 0,getAccessTokenSilently:i}}},86259:(e,t,a)=>{"use strict";a.d(t,{w:()=>s});var n=a(95155);a(12115);var r=a(57268),i=a(64269);function s(e){let{className:t,orientation:a="horizontal",decorative:s=!0,...l}=e;return(0,n.jsx)(r.b,{"data-slot":"separator-root",decorative:s,orientation:a,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...l})}},91903:()=>{},93836:()=>{},96280:(e,t,a)=>{"use strict";a.d(t,{default:()=>K});var n=a(95155),r=a(12115),i=a(52619),s=a.n(i),l=a(80230),o=a(20063),c=a(15239),d=a(3998),u=a(86259),h=a(46591),m=a(64269);function f(e){let{className:t,...a}=e;return(0,n.jsx)(h.bL,{"data-slot":"avatar",className:(0,m.cn)("relative flex size-8 shrink-0 overflow-hidden rounded-full",t),...a})}function x(e){let{className:t,...a}=e;return(0,n.jsx)(h._V,{"data-slot":"avatar-image",className:(0,m.cn)("aspect-square size-full",t),...a})}function g(e){let{className:t,...a}=e;return(0,n.jsx)(h.H4,{"data-slot":"avatar-fallback",className:(0,m.cn)("bg-muted flex size-full items-center justify-center rounded-full",t),...a})}var p=a(6259),v=a(46767);let j=(0,r.createContext)(void 0),y=e=>{let{children:t}=e,[a,i]=(0,r.useState)(!1);return(0,n.jsx)(j.Provider,{value:{isCollapsed:a,toggleSidebar:()=>{i(e=>!e)}},children:t})},k=()=>{let e=(0,r.useContext)(j);if(!e)throw Error("useSidebar must be used within a SidebarProvider");return e};var b=a(65993),w=a(78192),N=a(37397),C=a(46826),A=a(80534),_=a(89715),I=a(5370),U=a(47937);let L=[{items:[{href:"/",label:"Home",icon:b.A}]},{title:"Test",items:[{href:"/agents",label:"Agents",icon:w.A},{href:"/attacks",label:"Attacks",icon:N.A},{href:"/attacks/builder",label:"New attack",icon:C.A}]},{title:"Results",items:[{href:"/stats",label:"Runs",icon:A.A},{href:"/reports",label:"Reports",icon:_.A}]},{title:"Resources",items:[{href:"/api-keys",label:"API Keys",icon:I.A},{href:"https://docs.hackagent.dev",label:"Docs",icon:U.A,external:!0}]}];var E=a(77931),P=a(26550),R=a(12108),T=a(15870),z=a(84926);let S=()=>{let{user:e,isLoading:t,isAuthenticated:a,logout:i}=(0,l.h)(),h=(0,o.usePathname)(),{isCollapsed:j,toggleSidebar:y}=k();if(t||!a||!e)return null;let b=e.name||e.preferred_username||e.email||"User",w=(e=>{if(!e||""===e.trim())return"?";if(e.startsWith("0x")&&e.length>10)return e.substring(0,2).toUpperCase();let t=e.split(/[\s.\-_@]+/).filter(e=>e.length>0);return 0===t.length?"?":1===t.length?t[0].substring(0,2).toUpperCase():((t[0][0]||"")+(t[t.length-1][0]||"")).toUpperCase()})(b),N=function(e,t){let a=e.split(/[?#]/)[0].replace(/(.)\/+$/,"$1");return t.filter(e=>"/"===e?"/"===a:a===e||a.startsWith("".concat(e,"/"))).sort((e,t)=>t.length-e.length)[0]}(h,L.flatMap(e=>e.items.filter(e=>!e.external).map(e=>e.href))),C=e=>{let{href:t,icon:a,label:r,isActive:i}=e;return(0,n.jsxs)(v.m_,{children:[(0,n.jsx)(v.k$,{asChild:!0,children:(0,n.jsx)(s(),{href:t,"aria-current":i?"page":void 0,children:(0,n.jsxs)(d.$,{variant:i?"secondary":"ghost",className:(0,m.cn)("w-full",j?"justify-center px-2":"justify-start",i&&"font-semibold"),children:[(0,n.jsx)(a,{className:(0,m.cn)("h-4 w-4",!j&&"mr-2")}),!j&&r]})})}),j&&(0,n.jsx)(v.ZI,{side:"right",children:(0,n.jsx)("p",{children:r})})]})},A=e=>{let{href:t,icon:a,label:r}=e;return(0,n.jsxs)(v.m_,{children:[(0,n.jsx)(v.k$,{asChild:!0,children:(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"block",children:(0,n.jsxs)(d.$,{variant:"ghost",className:(0,m.cn)("w-full cursor-pointer",j?"justify-center px-2":"justify-start"),children:[(0,n.jsx)(a,{className:(0,m.cn)("h-4 w-4",!j&&"mr-2")}),!j&&r]})})}),j&&(0,n.jsx)(v.ZI,{side:"right",children:(0,n.jsx)("p",{children:r})})]})};return(0,n.jsx)(v.Bc,{delayDuration:0,children:(0,n.jsxs)("aside",{className:(0,m.cn)("flex h-screen flex-col border-r bg-background p-4 fixed left-0 top-0 transition-all duration-300",j?"w-16":"w-52"),children:[(0,n.jsxs)("div",{className:(0,m.cn)("mb-6 flex",j?"flex-col items-center gap-2 px-0":"flex-row items-center justify-between px-2"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(c.default,{src:"/raccoon.png",alt:"HackAgent Logo",width:24,height:24,className:"text-primary"}),!j&&(0,n.jsx)("h3",{className:"font-semibold text-lg",children:"HackAgent"})]}),(0,n.jsxs)(v.m_,{children:[(0,n.jsx)(v.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",onClick:y,"aria-label":j?"Expand sidebar":"Collapse sidebar",className:"h-7 w-7 shrink-0",children:j?(0,n.jsx)(E.A,{className:"h-4 w-4"}):(0,n.jsx)(P.A,{className:"h-4 w-4"})})}),(0,n.jsx)(v.ZI,{side:"right",children:(0,n.jsx)("p",{children:j?"Expand sidebar":"Collapse sidebar"})})]})]}),(0,n.jsx)("nav",{className:(0,m.cn)("flex-1 space-y-4",j?"px-0":"px-2"),children:L.map((e,t)=>{var a;return(0,n.jsxs)(r.Fragment,{children:[t>0&&(0,n.jsx)(u.w,{}),(0,n.jsxs)("div",{className:"space-y-1",children:[e.title&&!j&&(0,n.jsx)("div",{className:"px-2 py-1",children:(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e.title})}),e.items.map(e=>e.external?(0,n.jsx)(A,{href:e.href,icon:e.icon,label:e.label},e.href):(0,n.jsx)(C,{href:e.href,icon:e.icon,label:e.label,isActive:e.href===N},e.href))]})]},null!=(a=e.title)?a:t)})}),(0,n.jsx)(u.w,{className:"my-4"}),e&&(0,n.jsx)("div",{className:"mt-auto",children:(0,n.jsxs)(p.rI,{children:[(0,n.jsx)(p.ty,{asChild:!0,children:(0,n.jsxs)(d.$,{variant:"ghost",className:(0,m.cn)("w-full p-2 h-auto hover:bg-accent hover:text-accent-foreground",j?"justify-center":"justify-between"),children:[(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center",j?"justify-center":"gap-3"),children:[(0,n.jsxs)(f,{className:"h-8 w-8",children:[e.picture&&(0,n.jsx)(x,{src:e.picture,alt:b}),(0,n.jsx)(g,{children:w})]}),!j&&(0,n.jsxs)("div",{className:"text-sm text-left",children:[(0,n.jsx)("p",{className:"font-medium leading-none truncate max-w-[105px]",children:b}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Account"})]})]}),!j&&(0,n.jsx)(R.A,{className:"h-4 w-4 opacity-50"})]})}),(0,n.jsxs)(p.SQ,{align:"start",className:"w-52 mb-2",side:"top",children:[(0,n.jsx)(p._2,{asChild:!0,children:(0,n.jsxs)(s(),{href:"/profile",className:"cursor-pointer",children:[(0,n.jsx)(T.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Settings"})]})}),(0,n.jsx)(p.mB,{}),i&&(0,n.jsxs)(p._2,{onClick:()=>i(),className:"cursor-pointer text-red-600 focus:text-red-600",children:[(0,n.jsx)(z.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Log Out"})]})]})]})})]})})};var D=a(35299),B=a(63479),H=a(24323);let M=(0,a(41444).h)("ClientLayout"),$=e=>{let{children:t}=e,{isCollapsed:a}=k();return(0,n.jsx)("main",{className:"flex-1 overflow-y-auto transition-all duration-300 ".concat(a?"ml-16":"ml-52"),children:t})},K=e=>{let{children:t}=e,{isAuthenticated:a,isLoading:i,user:s,provider:o}=(0,l.h)();return((0,r.useEffect)(()=>{M.info("ClientLayout initialized - provider=".concat(o,", isLoading=").concat(i,", isAuthenticated=").concat(a))},[o,i,a]),i)?(M.info("Authentication provider loading, showing spinner"),(0,n.jsx)("div",{className:"flex items-center justify-center min-h-screen",children:(0,n.jsxs)("div",{className:"flex flex-col items-center space-y-2",children:[(0,n.jsx)(D.A,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,n.jsx)("p",{className:"text-muted-foreground",children:"Loading Authentication..."})]})})):a?(M.info("User authenticated - provider=".concat(o,", userId=").concat(null==s?void 0:s.sub,", email=").concat(null==s?void 0:s.email)),(0,n.jsx)(B.N,{children:(0,n.jsxs)(y,{children:[(0,n.jsxs)("div",{className:"flex h-screen overflow-hidden print-layout-root",children:[(0,n.jsx)(S,{}),(0,n.jsx)($,{children:t})]}),(0,n.jsx)(H.P,{})]})})):(M.info("User not authenticated, rendering public view"),(0,n.jsx)(n.Fragment,{children:t}))}}},e=>{e.O(0,[475,330,187,539,292,619,8,9,391,921,130,924,441,493,358],()=>e(e.s=75377)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{6259:(e,t,a)=>{"use strict";a.d(t,{SQ:()=>o,_2:()=>c,mB:()=>d,rI:()=>s,ty:()=>l});var n=a(95155);a(12115);var r=a(24595),i=a(64269);function s(e){let{...t}=e;return(0,n.jsx)(r.bL,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,n.jsx)(r.l9,{"data-slot":"dropdown-menu-trigger",...t})}function o(e){let{className:t,sideOffset:a=4,...s}=e;return(0,n.jsx)(r.ZL,{children:(0,n.jsx)(r.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...s})})}function c(e){let{className:t,inset:a,variant:s="default",...l}=e;return(0,n.jsx)(r.q7,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":s,className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l})}function d(e){let{className:t,...a}=e;return(0,n.jsx)(r.wv,{"data-slot":"dropdown-menu-separator",className:(0,i.cn)("bg-border -mx-1 my-1 h-px",t),...a})}},24323:(e,t,a)=>{"use strict";a.d(t,{P:()=>x,T:()=>f});var n=a(95155),r=a(12115),i=a(52619),s=a.n(i),l=a(68321),o=a(76784),c=a(7831),d=a(41444),u=a(3998),h=a(51834);let m=(0,d.h)("AnalyticsConsent");async function f(e){await c.userApi.userMeUpdate({userProfileRequest:{analyticsConsent:e}})}function x(){let[e,t]=(0,r.useState)(null),a=(0,r.useRef)(!1);(0,r.useEffect)(()=>{let e=!1;return c.userApi.userMeRetrieve().then(a=>{var n;e||t(null!=(n=a.analyticsConsent)?n:"unset")}).catch(e=>{m.debug({err:e},"Could not load analytics consent (not authenticated yet?)")}),()=>{e=!0}},[]);let i=async e=>{a.current=!0,t(e);try{await f(e)}catch(e){m.error({err:e},"Failed to save analytics consent")}};return(0,n.jsxs)(n.Fragment,{children:["accepted"===e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.GoogleAnalytics,{gaId:"G-2P6K2HWVEE"}),(0,n.jsx)(l.default,{id:"microsoft-clarity",strategy:"afterInteractive",children:'(function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n })(window, document, "clarity", "script", "xowemo04qg");'})]}),(0,n.jsx)(h.lG,{open:"unset"===e,onOpenChange:e=>{e||a.current||i("declined")},children:(0,n.jsxs)(h.Cf,{children:[(0,n.jsxs)(h.c7,{children:[(0,n.jsx)(h.L3,{children:"Help us improve HackAgent"}),(0,n.jsxs)(h.rr,{children:["We'd like to use optional analytics to understand how HackAgent is used. This is separate from the cookies that keep you signed in, and you can change it anytime in Settings. See our"," ",(0,n.jsx)(s(),{href:"https://hackagent.dev/privacy-policy",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"Privacy Policy"}),"."]})]}),(0,n.jsxs)(h.Es,{children:[(0,n.jsx)(u.$,{variant:"outline",onClick:()=>i("declined"),children:"Not now"}),(0,n.jsx)(u.$,{onClick:()=>i("accepted"),children:"Sounds good"})]})]})})]})}},24394:()=>{},27180:(e,t,a)=>{"use strict";a.d(t,{Authorization:()=>C});var n=a(95155),r=a(67176),i=a(20063),s=a(12115),l=a(34105),o=a(7831),c=a(41444);let d=(0,c.h)("Auth0Adapter");function u(e){let{children:t}=e,{getAccessTokenSilently:i,isAuthenticated:c,isLoading:u,loginWithRedirect:h,logout:m,user:f}=(0,r.WB)(),[x,g]=(0,s.useState)(!1),p=(0,s.useRef)(!1),v=(0,s.useCallback)(async()=>{let e=await i()||"";return(0,o.ki)(e),e},[i]);(0,s.useEffect)(()=>{let e;if(u)return;let t=!1;if(!c){(0,o.ki)(null),g(!0),p.current=!1;return}let n=async()=>{try{if(await v(),!p.current){p.current=!0;let{userApi:e}=await Promise.resolve().then(a.bind(a,7831));e.userMeRetrieve().catch(()=>d.debug("User profile synchronization deferred"))}}catch(e){d.error({err:e},"Unable to obtain Auth0 access token"),(0,o.ki)(null)}finally{t||g(!0)}};return n(),e=setInterval(()=>void n(),6e5),()=>{t=!0,e&&clearInterval(e)}},[c,u,v]);let j=(0,s.useCallback)(async()=>{await h({appState:{returnTo:"/"}})},[h]),y=(0,s.useCallback)(async()=>{(0,o.ki)(null),await m({logoutParams:{returnTo:window.location.origin}})},[m]),k=(0,s.useMemo)(()=>({provider:"auth0",user:f,isAuthenticated:c,isLoading:u||c&&!x,login:j,logout:y,getAccessTokenSilently:v}),[f,c,u,x,j,y,v]);return(0,n.jsx)(l.c.Provider,{value:k,children:t})}function h(e){let{config:t,children:a}=e,l=(0,i.useRouter)(),o=(0,s.useCallback)(e=>{l.push((null==e?void 0:e.returnTo)||"/")},[l]);if(!t.auth0Domain||!t.auth0ClientId||!t.auth0Audience)return(0,n.jsx)(m,{provider:"Auth0"});let c=t.auth0RedirectUri||window.location.origin;return(0,n.jsx)(r.y2,{domain:t.auth0Domain,clientId:t.auth0ClientId,authorizationParams:{redirect_uri:c,audience:t.auth0Audience,scope:"openid profile email"},onRedirectCallback:o,cacheLocation:"localstorage",children:(0,n.jsx)(u,{children:a})})}function m(e){let{provider:t}=e;return(0,n.jsx)("div",{role:"alert",className:"flex min-h-screen items-center justify-center p-6 text-center",children:(0,n.jsxs)("p",{children:[t," authentication is selected but its runtime configuration is incomplete."]})})}let f=async()=>"mock-dev-token";function x(e){let{children:t}=e,[a,r]=(0,s.useState)(!1);(0,s.useEffect)(()=>((0,o.ki)("mock-dev-token"),r(!0),()=>(0,o.ki)(null)),[]);let i=(0,s.useMemo)(()=>({provider:"disabled",user:{email:"dev@hackagent.local",name:"Dev User",preferred_username:"dev",picture:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><rect fill="%23ccc" width="48" height="48"/><text x="50%25" y="50%25" dominant-baseline="middle" text-anchor="middle" font-family="sans-serif" font-size="24" fill="%23666">D</text></svg>'},isAuthenticated:!0,isLoading:!a,login:void 0,logout:void 0,getAccessTokenSilently:f}),[a]);return(0,n.jsx)(l.c.Provider,{value:i,children:t})}var g=a(5313);let p=(0,c.h)("KeycloakAdapter"),v=async()=>"",j={provider:"keycloak",user:void 0,isAuthenticated:!1,isLoading:!0,login:void 0,logout:void 0,getAccessTokenSilently:v};function y(e){let{config:t,children:r}=e,[i,c]=(0,s.useState)(j);return((0,s.useEffect)(()=>{let e;if(!t.keycloakRealmUrl||!t.keycloakClientId)return;let n=new URL(t.keycloakRealmUrl),r="/realms/",i=n.pathname.indexOf(r),s=i>=0?"".concat(n.origin).concat(n.pathname.slice(0,i)):n.origin,l=i>=0?n.pathname.slice(i+r.length).split("/")[0]:n.pathname.split("/").filter(Boolean).at(-1)||"hackagent",d=new g.A({url:s,realm:l,clientId:t.keycloakClientId}),u=!1,h=async()=>{await d.updateToken(60);let e=d.token||"";return(0,o.ki)(e||null),e};return(async()=>{try{var t,n,r,i,s;let l=await d.init({onLoad:"login-required",silentCheckSsoRedirectUri:"".concat(window.location.origin,"/silent-check-sso.html"),pkceMethod:"S256"});if(u)return;if(!l){(0,o.ki)(null),c({provider:"keycloak",user:void 0,isAuthenticated:!1,isLoading:!1,login:async()=>{await d.login()},logout:void 0,getAccessTokenSilently:v});return}let m={sub:d.subject,email:null==(t=d.tokenParsed)?void 0:t.email,name:null==(n=d.tokenParsed)?void 0:n.name,given_name:null==(r=d.tokenParsed)?void 0:r.given_name,family_name:null==(i=d.tokenParsed)?void 0:i.family_name,preferred_username:null==(s=d.tokenParsed)?void 0:s.preferred_username};await h();let{userApi:f}=await Promise.resolve().then(a.bind(a,7831));f.userMeRetrieve().catch(()=>p.debug("User profile synchronization deferred")),c({provider:"keycloak",user:m,isAuthenticated:!0,isLoading:!1,login:async()=>{await d.login()},logout:async()=>{(0,o.ki)(null),await d.logout({redirectUri:window.location.origin})},getAccessTokenSilently:h}),e=setInterval(()=>{h().catch(e=>p.error({err:e},"Unable to refresh Keycloak access token"))},3e4)}catch(e){p.error({err:e},"Keycloak initialization failed"),(0,o.ki)(null),u||c({...j,isLoading:!1})}})(),()=>{u=!0,e&&clearInterval(e),(0,o.ki)(null)}},[t.keycloakClientId,t.keycloakRealmUrl]),t.keycloakRealmUrl&&t.keycloakClientId)?(0,n.jsx)(l.c.Provider,{value:i,children:r}):(0,n.jsx)("div",{role:"alert",className:"flex min-h-screen items-center justify-center p-6 text-center",children:(0,n.jsx)("p",{children:"Keycloak authentication is selected but its runtime configuration is incomplete."})})}function k(e){return{authProvider:e.disableAuth?"disabled":"auth0"===e.authProvider||"keycloak"===e.authProvider||"disabled"===e.authProvider?e.authProvider:e.auth0Domain&&e.auth0ClientId?"auth0":"keycloak",auth0Domain:e.auth0Domain||"",auth0ClientId:e.auth0ClientId||"",auth0Audience:e.auth0Audience||"",auth0RedirectUri:e.auth0RedirectUri||"",keycloakRealmUrl:e.keycloakRealmUrl||"",keycloakClientId:e.keycloakClientId||"",apiUrl:e.apiUrl||""}}a(95704);var b=a(95704);let w=(0,c.h)("useRuntimeConfig"),N=k({authProvider:b.env.NEXT_PUBLIC_AUTH_PROVIDER,auth0Domain:b.env.NEXT_PUBLIC_AUTH0_DOMAIN,auth0ClientId:b.env.NEXT_PUBLIC_AUTH0_CLIENT_ID,auth0Audience:b.env.NEXT_PUBLIC_AUTH0_AUDIENCE,auth0RedirectUri:b.env.NEXT_PUBLIC_AUTH0_REDIRECT_URI,keycloakRealmUrl:b.env.NEXT_PUBLIC_KEYCLOAK_REALM_URL||"",keycloakClientId:b.env.NEXT_PUBLIC_KEYCLOAK_CLIENT_ID||"",apiUrl:b.env.NEXT_PUBLIC_API_URL||"",disableAuth:!0});function C(e){let{children:t}=e,{config:a,isLoading:r}=function(){let[e,t]=(0,s.useState)(N),[a,n]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{(async()=>{try{let e=await fetch("/config.json");if(!e.ok)throw Error("Failed to load config: ".concat(e.status));let a=k(await e.json());w.info("Runtime config loaded successfully"),t(a)}catch(e){w.warn("Failed to load runtime config, using build-time defaults"),t(N)}finally{n(!1)}})()},[]),{config:e,isLoading:a}}();if(r)return null;switch(a.authProvider){case"auth0":return(0,n.jsx)(h,{config:a,children:t});case"keycloak":return(0,n.jsx)(y,{config:a,children:t});case"disabled":return(0,n.jsx)(x,{children:t})}}},34105:(e,t,a)=>{"use strict";a.d(t,{c:()=>n});let n=(0,a(12115).createContext)(void 0)},46767:(e,t,a)=>{"use strict";a.d(t,{Bc:()=>s,ZI:()=>c,k$:()=>o,m_:()=>l});var n=a(95155);a(12115);var r=a(53583),i=a(64269);function s(e){let{delayDuration:t=0,...a}=e;return(0,n.jsx)(r.Kq,{"data-slot":"tooltip-provider",delayDuration:t,...a})}function l(e){let{...t}=e;return(0,n.jsx)(s,{children:(0,n.jsx)(r.bL,{"data-slot":"tooltip",...t})})}function o(e){let{...t}=e;return(0,n.jsx)(r.l9,{"data-slot":"tooltip-trigger",...t})}function c(e){let{className:t,sideOffset:a=0,children:s,...l}=e;return(0,n.jsx)(r.ZL,{children:(0,n.jsxs)(r.UC,{"data-slot":"tooltip-content",sideOffset:a,className:(0,i.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",t),...l,children:[s,(0,n.jsx)(r.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},51834:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>u,Es:()=>m,HM:()=>c,L3:()=>f,c7:()=>h,lG:()=>l,rr:()=>x});var n=a(95155);a(12115);var r=a(88292),i=a(65229),s=a(64269);function l(e){let{...t}=e;return(0,n.jsx)(r.bL,{"data-slot":"dialog",...t})}function o(e){let{...t}=e;return(0,n.jsx)(r.ZL,{"data-slot":"dialog-portal",...t})}function c(e){let{...t}=e;return(0,n.jsx)(r.bm,{"data-slot":"dialog-close",...t})}function d(e){let{className:t,...a}=e;return(0,n.jsx)(r.hJ,{"data-slot":"dialog-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...a})}function u(e){let{className:t,children:a,...l}=e;return(0,n.jsxs)(o,{"data-slot":"dialog-portal",children:[(0,n.jsx)(d,{}),(0,n.jsxs)(r.UC,{"data-slot":"dialog-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...l,children:[a,(0,n.jsxs)(r.bm,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,n.jsx)(i.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function h(e){let{className:t,...a}=e;return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,s.cn)("flex flex-col gap-2 text-center sm:text-left",t),...a})}function m(e){let{className:t,...a}=e;return(0,n.jsx)("div",{"data-slot":"dialog-footer",className:(0,s.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...a})}function f(e){let{className:t,...a}=e;return(0,n.jsx)(r.hE,{"data-slot":"dialog-title",className:(0,s.cn)("text-lg leading-none font-semibold",t),...a})}function x(e){let{className:t,...a}=e;return(0,n.jsx)(r.VY,{"data-slot":"dialog-description",className:(0,s.cn)("text-muted-foreground text-sm",t),...a})}},63479:(e,t,a)=>{"use strict";a.d(t,{D:()=>s,N:()=>c});var n=a(95155),r=a(12115);let i=(0,r.createContext)({theme:"system",resolvedTheme:"light",setTheme:()=>{}});function s(){return(0,r.useContext)(i)}let l="hackagent-theme";function o(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function c(e){let{children:t}=e,[a,s]=(0,r.useState)("system"),[c,d]=(0,r.useState)("light"),u=e=>{let t=document.documentElement;"dark"===e?t.classList.add("dark"):t.classList.remove("dark")};return(0,r.useEffect)(()=>{var e;let t=null!=(e=localStorage.getItem(l))?e:"system";s(t);let a="system"===t?o():t;d(a),u(a)},[]),(0,r.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: dark)"),t=()=>{if("system"===a){let e=o();d(e),u(e)}};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[a]),(0,n.jsx)(i.Provider,{value:{theme:a,resolvedTheme:c,setTheme:e=>{localStorage.setItem(l,e),s(e);let t="system"===e?o():e;d(t),u(t)}},children:t})}},75377:(e,t,a)=>{Promise.resolve().then(a.bind(a,27180)),Promise.resolve().then(a.bind(a,96280)),Promise.resolve().then(a.t.bind(a,93836,23))},80230:(e,t,a)=>{"use strict";a.d(t,{h:()=>s});var n=a(12115),r=a(34105);let i=async()=>"";function s(){let e=(0,n.useContext)(r.c);return e||{provider:"disabled",user:void 0,isAuthenticated:!1,isLoading:!0,login:void 0,logout:void 0,getAccessTokenSilently:i}}},86259:(e,t,a)=>{"use strict";a.d(t,{w:()=>s});var n=a(95155);a(12115);var r=a(57268),i=a(64269);function s(e){let{className:t,orientation:a="horizontal",decorative:s=!0,...l}=e;return(0,n.jsx)(r.b,{"data-slot":"separator-root",decorative:s,orientation:a,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...l})}},91903:()=>{},93836:()=>{},96280:(e,t,a)=>{"use strict";a.d(t,{default:()=>K});var n=a(95155),r=a(12115),i=a(52619),s=a.n(i),l=a(80230),o=a(20063),c=a(15239),d=a(3998),u=a(86259),h=a(46591),m=a(64269);function f(e){let{className:t,...a}=e;return(0,n.jsx)(h.bL,{"data-slot":"avatar",className:(0,m.cn)("relative flex size-8 shrink-0 overflow-hidden rounded-full",t),...a})}function x(e){let{className:t,...a}=e;return(0,n.jsx)(h._V,{"data-slot":"avatar-image",className:(0,m.cn)("aspect-square size-full",t),...a})}function g(e){let{className:t,...a}=e;return(0,n.jsx)(h.H4,{"data-slot":"avatar-fallback",className:(0,m.cn)("bg-muted flex size-full items-center justify-center rounded-full",t),...a})}var p=a(6259),v=a(46767);let j=(0,r.createContext)(void 0),y=e=>{let{children:t}=e,[a,i]=(0,r.useState)(!1);return(0,n.jsx)(j.Provider,{value:{isCollapsed:a,toggleSidebar:()=>{i(e=>!e)}},children:t})},k=()=>{let e=(0,r.useContext)(j);if(!e)throw Error("useSidebar must be used within a SidebarProvider");return e};var b=a(65993),w=a(78192),N=a(37397),C=a(46826),A=a(80534),_=a(89715),I=a(5370),U=a(47937);let L=[{items:[{href:"/",label:"Home",icon:b.A}]},{title:"Test",items:[{href:"/agents",label:"Agents",icon:w.A},{href:"/attacks",label:"Attacks",icon:N.A},{href:"/attacks/builder",label:"New attack",icon:C.A}]},{title:"Results",items:[{href:"/stats",label:"Runs",icon:A.A},{href:"/reports",label:"Reports",icon:_.A}]},{title:"Resources",items:[{href:"/api-keys",label:"API Keys",icon:I.A},{href:"https://docs.hackagent.dev",label:"Docs",icon:U.A,external:!0}]}];var E=a(77931),P=a(26550),R=a(12108),T=a(15870),z=a(84926);let S=()=>{let{user:e,isLoading:t,isAuthenticated:a,logout:i}=(0,l.h)(),h=(0,o.usePathname)(),{isCollapsed:j,toggleSidebar:y}=k();if(t||!a||!e)return null;let b=e.name||e.preferred_username||e.email||"User",w=(e=>{if(!e||""===e.trim())return"?";if(e.startsWith("0x")&&e.length>10)return e.substring(0,2).toUpperCase();let t=e.split(/[\s.\-_@]+/).filter(e=>e.length>0);return 0===t.length?"?":1===t.length?t[0].substring(0,2).toUpperCase():((t[0][0]||"")+(t[t.length-1][0]||"")).toUpperCase()})(b),N=function(e,t){let a=e.split(/[?#]/)[0].replace(/(.)\/+$/,"$1");return t.filter(e=>"/"===e?"/"===a:a===e||a.startsWith("".concat(e,"/"))).sort((e,t)=>t.length-e.length)[0]}(h,L.flatMap(e=>e.items.filter(e=>!e.external).map(e=>e.href))),C=e=>{let{href:t,icon:a,label:r,isActive:i}=e;return(0,n.jsxs)(v.m_,{children:[(0,n.jsx)(v.k$,{asChild:!0,children:(0,n.jsx)(s(),{href:t,"aria-current":i?"page":void 0,children:(0,n.jsxs)(d.$,{variant:i?"secondary":"ghost",className:(0,m.cn)("w-full",j?"justify-center px-2":"justify-start",i&&"font-semibold"),children:[(0,n.jsx)(a,{className:(0,m.cn)("h-4 w-4",!j&&"mr-2")}),!j&&r]})})}),j&&(0,n.jsx)(v.ZI,{side:"right",children:(0,n.jsx)("p",{children:r})})]})},A=e=>{let{href:t,icon:a,label:r}=e;return(0,n.jsxs)(v.m_,{children:[(0,n.jsx)(v.k$,{asChild:!0,children:(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"block",children:(0,n.jsxs)(d.$,{variant:"ghost",className:(0,m.cn)("w-full cursor-pointer",j?"justify-center px-2":"justify-start"),children:[(0,n.jsx)(a,{className:(0,m.cn)("h-4 w-4",!j&&"mr-2")}),!j&&r]})})}),j&&(0,n.jsx)(v.ZI,{side:"right",children:(0,n.jsx)("p",{children:r})})]})};return(0,n.jsx)(v.Bc,{delayDuration:0,children:(0,n.jsxs)("aside",{className:(0,m.cn)("flex h-screen flex-col border-r bg-background p-4 fixed left-0 top-0 transition-all duration-300",j?"w-16":"w-52"),children:[(0,n.jsxs)("div",{className:(0,m.cn)("mb-6 flex",j?"flex-col items-center gap-2 px-0":"flex-row items-center justify-between px-2"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(c.default,{src:"/raccoon.png",alt:"HackAgent Logo",width:24,height:24,className:"text-primary"}),!j&&(0,n.jsx)("h3",{className:"font-semibold text-lg",children:"HackAgent"})]}),(0,n.jsxs)(v.m_,{children:[(0,n.jsx)(v.k$,{asChild:!0,children:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",onClick:y,"aria-label":j?"Expand sidebar":"Collapse sidebar",className:"h-7 w-7 shrink-0",children:j?(0,n.jsx)(E.A,{className:"h-4 w-4"}):(0,n.jsx)(P.A,{className:"h-4 w-4"})})}),(0,n.jsx)(v.ZI,{side:"right",children:(0,n.jsx)("p",{children:j?"Expand sidebar":"Collapse sidebar"})})]})]}),(0,n.jsx)("nav",{className:(0,m.cn)("flex-1 space-y-4",j?"px-0":"px-2"),children:L.map((e,t)=>{var a;return(0,n.jsxs)(r.Fragment,{children:[t>0&&(0,n.jsx)(u.w,{}),(0,n.jsxs)("div",{className:"space-y-1",children:[e.title&&!j&&(0,n.jsx)("div",{className:"px-2 py-1",children:(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e.title})}),e.items.map(e=>e.external?(0,n.jsx)(A,{href:e.href,icon:e.icon,label:e.label},e.href):(0,n.jsx)(C,{href:e.href,icon:e.icon,label:e.label,isActive:e.href===N},e.href))]})]},null!=(a=e.title)?a:t)})}),(0,n.jsx)(u.w,{className:"my-4"}),e&&(0,n.jsx)("div",{className:"mt-auto",children:(0,n.jsxs)(p.rI,{children:[(0,n.jsx)(p.ty,{asChild:!0,children:(0,n.jsxs)(d.$,{variant:"ghost",className:(0,m.cn)("w-full p-2 h-auto hover:bg-accent hover:text-accent-foreground",j?"justify-center":"justify-between"),children:[(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center",j?"justify-center":"gap-3"),children:[(0,n.jsxs)(f,{className:"h-8 w-8",children:[e.picture&&(0,n.jsx)(x,{src:e.picture,alt:b}),(0,n.jsx)(g,{children:w})]}),!j&&(0,n.jsxs)("div",{className:"text-sm text-left",children:[(0,n.jsx)("p",{className:"font-medium leading-none truncate max-w-[105px]",children:b}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Account"})]})]}),!j&&(0,n.jsx)(R.A,{className:"h-4 w-4 opacity-50"})]})}),(0,n.jsxs)(p.SQ,{align:"start",className:"w-52 mb-2",side:"top",children:[(0,n.jsx)(p._2,{asChild:!0,children:(0,n.jsxs)(s(),{href:"/profile",className:"cursor-pointer",children:[(0,n.jsx)(T.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Settings"})]})}),(0,n.jsx)(p.mB,{}),i&&(0,n.jsxs)(p._2,{onClick:()=>i(),className:"cursor-pointer text-red-600 focus:text-red-600",children:[(0,n.jsx)(z.A,{className:"mr-2 h-4 w-4"}),(0,n.jsx)("span",{children:"Log Out"})]})]})]})})]})})};var D=a(35299),B=a(63479),H=a(24323);let M=(0,a(41444).h)("ClientLayout"),$=e=>{let{children:t}=e,{isCollapsed:a}=k();return(0,n.jsx)("main",{className:"flex-1 overflow-y-auto transition-all duration-300 ".concat(a?"ml-16":"ml-52"),children:t})},K=e=>{let{children:t}=e,{isAuthenticated:a,isLoading:i,user:s,provider:o}=(0,l.h)();return((0,r.useEffect)(()=>{M.info("ClientLayout initialized - provider=".concat(o,", isLoading=").concat(i,", isAuthenticated=").concat(a))},[o,i,a]),i)?(M.info("Authentication provider loading, showing spinner"),(0,n.jsx)("div",{className:"flex items-center justify-center min-h-screen",children:(0,n.jsxs)("div",{className:"flex flex-col items-center space-y-2",children:[(0,n.jsx)(D.A,{className:"h-8 w-8 animate-spin text-muted-foreground"}),(0,n.jsx)("p",{className:"text-muted-foreground",children:"Loading Authentication..."})]})})):a?(M.info("User authenticated - provider=".concat(o,", userId=").concat(null==s?void 0:s.sub,", email=").concat(null==s?void 0:s.email)),(0,n.jsx)(B.N,{children:(0,n.jsxs)(y,{children:[(0,n.jsxs)("div",{className:"flex h-screen overflow-hidden print-layout-root",children:[(0,n.jsx)(S,{}),(0,n.jsx)($,{children:t})]}),(0,n.jsx)(H.P,{})]})})):(M.info("User not authenticated, rendering public view"),(0,n.jsx)(n.Fragment,{children:t}))}}},e=>{e.O(0,[475,330,187,539,292,355,619,9,921,701,924,441,493,358],()=>e(e.s=75377)),_N_E=e.O()}]);