From f036eb1cf2694dd7ef56f22135672aa4cb82da5d Mon Sep 17 00:00:00 2001
From: yoan <536464346@qq.com>
Date: Fri, 4 Oct 2024 08:19:46 +0800
Subject: [PATCH] Add the functionality to authorize copying
---
README.md | 4 ++--
internal/notify/notify.go | 5 +++--
ui/dist/assets/{index-DJOIkUUb.js => index-Dn4jGLHB.js} | 2 +-
ui/dist/index.html | 2 +-
ui/src/domain/version.ts | 2 +-
5 files changed, 8 insertions(+), 7 deletions(-)
rename ui/dist/assets/{index-DJOIkUUb.js => index-Dn4jGLHB.js} (99%)
diff --git a/README.md b/README.md
index ac184da4..d86bf373 100644
--- a/README.md
+++ b/README.md
@@ -155,9 +155,9 @@ Certimate 是一个免费且开源的项目,采用 [MIT 开源协议](LICENSE.
## 八、加入社区
* [Telegram-a new era of messaging](https://t.me/+ZXphsppxUg41YmVl)
-* 微信群聊
+* 微信群聊(需要邀请入群,可先加作者好友)
-
+
## 九、Star History
[](https://starchart.cc/usual2970/certimate)
diff --git a/internal/notify/notify.go b/internal/notify/notify.go
index a8869bc2..3b238d52 100644
--- a/internal/notify/notify.go
+++ b/internal/notify/notify.go
@@ -31,11 +31,12 @@ func Send(title, content string) error {
return nil
}
+ n := notifyPackage.New()
// 添加推送渠道
- notifyPackage.UseServices(notifiers...)
+ n.UseServices(notifiers...)
// 发送消息
- return notifyPackage.Send(context.Background(), title, content)
+ return n.Send(context.Background(), title, content)
}
func getNotifiers() ([]notifyPackage.Notifier, error) {
diff --git a/ui/dist/assets/index-DJOIkUUb.js b/ui/dist/assets/index-Dn4jGLHB.js
similarity index 99%
rename from ui/dist/assets/index-DJOIkUUb.js
rename to ui/dist/assets/index-Dn4jGLHB.js
index d253f40f..0001f4cc 100644
--- a/ui/dist/assets/index-DJOIkUUb.js
+++ b/ui/dist/assets/index-Dn4jGLHB.js
@@ -294,7 +294,7 @@ var _C;function be(){return _C.apply(null,arguments)}function d4(e){_C=e}functio
[`+o+"] ";for(i in arguments[0])ut(arguments[0],i)&&(s+=i+": "+arguments[0][i]+", ");s=s.slice(0,-2)}else s=arguments[o];r.push(s)}kC(e+`
Arguments: `+Array.prototype.slice.call(r).join("")+`
`+new Error().stack),n=!1}return t.apply(this,arguments)},t)}var Vw={};function CC(e,t){be.deprecationHandler!=null&&be.deprecationHandler(e,t),Vw[e]||(kC(t),Vw[e]=!0)}be.suppressDeprecationWarnings=!1;be.deprecationHandler=null;function ts(e){return typeof Function<"u"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}function h4(e){var t,n;for(n in e)ut(e,n)&&(t=e[n],ts(t)?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function Gm(e,t){var n=ao({},e),r;for(r in t)ut(t,r)&&(ti(e[r])&&ti(t[r])?(n[r]={},ao(n[r],e[r]),ao(n[r],t[r])):t[r]!=null?n[r]=t[r]:delete n[r]);for(r in e)ut(e,r)&&!ut(t,r)&&ti(e[r])&&(n[r]=ao({},n[r]));return n}function pv(e){e!=null&&this.set(e)}var Zm;Object.keys?Zm=Object.keys:Zm=function(e){var t,n=[];for(t in e)ut(e,t)&&n.push(t);return n};var p4={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function m4(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return ts(r)?r.call(t,n):r}function Xr(e,t,n){var r=""+Math.abs(e),s=t-r.length,o=e>=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+r}var mv=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Mu=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Tp={},pa={};function Me(e,t,n,r){var s=r;typeof r=="string"&&(s=function(){return this[r]()}),e&&(pa[e]=s),t&&(pa[t[0]]=function(){return Xr(s.apply(this,arguments),t[1],t[2])}),n&&(pa[n]=function(){return this.localeData().ordinal(s.apply(this,arguments),e)})}function g4(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function y4(e){var t=e.match(mv),n,r;for(n=0,r=t.length;n=0&&Mu.test(e);)e=e.replace(Mu,r),Mu.lastIndex=0,n-=1;return e}var v4={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function x4(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(mv).map(function(r){return r==="MMMM"||r==="MM"||r==="DD"||r==="dddd"?r.slice(1):r}).join(""),this._longDateFormat[e])}var w4="Invalid date";function b4(){return this._invalidDate}var _4="%d",S4=/\d{1,2}/;function k4(e){return this._ordinal.replace("%d",e)}var C4={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function j4(e,t,n,r){var s=this._relativeTime[n];return ts(s)?s(e,t,n,r):s.replace(/%d/i,e)}function E4(e,t){var n=this._relativeTime[e>0?"future":"past"];return ts(n)?n(t):n.replace(/%s/i,t)}var Bw={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function dr(e){return typeof e=="string"?Bw[e]||Bw[e.toLowerCase()]:void 0}function gv(e){var t={},n,r;for(r in e)ut(e,r)&&(n=dr(r),n&&(t[n]=e[r]));return t}var N4={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function T4(e){var t=[],n;for(n in e)ut(e,n)&&t.push({unit:n,priority:N4[n]});return t.sort(function(r,s){return r.priority-s.priority}),t}var EC=/\d/,Qn=/\d\d/,NC=/\d{3}/,yv=/\d{4}/,th=/[+-]?\d{6}/,jt=/\d\d?/,TC=/\d\d\d\d?/,RC=/\d\d\d\d\d\d?/,nh=/\d{1,3}/,vv=/\d{1,4}/,rh=/[+-]?\d{1,6}/,Ha=/\d+/,sh=/[+-]?\d+/,R4=/Z|[+-]\d\d:?\d\d/gi,oh=/Z|[+-]\d\d(?::?\d\d)?/gi,P4=/[+-]?\d+(\.\d{1,3})?/,Zc=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Ya=/^[1-9]\d?/,xv=/^([1-9]\d|\d)/,Kd;Kd={};function je(e,t,n){Kd[e]=ts(t)?t:function(r,s){return r&&n?n:t}}function A4(e,t){return ut(Kd,e)?Kd[e](t._strict,t._locale):new RegExp(O4(e))}function O4(e){return bs(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,n,r,s,o){return n||r||s||o}))}function bs(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function rr(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function nt(e){var t=+e,n=0;return t!==0&&isFinite(t)&&(n=rr(t)),n}var qm={};function vt(e,t){var n,r=t,s;for(typeof e=="string"&&(e=[e]),Rs(t)&&(r=function(o,i){i[t]=nt(o)}),s=e.length,n=0;n68?1900:2e3)};var PC=Ka("FullYear",!0);function L4(){return ih(this.year())}function Ka(e,t){return function(n){return n!=null?(AC(this,e,n),be.updateOffset(this,t),this):hc(this,e)}}function hc(e,t){if(!e.isValid())return NaN;var n=e._d,r=e._isUTC;switch(t){case"Milliseconds":return r?n.getUTCMilliseconds():n.getMilliseconds();case"Seconds":return r?n.getUTCSeconds():n.getSeconds();case"Minutes":return r?n.getUTCMinutes():n.getMinutes();case"Hours":return r?n.getUTCHours():n.getHours();case"Date":return r?n.getUTCDate():n.getDate();case"Day":return r?n.getUTCDay():n.getDay();case"Month":return r?n.getUTCMonth():n.getMonth();case"FullYear":return r?n.getUTCFullYear():n.getFullYear();default:return NaN}}function AC(e,t,n){var r,s,o,i,a;if(!(!e.isValid()||isNaN(n))){switch(r=e._d,s=e._isUTC,t){case"Milliseconds":return void(s?r.setUTCMilliseconds(n):r.setMilliseconds(n));case"Seconds":return void(s?r.setUTCSeconds(n):r.setSeconds(n));case"Minutes":return void(s?r.setUTCMinutes(n):r.setMinutes(n));case"Hours":return void(s?r.setUTCHours(n):r.setHours(n));case"Date":return void(s?r.setUTCDate(n):r.setDate(n));case"FullYear":break;default:return}o=n,i=e.month(),a=e.date(),a=a===29&&i===1&&!ih(o)?28:a,s?r.setUTCFullYear(o,i,a):r.setFullYear(o,i,a)}}function F4(e){return e=dr(e),ts(this[e])?this[e]():this}function z4(e,t){if(typeof e=="object"){e=gv(e);var n=T4(e),r,s=n.length;for(r=0;r=0?(a=new Date(e+400,t,n,r,s,o,i),isFinite(a.getFullYear())&&a.setFullYear(e)):a=new Date(e,t,n,r,s,o,i),a}function pc(e){var t,n;return e<100&&e>=0?(n=Array.prototype.slice.call(arguments),n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Gd(e,t,n){var r=7+t-n,s=(7+pc(e,0,r).getUTCDay()-t)%7;return-s+r-1}function FC(e,t,n,r,s){var o=(7+n-r)%7,i=Gd(e,r,s),a=1+7*(t-1)+o+i,c,u;return a<=0?(c=e-1,u=Fl(c)+a):a>Fl(e)?(c=e+1,u=a-Fl(e)):(c=e,u=a),{year:c,dayOfYear:u}}function mc(e,t,n){var r=Gd(e.year(),t,n),s=Math.floor((e.dayOfYear()-r-1)/7)+1,o,i;return s<1?(i=e.year()-1,o=s+_s(i,t,n)):s>_s(e.year(),t,n)?(o=s-_s(e.year(),t,n),i=e.year()+1):(i=e.year(),o=s),{week:o,year:i}}function _s(e,t,n){var r=Gd(e,t,n),s=Gd(e+1,t,n);return(Fl(e)-r+s)/7}Me("w",["ww",2],"wo","week");Me("W",["WW",2],"Wo","isoWeek");je("w",jt,Ya);je("ww",jt,Qn);je("W",jt,Ya);je("WW",jt,Qn);qc(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=nt(e)});function Q4(e){return mc(e,this._week.dow,this._week.doy).week}var J4={dow:0,doy:6};function e3(){return this._week.dow}function t3(){return this._week.doy}function n3(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function r3(e){var t=mc(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}Me("d",0,"do","day");Me("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});Me("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});Me("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});Me("e",0,0,"weekday");Me("E",0,0,"isoWeekday");je("d",jt);je("e",jt);je("E",jt);je("dd",function(e,t){return t.weekdaysMinRegex(e)});je("ddd",function(e,t){return t.weekdaysShortRegex(e)});je("dddd",function(e,t){return t.weekdaysRegex(e)});qc(["dd","ddd","dddd"],function(e,t,n,r){var s=n._locale.weekdaysParse(e,r,n._strict);s!=null?t.d=s:Xe(n).invalidWeekday=e});qc(["d","e","E"],function(e,t,n,r){t[r]=nt(e)});function s3(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function o3(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function bv(e,t){return e.slice(t,7).concat(e.slice(0,t))}var i3="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),zC="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),a3="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),l3=Zc,c3=Zc,u3=Zc;function d3(e,t){var n=Tr(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?bv(n,this._week.dow):e?n[e.day()]:n}function f3(e){return e===!0?bv(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function h3(e){return e===!0?bv(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function p3(e,t,n){var r,s,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=es([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase();return n?t==="dddd"?(s=Ut.call(this._weekdaysParse,i),s!==-1?s:null):t==="ddd"?(s=Ut.call(this._shortWeekdaysParse,i),s!==-1?s:null):(s=Ut.call(this._minWeekdaysParse,i),s!==-1?s:null):t==="dddd"?(s=Ut.call(this._weekdaysParse,i),s!==-1||(s=Ut.call(this._shortWeekdaysParse,i),s!==-1)?s:(s=Ut.call(this._minWeekdaysParse,i),s!==-1?s:null)):t==="ddd"?(s=Ut.call(this._shortWeekdaysParse,i),s!==-1||(s=Ut.call(this._weekdaysParse,i),s!==-1)?s:(s=Ut.call(this._minWeekdaysParse,i),s!==-1?s:null)):(s=Ut.call(this._minWeekdaysParse,i),s!==-1||(s=Ut.call(this._weekdaysParse,i),s!==-1)?s:(s=Ut.call(this._shortWeekdaysParse,i),s!==-1?s:null))}function m3(e,t,n){var r,s,o;if(this._weekdaysParseExact)return p3.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(s=es([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(s,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(s,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(s,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(o="^"+this.weekdays(s,"")+"|^"+this.weekdaysShort(s,"")+"|^"+this.weekdaysMin(s,""),this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),n&&t==="dddd"&&this._fullWeekdaysParse[r].test(e))return r;if(n&&t==="ddd"&&this._shortWeekdaysParse[r].test(e))return r;if(n&&t==="dd"&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function g3(e){if(!this.isValid())return e!=null?this:NaN;var t=hc(this,"Day");return e!=null?(e=s3(e,this.localeData()),this.add(e-t,"d")):t}function y3(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function v3(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=o3(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function x3(e){return this._weekdaysParseExact?(ut(this,"_weekdaysRegex")||_v.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(ut(this,"_weekdaysRegex")||(this._weekdaysRegex=l3),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function w3(e){return this._weekdaysParseExact?(ut(this,"_weekdaysRegex")||_v.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(ut(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=c3),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function b3(e){return this._weekdaysParseExact?(ut(this,"_weekdaysRegex")||_v.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(ut(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=u3),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function _v(){function e(d,f){return f.length-d.length}var t=[],n=[],r=[],s=[],o,i,a,c,u;for(o=0;o<7;o++)i=es([2e3,1]).day(o),a=bs(this.weekdaysMin(i,"")),c=bs(this.weekdaysShort(i,"")),u=bs(this.weekdays(i,"")),t.push(a),n.push(c),r.push(u),s.push(a),s.push(c),s.push(u);t.sort(e),n.sort(e),r.sort(e),s.sort(e),this._weekdaysRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function Sv(){return this.hours()%12||12}function _3(){return this.hours()||24}Me("H",["HH",2],0,"hour");Me("h",["hh",2],0,Sv);Me("k",["kk",2],0,_3);Me("hmm",0,0,function(){return""+Sv.apply(this)+Xr(this.minutes(),2)});Me("hmmss",0,0,function(){return""+Sv.apply(this)+Xr(this.minutes(),2)+Xr(this.seconds(),2)});Me("Hmm",0,0,function(){return""+this.hours()+Xr(this.minutes(),2)});Me("Hmmss",0,0,function(){return""+this.hours()+Xr(this.minutes(),2)+Xr(this.seconds(),2)});function $C(e,t){Me(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}$C("a",!0);$C("A",!1);function UC(e,t){return t._meridiemParse}je("a",UC);je("A",UC);je("H",jt,xv);je("h",jt,Ya);je("k",jt,Ya);je("HH",jt,Qn);je("hh",jt,Qn);je("kk",jt,Qn);je("hmm",TC);je("hmmss",RC);je("Hmm",TC);je("Hmmss",RC);vt(["H","HH"],qt);vt(["k","kk"],function(e,t,n){var r=nt(e);t[qt]=r===24?0:r});vt(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e});vt(["h","hh"],function(e,t,n){t[qt]=nt(e),Xe(n).bigHour=!0});vt("hmm",function(e,t,n){var r=e.length-2;t[qt]=nt(e.substr(0,r)),t[br]=nt(e.substr(r)),Xe(n).bigHour=!0});vt("hmmss",function(e,t,n){var r=e.length-4,s=e.length-2;t[qt]=nt(e.substr(0,r)),t[br]=nt(e.substr(r,2)),t[vs]=nt(e.substr(s)),Xe(n).bigHour=!0});vt("Hmm",function(e,t,n){var r=e.length-2;t[qt]=nt(e.substr(0,r)),t[br]=nt(e.substr(r))});vt("Hmmss",function(e,t,n){var r=e.length-4,s=e.length-2;t[qt]=nt(e.substr(0,r)),t[br]=nt(e.substr(r,2)),t[vs]=nt(e.substr(s))});function S3(e){return(e+"").toLowerCase().charAt(0)==="p"}var k3=/[ap]\.?m?\.?/i,C3=Ka("Hours",!0);function j3(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}var VC={calendar:p4,longDateFormat:v4,invalidDate:w4,ordinal:_4,dayOfMonthOrdinalParse:S4,relativeTime:C4,months:U4,monthsShort:OC,week:J4,weekdays:i3,weekdaysMin:a3,weekdaysShort:zC,meridiemParse:k3},Tt={},ul={},gc;function E3(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n0;){if(s=ah(o.slice(0,n).join("-")),s)return s;if(r&&r.length>=n&&E3(o,r)>=n-1)break;n--}t++}return gc}function T3(e){return!!(e&&e.match("^[^/\\\\]*$"))}function ah(e){var t=null,n;if(Tt[e]===void 0&&typeof fd<"u"&&fd&&fd.exports&&T3(e))try{t=gc._abbr,n=require,n("./locale/"+e),xo(t)}catch{Tt[e]=null}return Tt[e]}function xo(e,t){var n;return e&&(En(t)?n=Fs(e):n=kv(e,t),n?gc=n:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),gc._abbr}function kv(e,t){if(t!==null){var n,r=VC;if(t.abbr=e,Tt[e]!=null)CC("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=Tt[e]._config;else if(t.parentLocale!=null)if(Tt[t.parentLocale]!=null)r=Tt[t.parentLocale]._config;else if(n=ah(t.parentLocale),n!=null)r=n._config;else return ul[t.parentLocale]||(ul[t.parentLocale]=[]),ul[t.parentLocale].push({name:e,config:t}),null;return Tt[e]=new pv(Gm(r,t)),ul[e]&&ul[e].forEach(function(s){kv(s.name,s.config)}),xo(e),Tt[e]}else return delete Tt[e],null}function R3(e,t){if(t!=null){var n,r,s=VC;Tt[e]!=null&&Tt[e].parentLocale!=null?Tt[e].set(Gm(Tt[e]._config,t)):(r=ah(e),r!=null&&(s=r._config),t=Gm(s,t),r==null&&(t.abbr=e),n=new pv(t),n.parentLocale=Tt[e],Tt[e]=n),xo(e)}else Tt[e]!=null&&(Tt[e].parentLocale!=null?(Tt[e]=Tt[e].parentLocale,e===xo()&&xo(e)):Tt[e]!=null&&delete Tt[e]);return Tt[e]}function Fs(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return gc;if(!Tr(e)){if(t=ah(e),t)return t;e=[e]}return N3(e)}function P3(){return Zm(Tt)}function Cv(e){var t,n=e._a;return n&&Xe(e).overflow===-2&&(t=n[ys]<0||n[ys]>11?ys:n[Vr]<1||n[Vr]>wv(n[dn],n[ys])?Vr:n[qt]<0||n[qt]>24||n[qt]===24&&(n[br]!==0||n[vs]!==0||n[Zo]!==0)?qt:n[br]<0||n[br]>59?br:n[vs]<0||n[vs]>59?vs:n[Zo]<0||n[Zo]>999?Zo:-1,Xe(e)._overflowDayOfYear&&(tVr)&&(t=Vr),Xe(e)._overflowWeeks&&t===-1&&(t=I4),Xe(e)._overflowWeekday&&t===-1&&(t=M4),Xe(e).overflow=t),e}var A3=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,O3=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,D3=/Z|[+-]\d\d(?::?\d\d)?/,Lu=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Rp=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],I3=/^\/?Date\((-?\d+)/i,M3=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,L3={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function BC(e){var t,n,r=e._i,s=A3.exec(r)||O3.exec(r),o,i,a,c,u=Lu.length,d=Rp.length;if(s){for(Xe(e).iso=!0,t=0,n=u;tFl(i)||e._dayOfYear===0)&&(Xe(e)._overflowDayOfYear=!0),n=pc(i,0,e._dayOfYear),e._a[ys]=n.getUTCMonth(),e._a[Vr]=n.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=s[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[qt]===24&&e._a[br]===0&&e._a[vs]===0&&e._a[Zo]===0&&(e._nextDay=!0,e._a[qt]=0),e._d=(e._useUTC?pc:X4).apply(null,r),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[qt]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==o&&(Xe(e).weekdayMismatch=!0)}}function H3(e){var t,n,r,s,o,i,a,c,u;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(o=1,i=4,n=Li(t.GG,e._a[dn],mc(Ct(),1,4).year),r=Li(t.W,1),s=Li(t.E,1),(s<1||s>7)&&(c=!0)):(o=e._locale._week.dow,i=e._locale._week.doy,u=mc(Ct(),o,i),n=Li(t.gg,e._a[dn],u.year),r=Li(t.w,u.week),t.d!=null?(s=t.d,(s<0||s>6)&&(c=!0)):t.e!=null?(s=t.e+o,(t.e<0||t.e>6)&&(c=!0)):s=o),r<1||r>_s(n,o,i)?Xe(e)._overflowWeeks=!0:c!=null?Xe(e)._overflowWeekday=!0:(a=FC(n,r,s,o,i),e._a[dn]=a.year,e._dayOfYear=a.dayOfYear)}be.ISO_8601=function(){};be.RFC_2822=function(){};function Ev(e){if(e._f===be.ISO_8601){BC(e);return}if(e._f===be.RFC_2822){WC(e);return}e._a=[],Xe(e).empty=!0;var t=""+e._i,n,r,s,o,i,a=t.length,c=0,u,d;for(s=jC(e._f,e._locale).match(mv)||[],d=s.length,n=0;n0&&Xe(e).unusedInput.push(i),t=t.slice(t.indexOf(r)+r.length),c+=r.length),pa[o]?(r?Xe(e).empty=!1:Xe(e).unusedTokens.push(o),D4(o,r,e)):e._strict&&!r&&Xe(e).unusedTokens.push(o);Xe(e).charsLeftOver=a-c,t.length>0&&Xe(e).unusedInput.push(t),e._a[qt]<=12&&Xe(e).bigHour===!0&&e._a[qt]>0&&(Xe(e).bigHour=void 0),Xe(e).parsedDateParts=e._a.slice(0),Xe(e).meridiem=e._meridiem,e._a[qt]=Y3(e._locale,e._a[qt],e._meridiem),u=Xe(e).era,u!==null&&(e._a[dn]=e._locale.erasConvertYear(u,e._a[dn])),jv(e),Cv(e)}function Y3(e,t,n){var r;return n==null?t:e.meridiemHour!=null?e.meridiemHour(t,n):(e.isPM!=null&&(r=e.isPM(n),r&&t<12&&(t+=12),!r&&t===12&&(t=0)),t)}function K3(e){var t,n,r,s,o,i,a=!1,c=e._f.length;if(c===0){Xe(e).invalidFormat=!0,e._d=new Date(NaN);return}for(s=0;sthis?this:e:eh()});function KC(e,t){var n,r;if(t.length===1&&Tr(t[0])&&(t=t[0]),!t.length)return Ct();for(n=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function p5(){if(!En(this._isDSTShifted))return this._isDSTShifted;var e={},t;return hv(e,this),e=HC(e),e._a?(t=e._isUTC?es(e._a):Ct(e._a),this._isDSTShifted=this.isValid()&&o5(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function m5(){return this.isValid()?!this._isUTC:!1}function g5(){return this.isValid()?this._isUTC:!1}function ZC(){return this.isValid()?this._isUTC&&this._offset===0:!1}var y5=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,v5=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Dr(e,t){var n=e,r=null,s,o,i;return ad(e)?n={ms:e._milliseconds,d:e._days,M:e._months}:Rs(e)||!isNaN(+e)?(n={},t?n[t]=+e:n.milliseconds=+e):(r=y5.exec(e))?(s=r[1]==="-"?-1:1,n={y:0,d:nt(r[Vr])*s,h:nt(r[qt])*s,m:nt(r[br])*s,s:nt(r[vs])*s,ms:nt(Xm(r[Zo]*1e3))*s}):(r=v5.exec(e))?(s=r[1]==="-"?-1:1,n={y:Lo(r[2],s),M:Lo(r[3],s),w:Lo(r[4],s),d:Lo(r[5],s),h:Lo(r[6],s),m:Lo(r[7],s),s:Lo(r[8],s)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(i=x5(Ct(n.from),Ct(n.to)),n={},n.ms=i.milliseconds,n.M=i.months),o=new lh(n),ad(e)&&ut(e,"_locale")&&(o._locale=e._locale),ad(e)&&ut(e,"_isValid")&&(o._isValid=e._isValid),o}Dr.fn=lh.prototype;Dr.invalid=s5;function Lo(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Hw(e,t){var n={};return n.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function x5(e,t){var n;return e.isValid()&&t.isValid()?(t=Tv(t,e),e.isBefore(t)?n=Hw(e,t):(n=Hw(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function qC(e,t){return function(n,r){var s,o;return r!==null&&!isNaN(+r)&&(CC(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=r,r=o),s=Dr(n,r),XC(this,s,e),this}}function XC(e,t,n,r){var s=t._milliseconds,o=Xm(t._days),i=Xm(t._months);e.isValid()&&(r=r??!0,i&&IC(e,hc(e,"Month")+i*n),o&&AC(e,"Date",hc(e,"Date")+o*n),s&&e._d.setTime(e._d.valueOf()+s*n),r&&be.updateOffset(e,o||i))}var w5=qC(1,"add"),b5=qC(-1,"subtract");function QC(e){return typeof e=="string"||e instanceof String}function _5(e){return Rr(e)||Kc(e)||QC(e)||Rs(e)||k5(e)||S5(e)||e===null||e===void 0}function S5(e){var t=ti(e)&&!dv(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],s,o,i=r.length;for(s=0;sn.valueOf():n.valueOf()9999?id(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):ts(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",id(n,"Z")):id(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function F5(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",n,r,s,o;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",s="-MM-DD[T]HH:mm:ss.SSS",o=t+'[")]',this.format(n+r+s+o)}function z5(e){e||(e=this.isUtc()?be.defaultFormatUtc:be.defaultFormat);var t=id(this,e);return this.localeData().postformat(t)}function $5(e,t){return this.isValid()&&(Rr(e)&&e.isValid()||Ct(e).isValid())?Dr({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function U5(e){return this.from(Ct(),e)}function V5(e,t){return this.isValid()&&(Rr(e)&&e.isValid()||Ct(e).isValid())?Dr({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function B5(e){return this.to(Ct(),e)}function JC(e){var t;return e===void 0?this._locale._abbr:(t=Fs(e),t!=null&&(this._locale=t),this)}var ej=ur("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function tj(){return this._locale}var Zd=1e3,ma=60*Zd,qd=60*ma,nj=(365*400+97)*24*qd;function ga(e,t){return(e%t+t)%t}function rj(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-nj:new Date(e,t,n).valueOf()}function sj(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-nj:Date.UTC(e,t,n)}function W5(e){var t,n;if(e=dr(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?sj:rj,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=ga(t+(this._isUTC?0:this.utcOffset()*ma),qd);break;case"minute":t=this._d.valueOf(),t-=ga(t,ma);break;case"second":t=this._d.valueOf(),t-=ga(t,Zd);break}return this._d.setTime(t),be.updateOffset(this,!0),this}function H5(e){var t,n;if(e=dr(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?sj:rj,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=qd-ga(t+(this._isUTC?0:this.utcOffset()*ma),qd)-1;break;case"minute":t=this._d.valueOf(),t+=ma-ga(t,ma)-1;break;case"second":t=this._d.valueOf(),t+=Zd-ga(t,Zd)-1;break}return this._d.setTime(t),be.updateOffset(this,!0),this}function Y5(){return this._d.valueOf()-(this._offset||0)*6e4}function K5(){return Math.floor(this.valueOf()/1e3)}function G5(){return new Date(this.valueOf())}function Z5(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function q5(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function X5(){return this.isValid()?this.toISOString():null}function Q5(){return fv(this)}function J5(){return ao({},Xe(this))}function ez(){return Xe(this).overflow}function tz(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}Me("N",0,0,"eraAbbr");Me("NN",0,0,"eraAbbr");Me("NNN",0,0,"eraAbbr");Me("NNNN",0,0,"eraName");Me("NNNNN",0,0,"eraNarrow");Me("y",["y",1],"yo","eraYear");Me("y",["yy",2],0,"eraYear");Me("y",["yyy",3],0,"eraYear");Me("y",["yyyy",4],0,"eraYear");je("N",Rv);je("NN",Rv);je("NNN",Rv);je("NNNN",fz);je("NNNNN",hz);vt(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,r){var s=n._locale.erasParse(e,r,n._strict);s?Xe(n).era=s:Xe(n).invalidEra=e});je("y",Ha);je("yy",Ha);je("yyy",Ha);je("yyyy",Ha);je("yo",pz);vt(["y","yy","yyy","yyyy"],dn);vt(["yo"],function(e,t,n,r){var s;n._locale._eraYearOrdinalRegex&&(s=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[dn]=n._locale.eraYearOrdinalParse(e,s):t[dn]=parseInt(e,10)});function nz(e,t){var n,r,s,o=this._eras||Fs("en")._eras;for(n=0,r=o.length;n=0)return o[r]}function sz(e,t){var n=e.since<=e.until?1:-1;return t===void 0?be(e.since).year():be(e.since).year()+(t-e.offset)*n}function oz(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;eo&&(t=o),bz.call(this,e,t,n,r,s))}function bz(e,t,n,r,s){var o=FC(e,t,n,r,s),i=pc(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}Me("Q",0,"Qo","quarter");je("Q",EC);vt("Q",function(e,t){t[ys]=(nt(e)-1)*3});function _z(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}Me("D",["DD",2],"Do","date");je("D",jt,Ya);je("DD",jt,Qn);je("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});vt(["D","DD"],Vr);vt("Do",function(e,t){t[Vr]=nt(e.match(jt)[0])});var ij=Ka("Date",!0);Me("DDD",["DDDD",3],"DDDo","dayOfYear");je("DDD",nh);je("DDDD",NC);vt(["DDD","DDDD"],function(e,t,n){n._dayOfYear=nt(e)});function Sz(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}Me("m",["mm",2],0,"minute");je("m",jt,xv);je("mm",jt,Qn);vt(["m","mm"],br);var kz=Ka("Minutes",!1);Me("s",["ss",2],0,"second");je("s",jt,xv);je("ss",jt,Qn);vt(["s","ss"],vs);var Cz=Ka("Seconds",!1);Me("S",0,0,function(){return~~(this.millisecond()/100)});Me(0,["SS",2],0,function(){return~~(this.millisecond()/10)});Me(0,["SSS",3],0,"millisecond");Me(0,["SSSS",4],0,function(){return this.millisecond()*10});Me(0,["SSSSS",5],0,function(){return this.millisecond()*100});Me(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});Me(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});Me(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});Me(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});je("S",nh,EC);je("SS",nh,Qn);je("SSS",nh,NC);var lo,aj;for(lo="SSSS";lo.length<=9;lo+="S")je(lo,Ha);function jz(e,t){t[Zo]=nt(("0."+e)*1e3)}for(lo="S";lo.length<=9;lo+="S")vt(lo,jz);aj=Ka("Milliseconds",!1);Me("z",0,0,"zoneAbbr");Me("zz",0,0,"zoneName");function Ez(){return this._isUTC?"UTC":""}function Nz(){return this._isUTC?"Coordinated Universal Time":""}var le=Gc.prototype;le.add=w5;le.calendar=E5;le.clone=N5;le.diff=I5;le.endOf=H5;le.format=z5;le.from=$5;le.fromNow=U5;le.to=V5;le.toNow=B5;le.get=F4;le.invalidAt=ez;le.isAfter=T5;le.isBefore=R5;le.isBetween=P5;le.isSame=A5;le.isSameOrAfter=O5;le.isSameOrBefore=D5;le.isValid=Q5;le.lang=ej;le.locale=JC;le.localeData=tj;le.max=Q3;le.min=X3;le.parsingFlags=J5;le.set=z4;le.startOf=W5;le.subtract=b5;le.toArray=Z5;le.toObject=q5;le.toDate=G5;le.toISOString=L5;le.inspect=F5;typeof Symbol<"u"&&Symbol.for!=null&&(le[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});le.toJSON=X5;le.toString=M5;le.unix=K5;le.valueOf=Y5;le.creationData=tz;le.eraName=oz;le.eraNarrow=iz;le.eraAbbr=az;le.eraYear=lz;le.year=PC;le.isLeapYear=L4;le.weekYear=mz;le.isoWeekYear=gz;le.quarter=le.quarters=_z;le.month=MC;le.daysInMonth=G4;le.week=le.weeks=n3;le.isoWeek=le.isoWeeks=r3;le.weeksInYear=xz;le.weeksInWeekYear=wz;le.isoWeeksInYear=yz;le.isoWeeksInISOWeekYear=vz;le.date=ij;le.day=le.days=g3;le.weekday=y3;le.isoWeekday=v3;le.dayOfYear=Sz;le.hour=le.hours=C3;le.minute=le.minutes=kz;le.second=le.seconds=Cz;le.millisecond=le.milliseconds=aj;le.utcOffset=a5;le.utc=c5;le.local=u5;le.parseZone=d5;le.hasAlignedHourOffset=f5;le.isDST=h5;le.isLocal=m5;le.isUtcOffset=g5;le.isUtc=ZC;le.isUTC=ZC;le.zoneAbbr=Ez;le.zoneName=Nz;le.dates=ur("dates accessor is deprecated. Use date instead.",ij);le.months=ur("months accessor is deprecated. Use month instead",MC);le.years=ur("years accessor is deprecated. Use year instead",PC);le.zone=ur("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",l5);le.isDSTShifted=ur("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",p5);function Tz(e){return Ct(e*1e3)}function Rz(){return Ct.apply(null,arguments).parseZone()}function lj(e){return e}var dt=pv.prototype;dt.calendar=m4;dt.longDateFormat=x4;dt.invalidDate=b4;dt.ordinal=k4;dt.preparse=lj;dt.postformat=lj;dt.relativeTime=j4;dt.pastFuture=E4;dt.set=h4;dt.eras=nz;dt.erasParse=rz;dt.erasConvertYear=sz;dt.erasAbbrRegex=uz;dt.erasNameRegex=cz;dt.erasNarrowRegex=dz;dt.months=W4;dt.monthsShort=H4;dt.monthsParse=K4;dt.monthsRegex=q4;dt.monthsShortRegex=Z4;dt.week=Q4;dt.firstDayOfYear=t3;dt.firstDayOfWeek=e3;dt.weekdays=d3;dt.weekdaysMin=h3;dt.weekdaysShort=f3;dt.weekdaysParse=m3;dt.weekdaysRegex=x3;dt.weekdaysShortRegex=w3;dt.weekdaysMinRegex=b3;dt.isPM=S3;dt.meridiem=j3;function Xd(e,t,n,r){var s=Fs(),o=es().set(r,t);return s[n](o,e)}function cj(e,t,n){if(Rs(e)&&(t=e,e=void 0),e=e||"",t!=null)return Xd(e,t,n,"month");var r,s=[];for(r=0;r<12;r++)s[r]=Xd(e,r,n,"month");return s}function Av(e,t,n,r){typeof e=="boolean"?(Rs(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,Rs(t)&&(n=t,t=void 0),t=t||"");var s=Fs(),o=e?s._week.dow:0,i,a=[];if(n!=null)return Xd(t,(n+o)%7,r,"day");for(i=0;i<7;i++)a[i]=Xd(t,(i+o)%7,r,"day");return a}function Pz(e,t){return cj(e,t,"months")}function Az(e,t){return cj(e,t,"monthsShort")}function Oz(e,t,n){return Av(e,t,n,"weekdays")}function Dz(e,t,n){return Av(e,t,n,"weekdaysShort")}function Iz(e,t,n){return Av(e,t,n,"weekdaysMin")}xo("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=nt(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}});be.lang=ur("moment.lang is deprecated. Use moment.locale instead.",xo);be.langData=ur("moment.langData is deprecated. Use moment.localeData instead.",Fs);var ls=Math.abs;function Mz(){var e=this._data;return this._milliseconds=ls(this._milliseconds),this._days=ls(this._days),this._months=ls(this._months),e.milliseconds=ls(e.milliseconds),e.seconds=ls(e.seconds),e.minutes=ls(e.minutes),e.hours=ls(e.hours),e.months=ls(e.months),e.years=ls(e.years),this}function uj(e,t,n,r){var s=Dr(t,n);return e._milliseconds+=r*s._milliseconds,e._days+=r*s._days,e._months+=r*s._months,e._bubble()}function Lz(e,t){return uj(this,e,t,1)}function Fz(e,t){return uj(this,e,t,-1)}function Yw(e){return e<0?Math.floor(e):Math.ceil(e)}function zz(){var e=this._milliseconds,t=this._days,n=this._months,r=this._data,s,o,i,a,c;return e>=0&&t>=0&&n>=0||e<=0&&t<=0&&n<=0||(e+=Yw(Jm(n)+t)*864e5,t=0,n=0),r.milliseconds=e%1e3,s=rr(e/1e3),r.seconds=s%60,o=rr(s/60),r.minutes=o%60,i=rr(o/60),r.hours=i%24,t+=rr(i/24),c=rr(dj(t)),n+=c,t-=Yw(Jm(c)),a=rr(n/12),n%=12,r.days=t,r.months=n,r.years=a,this}function dj(e){return e*4800/146097}function Jm(e){return e*146097/4800}function $z(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(e=dr(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+r/864e5,n=this._months+dj(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Jm(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function zs(e){return function(){return this.as(e)}}var fj=zs("ms"),Uz=zs("s"),Vz=zs("m"),Bz=zs("h"),Wz=zs("d"),Hz=zs("w"),Yz=zs("M"),Kz=zs("Q"),Gz=zs("y"),Zz=fj;function qz(){return Dr(this)}function Xz(e){return e=dr(e),this.isValid()?this[e+"s"]():NaN}function _i(e){return function(){return this.isValid()?this._data[e]:NaN}}var Qz=_i("milliseconds"),Jz=_i("seconds"),e6=_i("minutes"),t6=_i("hours"),n6=_i("days"),r6=_i("months"),s6=_i("years");function o6(){return rr(this.days()/7)}var fs=Math.round,ea={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function i6(e,t,n,r,s){return s.relativeTime(t||1,!!n,e,r)}function a6(e,t,n,r){var s=Dr(e).abs(),o=fs(s.as("s")),i=fs(s.as("m")),a=fs(s.as("h")),c=fs(s.as("d")),u=fs(s.as("M")),d=fs(s.as("w")),f=fs(s.as("y")),h=o<=n.ss&&["s",o]||o0,h[4]=r,i6.apply(null,h)}function l6(e){return e===void 0?fs:typeof e=="function"?(fs=e,!0):!1}function c6(e,t){return ea[e]===void 0?!1:t===void 0?ea[e]:(ea[e]=t,e==="s"&&(ea.ss=t-1),!0)}function u6(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=!1,r=ea,s,o;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(n=e),typeof t=="object"&&(r=Object.assign({},ea,t),t.s!=null&&t.ss==null&&(r.ss=t.s-1)),s=this.localeData(),o=a6(this,!n,r,s),n&&(o=s.pastFuture(+this,o)),s.postformat(o)}var Pp=Math.abs;function Oi(e){return(e>0)-(e<0)||+e}function uh(){if(!this.isValid())return this.localeData().invalidDate();var e=Pp(this._milliseconds)/1e3,t=Pp(this._days),n=Pp(this._months),r,s,o,i,a=this.asSeconds(),c,u,d,f;return a?(r=rr(e/60),s=rr(r/60),e%=60,r%=60,o=rr(n/12),n%=12,i=e?e.toFixed(3).replace(/\.?0+$/,""):"",c=a<0?"-":"",u=Oi(this._months)!==Oi(a)?"-":"",d=Oi(this._days)!==Oi(a)?"-":"",f=Oi(this._milliseconds)!==Oi(a)?"-":"",c+"P"+(o?u+o+"Y":"")+(n?u+n+"M":"")+(t?d+t+"D":"")+(s||r||e?"T":"")+(s?f+s+"H":"")+(r?f+r+"M":"")+(e?f+i+"S":"")):"P0D"}var it=lh.prototype;it.isValid=r5;it.abs=Mz;it.add=Lz;it.subtract=Fz;it.as=$z;it.asMilliseconds=fj;it.asSeconds=Uz;it.asMinutes=Vz;it.asHours=Bz;it.asDays=Wz;it.asWeeks=Hz;it.asMonths=Yz;it.asQuarters=Kz;it.asYears=Gz;it.valueOf=Zz;it._bubble=zz;it.clone=qz;it.get=Xz;it.milliseconds=Qz;it.seconds=Jz;it.minutes=e6;it.hours=t6;it.days=n6;it.weeks=o6;it.months=r6;it.years=s6;it.humanize=u6;it.toISOString=uh;it.toString=uh;it.toJSON=uh;it.locale=JC;it.localeData=tj;it.toIsoString=ur("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",uh);it.lang=ej;Me("X",0,0,"unix");Me("x",0,0,"valueOf");je("x",sh);je("X",P4);vt("X",function(e,t,n){n._d=new Date(parseFloat(e)*1e3)});vt("x",function(e,t,n){n._d=new Date(nt(e))});//! moment.js
-be.version="2.30.1";d4(Ct);be.fn=le;be.min=J3;be.max=e5;be.now=t5;be.utc=es;be.unix=Tz;be.months=Pz;be.isDate=Kc;be.locale=xo;be.invalid=eh;be.duration=Dr;be.isMoment=Rr;be.weekdays=Oz;be.parseZone=Rz;be.localeData=Fs;be.isDuration=ad;be.monthsShort=Az;be.weekdaysMin=Iz;be.defineLocale=kv;be.updateLocale=R3;be.locales=P3;be.weekdaysShort=Dz;be.normalizeUnits=dr;be.relativeTimeRounding=l6;be.relativeTimeThreshold=c6;be.calendarFormat=j5;be.prototype=le;be.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const d6=async()=>await st().collection("access").getFullList({sort:"-created",filter:"deleted = null"}),$s=async e=>e.id?await st().collection("access").update(e.id,e):await st().collection("access").create(e),f6=async e=>(e.deleted=be.utc().format("YYYY-MM-DD HH:mm:ss"),await st().collection("access").update(e.id,e)),Kw=async()=>await st().collection("access_groups").getFullList({sort:"-created",expand:"access"}),h6=async e=>{const t=st();if((await t.collection("access").getList(1,1,{filter:`group='${e}' && deleted=null`})).items.length>0)throw new Error("该分组下有授权配置,无法删除");await t.collection("access_groups").delete(e)},p6=async e=>{const t=st();return e.id?await t.collection("access_groups").update(e.id,e):await t.collection("access_groups").create(e)},Gw=async e=>await st().collection("access_groups").update(e.id,e),m6=(e,t)=>{switch(t.type){case"SET_ACCESSES":return{...e,accesses:t.payload};case"ADD_ACCESS":return{...e,accesses:[t.payload,...e.accesses]};case"DELETE_ACCESS":return{...e,accesses:e.accesses.filter(n=>n.id!==t.payload)};case"UPDATE_ACCESS":return{...e,accesses:e.accesses.map(n=>n.id===t.payload.id?t.payload:n)};case"SET_EMAILS":return{...e,emails:t.payload};case"ADD_EMAIL":return{...e,emails:{...e.emails,content:{emails:[...e.emails.content.emails,t.payload]}}};case"SET_ACCESS_GROUPS":return{...e,accessGroups:t.payload};default:return e}},g6=async()=>{try{return await st().collection("settings").getFirstListItem("name='emails'")}catch{return{content:{emails:[]}}}},Ov=async e=>{try{return await st().collection("settings").getFirstListItem(`name='${e}'`)}catch{return{name:e}}},Ga=async e=>{const t=st();let n;return e.id?n=await t.collection("settings").update(e.id,e):n=await t.collection("settings").create(e),n},hj=v.createContext({}),In=()=>v.useContext(hj),y6=({children:e})=>{const[t,n]=v.useReducer(m6,{accesses:[],emails:{content:{emails:[]}},accessGroups:[]});v.useEffect(()=>{(async()=>{const d=await d6();n({type:"SET_ACCESSES",payload:d})})()},[]),v.useEffect(()=>{(async()=>{const d=await g6();n({type:"SET_EMAILS",payload:d})})()},[]),v.useEffect(()=>{(async()=>{const d=await Kw();n({type:"SET_ACCESS_GROUPS",payload:d})})()},[]);const r=v.useCallback(async()=>{const u=await Kw();n({type:"SET_ACCESS_GROUPS",payload:u})},[]),s=v.useCallback(u=>{n({type:"SET_EMAILS",payload:u})},[]),o=v.useCallback(u=>{n({type:"DELETE_ACCESS",payload:u})},[]),i=v.useCallback(u=>{n({type:"ADD_ACCESS",payload:u})},[]),a=v.useCallback(u=>{n({type:"UPDATE_ACCESS",payload:u})},[]),c=v.useCallback(u=>{n({type:"SET_ACCESS_GROUPS",payload:u})},[]);return l.jsx(hj.Provider,{value:{config:{accesses:t.accesses,emails:t.emails,accessGroups:t.accessGroups},deleteAccess:o,addAccess:i,setEmails:s,updateAccess:a,setAccessGroups:c,reloadAccessGroups:r},children:e&&e})},v6={theme:"system",setTheme:()=>null},pj=v.createContext(v6);function x6({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[s,o]=v.useState(()=>localStorage.getItem(n)||t);v.useEffect(()=>{const a=window.document.documentElement;if(a.classList.remove("light","dark"),s==="system"){const c=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";a.classList.add(c);return}a.classList.add(s)},[s]);const i={theme:s,setTheme:a=>{localStorage.setItem(n,a),o(a)}};return l.jsx(pj.Provider,{...r,value:i,children:e})}const w6=()=>{const e=v.useContext(pj);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};function b6(){const{setTheme:e}=w6(),{t}=ct();return l.jsxs(Xy,{children:[l.jsx(Qy,{asChild:!0,children:l.jsxs(Ue,{variant:"outline",size:"icon",children:[l.jsx(VO,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),l.jsx(zO,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100 dark:text-white"}),l.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),l.jsxs(Xf,{align:"end",children:[l.jsx(ei,{onClick:()=>e("light"),children:t("theme.light")}),l.jsx(ei,{onClick:()=>e("dark"),children:t("theme.dark")}),l.jsx(ei,{onClick:()=>e("system"),children:t("theme.system")})]})]})}function _6(){const{i18n:e}=ct();return l.jsxs(Xy,{children:[l.jsx(Qy,{asChild:!0,children:l.jsxs(Ue,{variant:"outline",size:"icon",children:[l.jsx(IO,{className:"h-[1.2rem] w-[1.2rem] dark:text-white"}),l.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),l.jsx(Xf,{align:"end",children:Object.keys(e.store.data).map(t=>l.jsx(ei,{onClick:()=>e.changeLanguage(t),children:e.store.data[t].name}))})]})}var S6="Separator",Zw="horizontal",k6=["horizontal","vertical"],mj=v.forwardRef((e,t)=>{const{decorative:n,orientation:r=Zw,...s}=e,o=C6(r)?r:Zw,a=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return l.jsx(Re.div,{"data-orientation":o,...a,...s,ref:t})});mj.displayName=S6;function C6(e){return k6.includes(e)}var gj=mj;const xr=v.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},s)=>l.jsx(gj,{ref:s,decorative:n,orientation:t,className:oe("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));xr.displayName=gj.displayName;const j6="Certimate v0.1.14",yj=()=>{const{t:e}=ct();return l.jsxs("div",{className:"fixed right-0 bottom-0 w-full flex justify-between p-5",children:[l.jsx("div",{className:""}),l.jsxs("div",{className:"text-muted-foreground text-sm hover:text-stone-900 dark:hover:text-stone-200 flex",children:[l.jsxs("a",{href:"https://docs.certimate.me",target:"_blank",className:"flex items-center",children:[l.jsx(jO,{size:16}),l.jsx("div",{className:"ml-1",children:e("document")})]}),l.jsx(xr,{orientation:"vertical",className:"mx-2"}),l.jsx("a",{href:"https://github.com/usual2970/certimate/releases",target:"_blank",children:j6})]})]})};function E6(){const e=Dn(),t=Ar(),{t:n}=ct();if(!st().authStore.isValid||!st().authStore.isAdmin)return l.jsx(sS,{to:"/login"});const r=t.pathname,s=a=>(console.log(r),a==r?"bg-muted text-primary":"text-muted-foreground"),o=()=>{st().authStore.clear(),e("/login")},i=()=>{e("/setting/account")};return l.jsx(l.Fragment,{children:l.jsx(y6,{children:l.jsxs("div",{className:"grid min-h-screen w-full md:grid-cols-[180px_1fr] lg:grid-cols-[200px_1fr] 2xl:md:grid-cols-[280px_1fr] ",children:[l.jsx("div",{className:"hidden border-r dark:border-stone-500 bg-muted/40 md:block",children:l.jsxs("div",{className:"flex h-full max-h-screen flex-col gap-2",children:[l.jsx("div",{className:"flex h-14 items-center border-b dark:border-stone-500 px-4 lg:h-[60px] lg:px-6",children:l.jsxs(xn,{to:"/",className:"flex items-center gap-2 font-semibold",children:[l.jsx("img",{src:"/vite.svg",className:"w-[36px] h-[36px]"}),l.jsx("span",{className:"dark:text-white",children:"Certimate"})]})}),l.jsx("div",{className:"flex-1",children:l.jsxs("nav",{className:"grid items-start px-2 text-sm font-medium lg:px-4",children:[l.jsxs(xn,{to:"/",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/")),children:[l.jsx(iw,{className:"h-4 w-4"}),n("dashboard")]}),l.jsxs(xn,{to:"/domains",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/domains")),children:[l.jsx(Lm,{className:"h-4 w-4"}),n("domain.management.name")]}),l.jsxs(xn,{to:"/access",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/access")),children:[l.jsx(aw,{className:"h-4 w-4"}),n("menu.auth.management")]}),l.jsxs(xn,{to:"/history",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/history")),children:[l.jsx(ow,{className:"h-4 w-4"}),n("deployment.log.name")]})]})})]})}),l.jsxs("div",{className:"flex flex-col",children:[l.jsxs("header",{className:"flex h-14 items-center gap-4 border-b dark:border-stone-500 bg-muted/40 px-4 lg:h-[60px] lg:px-6",children:[l.jsxs(iv,{children:[l.jsx(av,{asChild:!0,children:l.jsxs(Ue,{variant:"outline",size:"icon",className:"shrink-0 md:hidden",children:[l.jsx(FO,{className:"h-5 w-5 dark:text-white"}),l.jsx("span",{className:"sr-only",children:"Toggle navigation menu"})]})}),l.jsx(Jf,{side:"left",className:"flex flex-col",children:l.jsxs("nav",{className:"grid gap-2 text-lg font-medium",children:[l.jsxs(xn,{to:"/",className:"flex items-center gap-2 text-lg font-semibold",children:[l.jsx("img",{src:"/vite.svg",className:"w-[36px] h-[36px]"}),l.jsx("span",{className:"dark:text-white",children:"Certimate"}),l.jsx("span",{className:"sr-only",children:"Certimate"})]}),l.jsxs(xn,{to:"/",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/")),children:[l.jsx(iw,{className:"h-5 w-5"}),n("dashboard")]}),l.jsxs(xn,{to:"/domains",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/domains")),children:[l.jsx(Lm,{className:"h-5 w-5"}),n("domain.management.name")]}),l.jsxs(xn,{to:"/access",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/access")),children:[l.jsx(aw,{className:"h-5 w-5"}),n("menu.auth.management")]}),l.jsxs(xn,{to:"/history",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/history")),children:[l.jsx(ow,{className:"h-5 w-5"}),n("deployment.log.name")]})]})})]}),l.jsx("div",{className:"w-full flex-1"}),l.jsx(b6,{}),l.jsx(_6,{}),l.jsxs(Xy,{children:[l.jsx(Qy,{asChild:!0,children:l.jsxs(Ue,{variant:"secondary",size:"icon",className:"rounded-full",children:[l.jsx(PO,{className:"h-5 w-5"}),l.jsx("span",{className:"sr-only",children:"Toggle user menu"})]})}),l.jsxs(Xf,{align:"end",children:[l.jsx(Qk,{children:n("account")}),l.jsx(Jk,{}),l.jsx(ei,{onClick:i,children:n("setting")}),l.jsx(ei,{onClick:o,children:n("logout")})]})]})]}),l.jsxs("main",{className:"flex flex-1 flex-col gap-4 p-4 lg:gap-6 lg:p-6 relative",children:[l.jsx(xy,{}),l.jsx(yj,{})]})]})]})})})}const Dv=({phase:e,phaseSuccess:t})=>{const{t:n}=ct();let r=0;return e==="check"?r=1:e==="apply"?r=2:e==="deploy"&&(r=3),l.jsxs("div",{className:"flex items-center",children:[l.jsx("div",{className:oe("text-xs text-nowrap",r===1?t?"text-green-600":"text-red-600":"",r>1?"text-green-600":""),children:n("deploy.progress.check")}),l.jsx(xr,{className:oe("h-1 grow max-w-[60px]",r>1?"bg-green-600":"")}),l.jsx("div",{className:oe("text-xs text-nowrap",r<2?"text-muted-foreground":"",r===2?t?"text-green-600":"text-red-600":"",r>2?"text-green-600":""),children:n("deploy.progress.apply")}),l.jsx(xr,{className:oe("h-1 grow max-w-[60px]",r>2?"bg-green-600":"")}),l.jsx("div",{className:oe("text-xs text-nowrap",r<3?"text-muted-foreground":"",r===3?t?"text-green-600":"text-red-600":"",r>3?"text-green-600":""),children:n("deploy.progress.deploy")})]})};var N6="VisuallyHidden",Xc=v.forwardRef((e,t)=>l.jsx(Re.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));Xc.displayName=N6;var T6=Xc,[dh,EH]=on("Tooltip",[Ba]),fh=Ba(),vj="TooltipProvider",R6=700,eg="tooltip.open",[P6,Iv]=dh(vj),Mv=e=>{const{__scopeTooltip:t,delayDuration:n=R6,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:o}=e,[i,a]=v.useState(!0),c=v.useRef(!1),u=v.useRef(0);return v.useEffect(()=>{const d=u.current;return()=>window.clearTimeout(d)},[]),l.jsx(P6,{scope:t,isOpenDelayed:i,delayDuration:n,onOpen:v.useCallback(()=>{window.clearTimeout(u.current),a(!1)},[]),onClose:v.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a(!0),r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:v.useCallback(d=>{c.current=d},[]),disableHoverableContent:s,children:o})};Mv.displayName=vj;var hh="Tooltip",[A6,ph]=dh(hh),xj=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:s=!1,onOpenChange:o,disableHoverableContent:i,delayDuration:a}=e,c=Iv(hh,e.__scopeTooltip),u=fh(t),[d,f]=v.useState(null),h=Wn(),y=v.useRef(0),x=i??c.disableHoverableContent,g=a??c.delayDuration,w=v.useRef(!1),[m=!1,p]=Zn({prop:r,defaultProp:s,onChange:T=>{T?(c.onOpen(),document.dispatchEvent(new CustomEvent(eg))):c.onClose(),o==null||o(T)}}),b=v.useMemo(()=>m?w.current?"delayed-open":"instant-open":"closed",[m]),_=v.useCallback(()=>{window.clearTimeout(y.current),w.current=!1,p(!0)},[p]),C=v.useCallback(()=>{window.clearTimeout(y.current),p(!1)},[p]),j=v.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{w.current=!0,p(!0)},g)},[g,p]);return v.useEffect(()=>()=>window.clearTimeout(y.current),[]),l.jsx(My,{...u,children:l.jsx(A6,{scope:t,contentId:h,open:m,stateAttribute:b,trigger:d,onTriggerChange:f,onTriggerEnter:v.useCallback(()=>{c.isOpenDelayed?j():_()},[c.isOpenDelayed,j,_]),onTriggerLeave:v.useCallback(()=>{x?C():window.clearTimeout(y.current)},[C,x]),onOpen:_,onClose:C,disableHoverableContent:x,children:n})})};xj.displayName=hh;var tg="TooltipTrigger",wj=v.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=ph(tg,n),o=Iv(tg,n),i=fh(n),a=v.useRef(null),c=Ke(t,a,s.onTriggerChange),u=v.useRef(!1),d=v.useRef(!1),f=v.useCallback(()=>u.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),l.jsx(Ly,{asChild:!0,...i,children:l.jsx(Re.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:c,onPointerMove:ue(e.onPointerMove,h=>{h.pointerType!=="touch"&&!d.current&&!o.isPointerInTransitRef.current&&(s.onTriggerEnter(),d.current=!0)}),onPointerLeave:ue(e.onPointerLeave,()=>{s.onTriggerLeave(),d.current=!1}),onPointerDown:ue(e.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:ue(e.onFocus,()=>{u.current||s.onOpen()}),onBlur:ue(e.onBlur,s.onClose),onClick:ue(e.onClick,s.onClose)})})});wj.displayName=tg;var O6="TooltipPortal",[NH,D6]=dh(O6,{forceMount:void 0}),Na="TooltipContent",Lv=v.forwardRef((e,t)=>{const n=D6(Na,e.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...o}=e,i=ph(Na,e.__scopeTooltip);return l.jsx(an,{present:r||i.open,children:i.disableHoverableContent?l.jsx(bj,{side:s,...o,ref:t}):l.jsx(I6,{side:s,...o,ref:t})})}),I6=v.forwardRef((e,t)=>{const n=ph(Na,e.__scopeTooltip),r=Iv(Na,e.__scopeTooltip),s=v.useRef(null),o=Ke(t,s),[i,a]=v.useState(null),{trigger:c,onClose:u}=n,d=s.current,{onPointerInTransitChange:f}=r,h=v.useCallback(()=>{a(null),f(!1)},[f]),y=v.useCallback((x,g)=>{const w=x.currentTarget,m={x:x.clientX,y:x.clientY},p=z6(m,w.getBoundingClientRect()),b=$6(m,p),_=U6(g.getBoundingClientRect()),C=B6([...b,..._]);a(C),f(!0)},[f]);return v.useEffect(()=>()=>h(),[h]),v.useEffect(()=>{if(c&&d){const x=w=>y(w,d),g=w=>y(w,c);return c.addEventListener("pointerleave",x),d.addEventListener("pointerleave",g),()=>{c.removeEventListener("pointerleave",x),d.removeEventListener("pointerleave",g)}}},[c,d,y,h]),v.useEffect(()=>{if(i){const x=g=>{const w=g.target,m={x:g.clientX,y:g.clientY},p=(c==null?void 0:c.contains(w))||(d==null?void 0:d.contains(w)),b=!V6(m,i);p?h():b&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[c,d,i,u,h]),l.jsx(bj,{...e,ref:o})}),[M6,L6]=dh(hh,{isInside:!1}),bj=v.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:o,onPointerDownOutside:i,...a}=e,c=ph(Na,n),u=fh(n),{onClose:d}=c;return v.useEffect(()=>(document.addEventListener(eg,d),()=>document.removeEventListener(eg,d)),[d]),v.useEffect(()=>{if(c.trigger){const f=h=>{const y=h.target;y!=null&&y.contains(c.trigger)&&d()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[c.trigger,d]),l.jsx($a,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:f=>f.preventDefault(),onDismiss:d,children:l.jsxs(Fy,{"data-state":c.stateAttribute,...u,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(Sy,{children:r}),l.jsx(M6,{scope:n,isInside:!0,children:l.jsx(T6,{id:c.contentId,role:"tooltip",children:s||r})})]})})});Lv.displayName=Na;var _j="TooltipArrow",F6=v.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=fh(n);return L6(_j,n).isInside?null:l.jsx(zy,{...s,...r,ref:t})});F6.displayName=_j;function z6(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,s,o)){case o:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function $6(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function U6(e){const{top:t,right:n,bottom:r,left:s}=e;return[{x:s,y:t},{x:n,y:t},{x:n,y:r},{x:s,y:r}]}function V6(e,t){const{x:n,y:r}=e;let s=!1;for(let o=0,i=t.length-1;or!=d>r&&n<(u-a)*(r-c)/(d-c)+a&&(s=!s)}return s}function B6(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),W6(t)}function W6(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const o=t[t.length-1],i=t[t.length-2];if((o.x-i.x)*(s.y-i.y)>=(o.y-i.y)*(s.x-i.x))t.pop();else break}t.push(s)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const s=e[r];for(;n.length>=2;){const o=n[n.length-1],i=n[n.length-2];if((o.x-i.x)*(s.y-i.y)>=(o.y-i.y)*(s.x-i.x))n.pop();else break}n.push(s)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var H6=Mv,Y6=xj,K6=wj,Sj=Lv;const G6=H6,kj=Y6,Cj=K6,jj=v.forwardRef(({className:e,sideOffset:t=4,...n},r)=>l.jsx(Sj,{ref:r,sideOffset:t,className:oe("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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",e),...n}));jj.displayName=Sj.displayName;const Fv=({deployment:e})=>{const t=n=>e.log[n]?e.log[n][e.log[n].length-1].error:"";return l.jsx(l.Fragment,{children:e.phase==="deploy"&&e.phaseSuccess||e.wholeSuccess?l.jsx(RO,{size:16,className:"text-green-700"}):l.jsx(l.Fragment,{children:t(e.phase).length?l.jsx(G6,{children:l.jsxs(kj,{children:[l.jsx(Cj,{asChild:!0,className:"cursor-pointer",children:l.jsx(rw,{size:16,className:"text-red-700"})}),l.jsx(jj,{className:"max-w-[35em]",children:t(e.phase)})]})}):l.jsx(rw,{size:16,className:"text-red-700"})})})},Ej=({className:e,...t})=>l.jsx("nav",{role:"navigation","aria-label":"pagination",className:oe("mx-auto flex w-full justify-center",e),...t});Ej.displayName="Pagination";const Nj=v.forwardRef(({className:e,...t},n)=>l.jsx("ul",{ref:n,className:oe("flex flex-row items-center gap-1",e),...t}));Nj.displayName="PaginationContent";const ng=v.forwardRef(({className:e,...t},n)=>l.jsx("li",{ref:n,className:oe("",e),...t}));ng.displayName="PaginationItem";const Tj=({className:e,isActive:t,size:n="icon",...r})=>l.jsx("a",{"aria-current":t?"page":void 0,className:oe(Vf({variant:t?"outline":"ghost",size:n}),e),...r});Tj.displayName="PaginationLink";const Rj=({className:e,...t})=>l.jsxs("span",{"aria-hidden":!0,className:oe("flex h-9 w-9 items-center justify-center",e),...t,children:[l.jsx(AO,{className:"h-4 w-4"}),l.jsx("span",{className:"sr-only",children:"More pages"})]});Rj.displayName="PaginationEllipsis";const Pj=({totalPages:e,currentPage:t,onPageChange:n})=>{const s=()=>{if(e>7){let u=[];const d=Math.max(2,t-1),f=Math.min(e-1,t+1),h=e-1;return u=o(d,f),t>3&&u.unshift("..."),t{let d=a;const f=[];for(;d<=c;)f.push(d),d+=u;return f},i=s();return l.jsx(l.Fragment,{children:l.jsx(Ej,{className:"dark:text-stone-200 justify-end mt-3",children:l.jsx(Nj,{children:i.map((a,c)=>a==="..."?l.jsx(ng,{children:l.jsx(Rj,{})},c):l.jsx(ng,{children:l.jsx(Tj,{href:"#",isActive:t==a,onClick:u=>{u.preventDefault(),n(a)},children:a})},c))})})})},ya=({when:e,children:t,fallback:n})=>e?t:n;var Aj="AlertDialog",[Z6,TH]=on(Aj,[tC]),Us=tC(),Oj=e=>{const{__scopeAlertDialog:t,...n}=e,r=Us(t);return l.jsx(rv,{...r,...n,modal:!0})};Oj.displayName=Aj;var q6="AlertDialogTrigger",Dj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(sv,{...s,...r,ref:t})});Dj.displayName=q6;var X6="AlertDialogPortal",Ij=e=>{const{__scopeAlertDialog:t,...n}=e,r=Us(t);return l.jsx(ov,{...r,...n})};Ij.displayName=X6;var Q6="AlertDialogOverlay",Mj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Bc,{...s,...r,ref:t})});Mj.displayName=Q6;var va="AlertDialogContent",[J6,e$]=Z6(va),Lj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...s}=e,o=Us(n),i=v.useRef(null),a=Ke(t,i),c=v.useRef(null);return l.jsx(UF,{contentName:va,titleName:Fj,docsSlug:"alert-dialog",children:l.jsx(J6,{scope:n,cancelRef:c,children:l.jsxs(Wc,{role:"alertdialog",...o,...s,ref:a,onOpenAutoFocus:ue(s.onOpenAutoFocus,u=>{var d;u.preventDefault(),(d=c.current)==null||d.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault(),children:[l.jsx(Sy,{children:r}),l.jsx(n$,{contentRef:i})]})})})});Lj.displayName=va;var Fj="AlertDialogTitle",zj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Hc,{...s,...r,ref:t})});zj.displayName=Fj;var $j="AlertDialogDescription",Uj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Yc,{...s,...r,ref:t})});Uj.displayName=$j;var t$="AlertDialogAction",Vj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Qf,{...s,...r,ref:t})});Vj.displayName=t$;var Bj="AlertDialogCancel",Wj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:s}=e$(Bj,n),o=Us(n),i=Ke(t,s);return l.jsx(Qf,{...o,...r,ref:i})});Wj.displayName=Bj;var n$=({contentRef:e})=>{const t=`\`${va}\` requires a description for the component to be accessible for screen reader users.
+be.version="2.30.1";d4(Ct);be.fn=le;be.min=J3;be.max=e5;be.now=t5;be.utc=es;be.unix=Tz;be.months=Pz;be.isDate=Kc;be.locale=xo;be.invalid=eh;be.duration=Dr;be.isMoment=Rr;be.weekdays=Oz;be.parseZone=Rz;be.localeData=Fs;be.isDuration=ad;be.monthsShort=Az;be.weekdaysMin=Iz;be.defineLocale=kv;be.updateLocale=R3;be.locales=P3;be.weekdaysShort=Dz;be.normalizeUnits=dr;be.relativeTimeRounding=l6;be.relativeTimeThreshold=c6;be.calendarFormat=j5;be.prototype=le;be.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const d6=async()=>await st().collection("access").getFullList({sort:"-created",filter:"deleted = null"}),$s=async e=>e.id?await st().collection("access").update(e.id,e):await st().collection("access").create(e),f6=async e=>(e.deleted=be.utc().format("YYYY-MM-DD HH:mm:ss"),await st().collection("access").update(e.id,e)),Kw=async()=>await st().collection("access_groups").getFullList({sort:"-created",expand:"access"}),h6=async e=>{const t=st();if((await t.collection("access").getList(1,1,{filter:`group='${e}' && deleted=null`})).items.length>0)throw new Error("该分组下有授权配置,无法删除");await t.collection("access_groups").delete(e)},p6=async e=>{const t=st();return e.id?await t.collection("access_groups").update(e.id,e):await t.collection("access_groups").create(e)},Gw=async e=>await st().collection("access_groups").update(e.id,e),m6=(e,t)=>{switch(t.type){case"SET_ACCESSES":return{...e,accesses:t.payload};case"ADD_ACCESS":return{...e,accesses:[t.payload,...e.accesses]};case"DELETE_ACCESS":return{...e,accesses:e.accesses.filter(n=>n.id!==t.payload)};case"UPDATE_ACCESS":return{...e,accesses:e.accesses.map(n=>n.id===t.payload.id?t.payload:n)};case"SET_EMAILS":return{...e,emails:t.payload};case"ADD_EMAIL":return{...e,emails:{...e.emails,content:{emails:[...e.emails.content.emails,t.payload]}}};case"SET_ACCESS_GROUPS":return{...e,accessGroups:t.payload};default:return e}},g6=async()=>{try{return await st().collection("settings").getFirstListItem("name='emails'")}catch{return{content:{emails:[]}}}},Ov=async e=>{try{return await st().collection("settings").getFirstListItem(`name='${e}'`)}catch{return{name:e}}},Ga=async e=>{const t=st();let n;return e.id?n=await t.collection("settings").update(e.id,e):n=await t.collection("settings").create(e),n},hj=v.createContext({}),In=()=>v.useContext(hj),y6=({children:e})=>{const[t,n]=v.useReducer(m6,{accesses:[],emails:{content:{emails:[]}},accessGroups:[]});v.useEffect(()=>{(async()=>{const d=await d6();n({type:"SET_ACCESSES",payload:d})})()},[]),v.useEffect(()=>{(async()=>{const d=await g6();n({type:"SET_EMAILS",payload:d})})()},[]),v.useEffect(()=>{(async()=>{const d=await Kw();n({type:"SET_ACCESS_GROUPS",payload:d})})()},[]);const r=v.useCallback(async()=>{const u=await Kw();n({type:"SET_ACCESS_GROUPS",payload:u})},[]),s=v.useCallback(u=>{n({type:"SET_EMAILS",payload:u})},[]),o=v.useCallback(u=>{n({type:"DELETE_ACCESS",payload:u})},[]),i=v.useCallback(u=>{n({type:"ADD_ACCESS",payload:u})},[]),a=v.useCallback(u=>{n({type:"UPDATE_ACCESS",payload:u})},[]),c=v.useCallback(u=>{n({type:"SET_ACCESS_GROUPS",payload:u})},[]);return l.jsx(hj.Provider,{value:{config:{accesses:t.accesses,emails:t.emails,accessGroups:t.accessGroups},deleteAccess:o,addAccess:i,setEmails:s,updateAccess:a,setAccessGroups:c,reloadAccessGroups:r},children:e&&e})},v6={theme:"system",setTheme:()=>null},pj=v.createContext(v6);function x6({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[s,o]=v.useState(()=>localStorage.getItem(n)||t);v.useEffect(()=>{const a=window.document.documentElement;if(a.classList.remove("light","dark"),s==="system"){const c=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";a.classList.add(c);return}a.classList.add(s)},[s]);const i={theme:s,setTheme:a=>{localStorage.setItem(n,a),o(a)}};return l.jsx(pj.Provider,{...r,value:i,children:e})}const w6=()=>{const e=v.useContext(pj);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};function b6(){const{setTheme:e}=w6(),{t}=ct();return l.jsxs(Xy,{children:[l.jsx(Qy,{asChild:!0,children:l.jsxs(Ue,{variant:"outline",size:"icon",children:[l.jsx(VO,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),l.jsx(zO,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100 dark:text-white"}),l.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),l.jsxs(Xf,{align:"end",children:[l.jsx(ei,{onClick:()=>e("light"),children:t("theme.light")}),l.jsx(ei,{onClick:()=>e("dark"),children:t("theme.dark")}),l.jsx(ei,{onClick:()=>e("system"),children:t("theme.system")})]})]})}function _6(){const{i18n:e}=ct();return l.jsxs(Xy,{children:[l.jsx(Qy,{asChild:!0,children:l.jsxs(Ue,{variant:"outline",size:"icon",children:[l.jsx(IO,{className:"h-[1.2rem] w-[1.2rem] dark:text-white"}),l.jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),l.jsx(Xf,{align:"end",children:Object.keys(e.store.data).map(t=>l.jsx(ei,{onClick:()=>e.changeLanguage(t),children:e.store.data[t].name}))})]})}var S6="Separator",Zw="horizontal",k6=["horizontal","vertical"],mj=v.forwardRef((e,t)=>{const{decorative:n,orientation:r=Zw,...s}=e,o=C6(r)?r:Zw,a=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return l.jsx(Re.div,{"data-orientation":o,...a,...s,ref:t})});mj.displayName=S6;function C6(e){return k6.includes(e)}var gj=mj;const xr=v.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},s)=>l.jsx(gj,{ref:s,decorative:n,orientation:t,className:oe("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));xr.displayName=gj.displayName;const j6="Certimate v0.1.15",yj=()=>{const{t:e}=ct();return l.jsxs("div",{className:"fixed right-0 bottom-0 w-full flex justify-between p-5",children:[l.jsx("div",{className:""}),l.jsxs("div",{className:"text-muted-foreground text-sm hover:text-stone-900 dark:hover:text-stone-200 flex",children:[l.jsxs("a",{href:"https://docs.certimate.me",target:"_blank",className:"flex items-center",children:[l.jsx(jO,{size:16}),l.jsx("div",{className:"ml-1",children:e("document")})]}),l.jsx(xr,{orientation:"vertical",className:"mx-2"}),l.jsx("a",{href:"https://github.com/usual2970/certimate/releases",target:"_blank",children:j6})]})]})};function E6(){const e=Dn(),t=Ar(),{t:n}=ct();if(!st().authStore.isValid||!st().authStore.isAdmin)return l.jsx(sS,{to:"/login"});const r=t.pathname,s=a=>(console.log(r),a==r?"bg-muted text-primary":"text-muted-foreground"),o=()=>{st().authStore.clear(),e("/login")},i=()=>{e("/setting/account")};return l.jsx(l.Fragment,{children:l.jsx(y6,{children:l.jsxs("div",{className:"grid min-h-screen w-full md:grid-cols-[180px_1fr] lg:grid-cols-[200px_1fr] 2xl:md:grid-cols-[280px_1fr] ",children:[l.jsx("div",{className:"hidden border-r dark:border-stone-500 bg-muted/40 md:block",children:l.jsxs("div",{className:"flex h-full max-h-screen flex-col gap-2",children:[l.jsx("div",{className:"flex h-14 items-center border-b dark:border-stone-500 px-4 lg:h-[60px] lg:px-6",children:l.jsxs(xn,{to:"/",className:"flex items-center gap-2 font-semibold",children:[l.jsx("img",{src:"/vite.svg",className:"w-[36px] h-[36px]"}),l.jsx("span",{className:"dark:text-white",children:"Certimate"})]})}),l.jsx("div",{className:"flex-1",children:l.jsxs("nav",{className:"grid items-start px-2 text-sm font-medium lg:px-4",children:[l.jsxs(xn,{to:"/",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/")),children:[l.jsx(iw,{className:"h-4 w-4"}),n("dashboard")]}),l.jsxs(xn,{to:"/domains",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/domains")),children:[l.jsx(Lm,{className:"h-4 w-4"}),n("domain.management.name")]}),l.jsxs(xn,{to:"/access",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/access")),children:[l.jsx(aw,{className:"h-4 w-4"}),n("menu.auth.management")]}),l.jsxs(xn,{to:"/history",className:oe("flex items-center gap-3 rounded-lg px-3 py-2 transition-all hover:text-primary",s("/history")),children:[l.jsx(ow,{className:"h-4 w-4"}),n("deployment.log.name")]})]})})]})}),l.jsxs("div",{className:"flex flex-col",children:[l.jsxs("header",{className:"flex h-14 items-center gap-4 border-b dark:border-stone-500 bg-muted/40 px-4 lg:h-[60px] lg:px-6",children:[l.jsxs(iv,{children:[l.jsx(av,{asChild:!0,children:l.jsxs(Ue,{variant:"outline",size:"icon",className:"shrink-0 md:hidden",children:[l.jsx(FO,{className:"h-5 w-5 dark:text-white"}),l.jsx("span",{className:"sr-only",children:"Toggle navigation menu"})]})}),l.jsx(Jf,{side:"left",className:"flex flex-col",children:l.jsxs("nav",{className:"grid gap-2 text-lg font-medium",children:[l.jsxs(xn,{to:"/",className:"flex items-center gap-2 text-lg font-semibold",children:[l.jsx("img",{src:"/vite.svg",className:"w-[36px] h-[36px]"}),l.jsx("span",{className:"dark:text-white",children:"Certimate"}),l.jsx("span",{className:"sr-only",children:"Certimate"})]}),l.jsxs(xn,{to:"/",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/")),children:[l.jsx(iw,{className:"h-5 w-5"}),n("dashboard")]}),l.jsxs(xn,{to:"/domains",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/domains")),children:[l.jsx(Lm,{className:"h-5 w-5"}),n("domain.management.name")]}),l.jsxs(xn,{to:"/access",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/access")),children:[l.jsx(aw,{className:"h-5 w-5"}),n("menu.auth.management")]}),l.jsxs(xn,{to:"/history",className:oe("mx-[-0.65rem] flex items-center gap-4 rounded-xl px-3 py-2 hover:text-foreground",s("/history")),children:[l.jsx(ow,{className:"h-5 w-5"}),n("deployment.log.name")]})]})})]}),l.jsx("div",{className:"w-full flex-1"}),l.jsx(b6,{}),l.jsx(_6,{}),l.jsxs(Xy,{children:[l.jsx(Qy,{asChild:!0,children:l.jsxs(Ue,{variant:"secondary",size:"icon",className:"rounded-full",children:[l.jsx(PO,{className:"h-5 w-5"}),l.jsx("span",{className:"sr-only",children:"Toggle user menu"})]})}),l.jsxs(Xf,{align:"end",children:[l.jsx(Qk,{children:n("account")}),l.jsx(Jk,{}),l.jsx(ei,{onClick:i,children:n("setting")}),l.jsx(ei,{onClick:o,children:n("logout")})]})]})]}),l.jsxs("main",{className:"flex flex-1 flex-col gap-4 p-4 lg:gap-6 lg:p-6 relative",children:[l.jsx(xy,{}),l.jsx(yj,{})]})]})]})})})}const Dv=({phase:e,phaseSuccess:t})=>{const{t:n}=ct();let r=0;return e==="check"?r=1:e==="apply"?r=2:e==="deploy"&&(r=3),l.jsxs("div",{className:"flex items-center",children:[l.jsx("div",{className:oe("text-xs text-nowrap",r===1?t?"text-green-600":"text-red-600":"",r>1?"text-green-600":""),children:n("deploy.progress.check")}),l.jsx(xr,{className:oe("h-1 grow max-w-[60px]",r>1?"bg-green-600":"")}),l.jsx("div",{className:oe("text-xs text-nowrap",r<2?"text-muted-foreground":"",r===2?t?"text-green-600":"text-red-600":"",r>2?"text-green-600":""),children:n("deploy.progress.apply")}),l.jsx(xr,{className:oe("h-1 grow max-w-[60px]",r>2?"bg-green-600":"")}),l.jsx("div",{className:oe("text-xs text-nowrap",r<3?"text-muted-foreground":"",r===3?t?"text-green-600":"text-red-600":"",r>3?"text-green-600":""),children:n("deploy.progress.deploy")})]})};var N6="VisuallyHidden",Xc=v.forwardRef((e,t)=>l.jsx(Re.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));Xc.displayName=N6;var T6=Xc,[dh,EH]=on("Tooltip",[Ba]),fh=Ba(),vj="TooltipProvider",R6=700,eg="tooltip.open",[P6,Iv]=dh(vj),Mv=e=>{const{__scopeTooltip:t,delayDuration:n=R6,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:o}=e,[i,a]=v.useState(!0),c=v.useRef(!1),u=v.useRef(0);return v.useEffect(()=>{const d=u.current;return()=>window.clearTimeout(d)},[]),l.jsx(P6,{scope:t,isOpenDelayed:i,delayDuration:n,onOpen:v.useCallback(()=>{window.clearTimeout(u.current),a(!1)},[]),onClose:v.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a(!0),r)},[r]),isPointerInTransitRef:c,onPointerInTransitChange:v.useCallback(d=>{c.current=d},[]),disableHoverableContent:s,children:o})};Mv.displayName=vj;var hh="Tooltip",[A6,ph]=dh(hh),xj=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:s=!1,onOpenChange:o,disableHoverableContent:i,delayDuration:a}=e,c=Iv(hh,e.__scopeTooltip),u=fh(t),[d,f]=v.useState(null),h=Wn(),y=v.useRef(0),x=i??c.disableHoverableContent,g=a??c.delayDuration,w=v.useRef(!1),[m=!1,p]=Zn({prop:r,defaultProp:s,onChange:T=>{T?(c.onOpen(),document.dispatchEvent(new CustomEvent(eg))):c.onClose(),o==null||o(T)}}),b=v.useMemo(()=>m?w.current?"delayed-open":"instant-open":"closed",[m]),_=v.useCallback(()=>{window.clearTimeout(y.current),w.current=!1,p(!0)},[p]),C=v.useCallback(()=>{window.clearTimeout(y.current),p(!1)},[p]),j=v.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{w.current=!0,p(!0)},g)},[g,p]);return v.useEffect(()=>()=>window.clearTimeout(y.current),[]),l.jsx(My,{...u,children:l.jsx(A6,{scope:t,contentId:h,open:m,stateAttribute:b,trigger:d,onTriggerChange:f,onTriggerEnter:v.useCallback(()=>{c.isOpenDelayed?j():_()},[c.isOpenDelayed,j,_]),onTriggerLeave:v.useCallback(()=>{x?C():window.clearTimeout(y.current)},[C,x]),onOpen:_,onClose:C,disableHoverableContent:x,children:n})})};xj.displayName=hh;var tg="TooltipTrigger",wj=v.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=ph(tg,n),o=Iv(tg,n),i=fh(n),a=v.useRef(null),c=Ke(t,a,s.onTriggerChange),u=v.useRef(!1),d=v.useRef(!1),f=v.useCallback(()=>u.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),l.jsx(Ly,{asChild:!0,...i,children:l.jsx(Re.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:c,onPointerMove:ue(e.onPointerMove,h=>{h.pointerType!=="touch"&&!d.current&&!o.isPointerInTransitRef.current&&(s.onTriggerEnter(),d.current=!0)}),onPointerLeave:ue(e.onPointerLeave,()=>{s.onTriggerLeave(),d.current=!1}),onPointerDown:ue(e.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:ue(e.onFocus,()=>{u.current||s.onOpen()}),onBlur:ue(e.onBlur,s.onClose),onClick:ue(e.onClick,s.onClose)})})});wj.displayName=tg;var O6="TooltipPortal",[NH,D6]=dh(O6,{forceMount:void 0}),Na="TooltipContent",Lv=v.forwardRef((e,t)=>{const n=D6(Na,e.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...o}=e,i=ph(Na,e.__scopeTooltip);return l.jsx(an,{present:r||i.open,children:i.disableHoverableContent?l.jsx(bj,{side:s,...o,ref:t}):l.jsx(I6,{side:s,...o,ref:t})})}),I6=v.forwardRef((e,t)=>{const n=ph(Na,e.__scopeTooltip),r=Iv(Na,e.__scopeTooltip),s=v.useRef(null),o=Ke(t,s),[i,a]=v.useState(null),{trigger:c,onClose:u}=n,d=s.current,{onPointerInTransitChange:f}=r,h=v.useCallback(()=>{a(null),f(!1)},[f]),y=v.useCallback((x,g)=>{const w=x.currentTarget,m={x:x.clientX,y:x.clientY},p=z6(m,w.getBoundingClientRect()),b=$6(m,p),_=U6(g.getBoundingClientRect()),C=B6([...b,..._]);a(C),f(!0)},[f]);return v.useEffect(()=>()=>h(),[h]),v.useEffect(()=>{if(c&&d){const x=w=>y(w,d),g=w=>y(w,c);return c.addEventListener("pointerleave",x),d.addEventListener("pointerleave",g),()=>{c.removeEventListener("pointerleave",x),d.removeEventListener("pointerleave",g)}}},[c,d,y,h]),v.useEffect(()=>{if(i){const x=g=>{const w=g.target,m={x:g.clientX,y:g.clientY},p=(c==null?void 0:c.contains(w))||(d==null?void 0:d.contains(w)),b=!V6(m,i);p?h():b&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[c,d,i,u,h]),l.jsx(bj,{...e,ref:o})}),[M6,L6]=dh(hh,{isInside:!1}),bj=v.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:o,onPointerDownOutside:i,...a}=e,c=ph(Na,n),u=fh(n),{onClose:d}=c;return v.useEffect(()=>(document.addEventListener(eg,d),()=>document.removeEventListener(eg,d)),[d]),v.useEffect(()=>{if(c.trigger){const f=h=>{const y=h.target;y!=null&&y.contains(c.trigger)&&d()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[c.trigger,d]),l.jsx($a,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:f=>f.preventDefault(),onDismiss:d,children:l.jsxs(Fy,{"data-state":c.stateAttribute,...u,...a,ref:t,style:{...a.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[l.jsx(Sy,{children:r}),l.jsx(M6,{scope:n,isInside:!0,children:l.jsx(T6,{id:c.contentId,role:"tooltip",children:s||r})})]})})});Lv.displayName=Na;var _j="TooltipArrow",F6=v.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=fh(n);return L6(_j,n).isInside?null:l.jsx(zy,{...s,...r,ref:t})});F6.displayName=_j;function z6(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,s,o)){case o:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function $6(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function U6(e){const{top:t,right:n,bottom:r,left:s}=e;return[{x:s,y:t},{x:n,y:t},{x:n,y:r},{x:s,y:r}]}function V6(e,t){const{x:n,y:r}=e;let s=!1;for(let o=0,i=t.length-1;or!=d>r&&n<(u-a)*(r-c)/(d-c)+a&&(s=!s)}return s}function B6(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),W6(t)}function W6(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const o=t[t.length-1],i=t[t.length-2];if((o.x-i.x)*(s.y-i.y)>=(o.y-i.y)*(s.x-i.x))t.pop();else break}t.push(s)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const s=e[r];for(;n.length>=2;){const o=n[n.length-1],i=n[n.length-2];if((o.x-i.x)*(s.y-i.y)>=(o.y-i.y)*(s.x-i.x))n.pop();else break}n.push(s)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var H6=Mv,Y6=xj,K6=wj,Sj=Lv;const G6=H6,kj=Y6,Cj=K6,jj=v.forwardRef(({className:e,sideOffset:t=4,...n},r)=>l.jsx(Sj,{ref:r,sideOffset:t,className:oe("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md 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",e),...n}));jj.displayName=Sj.displayName;const Fv=({deployment:e})=>{const t=n=>e.log[n]?e.log[n][e.log[n].length-1].error:"";return l.jsx(l.Fragment,{children:e.phase==="deploy"&&e.phaseSuccess||e.wholeSuccess?l.jsx(RO,{size:16,className:"text-green-700"}):l.jsx(l.Fragment,{children:t(e.phase).length?l.jsx(G6,{children:l.jsxs(kj,{children:[l.jsx(Cj,{asChild:!0,className:"cursor-pointer",children:l.jsx(rw,{size:16,className:"text-red-700"})}),l.jsx(jj,{className:"max-w-[35em]",children:t(e.phase)})]})}):l.jsx(rw,{size:16,className:"text-red-700"})})})},Ej=({className:e,...t})=>l.jsx("nav",{role:"navigation","aria-label":"pagination",className:oe("mx-auto flex w-full justify-center",e),...t});Ej.displayName="Pagination";const Nj=v.forwardRef(({className:e,...t},n)=>l.jsx("ul",{ref:n,className:oe("flex flex-row items-center gap-1",e),...t}));Nj.displayName="PaginationContent";const ng=v.forwardRef(({className:e,...t},n)=>l.jsx("li",{ref:n,className:oe("",e),...t}));ng.displayName="PaginationItem";const Tj=({className:e,isActive:t,size:n="icon",...r})=>l.jsx("a",{"aria-current":t?"page":void 0,className:oe(Vf({variant:t?"outline":"ghost",size:n}),e),...r});Tj.displayName="PaginationLink";const Rj=({className:e,...t})=>l.jsxs("span",{"aria-hidden":!0,className:oe("flex h-9 w-9 items-center justify-center",e),...t,children:[l.jsx(AO,{className:"h-4 w-4"}),l.jsx("span",{className:"sr-only",children:"More pages"})]});Rj.displayName="PaginationEllipsis";const Pj=({totalPages:e,currentPage:t,onPageChange:n})=>{const s=()=>{if(e>7){let u=[];const d=Math.max(2,t-1),f=Math.min(e-1,t+1),h=e-1;return u=o(d,f),t>3&&u.unshift("..."),t{let d=a;const f=[];for(;d<=c;)f.push(d),d+=u;return f},i=s();return l.jsx(l.Fragment,{children:l.jsx(Ej,{className:"dark:text-stone-200 justify-end mt-3",children:l.jsx(Nj,{children:i.map((a,c)=>a==="..."?l.jsx(ng,{children:l.jsx(Rj,{})},c):l.jsx(ng,{children:l.jsx(Tj,{href:"#",isActive:t==a,onClick:u=>{u.preventDefault(),n(a)},children:a})},c))})})})},ya=({when:e,children:t,fallback:n})=>e?t:n;var Aj="AlertDialog",[Z6,TH]=on(Aj,[tC]),Us=tC(),Oj=e=>{const{__scopeAlertDialog:t,...n}=e,r=Us(t);return l.jsx(rv,{...r,...n,modal:!0})};Oj.displayName=Aj;var q6="AlertDialogTrigger",Dj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(sv,{...s,...r,ref:t})});Dj.displayName=q6;var X6="AlertDialogPortal",Ij=e=>{const{__scopeAlertDialog:t,...n}=e,r=Us(t);return l.jsx(ov,{...r,...n})};Ij.displayName=X6;var Q6="AlertDialogOverlay",Mj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Bc,{...s,...r,ref:t})});Mj.displayName=Q6;var va="AlertDialogContent",[J6,e$]=Z6(va),Lj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...s}=e,o=Us(n),i=v.useRef(null),a=Ke(t,i),c=v.useRef(null);return l.jsx(UF,{contentName:va,titleName:Fj,docsSlug:"alert-dialog",children:l.jsx(J6,{scope:n,cancelRef:c,children:l.jsxs(Wc,{role:"alertdialog",...o,...s,ref:a,onOpenAutoFocus:ue(s.onOpenAutoFocus,u=>{var d;u.preventDefault(),(d=c.current)==null||d.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault(),children:[l.jsx(Sy,{children:r}),l.jsx(n$,{contentRef:i})]})})})});Lj.displayName=va;var Fj="AlertDialogTitle",zj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Hc,{...s,...r,ref:t})});zj.displayName=Fj;var $j="AlertDialogDescription",Uj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Yc,{...s,...r,ref:t})});Uj.displayName=$j;var t$="AlertDialogAction",Vj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=Us(n);return l.jsx(Qf,{...s,...r,ref:t})});Vj.displayName=t$;var Bj="AlertDialogCancel",Wj=v.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:s}=e$(Bj,n),o=Us(n),i=Ke(t,s);return l.jsx(Qf,{...o,...r,ref:i})});Wj.displayName=Bj;var n$=({contentRef:e})=>{const t=`\`${va}\` requires a description for the component to be accessible for screen reader users.
You can add a description to the \`${va}\` by passing a \`${$j}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
diff --git a/ui/dist/index.html b/ui/dist/index.html
index 22917857..0d53c77c 100644
--- a/ui/dist/index.html
+++ b/ui/dist/index.html
@@ -5,7 +5,7 @@
Certimate - Your Trusted SSL Automation Partner
-
+
diff --git a/ui/src/domain/version.ts b/ui/src/domain/version.ts
index a9d3fa7e..7b9dabcf 100644
--- a/ui/src/domain/version.ts
+++ b/ui/src/domain/version.ts
@@ -1 +1 @@
-export const version = "Certimate v0.1.14";
+export const version = "Certimate v0.1.15";