From 0a6c05404a59179e82cdac8f435d7ebf0caca34c Mon Sep 17 00:00:00 2001 From: onysd Date: Fri, 24 Jul 2026 00:54:19 +0300 Subject: [PATCH] changed botfather avatar and fixed import --- cmd/telesrv-admin/server.go | 6 + cmd/telesrv-admin/session_test.go | 4 +- .../web/dist/assets/index-6aaLOsAb.js | 9 - .../web/dist/assets/index-CBHSiG-t.js | 10 ++ .../web/dist/assets/index-D2rrhA4q.css | 1 - .../web/dist/assets/index-cWo3_wIf.css | 1 + cmd/telesrv-admin/web/dist/index.html | 4 +- cmd/telesrv-admin/web/src/i18n.tsx | 5 + cmd/telesrv-admin/web/src/pages/GiftsPage.tsx | 160 +++++++++++++++--- .../src/styles/03-entities-and-actions.css | 9 + cmd/telesrv/main.go | 5 + internal/admin/service.go | 10 +- internal/admin/service_test.go | 51 ++++-- internal/app/files/botfather_avatar_seed.go | 54 ++++++ .../app/files/seedassets/botfather_avatar.jpg | Bin 0 -> 253558 bytes internal/domain/system.go | 26 ++- internal/seed/giftdemo/source_test.go | 13 +- internal/seed/giftdemo/specs.go | 58 +------ 18 files changed, 318 insertions(+), 108 deletions(-) delete mode 100644 cmd/telesrv-admin/web/dist/assets/index-6aaLOsAb.js create mode 100644 cmd/telesrv-admin/web/dist/assets/index-CBHSiG-t.js delete mode 100644 cmd/telesrv-admin/web/dist/assets/index-D2rrhA4q.css create mode 100644 cmd/telesrv-admin/web/dist/assets/index-cWo3_wIf.css create mode 100644 internal/app/files/botfather_avatar_seed.go create mode 100644 internal/app/files/seedassets/botfather_avatar.jpg diff --git a/cmd/telesrv-admin/server.go b/cmd/telesrv-admin/server.go index 75bcb996..0451539e 100644 --- a/cmd/telesrv-admin/server.go +++ b/cmd/telesrv-admin/server.go @@ -837,6 +837,7 @@ type importDefaultStarGiftAPIRequest struct { Reason string `json:"reason"` Confirm bool `json:"confirm"` ID int `json:"id"` + Enabled bool `json:"enabled"` } func (s *server) handleImportDefaultStarGiftAPI(w http.ResponseWriter, r *http.Request) { @@ -851,6 +852,7 @@ func (s *server) handleImportDefaultStarGiftAPI(w http.ResponseWriter, r *http.R req := admin.ImportDefaultStarGiftRequest{ CommandMeta: s.commandMetaFromAPI(r, body.CommandID, body.Reason, body.Confirm, "import-default-gift"), ID: body.ID, + Enabled: body.Enabled, } result, err := s.callAdminAPI(r.Context(), "/v1/default-gifts/import", req) writeCommandResultAPI(w, result, err) @@ -860,6 +862,7 @@ type importAllDefaultStarGiftsAPIRequest struct { CommandID string `json:"command_id"` Reason string `json:"reason"` Confirm bool `json:"confirm"` + Enabled bool `json:"enabled"` } func (s *server) handleImportAllDefaultStarGiftsAPI(w http.ResponseWriter, r *http.Request) { @@ -869,6 +872,7 @@ func (s *server) handleImportAllDefaultStarGiftsAPI(w http.ResponseWriter, r *ht } req := admin.ImportAllDefaultStarGiftsRequest{ CommandMeta: s.commandMetaFromAPI(r, body.CommandID, body.Reason, body.Confirm, "import-all-default-gifts"), + Enabled: body.Enabled, } result, err := s.callAdminAPI(r.Context(), "/v1/default-gifts/import-all", req) writeCommandResultAPI(w, result, err) @@ -915,6 +919,7 @@ type importAllOfficialStarGiftsAPIRequest struct { CommandID string `json:"command_id"` Reason string `json:"reason"` Confirm bool `json:"confirm"` + Enabled bool `json:"enabled"` } func (s *server) handleImportAllOfficialStarGiftsAPI(w http.ResponseWriter, r *http.Request) { @@ -924,6 +929,7 @@ func (s *server) handleImportAllOfficialStarGiftsAPI(w http.ResponseWriter, r *h } req := admin.ImportAllOfficialStarGiftsRequest{ CommandMeta: s.commandMetaFromAPI(r, body.CommandID, body.Reason, body.Confirm, "import-all-official-gifts"), + Enabled: body.Enabled, } result, err := s.callAdminAPI(r.Context(), "/v1/official-gifts/import-all", req) writeCommandResultAPI(w, result, err) diff --git a/cmd/telesrv-admin/session_test.go b/cmd/telesrv-admin/session_test.go index 00dbc5cf..47d9d5c1 100644 --- a/cmd/telesrv-admin/session_test.go +++ b/cmd/telesrv-admin/session_test.go @@ -110,13 +110,13 @@ func TestStarGiftRowJSONPreservesInt64AsDecimalStrings(t *testing.T) { func TestDefaultGiftImportActionDecodes(t *testing.T) { req := httptest.NewRequest(http.MethodPost, "/api/actions/import-default-gift", strings.NewReader(`{ - "command_id":"c1","reason":"demo","confirm":true,"id":3 + "command_id":"c1","reason":"demo","confirm":true,"id":3,"enabled":true }`)) var got importDefaultStarGiftAPIRequest if err := decodeJSON(req, &got); err != nil { t.Fatalf("decode default gift action: %v", err) } - if got.ID != 3 || got.CommandID != "c1" || !got.Confirm { + if got.ID != 3 || got.CommandID != "c1" || !got.Confirm || !got.Enabled { t.Fatalf("decoded default gift action = %+v", got) } } diff --git a/cmd/telesrv-admin/web/dist/assets/index-6aaLOsAb.js b/cmd/telesrv-admin/web/dist/assets/index-6aaLOsAb.js deleted file mode 100644 index 33f246d7..00000000 --- a/cmd/telesrv-admin/web/dist/assets/index-6aaLOsAb.js +++ /dev/null @@ -1,9 +0,0 @@ -var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,M(x);else{var t=n(l);t!==null&&N(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!D());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&N(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,E=-1;function D(){return!(e.unstable_now()-Ee||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,N(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,M(x))),r},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u(),n=f();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return l.call(m,e)?!0:l.call(p,e)?!1:d.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2s||i[o]!==a[s]){var c=` -`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(``)&&(c=c.replace(``,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{re=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?ne(e):``}function ae(e){switch(e.tag){case 5:return ne(e.type);case 16:return ne(`Lazy`);case 13:return ne(`Suspense`);case 19:return ne(`SuspenseList`);case 0:case 2:case 15:return e=ie(e.type,!1),e;case 11:return e=ie(e.type.render,!1),e;case 1:return e=ie(e.type,!0),e;default:return``}}function oe(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case E:return`Fragment`;case T:return`Portal`;case O:return`Profiler`;case D:return`StrictMode`;case M:return`Suspense`;case N:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case A:return(e.displayName||`Context`)+`.Consumer`;case k:return(e._context.displayName||`Context`)+`.Provider`;case j:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case P:return t=e.displayName||null,t===null?oe(e.type)||`Memo`:t;case F:t=e._payload,e=e._init;try{return oe(e(t))}catch{}}return null}function se(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return oe(t);case 8:return t===D?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function ce(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function le(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function ue(e){var t=le(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function z(e){e._valueTracker||=ue(e)}function de(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=le(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function B(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function fe(e,t){var n=t.checked;return R({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function pe(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=ce(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function me(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function he(e,t){me(e,t);var n=ce(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?_e(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&_e(e,t.type,ce(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ge(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function _e(e,t,n){(t!==`number`||B(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var ve=Array.isArray;function ye(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i`+t.valueOf().toString()+``,t=U.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Te(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ee={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},W=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Ee).forEach(function(e){W.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ee[t]=Ee[e]})});function De(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Ee.hasOwnProperty(e)&&Ee[e]?(``+t).trim():t+`px`}function Oe(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=De(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var ke=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ae(e,t){if(t){if(ke[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function je(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Me=null;function Ne(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Pe=null,Fe=null,Ie=null;function Le(e){if(e=ji(e)){if(typeof Pe!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Ni(t),Pe(e.stateNode,e.type,t))}}function Re(e){Fe?Ie?Ie.push(e):Ie=[e]:Fe=e}function ze(){if(Fe){var e=Fe,t=Ie;if(Ie=Fe=null,Le(e),t)for(e=0;e>>=0,e===0?32:31-(_t(e)/vt|0)|0}var bt=64,xt=4194304;function St(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ct(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=St(a))):r=St(s)}else o=n&~i,o===0?a!==0&&(r=St(a)):r=St(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function kt(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-gt(t),e[t]=n}function At(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Gn),Jn=` `,Yn=!1;function Xn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=mn(),pn=fn=dn=null,Qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=xr(n)}}function Cr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wr(){for(var e=window,t=B();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=B(e.document)}return t}function Tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}function Er(e){var t=wr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Cr(n.ownerDocument.documentElement,n)){if(r!==null&&Tr(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Sr(n,a);var o=Sr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n=document.documentMode,Or=null,kr=null,Ar=null,jr=!1;function Mr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jr||Or==null||Or!==B(r)||(r=Or,`selectionStart`in r&&Tr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ar&&br(Ar,r)||(Ar=r,r=ii(kr,`onSelect`),0Fi||(e.current=Pi[Fi],Pi[Fi]=null,Fi--)}function Ri(e,t){Fi++,Pi[Fi]=e.current,e.current=t}var zi={},Bi=Ii(zi),Vi=Ii(!1),Hi=zi;function Ui(e,t){var n=e.type.contextTypes;if(!n)return zi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Wi(e){return e=e.childContextTypes,e!=null}function Gi(){Li(Vi),Li(Bi)}function Ki(e,t,n){if(Bi.current!==zi)throw Error(r(168));Ri(Bi,t),Ri(Vi,n)}function qi(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,se(e)||`Unknown`,a));return R({},n,i)}function Ji(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||zi,Hi=Bi.current,Ri(Bi,e),Ri(Vi,Vi.current),!0}function Yi(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=qi(e,t,Hi),i.__reactInternalMemoizedMergedChildContext=e,Li(Vi),Li(Bi),Ri(Bi,e)):Li(Vi),Ri(Vi,n)}var Xi=null,Zi=!1,Qi=!1;function $i(e){Xi===null?Xi=[e]:Xi.push(e)}function ea(e){Zi=!0,$i(e)}function ta(){if(!Qi&&Xi!==null){Qi=!0;var e=0,t=X;try{var n=Xi;for(X=1;e>=o,i-=o,la=1<<32-gt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),_a&&da(r,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),_a&&da(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return _a&&da(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),_a&&da(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===E&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===E){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===F&&ja(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=ka(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===E?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=ka(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}else{n(e,r);break}else t(e,r);r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case F:return l=i._init,_(e,r,l(i._payload),o)}if(ve(i))return h(e,r,i,o);if(ee(i))return g(e,r,i,o);Aa(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Na=Ma(!0),Pa=Ma(!1),Fa=Ii(null),Ia=null,La=null,Ra=null;function za(){Ra=La=Ia=null}function Ba(e){var t=Fa.current;Li(Fa),e._currentValue=t}function Va(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ha(e,t){Ia=e,Ra=La=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ms=!0),e.firstContext=null)}function Ua(e){var t=e._currentValue;if(Ra!==e)if(e={context:e,memoizedValue:t,next:null},La===null){if(Ia===null)throw Error(r(308));La=e,Ia.dependencies={lanes:0,firstContext:e}}else La=La.next=e;return t}var Wa=null;function Ga(e){Wa===null?Wa=[e]:Wa.push(e)}function Ka(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ga(t)):(n.next=i.next,i.next=n),t.interleaved=n,qa(e,r)}function qa(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Ja=!1;function Ya(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Qa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qa(e,n)}return i=r.interleaved,i===null?(t.next=t,Ga(r)):(t.next=i.next,i.next=t),r.interleaved=t,qa(e,n)}function $a(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,jt(e,n)}}function eo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function to(e,t,n,r){var i=e.updateQueue;Ja=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=R({},d,f);break a;case 2:Ja=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jc|=o,e.lanes=o,e.memoizedState=d}}function no(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=vo.transition;vo.transition={};try{e(!1),t()}finally{X=n,vo.transition=r}}function as(){return Mo().memoizedState}function os(e,t,n){var r=pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},cs(e))ls(t,n);else if(n=Ka(e,t,n,r),n!==null){var i=fl();ml(n,e,r,i),us(n,t,r)}}function ss(e,t,n){var r=pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(cs(e))ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Z(s,o)){var c=t.interleaved;c===null?(i.next=i,Ga(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Ka(e,t,i,r),n!==null&&(i=fl(),ml(n,e,r,i),us(n,t,r))}}function cs(e){var t=e.alternate;return e===bo||t!==null&&t===bo}function ls(e,t){wo=Co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function us(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,jt(e,n)}}var ds={readContext:Ua,useCallback:Do,useContext:Do,useEffect:Do,useImperativeHandle:Do,useInsertionEffect:Do,useLayoutEffect:Do,useMemo:Do,useReducer:Do,useRef:Do,useState:Do,useDebugValue:Do,useDeferredValue:Do,useTransition:Do,useMutableSource:Do,useSyncExternalStore:Do,useId:Do,unstable_isNewReconciler:!1},fs={readContext:Ua,useCallback:function(e,t){return jo().memoizedState=[e,t===void 0?null:t],e},useContext:Ua,useEffect:Jo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Ko(4194308,4,Qo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var n=jo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=jo();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=os.bind(null,bo,e),[r.memoizedState,e]},useRef:function(e){var t=jo();return e={current:e},t.memoizedState=e},useState:Uo,useDebugValue:es,useDeferredValue:function(e){return jo().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=is.bind(null,e[1]),jo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=bo,a=jo();if(_a){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Vc===null)throw Error(r(349));yo&30||Ro(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Jo(Bo.bind(null,i,o,e),[e]),i.flags|=2048,Wo(9,zo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=jo(),t=Vc.identifierPrefix;if(_a){var n=ua,r=la;n=(r&~(1<<32-gt(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=To++,0<\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[wi]=t,e[Ti]=i,nc(e,t,!1,!1),t.stateNode=e;a:{switch(c=je(n,i),n){case`dialog`:Zr(`cancel`,e),Zr(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:Zr(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;oel&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304)}else{if(!i)if(e=mo(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ac(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!_a)return oc(t),null}else 2*ot()-s.renderingStartTime>el&&n!==1073741824&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(oc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=ot(),t.sibling=null,n=po.current,Ri(po,i?n&1|2:n&1),t);case 22:case 23:return wl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Wc&1073741824&&(oc(t),t.subtreeFlags&6&&(t.flags|=8192)):oc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function cc(e,t){switch(ma(t),t.tag){case 1:return Wi(t.type)&&Gi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return lo(),Li(Vi),Li(Bi),go(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return fo(t),null;case 13:if(Li(po),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Ea()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Li(po),null;case 4:return lo(),null;case 10:return Ba(t.type._context),null;case 22:case 23:return wl(),null;case 24:return null;default:return null}}var lc=!1,uc=!1,dc=typeof WeakSet==`function`?WeakSet:Set,Q=null;function fc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){Rl(e,t,n)}else n.current=null}function pc(e,t,n){try{n()}catch(n){Rl(e,t,n)}}var mc=!1;function hc(e,t){if(fi=rn,e=wr(),Tr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(pi={focusedElem:e,selectionRange:n},rn=!1,Q=t;Q!==null;)if(t=Q,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:hs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){Rl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return h=mc,mc=!1,h}function gc(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&pc(t,n,a)}i=i.next}while(i!==r)}}function _c(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function vc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function yc(e){var t=e.alternate;t!==null&&(e.alternate=null,yc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[wi],delete t[Ti],delete t[Di],delete t[Oi],delete t[ki])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bc(e){return e.tag===5||e.tag===3||e.tag===4}function xc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||bc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=di));else if(r!==4&&(e=e.child,e!==null))for(Sc(e,t,n),e=e.sibling;e!==null;)Sc(e,t,n),e=e.sibling}function Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}var wc=null,Tc=!1;function Ec(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(mt&&typeof mt.onCommitFiberUnmount==`function`)try{mt.onCommitFiberUnmount(pt,n)}catch{}switch(n.tag){case 5:uc||fc(n,t);case 6:var r=wc,i=Tc;wc=null,Ec(e,t,n),wc=r,Tc=i,wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):wc.removeChild(n.stateNode));break;case 18:wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?bi(e.parentNode,n):e.nodeType===1&&bi(e,n),tn(e)):bi(wc,n.stateNode));break;case 4:r=wc,i=Tc,wc=n.stateNode.containerInfo,Tc=!0,Ec(e,t,n),wc=r,Tc=i;break;case 0:case 11:case 14:case 15:if(!uc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&pc(n,t,o),i=i.next}while(i!==r)}Ec(e,t,n);break;case 1:if(!uc&&(fc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Rl(n,t,e)}Ec(e,t,n);break;case 21:Ec(e,t,n);break;case 22:n.mode&1?(uc=(r=uc)||n.memoizedState!==null,Ec(e,t,n),uc=r):Ec(e,t,n);break;default:Ec(e,t,n)}}function Oc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new dc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function kc(e,t){var n=t.deletions;if(n!==null)for(var i=0;ia&&(a=s),i&=~o}if(i=a,i=ot()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Lc(i/1960))-i,10e?16:e,ol===null)var i=!1;else{if(e=ol,ol=null,sl=0,$&6)throw Error(r(331));var a=$;for($|=4,Q=e.current;Q!==null;){var o=Q,s=o.child;if(Q.flags&16){var c=o.deletions;if(c!==null){for(var l=0;lot()-$c?Tl(e,0):Xc|=n),hl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=xt,xt<<=1,!(xt&130023424)&&(xt=4194304)):t=1);var n=fl();e=qa(e,t),e!==null&&(kt(e,t,n),hl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Vi.current)Ms=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ms=!1,tc(e,t,n);Ms=!!(e.flags&131072)}else Ms=!1,_a&&t.flags&1048576&&fa(t,aa,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;$s(e,t),e=t.pendingProps;var a=Ui(t,Bi.current);Ha(t,n),a=ko(null,t,i,e,a,n);var o=Ao();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Wi(i)?(o=!0,Ji(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Ya(t),a.updater=_s,t.stateNode=a,a._reactInternals=t,xs(t,i,e,n),t=Vs(null,t,i,!0,o,n)):(t.tag=0,_a&&o&&pa(t),Ns(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch($s(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Jl(i),e=hs(i,e),a){case 0:t=zs(null,t,i,e,n);break a;case 1:t=Bs(null,t,i,e,n);break a;case 11:t=Ps(null,t,i,e,n);break a;case 14:t=Fs(null,t,i,hs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),zs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Bs(e,t,i,a,n);case 3:a:{if(Hs(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,Xa(e,t),to(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Ss(Error(r(423)),t),t=Us(e,t,i,n,a);break a}else if(i!==a){a=Ss(Error(r(424)),t),t=Us(e,t,i,n,a);break a}else for(ga=xi(t.stateNode.containerInfo.firstChild),ha=t,_a=!0,va=null,n=Pa(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ea(),i===a){t=ec(e,t,n);break a}Ns(e,t,i,n)}t=t.child}return t;case 5:return uo(t),e===null&&Sa(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,mi(i,a)?s=null:o!==null&&mi(i,o)&&(t.flags|=32),Rs(e,t),Ns(e,t,s,n),t.child;case 6:return e===null&&Sa(t),null;case 13:return Ks(e,t,n);case 4:return co(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Na(t,null,i,n):Ns(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Ps(e,t,i,a,n);case 7:return Ns(e,t,t.pendingProps,n),t.child;case 8:return Ns(e,t,t.pendingProps.children,n),t.child;case 12:return Ns(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Ri(Fa,i._currentValue),i._currentValue=s,o!==null)if(Z(o.value,s)){if(o.children===a.children&&!Vi.current){t=ec(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=Za(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Va(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Va(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ns(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ha(t,n),a=Ua(a),i=i(a),t.flags|=1,Ns(e,t,i,n),t.child;case 14:return i=t.type,a=hs(i,t.pendingProps),a=hs(i.type,a),Fs(e,t,i,a,n);case 15:return Is(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),$s(e,t),t.tag=1,Wi(i)?(e=!0,Ji(t)):e=!1,Ha(t,n),ys(t,i,a),xs(t,i,a,n),Vs(null,t,i,!0,e,n);case 19:return Qs(e,t,n);case 22:return Ls(e,t,n)}throw Error(r(156,t.tag))};function Wl(e,t){return nt(e,t)}function Gl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===j)return 11;if(e===P)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return Zl(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=Kl(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case M:return e=Kl(13,n,t,a),e.elementType=M,e.lanes=o,e;case N:return e=Kl(19,n,t,a),e.elementType=N,e.lanes=o,e;case I:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case j:s=11;break a;case P:s=14;break a;case F:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ot(0),this.expirationTimes=Ot(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ot(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ya(a),e}function ru(e,t,n){var r=3{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=m();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),g=c(u()),_=c(h(),1),v=class extends Error{status;constructor(e,t){super(t),this.status=e}};async function y(e,t={}){let n=typeof FormData<`u`&&t.body instanceof FormData,r=await fetch(e,{credentials:`same-origin`,headers:n?t.headers:{"Content-Type":`application/json`,...t.headers??{}},...t}),i=await r.text(),a=i?JSON.parse(i):null;if(!r.ok){let e=a?.error||a?.Error||a?.message||r.statusText;throw new v(r.status,e)}return a}function b(e){return e instanceof Error?e.message:String(e)}var x={session:()=>y(`/api/session`),login:e=>y(`/api/login`,{method:`POST`,body:JSON.stringify({secret:e})}),logout:()=>y(`/api/logout`,{method:`POST`,body:`{}`}),accounts:e=>y(`/api/accounts?${e.toString()}`),account:e=>y(`/api/accounts/${e}`),channels:e=>y(`/api/channels?${e.toString()}`),channel:e=>y(`/api/channels/${e}`),messages:e=>y(`/api/messages?${e.toString()}`),message:(e,t)=>y(`/api/messages/detail?${new URLSearchParams({owner_user_id:String(e),msg_id:String(t)}).toString()}`),groupMessages:e=>y(`/api/messages/groups?${e.toString()}`),groupMessage:(e,t)=>y(`/api/messages/groups/detail?${new URLSearchParams({channel_id:String(e),msg_id:String(t)}).toString()}`),gifts:()=>y(`/api/gifts`),stickerSets:e=>y(`/api/stickers?kind=${encodeURIComponent(e)}`),stickerSetDocuments:e=>y(`/api/stickers/${encodeURIComponent(e)}/documents`),stickerDocumentAnimationURL:e=>`/api/stickers/documents/${encodeURIComponent(e)}/animation`,createStickerSet:e=>y(`/api/actions/create-sticker-set`,{method:`POST`,body:e}),addStickerToSet:e=>y(`/api/actions/add-sticker-to-set`,{method:`POST`,body:e}),defaultGifts:()=>y(`/api/default-gifts`),defaultGiftAnimation:e=>y(`/api/default-gifts/${e}/animation`),officialGifts:()=>y(`/api/official-gifts`),officialGiftAnimation:e=>y(`/api/official-gifts/${encodeURIComponent(e)}/animation`),giftAnimation:e=>y(`/api/gifts/${encodeURIComponent(e)}/animation`),giftCollectibles:e=>y(`/api/gifts/${encodeURIComponent(e)}/collectibles`),giftCollectibleAnimation:(e,t,n)=>y(`/api/gifts/${encodeURIComponent(e)}/collectibles/${t}/${encodeURIComponent(n)}/animation`),importGift:e=>y(`/api/actions/import-gift`,{method:`POST`,body:e}),importDefaultGift:e=>y(`/api/actions/import-default-gift`,{method:`POST`,body:JSON.stringify(e)}),importOfficialGift:e=>y(`/api/actions/import-official-gift`,{method:`POST`,body:JSON.stringify(e)}),publishGiftCollectibles:(e,t)=>y(`/api/actions/publish-gift-collectibles?gift_id=${encodeURIComponent(e)}`,{method:`POST`,body:t}),action:(e,t)=>y(e,{method:`POST`,body:JSON.stringify(t)})},S=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),C=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),w={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},T=(0,g.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,g.createElement)(`svg`,{ref:c,...w,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:C(`lucide`,i),...s},[...o.map(([e,t])=>(0,g.createElement)(e,t)),...Array.isArray(a)?a:[a]])),E=(e,t)=>{let n=(0,g.forwardRef)(({className:n,...r},i)=>(0,g.createElement)(T,{ref:i,iconNode:t,className:C(`lucide-${S(e)}`,n),...r}));return n.displayName=`${e}`,n},D=E(`BadgeCheck`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),O=E(`CircleAlert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),k=E(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),A=E(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),j=E(`Sparkles`,[[`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`,key:`4pj2yx`}],[`path`,{d:`M20 3v4`,key:`1olli1`}],[`path`,{d:`M22 5h-4`,key:`1gvqau`}],[`path`,{d:`M4 17v2`,key:`vumght`}],[`path`,{d:`M5 18H3`,key:`zchphs`}]]),M=E(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),N=E(`Cable`,[[`path`,{d:`M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1`,key:`10bnsj`}],[`path`,{d:`M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9`,key:`1eqmu1`}],[`path`,{d:`M21 21v-2h-4`,key:`14zm7j`}],[`path`,{d:`M3 5h4V3`,key:`z442eg`}],[`path`,{d:`M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3`,key:`ebdjd7`}]]),P=E(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),F=E(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),I=E(`ChevronLeft`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),L=E(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ee=E(`Clock3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16.5 12`,key:`1aq6pp`}]]),R=E(`Database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),te=E(`Eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ne=E(`FileJson2`,[[`path`,{d:`M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4`,key:`1pf5j1`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`fq0c9t`}],[`path`,{d:`M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`4gibmv`}]]),re=E(`FileJson`,[[`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 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),ie=E(`Gem`,[[`path`,{d:`M6 3h12l4 6-10 13L2 9Z`,key:`1pcd5k`}],[`path`,{d:`M11 3 8 9l4 13 4-13-3-6`,key:`1fcu3u`}],[`path`,{d:`M2 9h20`,key:`16fsjt`}]]),ae=E(`Gift`,[[`rect`,{x:`3`,y:`8`,width:`18`,height:`4`,rx:`1`,key:`bkv52`}],[`path`,{d:`M12 8v13`,key:`1c76mn`}],[`path`,{d:`M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7`,key:`6wjy6b`}],[`path`,{d:`M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5`,key:`1ihvrl`}]]),oe=E(`History`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),se=E(`ImageOff`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),ce=E(`KeyRound`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),le=E(`LayoutDashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),ue=E(`LogOut`,[[`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`}]]),z=E(`MessageSquareText`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}],[`path`,{d:`M13 8H7`,key:`14i4kc`}],[`path`,{d:`M17 12H7`,key:`16if0g`}]]),de=E(`Pause`,[[`rect`,{x:`14`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`zuxfzm`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`1okwgv`}]]),B=E(`Play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),fe=E(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),pe=E(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),me=E(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),he=E(`Server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),ge=E(`ShieldCheck`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),_e=E(`Shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),ve=E(`Smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),ye=E(`Star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),be=E(`Sticker`,[[`path`,{d:`M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z`,key:`1wis1t`}],[`path`,{d:`M14 3v4a2 2 0 0 0 2 2h4`,key:`36rjfy`}],[`path`,{d:`M8 13h.01`,key:`1sbv64`}],[`path`,{d:`M16 13h.01`,key:`wip0gl`}],[`path`,{d:`M10 16s.8 1 2 1c1.3 0 2-1 2-1`,key:`1vvgv3`}]]),V=E(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),H=E(`Upload`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),xe=E(`Users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`path`,{d:`M16 3.13a4 4 0 0 1 0 7.75`,key:`1da9ce`}]]),Se=E(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Ce=o((e=>{var t=u(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),U=o(((e,t)=>{t.exports=Ce()}))(),we={"app.adminConsole":`Admin Console`,"app.localAccess":`Local access`,"app.title":`OwpenGram Admin`,"common.actions":`Actions`,"common.admins":`Admins`,"common.backToList":`Back to list`,"common.channel":`Channel`,"common.channelOrGroup":`Channel / Group`,"common.clear":`Clear`,"common.close":`Close`,"common.count":`Count`,"common.deleted":`Deleted`,"common.detail":`Details`,"common.device":`Device`,"common.disabled":`Disabled`,"common.enabled":`Enabled`,"common.fromPeer":`From Peer`,"common.group":`Group`,"common.id":`ID`,"common.limit":`Limit`,"common.loading":`Loading`,"common.member":`Member`,"common.members":`Members`,"common.messageId":`Message ID`,"common.name":`Name`,"common.no":`No`,"common.noResults":`No results`,"common.none":`None`,"common.normal":`Normal`,"common.operations":`Operations`,"common.owner":`Owner`,"common.platform":`Platform`,"common.refresh":`Refresh`,"common.search":`Search`,"common.sender":`Sender`,"common.status":`Status`,"common.survived":`Live`,"common.time":`Time`,"common.type":`Type`,"common.updatedAt":`Updated`,"common.username":`Username`,"common.valid":`Valid`,"common.verified":`Verified`,"common.views":`Views`,"common.yes":`Yes`,"route.accounts":`Accounts`,"route.accountsSubtitle":`Console / Accounts`,"route.channels":`Supergroups and Channels`,"route.channelsSubtitle":`Console / Channels`,"route.dashboard":`Operations Console`,"route.dashboardSubtitle":`Console / Overview`,"route.messages":`Message Audit`,"route.messagesSubtitle":`Console / Messages`,"route.gifts":`Star Gifts`,"route.giftsSubtitle":`Console / Star Gifts`,"route.stickers":`Stickers`,"route.stickersSubtitle":`Console / Stickers`,"route.emoji":`Emoji`,"route.emojiSubtitle":`Console / Emoji`,"layout.navigation":`Navigation`,"layout.primaryNav":`Primary navigation`,"layout.dashboard":`Overview`,"layout.accounts":`Accounts`,"layout.channels":`Supergroups / Channels`,"layout.messages":`Messages`,"layout.gifts":`Star Gifts`,"layout.stickers":`Stickers`,"layout.emoji":`Emoji`,"layout.privateMessages":`Private`,"layout.groupMessages":`Groups`,"layout.runtime":`Runtime`,"layout.adminBackend":`Admin backend`,"layout.ready":`Ready`,"layout.pgRead":`PG read`,"layout.readOnly":`Read-only`,"layout.writeOps":`Write operations`,"layout.dryRun":`Dry-run`,"layout.actor":`Actor: {actor}`,"layout.logout":`Log out`,"login.heading":`Operations Admin`,"login.body":`Enter credentials to open the console.`,"login.secret":`Admin password or token`,"login.submit":`Log in`,"login.submitting":`Logging in`,"dashboard.eyebrow":`Runtime Overview`,"dashboard.title":`Console Overview`,"dashboard.readPath":`Read path`,"dashboard.readPathValue":`PG read-only`,"dashboard.writePath":`Write path`,"dashboard.executionPolicy":`Execution policy`,"dashboard.dryRunFirst":`Dry-run first`,"dashboard.accountsText":`Account status, premium, verification, sessions.`,"dashboard.channelsText":`Public entities, member counts, verification state.`,"dashboard.messagesText":`Message boxes, updates, outbox state.`,"dashboard.strip.dryRun":`All dangerous actions start with dry-run`,"dashboard.strip.token":`Browser never stores internal tokens`,"dashboard.strip.pagination":`Lists use cursor pagination`,"dashboard.strip.snapshot":`Detail pages retain raw state snapshots`,"account.pageTitle":`Accounts`,"account.queryResults":`Search results`,"account.recentActive":`Recently active accounts`,"account.currentPage":`Accounts on page`,"account.onlineDevices":`Online device records`,"account.premium":`Premium`,"account.frozen":`Frozen`,"account.searchPlaceholder":`User ID / phone / username`,"account.userID":`User ID`,"account.phone":`Phone`,"account.loginEmail":`Login email`,"account.lastActive":`Last active`,"account.notVerified":`Not verified`,"account.notPremium":`Not premium`,"account.premiumUntil":`Premium expires`,"account.starsBalance":`Stars balance`,"account.startingGrantApplied":`initial grant applied`,"account.startingGrantPending":`initial grant pending`,"account.activeSessions":`Authorized devices`,"account.accountFlags":`Account flags`,"account.restriction":`Restriction`,"account.restricted":`Restricted`,"account.createdAt":`Created`,"account.detailTitle":`Account #{id}`,"account.profile":`Account Profile`,"account.loadingDetail":`Loading account detail`,"account.waitingData":`Waiting for data`,"account.noUsername":`No username`,"account.noPhone":`No phone`,"account.accountFrozen":`Account frozen`,"account.accountActive":`Account active`,"account.authorizationsTitle":`Authorized Devices`,"account.authorizationsCount":`{count} authorizations`,"account.recentAdminOps":`Recent Admin Actions`,"account.recent30Audit":`Last 30 audit rows`,"account.actionDock":`Account Actions`,"account.freezeAccount":`Freeze account`,"account.updateFreeze":`Update freeze`,"account.unfreezeAccount":`Unfreeze account`,"account.freezeSince":`Frozen since`,"account.freezeUntil":`Appeal deadline`,"account.freezeUntilAria":`Freeze appeal deadline`,"account.freezeAppealURL":`Appeal URL`,"account.freezeAppealURLAria":`Freeze appeal URL`,"account.premiumMonths":`Premium duration (months)`,"account.premiumMonthsAria":`Set premium duration in months`,"account.setPremium":`Set premium`,"account.clearPremium":`Clear premium`,"account.starsAmount":`Stars to grant`,"account.starsAmountAria":`Set Stars amount to grant`,"account.grantStars":`Grant Stars`,"account.setVerified":`Set verified`,"account.clearVerified":`Clear verified`,"channel.pageTitle":`Supergroups and Channels`,"channel.recentUpdated":`Recently updated`,"channel.currentPage":`Entities on page`,"channel.megagroups":`Supergroups`,"channel.broadcasts":`Channels`,"channel.verifiedCount":`Verified`,"channel.searchPlaceholder":`Channel ID / username / title`,"channel.channelID":`Channel ID`,"channel.kind":`Kind`,"channel.title":`Title`,"channel.pts":`PTS`,"channel.detailProfile":`Channel Profile`,"channel.loadingDetail":`Loading channel detail`,"channel.creator":`Creator {id}`,"channel.governance":`Moderation`,"channel.governanceValue":`Banned {banned} / Kicked {kicked}`,"channel.flags":`Channel flags`,"channel.rawRow":`Channel Raw Row`,"channel.rawRowText":`Database read-only snapshot`,"channel.actionDock":`Channel Actions`,"channel.setVerified":`Set verified`,"channel.clearVerified":`Clear verified`,"channel.kind.broadcast":`Channel`,"channel.kind.forum":`Supergroup / Forum`,"channel.kind.megagroup":`Supergroup`,"channel.kind.generic":`Channel / Group`,"messages.privateTitle":`Private Messages`,"messages.privateEyebrow":`Private message boxes`,"messages.groupTitle":`Group Messages`,"messages.groupEyebrow":`Supergroup / channel messages`,"messages.selectPrivatePeers":`Search and select the owner user and peer user first`,"messages.selectChannel":`Search and select a supergroup or channel first`,"messages.ownerUser":`Owner user`,"messages.peerUser":`Peer user`,"messages.beforeDatePlaceholder":`before_date cursor`,"messages.beforeIDPlaceholder":`before_msg_id cursor`,"messages.limitPlaceholder":`limit <= 100`,"messages.searchMessages":`Search messages`,"messages.nextPage":`Next page`,"messages.currentPage":`Messages on page`,"messages.deleted":`Deleted`,"messages.outgoing":`Outgoing`,"messages.incoming":`Incoming`,"messages.ownerPeer":`Owner / Peer`,"messages.deleteSelected":`Delete selected messages`,"messages.idsPlaceholder":`Message IDs, comma separated`,"messages.revoke":`Revoke for both sides`,"messages.previewDelete":`Dry-run delete`,"messages.clearHistory":`Clear private history`,"messages.maxIDPlaceholder":`max_id cutoff`,"messages.maxBatchesPlaceholder":`max_batches`,"messages.justClear":`Clear only this side`,"messages.previewClearHistory":`Dry-run clear history`,"messages.direction":`Direction`,"messages.body":`Body`,"messages.privateDetailTitle":`Message #{id}`,"messages.detailEyebrow":`Message Detail`,"messages.backPrivate":`Back to private messages`,"messages.backGroup":`Back to group messages`,"messages.ownerPeerTitle":`Owner {owner} · Peer {peer}`,"messages.senderSubtitle":`Sender {sender} · {date}`,"messages.boxID":`Message box ID`,"messages.privateMessageID":`Private message ID`,"messages.messageSender":`Message sender`,"messages.messageBox":`Message Box`,"messages.dialogRow":`Dialog Row`,"messages.privateRow":`Private Message Row`,"messages.channelMessageRow":`Channel Message Row`,"messages.channelRow":`Channel Row`,"messages.userUpdateEvents":`Update Events`,"messages.channelUpdateEvents":`Channel Update Events`,"messages.eventJson":`Event JSON`,"messages.dispatchOutbox":`Dispatch Queue`,"messages.messageBoxesSnapshot":`message_boxes read-only snapshot`,"messages.dialogSnapshot":`dialogs read-only snapshot`,"messages.privateSnapshot":`private_messages read-only snapshot`,"messages.channelMessagesSnapshot":`channel_messages read-only snapshot`,"messages.channelSnapshot":`channels read-only snapshot`,"messages.userEventsSource":`durable user_update_events`,"messages.channelEventsSource":`durable channel_update_events`,"messages.outboxSource":`online/offline dispatch_outbox`,"messages.attempts":`Attempts`,"messages.deleteThis":`Delete this message`,"messages.groupDetailTitle":`Group Message #{id}`,"messages.channelGroupTitle":`Channel / Group {id}`,"messages.mediaCount":`With media`,"messages.channelPosts":`Channel posts`,"messages.channelGroup":`Channel / Group`,"messages.pinned":`Pinned`,"messages.channelPost":`Channel post`,"gifts.pageTitle":`Star Gift Catalog`,"gifts.eyebrow":`Catalog, immutable revisions and animation assets`,"gifts.total":`Catalog entries`,"gifts.enabled":`Enabled`,"gifts.received":`Received gifts`,"gifts.formats":`Accepted formats`,"gifts.add":`Add gift`,"gifts.importAllDefault":`Import all default gifts`,"gifts.defaultSource":`Default gifts`,"gifts.defaultHint":`Import our built-in original OwpenGram gifts. Complete collectible pools (upgrade + craft) are imported atomically.`,"gifts.defaultSelect":`Choose a default gift`,"gifts.defaultRequired":`Choose a default gift first`,"gifts.defaultEmpty":`No default gifts are available.`,"gifts.importAllOfficial":`Import all official gifts`,"gifts.officialSource":`Official snapshot`,"gifts.officialHint":`Choose a verified gift from data/official-gifts. Complete collectible pools are imported atomically.`,"gifts.officialSearch":`Search official gift ID or title`,"gifts.officialSelect":`Choose an official gift`,"gifts.officialRequired":`Choose an official gift first`,"gifts.officialResults":`Showing {shown} of {total}`,"gifts.officialCategoryLabel":`Official gift capability category`,"gifts.officialCategory.all":`All`,"gifts.officialCategory.upgrade":`Upgradable`,"gifts.officialCategory.craft":`Craftable`,"gifts.officialCategory.basic":`Not upgradable`,"gifts.officialUnnamed":`Unnamed official gift #{id}`,"gifts.officialEmpty":`No official gifts match this category and search.`,"gifts.includeCollectible":`Import the complete collectible pool, including crafted models`,"gifts.limited":`Limited · {total}`,"gifts.premium":`Premium only`,"gifts.searchPlaceholder":`Search gift ID, title or format`,"gifts.listSummary":`Showing {shown} of {total}`,"gifts.idRevision":`ID / Revision`,"gifts.price":`Price / Conversion`,"gifts.importTitle":`Import a Star Gift`,"gifts.importEyebrow":`Gift catalog operation`,"gifts.newRevision":`Create revision for gift #{id}`,"gifts.importHint":`Upload TGS or plain Lottie JSON. Lottie is normalized and compressed to TGS.`,"gifts.fileSource":`Upload file`,"gifts.officialAttributes":`{count} attributes`,"gifts.canUpgrade":`Can upgrade`,"gifts.cannotUpgrade":`Cannot upgrade`,"gifts.canCraft":`Can Craft`,"gifts.cannotCraft":`Cannot Craft`,"gifts.animation":`Animation file`,"gifts.filePrompt":`Drop or choose a TGS / Lottie file`,"gifts.fileHint":`TGS, JSON or Lottie · validated before import`,"gifts.chooseFile":`Choose file`,"gifts.changeFile":`Change file`,"gifts.title":`Display title`,"gifts.titlePlaceholder":`e.g. Celebration Star`,"gifts.stars":`Price in Stars`,"gifts.convertStars":`Conversion Stars`,"gifts.sortOrder":`Sort order`,"gifts.reason":`Audit reason`,"gifts.reasonPlaceholder":`Briefly describe why this gift is being imported`,"gifts.enableAfterImport":`Enable after import`,"gifts.validate":`Dry-run validation`,"gifts.confirmImport":`Confirm import`,"gifts.stepDetails":`File and details`,"gifts.stepValidate":`Dry-run validation`,"gifts.stepImport":`Confirm import`,"gifts.fileRequired":`Choose a TGS or Lottie file first`,"gifts.source":`Source`,"gifts.replace":`New revision`,"gifts.disable":`Disable`,"gifts.enable":`Enable`,"gifts.bulkSelected":`{count} selected`,"gifts.bulkSelectAll":`Select all visible gifts`,"gifts.bulkSelectOne":`Select gift {id}`,"gifts.bulkEnable":`Enable selected`,"gifts.bulkDisable":`Disable selected`,"gifts.bulkStatusFailed":`{failed} of {total} failed`,"gifts.perPage":`Per page`,"gifts.perPageAll":`All`,"gifts.pageRange":`Showing {start}-{end} of {total}`,"gifts.pagePrev":`Previous`,"gifts.pageNext":`Next`,"gifts.pageOf":`Page {page} of {total}`,"gifts.empty":`No Star Gifts have been imported.`,"gifts.emptyHint":`Import the first animation above to build the gift catalog.`,"gifts.validationReady":`Validation passed`,"gifts.validationHint":`Review the normalized metadata, then confirm the import.`,"gifts.confirmState":`Apply the validated state change to gift #{id}?`,"stickers.pageTitle":`Stickers`,"stickers.eyebrow":`Sticker packs — system packs (dice, animated emoji, gifts) aren't shown here, they're not hand-edited`,"stickers.emojiPageTitle":`Emoji`,"stickers.emojiEyebrow":`Custom-emoji packs — system packs aren't shown here, they're not hand-edited`,"stickers.total":`Total sets`,"stickers.searchPlaceholder":`Search set ID, short name or title`,"stickers.listSummary":`Showing {shown} of {total}`,"stickers.logo":`Logo`,"stickers.id":`ID`,"stickers.shortName":`Short name`,"stickers.title":`Title`,"stickers.count":`Documents`,"stickers.official":`Official`,"stickers.archived":`Archived`,"stickers.sortOrder":`Sort order`,"stickers.createdAt":`Created`,"stickers.archive":`Archive`,"stickers.unarchive":`Unarchive`,"stickers.saveOrder":`Save`,"stickers.saveTitle":`Save`,"stickers.delete":`Delete`,"stickers.view":`View`,"stickers.previewEyebrow":`Set contents`,"stickers.previewEmpty":`This set has no documents.`,"stickers.create":`Create {noun} pack`,"stickers.createTitle":`Create a new {noun} pack`,"stickers.createEyebrow":`New set`,"stickers.createFieldsRequired":`Title, short name, emoji and a first {noun} file are required.`,"stickers.shortNamePlaceholder":`lowercase_short_name`,"stickers.firstSticker":`First {noun}`,"stickers.filePrompt":`Choose a TGS, Lottie JSON, or WebP file`,"stickers.emoji":`Emoji`,"stickers.emojiPlaceholder":`e.g. 😀`,"stickers.emojiRequired":`An emoji is required.`,"stickers.addSticker":`Add {noun}`,"stickers.fileRequired":`Choose a {noun} file first`,"stickers.removeSticker":`Remove`,"collectibles.manage":`Attribute pool`,"collectibles.title":`Collectible pool · Gift #{id}`,"collectibles.eyebrow":`Unique gift attributes`,"collectibles.activeRevision":`Published revision {revision}`,"collectibles.published":`Published`,"collectibles.noPool":`No collectible pool published`,"collectibles.noPoolHint":`Publish models, patterns and backdrops to enable upgrades.`,"collectibles.publishNew":`Publish a new immutable revision`,"collectibles.immutableHint":`Dry-run checks every file and rarity total before the revision becomes active.`,"collectibles.upgradeStars":`Upgrade price in Stars`,"collectibles.supply":`Unique supply`,"collectibles.slug":`Public slug prefix`,"collectibles.models":`Models`,"collectibles.patterns":`Patterns`,"collectibles.backdrops":`Backdrops`,"collectibles.model":`Model`,"collectibles.pattern":`Pattern`,"collectibles.backdrop":`Backdrop`,"collectibles.rarity":`Rarity ‰`,"collectibles.rarityHint":`Permille values are relative regular-upgrade weights; their total does not need to equal 1000.`,"collectibles.colorHint":`Colors are stored as 24-bit RGB values.`,"collectibles.addAttribute":`Add`,"collectibles.remove":`Remove attribute`,"collectibles.fileRequired":`Every model and pattern needs a TGS or Lottie file.`,"collectibles.backdropID":`Backdrop ID`,"collectibles.color.center":`Center`,"collectibles.color.edge":`Edge`,"collectibles.color.pattern":`Pattern`,"collectibles.color.text":`Text`,"collectibles.validationReady":`Attribute pool is valid`,"collectibles.validationHint":`Review the normalized assets, then publish this immutable revision.`,"collectibles.publish":`Publish revision`,"messages.msgIDsInvalid":`Message IDs are invalid`,"auth.device":`Device`,"auth.platform":`Platform`,"auth.ip":`IP`,"auth.lastActive":`Last active`,"auth.revokeCurrent":`Revoke current`,"auth.keepCurrent":`Keep current`,"auth.revokeAll":`Revoke all devices`,"picker.userPlaceholder":`Search user_id / phone / username`,"picker.channelPlaceholder":`Search channel_id / username / title`,"picker.verified":`Verified`,"picker.regular":`Regular`,"action.reasonRequired":`Please enter an operation reason`,"action.flow":`Action Flow`,"action.close":`Close`,"action.stepReason":`Enter reason`,"action.stepDryRun":`Dry-run check`,"action.stepConfirm":`Confirm execution`,"action.reason":`Operation reason`,"action.reasonPlaceholder":`Describe why this operation is being performed`,"action.requestPreview":`Request preview`,"action.result":`Action result`,"action.commandID":`Command ID`,"action.status":`Status`,"action.dryRun":`Dry-run`,"action.runAgain":`Run dry-run again`,"action.runDry":`Run dry-run first`,"action.confirm":`Confirm execution`,"audit.id":`ID`,"audit.commandID":`Command ID`,"audit.action":`Action`,"audit.actor":`Actor`,"audit.status":`Status`,"audit.dryRun":`Dry-run`,"audit.reason":`Reason`,"audit.time":`Time`},Te=(0,g.createContext)(null);function Ee({children:e}){(0,g.useEffect)(()=>{document.documentElement.lang=`en`,document.documentElement.dir=`ltr`,document.documentElement.setAttribute(`translate`,`no`),document.body.classList.add(`notranslate`),document.title=De(`app.title`)},[]);let t=(0,g.useMemo)(()=>({t:(e,t)=>De(e,t)}),[]);return(0,U.jsx)(Te.Provider,{value:t,children:e})}function W(){let e=(0,g.useContext)(Te);if(!e)throw Error(`useI18n must be used inside I18nProvider`);return e}function De(e,t){let n=we[e]??e;return t?n.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??``)):n}function Oe(){return{href:`${window.location.pathname}${window.location.search}`,path:window.location.pathname,search:new URLSearchParams(window.location.search)}}function ke(e,t){return e.startsWith(`/accounts`)?t(`route.accounts`):e.startsWith(`/channels`)?t(`route.channels`):e.startsWith(`/messages`)?t(`route.messages`):e.startsWith(`/gifts`)?t(`route.gifts`):e.startsWith(`/stickers`)?t(`route.stickers`):e.startsWith(`/emoji`)?t(`route.emoji`):t(`route.dashboard`)}function Ae(e,t){return e.startsWith(`/accounts`)?t(`route.accountsSubtitle`):e.startsWith(`/channels`)?t(`route.channelsSubtitle`):e.startsWith(`/messages`)?t(`route.messagesSubtitle`):e.startsWith(`/gifts`)?t(`route.giftsSubtitle`):e.startsWith(`/stickers`)?t(`route.stickersSubtitle`):e.startsWith(`/emoji`)?t(`route.emojiSubtitle`):t(`route.dashboardSubtitle`)}function je({href:e,navigate:t,className:n,children:r}){return(0,U.jsx)(`a`,{className:n,href:e,onClick:n=>{n.preventDefault(),t(e)},children:r})}function Me(){let{t:e}=W();return(0,U.jsxs)(`div`,{className:`boot-screen`,children:[(0,U.jsxs)(`div`,{className:`brand compact brand-elevated`,children:[(0,U.jsx)(`span`,{className:`brand-mark`,children:(0,U.jsx)(`img`,{src:`/logo.png`,alt:`OwpenGram`})}),(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`strong`,{children:`OwpenGram`}),(0,U.jsx)(`small`,{children:e(`app.adminConsole`)})]})]}),(0,U.jsx)(`div`,{className:`loader-bar`})]})}function Ne({actor:e,route:t,navigate:n,onLogout:r,children:i}){let{t:a}=W(),o=t.path.startsWith(`/messages`),[s,c]=(0,g.useState)(o);(0,g.useEffect)(()=>{o&&c(!0)},[o]);async function l(){await x.logout().catch(()=>void 0),r()}return(0,U.jsxs)(`div`,{className:`shell`,children:[(0,U.jsxs)(`aside`,{className:`sidebar`,children:[(0,U.jsxs)(je,{className:`brand`,href:`/`,navigate:n,children:[(0,U.jsx)(`span`,{className:`brand-mark`,children:(0,U.jsx)(`img`,{src:`/logo.png`,alt:`OwpenGram`})}),(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`strong`,{children:`OwpenGram`}),(0,U.jsx)(`small`,{children:a(`app.adminConsole`)})]})]}),(0,U.jsx)(`div`,{className:`sidebar-label`,children:a(`layout.navigation`)}),(0,U.jsxs)(`nav`,{className:`nav-list`,"aria-label":a(`layout.primaryNav`),children:[(0,U.jsx)(Pe,{icon:(0,U.jsx)(le,{size:16}),href:`/`,route:t,navigate:n,children:a(`layout.dashboard`)}),(0,U.jsx)(Pe,{icon:(0,U.jsx)(xe,{size:16}),href:`/accounts`,route:t,navigate:n,children:a(`layout.accounts`)}),(0,U.jsx)(Pe,{icon:(0,U.jsx)(ge,{size:16}),href:`/channels`,route:t,navigate:n,children:a(`layout.channels`)}),(0,U.jsx)(Pe,{icon:(0,U.jsx)(ae,{size:16}),href:`/gifts`,route:t,navigate:n,children:a(`layout.gifts`)}),(0,U.jsx)(Pe,{icon:(0,U.jsx)(be,{size:16}),href:`/stickers`,route:t,navigate:n,children:a(`layout.stickers`)}),(0,U.jsx)(Pe,{icon:(0,U.jsx)(ve,{size:16}),href:`/emoji`,route:t,navigate:n,children:a(`layout.emoji`)}),(0,U.jsxs)(`div`,{className:`nav-section ${o?`active`:``} ${s?`open`:``}`,children:[(0,U.jsxs)(`button`,{className:`nav-section-toggle`,type:`button`,"aria-expanded":s,onClick:()=>c(e=>!e),children:[(0,U.jsx)(z,{size:16}),(0,U.jsx)(`span`,{children:a(`layout.messages`)}),(0,U.jsx)(F,{className:`nav-section-chevron`,size:15})]}),s&&(0,U.jsxs)(`div`,{className:`nav-children`,children:[(0,U.jsx)(Pe,{href:`/messages/private`,route:t,navigate:n,activeWhen:e=>e===`/messages`||e===`/messages/detail`||e.startsWith(`/messages/private`),children:a(`layout.privateMessages`)}),(0,U.jsx)(Pe,{href:`/messages/groups`,route:t,navigate:n,activeWhen:e=>e.startsWith(`/messages/groups`),children:a(`layout.groupMessages`)})]})]})]}),(0,U.jsxs)(`div`,{className:`sidebar-status`,children:[(0,U.jsx)(`div`,{className:`sidebar-label`,children:a(`layout.runtime`)}),(0,U.jsxs)(`div`,{className:`runtime-row`,children:[(0,U.jsx)(he,{size:14}),(0,U.jsx)(`span`,{children:a(`layout.adminBackend`)}),(0,U.jsx)(`strong`,{children:a(`layout.ready`)})]}),(0,U.jsxs)(`div`,{className:`runtime-row`,children:[(0,U.jsx)(R,{size:14}),(0,U.jsx)(`span`,{children:a(`layout.pgRead`)}),(0,U.jsx)(`strong`,{children:a(`layout.readOnly`)})]}),(0,U.jsxs)(`div`,{className:`runtime-row`,children:[(0,U.jsx)(_e,{size:14}),(0,U.jsx)(`span`,{children:a(`layout.writeOps`)}),(0,U.jsx)(`strong`,{children:a(`layout.dryRun`)})]})]})]}),(0,U.jsxs)(`div`,{className:`workspace`,children:[(0,U.jsxs)(`header`,{className:`topbar`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:Ae(t.path,a)}),(0,U.jsx)(`h1`,{children:ke(t.path,a)})]}),(0,U.jsxs)(`div`,{className:`topbar-actions`,children:[(0,U.jsx)(`span`,{className:`actor-pill`,children:a(`layout.actor`,{actor:e})}),(0,U.jsxs)(`button`,{className:`btn ghost icon-text`,type:`button`,onClick:l,title:a(`layout.logout`),children:[(0,U.jsx)(ue,{size:16}),` `,a(`layout.logout`)]})]})]}),(0,U.jsx)(`main`,{className:`content`,children:i})]})]})}function Pe({href:e,route:t,navigate:n,icon:r,children:i,activeWhen:a}){return(0,U.jsxs)(je,{className:`nav-item ${(a?a(t.path):e===`/`?t.path===`/`:t.path.startsWith(e))?`active`:``}`,href:e,navigate:n,children:[r??(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`nav-dot`}),(0,U.jsx)(`span`,{children:i})]})}function Fe(e){let t=e.trim();return!t||t.startsWith(`+`)?t:/^\d+$/.test(t)?`+${t}`:t}function Ie(e){let t=e.trim();return t?t.startsWith(`@`)?t:`@${t}`:``}function Le(e){return`${e.FirstName||``} ${e.LastName||``}`.trim()||`-`}function Re(e,t){let n=t??(e=>({"channel.kind.broadcast":`Channel`,"channel.kind.forum":`Supergroup / Forum`,"channel.kind.megagroup":`Supergroup`,"channel.kind.generic":`Channel / Group`})[e]??e);return e.Broadcast&&!e.Megagroup?n(`channel.kind.broadcast`):e.Megagroup&&e.Forum?n(`channel.kind.forum`):e.Megagroup?n(`channel.kind.megagroup`):n(`channel.kind.generic`)}function ze(e){if(!e||e.startsWith(`0001-`))return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString()}function G(e){if(!e||e<=0)return``;let t=new Date(e*1e3);return Number.isNaN(t.getTime())?``:t.toLocaleString()}function K(e){if(!e.trim())return 0;let t=Number.parseInt(e,10);return Number.isFinite(t)?t:0}function Be(e,t=`msg ids invalid`){let n=e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean).map(e=>Number.parseInt(e,10));if(n.length===0||n.some(e=>!Number.isFinite(e)||e<=0))throw Error(t);return n}function Ve({title:e,eyebrow:t,children:n,actions:r}){return(0,U.jsxs)(`div`,{className:`page-frame`,children:[(0,U.jsxs)(`div`,{className:`page-title-row`,children:[(0,U.jsxs)(`div`,{children:[t&&(0,U.jsx)(`div`,{className:`eyebrow`,children:t}),(0,U.jsx)(`h2`,{children:e})]}),r&&(0,U.jsx)(`div`,{className:`page-actions`,children:r})]}),n]})}function He({children:e}){return(0,U.jsx)(`div`,{className:`query-panel`,children:e})}function Ue({main:e,side:t}){return(0,U.jsxs)(`div`,{className:`split-layout`,children:[(0,U.jsx)(`div`,{className:`split-main`,children:e}),(0,U.jsx)(`aside`,{className:`split-side`,children:t})]})}function We({title:e,text:t,action:n}){return(0,U.jsxs)(`div`,{className:`section-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h2`,{children:e}),t&&(0,U.jsx)(`p`,{children:t})]}),n&&(0,U.jsx)(`div`,{className:`section-action`,children:n})]})}function Ge({children:e}){return(0,U.jsxs)(`div`,{className:`alert`,children:[(0,U.jsx)(O,{size:16}),` `,(0,U.jsx)(`span`,{children:e})]})}function q({children:e,tone:t=`neutral`}){return(0,U.jsx)(`span`,{className:`badge ${t}`,children:e})}function Ke({label:e,value:t,tone:n}){return(0,U.jsxs)(`div`,{className:`status-item ${n}`,children:[(0,U.jsx)(`span`,{children:e}),(0,U.jsx)(`strong`,{children:t})]})}function J({label:e,value:t,tone:n=`neutral`,mono:r=!1}){return(0,U.jsxs)(`div`,{className:`metric ${n}`,children:[(0,U.jsx)(`span`,{children:e}),(0,U.jsx)(`strong`,{className:r?`mono`:``,children:t})]})}function Y({label:e,value:t,mono:n=!1}){return(0,U.jsxs)(`div`,{className:`summary-item`,children:[(0,U.jsx)(`span`,{children:e}),(0,U.jsx)(`strong`,{className:n?`mono`:``,children:t})]})}function qe({rows:e}){let{t}=W();return(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:t(`audit.id`)}),(0,U.jsx)(`th`,{children:t(`audit.commandID`)}),(0,U.jsx)(`th`,{children:t(`audit.action`)}),(0,U.jsx)(`th`,{children:t(`audit.actor`)}),(0,U.jsx)(`th`,{children:t(`audit.status`)}),(0,U.jsx)(`th`,{children:t(`audit.dryRun`)}),(0,U.jsx)(`th`,{children:t(`audit.reason`)}),(0,U.jsx)(`th`,{children:t(`audit.time`)})]})}),(0,U.jsxs)(`tbody`,{children:[e.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{children:e.ID}),(0,U.jsx)(`td`,{className:`mono`,children:e.CommandID}),(0,U.jsx)(`td`,{children:e.Action}),(0,U.jsx)(`td`,{children:e.Actor}),(0,U.jsx)(`td`,{children:e.Status}),(0,U.jsx)(`td`,{children:e.DryRun?t(`common.yes`):t(`common.no`)}),(0,U.jsx)(`td`,{className:`truncate`,children:e.Reason}),(0,U.jsx)(`td`,{children:ze(e.CreatedAt)})]},e.ID)),e.length===0&&(0,U.jsx)(Je,{colSpan:8})]})]})})}function Je({colSpan:e}){let{t}=W();return(0,U.jsx)(`tr`,{children:(0,U.jsx)(`td`,{colSpan:e,className:`empty-cell`,children:t(`common.noResults`)})})}function Ye({label:e}){return(0,U.jsx)(`section`,{className:`surface`,children:(0,U.jsx)(`div`,{className:`loading-line`,children:e})})}function Xe({value:e}){return(0,U.jsx)(`pre`,{className:`json-block`,children:e||`{}`})}function Ze({onLogin:e}){let{t}=W(),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(!1);async function c(t){t.preventDefault(),s(!0),a(``);try{e((await x.login(n)).actor)}catch(e){a(b(e))}finally{s(!1)}}return(0,U.jsx)(`main`,{className:`login-page`,children:(0,U.jsxs)(`section`,{className:`login-panel`,children:[(0,U.jsxs)(`div`,{className:`login-head`,children:[(0,U.jsxs)(`div`,{className:`brand brand-elevated`,children:[(0,U.jsx)(`span`,{className:`brand-mark`,children:(0,U.jsx)(`img`,{src:`/logo.png`,alt:`OwpenGram`})}),(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`strong`,{children:`OwpenGram`}),(0,U.jsx)(`small`,{children:t(`app.adminConsole`)})]})]}),(0,U.jsx)(`div`,{className:`login-head-actions`,children:(0,U.jsx)(`span`,{className:`login-chip`,children:t(`app.localAccess`)})})]}),(0,U.jsxs)(`div`,{className:`login-copy`,children:[(0,U.jsx)(`h1`,{children:t(`login.heading`)}),(0,U.jsx)(`p`,{children:t(`login.body`)})]}),i&&(0,U.jsx)(Ge,{children:i}),(0,U.jsxs)(`form`,{className:`form-stack`,onSubmit:c,children:[(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:t(`login.secret`)}),(0,U.jsx)(`input`,{autoFocus:!0,type:`password`,value:n,autoComplete:`current-password`,onChange:e=>r(e.target.value)})]}),(0,U.jsx)(`button`,{className:`btn primary full`,type:`submit`,disabled:o,children:t(o?`login.submitting`:`login.submit`)})]})]})})}var Qe=m();function $e({label:e,path:t,payload:n,icon:r,compact:i=!1,tone:a=`danger`,onDone:o}){let{t:s}=W(),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(``),[_,v]=(0,g.useState)(!1);function y(){d(``),p(null),h(``)}async function S(e){if(!u.trim()){h(s(`action.reasonRequired`));return}v(!0),h(``);try{let r={...n(),reason:u,confirm:e};p(await x.action(t,r)),e&&o?.()}catch(e){h(b(e))}finally{v(!1)}}let C=f?.dry_run&&!f.error,w=`btn ${a===`danger`?`danger`:a===`warn`?`warn`:``} ${i?`compact-btn`:``}`,T=(0,g.useMemo)(()=>{try{return n()}catch(e){return{payload_error:b(e)}}},[c,n]);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`button`,{className:w,type:`button`,onClick:()=>{y(),l(!0)},children:[r,e]}),c&&(0,Qe.createPortal)((0,U.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,U.jsxs)(`section`,{className:`modal command-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":e,children:[(0,U.jsxs)(`div`,{className:`modal-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:s(`action.flow`)}),(0,U.jsx)(`h2`,{children:e})]}),(0,U.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:()=>l(!1),"aria-label":s(`action.close`),children:(0,U.jsx)(Se,{size:15})})]}),(0,U.jsxs)(`div`,{className:`command-body`,children:[(0,U.jsxs)(`div`,{className:`command-steps`,children:[(0,U.jsxs)(`div`,{className:`command-step ${u.trim()?`done`:`active`}`,children:[(0,U.jsx)(`span`,{children:`1`}),(0,U.jsx)(`strong`,{children:s(`action.stepReason`)})]}),(0,U.jsxs)(`div`,{className:`command-step ${f?.dry_run?`done`:u.trim()?`active`:``}`,children:[(0,U.jsx)(`span`,{children:`2`}),(0,U.jsx)(`strong`,{children:s(`action.stepDryRun`)})]}),(0,U.jsxs)(`div`,{className:`command-step ${f&&!f.dry_run&&!f.error?`done`:C?`active`:``}`,children:[(0,U.jsx)(`span`,{children:`3`}),(0,U.jsx)(`strong`,{children:s(`action.stepConfirm`)})]})]}),(0,U.jsxs)(`label`,{className:`form-field`,children:[(0,U.jsx)(`span`,{children:s(`action.reason`)}),(0,U.jsx)(`textarea`,{value:u,onChange:e=>d(e.target.value),rows:3,placeholder:s(`action.reasonPlaceholder`)})]}),(0,U.jsxs)(`div`,{className:`command-preview`,children:[(0,U.jsxs)(`div`,{className:`preview-head`,children:[(0,U.jsx)(re,{size:14}),` `,s(`action.requestPreview`)]}),(0,U.jsx)(Xe,{value:JSON.stringify(T,null,2)})]}),m&&(0,U.jsx)(Ge,{children:m}),f&&(0,U.jsxs)(`div`,{className:`result-box`,children:[(0,U.jsxs)(`div`,{className:`result-title`,children:[f.error?(0,U.jsx)(O,{size:16}):(0,U.jsx)(k,{size:16}),(0,U.jsx)(`strong`,{children:f.message||f.error||s(`action.result`)})]}),(0,U.jsxs)(`div`,{className:`result-line`,children:[(0,U.jsx)(`span`,{children:s(`action.commandID`)}),(0,U.jsx)(`strong`,{children:f.command_id})]}),(0,U.jsxs)(`div`,{className:`result-line`,children:[(0,U.jsx)(`span`,{children:s(`action.status`)}),(0,U.jsx)(`strong`,{children:f.status})]}),(0,U.jsxs)(`div`,{className:`result-line`,children:[(0,U.jsx)(`span`,{children:s(`action.dryRun`)}),(0,U.jsx)(`strong`,{children:f.dry_run?s(`common.yes`):s(`common.no`)})]}),(0,U.jsx)(`div`,{className:`result-message`,children:f.message||f.error}),f.details&&(0,U.jsx)(Xe,{value:JSON.stringify(f.details,null,2)})]})]}),(0,U.jsxs)(`div`,{className:`modal-actions`,children:[(0,U.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>l(!1),children:s(`common.close`)}),(0,U.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>S(!1),disabled:_,children:[_?(0,U.jsx)(A,{size:15,className:`spin`}):(0,U.jsx)(B,{size:15}),s(f?`action.runAgain`:`action.runDry`)]}),(0,U.jsxs)(`button`,{className:`btn danger icon-text`,type:`button`,onClick:()=>S(!0),disabled:_||!C,children:[(0,U.jsx)(k,{size:15}),s(`action.confirm`)]})]})]})}),document.body)]})}function et({rows:e,userID:t,onDone:n}){let{t:r}=W(),[i,a]=(0,g.useState)(()=>new Set);(0,g.useEffect)(()=>{a(new Set)},[t]);let o=(0,g.useMemo)(()=>e.filter(e=>!i.has(e.Hash)),[e,i]);function s(e){a(t=>e(t)),n()}return(0,U.jsxs)(`div`,{className:`authorization-block`,children:[(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table authorization-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:r(`auth.device`)}),(0,U.jsx)(`th`,{children:r(`auth.platform`)}),(0,U.jsx)(`th`,{children:r(`auth.ip`)}),(0,U.jsx)(`th`,{children:r(`auth.lastActive`)}),(0,U.jsx)(`th`,{className:`device-actions-head`,children:r(`common.actions`)})]})}),(0,U.jsxs)(`tbody`,{children:[o.map(n=>(0,U.jsxs)(`tr`,{children:[(0,U.jsxs)(`td`,{className:`device-text`,children:[n.DeviceModel,` `,n.SystemVersion]}),(0,U.jsxs)(`td`,{className:`device-text`,children:[n.Platform,` `,n.AppVersion]}),(0,U.jsx)(`td`,{children:n.IP}),(0,U.jsx)(`td`,{children:ze(n.ActiveAt)}),(0,U.jsx)(`td`,{className:`device-actions-cell`,children:(0,U.jsxs)(`div`,{className:`device-actions`,children:[(0,U.jsx)($e,{label:r(`auth.revokeCurrent`),icon:(0,U.jsx)(ue,{size:13}),compact:!0,path:`/api/actions/revoke-sessions`,payload:()=>({user_id:t,hash:n.Hash}),onDone:()=>s(e=>new Set([...e,n.Hash]))}),(0,U.jsx)($e,{label:r(`auth.keepCurrent`),icon:(0,U.jsx)(ge,{size:13}),compact:!0,path:`/api/actions/revoke-sessions`,payload:()=>({user_id:t,keep_hash:n.Hash}),onDone:()=>s(()=>new Set(e.filter(e=>e.Hash!==n.Hash).map(e=>e.Hash)))})]})})]},n.Hash)),o.length===0&&(0,U.jsx)(Je,{colSpan:5})]})]})}),(0,U.jsx)(`div`,{className:`danger-zone`,children:(0,U.jsx)($e,{label:r(`auth.revokeAll`),icon:(0,U.jsx)(N,{size:15}),path:`/api/actions/revoke-sessions`,payload:()=>({user_id:t,revoke_all:!0}),onDone:()=>s(()=>new Set(e.map(e=>e.Hash)))})})]})}function tt({id:e,navigate:t}){let{t:n}=W(),[r,i]=(0,g.useState)(null),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(`1`),[d,f]=(0,g.useState)(`1000`),[p,m]=(0,g.useState)(()=>nt(new Date(Date.now()+7*864e5))),[h,_]=(0,g.useState)(``);async function v(){c(!0),o(``);try{let t=await x.account(e);i(t),t.Restriction.Frozen&&(t.Restriction.Until&&m(nt(new Date(t.Restriction.Until))),_(t.Restriction.AppealURL||``))}catch(e){o(b(e))}finally{c(!1)}}if((0,g.useEffect)(()=>{v()},[e]),a)return(0,U.jsx)(Ge,{children:a});if(!r)return(0,U.jsx)(Ye,{label:n(s?`account.loadingDetail`:`account.waitingData`)});let y=r.Account;return(0,U.jsx)(Ve,{title:n(`account.detailTitle`,{id:y.ID}),eyebrow:n(`account.profile`),actions:(0,U.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>t(`/accounts`),children:[(0,U.jsx)(M,{size:15}),` `,n(`common.backToList`)]}),children:(0,U.jsx)(Ue,{main:(0,U.jsxs)(`div`,{className:`stacked-sections`,children:[(0,U.jsxs)(`section`,{className:`entity-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`entity-title`,children:Le(y)}),(0,U.jsxs)(`div`,{className:`entity-subtitle`,children:[Ie(y.Username)||n(`account.noUsername`),` · `,Fe(y.Phone)||n(`account.noPhone`)]})]}),(0,U.jsxs)(`div`,{className:`entity-badges`,children:[y.PremiumUntil>0?(0,U.jsx)(q,{tone:`good`,children:n(`account.premium`)}):(0,U.jsx)(q,{children:n(`account.notPremium`)}),r.Verified?(0,U.jsx)(q,{tone:`good`,children:n(`common.verified`)}):(0,U.jsx)(q,{children:n(`account.notVerified`)}),y.Frozen?(0,U.jsx)(q,{tone:`danger`,children:n(`account.accountFrozen`)}):(0,U.jsx)(q,{children:n(`account.accountActive`)})]})]}),(0,U.jsxs)(`div`,{className:`summary-grid`,children:[(0,U.jsx)(Y,{label:n(`account.userID`),value:String(y.ID),mono:!0}),(0,U.jsx)(Y,{label:n(`account.lastActive`),value:G(r.LastSeenAt)||`-`}),(0,U.jsx)(Y,{label:n(`account.premiumUntil`),value:y.PremiumUntil>0?G(y.PremiumUntil):n(`common.none`)}),(0,U.jsx)(Y,{label:n(`account.starsBalance`),value:`${r.StarsBalance} / ${r.StarsGranted?n(`account.startingGrantApplied`):n(`account.startingGrantPending`)}`}),(0,U.jsx)(Y,{label:n(`common.updatedAt`),value:ze(y.UpdatedAt)||`-`}),(0,U.jsx)(Y,{label:n(`account.activeSessions`),value:String(r.Authorizations.length)}),(0,U.jsx)(Y,{label:n(`account.accountFlags`),value:`support=${r.Support} bot=${r.Bot}`}),(0,U.jsx)(Y,{label:n(`account.restriction`),value:r.HasRestriction?r.Restriction.Reason||n(`account.restricted`):n(`common.none`)}),(0,U.jsx)(Y,{label:n(`account.freezeSince`),value:r.Restriction.Since?ze(r.Restriction.Since):n(`common.none`)}),(0,U.jsx)(Y,{label:n(`account.freezeUntil`),value:r.Restriction.Until?ze(r.Restriction.Until):n(`common.none`)}),(0,U.jsx)(Y,{label:n(`account.freezeAppealURL`),value:r.Restriction.AppealURL||n(`common.none`)}),(0,U.jsx)(Y,{label:n(`account.createdAt`),value:ze(y.CreatedAt)||`-`})]}),r.About&&(0,U.jsx)(`p`,{className:`about-text`,children:r.About}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:n(`account.authorizationsTitle`),text:n(`account.authorizationsCount`,{count:r.Authorizations.length})}),(0,U.jsx)(et,{rows:r.Authorizations,userID:y.ID,onDone:v})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:n(`account.recentAdminOps`),text:n(`account.recent30Audit`)}),(0,U.jsx)(qe,{rows:r.AuditLogs})]})]}),side:(0,U.jsxs)(`section`,{className:`action-dock`,children:[(0,U.jsx)(`div`,{className:`dock-title`,children:n(`account.actionDock`)}),(0,U.jsxs)(`label`,{className:`duration-field`,children:[(0,U.jsx)(`span`,{children:n(`account.freezeUntil`)}),(0,U.jsx)(`input`,{"aria-label":n(`account.freezeUntilAria`),value:p,onChange:e=>m(e.target.value),type:`datetime-local`})]}),(0,U.jsxs)(`label`,{className:`duration-field`,children:[(0,U.jsx)(`span`,{children:n(`account.freezeAppealURL`)}),(0,U.jsx)(`input`,{"aria-label":n(`account.freezeAppealURLAria`),value:h,onChange:e=>_(e.target.value),type:`url`,placeholder:`https://...`})]}),(0,U.jsx)($e,{label:y.Frozen?n(`account.updateFreeze`):n(`account.freezeAccount`),icon:(0,U.jsx)(O,{size:15}),path:`/api/actions/set-frozen`,payload:()=>({user_id:y.ID,frozen:!0,freeze_until:new Date(p).toISOString(),freeze_appeal_url:h.trim()}),onDone:v}),y.Frozen&&(0,U.jsx)($e,{label:n(`account.unfreezeAccount`),icon:(0,U.jsx)(O,{size:15}),path:`/api/actions/set-frozen`,payload:()=>({user_id:y.ID,frozen:!1}),onDone:v}),(0,U.jsxs)(`label`,{className:`duration-field`,children:[(0,U.jsx)(`span`,{children:n(`account.premiumMonths`)}),(0,U.jsx)(`input`,{"aria-label":n(`account.premiumMonthsAria`),value:l,onChange:e=>u(e.target.value),type:`number`,min:`1`,max:`120`})]}),(0,U.jsxs)(`div`,{className:`action-stack`,children:[(0,U.jsx)($e,{label:n(`account.setPremium`),icon:(0,U.jsx)(j,{size:15}),tone:`warn`,path:`/api/actions/grant-premium`,payload:()=>({user_id:y.ID,months:K(l)}),onDone:v}),(0,U.jsx)($e,{label:n(`account.clearPremium`),icon:(0,U.jsx)(j,{size:15}),tone:`warn`,path:`/api/actions/grant-premium`,payload:()=>({user_id:y.ID,months:0}),onDone:v}),(0,U.jsxs)(`label`,{className:`duration-field`,children:[(0,U.jsx)(`span`,{children:n(`account.starsAmount`)}),(0,U.jsx)(`input`,{"aria-label":n(`account.starsAmountAria`),value:d,onChange:e=>f(e.target.value),type:`number`,min:`1`,max:`1000000000`})]}),(0,U.jsx)($e,{label:n(`account.grantStars`),icon:(0,U.jsx)(ye,{size:15}),tone:`warn`,path:`/api/actions/grant-stars`,payload:()=>({user_id:y.ID,amount:K(d)}),onDone:v}),(0,U.jsx)($e,{label:r.Verified?n(`account.clearVerified`):n(`account.setVerified`),icon:(0,U.jsx)(D,{size:15}),tone:`warn`,path:`/api/actions/set-verified`,payload:()=>({user_id:y.ID,verified:!r.Verified}),onDone:v})]})]})})})}function nt(e){return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,16)}var rt=[[`#FF885E`,`#FF516A`],[`#FFCD6A`,`#FFA85C`],[`#82B1FF`,`#665FFF`],[`#A0DE7E`,`#54CB68`],[`#53EDD6`,`#28C9B7`],[`#72D5FD`,`#2A9EF1`],[`#E0A2F3`,`#D669ED`]];function it(e){return rt[Math.abs(e)%rt.length]}function at(e){let t=Array.from(e);return t.length>0?t[0]:``}function ot(e,t,n){let r=`${e} ${t}`.trim().split(/\s+/).filter(Boolean),i=r.length>0?r:n?[n]:[];if(i.length===0)return`T`;let a=at(i[0]);return i.length>1&&(a+=at(i[i.length-1])),a.toUpperCase()}function st({userID:e,firstName:t,lastName:n,username:r=``,size:i=34}){let[a,o]=(0,g.useState)(!1);if((0,g.useEffect)(()=>{o(!1)},[e]),a){let[a,o]=it(e);return(0,U.jsx)(`div`,{className:`avatar-fallback`,style:{width:i,height:i,background:`linear-gradient(135deg, ${a}, ${o})`,fontSize:Math.round(i*.42)},children:ot(t,n,r)})}return(0,U.jsx)(`img`,{className:`avatar-photo-img`,src:`/api/accounts/${e}/avatar`,alt:``,loading:`lazy`,style:{width:i,height:i},onError:()=>o(!0)})}function ct(e){return e.reduce((e,t)=>(e.devices+=t.DeviceCount,t.PremiumUntil>0&&(e.premium+=1),t.Frozen&&(e.frozen+=1),e),{devices:0,premium:0,frozen:0})}function lt(e){return e.reduce((e,t)=>(t.Megagroup&&(e.megagroups+=1),t.Broadcast&&(e.broadcasts+=1),t.Verified&&(e.verified+=1),e),{megagroups:0,broadcasts:0,verified:0})}function ut({navigate:e}){let{t}=W(),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(`50`),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)({beforeID:0,beforeActiveUS:0}),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(``);async function m(e=!1){d(!0),p(``);let t=new URLSearchParams({limit:i});n.trim()?t.set(`q`,n.trim()):e&&(t.set(`before_id`,String(c.beforeID)),t.set(`before_active_us`,String(c.beforeActiveUS)));try{let e=await x.accounts(t);s(e),l({beforeID:e.next_before_id,beforeActiveUS:e.next_before_active_us})}catch(e){p(b(e))}finally{d(!1)}}(0,g.useEffect)(()=>{m(!1)},[]);let h=ct(o?.rows??[]);return(0,U.jsxs)(Ve,{title:t(`account.pageTitle`),eyebrow:o?.listing===!1?t(`account.queryResults`):t(`account.recentActive`),actions:(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>m(!1),disabled:u,children:[(0,U.jsx)(pe,{size:15}),` `,t(`common.refresh`)]}),children:[f&&(0,U.jsx)(Ge,{children:f}),(0,U.jsxs)(`div`,{className:`metric-row`,children:[(0,U.jsx)(J,{label:t(`account.currentPage`),value:String(o?.rows.length??0)}),(0,U.jsx)(J,{label:t(`account.onlineDevices`),value:String(h.devices)}),(0,U.jsx)(J,{label:t(`account.premium`),value:String(h.premium),tone:`good`}),(0,U.jsx)(J,{label:t(`account.frozen`),value:String(h.frozen),tone:h.frozen>0?`danger`:`neutral`})]}),(0,U.jsx)(He,{children:(0,U.jsxs)(`form`,{className:`toolbar`,onSubmit:e=>{e.preventDefault(),m(!1)},children:[(0,U.jsxs)(`label`,{className:`searchbox`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),placeholder:t(`account.searchPlaceholder`)})]}),(0,U.jsxs)(`label`,{className:`field-inline`,children:[(0,U.jsx)(`span`,{children:t(`common.limit`)}),(0,U.jsx)(`input`,{className:`small-input`,value:i,onChange:e=>a(e.target.value),type:`number`,min:`1`,max:`100`})]}),(0,U.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,disabled:u,children:[u?(0,U.jsx)(A,{size:15,className:`spin`}):(0,U.jsx)(me,{size:15}),` `,t(`common.search`)]}),o?.listing&&o.has_more&&(0,U.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>m(!0),disabled:u,children:[(0,U.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]})]})}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{className:`avatar-col`}),(0,U.jsx)(`th`,{children:t(`account.userID`)}),(0,U.jsx)(`th`,{children:t(`account.phone`)}),(0,U.jsx)(`th`,{children:t(`common.username`)}),(0,U.jsx)(`th`,{children:t(`common.name`)}),(0,U.jsx)(`th`,{children:t(`account.loginEmail`)}),(0,U.jsx)(`th`,{children:t(`common.device`)}),(0,U.jsx)(`th`,{children:t(`account.lastActive`)}),(0,U.jsx)(`th`,{children:t(`account.premium`)}),(0,U.jsx)(`th`,{children:t(`common.verified`)}),(0,U.jsx)(`th`,{children:t(`account.frozen`)}),(0,U.jsx)(`th`,{children:t(`common.updatedAt`)}),(0,U.jsx)(`th`,{})]})}),(0,U.jsxs)(`tbody`,{children:[o?.rows.map(n=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`avatar-col`,children:(0,U.jsx)(st,{userID:n.ID,firstName:n.FirstName,lastName:n.LastName,username:n.Username})}),(0,U.jsx)(`td`,{className:`mono`,children:n.ID}),(0,U.jsx)(`td`,{children:Fe(n.Phone)}),(0,U.jsx)(`td`,{children:Ie(n.Username)}),(0,U.jsx)(`td`,{children:Le(n)}),(0,U.jsx)(`td`,{children:n.LoginEmail||(0,U.jsx)(`span`,{className:`muted-cell`,children:t(`common.none`)})}),(0,U.jsx)(`td`,{children:n.DeviceCount}),(0,U.jsx)(`td`,{children:ze(n.LastActiveAt)}),(0,U.jsx)(`td`,{children:n.PremiumUntil>0?(0,U.jsxs)(q,{tone:`good`,children:[t(`account.premium`),` `,G(n.PremiumUntil)]}):(0,U.jsx)(q,{children:t(`common.none`)})}),(0,U.jsx)(`td`,{children:n.Verified?(0,U.jsx)(q,{tone:`good`,children:t(`common.verified`)}):(0,U.jsx)(q,{children:t(`account.notVerified`)})}),(0,U.jsx)(`td`,{children:n.Frozen?(0,U.jsx)(q,{tone:`danger`,children:t(`account.frozen`)}):(0,U.jsx)(q,{children:t(`common.normal`)})}),(0,U.jsx)(`td`,{children:ze(n.UpdatedAt)}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/accounts/${n.ID}`),children:[t(`common.detail`),` `,(0,U.jsx)(L,{size:14})]})})]},n.ID)),(!o||o.rows.length===0)&&(0,U.jsx)(Je,{colSpan:12})]})]})})]})}function dt({id:e,navigate:t}){let{t:n}=W(),[r,i]=(0,g.useState)(null),[a,o]=(0,g.useState)(``);async function s(){o(``);try{i(await x.channel(e))}catch(e){o(b(e))}}if((0,g.useEffect)(()=>{s()},[e]),a)return(0,U.jsx)(Ge,{children:a});if(!r)return(0,U.jsx)(Ye,{label:n(`channel.loadingDetail`)});let c=r.Channel;return(0,U.jsx)(Ve,{title:`${Re(c,n)} #${c.ID}`,eyebrow:n(`channel.detailProfile`),actions:(0,U.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>t(`/channels`),children:[(0,U.jsx)(M,{size:15}),` `,n(`common.backToList`)]}),children:(0,U.jsx)(Ue,{main:(0,U.jsxs)(`div`,{className:`stacked-sections`,children:[(0,U.jsxs)(`section`,{className:`entity-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`entity-title`,children:c.Title||`-`}),(0,U.jsxs)(`div`,{className:`entity-subtitle`,children:[Ie(c.Username)||n(`account.noUsername`),` · `,n(`channel.creator`,{id:c.CreatorUserID})]})]}),(0,U.jsxs)(`div`,{className:`entity-badges`,children:[(0,U.jsx)(q,{children:Re(c,n)}),c.Verified?(0,U.jsx)(q,{tone:`good`,children:n(`common.verified`)}):(0,U.jsx)(q,{children:n(`account.notVerified`)}),c.Deleted?(0,U.jsx)(q,{tone:`danger`,children:n(`common.deleted`)}):(0,U.jsx)(q,{children:n(`common.valid`)})]})]}),(0,U.jsxs)(`div`,{className:`summary-grid`,children:[(0,U.jsx)(Y,{label:n(`channel.channelID`),value:String(c.ID),mono:!0}),(0,U.jsx)(Y,{label:`access_hash`,value:String(c.AccessHash),mono:!0}),(0,U.jsx)(Y,{label:n(`common.members`),value:`${c.ParticipantsCount} / ${n(`common.admins`)} ${c.AdminsCount}`}),(0,U.jsx)(Y,{label:n(`channel.governance`),value:n(`channel.governanceValue`,{banned:c.BannedCount,kicked:c.KickedCount})}),(0,U.jsx)(Y,{label:n(`channel.flags`),value:`broadcast=${c.Broadcast} megagroup=${c.Megagroup} forum=${c.Forum}`}),(0,U.jsx)(Y,{label:`top / pinned / PTS`,value:`${c.TopMessageID} / ${c.PinnedMessageID} / ${c.PTS}`}),(0,U.jsx)(Y,{label:n(`account.createdAt`),value:G(c.Date)||`-`}),(0,U.jsx)(Y,{label:n(`common.updatedAt`),value:ze(c.UpdatedAt)||`-`})]}),c.About&&(0,U.jsx)(`p`,{className:`about-text`,children:c.About}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:n(`account.recentAdminOps`),text:n(`account.recent30Audit`)}),(0,U.jsx)(qe,{rows:r.AuditLogs})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:n(`channel.rawRow`),text:n(`channel.rawRowText`)}),(0,U.jsx)(Xe,{value:r.ChannelJSON})]})]}),side:(0,U.jsxs)(`section`,{className:`action-dock`,children:[(0,U.jsx)(`div`,{className:`dock-title`,children:n(`channel.actionDock`)}),(0,U.jsx)($e,{label:c.Verified?n(`channel.clearVerified`):n(`channel.setVerified`),icon:(0,U.jsx)(D,{size:15}),tone:`warn`,path:`/api/actions/set-channel-verified`,payload:()=>({channel_id:c.ID,verified:!c.Verified}),onDone:s})]})})})}function ft({navigate:e}){let{t}=W(),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(`50`),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)({beforeID:0,beforeUpdatedUS:0}),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(``);async function m(e=!1){d(!0),p(``);let t=new URLSearchParams({limit:i});n.trim()?t.set(`q`,n.trim()):e&&(t.set(`before_id`,String(c.beforeID)),t.set(`before_updated_us`,String(c.beforeUpdatedUS)));try{let e=await x.channels(t);s(e),l({beforeID:e.next_before_id,beforeUpdatedUS:e.next_before_updated_us})}catch(e){p(b(e))}finally{d(!1)}}(0,g.useEffect)(()=>{m(!1)},[]);let h=lt(o?.rows??[]);return(0,U.jsxs)(Ve,{title:t(`channel.pageTitle`),eyebrow:o?.listing===!1?t(`account.queryResults`):t(`channel.recentUpdated`),actions:(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>m(!1),disabled:u,children:[(0,U.jsx)(pe,{size:15}),` `,t(`common.refresh`)]}),children:[f&&(0,U.jsx)(Ge,{children:f}),(0,U.jsxs)(`div`,{className:`metric-row`,children:[(0,U.jsx)(J,{label:t(`channel.currentPage`),value:String(o?.rows.length??0)}),(0,U.jsx)(J,{label:t(`channel.megagroups`),value:String(h.megagroups)}),(0,U.jsx)(J,{label:t(`channel.broadcasts`),value:String(h.broadcasts)}),(0,U.jsx)(J,{label:t(`channel.verifiedCount`),value:String(h.verified),tone:`good`})]}),(0,U.jsx)(He,{children:(0,U.jsxs)(`form`,{className:`toolbar`,onSubmit:e=>{e.preventDefault(),m(!1)},children:[(0,U.jsxs)(`label`,{className:`searchbox`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),placeholder:t(`channel.searchPlaceholder`)})]}),(0,U.jsxs)(`label`,{className:`field-inline`,children:[(0,U.jsx)(`span`,{children:t(`common.limit`)}),(0,U.jsx)(`input`,{className:`small-input`,value:i,onChange:e=>a(e.target.value),type:`number`,min:`1`,max:`100`})]}),(0,U.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,disabled:u,children:[u?(0,U.jsx)(A,{size:15,className:`spin`}):(0,U.jsx)(me,{size:15}),` `,t(`common.search`)]}),o?.listing&&o.has_more&&(0,U.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>m(!0),disabled:u,children:[(0,U.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]})]})}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:t(`channel.channelID`)}),(0,U.jsx)(`th`,{children:t(`channel.kind`)}),(0,U.jsx)(`th`,{children:t(`common.username`)}),(0,U.jsx)(`th`,{children:t(`channel.title`)}),(0,U.jsx)(`th`,{children:t(`common.members`)}),(0,U.jsx)(`th`,{children:t(`common.admins`)}),(0,U.jsx)(`th`,{children:`PTS`}),(0,U.jsx)(`th`,{children:t(`common.verified`)}),(0,U.jsx)(`th`,{children:t(`common.updatedAt`)}),(0,U.jsx)(`th`,{})]})}),(0,U.jsxs)(`tbody`,{children:[o?.rows.map(n=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`mono`,children:n.ID}),(0,U.jsx)(`td`,{children:Re(n,t)}),(0,U.jsx)(`td`,{children:Ie(n.Username)}),(0,U.jsx)(`td`,{children:n.Title}),(0,U.jsx)(`td`,{children:n.ParticipantsCount}),(0,U.jsx)(`td`,{children:n.AdminsCount}),(0,U.jsx)(`td`,{children:n.PTS}),(0,U.jsx)(`td`,{children:n.Verified?(0,U.jsx)(q,{tone:`good`,children:t(`common.verified`)}):(0,U.jsx)(q,{children:t(`account.notVerified`)})}),(0,U.jsx)(`td`,{children:ze(n.UpdatedAt)}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/channels/${n.ID}`),children:[t(`common.detail`),` `,(0,U.jsx)(L,{size:14})]})})]},n.ID)),(!o||o.rows.length===0)&&(0,U.jsx)(Je,{colSpan:10})]})]})})]})}function pt({navigate:e}){let{t}=W();return(0,U.jsxs)(`div`,{className:`dashboard-layout`,children:[(0,U.jsxs)(`section`,{className:`overview-band`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:t(`dashboard.eyebrow`)}),(0,U.jsx)(`h2`,{children:t(`dashboard.title`)})]}),(0,U.jsxs)(`div`,{className:`overview-metrics`,children:[(0,U.jsx)(Ke,{label:t(`dashboard.readPath`),value:t(`dashboard.readPathValue`),tone:`neutral`}),(0,U.jsx)(Ke,{label:t(`dashboard.writePath`),value:`Admin API`,tone:`good`}),(0,U.jsx)(Ke,{label:t(`dashboard.executionPolicy`),value:t(`dashboard.dryRunFirst`),tone:`warn`})]})]}),(0,U.jsxs)(`div`,{className:`command-grid`,children:[(0,U.jsx)(mt,{icon:(0,U.jsx)(xe,{}),title:t(`route.accounts`),text:t(`dashboard.accountsText`),href:`/accounts`,navigate:e}),(0,U.jsx)(mt,{icon:(0,U.jsx)(ge,{}),title:t(`route.channels`),text:t(`dashboard.channelsText`),href:`/channels`,navigate:e}),(0,U.jsx)(mt,{icon:(0,U.jsx)(z,{}),title:t(`route.messages`),text:t(`dashboard.messagesText`),href:`/messages`,navigate:e})]}),(0,U.jsxs)(`section`,{className:`work-strip`,children:[(0,U.jsxs)(`div`,{className:`strip-item`,children:[(0,U.jsx)(k,{size:16}),(0,U.jsx)(`span`,{children:t(`dashboard.strip.dryRun`)})]}),(0,U.jsxs)(`div`,{className:`strip-item`,children:[(0,U.jsx)(ce,{size:16}),(0,U.jsx)(`span`,{children:t(`dashboard.strip.token`)})]}),(0,U.jsxs)(`div`,{className:`strip-item`,children:[(0,U.jsx)(ee,{size:16}),(0,U.jsx)(`span`,{children:t(`dashboard.strip.pagination`)})]}),(0,U.jsxs)(`div`,{className:`strip-item`,children:[(0,U.jsx)(re,{size:16}),(0,U.jsx)(`span`,{children:t(`dashboard.strip.snapshot`)})]})]})]})}function mt({icon:e,title:t,text:n,href:r,navigate:i}){return(0,U.jsxs)(je,{className:`launcher`,href:r,navigate:i,children:[(0,U.jsx)(`span`,{className:`launcher-icon`,children:e}),(0,U.jsxs)(`span`,{className:`launcher-copy`,children:[(0,U.jsx)(`strong`,{children:t}),(0,U.jsx)(`span`,{children:n})]}),(0,U.jsx)(L,{size:16})]})}function ht({channelID:e,msgID:t,navigate:n}){let{t:r}=W(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``);async function c(){s(``);try{a(await x.groupMessage(e,t))}catch(e){s(b(e))}}if((0,g.useEffect)(()=>{c()},[e,t]),o)return(0,U.jsx)(Ge,{children:o});if(!i)return(0,U.jsx)(Ye,{label:r(`common.loading`)});let l=i.Message;return(0,U.jsx)(Ve,{title:r(`messages.groupDetailTitle`,{id:l.ID}),eyebrow:r(`messages.detailEyebrow`),actions:(0,U.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>n(`/messages/groups`),children:[(0,U.jsx)(M,{size:15}),` `,r(`messages.backGroup`)]}),children:(0,U.jsxs)(`div`,{className:`stacked-sections`,children:[(0,U.jsxs)(`section`,{className:`entity-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`entity-title`,children:r(`messages.channelGroupTitle`,{id:l.ChannelID})}),(0,U.jsx)(`div`,{className:`entity-subtitle`,children:r(`messages.senderSubtitle`,{sender:l.SenderUserID,date:G(l.Date)})})]}),(0,U.jsxs)(`div`,{className:`entity-badges`,children:[l.Deleted?(0,U.jsx)(q,{tone:`danger`,children:r(`common.deleted`)}):(0,U.jsx)(q,{children:r(`common.survived`)}),l.Pinned&&(0,U.jsx)(q,{tone:`warn`,children:r(`messages.pinned`)}),l.Post&&(0,U.jsx)(q,{children:r(`messages.channelPost`)}),(0,U.jsxs)(q,{children:[`pts `,l.PTS]})]})]}),(0,U.jsxs)(`div`,{className:`summary-grid`,children:[(0,U.jsx)(Y,{label:r(`common.messageId`),value:String(l.ID),mono:!0}),(0,U.jsx)(Y,{label:r(`messages.channelGroup`),value:String(l.ChannelID),mono:!0}),(0,U.jsx)(Y,{label:`From Peer`,value:`${l.FromPeerType}:${l.FromPeerID}`,mono:!0}),(0,U.jsx)(Y,{label:r(`common.views`),value:String(l.ViewsCount)})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.channelMessageRow`),text:r(`messages.channelMessagesSnapshot`)}),(0,U.jsx)(Xe,{value:i.MessageJSON})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.channelRow`),text:r(`messages.channelSnapshot`)}),(0,U.jsx)(Xe,{value:i.ChannelJSON})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.channelUpdateEvents`),text:r(`messages.channelEventsSource`)}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:`PTS`}),(0,U.jsx)(`th`,{children:r(`common.count`)}),(0,U.jsx)(`th`,{children:r(`common.type`)}),(0,U.jsx)(`th`,{children:r(`common.messageId`)}),(0,U.jsx)(`th`,{children:r(`common.sender`)}),(0,U.jsx)(`th`,{children:r(`common.time`)})]})}),(0,U.jsxs)(`tbody`,{children:[i.UpdateEvents.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{children:e.PTS}),(0,U.jsx)(`td`,{children:e.PTSCount}),(0,U.jsx)(`td`,{children:e.Type}),(0,U.jsx)(`td`,{children:e.MessageID}),(0,U.jsx)(`td`,{children:e.SenderUserID}),(0,U.jsx)(`td`,{children:G(e.Date)})]},`${e.PTS}-${e.Type}-${e.MessageID}`)),i.UpdateEvents.length===0&&(0,U.jsx)(Je,{colSpan:6})]})]})})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.eventJson`)}),(0,U.jsxs)(`div`,{className:`raw-grid`,children:[i.UpdateEvents.map(e=>(0,U.jsx)(Xe,{value:e.JSON},`${e.PTS}-${e.Type}-json`)),i.UpdateEvents.length===0&&(0,U.jsx)(`div`,{className:`empty-panel`,children:r(`common.noResults`)})]})]})]})})}function gt({label:e,value:t,onChange:n}){let{t:r}=W(),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)([]),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``);async function f(){l(!0),d(``);let e=new URLSearchParams({limit:`20`});i.trim()&&e.set(`q`,i.trim());try{s((await x.accounts(e)).rows)}catch(e){d(b(e))}finally{l(!1)}}return(0,g.useEffect)(()=>{f()},[]),(0,U.jsxs)(`div`,{className:`entity-picker`,children:[(0,U.jsxs)(`div`,{className:`picker-head`,children:[(0,U.jsx)(`span`,{children:e}),t?(0,U.jsxs)(`button`,{className:`link-button`,type:`button`,onClick:()=>n(null),children:[(0,U.jsx)(Se,{size:13}),` `,r(`common.clear`)]}):null]}),t?(0,U.jsxs)(`div`,{className:`selected-entity`,children:[(0,U.jsx)(P,{size:15}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:Le(t)}),(0,U.jsx)(`span`,{className:`mono`,children:t.ID})]}),(0,U.jsx)(`span`,{children:Ie(t.Username)||Fe(t.Phone)||`-`})]}):null,(0,U.jsxs)(`div`,{className:`picker-search`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),f())},placeholder:r(`picker.userPlaceholder`)}),(0,U.jsx)(`button`,{className:`btn compact-btn`,type:`button`,onClick:f,disabled:c,children:c?(0,U.jsx)(A,{size:14,className:`spin`}):r(`common.search`)})]}),u&&(0,U.jsx)(`div`,{className:`picker-error`,children:u}),(0,U.jsxs)(`div`,{className:`picker-results`,children:[o.map(e=>(0,U.jsxs)(`button`,{className:`picker-row ${t?.ID===e.ID?`selected`:``}`,type:`button`,onClick:()=>n(e),children:[(0,U.jsx)(`span`,{className:`mono`,children:e.ID}),(0,U.jsx)(`strong`,{children:Le(e)}),(0,U.jsx)(`span`,{children:Ie(e.Username)||Fe(e.Phone)||`-`}),e.Verified?(0,U.jsx)(q,{tone:`good`,children:r(`picker.verified`)}):(0,U.jsx)(q,{children:r(`picker.regular`)})]},e.ID)),o.length===0&&!c?(0,U.jsx)(`div`,{className:`picker-empty`,children:r(`common.noResults`)}):null]})]})}function _t({label:e,value:t,onChange:n}){let{t:r}=W(),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)([]),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``);async function f(){l(!0),d(``);let e=new URLSearchParams({limit:`20`});i.trim()&&e.set(`q`,i.trim());try{s((await x.channels(e)).rows)}catch(e){d(b(e))}finally{l(!1)}}return(0,g.useEffect)(()=>{f()},[]),(0,U.jsxs)(`div`,{className:`entity-picker`,children:[(0,U.jsxs)(`div`,{className:`picker-head`,children:[(0,U.jsx)(`span`,{children:e}),t?(0,U.jsxs)(`button`,{className:`link-button`,type:`button`,onClick:()=>n(null),children:[(0,U.jsx)(Se,{size:13}),` `,r(`common.clear`)]}):null]}),t?(0,U.jsxs)(`div`,{className:`selected-entity`,children:[(0,U.jsx)(P,{size:15}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:t.Title||`-`}),(0,U.jsx)(`span`,{className:`mono`,children:t.ID})]}),(0,U.jsx)(`span`,{children:Ie(t.Username)||Re(t,r)})]}):null,(0,U.jsxs)(`div`,{className:`picker-search`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),f())},placeholder:r(`picker.channelPlaceholder`)}),(0,U.jsx)(`button`,{className:`btn compact-btn`,type:`button`,onClick:f,disabled:c,children:c?(0,U.jsx)(A,{size:14,className:`spin`}):r(`common.search`)})]}),u&&(0,U.jsx)(`div`,{className:`picker-error`,children:u}),(0,U.jsxs)(`div`,{className:`picker-results`,children:[o.map(e=>(0,U.jsxs)(`button`,{className:`picker-row ${t?.ID===e.ID?`selected`:``}`,type:`button`,onClick:()=>n(e),children:[(0,U.jsx)(`span`,{className:`mono`,children:e.ID}),(0,U.jsx)(`strong`,{children:e.Title||`-`}),(0,U.jsx)(`span`,{children:Ie(e.Username)||Re(e,r)}),e.Verified?(0,U.jsx)(q,{tone:`good`,children:r(`picker.verified`)}):(0,U.jsx)(q,{children:Re(e,r)})]},e.ID)),o.length===0&&!c?(0,U.jsx)(`div`,{className:`picker-empty`,children:r(`common.noResults`)}):null]})]})}function vt({navigate:e}){let{t}=W(),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(`100`),[u,d]=(0,g.useState)(null),[f,p]=(0,g.useState)(``);async function m(e=!1){if(p(``),!n){p(t(`messages.selectChannel`));return}let r=new URLSearchParams({channel_id:String(n.ID),limit:c});if(e&&u?.rows.length){let e=u.rows[u.rows.length-1];r.set(`before_date`,String(e.Date)),r.set(`before_id`,String(e.ID)),a(String(e.Date)),s(String(e.ID))}else i&&r.set(`before_date`,i),o&&r.set(`before_id`,o);try{d(await x.groupMessages(r))}catch(e){p(b(e))}}function h(e){r(e),a(``),s(``),d(null)}let _=u?.rows??[];return(0,U.jsxs)(Ve,{title:t(`messages.groupTitle`),eyebrow:t(`messages.groupEyebrow`),children:[f&&(0,U.jsx)(Ge,{children:f}),(0,U.jsxs)(He,{children:[(0,U.jsx)(`div`,{className:`message-selector-grid single`,children:(0,U.jsx)(_t,{label:t(`messages.channelGroup`),value:n,onChange:h})}),(0,U.jsxs)(`form`,{className:`toolbar message-query`,onSubmit:e=>{e.preventDefault(),m(!1)},children:[(0,U.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:t(`messages.beforeDatePlaceholder`)}),(0,U.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:t(`messages.beforeIDPlaceholder`)}),(0,U.jsx)(`input`,{className:`small-input`,value:c,onChange:e=>l(e.target.value),placeholder:t(`messages.limitPlaceholder`)}),(0,U.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,children:[(0,U.jsx)(me,{size:15}),` `,t(`messages.searchMessages`)]}),_.length?(0,U.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>m(!0),children:[(0,U.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]}):null]})]}),(0,U.jsxs)(`div`,{className:`metric-row`,children:[(0,U.jsx)(J,{label:t(`messages.currentPage`),value:String(_.length)}),(0,U.jsx)(J,{label:t(`messages.mediaCount`),value:String(_.filter(e=>e.Media&&e.Media!==`{}`).length)}),(0,U.jsx)(J,{label:t(`messages.channelPosts`),value:String(_.filter(e=>e.Post).length)}),(0,U.jsx)(J,{label:t(`messages.channelGroup`),value:n?`${n.Title||Re(n,t)} (${n.ID})`:`-`})]}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:t(`common.messageId`)}),(0,U.jsx)(`th`,{children:t(`common.time`)}),(0,U.jsx)(`th`,{children:t(`common.sender`)}),(0,U.jsx)(`th`,{children:`From Peer`}),(0,U.jsx)(`th`,{children:`PTS`}),(0,U.jsx)(`th`,{children:t(`common.views`)}),(0,U.jsx)(`th`,{children:t(`common.status`)}),(0,U.jsx)(`th`,{children:t(`messages.body`)}),(0,U.jsx)(`th`,{})]})}),(0,U.jsxs)(`tbody`,{children:[_.map(n=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`mono`,children:n.ID}),(0,U.jsx)(`td`,{children:G(n.Date)}),(0,U.jsx)(`td`,{className:`mono`,children:n.SenderUserID}),(0,U.jsxs)(`td`,{className:`mono`,children:[n.FromPeerType,`:`,n.FromPeerID]}),(0,U.jsx)(`td`,{children:n.PTS}),(0,U.jsx)(`td`,{children:n.ViewsCount}),(0,U.jsx)(`td`,{children:n.Deleted?(0,U.jsx)(q,{tone:`danger`,children:t(`common.deleted`)}):n.Pinned?(0,U.jsx)(q,{tone:`warn`,children:t(`messages.pinned`)}):(0,U.jsx)(q,{children:t(`common.survived`)})}),(0,U.jsx)(`td`,{className:`truncate`,children:n.Body}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/messages/groups/detail?channel_id=${n.ChannelID}&msg_id=${n.ID}`),children:[t(`common.detail`),` `,(0,U.jsx)(L,{size:14})]})})]},`${n.ChannelID}-${n.ID}`)),_.length===0&&(0,U.jsx)(Je,{colSpan:9})]})]})})]})}function yt({ownerUserID:e,msgID:t,navigate:n}){let{t:r}=W(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``);async function c(){s(``);try{a(await x.message(e,t))}catch(e){s(b(e))}}if((0,g.useEffect)(()=>{c()},[e,t]),o)return(0,U.jsx)(Ge,{children:o});if(!i)return(0,U.jsx)(Ye,{label:r(`common.loading`)});let l=i.Message;return(0,U.jsx)(Ve,{title:r(`messages.privateDetailTitle`,{id:l.BoxID}),eyebrow:r(`messages.detailEyebrow`),actions:(0,U.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>n(`/messages/private`),children:[(0,U.jsx)(M,{size:15}),` `,r(`messages.backPrivate`)]}),children:(0,U.jsx)(Ue,{main:(0,U.jsxs)(`div`,{className:`stacked-sections`,children:[(0,U.jsxs)(`section`,{className:`entity-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`entity-title`,children:r(`messages.ownerPeerTitle`,{owner:l.OwnerUserID,peer:l.PeerID})}),(0,U.jsx)(`div`,{className:`entity-subtitle`,children:r(`messages.senderSubtitle`,{sender:l.FromUserID,date:G(l.Date)})})]}),(0,U.jsxs)(`div`,{className:`entity-badges`,children:[l.Deleted?(0,U.jsx)(q,{tone:`danger`,children:r(`common.deleted`)}):(0,U.jsx)(q,{children:r(`common.survived`)}),(0,U.jsxs)(q,{children:[`pts `,l.PTS]}),(0,U.jsx)(q,{children:l.Outgoing?r(`messages.outgoing`):r(`messages.incoming`)})]})]}),(0,U.jsxs)(`div`,{className:`summary-grid`,children:[(0,U.jsx)(Y,{label:r(`messages.boxID`),value:String(l.BoxID),mono:!0}),(0,U.jsx)(Y,{label:r(`messages.privateMessageID`),value:String(l.PrivateMessageID),mono:!0}),(0,U.jsx)(Y,{label:r(`messages.messageSender`),value:String(l.MessageSenderID),mono:!0}),(0,U.jsx)(Y,{label:r(`common.time`),value:G(l.Date)})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.messageBox`),text:r(`messages.messageBoxesSnapshot`)}),(0,U.jsx)(Xe,{value:i.MessageJSON})]}),(0,U.jsxs)(`div`,{className:`raw-grid`,children:[(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.dialogRow`),text:r(`messages.dialogSnapshot`)}),(0,U.jsx)(Xe,{value:i.DialogJSON})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.privateRow`),text:r(`messages.privateSnapshot`)}),(0,U.jsx)(Xe,{value:i.PrivateJSON})]})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.userUpdateEvents`),text:r(`messages.userEventsSource`)}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:`PTS`}),(0,U.jsx)(`th`,{children:r(`common.count`)}),(0,U.jsx)(`th`,{children:r(`common.type`)}),(0,U.jsx)(`th`,{children:r(`common.time`)})]})}),(0,U.jsxs)(`tbody`,{children:[i.UpdateEvents.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{children:e.PTS}),(0,U.jsx)(`td`,{children:e.PTSCount}),(0,U.jsx)(`td`,{children:e.Type}),(0,U.jsx)(`td`,{children:G(e.Date)})]},`${e.PTS}-${e.Type}`)),i.UpdateEvents.length===0&&(0,U.jsx)(Je,{colSpan:4})]})]})})]}),(0,U.jsxs)(`section`,{className:`section-block`,children:[(0,U.jsx)(We,{title:r(`messages.dispatchOutbox`),text:r(`messages.outboxSource`)}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:`ID`}),(0,U.jsx)(`th`,{children:r(`account.userID`)}),(0,U.jsx)(`th`,{children:`PTS`}),(0,U.jsx)(`th`,{children:r(`common.type`)}),(0,U.jsx)(`th`,{children:r(`common.status`)}),(0,U.jsx)(`th`,{children:r(`messages.attempts`)}),(0,U.jsx)(`th`,{children:r(`common.updatedAt`)})]})}),(0,U.jsxs)(`tbody`,{children:[i.Outbox.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{children:e.ID}),(0,U.jsx)(`td`,{children:e.TargetUserID}),(0,U.jsx)(`td`,{children:e.PTS}),(0,U.jsx)(`td`,{children:e.EventType}),(0,U.jsx)(`td`,{children:e.Status}),(0,U.jsx)(`td`,{children:e.Attempts}),(0,U.jsx)(`td`,{children:ze(e.UpdatedAt)})]},e.ID)),i.Outbox.length===0&&(0,U.jsx)(Je,{colSpan:7})]})]})})]})]}),side:(0,U.jsxs)(`section`,{className:`action-dock`,children:[(0,U.jsx)(`div`,{className:`dock-title`,children:r(`common.operations`)}),(0,U.jsx)($e,{label:r(`messages.deleteThis`),icon:(0,U.jsx)(V,{size:15}),path:`/api/actions/delete-messages`,payload:()=>({owner_user_id:l.OwnerUserID,peer_id:l.PeerID,ids:[l.BoxID],revoke:!0}),onDone:c})]})})})}function bt({navigate:e}){let{t}=W(),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(`100`),[f,p]=(0,g.useState)(``),[m,h]=(0,g.useState)(!0),[_,v]=(0,g.useState)(!1),[y,S]=(0,g.useState)(``),[C,w]=(0,g.useState)(`1`),[T,E]=(0,g.useState)(null),[D,O]=(0,g.useState)(``);async function k(e=!1){if(O(``),!n||!i){O(t(`messages.selectPrivatePeers`));return}let r=new URLSearchParams({owner_user_id:String(n.ID),peer_id:String(i.ID),limit:u});if(e&&T?.rows.length){let e=T.rows[T.rows.length-1];r.set(`before_date`,String(e.Date)),r.set(`before_id`,String(e.BoxID)),s(String(e.Date)),l(String(e.BoxID))}else o&&r.set(`before_date`,o),c&&r.set(`before_id`,c);try{E(await x.messages(r))}catch(e){O(b(e))}}function A(e){r(e),s(``),l(``),E(null)}function j(e){a(e),s(``),l(``),E(null)}return(0,U.jsxs)(Ve,{title:t(`messages.privateTitle`),eyebrow:t(`messages.privateEyebrow`),children:[D&&(0,U.jsx)(Ge,{children:D}),(0,U.jsxs)(He,{children:[(0,U.jsxs)(`div`,{className:`message-selector-grid`,children:[(0,U.jsx)(gt,{label:t(`messages.ownerUser`),value:n,onChange:A}),(0,U.jsx)(gt,{label:t(`messages.peerUser`),value:i,onChange:j})]}),(0,U.jsxs)(`form`,{className:`toolbar message-query`,onSubmit:e=>{e.preventDefault(),k(!1)},children:[(0,U.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:t(`messages.beforeDatePlaceholder`)}),(0,U.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:t(`messages.beforeIDPlaceholder`)}),(0,U.jsx)(`input`,{className:`small-input`,value:u,onChange:e=>d(e.target.value),placeholder:t(`messages.limitPlaceholder`)}),(0,U.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,children:[(0,U.jsx)(me,{size:15}),` `,t(`messages.searchMessages`)]}),T?.rows.length?(0,U.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>k(!0),children:[(0,U.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]}):null]})]}),(0,U.jsxs)(`div`,{className:`metric-row`,children:[(0,U.jsx)(J,{label:t(`messages.currentPage`),value:String(T?.rows.length??0)}),(0,U.jsx)(J,{label:t(`messages.deleted`),value:String((T?.rows??[]).filter(e=>e.Deleted).length),tone:`danger`}),(0,U.jsx)(J,{label:t(`messages.outgoing`),value:String((T?.rows??[]).filter(e=>e.Outgoing).length)}),(0,U.jsx)(J,{label:t(`messages.ownerPeer`),value:n&&i?`${Le(n)} / ${Le(i)}`:`-`})]}),(0,U.jsxs)(`div`,{className:`operation-row`,children:[(0,U.jsxs)(`div`,{className:`operation-box`,children:[(0,U.jsxs)(`div`,{className:`operation-title`,children:[(0,U.jsx)(V,{size:15}),` `,t(`messages.deleteSelected`)]}),(0,U.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:t(`messages.idsPlaceholder`)}),(0,U.jsxs)(`label`,{className:`checkline`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),` `,t(`messages.revoke`)]}),(0,U.jsx)($e,{path:`/api/actions/delete-messages`,label:t(`messages.previewDelete`),payload:()=>({owner_user_id:n?.ID??0,peer_id:i?.ID??0,ids:Be(f,t(`messages.msgIDsInvalid`)),revoke:m})})]}),(0,U.jsxs)(`div`,{className:`operation-box`,children:[(0,U.jsxs)(`div`,{className:`operation-title`,children:[(0,U.jsx)(oe,{size:15}),` `,t(`messages.clearHistory`)]}),(0,U.jsx)(`input`,{value:y,onChange:e=>S(e.target.value),placeholder:t(`messages.maxIDPlaceholder`)}),(0,U.jsx)(`input`,{value:C,onChange:e=>w(e.target.value),placeholder:t(`messages.maxBatchesPlaceholder`)}),(0,U.jsxs)(`label`,{className:`checkline`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),` `,t(`messages.revoke`)]}),(0,U.jsxs)(`label`,{className:`checkline`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:_,onChange:e=>v(e.target.checked)}),` `,t(`messages.justClear`)]}),(0,U.jsx)($e,{path:`/api/actions/delete-history`,label:t(`messages.previewClearHistory`),payload:()=>({owner_user_id:n?.ID??0,peer_id:i?.ID??0,max_id:K(y),max_batches:K(C),just_clear:_,revoke:m})})]})]}),(0,U.jsx)(`div`,{className:`table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:t(`common.messageId`)}),(0,U.jsx)(`th`,{children:t(`common.time`)}),(0,U.jsx)(`th`,{children:t(`common.sender`)}),(0,U.jsx)(`th`,{children:t(`messages.direction`)}),(0,U.jsx)(`th`,{children:`PTS`}),(0,U.jsx)(`th`,{children:t(`common.status`)}),(0,U.jsx)(`th`,{children:t(`messages.body`)}),(0,U.jsx)(`th`,{})]})}),(0,U.jsxs)(`tbody`,{children:[T?.rows.map(n=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`mono`,children:n.BoxID}),(0,U.jsx)(`td`,{children:G(n.Date)}),(0,U.jsx)(`td`,{className:`mono`,children:n.FromUserID}),(0,U.jsx)(`td`,{children:n.Outgoing?t(`messages.outgoing`):t(`messages.incoming`)}),(0,U.jsx)(`td`,{children:n.PTS}),(0,U.jsx)(`td`,{children:n.Deleted?(0,U.jsx)(q,{tone:`danger`,children:t(`common.deleted`)}):(0,U.jsx)(q,{children:t(`common.survived`)})}),(0,U.jsx)(`td`,{className:`truncate`,children:n.Body}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/messages/private/detail?owner_user_id=${n.OwnerUserID}&msg_id=${n.BoxID}`),children:[t(`common.detail`),` `,(0,U.jsx)(L,{size:14})]})})]},`${n.OwnerUserID}-${n.BoxID}`)),(!T||T.rows.length===0)&&(0,U.jsx)(Je,{colSpan:8})]})]})})]})}var xt=c(o(((e,t)=>{typeof document<`u`&&typeof navigator<`u`&&(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.lottie=r())})(e,(function(){var n=``,r=!1,i=-999999,a=function(e){r=!!e},o=function(){return r},s=function(e){n=e},c=function(){return n};function l(e){return document.createElement(e)}function u(e,t){var n,r=e.length,i;for(n=0;n1?n[1]=1:n[1]<=0&&(n[1]=0),L(n[0],n[1],n[2])}function te(e,t){var n=ee(e[0]*255,e[1]*255,e[2]*255);return n[2]+=t,n[2]>1?n[2]=1:n[2]<0&&(n[2]=0),L(n[0],n[1],n[2])}function ne(e,t){var n=ee(e[0]*255,e[1]*255,e[2]*255);return n[0]+=t/360,n[0]>1?--n[0]:n[0]<0&&(n[0]+=1),L(n[0],n[1],n[2])}(function(){var e=[],t,n;for(t=0;t<256;t+=1)n=t.toString(16),e[t]=n.length===1?`0`+n:n;return function(t,n,r){return t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),`#`+e[t]+e[n]+e[r]}})();var re=function(e){g=!!e},ie=function(){return g},ae=function(e){_=e},oe=function(){return _},se=function(){return v},ce=function(e){E=e},le=function(){return E},ue=function(e){y=e};function z(e){return document.createElementNS(`http://www.w3.org/2000/svg`,e)}function de(e){"@babel/helpers - typeof";return de=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},de(e)}var B=function(){var e=1,t=[],n,r,i={onmessage:function(){},postMessage:function(e){n({data:e})}},a={postMessage:function(e){i.onmessage({data:e})}};function s(e){if(window.Worker&&window.Blob&&o()){var t=new Blob([`var _workerSelf = self; self.onmessage = `,e.toString()],{type:`text/javascript`}),r=URL.createObjectURL(t);return new Worker(r)}return n=e,i}function c(){r||(r=s(function(e){function t(){function e(t,n){var o,s,c=t.length,l,u,d,f;for(s=0;s=0;--t)if(e[t].ty===`sh`)if(e[t].ks.k.i)a(e[t].ks.k);else for(o=e[t].ks.k.length,r=0;rn[0]?!0:n[0]>e[0]?!1:e[1]>n[1]?!0:n[1]>e[1]?!1:e[2]>n[2]?!0:n[2]>e[2]?!1:null}var s=function(){var e=[4,4,14];function t(e){var t=e.t.d;e.t.d={k:[{s:t,t:0}]}}function n(e){var n,r=e.length;for(n=0;n=0;--n)if(e[n].ty===`sh`)if(e[n].ks.k.i)e[n].ks.k.c=e[n].closed;else for(a=e[n].ks.k.length,i=0;i500)&&(this._imageLoaded(),clearInterval(n)),t+=1}.bind(this),50)}function a(t){var n=r(t,this.assetsPath,this.path),i=z(`image`);b?this.testImageLoaded(i):i.addEventListener(`load`,this._imageLoaded,!1),i.addEventListener(`error`,function(){a.img=e,this._imageLoaded()}.bind(this),!1),i.setAttributeNS(`http://www.w3.org/1999/xlink`,`href`,n),this._elementHelper.append?this._elementHelper.append(i):this._elementHelper.appendChild(i);var a={img:i,assetData:t};return a}function o(t){var n=r(t,this.assetsPath,this.path),i=l(`img`);i.crossOrigin=`anonymous`,i.addEventListener(`load`,this._imageLoaded,!1),i.addEventListener(`error`,function(){a.img=e,this._imageLoaded()}.bind(this),!1),i.src=n;var a={img:i,assetData:t};return a}function s(e){var t={assetData:e},n=r(e,this.assetsPath,this.path);return B.loadData(n,function(e){t.img=e,this._footageLoaded()}.bind(this),function(){t.img={},this._footageLoaded()}.bind(this)),t}function c(e,t){this.imagesLoadedCb=t;var n,r=e.length;for(n=0;nthis.animationData.op&&(this.animationData.op=e.op,this.totalFrames=Math.floor(e.op-this.animationData.ip));var t=this.animationData.layers,n,r=t.length,i=e.layers,a,o=i.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger(`enterFrame`),this.renderFrame(),this.trigger(`drawnFrame`)},V.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(e){this.triggerRenderFrameError(e)}},V.prototype.play=function(e){e&&this.name!==e||this.isPaused===!0&&(this.isPaused=!1,this.trigger(`_play`),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger(`_active`)))},V.prototype.pause=function(e){e&&this.name!==e||this.isPaused===!1&&(this.isPaused=!0,this.trigger(`_pause`),this._idle=!0,this.trigger(`_idle`),this.audioController.pause())},V.prototype.togglePause=function(e){e&&this.name!==e||(this.isPaused===!0?this.play():this.pause())},V.prototype.stop=function(e){e&&this.name!==e||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},V.prototype.getMarkerData=function(e){for(var t,n=0;n=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(t>this.totalFrames?t%this.totalFrames:0)||(n=!0,t=this.totalFrames-1):t>=this.totalFrames?(this.playCount+=1,this.checkSegments(t%this.totalFrames)||(this.setCurrentRawFrameValue(t%this.totalFrames),this._completedLoop=!0,this.trigger(`loopComplete`))):this.setCurrentRawFrameValue(t):t<0?this.checkSegments(t%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+t%this.totalFrames),this._completedLoop?this.trigger(`loopComplete`):this._completedLoop=!0):(n=!0,t=0)):this.setCurrentRawFrameValue(t),n&&(this.setCurrentRawFrameValue(t),this.pause(),this.trigger(`complete`))}},V.prototype.adjustSegment=function(e,t){this.playCount=0,e[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=e[0]-e[1],this.timeCompleted=this.totalFrames,this.firstFrame=e[1],this.setCurrentRawFrameValue(this.totalFrames-.001-t)):e[1]>e[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=e[1]-e[0],this.timeCompleted=this.totalFrames,this.firstFrame=e[0],this.setCurrentRawFrameValue(.001+t)),this.trigger(`segmentStart`)},V.prototype.setSegment=function(e,t){var n=-1;this.isPaused&&(this.currentRawFrame+this.firstFramet&&(n=t-e)),this.firstFrame=e,this.totalFrames=t-e,this.timeCompleted=this.totalFrames,n!==-1&&this.goToAndStop(n,!0)},V.prototype.playSegments=function(e,t){if(t&&(this.segments.length=0),be(e[0])===`object`){var n,r=e.length;for(n=0;n=0;--n)t[n].animation.destroy(e)}function T(e,t,n){var r=[].concat([].slice.call(document.getElementsByClassName(`lottie`)),[].slice.call(document.getElementsByClassName(`bodymovin`))),i,a=r.length;for(i=0;i0?n=c:t=c;while(Math.abs(s)>a&&++l=i?g(e,d,t,n):f===0?d:h(e,a,a+c,t,n)}},e}(),Se=function(){function e(e){return e.concat(m(e.length))}return{double:e}}(),Ce=function(){return function(e,t,n){var r=0,i=e,a=m(i),o={newElement:s,release:c};function s(){var e;return r?(--r,e=a[r]):e=t(),e}function c(e){r===i&&(a=Se.double(a),i*=2),n&&n(e),a[r]=e,r+=1}return o}}(),U=function(){function e(){return{addedLength:0,percents:p(`float32`,le()),lengths:p(`float32`,le())}}return Ce(8,e)}(),we=function(){function e(){return{lengths:[],totalLength:0}}function t(e){var t,n=e.lengths.length;for(t=0;t-.001&&o<.001}function n(n,r,i,a,o,s,c,l,u){if(i===0&&s===0&&u===0)return t(n,r,a,o,c,l);var d=e.sqrt(e.pow(a-n,2)+e.pow(o-r,2)+e.pow(s-i,2)),f=e.sqrt(e.pow(c-n,2)+e.pow(l-r,2)+e.pow(u-i,2)),p=e.sqrt(e.pow(c-a,2)+e.pow(l-o,2)+e.pow(u-s,2)),m=d>f?d>p?d-f-p:p-f-d:p>f?p-f-d:f-d-p;return m>-1e-4&&m<1e-4}var r=function(){return function(e,t,n,r){var i=le(),a,o,s,c,l,u=0,d,f=[],p=[],m=U.newElement();for(s=n.length,a=0;ao?-1:1,l=!0;l;)if(r[a]<=o&&r[a+1]>o?(s=(o-r[a])/(r[a+1]-r[a]),l=!1):a+=c,a<0||a>=i-1){if(a===i-1)return n[a];l=!1}return n[a]+(n[a+1]-n[a])*s}function l(t,n,r,i,a,o){var s=c(a,o),l=1-s;return[e.round((l*l*l*t[0]+(s*l*l+l*s*l+l*l*s)*r[0]+(s*s*l+l*s*s+s*l*s)*i[0]+s*s*s*n[0])*1e3)/1e3,e.round((l*l*l*t[1]+(s*l*l+l*s*l+l*l*s)*r[1]+(s*s*l+l*s*s+s*l*s)*i[1]+s*s*s*n[1])*1e3)/1e3]}var u=p(`float32`,8);function d(t,n,r,i,a,o,s){a<0?a=0:a>1&&(a=1);var l=c(a,s);o=o>1?1:o;var d=c(o,s),f,p=t.length,m=1-l,h=1-d,g=m*m*m,_=l*m*m*3,v=l*l*m*3,y=l*l*l,b=m*m*h,x=l*m*h+m*l*h+m*m*d,S=l*l*h+m*l*d+l*m*d,C=l*l*d,w=m*h*h,T=l*h*h+m*d*h+m*h*d,E=l*d*h+m*d*d+l*h*d,D=l*d*d,O=h*h*h,k=d*h*h+h*d*h+h*h*d,A=d*d*h+h*d*d+d*h*d,j=d*d*d;for(f=0;f=l.t-n){c.h&&(c=l),i=0;break}if(l.t-n>e){i=a;break}a=v||e=v?x.points.length-1:0;for(f=x.points[S].point.length,d=0;d=T&&C=v)r[0]=b[0],r[1]=b[1],r[2]=b[2];else if(e<=y)r[0]=c.s[0],r[1]=c.s[1],r[2]=c.s[2];else{var j=je(c.s),M=je(b),N=(e-y)/(v-y);Ae(r,ke(j,M,N))}else for(a=0;a=v?m=1:e1e-6?(f=Math.acos(p),m=Math.sin(f),h=Math.sin((1-n)*f)/m,g=Math.sin(n*f)/m):(h=1-n,g=n),r[0]=h*i+g*c,r[1]=h*a+g*l,r[2]=h*o+g*u,r[3]=h*s+g*d,r}function Ae(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=Math.atan2(2*r*a-2*n*i,1-2*r*r-2*i*i),s=Math.asin(2*n*r+2*i*a),c=Math.atan2(2*n*a-2*r*i,1-2*n*n-2*i*i);e[0]=o/D,e[1]=s/D,e[2]=c/D}function je(e){var t=e[0]*D,n=e[1]*D,r=e[2]*D,i=Math.cos(t/2),a=Math.cos(n/2),o=Math.cos(r/2),s=Math.sin(t/2),c=Math.sin(n/2),l=Math.sin(r/2),u=i*a*o-s*c*l;return[s*c*o+i*a*l,s*a*o+i*c*l,i*c*o-s*a*l,u]}function Me(){var e=this.comp.renderedFrame-this.offsetTime,t=this.keyframes[0].t-this.offsetTime,n=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==W&&(this._caching.lastFrame>=n&&e>=n||this._caching.lastFrame=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var r=this.interpolateValue(e,this._caching);this.pv=r}return this._caching.lastFrame=e,this.pv}function Ne(e){var t;if(this.propType===`unidimensional`)t=e*this.mult,De(this.v-t)>1e-5&&(this.v=t,this._mdf=!0);else for(var n=0,r=this.v.length;n1e-5&&(this.v[n]=t,this._mdf=!0),n+=1}function Pe(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var e,t=this.effectsSequence.length,n=this.kf?this.pv:this.data.k;for(e=0;e=this._maxLength&&this.doubleArrayLength(),n){case`v`:a=this.v;break;case`i`:a=this.i;break;case`o`:a=this.o;break;default:a=[];break}(!a[r]||a[r]&&!i)&&(a[r]=Be.newElement()),a[r][0]=e,a[r][1]=t},Ve.prototype.setTripleAt=function(e,t,n,r,i,a,o,s){this.setXYAt(e,t,`v`,o,s),this.setXYAt(n,r,`o`,o,s),this.setXYAt(i,a,`i`,o,s)},Ve.prototype.reverse=function(){var e=new Ve;e.setPathData(this.c,this._length);var t=this.v,n=this.o,r=this.i,i=0;this.c&&(e.setTripleAt(t[0][0],t[0][1],r[0][0],r[0][1],n[0][0],n[0][1],0,!1),i=1);var a=this._length-1,o=this._length,s;for(s=i;s=p[p.length-1].t-this.offsetTime)i=p[p.length-1].s?p[p.length-1].s[0]:p[p.length-2].e[0],o=!0;else{for(var m=r,h=p.length-1,g=!0,_,v,y;g&&(_=p[m],v=p[m+1],!(v.t-this.offsetTime>e));)m=v.t-this.offsetTime)d=1;else if(e<_.t-this.offsetTime)d=0;else{var b;y.__fnct?b=y.__fnct:(b=xe.getBezierEasing(_.o.x,_.o.y,_.i.x,_.i.y).get,y.__fnct=b),d=b((e-(_.t-this.offsetTime))/(v.t-this.offsetTime-(_.t-this.offsetTime)))}a=v.s?v.s[0]:_.e[0]}i=_.s[0]}for(l=t._length,u=i.i[0].length,n.lastIndex=r,s=0;sr&&t>r)||(this._caching.lastIndex=i0||e>-1e-6&&e<0?r(e*t)/t:e}function P(){var e=this.props,t=N(e[0]),n=N(e[1]),r=N(e[4]),i=N(e[5]),a=N(e[12]),o=N(e[13]);return`matrix(`+t+`,`+n+`,`+r+`,`+i+`,`+a+`,`+o+`)`}return function(){this.reset=i,this.rotate=a,this.rotateX=o,this.rotateY=s,this.rotateZ=c,this.skew=u,this.skewFromAxis=d,this.shear=l,this.scale=f,this.setTransform=m,this.translate=h,this.transform=g,this.multiply=_,this.applyToPoint=S,this.applyToX=C,this.applyToY=w,this.applyToZ=T,this.applyToPointArray=A,this.applyToTriplePoints=k,this.applyToPointStringified=j,this.toCSS=M,this.to2dCSS=P,this.clone=b,this.cloneFromProps=x,this.equals=y,this.inversePoints=O,this.inversePoint=D,this.getInverseMatrix=E,this._t=this.transform,this.isIdentity=v,this._identity=!0,this._identityCalculated=!1,this.props=p(`float32`,16),this.reset()}}();function Ke(e){"@babel/helpers - typeof";return Ke=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ke(e)}var J={},Y=`__[STANDALONE]__`,qe=`__[ANIMATIONDATA]__`,Je=``;function Ye(e){s(e)}function Xe(){Y===!0?H.searchAnimations(qe,Y,Je):H.searchAnimations()}function Ze(e){re(e)}function Qe(e){ue(e)}function $e(e){return Y===!0&&(e.animationData=JSON.parse(qe)),H.loadAnimation(e)}function et(e){if(typeof e==`string`)switch(e){case`high`:ce(200);break;default:case`medium`:ce(50);break;case`low`:ce(10);break}else!isNaN(e)&&e>1&&ce(e)}function tt(){return typeof navigator<`u`}function nt(e,t){e===`expressions`&&ae(t)}function rt(e){switch(e){case`propertyFactory`:return G;case`shapePropertyFactory`:return Ge;case`matrix`:return q;default:return null}}J.play=H.play,J.pause=H.pause,J.setLocationHref=Ye,J.togglePause=H.togglePause,J.setSpeed=H.setSpeed,J.setDirection=H.setDirection,J.stop=H.stop,J.searchAnimations=Xe,J.registerAnimation=H.registerAnimation,J.loadAnimation=$e,J.setSubframeRendering=Ze,J.resize=H.resize,J.goToAndStop=H.goToAndStop,J.destroy=H.destroy,J.setQuality=et,J.inBrowser=tt,J.installPlugin=nt,J.freeze=H.freeze,J.unfreeze=H.unfreeze,J.setVolume=H.setVolume,J.mute=H.mute,J.unmute=H.unmute,J.getRegisteredAnimations=H.getRegisteredAnimations,J.useWebWorker=a,J.setIDPrefix=Qe,J.__getFactory=rt,J.version=`5.13.0`;function it(){document.readyState===`complete`&&(clearInterval(lt),Xe())}function at(e){for(var t=ot.split(`&`),n=0;n=1?a.push({s:e-1,e:t-1}):(a.push({s:e,e:1}),a.push({s:0,e:t-1}));var o=[],s,c=a.length,l;for(s=0;sr+n)){var u=l.s*i<=r?0:(l.s*i-r)/n,d=l.e*i>=r+n?1:(l.e*i-r)/n;o.push([u,d])}return o.length||o.push([0,0]),o},ft.prototype.releasePathsData=function(e){var t,n=e.length;for(t=0;t1?1+r:this.s.v<0?0+r:this.s.v+r,n=this.e.v>1?1+r:this.e.v<0?0+r:this.e.v+r,t>n){var i=t;t=n,n=i}t=Math.round(t*1e4)*1e-4,n=Math.round(n*1e4)*1e-4,this.sValue=t,this.eValue=n}else t=this.sValue,n=this.eValue;var a,o,s=this.shapes.length,c,l,u,d,f,p=0;if(n===t)for(o=0;o=0;--o)if(h=this.shapes[o],h.shape._mdf){for(g=h.localShapeCollection,g.releaseShapes(),this.m===2&&s>1?(b=this.calculateShapeEdges(t,n,h.totalShapeLength,y,p),y+=h.totalShapeLength):b=[[_,v]],l=b.length,c=0;c=1?m.push({s:h.totalShapeLength*(_-1),e:h.totalShapeLength*(v-1)}):(m.push({s:h.totalShapeLength*_,e:h.totalShapeLength}),m.push({s:0,e:h.totalShapeLength*(v-1)}));var x=this.addShapes(h,m[0]);if(m[0].s!==m[0].e){if(m.length>1)if(h.shape.paths.shapes[h.shape.paths._length-1].c){var S=x.pop();this.addPaths(x,g),x=this.addShapes(h,m[1],S)}else this.addPaths(x,g),x=this.addShapes(h,m[1]);this.addPaths(x,g)}}h.shape.paths=g}}else if(this._mdf)for(o=0;ot.e){n.c=!1;break}else t.s<=l&&t.e>=l+u.addedLength?(this.addSegment(i[a].v[s-1],i[a].o[s-1],i[a].i[s],i[a].v[s],n,d,g),g=!1):(p=Ee.getNewSegment(i[a].v[s-1],i[a].v[s],i[a].o[s-1],i[a].i[s],(t.s-l)/u.addedLength,(t.e-l)/u.addedLength,f[s-1]),this.addSegmentFromArray(p,n,d,g),g=!1,n.c=!1),l+=u.addedLength,d+=1;if(i[a].c&&f.length){if(u=f[s-1],l<=t.e){var _=f[s-1].addedLength;t.s<=l&&t.e>=l+_?(this.addSegment(i[a].v[s-1],i[a].o[s-1],i[a].i[0],i[a].v[0],n,d,g),g=!1):(p=Ee.getNewSegment(i[a].v[s-1],i[a].v[0],i[a].o[s-1],i[a].i[0],(t.s-l)/_,(t.e-l)/_,f[s-1]),this.addSegmentFromArray(p,n,d,g),g=!1,n.c=!1)}else n.c=!1;l+=u.addedLength,d+=1}if(n._length&&(n.setXYAt(n.v[h][0],n.v[h][1],`i`,h),n.setXYAt(n.v[n._length-1][0],n.v[n._length-1][1],`o`,n._length-1)),l>t.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/n,0),i=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/n,0)):(r=this.p.pv,i=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/n,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){r=[],i=[];var a=this.px,o=this.py;a._caching.lastFrame+a.offsetTime<=a.keyframes[0].t?(r[0]=a.getValueAtTime((a.keyframes[0].t+.01)/n,0),r[1]=o.getValueAtTime((o.keyframes[0].t+.01)/n,0),i[0]=a.getValueAtTime(a.keyframes[0].t/n,0),i[1]=o.getValueAtTime(o.keyframes[0].t/n,0)):a._caching.lastFrame+a.offsetTime>=a.keyframes[a.keyframes.length-1].t?(r[0]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/n,0),r[1]=o.getValueAtTime(o.keyframes[o.keyframes.length-1].t/n,0),i[0]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/n,0),i[1]=o.getValueAtTime((o.keyframes[o.keyframes.length-1].t-.01)/n,0)):(r=[a.pv,o.pv],i[0]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/n,a.offsetTime),i[1]=o.getValueAtTime((o._caching.lastFrame+o.offsetTime-.01)/n,o.offsetTime))}else i=e,r=i;this.v.rotate(-Math.atan2(r[1]-i[1],r[0]-i[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function r(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}function i(){}function a(e){this._addDynamicProperty(e),this.elem.addDynamicProperty(e),this._isDirty=!0}function o(e,t,n){if(this.elem=e,this.frameId=-1,this.propType=`transform`,this.data=t,this.v=new q,this.pre=new q,this.appliedTransformations=0,this.initDynamicPropertyContainer(n||e),t.p&&t.p.s?(this.px=G.getProp(e,t.p.x,0,0,this),this.py=G.getProp(e,t.p.y,0,0,this),t.p.z&&(this.pz=G.getProp(e,t.p.z,0,0,this))):this.p=G.getProp(e,t.p||{k:[0,0,0]},1,0,this),t.rx){if(this.rx=G.getProp(e,t.rx,0,D,this),this.ry=G.getProp(e,t.ry,0,D,this),this.rz=G.getProp(e,t.rz,0,D,this),t.or.k[0].ti){var r,i=t.or.k.length;for(r=0;r0;)--n,this._elements.unshift(t[n]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ht.prototype.resetElements=function(e){var t,n=e.length;for(t=0;t0?Math.floor(f):Math.ceil(f),h=this.pMatrix.props,g=this.rMatrix.props,_=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v=0;if(f>0){for(;vm;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),--v;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-p,!0),v-=p)}r=this.data.m===1?0:this._currentCopies-1,i=this.data.m===1?1:-1,a=this._currentCopies;for(var y,b;a;){if(t=this.elemsData[r].it,n=t[t.length-1].transform.mProps.v.props,b=n.length,t[t.length-1].transform.mProps._mdf=!0,t[t.length-1].transform.op._mdf=!0,t[t.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),v!==0){for((r!==0&&i===1||r!==this._currentCopies-1&&i===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(_[0],_[1],_[2],_[3],_[4],_[5],_[6],_[7],_[8],_[9],_[10],_[11],_[12],_[13],_[14],_[15]),this.matrix.transform(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]),y=0;y0&&r<1?[t]:[]:[t-r,t+r].filter(function(e){return e>0&&e<1})},wt.prototype.split=function(e){if(e<=0)return[Ct(this.points[0]),this];if(e>=1)return[this,Ct(this.points[this.points.length-1])];var t=bt(this.points[0],this.points[1],e),n=bt(this.points[1],this.points[2],e),r=bt(this.points[2],this.points[3],e),i=bt(t,n,e),a=bt(n,r,e),o=bt(i,a,e);return[new wt(this.points[0],t,i,o,!0),new wt(o,a,r,this.points[3],!0)]};function Tt(e,t){var n=e.points[0][t],r=e.points[e.points.length-1][t];if(n>r){var i=r;r=n,n=i}for(var a=xt(3*e.a[t],2*e.b[t],e.c[t]),o=0;o0&&a[o]<1){var s=e.point(a[o])[t];sr&&(r=s)}return{min:n,max:r}}wt.prototype.bounds=function(){return{x:Tt(this,0),y:Tt(this,1)}},wt.prototype.boundingBox=function(){var e=this.bounds();return{left:e.x.min,right:e.x.max,top:e.y.min,bottom:e.y.max,width:e.x.max-e.x.min,height:e.y.max-e.y.min,cx:(e.x.max+e.x.min)/2,cy:(e.y.max+e.y.min)/2}};function Et(e,t,n){var r=e.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:e,t:(t+n)/2,t1:t,t2:n}}function Dt(e){var t=e.bez.split(.5);return[Et(t[0],e.t1,e.t),Et(t[1],e.t,e.t2)]}function Ot(e,t){return Math.abs(e.cx-t.cx)*2=a||e.width<=r&&e.height<=r&&t.width<=r&&t.height<=r){i.push([e.t,t.t]);return}var o=Dt(e),s=Dt(t);kt(o[0],s[0],n+1,r,i,a),kt(o[0],s[1],n+1,r,i,a),kt(o[1],s[0],n+1,r,i,a),kt(o[1],s[1],n+1,r,i,a)}}wt.prototype.intersections=function(e,t,n){t===void 0&&(t=2),n===void 0&&(n=7);var r=[];return kt(Et(this,0,1),Et(e,0,1),0,t,r,n),r},wt.shapeSegment=function(e,t){var n=(t+1)%e.length();return new wt(e.v[t],e.o[t],e.i[n],e.v[n],!0)},wt.shapeSegmentInverted=function(e,t){var n=(t+1)%e.length();return new wt(e.v[n],e.i[n],e.o[t],e.v[t],!0)};function At(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function jt(e,t,n,r){var i=[e[0],e[1],1],a=[t[0],t[1],1],o=[n[0],n[1],1],s=[r[0],r[1],1],c=At(At(i,a),At(o,s));return vt(c[2])?null:[c[0]/c[2],c[1]/c[2]]}function X(e,t,n){return[e[0]+Math.cos(t)*n,e[1]-Math.sin(t)*n]}function Mt(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1])}function Nt(e,t){return _t(e[0],t[0])&&_t(e[1],t[1])}function Pt(){}u([dt],Pt),Pt.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amplitude=G.getProp(e,t.s,0,null,this),this.frequency=G.getProp(e,t.r,0,null,this),this.pointsType=G.getProp(e,t.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function Ft(e,t,n,r,i,a,o){var s=n-Math.PI/2,c=n+Math.PI/2,l=t[0]+Math.cos(n)*r*i,u=t[1]-Math.sin(n)*r*i;e.setTripleAt(l,u,l+Math.cos(s)*a,u-Math.sin(s)*a,l+Math.cos(c)*o,u-Math.sin(c)*o,e.length())}function It(e,t){var n=[t[0]-e[0],t[1]-e[1]],r=-Math.PI*.5;return[Math.cos(r)*n[0]-Math.sin(r)*n[1],Math.sin(r)*n[0]+Math.cos(r)*n[1]]}function Lt(e,t){var n=t===0?e.length()-1:t-1,r=(t+1)%e.length(),i=e.v[n],a=e.v[r],o=It(i,a);return Math.atan2(0,1)-Math.atan2(o[1],o[0])}function Rt(e,t,n,r,i,a,o){var s=Lt(t,n),c=t.v[n%t._length],l=t.v[n===0?t._length-1:n-1],u=t.v[(n+1)%t._length],d=a===2?Math.sqrt((c[0]-l[0])**2+(c[1]-l[1])**2):0,f=a===2?Math.sqrt((c[0]-u[0])**2+(c[1]-u[1])**2):0;Ft(e,t.v[n%t._length],s,o,r,f/((i+1)*2),d/((i+1)*2),a)}function zt(e,t,n,r,i,a){for(var o=0;o1&&t.length>1&&(i=Ut(e[0],t[t.length-1]),i)?[[e[0].split(i[0])[0]],[t[t.length-1].split(i[1])[1]]]:[n,r]}function Gt(e){for(var t,n=1;n1&&(t=Wt(e[e.length-1],e[0]),e[e.length-1]=t[0],e[0]=t[1]),e}function Kt(e,t){var n=e.inflectionPoints(),r,i,a,o;if(n.length===0)return[Vt(e,t)];if(n.length===1||_t(n[1],1))return a=e.split(n[0]),r=a[0],i=a[1],[Vt(r,t),Vt(i,t)];a=e.split(n[0]),r=a[0];var s=(n[1]-n[0])/(1-n[0]);return a=a[1].split(s),o=a[0],i=a[1],[Vt(r,t),Vt(o,t),Vt(i,t)]}function qt(){}u([dt],qt),qt.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amount=G.getProp(e,t.a,0,null,this),this.miterLimit=G.getProp(e,t.ml,0,null,this),this.lineJoin=t.lj,this._isAnimated=this.amount.effectsSequence.length!==0},qt.prototype.processPath=function(e,t,n,r){var i=He.newElement();i.c=e.c;var a=e.length();e.c||--a;var o,s,c,l=[];for(o=0;o=0;--o)c=wt.shapeSegmentInverted(e,o),l.push(Kt(c,t));l=Gt(l);var u=null,d=null;for(o=0;o0&&(o=!1),o){var u=l(`style`);u.setAttribute(`f-forigin`,n[r].fOrigin),u.setAttribute(`f-origin`,n[r].origin),u.setAttribute(`f-family`,n[r].fFamily),u.type=`text/css`,u.innerText=`@font-face {font-family: `+n[r].fFamily+`; font-style: normal; src: url('`+n[r].fPath+`');}`,t.appendChild(u)}}else if(n[r].fOrigin===`g`||n[r].origin===1){for(s=document.querySelectorAll(`link[f-forigin="g"], link[f-origin="1"]`),c=0;c=55296&&n<=56319){var r=e.charCodeAt(1);r>=56320&&r<=57343&&(t=(n-55296)*1024+r-56320+65536)}return t}function S(e,t){var n=e.toString(16)+t.toString(16);return d.indexOf(n)!==-1}function C(e){return e===s}function w(e){return e===o}function T(e){var t=x(e);return t>=c&&t<=u}function E(e){return T(e.substr(0,2))&&T(e.substr(2,2))}function D(e){return t.indexOf(e)!==-1}function O(e,t){var o=x(e.substr(t,2));if(o!==n)return!1;var s=0;for(t+=2;s<5;){if(o=x(e.substr(t,2)),oa)return!1;s+=1,t+=2}return x(e.substr(t,2))===r}function k(){this.isLoaded=!0}var A=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};return A.isModifier=S,A.isZeroWidthJoiner=C,A.isFlagEmoji=E,A.isRegionalCode=T,A.isCombinedCharacter=D,A.isRegionalFlag=O,A.isVariationSelector=w,A.BLACK_FLAG_CODE_POINT=n,A.prototype={addChars:_,addFonts:g,getCharData:v,getFontByName:b,measureText:y,checkLoadedFonts:m,setIsLoaded:k},A}();function Xt(e){this.animationData=e}Xt.prototype.getProp=function(e){return this.animationData.slots&&this.animationData.slots[e.sid]?Object.assign(e,this.animationData.slots[e.sid].p):e};function Zt(e){return new Xt(e)}function Qt(){}Qt.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){this.renderableComponents.indexOf(e)===-1&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){this.renderableComponents.indexOf(e)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,t=this.renderableComponents.length;for(e=0;e.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},mn.prototype.show=function(){},mn.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},mn.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},mn.prototype.resume=function(){this._canPlay=!0},mn.prototype.setRate=function(e){this.audio.rate(e)},mn.prototype.volume=function(e){this._volumeMultiplier=e,this._previousVolume=e*this._volume,this.audio.volume(this._previousVolume)},mn.prototype.getBaseElement=function(){return null},mn.prototype.destroy=function(){},mn.prototype.sourceRectAtTime=function(){},mn.prototype.initExpressions=function(){};function hn(){}hn.prototype.checkLayers=function(e){var t,n=this.layers.length,r;for(this.completeLayers=!0,t=n-1;t>=0;--t)this.elements[t]||(r=this.layers[t],r.ip-r.st<=e-this.layers[t].st&&r.op-r.st>e-this.layers[t].st&&this.buildItem(t)),this.completeLayers=this.elements[t]?this.completeLayers:!1;this.checkPendingElements()},hn.prototype.createItem=function(e){switch(e.ty){case 2:return this.createImage(e);case 0:return this.createComp(e);case 1:return this.createSolid(e);case 3:return this.createNull(e);case 4:return this.createShape(e);case 5:return this.createText(e);case 6:return this.createAudio(e);case 13:return this.createCamera(e);case 15:return this.createFootage(e);default:return this.createNull(e)}},hn.prototype.createCamera=function(){throw Error(`You're using a 3d camera. Try the html renderer.`)},hn.prototype.createAudio=function(e){return new mn(e,this.globalData,this)},hn.prototype.createFootage=function(e){return new pn(e,this.globalData,this)},hn.prototype.buildAllItems=function(){var e,t=this.layers.length;for(e=0;e0&&(this.maskElement.setAttribute(`id`,p),this.element.maskedElement.setAttribute(b,`url(`+c()+`#`+p+`)`),r.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}vn.prototype.getMaskProperty=function(e){return this.viewData[e].prop},vn.prototype.renderFrame=function(e){var t=this.element.finalTransform.mat,n,r=this.masksProperties.length;for(n=0;n1&&(r+=` C`+t.o[i-1][0]+`,`+t.o[i-1][1]+` `+t.i[0][0]+`,`+t.i[0][1]+` `+t.v[0][0]+`,`+t.v[0][1]),n.lastPath!==r){var o=``;n.elem&&(t.c&&(o=e.inv?this.solidPath+r:r),n.elem.setAttribute(`d`,o)),n.lastPath=r}},vn.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var yn=function(){var e={};e.createFilter=t,e.createAlphaToLuminanceFilter=n;function t(e,t){var n=z(`filter`);return n.setAttribute(`id`,e),t!==!0&&(n.setAttribute(`filterUnits`,`objectBoundingBox`),n.setAttribute(`x`,`0%`),n.setAttribute(`y`,`0%`),n.setAttribute(`width`,`100%`),n.setAttribute(`height`,`100%`)),n}function n(){var e=z(`feColorMatrix`);return e.setAttribute(`type`,`matrix`),e.setAttribute(`color-interpolation-filters`,`sRGB`),e.setAttribute(`values`,`0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1`),e}return e}(),bn=function(){var e={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<`u`};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(e.maskType=!1),/firefox/i.test(navigator.userAgent)&&(e.svgLumaHidden=!1),e}(),xn={},Sn=`filter_result_`;function Cn(e){var t,n=`SourceGraphic`,r=e.data.ef?e.data.ef.length:0,i=I(),a=yn.createFilter(i,!0),o=0;this.filters=[];var s;for(t=0;t=0&&(n=this.shapeModifiers[e].processShapes(this._isFirstFrame),!n);--e);}},searchProcessedElement:function(e){for(var t=this.processedElements,n=0,r=t.length;n.01)return!1;n+=1}return!0},Rn.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var e=0,t=this.data.k.k.length;e0;)c=r.transformers[g].mProps._mdf||c,--h,--g;if(c)for(h=f-r.styles[u].lvl,g=r.transformers.length-1;h>0;)m.multiply(r.transformers[g].mProps.v),--h,--g}else m=e;if(p=r.sh.paths,o=p._length,c){for(s=``,a=0;a=1?v=.99:v<=-1&&(v=-.99);var y=g*v,b=Math.cos(_+t.a.v)*y+a[0],x=Math.sin(_+t.a.v)*y+a[1];r.setAttribute(`fx`,b),r.setAttribute(`fy`,x),i&&!t.g._collapsable&&(t.of.setAttribute(`fx`,b),t.of.setAttribute(`fy`,x))}}}function u(e,t,n){var r=t.style,i=t.d;i&&(i._mdf||n)&&i.dashStr&&(r.pElem.setAttribute(`stroke-dasharray`,i.dashStr),r.pElem.setAttribute(`stroke-dashoffset`,i.dashoffset[0])),t.c&&(t.c._mdf||n)&&r.pElem.setAttribute(`stroke`,`rgb(`+C(t.c.v[0])+`,`+C(t.c.v[1])+`,`+C(t.c.v[2])+`)`),(t.o._mdf||n)&&r.pElem.setAttribute(`stroke-opacity`,t.o.v),(t.w._mdf||n)&&(r.pElem.setAttribute(`stroke-width`,t.w.v),r.msElem&&r.msElem.setAttribute(`stroke-width`,t.w.v))}return n}();function Gn(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(e,t,n),this.prevViewData=[]}u([dn,_n,wn,kn,Tn,fn,En],Gn),Gn.prototype.initSecondaryElement=function(){},Gn.prototype.identityMatrix=new q,Gn.prototype.buildExpressionInterface=function(){},Gn.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},Gn.prototype.filterUniqueShapes=function(){var e,t=this.shapes.length,n,r,i=this.stylesList.length,a,o=[],s=!1;for(r=0;r1&&s&&this.setShapesAsAnimated(o)}},Gn.prototype.setShapesAsAnimated=function(e){var t,n=e.length;for(t=0;t=0;--c){if(g=this.searchProcessedElement(e[c]),g?t[c]=n[g-1]:e[c]._render=o,e[c].ty===`fl`||e[c].ty===`st`||e[c].ty===`gf`||e[c].ty===`gs`||e[c].ty===`no`)g?t[c].style.closed=e[c].hd:t[c]=this.createStyleElement(e[c],i),e[c]._render&&t[c].style.pElem.parentNode!==r&&r.appendChild(t[c].style.pElem),f.push(t[c].style);else if(e[c].ty===`gr`){if(!g)t[c]=this.createGroupElement(e[c]);else for(d=t[c].it.length,u=0;u1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},qn.prototype.addEffect=function(e){this.effectsSequence.push(e),this.elem.addDynamicProperty(this)},qn.prototype.getValue=function(e){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!e)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var t=this.currentData,n=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var r,i=this.effectsSequence.length,a=e||this.data.d.k[this.keysIndex].s;for(r=0;rt);)n+=1;return this.keysIndex!==n&&(this.keysIndex=n),this.data.d.k[this.keysIndex].s},qn.prototype.buildFinalText=function(e){for(var t=[],n=0,r=e.length,i,a,o=!1,s=!1,c=``;n=55296&&i<=56319?Yt.isRegionalFlag(e,n)?c=e.substr(n,14):(a=e.charCodeAt(n+1),a>=56320&&a<=57343&&(Yt.isModifier(i,a)?(c=e.substr(n,2),o=!0):c=Yt.isFlagEmoji(e.substr(n,4))?e.substr(n,4):e.substr(n,2))):i>56319?(a=e.charCodeAt(n+1),Yt.isVariationSelector(i)&&(o=!0)):Yt.isZeroWidthJoiner(i)&&(o=!0,s=!0),o?(t[t.length-1]+=c,o=!1):t.push(c),n+=c.length;return t},qn.prototype.completeTextData=function(e){e.__complete=!0;var t=this.elem.globalData.fontManager,n=this.data,r=[],i,a,o,s=0,c,l=n.m.g,u=0,d=0,f=0,p=[],m=0,h=0,g,_,v=t.getFontByName(e.f),y,b=0,x=Jt(v);e.fWeight=x.weight,e.fStyle=x.style,e.finalSize=e.s,e.finalText=this.buildFinalText(e.t),a=e.finalText.length,e.finalLineHeight=e.lh;var S=e.tr/1e3*e.finalSize,C;if(e.sz)for(var w=!0,T=e.sz[0],E=e.sz[1],D,O;w;){O=this.buildFinalText(e.t),D=0,m=0,a=O.length,S=e.tr/1e3*e.finalSize;var k=-1;for(i=0;iT&&O[i]!==` `?(k===-1?a+=1:i=k,D+=e.finalLineHeight||e.finalSize*1.2,O.splice(i,+(k===i),`\r`),k=-1,m=0):(m+=b,m+=S);D+=v.ascent*e.finalSize/100,this.canResize&&e.finalSize>this.minimumFontSize&&Eh?m:h,m=-2*S,c=``,o=!0,f+=1):c=j,t.chars?(y=t.getCharData(j,v.fStyle,t.getFontByName(e.f).fFamily),b=o?0:y.w*e.finalSize/100):b=t.measureText(c,e.f,e.finalSize),j===` `?A+=b+S:(m+=b+S+A,A=0),r.push({l:b,an:b,add:u,n:o,anIndexes:[],val:c,line:f,animatorJustifyOffset:0}),l==2){if(u+=b,c===``||c===` `||i===a-1){for((c===``||c===` `)&&(u-=b);d<=i;)r[d].an=u,r[d].ind=s,r[d].extra=b,d+=1;s+=1,u=0}}else if(l==3){if(u+=b,c===``||i===a-1){for(c===``&&(u-=b);d<=i;)r[d].an=u,r[d].ind=s,r[d].extra=b,d+=1;u=0,s+=1}}else r[s].ind=s,r[s].extra=0,s+=1;if(e.l=r,h=m>h?m:h,p.push(m),e.sz)e.boxWidth=e.sz[0],e.justifyOffset=0;else switch(e.boxWidth=h,e.j){case 1:e.justifyOffset=-e.boxWidth;break;case 2:e.justifyOffset=-e.boxWidth/2;break;default:e.justifyOffset=0}e.lineWidths=p;var M=n.a,N,P;_=M.length;var F,I,L=[];for(g=0;g<_;g+=1){for(N=M[g],N.a.sc&&(e.strokeColorAnim=!0),N.a.sw&&(e.strokeWidthAnim=!0),(N.a.fc||N.a.fh||N.a.fs||N.a.fb)&&(e.fillColorAnim=!0),I=0,F=N.s.b,i=0;i0?i=this.ne.v/100:a=-this.ne.v/100,this.xe.v>0?o=1-this.xe.v/100:s=1+this.xe.v/100;var c=xe.getBezierEasing(i,a,o,s).get,l=0,u=this.finalS,d=this.finalE,f=this.data.sh;if(f===2)l=d===u?+(r>=d):e(0,t(.5/(d-u)+(r-u)/(d-u),1)),l=c(l);else if(f===3)l=d===u?r>=d?0:1:1-e(0,t(.5/(d-u)+(r-u)/(d-u),1)),l=c(l);else if(f===4)d===u?l=0:(l=e(0,t(.5/(d-u)+(r-u)/(d-u),1)),l<.5?l*=2:l=1-2*(l-.5)),l=c(l);else if(f===5){if(d===u)l=0;else{var p=d-u;r=t(e(0,r+.5-u),d-u);var m=-p/2+r,h=p/2;l=Math.sqrt(1-m*m/(h*h))}l=c(l)}else f===6?(d===u?l=0:(r=t(e(0,r+.5-u),d-u),l=(1+Math.cos(Math.PI+Math.PI*2*r/(d-u)))/2),l=c(l)):(r>=n(u)&&(l=r-u<0?e(0,t(t(d,1)-(u-r),1)):e(0,t(d-r,1))),l=c(l));if(this.sm.v!==100){var g=this.sm.v*.01;g===0&&(g=1e-8);var _=.5-g*.5;l<_?l=0:(l=(l-_)/g,l>1&&(l=1))}return l*this.a.v},getValue:function(e){this.iterateDynamicProperties(),this._mdf=e||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,e&&this.data.r===2&&(this.e.v=this._currentTextLength);var t=this.data.r===2?1:100/this.data.totalChars,n=this.o.v/t,r=this.s.v/t+n,i=this.e.v/t+n;if(r>i){var a=r;r=i,i=a}this.finalS=r,this.finalE=i}},u([K],r);function i(e,t,n){return new r(e,t,n)}return{getTextSelectorProp:i}}();function Yn(e,t,n){var r={propType:!1},i=G.getProp,a=t.a;this.a={r:a.r?i(e,a.r,0,D,n):r,rx:a.rx?i(e,a.rx,0,D,n):r,ry:a.ry?i(e,a.ry,0,D,n):r,sk:a.sk?i(e,a.sk,0,D,n):r,sa:a.sa?i(e,a.sa,0,D,n):r,s:a.s?i(e,a.s,1,.01,n):r,a:a.a?i(e,a.a,1,0,n):r,o:a.o?i(e,a.o,0,.01,n):r,p:a.p?i(e,a.p,1,0,n):r,sw:a.sw?i(e,a.sw,0,0,n):r,sc:a.sc?i(e,a.sc,1,0,n):r,fc:a.fc?i(e,a.fc,1,0,n):r,fh:a.fh?i(e,a.fh,0,0,n):r,fs:a.fs?i(e,a.fs,0,.01,n):r,fb:a.fb?i(e,a.fb,0,.01,n):r,t:a.t?i(e,a.t,0,0,n):r},this.s=Jn.getTextSelectorProp(e,t.s,n),this.s.t=t.s.t}function Xn(e,t,n){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=e,this._renderType=t,this._elem=n,this._animatorsData=m(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(n)}Xn.prototype.searchProperties=function(){var e,t=this._textData.a.length,n,r=G.getProp;for(e=0;e=m+Se||!x?(T=(m+Se-g)/h.partialLength,ie=b.point[0]+(h.point[0]-b.point[0])*T,ae=b.point[1]+(h.point[1]-b.point[1])*T,a.translate(-n[0]*f[u].an*.005,-(n[1]*A)*.01),_=!1):x&&(g+=h.partialLength,v+=1,v>=x.length&&(v=0,y+=1,S[y]?x=S[y].points:D.v.c?(v=0,y=0,x=S[y].points):(g-=h.partialLength,x=null)),x&&(b=h,h=x[v],C=h.partialLength));re=f[u].an/2-f[u].add,a.translate(-re,0,0)}else re=f[u].an/2-f[u].add,a.translate(-re,0,0),a.translate(-n[0]*f[u].an*.005,-n[1]*A*.01,0);for(P=0;Pe?this.textSpans[e].span:z(s?`g`:`text`),b<=e){if(c.setAttribute(`stroke-linecap`,`butt`),c.setAttribute(`stroke-linejoin`,`round`),c.setAttribute(`stroke-miterlimit`,`4`),this.textSpans[e].span=c,s){var S=z(`g`);c.appendChild(S),this.textSpans[e].childSpan=S}this.textSpans[e].span=c,this.layerElement.appendChild(c)}c.style.display=`inherit`}if(l.reset(),d&&(o[e].n&&(f=-g,p+=n.yOffset,p+=+!!h,h=!1),this.applyTextPropertiesToMatrix(n,l,o[e].line,f,p),f+=o[e].l||0,f+=g),s){x=this.globalData.fontManager.getCharData(n.finalText[e],r.fStyle,this.globalData.fontManager.getFontByName(n.f).fFamily);var C;if(x.t===1)C=new ir(x.data,this.globalData,this);else{var w=Qn;x.data&&x.data.shapes&&(w=this.buildShapeData(x.data,n.finalSize)),C=new Gn(w,this.globalData,this)}if(this.textSpans[e].glyph){var T=this.textSpans[e].glyph;this.textSpans[e].childSpan.removeChild(T.layerElement),T.destroy()}this.textSpans[e].glyph=C,C._debug=!0,C.prepareFrame(0),C.renderFrame(),this.textSpans[e].childSpan.appendChild(C.layerElement),x.t===1&&this.textSpans[e].childSpan.setAttribute(`transform`,`scale(`+n.finalSize/100+`,`+n.finalSize/100+`)`)}else d&&c.setAttribute(`transform`,`translate(`+l.props[12]+`,`+l.props[13]+`)`),c.textContent=o[e].val,c.setAttributeNS(`http://www.w3.org/XML/1998/namespace`,`xml:space`,`preserve`)}d&&c&&c.setAttribute(`d`,u)}for(;e=0;--t)(this.completeLayers||this.elements[t])&&this.elements[t].prepareFrame(e-this.layers[t].st);if(this.globalData._mdf)for(t=0;t=0;--n)(this.completeLayers||this.elements[n])&&(this.elements[n].prepareFrame(this.renderedFrame-this.layers[n].st),this.elements[n]._mdf&&(this._mdf=!0))}},rr.prototype.renderInnerContent=function(){var e,t=this.layers.length;for(e=0;e=0;--n)e.finalTransform.multiply(e.transforms[n].transform.mProps.v);e._mdf=i},processSequences:function(e){var t,n=this.sequenceList.length;for(t=0;t=1){this.buffers=[];var e=this.globalData.canvasContext,t=lr.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(t);var n=lr.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(n),this.data.tt>=3&&!document._isProxy&&lr.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new dr(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var t=$t(this.data.bm);e.canvasContext.globalCompositeOperation=t}},createRenderableComponents:function(){this.maskManager=new fr(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(gn.TRANSFORM_EFFECT)},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0].getContext(`2d`);this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],t=e.getContext(`2d`);if(this.clearCanvas(t),t.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById(`tp`in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=lr.getLumaCanvas(this.canvasContext.canvas);n.getContext(`2d`).drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=mr[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation=`destination-over`,this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation=`source-over`}},renderFrame:function(e){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var t=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(t),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(t),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&=!1}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new q},pr.prototype.hide=pr.prototype.hideElement,pr.prototype.show=pr.prototype.showElement;function hr(e,t,n,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var i=4;t.ty===`rc`?i=5:t.ty===`el`?i=6:t.ty===`sr`&&(i=7),this.sh=Ge.getShapeProp(e,t,i,e);var a,o=n.length,s;for(a=0;a=0;--a){if(d=this.searchProcessedElement(e[a]),d?t[a]=n[d-1]:e[a]._shouldRender=r,e[a].ty===`fl`||e[a].ty===`st`||e[a].ty===`gf`||e[a].ty===`gs`)d?t[a].style.closed=!1:t[a]=this.createStyleElement(e[a],m),l.push(t[a].style);else if(e[a].ty===`gr`){if(!d)t[a]=this.createGroupElement(e[a]);else for(c=t[a].it.length,s=0;s=0;--i)t[i].ty===`tr`?(o=n[i].transform,this.renderShapeTransform(e,o)):t[i].ty===`sh`||t[i].ty===`el`||t[i].ty===`rc`||t[i].ty===`sr`?this.renderPath(t[i],n[i]):t[i].ty===`fl`?this.renderFill(t[i],n[i],o):t[i].ty===`st`?this.renderStroke(t[i],n[i],o):t[i].ty===`gf`||t[i].ty===`gs`?this.renderGradientFill(t[i],n[i],o):t[i].ty===`gr`?this.renderShape(o,t[i].it,n[i].it):t[i].ty;r&&this.drawLayer()},gr.prototype.renderStyledShape=function(e,t){if(this._isFirstFrame||t._mdf||e.transforms._mdf){var n=e.trNodes,r=t.paths,i,a,o,s=r._length;n.length=0;var c=e.transforms.finalTransform;for(o=0;o=1?u=.99:u<=-1&&(u=-.99);var d=c*u,f=Math.cos(l+t.a.v)*d+o[0],p=Math.sin(l+t.a.v)*d+o[1];i=a.createRadialGradient(f,p,0,o[0],o[1],c)}var m,h=e.g.p,g=t.g.c,_=1;for(m=0;ma&&c===`xMidYMid slice`||ii&&s===`meet`||ai&&s===`slice`)?this.transformCanvas.tx=(n-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr:l===`xMax`&&(ai&&s===`slice`)?this.transformCanvas.tx=(n-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,u===`YMid`&&(a>i&&s===`meet`||ai&&s===`meet`||a=0;--e)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},Z.prototype.renderFrame=function(e,t){if(!(this.renderedFrame===e&&this.renderConfig.clearCanvas===!0&&!t||this.destroyed||e===-1)){this.renderedFrame=e,this.globalData.frameNum=e-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||t,this.globalData.projectInterface.currentFrame=e;var n,r=this.layers.length;for(this.completeLayers||this.checkLayers(e),n=r-1;n>=0;--n)(this.completeLayers||this.elements[n])&&this.elements[n].prepareFrame(e-this.layers[n].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),n=r-1;n>=0;--n)(this.completeLayers||this.elements[n])&&this.elements[n].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},Z.prototype.buildItem=function(e){var t=this.elements;if(!(t[e]||this.layers[e].ty===99)){var n=this.createItem(this.layers[e],this,this.globalData);t[e]=n,n.initExpressions()}},Z.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},Z.prototype.hide=function(){this.animationItem.container.style.display=`none`},Z.prototype.show=function(){this.animationItem.container.style.display=`block`};function br(){this.opacity=-1,this.transform=p(`float32`,16),this.fillStyle=``,this.strokeStyle=``,this.lineWidth=``,this.lineCap=``,this.lineJoin=``,this.miterLimit=``,this.id=Math.random()}function xr(){this.stack=[],this.cArrPos=0,this.cTr=new q;var e,t=15;for(e=0;e=0;--t)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},Sr.prototype.destroy=function(){var e;for(e=this.layers.length-1;e>=0;--e)this.elements[e]&&this.elements[e].destroy();this.layers=null,this.elements=null},Sr.prototype.createComp=function(e){return new Sr(e,this.globalData,this)};function Cr(e,t){this.animationItem=e,this.renderConfig={clearCanvas:t&&t.clearCanvas!==void 0?t.clearCanvas:!0,context:t&&t.context||null,progressiveLoad:t&&t.progressiveLoad||!1,preserveAspectRatio:t&&t.preserveAspectRatio||`xMidYMid meet`,imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||`xMidYMid slice`,contentVisibility:t&&t.contentVisibility||`visible`,className:t&&t.className||``,id:t&&t.id||``,runExpressions:!t||t.runExpressions===void 0||t.runExpressions},this.renderConfig.dpr=t&&t.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=t&&t.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new xr,this.elements=[],this.pendingElements=[],this.transformMat=new q,this.completeLayers=!1,this.rendererType=`canvas`,this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}return u([Z],Cr),Cr.prototype.createComp=function(e){return new Sr(e,this.globalData,this)},_e(`canvas`,Cr),ut.registerModifier(`tm`,ft),ut.registerModifier(`pb`,pt),ut.registerModifier(`rp`,ht),ut.registerModifier(`rd`,gt),ut.registerModifier(`zz`,Pt),ut.registerModifier(`op`,qt),J}))}))(),1),St=0,Ct=e=>`${e}-${++St}`,wt=e=>({key:Ct(e),name:``,rarity:`1000`,sortOrder:`0`,file:null,animation:null,fileError:``}),Tt=()=>({key:Ct(`backdrop`),name:``,backdropID:`1`,rarity:`1000`,sortOrder:`0`,center:`#6f5bea`,edge:`#34278f`,pattern:`#a89df5`,text:`#ffffff`});function Et({data:e,compact:t=!1}){let n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(!n.current)return;let t=xt.default.loadAnimation({container:n.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)});return()=>t.destroy()},[e]),(0,U.jsx)(`div`,{className:`collectible-animation ${t?`compact`:``}`,ref:n})}function Dt({giftID:e,attribute:t}){let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(!1);return(0,g.useEffect)(()=>{let n=!1;return a(!1),x.giftCollectibleAnimation(e,t.kind,t.id).then(e=>{n||r(e)}).catch(()=>{n||a(!0)}),()=>{n=!0}},[e,t.id,t.kind]),i?(0,U.jsx)(`div`,{className:`collectible-animation compact failed`,children:`!`}):n?(0,U.jsx)(Et,{data:n,compact:!0}):(0,U.jsx)(`div`,{className:`collectible-animation compact loading`,children:(0,U.jsx)(A,{className:`spin`,size:15})})}async function Ot(e){let t=new Uint8Array(await e.arrayBuffer()),n=t;if(t.length>=2&&t[0]===31&&t[1]===139){if(!(`DecompressionStream`in window))throw Error(`This browser cannot preview TGS files`);let e=new Blob([t]).stream().pipeThrough(new DecompressionStream(`gzip`));n=new Uint8Array(await new Response(e).arrayBuffer())}let r=JSON.parse(new TextDecoder().decode(n));if(!r||typeof r!=`object`||Array.isArray(r))throw Error(`Invalid Lottie JSON`);return r}var kt=e=>Number.parseInt(e.replace(`#`,``),16),At=e=>e.rarity_kind===`permille`?`${e.rarity_permille}‰`:e.rarity_kind;function jt({gift:e,onClose:t,onPublished:n}){let{t:r}=W(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!0),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(`100`),[_,v]=(0,g.useState)(`1000`),[y,S]=(0,g.useState)(`gift-${e.GiftID}`),[C,w]=(0,g.useState)(``),[T,E]=(0,g.useState)([wt(`model`)]),[D,O]=(0,g.useState)([wt(`pattern`)]),[M,N]=(0,g.useState)([Tt()]);(0,g.useEffect)(()=>{let t=!1;return x.giftCollectibles(e.GiftID).then(n=>{t||(a(n),n.found&&(h(String(n.upgrade_stars??100)),v(String(n.supply_total??1e3)),S(n.slug_prefix??`gift-${e.GiftID}`)))}).catch(e=>d(b(e))).finally(()=>{t||s(!1)}),()=>{t=!0}},[e.GiftID]);let P=(0,g.useMemo)(()=>({models:T.reduce((e,t)=>e+Number(t.rarity||0),0),patterns:D.reduce((e,t)=>e+Number(t.rarity||0),0),backdrops:M.reduce((e,t)=>e+Number(t.rarity||0),0)}),[T,D,M]),F=()=>p(null),I=(e,t,n)=>{(e===`models`?E:O)(e=>e.map(e=>e.key===t?{...e,...n}:e)),F()};async function L(e,t,n){if(I(e,t.key,{file:n,animation:null,fileError:``}),n)try{let r=await Ot(n);I(e,t.key,{animation:r,fileError:``})}catch(n){I(e,t.key,{animation:null,fileError:b(n)})}}function ee(e,t=``){if(!C.trim())throw Error(r(`action.reasonRequired`));for(let e of[...T,...D])if(!e.file)throw Error(r(`collectibles.fileRequired`));let n=new FormData,i=e=>e.map(e=>({name:e.name.trim(),rarity_permille:Number(e.rarity),sort_order:Number(e.sortOrder),file_key:e.key}));n.set(`metadata`,JSON.stringify({command_id:t,reason:C.trim(),confirm:e,upgrade_stars:m,supply_total:Number(_),slug_prefix:y.trim().toLowerCase(),models:i(T),patterns:i(D),backdrops:M.map(e=>({name:e.name.trim(),backdrop_id:Number(e.backdropID),rarity_permille:Number(e.rarity),sort_order:Number(e.sortOrder),center_color:kt(e.center),edge_color:kt(e.edge),pattern_color:kt(e.pattern),text_color:kt(e.text)}))}));for(let e of[...T,...D])n.set(e.key,e.file,e.file.name);return n}async function R(){l(!0),d(``),p(null);try{p(await x.publishGiftCollectibles(e.GiftID,ee(!1)))}catch(e){d(b(e))}finally{l(!1)}}async function te(){if(f){l(!0),d(``);try{await x.publishGiftCollectibles(e.GiftID,ee(!0,f.command_id)),n(),t()}catch(e){d(b(e))}finally{l(!1)}}}let re=(e,t,n)=>(0,U.jsxs)(`section`,{className:`collectible-section`,children:[(0,U.jsxs)(`div`,{className:`collectible-section-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:r(`collectibles.${e}`)}),(0,U.jsx)(`span`,{children:r(`collectibles.rarityHint`)})]}),(0,U.jsxs)(`div`,{className:`collectible-section-tools`,children:[(0,U.jsxs)(q,{tone:P[e]>0?`good`:`neutral`,children:[P[e],`‰`]}),(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>{n([...t,wt(e===`models`?`model`:`pattern`)]),F()},children:[(0,U.jsx)(fe,{size:13}),r(`collectibles.addAttribute`)]})]})]}),(0,U.jsx)(`div`,{className:`collectible-rows`,children:t.map((i,a)=>(0,U.jsxs)(`div`,{className:`collectible-row animated`,children:[(0,U.jsx)(`div`,{className:`collectible-row-index`,children:a+1}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`common.name`)}),(0,U.jsx)(`input`,{value:i.name,maxLength:128,onChange:t=>I(e,i.key,{name:t.target.value})})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`collectibles.rarity`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,max:`1000`,value:i.rarity,onChange:t=>I(e,i.key,{rarity:t.target.value})})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`gifts.sortOrder`)}),(0,U.jsx)(`input`,{type:`number`,value:i.sortOrder,onChange:t=>I(e,i.key,{sortOrder:t.target.value})})]}),(0,U.jsxs)(`label`,{className:`collectible-file`,children:[(0,U.jsx)(`span`,{children:r(`gifts.animation`)}),(0,U.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.lottie,application/json,application/x-tgsticker`,onChange:t=>void L(e,i,t.target.files?.[0]??null)}),(0,U.jsxs)(`em`,{children:[(0,U.jsx)(ne,{size:13}),i.file?.name??r(`gifts.chooseFile`)]})]}),(0,U.jsx)(`div`,{className:`collectible-inline-preview`,children:i.animation?(0,U.jsx)(Et,{data:i.animation,compact:!0}):(0,U.jsx)(j,{size:16})}),(0,U.jsx)(`button`,{className:`icon-btn danger`,type:`button`,disabled:t.length===1,onClick:()=>{n(t.filter(e=>e.key!==i.key)),F()},"aria-label":r(`collectibles.remove`),children:(0,U.jsx)(V,{size:14})}),i.fileError&&(0,U.jsx)(`span`,{className:`collectible-file-error`,children:i.fileError})]},i.key))})]});return(0,Qe.createPortal)((0,U.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,U.jsxs)(`section`,{className:`modal command-modal collectible-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`collectibles.title`,{id:e.GiftID}),children:[(0,U.jsxs)(`div`,{className:`modal-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:r(`collectibles.eyebrow`)}),(0,U.jsx)(`h2`,{children:r(`collectibles.title`,{id:e.GiftID})}),(0,U.jsx)(`p`,{children:e.Title||`Gift #${e.GiftID}`})]}),(0,U.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:t,disabled:c,"aria-label":r(`action.close`),children:(0,U.jsx)(Se,{size:15})})]}),(0,U.jsxs)(`div`,{className:`command-body collectible-modal-body`,children:[o?(0,U.jsxs)(`div`,{className:`collectible-loading`,children:[(0,U.jsx)(A,{className:`spin`}),r(`common.loading`)]}):i?.found?(0,U.jsxs)(`section`,{className:`collectible-active`,children:[(0,U.jsxs)(`div`,{className:`collectible-active-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(ie,{size:18}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:r(`collectibles.activeRevision`,{revision:i.revision??0})}),(0,U.jsxs)(`span`,{children:[i.slug_prefix,` · ⭐ `,i.upgrade_stars,` · `,i.issued,` / `,i.supply_total]})]})]}),(0,U.jsx)(q,{tone:`good`,children:r(`collectibles.published`)})]}),(0,U.jsxs)(`div`,{className:`collectible-active-grid`,children:[[...i.models??[],...i.patterns??[]].map(t=>(0,U.jsxs)(`article`,{children:[(0,U.jsx)(Dt,{giftID:e.GiftID,attribute:t}),(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`strong`,{children:[t.name,t.crafted&&(0,U.jsx)(q,{children:`crafted`})]}),(0,U.jsxs)(`span`,{children:[r(`collectibles.${t.kind}`),` · `,At(t)]})]})]},`${t.kind}-${t.id}`)),(i.backdrops??[]).map(e=>(0,U.jsxs)(`article`,{children:[(0,U.jsx)(`div`,{className:`collectible-backdrop-preview`,style:{background:`radial-gradient(circle, #${(e.center_color??0).toString(16).padStart(6,`0`)}, #${(e.edge_color??0).toString(16).padStart(6,`0`)})`,color:`#${(e.text_color??16777215).toString(16).padStart(6,`0`)}`},children:`Aa`}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:e.name}),(0,U.jsxs)(`span`,{children:[r(`collectibles.backdrop`),` · `,At(e)]})]})]},`backdrop-${e.id}`))]})]}):(0,U.jsxs)(`div`,{className:`collectible-empty`,children:[(0,U.jsx)(ie,{size:22}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:r(`collectibles.noPool`)}),(0,U.jsx)(`span`,{children:r(`collectibles.noPoolHint`)})]})]}),(0,U.jsxs)(`section`,{className:`collectible-definition`,children:[(0,U.jsxs)(`div`,{className:`collectible-definition-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:r(`collectibles.publishNew`)}),(0,U.jsx)(`span`,{children:r(`collectibles.immutableHint`)})]}),(0,U.jsxs)(`div`,{className:`gift-format-chips`,children:[(0,U.jsx)(`span`,{children:`TGS`}),(0,U.jsx)(`span`,{children:`Lottie JSON`})]})]}),(0,U.jsxs)(`div`,{className:`gift-fields-grid collectible-main-fields`,children:[(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`collectibles.upgradeStars`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,value:m,onChange:e=>{h(e.target.value),F()}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`collectibles.supply`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,value:_,onChange:e=>{v(e.target.value),F()}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`collectibles.slug`)}),(0,U.jsx)(`input`,{value:y,maxLength:48,onChange:e=>{S(e.target.value.toLowerCase()),F()}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`gifts.reason`)}),(0,U.jsx)(`input`,{value:C,maxLength:1e3,placeholder:r(`gifts.reasonPlaceholder`),onChange:e=>w(e.target.value)})]})]}),re(`models`,T,E),re(`patterns`,D,O),(0,U.jsxs)(`section`,{className:`collectible-section`,children:[(0,U.jsxs)(`div`,{className:`collectible-section-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:r(`collectibles.backdrops`)}),(0,U.jsx)(`span`,{children:r(`collectibles.colorHint`)})]}),(0,U.jsxs)(`div`,{className:`collectible-section-tools`,children:[(0,U.jsxs)(q,{tone:P.backdrops>0?`good`:`neutral`,children:[P.backdrops,`‰`]}),(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>{N([...M,Tt()]),F()},children:[(0,U.jsx)(fe,{size:13}),r(`collectibles.addAttribute`)]})]})]}),(0,U.jsx)(`div`,{className:`collectible-rows`,children:M.map((e,t)=>(0,U.jsxs)(`div`,{className:`collectible-row backdrop`,children:[(0,U.jsx)(`div`,{className:`collectible-row-index`,children:t+1}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`common.name`)}),(0,U.jsx)(`input`,{value:e.name,maxLength:128,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,name:t.target.value}:n)),F()}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`collectibles.backdropID`)}),(0,U.jsx)(`input`,{type:`number`,min:`0`,value:e.backdropID,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,backdropID:t.target.value}:n)),F()}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`collectibles.rarity`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,max:`1000`,value:e.rarity,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,rarity:t.target.value}:n)),F()}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`gifts.sortOrder`)}),(0,U.jsx)(`input`,{type:`number`,value:e.sortOrder,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,sortOrder:t.target.value}:n)),F()}})]}),[`center`,`edge`,`pattern`,`text`].map(t=>(0,U.jsxs)(`label`,{className:`collectible-color`,children:[(0,U.jsx)(`span`,{children:r(`collectibles.color.${t}`)}),(0,U.jsx)(`input`,{type:`color`,value:e[t],onChange:n=>{N(M.map(r=>r.key===e.key?{...r,[t]:n.target.value}:r)),F()}})]},t)),(0,U.jsx)(`div`,{className:`collectible-backdrop-preview`,style:{background:`radial-gradient(circle, ${e.center}, ${e.edge})`,color:e.text},children:`Aa`}),(0,U.jsx)(`button`,{className:`icon-btn danger`,type:`button`,disabled:M.length===1,onClick:()=>{N(M.filter(t=>t.key!==e.key)),F()},"aria-label":r(`collectibles.remove`),children:(0,U.jsx)(V,{size:14})})]},e.key))})]})]}),u&&(0,U.jsx)(Ge,{children:u}),f&&(0,U.jsxs)(`div`,{className:`gift-validation`,children:[(0,U.jsxs)(`div`,{className:`gift-validation-head`,children:[(0,U.jsx)(k,{size:17}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:r(`collectibles.validationReady`)}),(0,U.jsx)(`span`,{children:r(`collectibles.validationHint`)})]})]}),(0,U.jsx)(`pre`,{children:JSON.stringify(f.details,null,2)})]})]}),(0,U.jsxs)(`div`,{className:`modal-actions`,children:[(0,U.jsx)(`button`,{className:`btn`,type:`button`,onClick:t,disabled:c,children:r(`common.close`)}),(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:R,disabled:c,children:[c?(0,U.jsx)(A,{className:`spin`,size:15}):(0,U.jsx)(ge,{size:15}),r(`gifts.validate`)]}),(0,U.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:te,disabled:c||!f,children:[(0,U.jsx)(H,{size:15}),r(`collectibles.publish`)]})]})]})}),document.body)}function X(e){return e.model_count+e.pattern_count+e.backdrop_count}function Mt(e){return e.model_count+e.pattern_count+e.backdrop_count}function Nt(e){let t=Number(e);return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function Pt({giftID:e,revision:t,compact:n=!1}){let r=(0,g.useRef)(null),i=(0,g.useRef)(null),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(``);(0,g.useEffect)(()=>{let t=!1;return x.giftAnimation(e).then(e=>{t||!r.current||(i.current?.destroy(),i.current=xt.default.loadAnimation({container:r.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)}))}).catch(e=>c(b(e))),()=>{t=!0,i.current?.destroy(),i.current=null}},[e,t]);function l(){i.current&&(a?i.current.pause():i.current.play(),o(!a))}return(0,U.jsxs)(`div`,{className:`gift-animation-shell ${n?`compact`:``}`,children:[(0,U.jsx)(`div`,{className:`gift-animation`,ref:r,children:s&&(0,U.jsx)(`span`,{children:s})}),(0,U.jsx)(`button`,{className:`gift-play`,type:`button`,onClick:l,"aria-label":a?`Pause`:`Play`,children:a?(0,U.jsx)(de,{size:14}):(0,U.jsx)(B,{size:14})})]})}function Ft({id:e}){let t=(0,g.useRef)(null);return(0,g.useEffect)(()=>{let n=!1,r=null;return x.defaultGiftAnimation(e).then(e=>{n||!t.current||(r=xt.default.loadAnimation({container:t.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)}))}).catch(()=>void 0),()=>{n=!0,r?.destroy()}},[e]),(0,U.jsx)(`div`,{className:`gift-animation-shell`,children:(0,U.jsx)(`div`,{className:`gift-animation`,ref:t})})}function It({sourceGiftID:e}){let t=(0,g.useRef)(null);return(0,g.useEffect)(()=>{let n=!1,r=null;return x.officialGiftAnimation(e).then(e=>{n||!t.current||(r=xt.default.loadAnimation({container:t.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)}))}).catch(()=>void 0),()=>{n=!0,r?.destroy()}},[e]),(0,U.jsx)(`div`,{className:`gift-animation-shell`,children:(0,U.jsx)(`div`,{className:`gift-animation`,ref:t})})}function Lt(){let{t:e}=W(),[t,n]=(0,g.useState)([]),[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(!1),[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)(null),[d,f]=(0,g.useState)(`default`),[p,m]=(0,g.useState)([]),[h,_]=(0,g.useState)(0),[v,y]=(0,g.useState)([]),[S,C]=(0,g.useState)(``),[w,T]=(0,g.useState)(`all`),[E,D]=(0,g.useState)(``),[O,j]=(0,g.useState)(!0),[M,N]=(0,g.useState)(`0`),[P,F]=(0,g.useState)(`0`),[ee,R]=(0,g.useState)(``),[te,re]=(0,g.useState)(`0`),[ae,oe]=(0,g.useState)(``),[se,ce]=(0,g.useState)(`50`),[le,ue]=(0,g.useState)(`50`),[z,B]=(0,g.useState)(`0`),[he,_e]=(0,g.useState)(!0),[ve,ye]=(0,g.useState)(``),[be,V]=(0,g.useState)(null),[xe,Ce]=(0,g.useState)(!1),[we,Te]=(0,g.useState)(``),[Ee,De]=(0,g.useState)(``),[Oe,ke]=(0,g.useState)(new Set),[Ae,je]=(0,g.useState)(``),[Me,Ne]=(0,g.useState)(!1),[Pe,Fe]=(0,g.useState)(``),[Ie,Le]=(0,g.useState)(10),[Re,G]=(0,g.useState)(1);async function K(){Te(``);try{n((await x.gifts()).Gifts??[])}catch(e){Te(b(e))}}(0,g.useEffect)(()=>{K()},[]),(0,g.useEffect)(()=>{!a||d!=="default"||p.length>0||x.defaultGifts().then(e=>m(e.gifts??[])).catch(e=>De(b(e)))},[a,d,p.length]),(0,g.useEffect)(()=>{!a||d!==`official`||v.length>0||x.officialGifts().then(e=>y(e.gifts??[])).catch(e=>De(b(e)))},[a,d,v.length]);let Be=(0,g.useMemo)(()=>p.find(e=>e.id===h)??null,[p,h]),Ue=(0,g.useMemo)(()=>v.find(e=>e.source_gift_id===E)??null,[v,E]),We=(0,g.useMemo)(()=>({all:v.length,upgrade:v.filter(e=>e.can_upgrade).length,craft:v.filter(e=>e.can_craft).length,basic:v.filter(e=>!e.can_upgrade).length}),[v]),Ke=(0,g.useMemo)(()=>{let e=S.trim().toLowerCase();return v.filter(t=>(w===`all`||w===`upgrade`&&t.can_upgrade||w===`craft`&&t.can_craft||w===`basic`&&!t.can_upgrade)&&(!e||t.source_gift_id.includes(e)||t.title.toLowerCase().includes(e)))},[v,S,w]),Y=(0,g.useMemo)(()=>{let e=r.trim().toLowerCase();return e?t.filter(t=>String(t.GiftID).includes(e)||t.Title.toLowerCase().includes(e)||t.SourceFormat.toLowerCase().includes(e)):t},[t,r]);(0,g.useEffect)(()=>{G(1)},[r,Ie]);let qe=Ie===`all`?1:Math.max(1,Math.ceil(Y.length/Ie)),Ye=Math.min(Re,qe),Xe=(0,g.useMemo)(()=>{if(Ie===`all`)return Y;let e=(Ye-1)*Ie;return Y.slice(e,e+Ie)},[Y,Ye,Ie]),Ze=Xe.length===0?0:Ie===`all`?1:(Ye-1)*Ie+1,et=Ze===0?0:Ze+Xe.length-1,tt=Xe.length>0&&Xe.every(e=>Oe.has(e.GiftID));function nt(e){ke(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function rt(){ke(e=>{if(tt){let t=new Set(e);for(let e of Xe)t.delete(e.GiftID);return t}let t=new Set(e);for(let e of Xe)t.add(e.GiftID);return t})}async function it(t){if(!Ae.trim()){Fe(e(`action.reasonRequired`));return}Ne(!0),Fe(``);let n=Array.from(Oe),r=0;for(let e of n)try{await x.action(`/api/actions/set-gift-enabled`,{gift_id:e,enabled:t,reason:Ae.trim(),confirm:!0})}catch{r++}Ne(!1),r>0?Fe(e(`gifts.bulkStatusFailed`,{failed:r,total:n.length})):(ke(new Set),je(``)),await K()}function at(t,n=``){if(!l)throw Error(e(`gifts.fileRequired`));if(!ve.trim())throw Error(e(`action.reasonRequired`));let r=new FormData;return r.set(`metadata`,JSON.stringify({command_id:n,reason:ve.trim(),confirm:t,gift_id:te,title:ae.trim(),stars:se,convert_stars:le,enabled:he,sort_order:Number(z)})),r.set(`file`,l,l.name),r}function ot(t,n=``){if(!h)throw Error(e(`gifts.defaultRequired`));if(!ve.trim())throw Error(e(`action.reasonRequired`));return{command_id:n,reason:ve.trim(),confirm:t,id:h}}function st(t,n=``){if(!E)throw Error(e(`gifts.officialRequired`));if(!ve.trim())throw Error(e(`action.reasonRequired`));return{command_id:n,reason:ve.trim(),confirm:t,source_gift_id:E,gift_id:te,title:ae.trim(),stars:se,convert_stars:le,enabled:he,sort_order:Number(z),include_collectible:O,upgrade_stars:M,supply_total:Number(P),slug_prefix:ee.trim().toLowerCase()}}function ct(t){D(t.source_gift_id),oe(t.title||e(`gifts.officialUnnamed`,{id:t.source_gift_id})),ce(String(t.stars)),ue(String(t.convert_stars)),j(t.can_upgrade),N(t.upgrade_stars),F(String(t.availability_total||1)),R(`official-${t.source_gift_id}`),V(null)}async function lt(){Ce(!0),De(``),V(null);try{V(d==="default"?await x.importDefaultGift(ot(!1)):d===`official`?await x.importOfficialGift(st(!1)):await x.importGift(at(!1)))}catch(e){De(b(e))}finally{Ce(!1)}}async function ut(){if(be){Ce(!0),De(``);try{d==="default"?await x.importDefaultGift(ot(!0,be.command_id)):d===`official`?await x.importOfficialGift(st(!0,be.command_id)):await x.importGift(at(!0,be.command_id)),V(null),u(null),re(`0`),oe(``),_(0),D(``),await K(),o(!1)}catch(e){De(b(e))}finally{Ce(!1)}}}function dt(){re(`0`),oe(``),ce(`50`),ue(`50`),B(`0`),_e(!0),ye(``),u(null),V(null),De(``),f(`default`),_(0),D(``),C(``),T(`all`),o(!0)}function ft(e){re(e.GiftID),oe(e.Title),ce(String(e.Stars)),ue(String(e.ConvertStars)),B(String(e.SortOrder)),_e(e.Enabled),ye(``),u(null),V(null),De(``),f(`file`),_(0),D(``),o(!0)}let pt=d==="default"?h>0:d===`official`?!!E:!!l;return(0,U.jsxs)(Ve,{title:e(`gifts.pageTitle`),eyebrow:e(`gifts.eyebrow`),actions:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>K(),disabled:xe,children:[(0,U.jsx)(pe,{size:15}),` `,e(`common.refresh`)]}),(0,U.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:dt,children:[(0,U.jsx)(fe,{size:15}),` `,e(`gifts.add`)]})]}),children:[we&&(0,U.jsx)(Ge,{children:we}),(0,U.jsxs)(`div`,{className:`metric-row gift-metrics`,children:[(0,U.jsx)(J,{label:e(`gifts.total`),value:String(t.length)}),(0,U.jsx)(J,{label:e(`gifts.enabled`),value:String(t.filter(e=>e.Enabled).length),tone:`good`}),(0,U.jsx)(J,{label:e(`gifts.received`),value:t.reduce((e,t)=>e+BigInt(t.ReceivedCount),0n).toString()}),(0,U.jsx)(J,{label:e(`gifts.formats`),value:`TGS / Lottie`})]}),(0,U.jsx)(He,{children:(0,U.jsxs)(`div`,{className:`toolbar`,children:[(0,U.jsxs)(`label`,{className:`searchbox`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:r,onChange:e=>i(e.target.value),placeholder:e(`gifts.searchPlaceholder`)})]}),(0,U.jsxs)(`label`,{className:`gift-page-size`,children:[(0,U.jsx)(`span`,{children:e(`gifts.perPage`)}),(0,U.jsxs)(`select`,{value:String(Ie),onChange:e=>Le(e.target.value===`all`?`all`:Number(e.target.value)),children:[(0,U.jsx)(`option`,{value:`10`,children:`10`}),(0,U.jsx)(`option`,{value:`20`,children:`20`}),(0,U.jsx)(`option`,{value:`50`,children:`50`}),(0,U.jsx)(`option`,{value:`100`,children:`100`}),(0,U.jsx)(`option`,{value:`all`,children:e(`gifts.perPageAll`)})]})]}),(0,U.jsx)(`span`,{className:`gift-list-summary`,children:e(`gifts.listSummary`,{shown:Y.length,total:t.length})})]})}),Oe.size>0&&(0,U.jsxs)(`div`,{className:`gift-bulk-toolbar`,children:[(0,U.jsx)(`span`,{className:`gift-bulk-count`,children:e(`gifts.bulkSelected`,{count:Oe.size})}),(0,U.jsxs)(`label`,{className:`gift-reason-field gift-bulk-reason`,children:[(0,U.jsx)(`span`,{children:e(`gifts.reason`)}),(0,U.jsx)(`input`,{value:Ae,placeholder:e(`gifts.reasonPlaceholder`),onChange:e=>je(e.target.value)})]}),(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>it(!0),disabled:Me,children:[Me?(0,U.jsx)(A,{className:`spin`,size:14}):(0,U.jsx)(k,{size:14}),` `,e(`gifts.bulkEnable`)]}),(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>it(!1),disabled:Me,children:[Me?(0,U.jsx)(A,{className:`spin`,size:14}):(0,U.jsx)(de,{size:14}),` `,e(`gifts.bulkDisable`)]}),(0,U.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>{ke(new Set),Fe(``)},disabled:Me,children:e(`common.close`)}),Pe&&(0,U.jsx)(`span`,{className:`gift-bulk-error`,children:Pe})]}),(0,U.jsx)(`div`,{className:`table-wrap gift-table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table gift-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{className:`gift-select-col`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:tt,onChange:rt,"aria-label":e(`gifts.bulkSelectAll`)})}),(0,U.jsx)(`th`,{children:e(`gifts.animation`)}),(0,U.jsx)(`th`,{children:e(`gifts.idRevision`)}),(0,U.jsx)(`th`,{children:e(`gifts.title`)}),(0,U.jsx)(`th`,{children:e(`gifts.price`)}),(0,U.jsx)(`th`,{children:e(`gifts.source`)}),(0,U.jsx)(`th`,{children:e(`gifts.received`)}),(0,U.jsx)(`th`,{children:e(`common.status`)}),(0,U.jsx)(`th`,{children:e(`common.updatedAt`)}),(0,U.jsx)(`th`,{children:e(`common.actions`)})]})}),(0,U.jsxs)(`tbody`,{children:[Xe.map(t=>(0,U.jsxs)(`tr`,{className:t.Enabled?``:`gift-row-disabled`,children:[(0,U.jsx)(`td`,{className:`gift-select-col`,children:(0,U.jsx)(`input`,{type:`checkbox`,checked:Oe.has(t.GiftID),onChange:()=>nt(t.GiftID),"aria-label":e(`gifts.bulkSelectOne`,{id:t.GiftID})})}),(0,U.jsx)(`td`,{children:(0,U.jsx)(Pt,{giftID:t.GiftID,revision:t.Revision,compact:!0})}),(0,U.jsxs)(`td`,{className:`mono`,children:[t.GiftID,` / `,t.Revision]}),(0,U.jsxs)(`td`,{children:[(0,U.jsx)(`strong`,{className:`gift-table-title`,children:t.Title||`Gift #${t.GiftID}`}),(0,U.jsxs)(`span`,{className:`gift-sort-order`,children:[e(`gifts.sortOrder`),`: `,t.SortOrder]})]}),(0,U.jsxs)(`td`,{children:[(0,U.jsxs)(`strong`,{className:`gift-table-price`,children:[`⭐ `,t.Stars]}),(0,U.jsxs)(`span`,{className:`gift-convert-price`,children:[`→ `,t.ConvertStars]})]}),(0,U.jsxs)(`td`,{children:[(0,U.jsx)(q,{children:t.SourceFormat}),(0,U.jsx)(`span`,{className:`gift-source-size`,children:Nt(t.AnimationSize)})]}),(0,U.jsx)(`td`,{children:t.ReceivedCount}),(0,U.jsx)(`td`,{children:(0,U.jsx)(q,{tone:t.Enabled?`good`:`neutral`,children:t.Enabled?e(`common.enabled`):e(`common.disabled`)})}),(0,U.jsx)(`td`,{children:ze(t.UpdatedAt)}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`div`,{className:`gift-table-actions`,children:[(0,U.jsxs)(`button`,{className:`btn compact-btn collectible-button`,type:`button`,onClick:()=>c(t),children:[(0,U.jsx)(ie,{size:13}),e(`collectibles.manage`)]}),(0,U.jsx)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>ft(t),children:e(`gifts.replace`)}),(0,U.jsx)($e,{compact:!0,tone:`neutral`,label:t.Enabled?e(`gifts.disable`):e(`gifts.enable`),path:`/api/actions/set-gift-enabled`,payload:()=>({gift_id:t.GiftID,enabled:!t.Enabled}),onDone:()=>void K()})]})})]},t.GiftID)),Xe.length===0&&(0,U.jsx)(Je,{colSpan:10})]})]})}),Ie!==`all`&&Y.length>0&&(0,U.jsxs)(`div`,{className:`gift-pager`,children:[(0,U.jsx)(`span`,{className:`gift-pager-range`,children:e(`gifts.pageRange`,{start:Ze,end:et,total:Y.length})}),(0,U.jsxs)(`div`,{className:`gift-pager-controls`,children:[(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>G(e=>Math.max(1,e-1)),disabled:Ye<=1,children:[(0,U.jsx)(I,{size:14}),` `,e(`gifts.pagePrev`)]}),(0,U.jsx)(`span`,{className:`gift-pager-page`,children:e(`gifts.pageOf`,{page:Ye,total:qe})}),(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>G(e=>Math.min(qe,e+1)),disabled:Ye>=qe,children:[e(`gifts.pageNext`),` `,(0,U.jsx)(L,{size:14})]})]})]}),a&&(0,Qe.createPortal)((0,U.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,U.jsxs)(`section`,{className:`modal command-modal gift-import-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":te===`0`?e(`gifts.importTitle`):e(`gifts.newRevision`,{id:te}),children:[(0,U.jsxs)(`div`,{className:`modal-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:e(`gifts.importEyebrow`)}),(0,U.jsx)(`h2`,{children:te===`0`?e(`gifts.importTitle`):e(`gifts.newRevision`,{id:te})})]}),(0,U.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:()=>o(!1),disabled:xe,"aria-label":e(`action.close`),children:(0,U.jsx)(Se,{size:15})})]}),(0,U.jsxs)(`div`,{className:`command-body gift-import-modal-body`,children:[(0,U.jsxs)(`div`,{className:`command-steps`,children:[(0,U.jsxs)(`div`,{className:`command-step ${pt?`done`:`active`}`,children:[(0,U.jsx)(`span`,{children:`1`}),(0,U.jsx)(`strong`,{children:e(`gifts.stepDetails`)})]}),(0,U.jsxs)(`div`,{className:`command-step ${be?`done`:pt?`active`:``}`,children:[(0,U.jsx)(`span`,{children:`2`}),(0,U.jsx)(`strong`,{children:e(`gifts.stepValidate`)})]}),(0,U.jsxs)(`div`,{className:`command-step ${be?`active`:``}`,children:[(0,U.jsx)(`span`,{children:`3`}),(0,U.jsx)(`strong`,{children:e(`gifts.stepImport`)})]})]}),te===`0`&&(0,U.jsxs)(`div`,{className:`gift-source-tabs`,children:[(0,U.jsx)(`button`,{className:`btn ${d==="default"?`primary`:``}`,type:`button`,onClick:()=>{f(`default`),V(null)},children:e(`gifts.defaultSource`)}),(0,U.jsx)(`button`,{className:`btn ${d===`official`?`primary`:``}`,type:`button`,onClick:()=>{f(`official`),V(null)},children:e(`gifts.officialSource`)}),(0,U.jsx)(`button`,{className:`btn ${d===`file`?`primary`:``}`,type:`button`,onClick:()=>{f(`file`),V(null)},children:e(`gifts.fileSource`)})]}),d==="default"&&te===`0`?(0,U.jsxs)(`section`,{className:`official-gift-picker`,children:[(0,U.jsxs)(`div`,{className:`gift-import-note`,children:[(0,U.jsx)(`span`,{children:e(`gifts.defaultHint`)}),(0,U.jsxs)(`div`,{className:`gift-format-chips`,children:[(0,U.jsx)(`span`,{children:p.length}),(0,U.jsx)(`span`,{children:`OwpenGram`})]})]}),(0,U.jsx)(`div`,{className:`official-gift-bulk-import`,children:(0,U.jsx)($e,{label:e(`gifts.importAllDefault`),path:`/api/actions/import-all-default-gifts`,payload:()=>({}),tone:`neutral`,icon:(0,U.jsx)(H,{size:14}),onDone:()=>void K()})}),(0,U.jsxs)(`div`,{className:`official-gift-list`,role:`listbox`,"aria-label":e(`gifts.defaultSelect`),children:[p.map(t=>{let n=t.id===h;return(0,U.jsxs)(`button`,{className:`official-gift-option ${n?`selected`:``}`,type:`button`,role:`option`,"aria-selected":n,onClick:()=>{_(t.id),V(null)},children:[(0,U.jsxs)(`span`,{className:`official-gift-option-head`,children:[(0,U.jsx)(`strong`,{children:t.title}),(0,U.jsxs)(`span`,{className:`mono`,children:[`⭐ `,t.stars]})]}),(0,U.jsxs)(`span`,{className:`official-gift-option-meta`,children:[(0,U.jsx)(`span`,{children:e(`gifts.officialAttributes`,{count:X(t)})}),t.limited&&(0,U.jsx)(`span`,{children:e(`gifts.limited`,{total:t.availability})}),t.require_premium&&(0,U.jsx)(`span`,{children:e(`gifts.premium`)})]}),(0,U.jsxs)(`span`,{className:`official-gift-capabilities`,children:[(0,U.jsx)(`span`,{className:t.upgradeable?`yes`:`no`,children:t.upgradeable?e(`gifts.canUpgrade`):e(`gifts.cannotUpgrade`)}),(0,U.jsx)(`span`,{className:t.craftable?`craft`:`no`,children:t.craftable?e(`gifts.canCraft`):e(`gifts.cannotCraft`)})]})]},t.id)}),p.length===0&&(0,U.jsx)(`div`,{className:`official-gift-empty`,children:e(`gifts.defaultEmpty`)})]}),Be&&(0,U.jsxs)(`div`,{className:`official-gift-selected`,children:[(0,U.jsx)(Ft,{id:Be.id}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:Be.title}),(0,U.jsxs)(`span`,{className:`mono`,children:[`⭐ `,Be.stars,` → `,Be.convert_stars]}),(0,U.jsxs)(`small`,{children:[Be.model_count,` `,e(`collectibles.models`),` · `,Be.pattern_count,` `,e(`collectibles.patterns`),` · `,Be.backdrop_count,` `,e(`collectibles.backdrops`)]}),(0,U.jsxs)(`span`,{className:`official-gift-capabilities`,children:[(0,U.jsx)(`span`,{className:Be.upgradeable?`yes`:`no`,children:Be.upgradeable?e(`gifts.canUpgrade`):e(`gifts.cannotUpgrade`)}),(0,U.jsx)(`span`,{className:Be.craftable?`craft`:`no`,children:Be.craftable?e(`gifts.canCraft`):e(`gifts.cannotCraft`)})]})]})]})]}):d===`official`&&te===`0`?(0,U.jsxs)(`section`,{className:`official-gift-picker`,children:[(0,U.jsxs)(`div`,{className:`gift-import-note`,children:[(0,U.jsx)(`span`,{children:e(`gifts.officialHint`)}),(0,U.jsxs)(`div`,{className:`gift-format-chips`,children:[(0,U.jsx)(`span`,{children:v.length}),(0,U.jsx)(`span`,{children:`SHA-256`})]})]}),(0,U.jsx)(`div`,{className:`official-gift-bulk-import`,children:(0,U.jsx)($e,{label:e(`gifts.importAllOfficial`),path:`/api/actions/import-all-official-gifts`,payload:()=>({}),tone:`neutral`,icon:(0,U.jsx)(H,{size:14}),onDone:()=>void K()})}),(0,U.jsxs)(`div`,{className:`official-gift-tools`,children:[(0,U.jsxs)(`label`,{className:`searchbox`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:S,onChange:e=>C(e.target.value),placeholder:e(`gifts.officialSearch`)})]}),(0,U.jsx)(`span`,{children:e(`gifts.officialResults`,{shown:Ke.length,total:v.length})})]}),(0,U.jsx)(`div`,{className:`official-gift-categories`,role:`group`,"aria-label":e(`gifts.officialCategoryLabel`),children:[`all`,`upgrade`,`craft`,`basic`].map(t=>(0,U.jsxs)(`button`,{className:w===t?`active`:``,type:`button`,"aria-pressed":w===t,onClick:()=>T(t),children:[e(`gifts.officialCategory.${t}`),(0,U.jsx)(`span`,{children:We[t]})]},t))}),(0,U.jsxs)(`div`,{className:`official-gift-list`,role:`listbox`,"aria-label":e(`gifts.officialSelect`),children:[Ke.map(t=>{let n=t.source_gift_id===E;return(0,U.jsxs)(`button`,{className:`official-gift-option ${n?`selected`:``}`,type:`button`,role:`option`,"aria-selected":n,onClick:()=>ct(t),children:[(0,U.jsxs)(`span`,{className:`official-gift-option-head`,children:[(0,U.jsx)(`strong`,{children:t.title||e(`gifts.officialUnnamed`,{id:t.source_gift_id})}),(0,U.jsxs)(`span`,{className:`mono`,children:[`#`,t.source_gift_id]})]}),(0,U.jsxs)(`span`,{className:`official-gift-option-meta`,children:[(0,U.jsxs)(`span`,{children:[`⭐ `,t.stars]}),(0,U.jsx)(`span`,{children:e(`gifts.officialAttributes`,{count:Mt(t)})})]}),(0,U.jsxs)(`span`,{className:`official-gift-capabilities`,children:[(0,U.jsx)(`span`,{className:t.can_upgrade?`yes`:`no`,children:t.can_upgrade?e(`gifts.canUpgrade`):e(`gifts.cannotUpgrade`)}),(0,U.jsx)(`span`,{className:t.can_craft?`craft`:`no`,children:t.can_craft?e(`gifts.canCraft`):e(`gifts.cannotCraft`)})]})]},t.source_gift_id)}),Ke.length===0&&(0,U.jsx)(`div`,{className:`official-gift-empty`,children:e(`gifts.officialEmpty`)})]}),Ue&&(0,U.jsxs)(`div`,{className:`official-gift-selected`,children:[(0,U.jsx)(It,{sourceGiftID:Ue.source_gift_id}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:Ue.title||e(`gifts.officialUnnamed`,{id:Ue.source_gift_id})}),(0,U.jsx)(`span`,{className:`mono`,children:Ue.source_gift_id}),(0,U.jsxs)(`small`,{children:[Ue.model_count,` `,e(`collectibles.models`),` · `,Ue.pattern_count,` `,e(`collectibles.patterns`),` · `,Ue.backdrop_count,` `,e(`collectibles.backdrops`)]}),(0,U.jsxs)(`span`,{className:`official-gift-capabilities`,children:[(0,U.jsx)(`span`,{className:Ue.can_upgrade?`yes`:`no`,children:Ue.can_upgrade?e(`gifts.canUpgrade`):e(`gifts.cannotUpgrade`)}),(0,U.jsx)(`span`,{className:Ue.can_craft?`craft`:`no`,children:Ue.can_craft?e(`gifts.canCraft`):e(`gifts.cannotCraft`)})]})]})]}),Ue?.can_upgrade&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`gift-switch`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:O,onChange:e=>{j(e.target.checked),V(null)}}),(0,U.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,U.jsx)(`span`,{})}),(0,U.jsx)(`span`,{children:e(`gifts.includeCollectible`)})]}),O&&(0,U.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`collectibles.upgradeStars`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,value:M,onChange:e=>{N(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`collectibles.supply`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,value:P,onChange:e=>{F(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`collectibles.slug`)}),(0,U.jsx)(`input`,{value:ee,maxLength:48,onChange:e=>{R(e.target.value.toLowerCase()),V(null)}})]})]})]}),(0,U.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.title`)}),(0,U.jsx)(`input`,{value:ae,maxLength:128,placeholder:e(`gifts.titlePlaceholder`),onChange:e=>{oe(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.stars`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,value:se,onChange:e=>{ce(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.convertStars`)}),(0,U.jsx)(`input`,{type:`number`,min:`0`,value:le,onChange:e=>{ue(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.sortOrder`)}),(0,U.jsx)(`input`,{type:`number`,value:z,onChange:e=>{B(e.target.value),V(null)}})]})]}),(0,U.jsxs)(`label`,{className:`gift-switch`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:he,onChange:e=>{_e(e.target.checked),V(null)}}),(0,U.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,U.jsx)(`span`,{})}),(0,U.jsx)(`span`,{children:e(`gifts.enableAfterImport`)})]})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`gift-import-note`,children:[(0,U.jsx)(`span`,{children:e(`gifts.importHint`)}),(0,U.jsxs)(`div`,{className:`gift-format-chips`,"aria-label":e(`gifts.formats`),children:[(0,U.jsx)(`span`,{children:`TGS`}),(0,U.jsx)(`span`,{children:`Lottie JSON`})]})]}),(0,U.jsxs)(`label`,{className:`gift-file-picker ${l?`has-file`:``}`,children:[(0,U.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.lottie,application/json,application/x-tgsticker`,onChange:e=>{u(e.target.files?.[0]??null),V(null)}}),(0,U.jsx)(`span`,{className:`gift-file-icon`,children:(0,U.jsx)(ne,{size:22})}),(0,U.jsxs)(`span`,{className:`gift-file-copy`,children:[(0,U.jsx)(`span`,{className:`gift-field-label`,children:e(`gifts.animation`)}),(0,U.jsx)(`strong`,{children:l?l.name:e(`gifts.filePrompt`)}),(0,U.jsx)(`small`,{children:l?Nt(l.size):e(`gifts.fileHint`)})]}),(0,U.jsx)(`span`,{className:`gift-file-action`,children:e(l?`gifts.changeFile`:`gifts.chooseFile`)})]}),(0,U.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.title`)}),(0,U.jsx)(`input`,{value:ae,maxLength:128,placeholder:e(`gifts.titlePlaceholder`),onChange:e=>{oe(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.stars`)}),(0,U.jsx)(`input`,{type:`number`,min:`1`,value:se,onChange:e=>{ce(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.convertStars`)}),(0,U.jsx)(`input`,{type:`number`,min:`0`,value:le,onChange:e=>{ue(e.target.value),V(null)}})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:e(`gifts.sortOrder`)}),(0,U.jsx)(`input`,{type:`number`,value:z,onChange:e=>{B(e.target.value),V(null)}})]})]}),(0,U.jsxs)(`label`,{className:`gift-switch`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:he,onChange:e=>{_e(e.target.checked),V(null)}}),(0,U.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,U.jsx)(`span`,{})}),(0,U.jsx)(`span`,{children:e(`gifts.enableAfterImport`)})]})]}),(0,U.jsxs)(`label`,{className:`gift-reason-field`,children:[(0,U.jsx)(`span`,{children:e(`gifts.reason`)}),(0,U.jsx)(`input`,{value:ve,placeholder:e(`gifts.reasonPlaceholder`),onChange:e=>ye(e.target.value)})]}),Ee&&(0,U.jsx)(Ge,{children:Ee}),be&&(0,U.jsxs)(`div`,{className:`gift-validation`,children:[(0,U.jsxs)(`div`,{className:`gift-validation-head`,children:[(0,U.jsx)(k,{size:17}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`strong`,{children:e(`gifts.validationReady`)}),(0,U.jsx)(`span`,{children:e(`gifts.validationHint`)})]})]}),(0,U.jsx)(`pre`,{children:JSON.stringify(be.details,null,2)})]})]}),(0,U.jsxs)(`div`,{className:`modal-actions`,children:[(0,U.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>o(!1),disabled:xe,children:e(`common.close`)}),(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:lt,disabled:xe,children:[xe?(0,U.jsx)(A,{className:`spin`,size:15}):(0,U.jsx)(ge,{size:15}),e(`gifts.validate`)]}),(0,U.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:ut,disabled:xe||!be,children:[(0,U.jsx)(H,{size:15}),e(`gifts.confirmImport`)]})]})]})}),document.body),s&&(0,U.jsx)(jt,{gift:s,onClose:()=>c(null),onPublished:()=>void K()})]})}function Rt({documentID:e,className:t=``,showError:n=!0}){let r=(0,g.useRef)(null),i=(0,g.useRef)(null),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(null);return(0,g.useEffect)(()=>{let t=!1,n=null;return o(``),c(null),fetch(x.stickerDocumentAnimationURL(e),{credentials:`same-origin`}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error||e.statusText)}if((e.headers.get(`content-type`)??``).includes(`json`)){let n=await e.json();if(t||!r.current)return;i.current?.destroy(),i.current=xt.default.loadAnimation({container:r.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:n});return}let a=await e.blob();t||(n=URL.createObjectURL(a),c(n))}).catch(e=>{t||o(b(e))}),()=>{t=!0,i.current?.destroy(),i.current=null,n&&URL.revokeObjectURL(n)}},[e]),(0,U.jsxs)(`div`,{className:`sticker-doc-cell ${t}`.trim(),children:[s?(0,U.jsx)(`img`,{className:`sticker-doc-image`,src:s,alt:``}):(0,U.jsx)(`div`,{className:`sticker-doc-canvas`,ref:r}),a&&n&&(0,U.jsx)(`span`,{className:`sticker-doc-error`,children:a})]})}function zt({kind:e,onClose:t,onCreated:n}){let{t:r}=W(),i=e===`emoji`?`emoji`:`sticker`,[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(null),[p,m]=(0,g.useState)(``),[h,_]=(0,g.useState)(!1),[v,y]=(0,g.useState)(``);async function S(){if(!a.trim()||!s.trim()||!l.trim()||!d){y(r(`stickers.createFieldsRequired`,{noun:i}));return}if(!p.trim()){y(r(`action.reasonRequired`));return}_(!0),y(``);try{let r=new FormData;r.set(`metadata`,JSON.stringify({command_id:``,reason:p.trim(),confirm:!0,title:a.trim(),short_name:s.trim().toLowerCase(),kind:e,emoji:l.trim()})),r.set(`file`,d,d.name),await x.createStickerSet(r),n(),t()}catch(e){y(b(e))}finally{_(!1)}}return(0,Qe.createPortal)((0,U.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,U.jsxs)(`section`,{className:`modal command-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`stickers.createTitle`,{noun:i}),children:[(0,U.jsxs)(`div`,{className:`modal-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:r(`stickers.createEyebrow`)}),(0,U.jsx)(`h2`,{children:r(`stickers.createTitle`,{noun:i})})]}),(0,U.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:t,disabled:h,"aria-label":r(`action.close`),children:(0,U.jsx)(Se,{size:15})})]}),(0,U.jsxs)(`div`,{className:`command-body`,children:[(0,U.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`stickers.title`)}),(0,U.jsx)(`input`,{value:a,maxLength:64,onChange:e=>o(e.target.value)})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`stickers.shortName`)}),(0,U.jsx)(`input`,{value:s,maxLength:32,onChange:e=>c(e.target.value),placeholder:r(`stickers.shortNamePlaceholder`)})]}),(0,U.jsxs)(`label`,{children:[(0,U.jsx)(`span`,{children:r(`stickers.emoji`)}),(0,U.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:r(`stickers.emojiPlaceholder`)})]})]}),(0,U.jsxs)(`label`,{className:`gift-file-picker ${d?`has-file`:``}`,children:[(0,U.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.webp,application/json,application/x-tgsticker,image/webp`,onChange:e=>f(e.target.files?.[0]??null)}),(0,U.jsxs)(`span`,{className:`gift-file-copy`,children:[(0,U.jsx)(`span`,{className:`gift-field-label`,children:r(`stickers.firstSticker`,{noun:i})}),(0,U.jsx)(`strong`,{children:d?d.name:r(`stickers.filePrompt`)})]}),(0,U.jsx)(`span`,{className:`gift-file-action`,children:r(d?`gifts.changeFile`:`gifts.chooseFile`)})]}),(0,U.jsxs)(`label`,{className:`gift-reason-field`,children:[(0,U.jsx)(`span`,{children:r(`gifts.reason`)}),(0,U.jsx)(`input`,{value:p,placeholder:r(`gifts.reasonPlaceholder`),onChange:e=>m(e.target.value)})]}),v&&(0,U.jsx)(Ge,{children:v})]}),(0,U.jsxs)(`div`,{className:`modal-actions`,children:[(0,U.jsx)(`button`,{className:`btn`,type:`button`,onClick:t,disabled:h,children:r(`common.close`)}),(0,U.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:S,disabled:h,children:[h?(0,U.jsx)(A,{className:`spin`,size:15}):(0,U.jsx)(H,{size:15}),r(`stickers.create`,{noun:i})]})]})]})}),document.body)}var Bt=24;function Vt({set:e,onClose:t}){let{t:n}=W(),r=e.Kind===`emoji`?`emoji`:`sticker`,[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(1),u=(0,g.useCallback)(()=>{let t=!1;return s(``),x.stickerSetDocuments(e.ID).then(e=>{t||a(e.document_ids??[])}).catch(e=>{t||s(b(e))}),()=>{t=!0}},[e.ID]);(0,g.useEffect)(()=>(a(null),l(1),u()),[u]);let d=i?.length??0,f=Math.max(1,Math.ceil(d/Bt)),p=Math.min(c,f),m=(p-1)*Bt,h=i?.slice(m,m+Bt)??[],_=h.length===0?0:m+1,v=_===0?0:_+h.length-1;return(0,Qe.createPortal)((0,U.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,U.jsxs)(`section`,{className:`modal command-modal sticker-preview-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":e.Title||`#${e.ID}`,children:[(0,U.jsxs)(`div`,{className:`modal-head`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`eyebrow`,children:n(`stickers.previewEyebrow`)}),(0,U.jsx)(`h2`,{children:e.Title||`#${e.ID}`})]}),(0,U.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:t,"aria-label":n(`action.close`),children:(0,U.jsx)(Se,{size:15})})]}),(0,U.jsxs)(`div`,{className:`command-body`,children:[(0,U.jsx)(Ht,{setID:e.ID,noun:r,onAdded:u}),o&&(0,U.jsx)(Ge,{children:o}),!o&&i===null&&(0,U.jsxs)(`div`,{className:`loading-line`,children:[(0,U.jsx)(A,{className:`spin`,size:18}),` `,n(`common.loading`)]}),i!==null&&d===0&&!o&&(0,U.jsx)(`div`,{className:`empty-panel`,children:n(`stickers.previewEmpty`)}),h.length>0&&(0,U.jsx)(`div`,{className:`sticker-doc-grid`,children:h.map(t=>(0,U.jsxs)(`div`,{className:`sticker-doc-grid-cell`,children:[(0,U.jsx)(Rt,{documentID:t}),(0,U.jsx)($e,{compact:!0,tone:`danger`,label:n(`stickers.removeSticker`,{noun:r}),icon:(0,U.jsx)(V,{size:12}),path:`/api/actions/remove-sticker-from-set`,payload:()=>({set_id:e.ID,document_id:t}),onDone:u})]},t))},p),d>Bt&&(0,U.jsxs)(`div`,{className:`gift-pager`,children:[(0,U.jsx)(`span`,{className:`gift-pager-range`,children:n(`gifts.pageRange`,{start:_,end:v,total:d})}),(0,U.jsxs)(`div`,{className:`gift-pager-controls`,children:[(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>l(e=>Math.max(1,e-1)),disabled:p<=1,children:[(0,U.jsx)(I,{size:14}),` `,n(`gifts.pagePrev`)]}),(0,U.jsx)(`span`,{className:`gift-pager-page`,children:n(`gifts.pageOf`,{page:p,total:f})}),(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>l(e=>Math.min(f,e+1)),disabled:p>=f,children:[n(`gifts.pageNext`),` `,(0,U.jsx)(L,{size:14})]})]})]})]})]})}),document.body)}function Ht({setID:e,noun:t,onAdded:n}){let{t:r}=W(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(``);async function m(){if(!i){p(r(`stickers.fileRequired`,{noun:t}));return}if(!o.trim()){p(r(`stickers.emojiRequired`));return}if(!c.trim()){p(r(`action.reasonRequired`));return}d(!0),p(``);try{let t=new FormData;t.set(`metadata`,JSON.stringify({command_id:``,reason:c.trim(),confirm:!0,set_id:e,emoji:o.trim()})),t.set(`file`,i,i.name),await x.addStickerToSet(t),a(null),s(``),l(``),n()}catch(e){p(b(e))}finally{d(!1)}}return(0,U.jsxs)(`div`,{className:`sticker-add-form`,children:[(0,U.jsxs)(`label`,{className:`gift-file-picker compact ${i?`has-file`:``}`,children:[(0,U.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.webp,application/json,application/x-tgsticker,image/webp`,onChange:e=>a(e.target.files?.[0]??null)}),(0,U.jsx)(`span`,{className:`gift-file-copy`,children:(0,U.jsx)(`strong`,{children:i?i.name:r(`stickers.filePrompt`)})})]}),(0,U.jsx)(`input`,{className:`small-input`,value:o,onChange:e=>s(e.target.value),placeholder:r(`stickers.emojiPlaceholder`)}),(0,U.jsx)(`input`,{className:`small-input`,value:c,onChange:e=>l(e.target.value),placeholder:r(`action.reasonPlaceholder`)}),(0,U.jsxs)(`button`,{className:`btn primary compact-btn`,type:`button`,onClick:m,disabled:u,children:[u?(0,U.jsx)(A,{className:`spin`,size:14}):(0,U.jsx)(fe,{size:14}),` `,r(`stickers.addSticker`,{noun:t})]}),f&&(0,U.jsx)(`span`,{className:`sticker-add-form-error`,children:f})]})}function Ut({kind:e}){let{t}=W(),[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(10),[f,p]=(0,g.useState)(1),[m,h]=(0,g.useState)({}),[_,v]=(0,g.useState)({}),[y,S]=(0,g.useState)(null),[C,w]=(0,g.useState)(!1),T=e===`emoji`?`stickers.emojiPageTitle`:`stickers.pageTitle`,E=e===`emoji`?`stickers.emojiEyebrow`:`stickers.eyebrow`,D=e===`emoji`?`emoji`:`sticker`;async function O(){s(!0),l(``);try{r((await x.stickerSets(e)).rows??[])}catch(e){l(b(e))}finally{s(!1)}}(0,g.useEffect)(()=>{O()},[e]);let k=(0,g.useMemo)(()=>{let e=i.trim().toLowerCase();return e?n.filter(t=>String(t.ID).includes(e)||t.ShortName.toLowerCase().includes(e)||t.Title.toLowerCase().includes(e)):n},[n,i]);(0,g.useEffect)(()=>{p(1)},[i,u,e]);let A=u===`all`?1:Math.max(1,Math.ceil(k.length/u)),j=Math.min(f,A),M=(0,g.useMemo)(()=>{if(u===`all`)return k;let e=(j-1)*u;return k.slice(e,e+u)},[k,j,u]),N=M.length===0?0:u===`all`?1:(j-1)*u+1,P=N===0?0:N+M.length-1,F=(0,g.useMemo)(()=>({total:n.length,official:n.filter(e=>e.Official).length,archived:n.filter(e=>e.Archived).length}),[n]);return(0,U.jsxs)(Ve,{title:t(T),eyebrow:t(E),actions:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>O(),disabled:o,children:[(0,U.jsx)(pe,{size:15}),` `,t(`common.refresh`)]}),(0,U.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:()=>w(!0),children:[(0,U.jsx)(fe,{size:15}),` `,t(`stickers.create`,{noun:D})]})]}),children:[c&&(0,U.jsx)(Ge,{children:c}),(0,U.jsxs)(`div`,{className:`metric-row`,children:[(0,U.jsx)(J,{label:t(`stickers.total`),value:String(F.total)}),(0,U.jsx)(J,{label:t(`stickers.official`),value:String(F.official),tone:`good`}),(0,U.jsx)(J,{label:t(`stickers.archived`),value:String(F.archived),tone:F.archived>0?`warn`:`neutral`})]}),(0,U.jsx)(He,{children:(0,U.jsxs)(`div`,{className:`toolbar`,children:[(0,U.jsxs)(`label`,{className:`searchbox`,children:[(0,U.jsx)(me,{size:15}),(0,U.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:t(`stickers.searchPlaceholder`)})]}),(0,U.jsxs)(`label`,{className:`gift-page-size`,children:[(0,U.jsx)(`span`,{children:t(`gifts.perPage`)}),(0,U.jsxs)(`select`,{value:String(u),onChange:e=>d(e.target.value===`all`?`all`:Number(e.target.value)),children:[(0,U.jsx)(`option`,{value:`10`,children:`10`}),(0,U.jsx)(`option`,{value:`20`,children:`20`}),(0,U.jsx)(`option`,{value:`50`,children:`50`}),(0,U.jsx)(`option`,{value:`100`,children:`100`}),(0,U.jsx)(`option`,{value:`all`,children:t(`gifts.perPageAll`)})]})]}),(0,U.jsx)(`span`,{className:`gift-list-summary`,children:t(`stickers.listSummary`,{shown:k.length,total:n.length})})]})}),(0,U.jsx)(`div`,{className:`table-wrap gift-table-wrap`,children:(0,U.jsxs)(`table`,{className:`data-table`,children:[(0,U.jsx)(`thead`,{children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{children:t(`stickers.logo`)}),(0,U.jsx)(`th`,{children:t(`stickers.id`)}),(0,U.jsx)(`th`,{children:t(`stickers.shortName`)}),(0,U.jsx)(`th`,{children:t(`stickers.title`)}),(0,U.jsx)(`th`,{children:t(`stickers.count`)}),(0,U.jsx)(`th`,{children:t(`stickers.official`)}),(0,U.jsx)(`th`,{children:t(`common.status`)}),(0,U.jsx)(`th`,{children:t(`stickers.sortOrder`)}),(0,U.jsx)(`th`,{children:t(`common.actions`)})]})}),(0,U.jsxs)(`tbody`,{children:[M.map(e=>(0,U.jsxs)(`tr`,{className:e.Archived?`gift-row-disabled`:``,children:[(0,U.jsx)(`td`,{children:e.CoverDocumentID?(0,U.jsx)(Rt,{documentID:e.CoverDocumentID,className:`list-thumb`,showError:!1}):(0,U.jsx)(`div`,{className:`sticker-list-thumb-empty`,children:(0,U.jsx)(se,{size:14})})}),(0,U.jsx)(`td`,{className:`mono`,children:e.ID}),(0,U.jsx)(`td`,{className:`mono`,children:e.ShortName||(0,U.jsx)(`span`,{className:`muted-cell`,children:t(`common.none`)})}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`div`,{className:`sort-order-editor`,children:[(0,U.jsx)(`input`,{className:`small-input title-input`,value:_[e.ID]??e.Title,onChange:t=>v(n=>({...n,[e.ID]:t.target.value}))}),(0,U.jsx)($e,{compact:!0,tone:`neutral`,label:t(`stickers.saveTitle`),path:`/api/actions/rename-sticker-set`,payload:()=>({set_id:e.ID,title:(_[e.ID]??e.Title).trim()}),onDone:()=>void O()})]})}),(0,U.jsx)(`td`,{children:e.Count}),(0,U.jsx)(`td`,{children:e.Official?(0,U.jsx)(q,{tone:`good`,children:t(`common.yes`)}):(0,U.jsx)(q,{children:t(`common.no`)})}),(0,U.jsx)(`td`,{children:e.Archived?(0,U.jsx)(q,{tone:`danger`,children:t(`stickers.archived`)}):(0,U.jsx)(q,{tone:`good`,children:t(`common.enabled`)})}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`div`,{className:`sort-order-editor`,children:[(0,U.jsx)(`input`,{type:`number`,className:`small-input`,value:m[e.ID]??String(e.SortOrder),onChange:t=>h(n=>({...n,[e.ID]:t.target.value}))}),(0,U.jsx)($e,{compact:!0,tone:`neutral`,label:t(`stickers.saveOrder`),path:`/api/actions/set-sticker-set-sort-order`,payload:()=>({set_id:e.ID,sort_order:Number(m[e.ID]??e.SortOrder)}),onDone:()=>void O()})]})}),(0,U.jsx)(`td`,{children:(0,U.jsxs)(`div`,{className:`gift-table-actions`,children:[(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>S(e),children:[(0,U.jsx)(te,{size:13}),` `,t(`stickers.view`)]}),(0,U.jsx)($e,{compact:!0,tone:`neutral`,label:e.Archived?t(`stickers.unarchive`):t(`stickers.archive`),path:`/api/actions/set-sticker-set-archived`,payload:()=>({set_id:e.ID,archived:!e.Archived}),onDone:()=>void O()}),(0,U.jsx)($e,{compact:!0,tone:`danger`,label:t(`stickers.delete`),path:`/api/actions/delete-sticker-set`,payload:()=>({set_id:e.ID}),onDone:()=>void O()})]})})]},e.ID)),M.length===0&&(0,U.jsx)(Je,{colSpan:9})]})]})}),u!==`all`&&k.length>0&&(0,U.jsxs)(`div`,{className:`gift-pager`,children:[(0,U.jsx)(`span`,{className:`gift-pager-range`,children:t(`gifts.pageRange`,{start:N,end:P,total:k.length})}),(0,U.jsxs)(`div`,{className:`gift-pager-controls`,children:[(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>p(e=>Math.max(1,e-1)),disabled:j<=1,children:[(0,U.jsx)(I,{size:14}),` `,t(`gifts.pagePrev`)]}),(0,U.jsx)(`span`,{className:`gift-pager-page`,children:t(`gifts.pageOf`,{page:j,total:A})}),(0,U.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>p(e=>Math.min(A,e+1)),disabled:j>=A,children:[t(`gifts.pageNext`),` `,(0,U.jsx)(L,{size:14})]})]})]}),y&&(0,U.jsx)(Vt,{set:y,onClose:()=>S(null)}),C&&(0,U.jsx)(zt,{kind:e,onClose:()=>w(!1),onCreated:()=>void O()})]})}function Wt({route:e,navigate:t}){let n=e.path.match(/^\/accounts\/(\d+)$/)?.[1],r=e.path.match(/^\/channels\/(\d+)$/)?.[1];return n?(0,U.jsx)(tt,{id:Number(n),navigate:t}):r?(0,U.jsx)(dt,{id:Number(r),navigate:t}):e.path===`/accounts`?(0,U.jsx)(ut,{navigate:t}):e.path===`/channels`?(0,U.jsx)(ft,{navigate:t}):e.path===`/gifts`?(0,U.jsx)(Lt,{}):e.path===`/stickers`?(0,U.jsx)(Ut,{kind:`stickers`}):e.path===`/emoji`?(0,U.jsx)(Ut,{kind:`emoji`}):e.path===`/messages/detail`||e.path===`/messages/private/detail`?(0,U.jsx)(yt,{ownerUserID:Number(e.search.get(`owner_user_id`)||`0`),msgID:Number(e.search.get(`msg_id`)||`0`),navigate:t}):e.path===`/messages/groups/detail`?(0,U.jsx)(ht,{channelID:Number(e.search.get(`channel_id`)||`0`),msgID:Number(e.search.get(`msg_id`)||`0`),navigate:t}):e.path===`/messages/groups`?(0,U.jsx)(vt,{navigate:t}):e.path===`/messages`||e.path===`/messages/private`?(0,U.jsx)(bt,{navigate:t}):(0,U.jsx)(pt,{navigate:t})}function Gt(){let[e,t]=(0,g.useState)(void 0),[n,r]=(0,g.useState)(()=>Oe());(0,g.useEffect)(()=>{let e=()=>r(Oe());return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[]),(0,g.useEffect)(()=>{x.session().then(e=>t(e.actor)).catch(e=>{if(e instanceof v&&e.status===401){t(null);return}t(null)})},[]);let i=e=>{window.history.pushState(null,``,e),r(Oe())};return e===void 0?(0,U.jsx)(Me,{}):e===null?(0,U.jsx)(Ze,{onLogin:t}):(0,U.jsx)(Ne,{actor:e,route:n,navigate:i,onLogout:()=>t(null),children:(0,U.jsx)(Wt,{route:n,navigate:i})})}_.createRoot(document.getElementById(`root`)).render((0,U.jsx)(g.StrictMode,{children:(0,U.jsx)(Ee,{children:(0,U.jsx)(Gt,{})})})); \ No newline at end of file diff --git a/cmd/telesrv-admin/web/dist/assets/index-CBHSiG-t.js b/cmd/telesrv-admin/web/dist/assets/index-CBHSiG-t.js new file mode 100644 index 00000000..9cd2b724 --- /dev/null +++ b/cmd/telesrv-admin/web/dist/assets/index-CBHSiG-t.js @@ -0,0 +1,10 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,M(x);else{var t=n(l);t!==null&&N(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!D());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&N(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,E=-1;function D(){return!(e.unstable_now()-Ee||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,N(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,M(x))),r},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u(),n=f();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function h(e){return l.call(m,e)?!0:l.call(p,e)?!1:d.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2s||i[o]!==a[s]){var c=` +`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(``)&&(c=c.replace(``,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{re=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?ne(e):``}function ae(e){switch(e.tag){case 5:return ne(e.type);case 16:return ne(`Lazy`);case 13:return ne(`Suspense`);case 19:return ne(`SuspenseList`);case 0:case 2:case 15:return e=ie(e.type,!1),e;case 11:return e=ie(e.type.render,!1),e;case 1:return e=ie(e.type,!0),e;default:return``}}function oe(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case E:return`Fragment`;case T:return`Portal`;case O:return`Profiler`;case D:return`StrictMode`;case M:return`Suspense`;case N:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case A:return(e.displayName||`Context`)+`.Consumer`;case k:return(e._context.displayName||`Context`)+`.Provider`;case j:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case P:return t=e.displayName||null,t===null?oe(e.type)||`Memo`:t;case F:t=e._payload,e=e._init;try{return oe(e(t))}catch{}}return null}function se(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return oe(t);case 8:return t===D?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function ce(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function le(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function ue(e){var t=le(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function z(e){e._valueTracker||=ue(e)}function de(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=le(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function B(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function fe(e,t){var n=t.checked;return R({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function pe(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=ce(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function me(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function he(e,t){me(e,t);var n=ce(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?_e(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&_e(e,t.type,ce(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ge(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function _e(e,t,n){(t!==`number`||B(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var ve=Array.isArray;function ye(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i`+t.valueOf().toString()+``,t=W.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function we(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Te={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},G=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Te).forEach(function(e){G.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Te[t]=Te[e]})});function Ee(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Te.hasOwnProperty(e)&&Te[e]?(``+t).trim():t+`px`}function De(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=Ee(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Oe=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ke(e,t){if(t){if(Oe[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function Ae(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var je=null;function Me(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ne=null,Pe=null,Fe=null;function Ie(e){if(e=ji(e)){if(typeof Ne!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Ni(t),Ne(e.stateNode,e.type,t))}}function Le(e){Pe?Fe?Fe.push(e):Fe=[e]:Pe=e}function Re(){if(Pe){var e=Pe,t=Fe;if(Fe=Pe=null,Ie(e),t)for(e=0;e>>=0,e===0?32:31-(_t(e)/vt|0)|0}var bt=64,xt=4194304;function St(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ct(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=St(a))):r=St(s)}else o=n&~i,o===0?a!==0&&(r=St(a)):r=St(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function kt(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-gt(t),e[t]=n}function At(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Gn),Jn=` `,Yn=!1;function Xn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=mn(),pn=fn=dn=null,Qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=xr(n)}}function Cr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wr(){for(var e=window,t=B();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=B(e.document)}return t}function Tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}function Er(e){var t=wr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Cr(n.ownerDocument.documentElement,n)){if(r!==null&&Tr(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Sr(n,a);var o=Sr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n=document.documentMode,Or=null,kr=null,Ar=null,jr=!1;function Mr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jr||Or==null||Or!==B(r)||(r=Or,`selectionStart`in r&&Tr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ar&&br(Ar,r)||(Ar=r,r=ii(kr,`onSelect`),0Fi||(e.current=Pi[Fi],Pi[Fi]=null,Fi--)}function Ri(e,t){Fi++,Pi[Fi]=e.current,e.current=t}var zi={},Bi=Ii(zi),Vi=Ii(!1),Hi=zi;function Ui(e,t){var n=e.type.contextTypes;if(!n)return zi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Wi(e){return e=e.childContextTypes,e!=null}function Gi(){Li(Vi),Li(Bi)}function Ki(e,t,n){if(Bi.current!==zi)throw Error(r(168));Ri(Bi,t),Ri(Vi,n)}function qi(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,se(e)||`Unknown`,a));return R({},n,i)}function Ji(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||zi,Hi=Bi.current,Ri(Bi,e),Ri(Vi,Vi.current),!0}function Yi(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=qi(e,t,Hi),i.__reactInternalMemoizedMergedChildContext=e,Li(Vi),Li(Bi),Ri(Bi,e)):Li(Vi),Ri(Vi,n)}var Xi=null,Zi=!1,Qi=!1;function $i(e){Xi===null?Xi=[e]:Xi.push(e)}function ea(e){Zi=!0,$i(e)}function ta(){if(!Qi&&Xi!==null){Qi=!0;var e=0,t=X;try{var n=Xi;for(X=1;e>=o,i-=o,la=1<<32-gt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),_a&&da(r,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),_a&&da(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return _a&&da(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),_a&&da(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===E&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===E){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===F&&ja(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=ka(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===E?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=ka(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}else{n(e,r);break}else t(e,r);r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case F:return l=i._init,_(e,r,l(i._payload),o)}if(ve(i))return h(e,r,i,o);if(ee(i))return g(e,r,i,o);Aa(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Na=Ma(!0),Pa=Ma(!1),Fa=Ii(null),Ia=null,La=null,Ra=null;function za(){Ra=La=Ia=null}function Ba(e){var t=Fa.current;Li(Fa),e._currentValue=t}function Va(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ha(e,t){Ia=e,Ra=La=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ms=!0),e.firstContext=null)}function Ua(e){var t=e._currentValue;if(Ra!==e)if(e={context:e,memoizedValue:t,next:null},La===null){if(Ia===null)throw Error(r(308));La=e,Ia.dependencies={lanes:0,firstContext:e}}else La=La.next=e;return t}var Wa=null;function Ga(e){Wa===null?Wa=[e]:Wa.push(e)}function Ka(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ga(t)):(n.next=i.next,i.next=n),t.interleaved=n,qa(e,r)}function qa(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Ja=!1;function Ya(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Qa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qa(e,n)}return i=r.interleaved,i===null?(t.next=t,Ga(r)):(t.next=i.next,i.next=t),r.interleaved=t,qa(e,n)}function $a(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,jt(e,n)}}function eo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function to(e,t,n,r){var i=e.updateQueue;Ja=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=R({},d,f);break a;case 2:Ja=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Jc|=o,e.lanes=o,e.memoizedState=d}}function no(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=vo.transition;vo.transition={};try{e(!1),t()}finally{X=n,vo.transition=r}}function as(){return Mo().memoizedState}function os(e,t,n){var r=pl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},cs(e))ls(t,n);else if(n=Ka(e,t,n,r),n!==null){var i=fl();ml(n,e,r,i),us(n,t,r)}}function ss(e,t,n){var r=pl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(cs(e))ls(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Z(s,o)){var c=t.interleaved;c===null?(i.next=i,Ga(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Ka(e,t,i,r),n!==null&&(i=fl(),ml(n,e,r,i),us(n,t,r))}}function cs(e){var t=e.alternate;return e===bo||t!==null&&t===bo}function ls(e,t){wo=Co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function us(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,jt(e,n)}}var ds={readContext:Ua,useCallback:Do,useContext:Do,useEffect:Do,useImperativeHandle:Do,useInsertionEffect:Do,useLayoutEffect:Do,useMemo:Do,useReducer:Do,useRef:Do,useState:Do,useDebugValue:Do,useDeferredValue:Do,useTransition:Do,useMutableSource:Do,useSyncExternalStore:Do,useId:Do,unstable_isNewReconciler:!1},fs={readContext:Ua,useCallback:function(e,t){return jo().memoizedState=[e,t===void 0?null:t],e},useContext:Ua,useEffect:Jo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Ko(4194308,4,Qo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ko(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ko(4,2,e,t)},useMemo:function(e,t){var n=jo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=jo();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=os.bind(null,bo,e),[r.memoizedState,e]},useRef:function(e){var t=jo();return e={current:e},t.memoizedState=e},useState:Uo,useDebugValue:es,useDeferredValue:function(e){return jo().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=is.bind(null,e[1]),jo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=bo,a=jo();if(_a){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Vc===null)throw Error(r(349));yo&30||Ro(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Jo(Bo.bind(null,i,o,e),[e]),i.flags|=2048,Wo(9,zo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=jo(),t=Vc.identifierPrefix;if(_a){var n=ua,r=la;n=(r&~(1<<32-gt(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=To++,0<\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[wi]=t,e[Ti]=i,nc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Ae(n,i),n){case`dialog`:Zr(`cancel`,e),Zr(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:Zr(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;oel&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304)}else{if(!i)if(e=mo(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ac(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!_a)return oc(t),null}else 2*ot()-s.renderingStartTime>el&&n!==1073741824&&(t.flags|=128,i=!0,ac(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(oc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=ot(),t.sibling=null,n=po.current,Ri(po,i?n&1|2:n&1),t);case 22:case 23:return wl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Wc&1073741824&&(oc(t),t.subtreeFlags&6&&(t.flags|=8192)):oc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function cc(e,t){switch(ma(t),t.tag){case 1:return Wi(t.type)&&Gi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return lo(),Li(Vi),Li(Bi),go(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return fo(t),null;case 13:if(Li(po),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Ea()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Li(po),null;case 4:return lo(),null;case 10:return Ba(t.type._context),null;case 22:case 23:return wl(),null;case 24:return null;default:return null}}var lc=!1,uc=!1,dc=typeof WeakSet==`function`?WeakSet:Set,Q=null;function fc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){Rl(e,t,n)}else n.current=null}function pc(e,t,n){try{n()}catch(n){Rl(e,t,n)}}var mc=!1;function hc(e,t){if(fi=rn,e=wr(),Tr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(pi={focusedElem:e,selectionRange:n},rn=!1,Q=t;Q!==null;)if(t=Q,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:hs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){Rl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return h=mc,mc=!1,h}function gc(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&pc(t,n,a)}i=i.next}while(i!==r)}}function _c(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function vc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function yc(e){var t=e.alternate;t!==null&&(e.alternate=null,yc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[wi],delete t[Ti],delete t[Di],delete t[Oi],delete t[ki])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bc(e){return e.tag===5||e.tag===3||e.tag===4}function xc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||bc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=di));else if(r!==4&&(e=e.child,e!==null))for(Sc(e,t,n),e=e.sibling;e!==null;)Sc(e,t,n),e=e.sibling}function Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}var wc=null,Tc=!1;function Ec(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(mt&&typeof mt.onCommitFiberUnmount==`function`)try{mt.onCommitFiberUnmount(pt,n)}catch{}switch(n.tag){case 5:uc||fc(n,t);case 6:var r=wc,i=Tc;wc=null,Ec(e,t,n),wc=r,Tc=i,wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):wc.removeChild(n.stateNode));break;case 18:wc!==null&&(Tc?(e=wc,n=n.stateNode,e.nodeType===8?bi(e.parentNode,n):e.nodeType===1&&bi(e,n),tn(e)):bi(wc,n.stateNode));break;case 4:r=wc,i=Tc,wc=n.stateNode.containerInfo,Tc=!0,Ec(e,t,n),wc=r,Tc=i;break;case 0:case 11:case 14:case 15:if(!uc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&pc(n,t,o),i=i.next}while(i!==r)}Ec(e,t,n);break;case 1:if(!uc&&(fc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Rl(n,t,e)}Ec(e,t,n);break;case 21:Ec(e,t,n);break;case 22:n.mode&1?(uc=(r=uc)||n.memoizedState!==null,Ec(e,t,n),uc=r):Ec(e,t,n);break;default:Ec(e,t,n)}}function Oc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new dc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function kc(e,t){var n=t.deletions;if(n!==null)for(var i=0;ia&&(a=s),i&=~o}if(i=a,i=ot()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Lc(i/1960))-i,10e?16:e,ol===null)var i=!1;else{if(e=ol,ol=null,sl=0,$&6)throw Error(r(331));var a=$;for($|=4,Q=e.current;Q!==null;){var o=Q,s=o.child;if(Q.flags&16){var c=o.deletions;if(c!==null){for(var l=0;lot()-$c?Tl(e,0):Xc|=n),hl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=xt,xt<<=1,!(xt&130023424)&&(xt=4194304)):t=1);var n=fl();e=qa(e,t),e!==null&&(kt(e,t,n),hl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Vi.current)Ms=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ms=!1,tc(e,t,n);Ms=!!(e.flags&131072)}else Ms=!1,_a&&t.flags&1048576&&fa(t,aa,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;$s(e,t),e=t.pendingProps;var a=Ui(t,Bi.current);Ha(t,n),a=ko(null,t,i,e,a,n);var o=Ao();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Wi(i)?(o=!0,Ji(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Ya(t),a.updater=_s,t.stateNode=a,a._reactInternals=t,xs(t,i,e,n),t=Vs(null,t,i,!0,o,n)):(t.tag=0,_a&&o&&pa(t),Ns(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch($s(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Jl(i),e=hs(i,e),a){case 0:t=zs(null,t,i,e,n);break a;case 1:t=Bs(null,t,i,e,n);break a;case 11:t=Ps(null,t,i,e,n);break a;case 14:t=Fs(null,t,i,hs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),zs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Bs(e,t,i,a,n);case 3:a:{if(Hs(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,Xa(e,t),to(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Ss(Error(r(423)),t),t=Us(e,t,i,n,a);break a}else if(i!==a){a=Ss(Error(r(424)),t),t=Us(e,t,i,n,a);break a}else for(ga=xi(t.stateNode.containerInfo.firstChild),ha=t,_a=!0,va=null,n=Pa(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ea(),i===a){t=ec(e,t,n);break a}Ns(e,t,i,n)}t=t.child}return t;case 5:return uo(t),e===null&&Sa(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,mi(i,a)?s=null:o!==null&&mi(i,o)&&(t.flags|=32),Rs(e,t),Ns(e,t,s,n),t.child;case 6:return e===null&&Sa(t),null;case 13:return Ks(e,t,n);case 4:return co(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Na(t,null,i,n):Ns(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),Ps(e,t,i,a,n);case 7:return Ns(e,t,t.pendingProps,n),t.child;case 8:return Ns(e,t,t.pendingProps.children,n),t.child;case 12:return Ns(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Ri(Fa,i._currentValue),i._currentValue=s,o!==null)if(Z(o.value,s)){if(o.children===a.children&&!Vi.current){t=ec(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=Za(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Va(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Va(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ns(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ha(t,n),a=Ua(a),i=i(a),t.flags|=1,Ns(e,t,i,n),t.child;case 14:return i=t.type,a=hs(i,t.pendingProps),a=hs(i.type,a),Fs(e,t,i,a,n);case 15:return Is(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:hs(i,a),$s(e,t),t.tag=1,Wi(i)?(e=!0,Ji(t)):e=!1,Ha(t,n),ys(t,i,a),xs(t,i,a,n),Vs(null,t,i,!0,e,n);case 19:return Qs(e,t,n);case 22:return Ls(e,t,n)}throw Error(r(156,t.tag))};function Wl(e,t){return nt(e,t)}function Gl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===j)return 11;if(e===P)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Xl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return Zl(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=Kl(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case M:return e=Kl(13,n,t,a),e.elementType=M,e.lanes=o,e;case N:return e=Kl(19,n,t,a),e.elementType=N,e.lanes=o,e;case I:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case j:s=11;break a;case P:s=14;break a;case F:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ot(0),this.expirationTimes=Ot(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ot(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ya(a),e}function ru(e,t,n){var r=3{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=m();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),g=c(u()),_=c(h(),1),v=class extends Error{status;constructor(e,t){super(t),this.status=e}};async function y(e,t={}){let n=typeof FormData<`u`&&t.body instanceof FormData,r=await fetch(e,{credentials:`same-origin`,headers:n?t.headers:{"Content-Type":`application/json`,...t.headers??{}},...t}),i=await r.text(),a=i?JSON.parse(i):null;if(!r.ok){let e=a?.error||a?.Error||a?.message||r.statusText;throw new v(r.status,e)}return a}function b(e){return e instanceof Error?e.message:String(e)}var x={session:()=>y(`/api/session`),login:e=>y(`/api/login`,{method:`POST`,body:JSON.stringify({secret:e})}),logout:()=>y(`/api/logout`,{method:`POST`,body:`{}`}),accounts:e=>y(`/api/accounts?${e.toString()}`),account:e=>y(`/api/accounts/${e}`),channels:e=>y(`/api/channels?${e.toString()}`),channel:e=>y(`/api/channels/${e}`),messages:e=>y(`/api/messages?${e.toString()}`),message:(e,t)=>y(`/api/messages/detail?${new URLSearchParams({owner_user_id:String(e),msg_id:String(t)}).toString()}`),groupMessages:e=>y(`/api/messages/groups?${e.toString()}`),groupMessage:(e,t)=>y(`/api/messages/groups/detail?${new URLSearchParams({channel_id:String(e),msg_id:String(t)}).toString()}`),gifts:()=>y(`/api/gifts`),stickerSets:e=>y(`/api/stickers?kind=${encodeURIComponent(e)}`),stickerSetDocuments:e=>y(`/api/stickers/${encodeURIComponent(e)}/documents`),stickerDocumentAnimationURL:e=>`/api/stickers/documents/${encodeURIComponent(e)}/animation`,createStickerSet:e=>y(`/api/actions/create-sticker-set`,{method:`POST`,body:e}),addStickerToSet:e=>y(`/api/actions/add-sticker-to-set`,{method:`POST`,body:e}),defaultGifts:()=>y(`/api/default-gifts`),defaultGiftAnimation:e=>y(`/api/default-gifts/${e}/animation`),officialGifts:()=>y(`/api/official-gifts`),officialGiftAnimation:e=>y(`/api/official-gifts/${encodeURIComponent(e)}/animation`),giftAnimation:e=>y(`/api/gifts/${encodeURIComponent(e)}/animation`),giftCollectibles:e=>y(`/api/gifts/${encodeURIComponent(e)}/collectibles`),giftCollectibleAnimation:(e,t,n)=>y(`/api/gifts/${encodeURIComponent(e)}/collectibles/${t}/${encodeURIComponent(n)}/animation`),importGift:e=>y(`/api/actions/import-gift`,{method:`POST`,body:e}),importDefaultGift:e=>y(`/api/actions/import-default-gift`,{method:`POST`,body:JSON.stringify(e)}),importOfficialGift:e=>y(`/api/actions/import-official-gift`,{method:`POST`,body:JSON.stringify(e)}),publishGiftCollectibles:(e,t)=>y(`/api/actions/publish-gift-collectibles?gift_id=${encodeURIComponent(e)}`,{method:`POST`,body:t}),action:(e,t)=>y(e,{method:`POST`,body:JSON.stringify(t)})},S=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),C=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),w={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},T=(0,g.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,g.createElement)(`svg`,{ref:c,...w,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:C(`lucide`,i),...s},[...o.map(([e,t])=>(0,g.createElement)(e,t)),...Array.isArray(a)?a:[a]])),E=(e,t)=>{let n=(0,g.forwardRef)(({className:n,...r},i)=>(0,g.createElement)(T,{ref:i,iconNode:t,className:C(`lucide-${S(e)}`,n),...r}));return n.displayName=`${e}`,n},D=E(`BadgeCheck`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),O=E(`CircleAlert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),k=E(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),A=E(`LoaderCircle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),j=E(`Sparkles`,[[`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`,key:`4pj2yx`}],[`path`,{d:`M20 3v4`,key:`1olli1`}],[`path`,{d:`M22 5h-4`,key:`1gvqau`}],[`path`,{d:`M4 17v2`,key:`vumght`}],[`path`,{d:`M5 18H3`,key:`zchphs`}]]),M=E(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),N=E(`Cable`,[[`path`,{d:`M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1`,key:`10bnsj`}],[`path`,{d:`M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9`,key:`1eqmu1`}],[`path`,{d:`M21 21v-2h-4`,key:`14zm7j`}],[`path`,{d:`M3 5h4V3`,key:`z442eg`}],[`path`,{d:`M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3`,key:`ebdjd7`}]]),P=E(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),F=E(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),I=E(`ChevronLeft`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),L=E(`ChevronRight`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ee=E(`Clock3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16.5 12`,key:`1aq6pp`}]]),R=E(`Database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),te=E(`Eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ne=E(`FileJson2`,[[`path`,{d:`M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4`,key:`1pf5j1`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`fq0c9t`}],[`path`,{d:`M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`4gibmv`}]]),re=E(`FileJson`,[[`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 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),ie=E(`Gem`,[[`path`,{d:`M6 3h12l4 6-10 13L2 9Z`,key:`1pcd5k`}],[`path`,{d:`M11 3 8 9l4 13 4-13-3-6`,key:`1fcu3u`}],[`path`,{d:`M2 9h20`,key:`16fsjt`}]]),ae=E(`Gift`,[[`rect`,{x:`3`,y:`8`,width:`18`,height:`4`,rx:`1`,key:`bkv52`}],[`path`,{d:`M12 8v13`,key:`1c76mn`}],[`path`,{d:`M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7`,key:`6wjy6b`}],[`path`,{d:`M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5`,key:`1ihvrl`}]]),oe=E(`History`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),se=E(`ImageOff`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),ce=E(`KeyRound`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),le=E(`LayoutDashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),ue=E(`LogOut`,[[`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`}]]),z=E(`MessageSquareText`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}],[`path`,{d:`M13 8H7`,key:`14i4kc`}],[`path`,{d:`M17 12H7`,key:`16if0g`}]]),de=E(`Pause`,[[`rect`,{x:`14`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`zuxfzm`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`1okwgv`}]]),B=E(`Play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),fe=E(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),pe=E(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),me=E(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),he=E(`Server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),ge=E(`ShieldCheck`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),_e=E(`Shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),ve=E(`Smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),ye=E(`Star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),be=E(`Sticker`,[[`path`,{d:`M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z`,key:`1wis1t`}],[`path`,{d:`M14 3v4a2 2 0 0 0 2 2h4`,key:`36rjfy`}],[`path`,{d:`M8 13h.01`,key:`1sbv64`}],[`path`,{d:`M16 13h.01`,key:`wip0gl`}],[`path`,{d:`M10 16s.8 1 2 1c1.3 0 2-1 2-1`,key:`1vvgv3`}]]),V=E(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),H=E(`Upload`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),U=E(`Users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`path`,{d:`M16 3.13a4 4 0 0 1 0 7.75`,key:`1da9ce`}]]),xe=E(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Se=o((e=>{var t=u(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),W=o(((e,t)=>{t.exports=Se()}))(),Ce={"app.adminConsole":`Admin Console`,"app.localAccess":`Local access`,"app.title":`OwpenGram Admin`,"common.actions":`Actions`,"common.admins":`Admins`,"common.backToList":`Back to list`,"common.channel":`Channel`,"common.channelOrGroup":`Channel / Group`,"common.clear":`Clear`,"common.close":`Close`,"common.count":`Count`,"common.deleted":`Deleted`,"common.detail":`Details`,"common.device":`Device`,"common.disabled":`Disabled`,"common.enabled":`Enabled`,"common.fromPeer":`From Peer`,"common.group":`Group`,"common.id":`ID`,"common.limit":`Limit`,"common.loading":`Loading`,"common.member":`Member`,"common.members":`Members`,"common.messageId":`Message ID`,"common.name":`Name`,"common.no":`No`,"common.noResults":`No results`,"common.none":`None`,"common.normal":`Normal`,"common.operations":`Operations`,"common.owner":`Owner`,"common.platform":`Platform`,"common.refresh":`Refresh`,"common.search":`Search`,"common.sender":`Sender`,"common.status":`Status`,"common.survived":`Live`,"common.time":`Time`,"common.type":`Type`,"common.updatedAt":`Updated`,"common.username":`Username`,"common.valid":`Valid`,"common.verified":`Verified`,"common.views":`Views`,"common.yes":`Yes`,"route.accounts":`Accounts`,"route.accountsSubtitle":`Console / Accounts`,"route.channels":`Supergroups and Channels`,"route.channelsSubtitle":`Console / Channels`,"route.dashboard":`Operations Console`,"route.dashboardSubtitle":`Console / Overview`,"route.messages":`Message Audit`,"route.messagesSubtitle":`Console / Messages`,"route.gifts":`Star Gifts`,"route.giftsSubtitle":`Console / Star Gifts`,"route.stickers":`Stickers`,"route.stickersSubtitle":`Console / Stickers`,"route.emoji":`Emoji`,"route.emojiSubtitle":`Console / Emoji`,"layout.navigation":`Navigation`,"layout.primaryNav":`Primary navigation`,"layout.dashboard":`Overview`,"layout.accounts":`Accounts`,"layout.channels":`Supergroups / Channels`,"layout.messages":`Messages`,"layout.gifts":`Star Gifts`,"layout.stickers":`Stickers`,"layout.emoji":`Emoji`,"layout.privateMessages":`Private`,"layout.groupMessages":`Groups`,"layout.runtime":`Runtime`,"layout.adminBackend":`Admin backend`,"layout.ready":`Ready`,"layout.pgRead":`PG read`,"layout.readOnly":`Read-only`,"layout.writeOps":`Write operations`,"layout.dryRun":`Dry-run`,"layout.actor":`Actor: {actor}`,"layout.logout":`Log out`,"login.heading":`Operations Admin`,"login.body":`Enter credentials to open the console.`,"login.secret":`Admin password or token`,"login.submit":`Log in`,"login.submitting":`Logging in`,"dashboard.eyebrow":`Runtime Overview`,"dashboard.title":`Console Overview`,"dashboard.readPath":`Read path`,"dashboard.readPathValue":`PG read-only`,"dashboard.writePath":`Write path`,"dashboard.executionPolicy":`Execution policy`,"dashboard.dryRunFirst":`Dry-run first`,"dashboard.accountsText":`Account status, premium, verification, sessions.`,"dashboard.channelsText":`Public entities, member counts, verification state.`,"dashboard.messagesText":`Message boxes, updates, outbox state.`,"dashboard.strip.dryRun":`All dangerous actions start with dry-run`,"dashboard.strip.token":`Browser never stores internal tokens`,"dashboard.strip.pagination":`Lists use cursor pagination`,"dashboard.strip.snapshot":`Detail pages retain raw state snapshots`,"account.pageTitle":`Accounts`,"account.queryResults":`Search results`,"account.recentActive":`Recently active accounts`,"account.currentPage":`Accounts on page`,"account.onlineDevices":`Online device records`,"account.premium":`Premium`,"account.frozen":`Frozen`,"account.searchPlaceholder":`User ID / phone / username`,"account.userID":`User ID`,"account.phone":`Phone`,"account.loginEmail":`Login email`,"account.lastActive":`Last active`,"account.notVerified":`Not verified`,"account.notPremium":`Not premium`,"account.premiumUntil":`Premium expires`,"account.starsBalance":`Stars balance`,"account.startingGrantApplied":`initial grant applied`,"account.startingGrantPending":`initial grant pending`,"account.activeSessions":`Authorized devices`,"account.accountFlags":`Account flags`,"account.restriction":`Restriction`,"account.restricted":`Restricted`,"account.createdAt":`Created`,"account.detailTitle":`Account #{id}`,"account.profile":`Account Profile`,"account.loadingDetail":`Loading account detail`,"account.waitingData":`Waiting for data`,"account.noUsername":`No username`,"account.noPhone":`No phone`,"account.accountFrozen":`Account frozen`,"account.accountActive":`Account active`,"account.authorizationsTitle":`Authorized Devices`,"account.authorizationsCount":`{count} authorizations`,"account.recentAdminOps":`Recent Admin Actions`,"account.recent30Audit":`Last 30 audit rows`,"account.actionDock":`Account Actions`,"account.freezeAccount":`Freeze account`,"account.updateFreeze":`Update freeze`,"account.unfreezeAccount":`Unfreeze account`,"account.freezeSince":`Frozen since`,"account.freezeUntil":`Appeal deadline`,"account.freezeUntilAria":`Freeze appeal deadline`,"account.freezeAppealURL":`Appeal URL`,"account.freezeAppealURLAria":`Freeze appeal URL`,"account.premiumMonths":`Premium duration (months)`,"account.premiumMonthsAria":`Set premium duration in months`,"account.setPremium":`Set premium`,"account.clearPremium":`Clear premium`,"account.starsAmount":`Stars to grant`,"account.starsAmountAria":`Set Stars amount to grant`,"account.grantStars":`Grant Stars`,"account.setVerified":`Set verified`,"account.clearVerified":`Clear verified`,"channel.pageTitle":`Supergroups and Channels`,"channel.recentUpdated":`Recently updated`,"channel.currentPage":`Entities on page`,"channel.megagroups":`Supergroups`,"channel.broadcasts":`Channels`,"channel.verifiedCount":`Verified`,"channel.searchPlaceholder":`Channel ID / username / title`,"channel.channelID":`Channel ID`,"channel.kind":`Kind`,"channel.title":`Title`,"channel.pts":`PTS`,"channel.detailProfile":`Channel Profile`,"channel.loadingDetail":`Loading channel detail`,"channel.creator":`Creator {id}`,"channel.governance":`Moderation`,"channel.governanceValue":`Banned {banned} / Kicked {kicked}`,"channel.flags":`Channel flags`,"channel.rawRow":`Channel Raw Row`,"channel.rawRowText":`Database read-only snapshot`,"channel.actionDock":`Channel Actions`,"channel.setVerified":`Set verified`,"channel.clearVerified":`Clear verified`,"channel.kind.broadcast":`Channel`,"channel.kind.forum":`Supergroup / Forum`,"channel.kind.megagroup":`Supergroup`,"channel.kind.generic":`Channel / Group`,"messages.privateTitle":`Private Messages`,"messages.privateEyebrow":`Private message boxes`,"messages.groupTitle":`Group Messages`,"messages.groupEyebrow":`Supergroup / channel messages`,"messages.selectPrivatePeers":`Search and select the owner user and peer user first`,"messages.selectChannel":`Search and select a supergroup or channel first`,"messages.ownerUser":`Owner user`,"messages.peerUser":`Peer user`,"messages.beforeDatePlaceholder":`before_date cursor`,"messages.beforeIDPlaceholder":`before_msg_id cursor`,"messages.limitPlaceholder":`limit <= 100`,"messages.searchMessages":`Search messages`,"messages.nextPage":`Next page`,"messages.currentPage":`Messages on page`,"messages.deleted":`Deleted`,"messages.outgoing":`Outgoing`,"messages.incoming":`Incoming`,"messages.ownerPeer":`Owner / Peer`,"messages.deleteSelected":`Delete selected messages`,"messages.idsPlaceholder":`Message IDs, comma separated`,"messages.revoke":`Revoke for both sides`,"messages.previewDelete":`Dry-run delete`,"messages.clearHistory":`Clear private history`,"messages.maxIDPlaceholder":`max_id cutoff`,"messages.maxBatchesPlaceholder":`max_batches`,"messages.justClear":`Clear only this side`,"messages.previewClearHistory":`Dry-run clear history`,"messages.direction":`Direction`,"messages.body":`Body`,"messages.privateDetailTitle":`Message #{id}`,"messages.detailEyebrow":`Message Detail`,"messages.backPrivate":`Back to private messages`,"messages.backGroup":`Back to group messages`,"messages.ownerPeerTitle":`Owner {owner} · Peer {peer}`,"messages.senderSubtitle":`Sender {sender} · {date}`,"messages.boxID":`Message box ID`,"messages.privateMessageID":`Private message ID`,"messages.messageSender":`Message sender`,"messages.messageBox":`Message Box`,"messages.dialogRow":`Dialog Row`,"messages.privateRow":`Private Message Row`,"messages.channelMessageRow":`Channel Message Row`,"messages.channelRow":`Channel Row`,"messages.userUpdateEvents":`Update Events`,"messages.channelUpdateEvents":`Channel Update Events`,"messages.eventJson":`Event JSON`,"messages.dispatchOutbox":`Dispatch Queue`,"messages.messageBoxesSnapshot":`message_boxes read-only snapshot`,"messages.dialogSnapshot":`dialogs read-only snapshot`,"messages.privateSnapshot":`private_messages read-only snapshot`,"messages.channelMessagesSnapshot":`channel_messages read-only snapshot`,"messages.channelSnapshot":`channels read-only snapshot`,"messages.userEventsSource":`durable user_update_events`,"messages.channelEventsSource":`durable channel_update_events`,"messages.outboxSource":`online/offline dispatch_outbox`,"messages.attempts":`Attempts`,"messages.deleteThis":`Delete this message`,"messages.groupDetailTitle":`Group Message #{id}`,"messages.channelGroupTitle":`Channel / Group {id}`,"messages.mediaCount":`With media`,"messages.channelPosts":`Channel posts`,"messages.channelGroup":`Channel / Group`,"messages.pinned":`Pinned`,"messages.channelPost":`Channel post`,"gifts.pageTitle":`Star Gift Catalog`,"gifts.eyebrow":`Catalog, immutable revisions and animation assets`,"gifts.total":`Catalog entries`,"gifts.enabled":`Enabled`,"gifts.received":`Received gifts`,"gifts.formats":`Accepted formats`,"gifts.add":`Add gift`,"gifts.importAllDefault":`Import all default gifts`,"gifts.defaultSource":`Default gifts`,"gifts.defaultHint":`Import our built-in original OwpenGram gifts. Complete collectible pools (upgrade + craft) are imported atomically.`,"gifts.defaultSelect":`Choose a default gift`,"gifts.defaultRequired":`Choose a default gift first`,"gifts.defaultEmpty":`No default gifts are available.`,"gifts.importAllOfficial":`Import all official gifts`,"gifts.officialSource":`Official snapshot`,"gifts.officialHint":`Choose a verified gift from data/official-gifts. Complete collectible pools are imported atomically.`,"gifts.officialSearch":`Search official gift ID or title`,"gifts.officialSelect":`Choose an official gift`,"gifts.officialRequired":`Choose an official gift first`,"gifts.officialResults":`Showing {shown} of {total}`,"gifts.officialCategoryLabel":`Official gift capability category`,"gifts.officialCategory.all":`All`,"gifts.officialCategory.upgrade":`Upgradable`,"gifts.officialCategory.craft":`Craftable`,"gifts.officialCategory.basic":`Not upgradable`,"gifts.officialUnnamed":`Unnamed official gift #{id}`,"gifts.officialEmpty":`No official gifts match this category and search.`,"gifts.includeCollectible":`Import the complete collectible pool, including crafted models`,"gifts.importingProgress":`Importing {done} of {total}`,"gifts.bulkImportCount":`{count} gifts available to import`,"gifts.bulkImportDone":`Import complete`,"gifts.bulkImportSummary":`Imported {imported}, skipped {skipped}, failed {failed}`,"gifts.startBulkImport":`Start import`,"gifts.limited":`Limited · {total}`,"gifts.premium":`Premium only`,"gifts.searchPlaceholder":`Search gift ID, title or format`,"gifts.listSummary":`Showing {shown} of {total}`,"gifts.idRevision":`ID / Revision`,"gifts.price":`Price / Conversion`,"gifts.importTitle":`Import a Star Gift`,"gifts.importEyebrow":`Gift catalog operation`,"gifts.newRevision":`Create revision for gift #{id}`,"gifts.importHint":`Upload TGS or plain Lottie JSON. Lottie is normalized and compressed to TGS.`,"gifts.fileSource":`Upload file`,"gifts.officialAttributes":`{count} attributes`,"gifts.canUpgrade":`Can upgrade`,"gifts.cannotUpgrade":`Cannot upgrade`,"gifts.canCraft":`Can Craft`,"gifts.cannotCraft":`Cannot Craft`,"gifts.animation":`Animation file`,"gifts.filePrompt":`Drop or choose a TGS / Lottie file`,"gifts.fileHint":`TGS, JSON or Lottie · validated before import`,"gifts.chooseFile":`Choose file`,"gifts.changeFile":`Change file`,"gifts.title":`Display title`,"gifts.titlePlaceholder":`e.g. Celebration Star`,"gifts.stars":`Price in Stars`,"gifts.convertStars":`Conversion Stars`,"gifts.sortOrder":`Sort order`,"gifts.reason":`Audit reason`,"gifts.reasonPlaceholder":`Briefly describe why this gift is being imported`,"gifts.enableAfterImport":`Enable after import`,"gifts.validate":`Dry-run validation`,"gifts.confirmImport":`Confirm import`,"gifts.stepDetails":`File and details`,"gifts.stepValidate":`Dry-run validation`,"gifts.stepImport":`Confirm import`,"gifts.fileRequired":`Choose a TGS or Lottie file first`,"gifts.source":`Source`,"gifts.replace":`New revision`,"gifts.disable":`Disable`,"gifts.enable":`Enable`,"gifts.bulkSelected":`{count} selected`,"gifts.bulkSelectAll":`Select all visible gifts`,"gifts.bulkSelectOne":`Select gift {id}`,"gifts.bulkEnable":`Enable selected`,"gifts.bulkDisable":`Disable selected`,"gifts.bulkStatusFailed":`{failed} of {total} failed`,"gifts.perPage":`Per page`,"gifts.perPageAll":`All`,"gifts.pageRange":`Showing {start}-{end} of {total}`,"gifts.pagePrev":`Previous`,"gifts.pageNext":`Next`,"gifts.pageOf":`Page {page} of {total}`,"gifts.empty":`No Star Gifts have been imported.`,"gifts.emptyHint":`Import the first animation above to build the gift catalog.`,"gifts.validationReady":`Validation passed`,"gifts.validationHint":`Review the normalized metadata, then confirm the import.`,"gifts.confirmState":`Apply the validated state change to gift #{id}?`,"stickers.pageTitle":`Stickers`,"stickers.eyebrow":`Sticker packs — system packs (dice, animated emoji, gifts) aren't shown here, they're not hand-edited`,"stickers.emojiPageTitle":`Emoji`,"stickers.emojiEyebrow":`Custom-emoji packs — system packs aren't shown here, they're not hand-edited`,"stickers.total":`Total sets`,"stickers.searchPlaceholder":`Search set ID, short name or title`,"stickers.listSummary":`Showing {shown} of {total}`,"stickers.logo":`Logo`,"stickers.id":`ID`,"stickers.shortName":`Short name`,"stickers.title":`Title`,"stickers.count":`Documents`,"stickers.official":`Official`,"stickers.archived":`Archived`,"stickers.sortOrder":`Sort order`,"stickers.createdAt":`Created`,"stickers.archive":`Archive`,"stickers.unarchive":`Unarchive`,"stickers.saveOrder":`Save`,"stickers.saveTitle":`Save`,"stickers.delete":`Delete`,"stickers.view":`View`,"stickers.previewEyebrow":`Set contents`,"stickers.previewEmpty":`This set has no documents.`,"stickers.create":`Create {noun} pack`,"stickers.createTitle":`Create a new {noun} pack`,"stickers.createEyebrow":`New set`,"stickers.createFieldsRequired":`Title, short name, emoji and a first {noun} file are required.`,"stickers.shortNamePlaceholder":`lowercase_short_name`,"stickers.firstSticker":`First {noun}`,"stickers.filePrompt":`Choose a TGS, Lottie JSON, or WebP file`,"stickers.emoji":`Emoji`,"stickers.emojiPlaceholder":`e.g. 😀`,"stickers.emojiRequired":`An emoji is required.`,"stickers.addSticker":`Add {noun}`,"stickers.fileRequired":`Choose a {noun} file first`,"stickers.removeSticker":`Remove`,"collectibles.manage":`Attribute pool`,"collectibles.title":`Collectible pool · Gift #{id}`,"collectibles.eyebrow":`Unique gift attributes`,"collectibles.activeRevision":`Published revision {revision}`,"collectibles.published":`Published`,"collectibles.noPool":`No collectible pool published`,"collectibles.noPoolHint":`Publish models, patterns and backdrops to enable upgrades.`,"collectibles.publishNew":`Publish a new immutable revision`,"collectibles.immutableHint":`Dry-run checks every file and rarity total before the revision becomes active.`,"collectibles.upgradeStars":`Upgrade price in Stars`,"collectibles.supply":`Unique supply`,"collectibles.slug":`Public slug prefix`,"collectibles.models":`Models`,"collectibles.patterns":`Patterns`,"collectibles.backdrops":`Backdrops`,"collectibles.model":`Model`,"collectibles.pattern":`Pattern`,"collectibles.backdrop":`Backdrop`,"collectibles.rarity":`Rarity ‰`,"collectibles.rarityHint":`Permille values are relative regular-upgrade weights; their total does not need to equal 1000.`,"collectibles.colorHint":`Colors are stored as 24-bit RGB values.`,"collectibles.addAttribute":`Add`,"collectibles.remove":`Remove attribute`,"collectibles.fileRequired":`Every model and pattern needs a TGS or Lottie file.`,"collectibles.backdropID":`Backdrop ID`,"collectibles.color.center":`Center`,"collectibles.color.edge":`Edge`,"collectibles.color.pattern":`Pattern`,"collectibles.color.text":`Text`,"collectibles.validationReady":`Attribute pool is valid`,"collectibles.validationHint":`Review the normalized assets, then publish this immutable revision.`,"collectibles.publish":`Publish revision`,"messages.msgIDsInvalid":`Message IDs are invalid`,"auth.device":`Device`,"auth.platform":`Platform`,"auth.ip":`IP`,"auth.lastActive":`Last active`,"auth.revokeCurrent":`Revoke current`,"auth.keepCurrent":`Keep current`,"auth.revokeAll":`Revoke all devices`,"picker.userPlaceholder":`Search user_id / phone / username`,"picker.channelPlaceholder":`Search channel_id / username / title`,"picker.verified":`Verified`,"picker.regular":`Regular`,"action.reasonRequired":`Please enter an operation reason`,"action.flow":`Action Flow`,"action.close":`Close`,"action.stepReason":`Enter reason`,"action.stepDryRun":`Dry-run check`,"action.stepConfirm":`Confirm execution`,"action.reason":`Operation reason`,"action.reasonPlaceholder":`Describe why this operation is being performed`,"action.requestPreview":`Request preview`,"action.result":`Action result`,"action.commandID":`Command ID`,"action.status":`Status`,"action.dryRun":`Dry-run`,"action.runAgain":`Run dry-run again`,"action.runDry":`Run dry-run first`,"action.confirm":`Confirm execution`,"audit.id":`ID`,"audit.commandID":`Command ID`,"audit.action":`Action`,"audit.actor":`Actor`,"audit.status":`Status`,"audit.dryRun":`Dry-run`,"audit.reason":`Reason`,"audit.time":`Time`},we=(0,g.createContext)(null);function Te({children:e}){(0,g.useEffect)(()=>{document.documentElement.lang=`en`,document.documentElement.dir=`ltr`,document.documentElement.setAttribute(`translate`,`no`),document.body.classList.add(`notranslate`),document.title=Ee(`app.title`)},[]);let t=(0,g.useMemo)(()=>({t:(e,t)=>Ee(e,t)}),[]);return(0,W.jsx)(we.Provider,{value:t,children:e})}function G(){let e=(0,g.useContext)(we);if(!e)throw Error(`useI18n must be used inside I18nProvider`);return e}function Ee(e,t){let n=Ce[e]??e;return t?n.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??``)):n}function De(){return{href:`${window.location.pathname}${window.location.search}`,path:window.location.pathname,search:new URLSearchParams(window.location.search)}}function Oe(e,t){return e.startsWith(`/accounts`)?t(`route.accounts`):e.startsWith(`/channels`)?t(`route.channels`):e.startsWith(`/messages`)?t(`route.messages`):e.startsWith(`/gifts`)?t(`route.gifts`):e.startsWith(`/stickers`)?t(`route.stickers`):e.startsWith(`/emoji`)?t(`route.emoji`):t(`route.dashboard`)}function ke(e,t){return e.startsWith(`/accounts`)?t(`route.accountsSubtitle`):e.startsWith(`/channels`)?t(`route.channelsSubtitle`):e.startsWith(`/messages`)?t(`route.messagesSubtitle`):e.startsWith(`/gifts`)?t(`route.giftsSubtitle`):e.startsWith(`/stickers`)?t(`route.stickersSubtitle`):e.startsWith(`/emoji`)?t(`route.emojiSubtitle`):t(`route.dashboardSubtitle`)}function Ae({href:e,navigate:t,className:n,children:r}){return(0,W.jsx)(`a`,{className:n,href:e,onClick:n=>{n.preventDefault(),t(e)},children:r})}function je(){let{t:e}=G();return(0,W.jsxs)(`div`,{className:`boot-screen`,children:[(0,W.jsxs)(`div`,{className:`brand compact brand-elevated`,children:[(0,W.jsx)(`span`,{className:`brand-mark`,children:(0,W.jsx)(`img`,{src:`/logo.png`,alt:`OwpenGram`})}),(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`strong`,{children:`OwpenGram`}),(0,W.jsx)(`small`,{children:e(`app.adminConsole`)})]})]}),(0,W.jsx)(`div`,{className:`loader-bar`})]})}function Me({actor:e,route:t,navigate:n,onLogout:r,children:i}){let{t:a}=G(),o=t.path.startsWith(`/messages`),[s,c]=(0,g.useState)(o);(0,g.useEffect)(()=>{o&&c(!0)},[o]);async function l(){await x.logout().catch(()=>void 0),r()}return(0,W.jsxs)(`div`,{className:`shell`,children:[(0,W.jsxs)(`aside`,{className:`sidebar`,children:[(0,W.jsxs)(Ae,{className:`brand`,href:`/`,navigate:n,children:[(0,W.jsx)(`span`,{className:`brand-mark`,children:(0,W.jsx)(`img`,{src:`/logo.png`,alt:`OwpenGram`})}),(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`strong`,{children:`OwpenGram`}),(0,W.jsx)(`small`,{children:a(`app.adminConsole`)})]})]}),(0,W.jsx)(`div`,{className:`sidebar-label`,children:a(`layout.navigation`)}),(0,W.jsxs)(`nav`,{className:`nav-list`,"aria-label":a(`layout.primaryNav`),children:[(0,W.jsx)(Ne,{icon:(0,W.jsx)(le,{size:16}),href:`/`,route:t,navigate:n,children:a(`layout.dashboard`)}),(0,W.jsx)(Ne,{icon:(0,W.jsx)(U,{size:16}),href:`/accounts`,route:t,navigate:n,children:a(`layout.accounts`)}),(0,W.jsx)(Ne,{icon:(0,W.jsx)(ge,{size:16}),href:`/channels`,route:t,navigate:n,children:a(`layout.channels`)}),(0,W.jsx)(Ne,{icon:(0,W.jsx)(ae,{size:16}),href:`/gifts`,route:t,navigate:n,children:a(`layout.gifts`)}),(0,W.jsx)(Ne,{icon:(0,W.jsx)(be,{size:16}),href:`/stickers`,route:t,navigate:n,children:a(`layout.stickers`)}),(0,W.jsx)(Ne,{icon:(0,W.jsx)(ve,{size:16}),href:`/emoji`,route:t,navigate:n,children:a(`layout.emoji`)}),(0,W.jsxs)(`div`,{className:`nav-section ${o?`active`:``} ${s?`open`:``}`,children:[(0,W.jsxs)(`button`,{className:`nav-section-toggle`,type:`button`,"aria-expanded":s,onClick:()=>c(e=>!e),children:[(0,W.jsx)(z,{size:16}),(0,W.jsx)(`span`,{children:a(`layout.messages`)}),(0,W.jsx)(F,{className:`nav-section-chevron`,size:15})]}),s&&(0,W.jsxs)(`div`,{className:`nav-children`,children:[(0,W.jsx)(Ne,{href:`/messages/private`,route:t,navigate:n,activeWhen:e=>e===`/messages`||e===`/messages/detail`||e.startsWith(`/messages/private`),children:a(`layout.privateMessages`)}),(0,W.jsx)(Ne,{href:`/messages/groups`,route:t,navigate:n,activeWhen:e=>e.startsWith(`/messages/groups`),children:a(`layout.groupMessages`)})]})]})]}),(0,W.jsxs)(`div`,{className:`sidebar-status`,children:[(0,W.jsx)(`div`,{className:`sidebar-label`,children:a(`layout.runtime`)}),(0,W.jsxs)(`div`,{className:`runtime-row`,children:[(0,W.jsx)(he,{size:14}),(0,W.jsx)(`span`,{children:a(`layout.adminBackend`)}),(0,W.jsx)(`strong`,{children:a(`layout.ready`)})]}),(0,W.jsxs)(`div`,{className:`runtime-row`,children:[(0,W.jsx)(R,{size:14}),(0,W.jsx)(`span`,{children:a(`layout.pgRead`)}),(0,W.jsx)(`strong`,{children:a(`layout.readOnly`)})]}),(0,W.jsxs)(`div`,{className:`runtime-row`,children:[(0,W.jsx)(_e,{size:14}),(0,W.jsx)(`span`,{children:a(`layout.writeOps`)}),(0,W.jsx)(`strong`,{children:a(`layout.dryRun`)})]})]})]}),(0,W.jsxs)(`div`,{className:`workspace`,children:[(0,W.jsxs)(`header`,{className:`topbar`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:ke(t.path,a)}),(0,W.jsx)(`h1`,{children:Oe(t.path,a)})]}),(0,W.jsxs)(`div`,{className:`topbar-actions`,children:[(0,W.jsx)(`span`,{className:`actor-pill`,children:a(`layout.actor`,{actor:e})}),(0,W.jsxs)(`button`,{className:`btn ghost icon-text`,type:`button`,onClick:l,title:a(`layout.logout`),children:[(0,W.jsx)(ue,{size:16}),` `,a(`layout.logout`)]})]})]}),(0,W.jsx)(`main`,{className:`content`,children:i})]})]})}function Ne({href:e,route:t,navigate:n,icon:r,children:i,activeWhen:a}){return(0,W.jsxs)(Ae,{className:`nav-item ${(a?a(t.path):e===`/`?t.path===`/`:t.path.startsWith(e))?`active`:``}`,href:e,navigate:n,children:[r??(0,W.jsx)(`span`,{"aria-hidden":`true`,className:`nav-dot`}),(0,W.jsx)(`span`,{children:i})]})}function Pe(e){let t=e.trim();return!t||t.startsWith(`+`)?t:/^\d+$/.test(t)?`+${t}`:t}function Fe(e){let t=e.trim();return t?t.startsWith(`@`)?t:`@${t}`:``}function Ie(e){return`${e.FirstName||``} ${e.LastName||``}`.trim()||`-`}function Le(e,t){let n=t??(e=>({"channel.kind.broadcast":`Channel`,"channel.kind.forum":`Supergroup / Forum`,"channel.kind.megagroup":`Supergroup`,"channel.kind.generic":`Channel / Group`})[e]??e);return e.Broadcast&&!e.Megagroup?n(`channel.kind.broadcast`):e.Megagroup&&e.Forum?n(`channel.kind.forum`):e.Megagroup?n(`channel.kind.megagroup`):n(`channel.kind.generic`)}function Re(e){if(!e||e.startsWith(`0001-`))return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString()}function K(e){if(!e||e<=0)return``;let t=new Date(e*1e3);return Number.isNaN(t.getTime())?``:t.toLocaleString()}function ze(e){if(!e.trim())return 0;let t=Number.parseInt(e,10);return Number.isFinite(t)?t:0}function Be(e,t=`msg ids invalid`){let n=e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean).map(e=>Number.parseInt(e,10));if(n.length===0||n.some(e=>!Number.isFinite(e)||e<=0))throw Error(t);return n}function Ve({title:e,eyebrow:t,children:n,actions:r}){return(0,W.jsxs)(`div`,{className:`page-frame`,children:[(0,W.jsxs)(`div`,{className:`page-title-row`,children:[(0,W.jsxs)(`div`,{children:[t&&(0,W.jsx)(`div`,{className:`eyebrow`,children:t}),(0,W.jsx)(`h2`,{children:e})]}),r&&(0,W.jsx)(`div`,{className:`page-actions`,children:r})]}),n]})}function He({children:e}){return(0,W.jsx)(`div`,{className:`query-panel`,children:e})}function Ue({main:e,side:t}){return(0,W.jsxs)(`div`,{className:`split-layout`,children:[(0,W.jsx)(`div`,{className:`split-main`,children:e}),(0,W.jsx)(`aside`,{className:`split-side`,children:t})]})}function We({title:e,text:t,action:n}){return(0,W.jsxs)(`div`,{className:`section-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:e}),t&&(0,W.jsx)(`p`,{children:t})]}),n&&(0,W.jsx)(`div`,{className:`section-action`,children:n})]})}function Ge({children:e}){return(0,W.jsxs)(`div`,{className:`alert`,children:[(0,W.jsx)(O,{size:16}),` `,(0,W.jsx)(`span`,{children:e})]})}function q({children:e,tone:t=`neutral`}){return(0,W.jsx)(`span`,{className:`badge ${t}`,children:e})}function Ke({label:e,value:t,tone:n}){return(0,W.jsxs)(`div`,{className:`status-item ${n}`,children:[(0,W.jsx)(`span`,{children:e}),(0,W.jsx)(`strong`,{children:t})]})}function J({label:e,value:t,tone:n=`neutral`,mono:r=!1}){return(0,W.jsxs)(`div`,{className:`metric ${n}`,children:[(0,W.jsx)(`span`,{children:e}),(0,W.jsx)(`strong`,{className:r?`mono`:``,children:t})]})}function Y({label:e,value:t,mono:n=!1}){return(0,W.jsxs)(`div`,{className:`summary-item`,children:[(0,W.jsx)(`span`,{children:e}),(0,W.jsx)(`strong`,{className:n?`mono`:``,children:t})]})}function qe({rows:e}){let{t}=G();return(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:t(`audit.id`)}),(0,W.jsx)(`th`,{children:t(`audit.commandID`)}),(0,W.jsx)(`th`,{children:t(`audit.action`)}),(0,W.jsx)(`th`,{children:t(`audit.actor`)}),(0,W.jsx)(`th`,{children:t(`audit.status`)}),(0,W.jsx)(`th`,{children:t(`audit.dryRun`)}),(0,W.jsx)(`th`,{children:t(`audit.reason`)}),(0,W.jsx)(`th`,{children:t(`audit.time`)})]})}),(0,W.jsxs)(`tbody`,{children:[e.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:e.ID}),(0,W.jsx)(`td`,{className:`mono`,children:e.CommandID}),(0,W.jsx)(`td`,{children:e.Action}),(0,W.jsx)(`td`,{children:e.Actor}),(0,W.jsx)(`td`,{children:e.Status}),(0,W.jsx)(`td`,{children:e.DryRun?t(`common.yes`):t(`common.no`)}),(0,W.jsx)(`td`,{className:`truncate`,children:e.Reason}),(0,W.jsx)(`td`,{children:Re(e.CreatedAt)})]},e.ID)),e.length===0&&(0,W.jsx)(Je,{colSpan:8})]})]})})}function Je({colSpan:e}){let{t}=G();return(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:e,className:`empty-cell`,children:t(`common.noResults`)})})}function Ye({label:e}){return(0,W.jsx)(`section`,{className:`surface`,children:(0,W.jsx)(`div`,{className:`loading-line`,children:e})})}function Xe({value:e}){return(0,W.jsx)(`pre`,{className:`json-block`,children:e||`{}`})}function Ze({onLogin:e}){let{t}=G(),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(!1);async function c(t){t.preventDefault(),s(!0),a(``);try{e((await x.login(n)).actor)}catch(e){a(b(e))}finally{s(!1)}}return(0,W.jsx)(`main`,{className:`login-page`,children:(0,W.jsxs)(`section`,{className:`login-panel`,children:[(0,W.jsxs)(`div`,{className:`login-head`,children:[(0,W.jsxs)(`div`,{className:`brand brand-elevated`,children:[(0,W.jsx)(`span`,{className:`brand-mark`,children:(0,W.jsx)(`img`,{src:`/logo.png`,alt:`OwpenGram`})}),(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`strong`,{children:`OwpenGram`}),(0,W.jsx)(`small`,{children:t(`app.adminConsole`)})]})]}),(0,W.jsx)(`div`,{className:`login-head-actions`,children:(0,W.jsx)(`span`,{className:`login-chip`,children:t(`app.localAccess`)})})]}),(0,W.jsxs)(`div`,{className:`login-copy`,children:[(0,W.jsx)(`h1`,{children:t(`login.heading`)}),(0,W.jsx)(`p`,{children:t(`login.body`)})]}),i&&(0,W.jsx)(Ge,{children:i}),(0,W.jsxs)(`form`,{className:`form-stack`,onSubmit:c,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:t(`login.secret`)}),(0,W.jsx)(`input`,{autoFocus:!0,type:`password`,value:n,autoComplete:`current-password`,onChange:e=>r(e.target.value)})]}),(0,W.jsx)(`button`,{className:`btn primary full`,type:`submit`,disabled:o,children:t(o?`login.submitting`:`login.submit`)})]})]})})}var Qe=m();function $e({label:e,path:t,payload:n,icon:r,compact:i=!1,tone:a=`danger`,onDone:o}){let{t:s}=G(),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(``),[_,v]=(0,g.useState)(!1);function y(){d(``),p(null),h(``)}async function S(e){if(!u.trim()){h(s(`action.reasonRequired`));return}v(!0),h(``);try{let r={...n(),reason:u,confirm:e};p(await x.action(t,r)),e&&o?.()}catch(e){h(b(e))}finally{v(!1)}}let C=f?.dry_run&&!f.error,w=`btn ${a===`danger`?`danger`:a===`warn`?`warn`:``} ${i?`compact-btn`:``}`,T=(0,g.useMemo)(()=>{try{return n()}catch(e){return{payload_error:b(e)}}},[c,n]);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`button`,{className:w,type:`button`,onClick:()=>{y(),l(!0)},children:[r,e]}),c&&(0,Qe.createPortal)((0,W.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,W.jsxs)(`section`,{className:`modal command-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":e,children:[(0,W.jsxs)(`div`,{className:`modal-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:s(`action.flow`)}),(0,W.jsx)(`h2`,{children:e})]}),(0,W.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:()=>l(!1),"aria-label":s(`action.close`),children:(0,W.jsx)(xe,{size:15})})]}),(0,W.jsxs)(`div`,{className:`command-body`,children:[(0,W.jsxs)(`div`,{className:`command-steps`,children:[(0,W.jsxs)(`div`,{className:`command-step ${u.trim()?`done`:`active`}`,children:[(0,W.jsx)(`span`,{children:`1`}),(0,W.jsx)(`strong`,{children:s(`action.stepReason`)})]}),(0,W.jsxs)(`div`,{className:`command-step ${f?.dry_run?`done`:u.trim()?`active`:``}`,children:[(0,W.jsx)(`span`,{children:`2`}),(0,W.jsx)(`strong`,{children:s(`action.stepDryRun`)})]}),(0,W.jsxs)(`div`,{className:`command-step ${f&&!f.dry_run&&!f.error?`done`:C?`active`:``}`,children:[(0,W.jsx)(`span`,{children:`3`}),(0,W.jsx)(`strong`,{children:s(`action.stepConfirm`)})]})]}),(0,W.jsxs)(`label`,{className:`form-field`,children:[(0,W.jsx)(`span`,{children:s(`action.reason`)}),(0,W.jsx)(`textarea`,{value:u,onChange:e=>d(e.target.value),rows:3,placeholder:s(`action.reasonPlaceholder`)})]}),(0,W.jsxs)(`div`,{className:`command-preview`,children:[(0,W.jsxs)(`div`,{className:`preview-head`,children:[(0,W.jsx)(re,{size:14}),` `,s(`action.requestPreview`)]}),(0,W.jsx)(Xe,{value:JSON.stringify(T,null,2)})]}),m&&(0,W.jsx)(Ge,{children:m}),f&&(0,W.jsxs)(`div`,{className:`result-box`,children:[(0,W.jsxs)(`div`,{className:`result-title`,children:[f.error?(0,W.jsx)(O,{size:16}):(0,W.jsx)(k,{size:16}),(0,W.jsx)(`strong`,{children:f.message||f.error||s(`action.result`)})]}),(0,W.jsxs)(`div`,{className:`result-line`,children:[(0,W.jsx)(`span`,{children:s(`action.commandID`)}),(0,W.jsx)(`strong`,{children:f.command_id})]}),(0,W.jsxs)(`div`,{className:`result-line`,children:[(0,W.jsx)(`span`,{children:s(`action.status`)}),(0,W.jsx)(`strong`,{children:f.status})]}),(0,W.jsxs)(`div`,{className:`result-line`,children:[(0,W.jsx)(`span`,{children:s(`action.dryRun`)}),(0,W.jsx)(`strong`,{children:f.dry_run?s(`common.yes`):s(`common.no`)})]}),(0,W.jsx)(`div`,{className:`result-message`,children:f.message||f.error}),f.details&&(0,W.jsx)(Xe,{value:JSON.stringify(f.details,null,2)})]})]}),(0,W.jsxs)(`div`,{className:`modal-actions`,children:[(0,W.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>l(!1),children:s(`common.close`)}),(0,W.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>S(!1),disabled:_,children:[_?(0,W.jsx)(A,{size:15,className:`spin`}):(0,W.jsx)(B,{size:15}),s(f?`action.runAgain`:`action.runDry`)]}),(0,W.jsxs)(`button`,{className:`btn danger icon-text`,type:`button`,onClick:()=>S(!0),disabled:_||!C,children:[(0,W.jsx)(k,{size:15}),s(`action.confirm`)]})]})]})}),document.body)]})}function et({rows:e,userID:t,onDone:n}){let{t:r}=G(),[i,a]=(0,g.useState)(()=>new Set);(0,g.useEffect)(()=>{a(new Set)},[t]);let o=(0,g.useMemo)(()=>e.filter(e=>!i.has(e.Hash)),[e,i]);function s(e){a(t=>e(t)),n()}return(0,W.jsxs)(`div`,{className:`authorization-block`,children:[(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table authorization-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:r(`auth.device`)}),(0,W.jsx)(`th`,{children:r(`auth.platform`)}),(0,W.jsx)(`th`,{children:r(`auth.ip`)}),(0,W.jsx)(`th`,{children:r(`auth.lastActive`)}),(0,W.jsx)(`th`,{className:`device-actions-head`,children:r(`common.actions`)})]})}),(0,W.jsxs)(`tbody`,{children:[o.map(n=>(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{className:`device-text`,children:[n.DeviceModel,` `,n.SystemVersion]}),(0,W.jsxs)(`td`,{className:`device-text`,children:[n.Platform,` `,n.AppVersion]}),(0,W.jsx)(`td`,{children:n.IP}),(0,W.jsx)(`td`,{children:Re(n.ActiveAt)}),(0,W.jsx)(`td`,{className:`device-actions-cell`,children:(0,W.jsxs)(`div`,{className:`device-actions`,children:[(0,W.jsx)($e,{label:r(`auth.revokeCurrent`),icon:(0,W.jsx)(ue,{size:13}),compact:!0,path:`/api/actions/revoke-sessions`,payload:()=>({user_id:t,hash:n.Hash}),onDone:()=>s(e=>new Set([...e,n.Hash]))}),(0,W.jsx)($e,{label:r(`auth.keepCurrent`),icon:(0,W.jsx)(ge,{size:13}),compact:!0,path:`/api/actions/revoke-sessions`,payload:()=>({user_id:t,keep_hash:n.Hash}),onDone:()=>s(()=>new Set(e.filter(e=>e.Hash!==n.Hash).map(e=>e.Hash)))})]})})]},n.Hash)),o.length===0&&(0,W.jsx)(Je,{colSpan:5})]})]})}),(0,W.jsx)(`div`,{className:`danger-zone`,children:(0,W.jsx)($e,{label:r(`auth.revokeAll`),icon:(0,W.jsx)(N,{size:15}),path:`/api/actions/revoke-sessions`,payload:()=>({user_id:t,revoke_all:!0}),onDone:()=>s(()=>new Set(e.map(e=>e.Hash)))})})]})}function tt({id:e,navigate:t}){let{t:n}=G(),[r,i]=(0,g.useState)(null),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(`1`),[d,f]=(0,g.useState)(`1000`),[p,m]=(0,g.useState)(()=>nt(new Date(Date.now()+7*864e5))),[h,_]=(0,g.useState)(``);async function v(){c(!0),o(``);try{let t=await x.account(e);i(t),t.Restriction.Frozen&&(t.Restriction.Until&&m(nt(new Date(t.Restriction.Until))),_(t.Restriction.AppealURL||``))}catch(e){o(b(e))}finally{c(!1)}}if((0,g.useEffect)(()=>{v()},[e]),a)return(0,W.jsx)(Ge,{children:a});if(!r)return(0,W.jsx)(Ye,{label:n(s?`account.loadingDetail`:`account.waitingData`)});let y=r.Account;return(0,W.jsx)(Ve,{title:n(`account.detailTitle`,{id:y.ID}),eyebrow:n(`account.profile`),actions:(0,W.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>t(`/accounts`),children:[(0,W.jsx)(M,{size:15}),` `,n(`common.backToList`)]}),children:(0,W.jsx)(Ue,{main:(0,W.jsxs)(`div`,{className:`stacked-sections`,children:[(0,W.jsxs)(`section`,{className:`entity-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`entity-title`,children:Ie(y)}),(0,W.jsxs)(`div`,{className:`entity-subtitle`,children:[Fe(y.Username)||n(`account.noUsername`),` · `,Pe(y.Phone)||n(`account.noPhone`)]})]}),(0,W.jsxs)(`div`,{className:`entity-badges`,children:[y.PremiumUntil>0?(0,W.jsx)(q,{tone:`good`,children:n(`account.premium`)}):(0,W.jsx)(q,{children:n(`account.notPremium`)}),r.Verified?(0,W.jsx)(q,{tone:`good`,children:n(`common.verified`)}):(0,W.jsx)(q,{children:n(`account.notVerified`)}),y.Frozen?(0,W.jsx)(q,{tone:`danger`,children:n(`account.accountFrozen`)}):(0,W.jsx)(q,{children:n(`account.accountActive`)})]})]}),(0,W.jsxs)(`div`,{className:`summary-grid`,children:[(0,W.jsx)(Y,{label:n(`account.userID`),value:String(y.ID),mono:!0}),(0,W.jsx)(Y,{label:n(`account.lastActive`),value:K(r.LastSeenAt)||`-`}),(0,W.jsx)(Y,{label:n(`account.premiumUntil`),value:y.PremiumUntil>0?K(y.PremiumUntil):n(`common.none`)}),(0,W.jsx)(Y,{label:n(`account.starsBalance`),value:`${r.StarsBalance} / ${r.StarsGranted?n(`account.startingGrantApplied`):n(`account.startingGrantPending`)}`}),(0,W.jsx)(Y,{label:n(`common.updatedAt`),value:Re(y.UpdatedAt)||`-`}),(0,W.jsx)(Y,{label:n(`account.activeSessions`),value:String(r.Authorizations.length)}),(0,W.jsx)(Y,{label:n(`account.accountFlags`),value:`support=${r.Support} bot=${r.Bot}`}),(0,W.jsx)(Y,{label:n(`account.restriction`),value:r.HasRestriction?r.Restriction.Reason||n(`account.restricted`):n(`common.none`)}),(0,W.jsx)(Y,{label:n(`account.freezeSince`),value:r.Restriction.Since?Re(r.Restriction.Since):n(`common.none`)}),(0,W.jsx)(Y,{label:n(`account.freezeUntil`),value:r.Restriction.Until?Re(r.Restriction.Until):n(`common.none`)}),(0,W.jsx)(Y,{label:n(`account.freezeAppealURL`),value:r.Restriction.AppealURL||n(`common.none`)}),(0,W.jsx)(Y,{label:n(`account.createdAt`),value:Re(y.CreatedAt)||`-`})]}),r.About&&(0,W.jsx)(`p`,{className:`about-text`,children:r.About}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:n(`account.authorizationsTitle`),text:n(`account.authorizationsCount`,{count:r.Authorizations.length})}),(0,W.jsx)(et,{rows:r.Authorizations,userID:y.ID,onDone:v})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:n(`account.recentAdminOps`),text:n(`account.recent30Audit`)}),(0,W.jsx)(qe,{rows:r.AuditLogs})]})]}),side:(0,W.jsxs)(`section`,{className:`action-dock`,children:[(0,W.jsx)(`div`,{className:`dock-title`,children:n(`account.actionDock`)}),(0,W.jsxs)(`label`,{className:`duration-field`,children:[(0,W.jsx)(`span`,{children:n(`account.freezeUntil`)}),(0,W.jsx)(`input`,{"aria-label":n(`account.freezeUntilAria`),value:p,onChange:e=>m(e.target.value),type:`datetime-local`})]}),(0,W.jsxs)(`label`,{className:`duration-field`,children:[(0,W.jsx)(`span`,{children:n(`account.freezeAppealURL`)}),(0,W.jsx)(`input`,{"aria-label":n(`account.freezeAppealURLAria`),value:h,onChange:e=>_(e.target.value),type:`url`,placeholder:`https://...`})]}),(0,W.jsx)($e,{label:y.Frozen?n(`account.updateFreeze`):n(`account.freezeAccount`),icon:(0,W.jsx)(O,{size:15}),path:`/api/actions/set-frozen`,payload:()=>({user_id:y.ID,frozen:!0,freeze_until:new Date(p).toISOString(),freeze_appeal_url:h.trim()}),onDone:v}),y.Frozen&&(0,W.jsx)($e,{label:n(`account.unfreezeAccount`),icon:(0,W.jsx)(O,{size:15}),path:`/api/actions/set-frozen`,payload:()=>({user_id:y.ID,frozen:!1}),onDone:v}),(0,W.jsxs)(`label`,{className:`duration-field`,children:[(0,W.jsx)(`span`,{children:n(`account.premiumMonths`)}),(0,W.jsx)(`input`,{"aria-label":n(`account.premiumMonthsAria`),value:l,onChange:e=>u(e.target.value),type:`number`,min:`1`,max:`120`})]}),(0,W.jsxs)(`div`,{className:`action-stack`,children:[(0,W.jsx)($e,{label:n(`account.setPremium`),icon:(0,W.jsx)(j,{size:15}),tone:`warn`,path:`/api/actions/grant-premium`,payload:()=>({user_id:y.ID,months:ze(l)}),onDone:v}),(0,W.jsx)($e,{label:n(`account.clearPremium`),icon:(0,W.jsx)(j,{size:15}),tone:`warn`,path:`/api/actions/grant-premium`,payload:()=>({user_id:y.ID,months:0}),onDone:v}),(0,W.jsxs)(`label`,{className:`duration-field`,children:[(0,W.jsx)(`span`,{children:n(`account.starsAmount`)}),(0,W.jsx)(`input`,{"aria-label":n(`account.starsAmountAria`),value:d,onChange:e=>f(e.target.value),type:`number`,min:`1`,max:`1000000000`})]}),(0,W.jsx)($e,{label:n(`account.grantStars`),icon:(0,W.jsx)(ye,{size:15}),tone:`warn`,path:`/api/actions/grant-stars`,payload:()=>({user_id:y.ID,amount:ze(d)}),onDone:v}),(0,W.jsx)($e,{label:r.Verified?n(`account.clearVerified`):n(`account.setVerified`),icon:(0,W.jsx)(D,{size:15}),tone:`warn`,path:`/api/actions/set-verified`,payload:()=>({user_id:y.ID,verified:!r.Verified}),onDone:v})]})]})})})}function nt(e){return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,16)}var rt=[[`#FF885E`,`#FF516A`],[`#FFCD6A`,`#FFA85C`],[`#82B1FF`,`#665FFF`],[`#A0DE7E`,`#54CB68`],[`#53EDD6`,`#28C9B7`],[`#72D5FD`,`#2A9EF1`],[`#E0A2F3`,`#D669ED`]];function it(e){return rt[Math.abs(e)%rt.length]}function at(e){let t=Array.from(e);return t.length>0?t[0]:``}function ot(e,t,n){let r=`${e} ${t}`.trim().split(/\s+/).filter(Boolean),i=r.length>0?r:n?[n]:[];if(i.length===0)return`T`;let a=at(i[0]);return i.length>1&&(a+=at(i[i.length-1])),a.toUpperCase()}function st({userID:e,firstName:t,lastName:n,username:r=``,size:i=34}){let[a,o]=(0,g.useState)(!1);if((0,g.useEffect)(()=>{o(!1)},[e]),a){let[a,o]=it(e);return(0,W.jsx)(`div`,{className:`avatar-fallback`,style:{width:i,height:i,background:`linear-gradient(135deg, ${a}, ${o})`,fontSize:Math.round(i*.42)},children:ot(t,n,r)})}return(0,W.jsx)(`img`,{className:`avatar-photo-img`,src:`/api/accounts/${e}/avatar`,alt:``,loading:`lazy`,style:{width:i,height:i},onError:()=>o(!0)})}function ct(e){return e.reduce((e,t)=>(e.devices+=t.DeviceCount,t.PremiumUntil>0&&(e.premium+=1),t.Frozen&&(e.frozen+=1),e),{devices:0,premium:0,frozen:0})}function lt(e){return e.reduce((e,t)=>(t.Megagroup&&(e.megagroups+=1),t.Broadcast&&(e.broadcasts+=1),t.Verified&&(e.verified+=1),e),{megagroups:0,broadcasts:0,verified:0})}function ut({navigate:e}){let{t}=G(),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(`50`),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)({beforeID:0,beforeActiveUS:0}),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(``);async function m(e=!1){d(!0),p(``);let t=new URLSearchParams({limit:i});n.trim()?t.set(`q`,n.trim()):e&&(t.set(`before_id`,String(c.beforeID)),t.set(`before_active_us`,String(c.beforeActiveUS)));try{let e=await x.accounts(t);s(e),l({beforeID:e.next_before_id,beforeActiveUS:e.next_before_active_us})}catch(e){p(b(e))}finally{d(!1)}}(0,g.useEffect)(()=>{m(!1)},[]);let h=ct(o?.rows??[]);return(0,W.jsxs)(Ve,{title:t(`account.pageTitle`),eyebrow:o?.listing===!1?t(`account.queryResults`):t(`account.recentActive`),actions:(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>m(!1),disabled:u,children:[(0,W.jsx)(pe,{size:15}),` `,t(`common.refresh`)]}),children:[f&&(0,W.jsx)(Ge,{children:f}),(0,W.jsxs)(`div`,{className:`metric-row`,children:[(0,W.jsx)(J,{label:t(`account.currentPage`),value:String(o?.rows.length??0)}),(0,W.jsx)(J,{label:t(`account.onlineDevices`),value:String(h.devices)}),(0,W.jsx)(J,{label:t(`account.premium`),value:String(h.premium),tone:`good`}),(0,W.jsx)(J,{label:t(`account.frozen`),value:String(h.frozen),tone:h.frozen>0?`danger`:`neutral`})]}),(0,W.jsx)(He,{children:(0,W.jsxs)(`form`,{className:`toolbar`,onSubmit:e=>{e.preventDefault(),m(!1)},children:[(0,W.jsxs)(`label`,{className:`searchbox`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),placeholder:t(`account.searchPlaceholder`)})]}),(0,W.jsxs)(`label`,{className:`field-inline`,children:[(0,W.jsx)(`span`,{children:t(`common.limit`)}),(0,W.jsx)(`input`,{className:`small-input`,value:i,onChange:e=>a(e.target.value),type:`number`,min:`1`,max:`100`})]}),(0,W.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,disabled:u,children:[u?(0,W.jsx)(A,{size:15,className:`spin`}):(0,W.jsx)(me,{size:15}),` `,t(`common.search`)]}),o?.listing&&o.has_more&&(0,W.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>m(!0),disabled:u,children:[(0,W.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]})]})}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{className:`avatar-col`}),(0,W.jsx)(`th`,{children:t(`account.userID`)}),(0,W.jsx)(`th`,{children:t(`account.phone`)}),(0,W.jsx)(`th`,{children:t(`common.username`)}),(0,W.jsx)(`th`,{children:t(`common.name`)}),(0,W.jsx)(`th`,{children:t(`account.loginEmail`)}),(0,W.jsx)(`th`,{children:t(`common.device`)}),(0,W.jsx)(`th`,{children:t(`account.lastActive`)}),(0,W.jsx)(`th`,{children:t(`account.premium`)}),(0,W.jsx)(`th`,{children:t(`common.verified`)}),(0,W.jsx)(`th`,{children:t(`account.frozen`)}),(0,W.jsx)(`th`,{children:t(`common.updatedAt`)}),(0,W.jsx)(`th`,{})]})}),(0,W.jsxs)(`tbody`,{children:[o?.rows.map(n=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`avatar-col`,children:(0,W.jsx)(st,{userID:n.ID,firstName:n.FirstName,lastName:n.LastName,username:n.Username})}),(0,W.jsx)(`td`,{className:`mono`,children:n.ID}),(0,W.jsx)(`td`,{children:Pe(n.Phone)}),(0,W.jsx)(`td`,{children:Fe(n.Username)}),(0,W.jsx)(`td`,{children:Ie(n)}),(0,W.jsx)(`td`,{children:n.LoginEmail||(0,W.jsx)(`span`,{className:`muted-cell`,children:t(`common.none`)})}),(0,W.jsx)(`td`,{children:n.DeviceCount}),(0,W.jsx)(`td`,{children:Re(n.LastActiveAt)}),(0,W.jsx)(`td`,{children:n.PremiumUntil>0?(0,W.jsxs)(q,{tone:`good`,children:[t(`account.premium`),` `,K(n.PremiumUntil)]}):(0,W.jsx)(q,{children:t(`common.none`)})}),(0,W.jsx)(`td`,{children:n.Verified?(0,W.jsx)(q,{tone:`good`,children:t(`common.verified`)}):(0,W.jsx)(q,{children:t(`account.notVerified`)})}),(0,W.jsx)(`td`,{children:n.Frozen?(0,W.jsx)(q,{tone:`danger`,children:t(`account.frozen`)}):(0,W.jsx)(q,{children:t(`common.normal`)})}),(0,W.jsx)(`td`,{children:Re(n.UpdatedAt)}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/accounts/${n.ID}`),children:[t(`common.detail`),` `,(0,W.jsx)(L,{size:14})]})})]},n.ID)),(!o||o.rows.length===0)&&(0,W.jsx)(Je,{colSpan:12})]})]})})]})}function dt({id:e,navigate:t}){let{t:n}=G(),[r,i]=(0,g.useState)(null),[a,o]=(0,g.useState)(``);async function s(){o(``);try{i(await x.channel(e))}catch(e){o(b(e))}}if((0,g.useEffect)(()=>{s()},[e]),a)return(0,W.jsx)(Ge,{children:a});if(!r)return(0,W.jsx)(Ye,{label:n(`channel.loadingDetail`)});let c=r.Channel;return(0,W.jsx)(Ve,{title:`${Le(c,n)} #${c.ID}`,eyebrow:n(`channel.detailProfile`),actions:(0,W.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>t(`/channels`),children:[(0,W.jsx)(M,{size:15}),` `,n(`common.backToList`)]}),children:(0,W.jsx)(Ue,{main:(0,W.jsxs)(`div`,{className:`stacked-sections`,children:[(0,W.jsxs)(`section`,{className:`entity-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`entity-title`,children:c.Title||`-`}),(0,W.jsxs)(`div`,{className:`entity-subtitle`,children:[Fe(c.Username)||n(`account.noUsername`),` · `,n(`channel.creator`,{id:c.CreatorUserID})]})]}),(0,W.jsxs)(`div`,{className:`entity-badges`,children:[(0,W.jsx)(q,{children:Le(c,n)}),c.Verified?(0,W.jsx)(q,{tone:`good`,children:n(`common.verified`)}):(0,W.jsx)(q,{children:n(`account.notVerified`)}),c.Deleted?(0,W.jsx)(q,{tone:`danger`,children:n(`common.deleted`)}):(0,W.jsx)(q,{children:n(`common.valid`)})]})]}),(0,W.jsxs)(`div`,{className:`summary-grid`,children:[(0,W.jsx)(Y,{label:n(`channel.channelID`),value:String(c.ID),mono:!0}),(0,W.jsx)(Y,{label:`access_hash`,value:String(c.AccessHash),mono:!0}),(0,W.jsx)(Y,{label:n(`common.members`),value:`${c.ParticipantsCount} / ${n(`common.admins`)} ${c.AdminsCount}`}),(0,W.jsx)(Y,{label:n(`channel.governance`),value:n(`channel.governanceValue`,{banned:c.BannedCount,kicked:c.KickedCount})}),(0,W.jsx)(Y,{label:n(`channel.flags`),value:`broadcast=${c.Broadcast} megagroup=${c.Megagroup} forum=${c.Forum}`}),(0,W.jsx)(Y,{label:`top / pinned / PTS`,value:`${c.TopMessageID} / ${c.PinnedMessageID} / ${c.PTS}`}),(0,W.jsx)(Y,{label:n(`account.createdAt`),value:K(c.Date)||`-`}),(0,W.jsx)(Y,{label:n(`common.updatedAt`),value:Re(c.UpdatedAt)||`-`})]}),c.About&&(0,W.jsx)(`p`,{className:`about-text`,children:c.About}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:n(`account.recentAdminOps`),text:n(`account.recent30Audit`)}),(0,W.jsx)(qe,{rows:r.AuditLogs})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:n(`channel.rawRow`),text:n(`channel.rawRowText`)}),(0,W.jsx)(Xe,{value:r.ChannelJSON})]})]}),side:(0,W.jsxs)(`section`,{className:`action-dock`,children:[(0,W.jsx)(`div`,{className:`dock-title`,children:n(`channel.actionDock`)}),(0,W.jsx)($e,{label:c.Verified?n(`channel.clearVerified`):n(`channel.setVerified`),icon:(0,W.jsx)(D,{size:15}),tone:`warn`,path:`/api/actions/set-channel-verified`,payload:()=>({channel_id:c.ID,verified:!c.Verified}),onDone:s})]})})})}function ft({navigate:e}){let{t}=G(),[n,r]=(0,g.useState)(``),[i,a]=(0,g.useState)(`50`),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)({beforeID:0,beforeUpdatedUS:0}),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(``);async function m(e=!1){d(!0),p(``);let t=new URLSearchParams({limit:i});n.trim()?t.set(`q`,n.trim()):e&&(t.set(`before_id`,String(c.beforeID)),t.set(`before_updated_us`,String(c.beforeUpdatedUS)));try{let e=await x.channels(t);s(e),l({beforeID:e.next_before_id,beforeUpdatedUS:e.next_before_updated_us})}catch(e){p(b(e))}finally{d(!1)}}(0,g.useEffect)(()=>{m(!1)},[]);let h=lt(o?.rows??[]);return(0,W.jsxs)(Ve,{title:t(`channel.pageTitle`),eyebrow:o?.listing===!1?t(`account.queryResults`):t(`channel.recentUpdated`),actions:(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>m(!1),disabled:u,children:[(0,W.jsx)(pe,{size:15}),` `,t(`common.refresh`)]}),children:[f&&(0,W.jsx)(Ge,{children:f}),(0,W.jsxs)(`div`,{className:`metric-row`,children:[(0,W.jsx)(J,{label:t(`channel.currentPage`),value:String(o?.rows.length??0)}),(0,W.jsx)(J,{label:t(`channel.megagroups`),value:String(h.megagroups)}),(0,W.jsx)(J,{label:t(`channel.broadcasts`),value:String(h.broadcasts)}),(0,W.jsx)(J,{label:t(`channel.verifiedCount`),value:String(h.verified),tone:`good`})]}),(0,W.jsx)(He,{children:(0,W.jsxs)(`form`,{className:`toolbar`,onSubmit:e=>{e.preventDefault(),m(!1)},children:[(0,W.jsxs)(`label`,{className:`searchbox`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:n,onChange:e=>r(e.target.value),placeholder:t(`channel.searchPlaceholder`)})]}),(0,W.jsxs)(`label`,{className:`field-inline`,children:[(0,W.jsx)(`span`,{children:t(`common.limit`)}),(0,W.jsx)(`input`,{className:`small-input`,value:i,onChange:e=>a(e.target.value),type:`number`,min:`1`,max:`100`})]}),(0,W.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,disabled:u,children:[u?(0,W.jsx)(A,{size:15,className:`spin`}):(0,W.jsx)(me,{size:15}),` `,t(`common.search`)]}),o?.listing&&o.has_more&&(0,W.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>m(!0),disabled:u,children:[(0,W.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]})]})}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:t(`channel.channelID`)}),(0,W.jsx)(`th`,{children:t(`channel.kind`)}),(0,W.jsx)(`th`,{children:t(`common.username`)}),(0,W.jsx)(`th`,{children:t(`channel.title`)}),(0,W.jsx)(`th`,{children:t(`common.members`)}),(0,W.jsx)(`th`,{children:t(`common.admins`)}),(0,W.jsx)(`th`,{children:`PTS`}),(0,W.jsx)(`th`,{children:t(`common.verified`)}),(0,W.jsx)(`th`,{children:t(`common.updatedAt`)}),(0,W.jsx)(`th`,{})]})}),(0,W.jsxs)(`tbody`,{children:[o?.rows.map(n=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`mono`,children:n.ID}),(0,W.jsx)(`td`,{children:Le(n,t)}),(0,W.jsx)(`td`,{children:Fe(n.Username)}),(0,W.jsx)(`td`,{children:n.Title}),(0,W.jsx)(`td`,{children:n.ParticipantsCount}),(0,W.jsx)(`td`,{children:n.AdminsCount}),(0,W.jsx)(`td`,{children:n.PTS}),(0,W.jsx)(`td`,{children:n.Verified?(0,W.jsx)(q,{tone:`good`,children:t(`common.verified`)}):(0,W.jsx)(q,{children:t(`account.notVerified`)})}),(0,W.jsx)(`td`,{children:Re(n.UpdatedAt)}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/channels/${n.ID}`),children:[t(`common.detail`),` `,(0,W.jsx)(L,{size:14})]})})]},n.ID)),(!o||o.rows.length===0)&&(0,W.jsx)(Je,{colSpan:10})]})]})})]})}function pt({navigate:e}){let{t}=G();return(0,W.jsxs)(`div`,{className:`dashboard-layout`,children:[(0,W.jsxs)(`section`,{className:`overview-band`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:t(`dashboard.eyebrow`)}),(0,W.jsx)(`h2`,{children:t(`dashboard.title`)})]}),(0,W.jsxs)(`div`,{className:`overview-metrics`,children:[(0,W.jsx)(Ke,{label:t(`dashboard.readPath`),value:t(`dashboard.readPathValue`),tone:`neutral`}),(0,W.jsx)(Ke,{label:t(`dashboard.writePath`),value:`Admin API`,tone:`good`}),(0,W.jsx)(Ke,{label:t(`dashboard.executionPolicy`),value:t(`dashboard.dryRunFirst`),tone:`warn`})]})]}),(0,W.jsxs)(`div`,{className:`command-grid`,children:[(0,W.jsx)(mt,{icon:(0,W.jsx)(U,{}),title:t(`route.accounts`),text:t(`dashboard.accountsText`),href:`/accounts`,navigate:e}),(0,W.jsx)(mt,{icon:(0,W.jsx)(ge,{}),title:t(`route.channels`),text:t(`dashboard.channelsText`),href:`/channels`,navigate:e}),(0,W.jsx)(mt,{icon:(0,W.jsx)(z,{}),title:t(`route.messages`),text:t(`dashboard.messagesText`),href:`/messages`,navigate:e})]}),(0,W.jsxs)(`section`,{className:`work-strip`,children:[(0,W.jsxs)(`div`,{className:`strip-item`,children:[(0,W.jsx)(k,{size:16}),(0,W.jsx)(`span`,{children:t(`dashboard.strip.dryRun`)})]}),(0,W.jsxs)(`div`,{className:`strip-item`,children:[(0,W.jsx)(ce,{size:16}),(0,W.jsx)(`span`,{children:t(`dashboard.strip.token`)})]}),(0,W.jsxs)(`div`,{className:`strip-item`,children:[(0,W.jsx)(ee,{size:16}),(0,W.jsx)(`span`,{children:t(`dashboard.strip.pagination`)})]}),(0,W.jsxs)(`div`,{className:`strip-item`,children:[(0,W.jsx)(re,{size:16}),(0,W.jsx)(`span`,{children:t(`dashboard.strip.snapshot`)})]})]})]})}function mt({icon:e,title:t,text:n,href:r,navigate:i}){return(0,W.jsxs)(Ae,{className:`launcher`,href:r,navigate:i,children:[(0,W.jsx)(`span`,{className:`launcher-icon`,children:e}),(0,W.jsxs)(`span`,{className:`launcher-copy`,children:[(0,W.jsx)(`strong`,{children:t}),(0,W.jsx)(`span`,{children:n})]}),(0,W.jsx)(L,{size:16})]})}function ht({channelID:e,msgID:t,navigate:n}){let{t:r}=G(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``);async function c(){s(``);try{a(await x.groupMessage(e,t))}catch(e){s(b(e))}}if((0,g.useEffect)(()=>{c()},[e,t]),o)return(0,W.jsx)(Ge,{children:o});if(!i)return(0,W.jsx)(Ye,{label:r(`common.loading`)});let l=i.Message;return(0,W.jsx)(Ve,{title:r(`messages.groupDetailTitle`,{id:l.ID}),eyebrow:r(`messages.detailEyebrow`),actions:(0,W.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>n(`/messages/groups`),children:[(0,W.jsx)(M,{size:15}),` `,r(`messages.backGroup`)]}),children:(0,W.jsxs)(`div`,{className:`stacked-sections`,children:[(0,W.jsxs)(`section`,{className:`entity-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`entity-title`,children:r(`messages.channelGroupTitle`,{id:l.ChannelID})}),(0,W.jsx)(`div`,{className:`entity-subtitle`,children:r(`messages.senderSubtitle`,{sender:l.SenderUserID,date:K(l.Date)})})]}),(0,W.jsxs)(`div`,{className:`entity-badges`,children:[l.Deleted?(0,W.jsx)(q,{tone:`danger`,children:r(`common.deleted`)}):(0,W.jsx)(q,{children:r(`common.survived`)}),l.Pinned&&(0,W.jsx)(q,{tone:`warn`,children:r(`messages.pinned`)}),l.Post&&(0,W.jsx)(q,{children:r(`messages.channelPost`)}),(0,W.jsxs)(q,{children:[`pts `,l.PTS]})]})]}),(0,W.jsxs)(`div`,{className:`summary-grid`,children:[(0,W.jsx)(Y,{label:r(`common.messageId`),value:String(l.ID),mono:!0}),(0,W.jsx)(Y,{label:r(`messages.channelGroup`),value:String(l.ChannelID),mono:!0}),(0,W.jsx)(Y,{label:`From Peer`,value:`${l.FromPeerType}:${l.FromPeerID}`,mono:!0}),(0,W.jsx)(Y,{label:r(`common.views`),value:String(l.ViewsCount)})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.channelMessageRow`),text:r(`messages.channelMessagesSnapshot`)}),(0,W.jsx)(Xe,{value:i.MessageJSON})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.channelRow`),text:r(`messages.channelSnapshot`)}),(0,W.jsx)(Xe,{value:i.ChannelJSON})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.channelUpdateEvents`),text:r(`messages.channelEventsSource`)}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`PTS`}),(0,W.jsx)(`th`,{children:r(`common.count`)}),(0,W.jsx)(`th`,{children:r(`common.type`)}),(0,W.jsx)(`th`,{children:r(`common.messageId`)}),(0,W.jsx)(`th`,{children:r(`common.sender`)}),(0,W.jsx)(`th`,{children:r(`common.time`)})]})}),(0,W.jsxs)(`tbody`,{children:[i.UpdateEvents.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:e.PTS}),(0,W.jsx)(`td`,{children:e.PTSCount}),(0,W.jsx)(`td`,{children:e.Type}),(0,W.jsx)(`td`,{children:e.MessageID}),(0,W.jsx)(`td`,{children:e.SenderUserID}),(0,W.jsx)(`td`,{children:K(e.Date)})]},`${e.PTS}-${e.Type}-${e.MessageID}`)),i.UpdateEvents.length===0&&(0,W.jsx)(Je,{colSpan:6})]})]})})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.eventJson`)}),(0,W.jsxs)(`div`,{className:`raw-grid`,children:[i.UpdateEvents.map(e=>(0,W.jsx)(Xe,{value:e.JSON},`${e.PTS}-${e.Type}-json`)),i.UpdateEvents.length===0&&(0,W.jsx)(`div`,{className:`empty-panel`,children:r(`common.noResults`)})]})]})]})})}function gt({label:e,value:t,onChange:n}){let{t:r}=G(),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)([]),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``);async function f(){l(!0),d(``);let e=new URLSearchParams({limit:`20`});i.trim()&&e.set(`q`,i.trim());try{s((await x.accounts(e)).rows)}catch(e){d(b(e))}finally{l(!1)}}return(0,g.useEffect)(()=>{f()},[]),(0,W.jsxs)(`div`,{className:`entity-picker`,children:[(0,W.jsxs)(`div`,{className:`picker-head`,children:[(0,W.jsx)(`span`,{children:e}),t?(0,W.jsxs)(`button`,{className:`link-button`,type:`button`,onClick:()=>n(null),children:[(0,W.jsx)(xe,{size:13}),` `,r(`common.clear`)]}):null]}),t?(0,W.jsxs)(`div`,{className:`selected-entity`,children:[(0,W.jsx)(P,{size:15}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:Ie(t)}),(0,W.jsx)(`span`,{className:`mono`,children:t.ID})]}),(0,W.jsx)(`span`,{children:Fe(t.Username)||Pe(t.Phone)||`-`})]}):null,(0,W.jsxs)(`div`,{className:`picker-search`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),f())},placeholder:r(`picker.userPlaceholder`)}),(0,W.jsx)(`button`,{className:`btn compact-btn`,type:`button`,onClick:f,disabled:c,children:c?(0,W.jsx)(A,{size:14,className:`spin`}):r(`common.search`)})]}),u&&(0,W.jsx)(`div`,{className:`picker-error`,children:u}),(0,W.jsxs)(`div`,{className:`picker-results`,children:[o.map(e=>(0,W.jsxs)(`button`,{className:`picker-row ${t?.ID===e.ID?`selected`:``}`,type:`button`,onClick:()=>n(e),children:[(0,W.jsx)(`span`,{className:`mono`,children:e.ID}),(0,W.jsx)(`strong`,{children:Ie(e)}),(0,W.jsx)(`span`,{children:Fe(e.Username)||Pe(e.Phone)||`-`}),e.Verified?(0,W.jsx)(q,{tone:`good`,children:r(`picker.verified`)}):(0,W.jsx)(q,{children:r(`picker.regular`)})]},e.ID)),o.length===0&&!c?(0,W.jsx)(`div`,{className:`picker-empty`,children:r(`common.noResults`)}):null]})]})}function _t({label:e,value:t,onChange:n}){let{t:r}=G(),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)([]),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``);async function f(){l(!0),d(``);let e=new URLSearchParams({limit:`20`});i.trim()&&e.set(`q`,i.trim());try{s((await x.channels(e)).rows)}catch(e){d(b(e))}finally{l(!1)}}return(0,g.useEffect)(()=>{f()},[]),(0,W.jsxs)(`div`,{className:`entity-picker`,children:[(0,W.jsxs)(`div`,{className:`picker-head`,children:[(0,W.jsx)(`span`,{children:e}),t?(0,W.jsxs)(`button`,{className:`link-button`,type:`button`,onClick:()=>n(null),children:[(0,W.jsx)(xe,{size:13}),` `,r(`common.clear`)]}):null]}),t?(0,W.jsxs)(`div`,{className:`selected-entity`,children:[(0,W.jsx)(P,{size:15}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:t.Title||`-`}),(0,W.jsx)(`span`,{className:`mono`,children:t.ID})]}),(0,W.jsx)(`span`,{children:Fe(t.Username)||Le(t,r)})]}):null,(0,W.jsxs)(`div`,{className:`picker-search`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),f())},placeholder:r(`picker.channelPlaceholder`)}),(0,W.jsx)(`button`,{className:`btn compact-btn`,type:`button`,onClick:f,disabled:c,children:c?(0,W.jsx)(A,{size:14,className:`spin`}):r(`common.search`)})]}),u&&(0,W.jsx)(`div`,{className:`picker-error`,children:u}),(0,W.jsxs)(`div`,{className:`picker-results`,children:[o.map(e=>(0,W.jsxs)(`button`,{className:`picker-row ${t?.ID===e.ID?`selected`:``}`,type:`button`,onClick:()=>n(e),children:[(0,W.jsx)(`span`,{className:`mono`,children:e.ID}),(0,W.jsx)(`strong`,{children:e.Title||`-`}),(0,W.jsx)(`span`,{children:Fe(e.Username)||Le(e,r)}),e.Verified?(0,W.jsx)(q,{tone:`good`,children:r(`picker.verified`)}):(0,W.jsx)(q,{children:Le(e,r)})]},e.ID)),o.length===0&&!c?(0,W.jsx)(`div`,{className:`picker-empty`,children:r(`common.noResults`)}):null]})]})}function vt({navigate:e}){let{t}=G(),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(`100`),[u,d]=(0,g.useState)(null),[f,p]=(0,g.useState)(``);async function m(e=!1){if(p(``),!n){p(t(`messages.selectChannel`));return}let r=new URLSearchParams({channel_id:String(n.ID),limit:c});if(e&&u?.rows.length){let e=u.rows[u.rows.length-1];r.set(`before_date`,String(e.Date)),r.set(`before_id`,String(e.ID)),a(String(e.Date)),s(String(e.ID))}else i&&r.set(`before_date`,i),o&&r.set(`before_id`,o);try{d(await x.groupMessages(r))}catch(e){p(b(e))}}function h(e){r(e),a(``),s(``),d(null)}let _=u?.rows??[];return(0,W.jsxs)(Ve,{title:t(`messages.groupTitle`),eyebrow:t(`messages.groupEyebrow`),children:[f&&(0,W.jsx)(Ge,{children:f}),(0,W.jsxs)(He,{children:[(0,W.jsx)(`div`,{className:`message-selector-grid single`,children:(0,W.jsx)(_t,{label:t(`messages.channelGroup`),value:n,onChange:h})}),(0,W.jsxs)(`form`,{className:`toolbar message-query`,onSubmit:e=>{e.preventDefault(),m(!1)},children:[(0,W.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:t(`messages.beforeDatePlaceholder`)}),(0,W.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:t(`messages.beforeIDPlaceholder`)}),(0,W.jsx)(`input`,{className:`small-input`,value:c,onChange:e=>l(e.target.value),placeholder:t(`messages.limitPlaceholder`)}),(0,W.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,children:[(0,W.jsx)(me,{size:15}),` `,t(`messages.searchMessages`)]}),_.length?(0,W.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>m(!0),children:[(0,W.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]}):null]})]}),(0,W.jsxs)(`div`,{className:`metric-row`,children:[(0,W.jsx)(J,{label:t(`messages.currentPage`),value:String(_.length)}),(0,W.jsx)(J,{label:t(`messages.mediaCount`),value:String(_.filter(e=>e.Media&&e.Media!==`{}`).length)}),(0,W.jsx)(J,{label:t(`messages.channelPosts`),value:String(_.filter(e=>e.Post).length)}),(0,W.jsx)(J,{label:t(`messages.channelGroup`),value:n?`${n.Title||Le(n,t)} (${n.ID})`:`-`})]}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:t(`common.messageId`)}),(0,W.jsx)(`th`,{children:t(`common.time`)}),(0,W.jsx)(`th`,{children:t(`common.sender`)}),(0,W.jsx)(`th`,{children:`From Peer`}),(0,W.jsx)(`th`,{children:`PTS`}),(0,W.jsx)(`th`,{children:t(`common.views`)}),(0,W.jsx)(`th`,{children:t(`common.status`)}),(0,W.jsx)(`th`,{children:t(`messages.body`)}),(0,W.jsx)(`th`,{})]})}),(0,W.jsxs)(`tbody`,{children:[_.map(n=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`mono`,children:n.ID}),(0,W.jsx)(`td`,{children:K(n.Date)}),(0,W.jsx)(`td`,{className:`mono`,children:n.SenderUserID}),(0,W.jsxs)(`td`,{className:`mono`,children:[n.FromPeerType,`:`,n.FromPeerID]}),(0,W.jsx)(`td`,{children:n.PTS}),(0,W.jsx)(`td`,{children:n.ViewsCount}),(0,W.jsx)(`td`,{children:n.Deleted?(0,W.jsx)(q,{tone:`danger`,children:t(`common.deleted`)}):n.Pinned?(0,W.jsx)(q,{tone:`warn`,children:t(`messages.pinned`)}):(0,W.jsx)(q,{children:t(`common.survived`)})}),(0,W.jsx)(`td`,{className:`truncate`,children:n.Body}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/messages/groups/detail?channel_id=${n.ChannelID}&msg_id=${n.ID}`),children:[t(`common.detail`),` `,(0,W.jsx)(L,{size:14})]})})]},`${n.ChannelID}-${n.ID}`)),_.length===0&&(0,W.jsx)(Je,{colSpan:9})]})]})})]})}function yt({ownerUserID:e,msgID:t,navigate:n}){let{t:r}=G(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``);async function c(){s(``);try{a(await x.message(e,t))}catch(e){s(b(e))}}if((0,g.useEffect)(()=>{c()},[e,t]),o)return(0,W.jsx)(Ge,{children:o});if(!i)return(0,W.jsx)(Ye,{label:r(`common.loading`)});let l=i.Message;return(0,W.jsx)(Ve,{title:r(`messages.privateDetailTitle`,{id:l.BoxID}),eyebrow:r(`messages.detailEyebrow`),actions:(0,W.jsxs)(`button`,{className:`btn icon-text`,onClick:()=>n(`/messages/private`),children:[(0,W.jsx)(M,{size:15}),` `,r(`messages.backPrivate`)]}),children:(0,W.jsx)(Ue,{main:(0,W.jsxs)(`div`,{className:`stacked-sections`,children:[(0,W.jsxs)(`section`,{className:`entity-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`entity-title`,children:r(`messages.ownerPeerTitle`,{owner:l.OwnerUserID,peer:l.PeerID})}),(0,W.jsx)(`div`,{className:`entity-subtitle`,children:r(`messages.senderSubtitle`,{sender:l.FromUserID,date:K(l.Date)})})]}),(0,W.jsxs)(`div`,{className:`entity-badges`,children:[l.Deleted?(0,W.jsx)(q,{tone:`danger`,children:r(`common.deleted`)}):(0,W.jsx)(q,{children:r(`common.survived`)}),(0,W.jsxs)(q,{children:[`pts `,l.PTS]}),(0,W.jsx)(q,{children:l.Outgoing?r(`messages.outgoing`):r(`messages.incoming`)})]})]}),(0,W.jsxs)(`div`,{className:`summary-grid`,children:[(0,W.jsx)(Y,{label:r(`messages.boxID`),value:String(l.BoxID),mono:!0}),(0,W.jsx)(Y,{label:r(`messages.privateMessageID`),value:String(l.PrivateMessageID),mono:!0}),(0,W.jsx)(Y,{label:r(`messages.messageSender`),value:String(l.MessageSenderID),mono:!0}),(0,W.jsx)(Y,{label:r(`common.time`),value:K(l.Date)})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.messageBox`),text:r(`messages.messageBoxesSnapshot`)}),(0,W.jsx)(Xe,{value:i.MessageJSON})]}),(0,W.jsxs)(`div`,{className:`raw-grid`,children:[(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.dialogRow`),text:r(`messages.dialogSnapshot`)}),(0,W.jsx)(Xe,{value:i.DialogJSON})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.privateRow`),text:r(`messages.privateSnapshot`)}),(0,W.jsx)(Xe,{value:i.PrivateJSON})]})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.userUpdateEvents`),text:r(`messages.userEventsSource`)}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`PTS`}),(0,W.jsx)(`th`,{children:r(`common.count`)}),(0,W.jsx)(`th`,{children:r(`common.type`)}),(0,W.jsx)(`th`,{children:r(`common.time`)})]})}),(0,W.jsxs)(`tbody`,{children:[i.UpdateEvents.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:e.PTS}),(0,W.jsx)(`td`,{children:e.PTSCount}),(0,W.jsx)(`td`,{children:e.Type}),(0,W.jsx)(`td`,{children:K(e.Date)})]},`${e.PTS}-${e.Type}`)),i.UpdateEvents.length===0&&(0,W.jsx)(Je,{colSpan:4})]})]})})]}),(0,W.jsxs)(`section`,{className:`section-block`,children:[(0,W.jsx)(We,{title:r(`messages.dispatchOutbox`),text:r(`messages.outboxSource`)}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`ID`}),(0,W.jsx)(`th`,{children:r(`account.userID`)}),(0,W.jsx)(`th`,{children:`PTS`}),(0,W.jsx)(`th`,{children:r(`common.type`)}),(0,W.jsx)(`th`,{children:r(`common.status`)}),(0,W.jsx)(`th`,{children:r(`messages.attempts`)}),(0,W.jsx)(`th`,{children:r(`common.updatedAt`)})]})}),(0,W.jsxs)(`tbody`,{children:[i.Outbox.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:e.ID}),(0,W.jsx)(`td`,{children:e.TargetUserID}),(0,W.jsx)(`td`,{children:e.PTS}),(0,W.jsx)(`td`,{children:e.EventType}),(0,W.jsx)(`td`,{children:e.Status}),(0,W.jsx)(`td`,{children:e.Attempts}),(0,W.jsx)(`td`,{children:Re(e.UpdatedAt)})]},e.ID)),i.Outbox.length===0&&(0,W.jsx)(Je,{colSpan:7})]})]})})]})]}),side:(0,W.jsxs)(`section`,{className:`action-dock`,children:[(0,W.jsx)(`div`,{className:`dock-title`,children:r(`common.operations`)}),(0,W.jsx)($e,{label:r(`messages.deleteThis`),icon:(0,W.jsx)(V,{size:15}),path:`/api/actions/delete-messages`,payload:()=>({owner_user_id:l.OwnerUserID,peer_id:l.PeerID,ids:[l.BoxID],revoke:!0}),onDone:c})]})})})}function bt({navigate:e}){let{t}=G(),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(`100`),[f,p]=(0,g.useState)(``),[m,h]=(0,g.useState)(!0),[_,v]=(0,g.useState)(!1),[y,S]=(0,g.useState)(``),[C,w]=(0,g.useState)(`1`),[T,E]=(0,g.useState)(null),[D,O]=(0,g.useState)(``);async function k(e=!1){if(O(``),!n||!i){O(t(`messages.selectPrivatePeers`));return}let r=new URLSearchParams({owner_user_id:String(n.ID),peer_id:String(i.ID),limit:u});if(e&&T?.rows.length){let e=T.rows[T.rows.length-1];r.set(`before_date`,String(e.Date)),r.set(`before_id`,String(e.BoxID)),s(String(e.Date)),l(String(e.BoxID))}else o&&r.set(`before_date`,o),c&&r.set(`before_id`,c);try{E(await x.messages(r))}catch(e){O(b(e))}}function A(e){r(e),s(``),l(``),E(null)}function j(e){a(e),s(``),l(``),E(null)}return(0,W.jsxs)(Ve,{title:t(`messages.privateTitle`),eyebrow:t(`messages.privateEyebrow`),children:[D&&(0,W.jsx)(Ge,{children:D}),(0,W.jsxs)(He,{children:[(0,W.jsxs)(`div`,{className:`message-selector-grid`,children:[(0,W.jsx)(gt,{label:t(`messages.ownerUser`),value:n,onChange:A}),(0,W.jsx)(gt,{label:t(`messages.peerUser`),value:i,onChange:j})]}),(0,W.jsxs)(`form`,{className:`toolbar message-query`,onSubmit:e=>{e.preventDefault(),k(!1)},children:[(0,W.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:t(`messages.beforeDatePlaceholder`)}),(0,W.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:t(`messages.beforeIDPlaceholder`)}),(0,W.jsx)(`input`,{className:`small-input`,value:u,onChange:e=>d(e.target.value),placeholder:t(`messages.limitPlaceholder`)}),(0,W.jsxs)(`button`,{className:`btn primary icon-text`,type:`submit`,children:[(0,W.jsx)(me,{size:15}),` `,t(`messages.searchMessages`)]}),T?.rows.length?(0,W.jsxs)(`button`,{className:`btn icon-text`,type:`button`,onClick:()=>k(!0),children:[(0,W.jsx)(L,{size:15}),` `,t(`messages.nextPage`)]}):null]})]}),(0,W.jsxs)(`div`,{className:`metric-row`,children:[(0,W.jsx)(J,{label:t(`messages.currentPage`),value:String(T?.rows.length??0)}),(0,W.jsx)(J,{label:t(`messages.deleted`),value:String((T?.rows??[]).filter(e=>e.Deleted).length),tone:`danger`}),(0,W.jsx)(J,{label:t(`messages.outgoing`),value:String((T?.rows??[]).filter(e=>e.Outgoing).length)}),(0,W.jsx)(J,{label:t(`messages.ownerPeer`),value:n&&i?`${Ie(n)} / ${Ie(i)}`:`-`})]}),(0,W.jsxs)(`div`,{className:`operation-row`,children:[(0,W.jsxs)(`div`,{className:`operation-box`,children:[(0,W.jsxs)(`div`,{className:`operation-title`,children:[(0,W.jsx)(V,{size:15}),` `,t(`messages.deleteSelected`)]}),(0,W.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:t(`messages.idsPlaceholder`)}),(0,W.jsxs)(`label`,{className:`checkline`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),` `,t(`messages.revoke`)]}),(0,W.jsx)($e,{path:`/api/actions/delete-messages`,label:t(`messages.previewDelete`),payload:()=>({owner_user_id:n?.ID??0,peer_id:i?.ID??0,ids:Be(f,t(`messages.msgIDsInvalid`)),revoke:m})})]}),(0,W.jsxs)(`div`,{className:`operation-box`,children:[(0,W.jsxs)(`div`,{className:`operation-title`,children:[(0,W.jsx)(oe,{size:15}),` `,t(`messages.clearHistory`)]}),(0,W.jsx)(`input`,{value:y,onChange:e=>S(e.target.value),placeholder:t(`messages.maxIDPlaceholder`)}),(0,W.jsx)(`input`,{value:C,onChange:e=>w(e.target.value),placeholder:t(`messages.maxBatchesPlaceholder`)}),(0,W.jsxs)(`label`,{className:`checkline`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),` `,t(`messages.revoke`)]}),(0,W.jsxs)(`label`,{className:`checkline`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:_,onChange:e=>v(e.target.checked)}),` `,t(`messages.justClear`)]}),(0,W.jsx)($e,{path:`/api/actions/delete-history`,label:t(`messages.previewClearHistory`),payload:()=>({owner_user_id:n?.ID??0,peer_id:i?.ID??0,max_id:ze(y),max_batches:ze(C),just_clear:_,revoke:m})})]})]}),(0,W.jsx)(`div`,{className:`table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:t(`common.messageId`)}),(0,W.jsx)(`th`,{children:t(`common.time`)}),(0,W.jsx)(`th`,{children:t(`common.sender`)}),(0,W.jsx)(`th`,{children:t(`messages.direction`)}),(0,W.jsx)(`th`,{children:`PTS`}),(0,W.jsx)(`th`,{children:t(`common.status`)}),(0,W.jsx)(`th`,{children:t(`messages.body`)}),(0,W.jsx)(`th`,{})]})}),(0,W.jsxs)(`tbody`,{children:[T?.rows.map(n=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`mono`,children:n.BoxID}),(0,W.jsx)(`td`,{children:K(n.Date)}),(0,W.jsx)(`td`,{className:`mono`,children:n.FromUserID}),(0,W.jsx)(`td`,{children:n.Outgoing?t(`messages.outgoing`):t(`messages.incoming`)}),(0,W.jsx)(`td`,{children:n.PTS}),(0,W.jsx)(`td`,{children:n.Deleted?(0,W.jsx)(q,{tone:`danger`,children:t(`common.deleted`)}):(0,W.jsx)(q,{children:t(`common.survived`)})}),(0,W.jsx)(`td`,{className:`truncate`,children:n.Body}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`button`,{className:`row-link`,onClick:()=>e(`/messages/private/detail?owner_user_id=${n.OwnerUserID}&msg_id=${n.BoxID}`),children:[t(`common.detail`),` `,(0,W.jsx)(L,{size:14})]})})]},`${n.OwnerUserID}-${n.BoxID}`)),(!T||T.rows.length===0)&&(0,W.jsx)(Je,{colSpan:8})]})]})})]})}var xt=c(o(((e,t)=>{typeof document<`u`&&typeof navigator<`u`&&(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.lottie=r())})(e,(function(){var n=``,r=!1,i=-999999,a=function(e){r=!!e},o=function(){return r},s=function(e){n=e},c=function(){return n};function l(e){return document.createElement(e)}function u(e,t){var n,r=e.length,i;for(n=0;n1?n[1]=1:n[1]<=0&&(n[1]=0),L(n[0],n[1],n[2])}function te(e,t){var n=ee(e[0]*255,e[1]*255,e[2]*255);return n[2]+=t,n[2]>1?n[2]=1:n[2]<0&&(n[2]=0),L(n[0],n[1],n[2])}function ne(e,t){var n=ee(e[0]*255,e[1]*255,e[2]*255);return n[0]+=t/360,n[0]>1?--n[0]:n[0]<0&&(n[0]+=1),L(n[0],n[1],n[2])}(function(){var e=[],t,n;for(t=0;t<256;t+=1)n=t.toString(16),e[t]=n.length===1?`0`+n:n;return function(t,n,r){return t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),`#`+e[t]+e[n]+e[r]}})();var re=function(e){g=!!e},ie=function(){return g},ae=function(e){_=e},oe=function(){return _},se=function(){return v},ce=function(e){E=e},le=function(){return E},ue=function(e){y=e};function z(e){return document.createElementNS(`http://www.w3.org/2000/svg`,e)}function de(e){"@babel/helpers - typeof";return de=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},de(e)}var B=function(){var e=1,t=[],n,r,i={onmessage:function(){},postMessage:function(e){n({data:e})}},a={postMessage:function(e){i.onmessage({data:e})}};function s(e){if(window.Worker&&window.Blob&&o()){var t=new Blob([`var _workerSelf = self; self.onmessage = `,e.toString()],{type:`text/javascript`}),r=URL.createObjectURL(t);return new Worker(r)}return n=e,i}function c(){r||(r=s(function(e){function t(){function e(t,n){var o,s,c=t.length,l,u,d,f;for(s=0;s=0;--t)if(e[t].ty===`sh`)if(e[t].ks.k.i)a(e[t].ks.k);else for(o=e[t].ks.k.length,r=0;rn[0]?!0:n[0]>e[0]?!1:e[1]>n[1]?!0:n[1]>e[1]?!1:e[2]>n[2]?!0:n[2]>e[2]?!1:null}var s=function(){var e=[4,4,14];function t(e){var t=e.t.d;e.t.d={k:[{s:t,t:0}]}}function n(e){var n,r=e.length;for(n=0;n=0;--n)if(e[n].ty===`sh`)if(e[n].ks.k.i)e[n].ks.k.c=e[n].closed;else for(a=e[n].ks.k.length,i=0;i500)&&(this._imageLoaded(),clearInterval(n)),t+=1}.bind(this),50)}function a(t){var n=r(t,this.assetsPath,this.path),i=z(`image`);b?this.testImageLoaded(i):i.addEventListener(`load`,this._imageLoaded,!1),i.addEventListener(`error`,function(){a.img=e,this._imageLoaded()}.bind(this),!1),i.setAttributeNS(`http://www.w3.org/1999/xlink`,`href`,n),this._elementHelper.append?this._elementHelper.append(i):this._elementHelper.appendChild(i);var a={img:i,assetData:t};return a}function o(t){var n=r(t,this.assetsPath,this.path),i=l(`img`);i.crossOrigin=`anonymous`,i.addEventListener(`load`,this._imageLoaded,!1),i.addEventListener(`error`,function(){a.img=e,this._imageLoaded()}.bind(this),!1),i.src=n;var a={img:i,assetData:t};return a}function s(e){var t={assetData:e},n=r(e,this.assetsPath,this.path);return B.loadData(n,function(e){t.img=e,this._footageLoaded()}.bind(this),function(){t.img={},this._footageLoaded()}.bind(this)),t}function c(e,t){this.imagesLoadedCb=t;var n,r=e.length;for(n=0;nthis.animationData.op&&(this.animationData.op=e.op,this.totalFrames=Math.floor(e.op-this.animationData.ip));var t=this.animationData.layers,n,r=t.length,i=e.layers,a,o=i.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger(`enterFrame`),this.renderFrame(),this.trigger(`drawnFrame`)},V.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(e){this.triggerRenderFrameError(e)}},V.prototype.play=function(e){e&&this.name!==e||this.isPaused===!0&&(this.isPaused=!1,this.trigger(`_play`),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger(`_active`)))},V.prototype.pause=function(e){e&&this.name!==e||this.isPaused===!1&&(this.isPaused=!0,this.trigger(`_pause`),this._idle=!0,this.trigger(`_idle`),this.audioController.pause())},V.prototype.togglePause=function(e){e&&this.name!==e||(this.isPaused===!0?this.play():this.pause())},V.prototype.stop=function(e){e&&this.name!==e||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},V.prototype.getMarkerData=function(e){for(var t,n=0;n=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(t>this.totalFrames?t%this.totalFrames:0)||(n=!0,t=this.totalFrames-1):t>=this.totalFrames?(this.playCount+=1,this.checkSegments(t%this.totalFrames)||(this.setCurrentRawFrameValue(t%this.totalFrames),this._completedLoop=!0,this.trigger(`loopComplete`))):this.setCurrentRawFrameValue(t):t<0?this.checkSegments(t%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+t%this.totalFrames),this._completedLoop?this.trigger(`loopComplete`):this._completedLoop=!0):(n=!0,t=0)):this.setCurrentRawFrameValue(t),n&&(this.setCurrentRawFrameValue(t),this.pause(),this.trigger(`complete`))}},V.prototype.adjustSegment=function(e,t){this.playCount=0,e[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=e[0]-e[1],this.timeCompleted=this.totalFrames,this.firstFrame=e[1],this.setCurrentRawFrameValue(this.totalFrames-.001-t)):e[1]>e[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=e[1]-e[0],this.timeCompleted=this.totalFrames,this.firstFrame=e[0],this.setCurrentRawFrameValue(.001+t)),this.trigger(`segmentStart`)},V.prototype.setSegment=function(e,t){var n=-1;this.isPaused&&(this.currentRawFrame+this.firstFramet&&(n=t-e)),this.firstFrame=e,this.totalFrames=t-e,this.timeCompleted=this.totalFrames,n!==-1&&this.goToAndStop(n,!0)},V.prototype.playSegments=function(e,t){if(t&&(this.segments.length=0),be(e[0])===`object`){var n,r=e.length;for(n=0;n=0;--n)t[n].animation.destroy(e)}function T(e,t,n){var r=[].concat([].slice.call(document.getElementsByClassName(`lottie`)),[].slice.call(document.getElementsByClassName(`bodymovin`))),i,a=r.length;for(i=0;i0?n=c:t=c;while(Math.abs(s)>a&&++l=i?g(e,d,t,n):f===0?d:h(e,a,a+c,t,n)}},e}(),xe=function(){function e(e){return e.concat(m(e.length))}return{double:e}}(),Se=function(){return function(e,t,n){var r=0,i=e,a=m(i),o={newElement:s,release:c};function s(){var e;return r?(--r,e=a[r]):e=t(),e}function c(e){r===i&&(a=xe.double(a),i*=2),n&&n(e),a[r]=e,r+=1}return o}}(),W=function(){function e(){return{addedLength:0,percents:p(`float32`,le()),lengths:p(`float32`,le())}}return Se(8,e)}(),Ce=function(){function e(){return{lengths:[],totalLength:0}}function t(e){var t,n=e.lengths.length;for(t=0;t-.001&&o<.001}function n(n,r,i,a,o,s,c,l,u){if(i===0&&s===0&&u===0)return t(n,r,a,o,c,l);var d=e.sqrt(e.pow(a-n,2)+e.pow(o-r,2)+e.pow(s-i,2)),f=e.sqrt(e.pow(c-n,2)+e.pow(l-r,2)+e.pow(u-i,2)),p=e.sqrt(e.pow(c-a,2)+e.pow(l-o,2)+e.pow(u-s,2)),m=d>f?d>p?d-f-p:p-f-d:p>f?p-f-d:f-d-p;return m>-1e-4&&m<1e-4}var r=function(){return function(e,t,n,r){var i=le(),a,o,s,c,l,u=0,d,f=[],p=[],m=W.newElement();for(s=n.length,a=0;ao?-1:1,l=!0;l;)if(r[a]<=o&&r[a+1]>o?(s=(o-r[a])/(r[a+1]-r[a]),l=!1):a+=c,a<0||a>=i-1){if(a===i-1)return n[a];l=!1}return n[a]+(n[a+1]-n[a])*s}function l(t,n,r,i,a,o){var s=c(a,o),l=1-s;return[e.round((l*l*l*t[0]+(s*l*l+l*s*l+l*l*s)*r[0]+(s*s*l+l*s*s+s*l*s)*i[0]+s*s*s*n[0])*1e3)/1e3,e.round((l*l*l*t[1]+(s*l*l+l*s*l+l*l*s)*r[1]+(s*s*l+l*s*s+s*l*s)*i[1]+s*s*s*n[1])*1e3)/1e3]}var u=p(`float32`,8);function d(t,n,r,i,a,o,s){a<0?a=0:a>1&&(a=1);var l=c(a,s);o=o>1?1:o;var d=c(o,s),f,p=t.length,m=1-l,h=1-d,g=m*m*m,_=l*m*m*3,v=l*l*m*3,y=l*l*l,b=m*m*h,x=l*m*h+m*l*h+m*m*d,S=l*l*h+m*l*d+l*m*d,C=l*l*d,w=m*h*h,T=l*h*h+m*d*h+m*h*d,E=l*d*h+m*d*d+l*h*d,D=l*d*d,O=h*h*h,k=d*h*h+h*d*h+h*h*d,A=d*d*h+h*d*d+d*h*d,j=d*d*d;for(f=0;f=l.t-n){c.h&&(c=l),i=0;break}if(l.t-n>e){i=a;break}a=v||e=v?x.points.length-1:0;for(f=x.points[S].point.length,d=0;d=T&&C=v)r[0]=b[0],r[1]=b[1],r[2]=b[2];else if(e<=y)r[0]=c.s[0],r[1]=c.s[1],r[2]=c.s[2];else{var j=Ae(c.s),M=Ae(b),N=(e-y)/(v-y);ke(r,Oe(j,M,N))}else for(a=0;a=v?m=1:e1e-6?(f=Math.acos(p),m=Math.sin(f),h=Math.sin((1-n)*f)/m,g=Math.sin(n*f)/m):(h=1-n,g=n),r[0]=h*i+g*c,r[1]=h*a+g*l,r[2]=h*o+g*u,r[3]=h*s+g*d,r}function ke(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=Math.atan2(2*r*a-2*n*i,1-2*r*r-2*i*i),s=Math.asin(2*n*r+2*i*a),c=Math.atan2(2*n*a-2*r*i,1-2*n*n-2*i*i);e[0]=o/D,e[1]=s/D,e[2]=c/D}function Ae(e){var t=e[0]*D,n=e[1]*D,r=e[2]*D,i=Math.cos(t/2),a=Math.cos(n/2),o=Math.cos(r/2),s=Math.sin(t/2),c=Math.sin(n/2),l=Math.sin(r/2),u=i*a*o-s*c*l;return[s*c*o+i*a*l,s*a*o+i*c*l,i*c*o-s*a*l,u]}function je(){var e=this.comp.renderedFrame-this.offsetTime,t=this.keyframes[0].t-this.offsetTime,n=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==G&&(this._caching.lastFrame>=n&&e>=n||this._caching.lastFrame=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var r=this.interpolateValue(e,this._caching);this.pv=r}return this._caching.lastFrame=e,this.pv}function Me(e){var t;if(this.propType===`unidimensional`)t=e*this.mult,Ee(this.v-t)>1e-5&&(this.v=t,this._mdf=!0);else for(var n=0,r=this.v.length;n1e-5&&(this.v[n]=t,this._mdf=!0),n+=1}function Ne(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var e,t=this.effectsSequence.length,n=this.kf?this.pv:this.data.k;for(e=0;e=this._maxLength&&this.doubleArrayLength(),n){case`v`:a=this.v;break;case`i`:a=this.i;break;case`o`:a=this.o;break;default:a=[];break}(!a[r]||a[r]&&!i)&&(a[r]=Be.newElement()),a[r][0]=e,a[r][1]=t},Ve.prototype.setTripleAt=function(e,t,n,r,i,a,o,s){this.setXYAt(e,t,`v`,o,s),this.setXYAt(n,r,`o`,o,s),this.setXYAt(i,a,`i`,o,s)},Ve.prototype.reverse=function(){var e=new Ve;e.setPathData(this.c,this._length);var t=this.v,n=this.o,r=this.i,i=0;this.c&&(e.setTripleAt(t[0][0],t[0][1],r[0][0],r[0][1],n[0][0],n[0][1],0,!1),i=1);var a=this._length-1,o=this._length,s;for(s=i;s=p[p.length-1].t-this.offsetTime)i=p[p.length-1].s?p[p.length-1].s[0]:p[p.length-2].e[0],o=!0;else{for(var m=r,h=p.length-1,g=!0,_,v,y;g&&(_=p[m],v=p[m+1],!(v.t-this.offsetTime>e));)m=v.t-this.offsetTime)d=1;else if(e<_.t-this.offsetTime)d=0;else{var b;y.__fnct?b=y.__fnct:(b=U.getBezierEasing(_.o.x,_.o.y,_.i.x,_.i.y).get,y.__fnct=b),d=b((e-(_.t-this.offsetTime))/(v.t-this.offsetTime-(_.t-this.offsetTime)))}a=v.s?v.s[0]:_.e[0]}i=_.s[0]}for(l=t._length,u=i.i[0].length,n.lastIndex=r,s=0;sr&&t>r)||(this._caching.lastIndex=i0||e>-1e-6&&e<0?r(e*t)/t:e}function P(){var e=this.props,t=N(e[0]),n=N(e[1]),r=N(e[4]),i=N(e[5]),a=N(e[12]),o=N(e[13]);return`matrix(`+t+`,`+n+`,`+r+`,`+i+`,`+a+`,`+o+`)`}return function(){this.reset=i,this.rotate=a,this.rotateX=o,this.rotateY=s,this.rotateZ=c,this.skew=u,this.skewFromAxis=d,this.shear=l,this.scale=f,this.setTransform=m,this.translate=h,this.transform=g,this.multiply=_,this.applyToPoint=S,this.applyToX=C,this.applyToY=w,this.applyToZ=T,this.applyToPointArray=A,this.applyToTriplePoints=k,this.applyToPointStringified=j,this.toCSS=M,this.to2dCSS=P,this.clone=b,this.cloneFromProps=x,this.equals=y,this.inversePoints=O,this.inversePoint=D,this.getInverseMatrix=E,this._t=this.transform,this.isIdentity=v,this._identity=!0,this._identityCalculated=!1,this.props=p(`float32`,16),this.reset()}}();function Ke(e){"@babel/helpers - typeof";return Ke=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ke(e)}var J={},Y=`__[STANDALONE]__`,qe=`__[ANIMATIONDATA]__`,Je=``;function Ye(e){s(e)}function Xe(){Y===!0?H.searchAnimations(qe,Y,Je):H.searchAnimations()}function Ze(e){re(e)}function Qe(e){ue(e)}function $e(e){return Y===!0&&(e.animationData=JSON.parse(qe)),H.loadAnimation(e)}function et(e){if(typeof e==`string`)switch(e){case`high`:ce(200);break;default:case`medium`:ce(50);break;case`low`:ce(10);break}else!isNaN(e)&&e>1&&ce(e)}function tt(){return typeof navigator<`u`}function nt(e,t){e===`expressions`&&ae(t)}function rt(e){switch(e){case`propertyFactory`:return K;case`shapePropertyFactory`:return Ge;case`matrix`:return q;default:return null}}J.play=H.play,J.pause=H.pause,J.setLocationHref=Ye,J.togglePause=H.togglePause,J.setSpeed=H.setSpeed,J.setDirection=H.setDirection,J.stop=H.stop,J.searchAnimations=Xe,J.registerAnimation=H.registerAnimation,J.loadAnimation=$e,J.setSubframeRendering=Ze,J.resize=H.resize,J.goToAndStop=H.goToAndStop,J.destroy=H.destroy,J.setQuality=et,J.inBrowser=tt,J.installPlugin=nt,J.freeze=H.freeze,J.unfreeze=H.unfreeze,J.setVolume=H.setVolume,J.mute=H.mute,J.unmute=H.unmute,J.getRegisteredAnimations=H.getRegisteredAnimations,J.useWebWorker=a,J.setIDPrefix=Qe,J.__getFactory=rt,J.version=`5.13.0`;function it(){document.readyState===`complete`&&(clearInterval(lt),Xe())}function at(e){for(var t=ot.split(`&`),n=0;n=1?a.push({s:e-1,e:t-1}):(a.push({s:e,e:1}),a.push({s:0,e:t-1}));var o=[],s,c=a.length,l;for(s=0;sr+n)){var u=l.s*i<=r?0:(l.s*i-r)/n,d=l.e*i>=r+n?1:(l.e*i-r)/n;o.push([u,d])}return o.length||o.push([0,0]),o},ft.prototype.releasePathsData=function(e){var t,n=e.length;for(t=0;t1?1+r:this.s.v<0?0+r:this.s.v+r,n=this.e.v>1?1+r:this.e.v<0?0+r:this.e.v+r,t>n){var i=t;t=n,n=i}t=Math.round(t*1e4)*1e-4,n=Math.round(n*1e4)*1e-4,this.sValue=t,this.eValue=n}else t=this.sValue,n=this.eValue;var a,o,s=this.shapes.length,c,l,u,d,f,p=0;if(n===t)for(o=0;o=0;--o)if(h=this.shapes[o],h.shape._mdf){for(g=h.localShapeCollection,g.releaseShapes(),this.m===2&&s>1?(b=this.calculateShapeEdges(t,n,h.totalShapeLength,y,p),y+=h.totalShapeLength):b=[[_,v]],l=b.length,c=0;c=1?m.push({s:h.totalShapeLength*(_-1),e:h.totalShapeLength*(v-1)}):(m.push({s:h.totalShapeLength*_,e:h.totalShapeLength}),m.push({s:0,e:h.totalShapeLength*(v-1)}));var x=this.addShapes(h,m[0]);if(m[0].s!==m[0].e){if(m.length>1)if(h.shape.paths.shapes[h.shape.paths._length-1].c){var S=x.pop();this.addPaths(x,g),x=this.addShapes(h,m[1],S)}else this.addPaths(x,g),x=this.addShapes(h,m[1]);this.addPaths(x,g)}}h.shape.paths=g}}else if(this._mdf)for(o=0;ot.e){n.c=!1;break}else t.s<=l&&t.e>=l+u.addedLength?(this.addSegment(i[a].v[s-1],i[a].o[s-1],i[a].i[s],i[a].v[s],n,d,g),g=!1):(p=Te.getNewSegment(i[a].v[s-1],i[a].v[s],i[a].o[s-1],i[a].i[s],(t.s-l)/u.addedLength,(t.e-l)/u.addedLength,f[s-1]),this.addSegmentFromArray(p,n,d,g),g=!1,n.c=!1),l+=u.addedLength,d+=1;if(i[a].c&&f.length){if(u=f[s-1],l<=t.e){var _=f[s-1].addedLength;t.s<=l&&t.e>=l+_?(this.addSegment(i[a].v[s-1],i[a].o[s-1],i[a].i[0],i[a].v[0],n,d,g),g=!1):(p=Te.getNewSegment(i[a].v[s-1],i[a].v[0],i[a].o[s-1],i[a].i[0],(t.s-l)/_,(t.e-l)/_,f[s-1]),this.addSegmentFromArray(p,n,d,g),g=!1,n.c=!1)}else n.c=!1;l+=u.addedLength,d+=1}if(n._length&&(n.setXYAt(n.v[h][0],n.v[h][1],`i`,h),n.setXYAt(n.v[n._length-1][0],n.v[n._length-1][1],`o`,n._length-1)),l>t.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/n,0),i=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/n,0)):(r=this.p.pv,i=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/n,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){r=[],i=[];var a=this.px,o=this.py;a._caching.lastFrame+a.offsetTime<=a.keyframes[0].t?(r[0]=a.getValueAtTime((a.keyframes[0].t+.01)/n,0),r[1]=o.getValueAtTime((o.keyframes[0].t+.01)/n,0),i[0]=a.getValueAtTime(a.keyframes[0].t/n,0),i[1]=o.getValueAtTime(o.keyframes[0].t/n,0)):a._caching.lastFrame+a.offsetTime>=a.keyframes[a.keyframes.length-1].t?(r[0]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/n,0),r[1]=o.getValueAtTime(o.keyframes[o.keyframes.length-1].t/n,0),i[0]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/n,0),i[1]=o.getValueAtTime((o.keyframes[o.keyframes.length-1].t-.01)/n,0)):(r=[a.pv,o.pv],i[0]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/n,a.offsetTime),i[1]=o.getValueAtTime((o._caching.lastFrame+o.offsetTime-.01)/n,o.offsetTime))}else i=e,r=i;this.v.rotate(-Math.atan2(r[1]-i[1],r[0]-i[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function r(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}function i(){}function a(e){this._addDynamicProperty(e),this.elem.addDynamicProperty(e),this._isDirty=!0}function o(e,t,n){if(this.elem=e,this.frameId=-1,this.propType=`transform`,this.data=t,this.v=new q,this.pre=new q,this.appliedTransformations=0,this.initDynamicPropertyContainer(n||e),t.p&&t.p.s?(this.px=K.getProp(e,t.p.x,0,0,this),this.py=K.getProp(e,t.p.y,0,0,this),t.p.z&&(this.pz=K.getProp(e,t.p.z,0,0,this))):this.p=K.getProp(e,t.p||{k:[0,0,0]},1,0,this),t.rx){if(this.rx=K.getProp(e,t.rx,0,D,this),this.ry=K.getProp(e,t.ry,0,D,this),this.rz=K.getProp(e,t.rz,0,D,this),t.or.k[0].ti){var r,i=t.or.k.length;for(r=0;r0;)--n,this._elements.unshift(t[n]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ht.prototype.resetElements=function(e){var t,n=e.length;for(t=0;t0?Math.floor(f):Math.ceil(f),h=this.pMatrix.props,g=this.rMatrix.props,_=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v=0;if(f>0){for(;vm;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),--v;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-p,!0),v-=p)}r=this.data.m===1?0:this._currentCopies-1,i=this.data.m===1?1:-1,a=this._currentCopies;for(var y,b;a;){if(t=this.elemsData[r].it,n=t[t.length-1].transform.mProps.v.props,b=n.length,t[t.length-1].transform.mProps._mdf=!0,t[t.length-1].transform.op._mdf=!0,t[t.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),v!==0){for((r!==0&&i===1||r!==this._currentCopies-1&&i===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(_[0],_[1],_[2],_[3],_[4],_[5],_[6],_[7],_[8],_[9],_[10],_[11],_[12],_[13],_[14],_[15]),this.matrix.transform(h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]),y=0;y0&&r<1?[t]:[]:[t-r,t+r].filter(function(e){return e>0&&e<1})},wt.prototype.split=function(e){if(e<=0)return[Ct(this.points[0]),this];if(e>=1)return[this,Ct(this.points[this.points.length-1])];var t=bt(this.points[0],this.points[1],e),n=bt(this.points[1],this.points[2],e),r=bt(this.points[2],this.points[3],e),i=bt(t,n,e),a=bt(n,r,e),o=bt(i,a,e);return[new wt(this.points[0],t,i,o,!0),new wt(o,a,r,this.points[3],!0)]};function Tt(e,t){var n=e.points[0][t],r=e.points[e.points.length-1][t];if(n>r){var i=r;r=n,n=i}for(var a=xt(3*e.a[t],2*e.b[t],e.c[t]),o=0;o0&&a[o]<1){var s=e.point(a[o])[t];sr&&(r=s)}return{min:n,max:r}}wt.prototype.bounds=function(){return{x:Tt(this,0),y:Tt(this,1)}},wt.prototype.boundingBox=function(){var e=this.bounds();return{left:e.x.min,right:e.x.max,top:e.y.min,bottom:e.y.max,width:e.x.max-e.x.min,height:e.y.max-e.y.min,cx:(e.x.max+e.x.min)/2,cy:(e.y.max+e.y.min)/2}};function Et(e,t,n){var r=e.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:e,t:(t+n)/2,t1:t,t2:n}}function Dt(e){var t=e.bez.split(.5);return[Et(t[0],e.t1,e.t),Et(t[1],e.t,e.t2)]}function Ot(e,t){return Math.abs(e.cx-t.cx)*2=a||e.width<=r&&e.height<=r&&t.width<=r&&t.height<=r){i.push([e.t,t.t]);return}var o=Dt(e),s=Dt(t);kt(o[0],s[0],n+1,r,i,a),kt(o[0],s[1],n+1,r,i,a),kt(o[1],s[0],n+1,r,i,a),kt(o[1],s[1],n+1,r,i,a)}}wt.prototype.intersections=function(e,t,n){t===void 0&&(t=2),n===void 0&&(n=7);var r=[];return kt(Et(this,0,1),Et(e,0,1),0,t,r,n),r},wt.shapeSegment=function(e,t){var n=(t+1)%e.length();return new wt(e.v[t],e.o[t],e.i[n],e.v[n],!0)},wt.shapeSegmentInverted=function(e,t){var n=(t+1)%e.length();return new wt(e.v[n],e.i[n],e.o[t],e.v[t],!0)};function At(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function jt(e,t,n,r){var i=[e[0],e[1],1],a=[t[0],t[1],1],o=[n[0],n[1],1],s=[r[0],r[1],1],c=At(At(i,a),At(o,s));return vt(c[2])?null:[c[0]/c[2],c[1]/c[2]]}function X(e,t,n){return[e[0]+Math.cos(t)*n,e[1]-Math.sin(t)*n]}function Mt(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1])}function Nt(e,t){return _t(e[0],t[0])&&_t(e[1],t[1])}function Pt(){}u([dt],Pt),Pt.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amplitude=K.getProp(e,t.s,0,null,this),this.frequency=K.getProp(e,t.r,0,null,this),this.pointsType=K.getProp(e,t.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function Ft(e,t,n,r,i,a,o){var s=n-Math.PI/2,c=n+Math.PI/2,l=t[0]+Math.cos(n)*r*i,u=t[1]-Math.sin(n)*r*i;e.setTripleAt(l,u,l+Math.cos(s)*a,u-Math.sin(s)*a,l+Math.cos(c)*o,u-Math.sin(c)*o,e.length())}function It(e,t){var n=[t[0]-e[0],t[1]-e[1]],r=-Math.PI*.5;return[Math.cos(r)*n[0]-Math.sin(r)*n[1],Math.sin(r)*n[0]+Math.cos(r)*n[1]]}function Lt(e,t){var n=t===0?e.length()-1:t-1,r=(t+1)%e.length(),i=e.v[n],a=e.v[r],o=It(i,a);return Math.atan2(0,1)-Math.atan2(o[1],o[0])}function Rt(e,t,n,r,i,a,o){var s=Lt(t,n),c=t.v[n%t._length],l=t.v[n===0?t._length-1:n-1],u=t.v[(n+1)%t._length],d=a===2?Math.sqrt((c[0]-l[0])**2+(c[1]-l[1])**2):0,f=a===2?Math.sqrt((c[0]-u[0])**2+(c[1]-u[1])**2):0;Ft(e,t.v[n%t._length],s,o,r,f/((i+1)*2),d/((i+1)*2),a)}function zt(e,t,n,r,i,a){for(var o=0;o1&&t.length>1&&(i=Ut(e[0],t[t.length-1]),i)?[[e[0].split(i[0])[0]],[t[t.length-1].split(i[1])[1]]]:[n,r]}function Gt(e){for(var t,n=1;n1&&(t=Wt(e[e.length-1],e[0]),e[e.length-1]=t[0],e[0]=t[1]),e}function Kt(e,t){var n=e.inflectionPoints(),r,i,a,o;if(n.length===0)return[Vt(e,t)];if(n.length===1||_t(n[1],1))return a=e.split(n[0]),r=a[0],i=a[1],[Vt(r,t),Vt(i,t)];a=e.split(n[0]),r=a[0];var s=(n[1]-n[0])/(1-n[0]);return a=a[1].split(s),o=a[0],i=a[1],[Vt(r,t),Vt(o,t),Vt(i,t)]}function qt(){}u([dt],qt),qt.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amount=K.getProp(e,t.a,0,null,this),this.miterLimit=K.getProp(e,t.ml,0,null,this),this.lineJoin=t.lj,this._isAnimated=this.amount.effectsSequence.length!==0},qt.prototype.processPath=function(e,t,n,r){var i=He.newElement();i.c=e.c;var a=e.length();e.c||--a;var o,s,c,l=[];for(o=0;o=0;--o)c=wt.shapeSegmentInverted(e,o),l.push(Kt(c,t));l=Gt(l);var u=null,d=null;for(o=0;o0&&(o=!1),o){var u=l(`style`);u.setAttribute(`f-forigin`,n[r].fOrigin),u.setAttribute(`f-origin`,n[r].origin),u.setAttribute(`f-family`,n[r].fFamily),u.type=`text/css`,u.innerText=`@font-face {font-family: `+n[r].fFamily+`; font-style: normal; src: url('`+n[r].fPath+`');}`,t.appendChild(u)}}else if(n[r].fOrigin===`g`||n[r].origin===1){for(s=document.querySelectorAll(`link[f-forigin="g"], link[f-origin="1"]`),c=0;c=55296&&n<=56319){var r=e.charCodeAt(1);r>=56320&&r<=57343&&(t=(n-55296)*1024+r-56320+65536)}return t}function S(e,t){var n=e.toString(16)+t.toString(16);return d.indexOf(n)!==-1}function C(e){return e===s}function w(e){return e===o}function T(e){var t=x(e);return t>=c&&t<=u}function E(e){return T(e.substr(0,2))&&T(e.substr(2,2))}function D(e){return t.indexOf(e)!==-1}function O(e,t){var o=x(e.substr(t,2));if(o!==n)return!1;var s=0;for(t+=2;s<5;){if(o=x(e.substr(t,2)),oa)return!1;s+=1,t+=2}return x(e.substr(t,2))===r}function k(){this.isLoaded=!0}var A=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};return A.isModifier=S,A.isZeroWidthJoiner=C,A.isFlagEmoji=E,A.isRegionalCode=T,A.isCombinedCharacter=D,A.isRegionalFlag=O,A.isVariationSelector=w,A.BLACK_FLAG_CODE_POINT=n,A.prototype={addChars:_,addFonts:g,getCharData:v,getFontByName:b,measureText:y,checkLoadedFonts:m,setIsLoaded:k},A}();function Xt(e){this.animationData=e}Xt.prototype.getProp=function(e){return this.animationData.slots&&this.animationData.slots[e.sid]?Object.assign(e,this.animationData.slots[e.sid].p):e};function Zt(e){return new Xt(e)}function Qt(){}Qt.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){this.renderableComponents.indexOf(e)===-1&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){this.renderableComponents.indexOf(e)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,t=this.renderableComponents.length;for(e=0;e.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},mn.prototype.show=function(){},mn.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},mn.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},mn.prototype.resume=function(){this._canPlay=!0},mn.prototype.setRate=function(e){this.audio.rate(e)},mn.prototype.volume=function(e){this._volumeMultiplier=e,this._previousVolume=e*this._volume,this.audio.volume(this._previousVolume)},mn.prototype.getBaseElement=function(){return null},mn.prototype.destroy=function(){},mn.prototype.sourceRectAtTime=function(){},mn.prototype.initExpressions=function(){};function hn(){}hn.prototype.checkLayers=function(e){var t,n=this.layers.length,r;for(this.completeLayers=!0,t=n-1;t>=0;--t)this.elements[t]||(r=this.layers[t],r.ip-r.st<=e-this.layers[t].st&&r.op-r.st>e-this.layers[t].st&&this.buildItem(t)),this.completeLayers=this.elements[t]?this.completeLayers:!1;this.checkPendingElements()},hn.prototype.createItem=function(e){switch(e.ty){case 2:return this.createImage(e);case 0:return this.createComp(e);case 1:return this.createSolid(e);case 3:return this.createNull(e);case 4:return this.createShape(e);case 5:return this.createText(e);case 6:return this.createAudio(e);case 13:return this.createCamera(e);case 15:return this.createFootage(e);default:return this.createNull(e)}},hn.prototype.createCamera=function(){throw Error(`You're using a 3d camera. Try the html renderer.`)},hn.prototype.createAudio=function(e){return new mn(e,this.globalData,this)},hn.prototype.createFootage=function(e){return new pn(e,this.globalData,this)},hn.prototype.buildAllItems=function(){var e,t=this.layers.length;for(e=0;e0&&(this.maskElement.setAttribute(`id`,p),this.element.maskedElement.setAttribute(b,`url(`+c()+`#`+p+`)`),r.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}vn.prototype.getMaskProperty=function(e){return this.viewData[e].prop},vn.prototype.renderFrame=function(e){var t=this.element.finalTransform.mat,n,r=this.masksProperties.length;for(n=0;n1&&(r+=` C`+t.o[i-1][0]+`,`+t.o[i-1][1]+` `+t.i[0][0]+`,`+t.i[0][1]+` `+t.v[0][0]+`,`+t.v[0][1]),n.lastPath!==r){var o=``;n.elem&&(t.c&&(o=e.inv?this.solidPath+r:r),n.elem.setAttribute(`d`,o)),n.lastPath=r}},vn.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var yn=function(){var e={};e.createFilter=t,e.createAlphaToLuminanceFilter=n;function t(e,t){var n=z(`filter`);return n.setAttribute(`id`,e),t!==!0&&(n.setAttribute(`filterUnits`,`objectBoundingBox`),n.setAttribute(`x`,`0%`),n.setAttribute(`y`,`0%`),n.setAttribute(`width`,`100%`),n.setAttribute(`height`,`100%`)),n}function n(){var e=z(`feColorMatrix`);return e.setAttribute(`type`,`matrix`),e.setAttribute(`color-interpolation-filters`,`sRGB`),e.setAttribute(`values`,`0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1`),e}return e}(),bn=function(){var e={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<`u`};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(e.maskType=!1),/firefox/i.test(navigator.userAgent)&&(e.svgLumaHidden=!1),e}(),xn={},Sn=`filter_result_`;function Cn(e){var t,n=`SourceGraphic`,r=e.data.ef?e.data.ef.length:0,i=I(),a=yn.createFilter(i,!0),o=0;this.filters=[];var s;for(t=0;t=0&&(n=this.shapeModifiers[e].processShapes(this._isFirstFrame),!n);--e);}},searchProcessedElement:function(e){for(var t=this.processedElements,n=0,r=t.length;n.01)return!1;n+=1}return!0},Rn.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var e=0,t=this.data.k.k.length;e0;)c=r.transformers[g].mProps._mdf||c,--h,--g;if(c)for(h=f-r.styles[u].lvl,g=r.transformers.length-1;h>0;)m.multiply(r.transformers[g].mProps.v),--h,--g}else m=e;if(p=r.sh.paths,o=p._length,c){for(s=``,a=0;a=1?v=.99:v<=-1&&(v=-.99);var y=g*v,b=Math.cos(_+t.a.v)*y+a[0],x=Math.sin(_+t.a.v)*y+a[1];r.setAttribute(`fx`,b),r.setAttribute(`fy`,x),i&&!t.g._collapsable&&(t.of.setAttribute(`fx`,b),t.of.setAttribute(`fy`,x))}}}function u(e,t,n){var r=t.style,i=t.d;i&&(i._mdf||n)&&i.dashStr&&(r.pElem.setAttribute(`stroke-dasharray`,i.dashStr),r.pElem.setAttribute(`stroke-dashoffset`,i.dashoffset[0])),t.c&&(t.c._mdf||n)&&r.pElem.setAttribute(`stroke`,`rgb(`+C(t.c.v[0])+`,`+C(t.c.v[1])+`,`+C(t.c.v[2])+`)`),(t.o._mdf||n)&&r.pElem.setAttribute(`stroke-opacity`,t.o.v),(t.w._mdf||n)&&(r.pElem.setAttribute(`stroke-width`,t.w.v),r.msElem&&r.msElem.setAttribute(`stroke-width`,t.w.v))}return n}();function Gn(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(e,t,n),this.prevViewData=[]}u([dn,_n,wn,kn,Tn,fn,En],Gn),Gn.prototype.initSecondaryElement=function(){},Gn.prototype.identityMatrix=new q,Gn.prototype.buildExpressionInterface=function(){},Gn.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},Gn.prototype.filterUniqueShapes=function(){var e,t=this.shapes.length,n,r,i=this.stylesList.length,a,o=[],s=!1;for(r=0;r1&&s&&this.setShapesAsAnimated(o)}},Gn.prototype.setShapesAsAnimated=function(e){var t,n=e.length;for(t=0;t=0;--c){if(g=this.searchProcessedElement(e[c]),g?t[c]=n[g-1]:e[c]._render=o,e[c].ty===`fl`||e[c].ty===`st`||e[c].ty===`gf`||e[c].ty===`gs`||e[c].ty===`no`)g?t[c].style.closed=e[c].hd:t[c]=this.createStyleElement(e[c],i),e[c]._render&&t[c].style.pElem.parentNode!==r&&r.appendChild(t[c].style.pElem),f.push(t[c].style);else if(e[c].ty===`gr`){if(!g)t[c]=this.createGroupElement(e[c]);else for(d=t[c].it.length,u=0;u1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},qn.prototype.addEffect=function(e){this.effectsSequence.push(e),this.elem.addDynamicProperty(this)},qn.prototype.getValue=function(e){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!e)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var t=this.currentData,n=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var r,i=this.effectsSequence.length,a=e||this.data.d.k[this.keysIndex].s;for(r=0;rt);)n+=1;return this.keysIndex!==n&&(this.keysIndex=n),this.data.d.k[this.keysIndex].s},qn.prototype.buildFinalText=function(e){for(var t=[],n=0,r=e.length,i,a,o=!1,s=!1,c=``;n=55296&&i<=56319?Yt.isRegionalFlag(e,n)?c=e.substr(n,14):(a=e.charCodeAt(n+1),a>=56320&&a<=57343&&(Yt.isModifier(i,a)?(c=e.substr(n,2),o=!0):c=Yt.isFlagEmoji(e.substr(n,4))?e.substr(n,4):e.substr(n,2))):i>56319?(a=e.charCodeAt(n+1),Yt.isVariationSelector(i)&&(o=!0)):Yt.isZeroWidthJoiner(i)&&(o=!0,s=!0),o?(t[t.length-1]+=c,o=!1):t.push(c),n+=c.length;return t},qn.prototype.completeTextData=function(e){e.__complete=!0;var t=this.elem.globalData.fontManager,n=this.data,r=[],i,a,o,s=0,c,l=n.m.g,u=0,d=0,f=0,p=[],m=0,h=0,g,_,v=t.getFontByName(e.f),y,b=0,x=Jt(v);e.fWeight=x.weight,e.fStyle=x.style,e.finalSize=e.s,e.finalText=this.buildFinalText(e.t),a=e.finalText.length,e.finalLineHeight=e.lh;var S=e.tr/1e3*e.finalSize,C;if(e.sz)for(var w=!0,T=e.sz[0],E=e.sz[1],D,O;w;){O=this.buildFinalText(e.t),D=0,m=0,a=O.length,S=e.tr/1e3*e.finalSize;var k=-1;for(i=0;iT&&O[i]!==` `?(k===-1?a+=1:i=k,D+=e.finalLineHeight||e.finalSize*1.2,O.splice(i,+(k===i),`\r`),k=-1,m=0):(m+=b,m+=S);D+=v.ascent*e.finalSize/100,this.canResize&&e.finalSize>this.minimumFontSize&&Eh?m:h,m=-2*S,c=``,o=!0,f+=1):c=j,t.chars?(y=t.getCharData(j,v.fStyle,t.getFontByName(e.f).fFamily),b=o?0:y.w*e.finalSize/100):b=t.measureText(c,e.f,e.finalSize),j===` `?A+=b+S:(m+=b+S+A,A=0),r.push({l:b,an:b,add:u,n:o,anIndexes:[],val:c,line:f,animatorJustifyOffset:0}),l==2){if(u+=b,c===``||c===` `||i===a-1){for((c===``||c===` `)&&(u-=b);d<=i;)r[d].an=u,r[d].ind=s,r[d].extra=b,d+=1;s+=1,u=0}}else if(l==3){if(u+=b,c===``||i===a-1){for(c===``&&(u-=b);d<=i;)r[d].an=u,r[d].ind=s,r[d].extra=b,d+=1;u=0,s+=1}}else r[s].ind=s,r[s].extra=0,s+=1;if(e.l=r,h=m>h?m:h,p.push(m),e.sz)e.boxWidth=e.sz[0],e.justifyOffset=0;else switch(e.boxWidth=h,e.j){case 1:e.justifyOffset=-e.boxWidth;break;case 2:e.justifyOffset=-e.boxWidth/2;break;default:e.justifyOffset=0}e.lineWidths=p;var M=n.a,N,P;_=M.length;var F,I,L=[];for(g=0;g<_;g+=1){for(N=M[g],N.a.sc&&(e.strokeColorAnim=!0),N.a.sw&&(e.strokeWidthAnim=!0),(N.a.fc||N.a.fh||N.a.fs||N.a.fb)&&(e.fillColorAnim=!0),I=0,F=N.s.b,i=0;i0?i=this.ne.v/100:a=-this.ne.v/100,this.xe.v>0?o=1-this.xe.v/100:s=1+this.xe.v/100;var c=U.getBezierEasing(i,a,o,s).get,l=0,u=this.finalS,d=this.finalE,f=this.data.sh;if(f===2)l=d===u?+(r>=d):e(0,t(.5/(d-u)+(r-u)/(d-u),1)),l=c(l);else if(f===3)l=d===u?r>=d?0:1:1-e(0,t(.5/(d-u)+(r-u)/(d-u),1)),l=c(l);else if(f===4)d===u?l=0:(l=e(0,t(.5/(d-u)+(r-u)/(d-u),1)),l<.5?l*=2:l=1-2*(l-.5)),l=c(l);else if(f===5){if(d===u)l=0;else{var p=d-u;r=t(e(0,r+.5-u),d-u);var m=-p/2+r,h=p/2;l=Math.sqrt(1-m*m/(h*h))}l=c(l)}else f===6?(d===u?l=0:(r=t(e(0,r+.5-u),d-u),l=(1+Math.cos(Math.PI+Math.PI*2*r/(d-u)))/2),l=c(l)):(r>=n(u)&&(l=r-u<0?e(0,t(t(d,1)-(u-r),1)):e(0,t(d-r,1))),l=c(l));if(this.sm.v!==100){var g=this.sm.v*.01;g===0&&(g=1e-8);var _=.5-g*.5;l<_?l=0:(l=(l-_)/g,l>1&&(l=1))}return l*this.a.v},getValue:function(e){this.iterateDynamicProperties(),this._mdf=e||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,e&&this.data.r===2&&(this.e.v=this._currentTextLength);var t=this.data.r===2?1:100/this.data.totalChars,n=this.o.v/t,r=this.s.v/t+n,i=this.e.v/t+n;if(r>i){var a=r;r=i,i=a}this.finalS=r,this.finalE=i}},u([ze],r);function i(e,t,n){return new r(e,t,n)}return{getTextSelectorProp:i}}();function Yn(e,t,n){var r={propType:!1},i=K.getProp,a=t.a;this.a={r:a.r?i(e,a.r,0,D,n):r,rx:a.rx?i(e,a.rx,0,D,n):r,ry:a.ry?i(e,a.ry,0,D,n):r,sk:a.sk?i(e,a.sk,0,D,n):r,sa:a.sa?i(e,a.sa,0,D,n):r,s:a.s?i(e,a.s,1,.01,n):r,a:a.a?i(e,a.a,1,0,n):r,o:a.o?i(e,a.o,0,.01,n):r,p:a.p?i(e,a.p,1,0,n):r,sw:a.sw?i(e,a.sw,0,0,n):r,sc:a.sc?i(e,a.sc,1,0,n):r,fc:a.fc?i(e,a.fc,1,0,n):r,fh:a.fh?i(e,a.fh,0,0,n):r,fs:a.fs?i(e,a.fs,0,.01,n):r,fb:a.fb?i(e,a.fb,0,.01,n):r,t:a.t?i(e,a.t,0,0,n):r},this.s=Jn.getTextSelectorProp(e,t.s,n),this.s.t=t.s.t}function Xn(e,t,n){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=e,this._renderType=t,this._elem=n,this._animatorsData=m(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(n)}Xn.prototype.searchProperties=function(){var e,t=this._textData.a.length,n,r=K.getProp;for(e=0;e=m+xe||!x?(T=(m+xe-g)/h.partialLength,ie=b.point[0]+(h.point[0]-b.point[0])*T,ae=b.point[1]+(h.point[1]-b.point[1])*T,a.translate(-n[0]*f[u].an*.005,-(n[1]*A)*.01),_=!1):x&&(g+=h.partialLength,v+=1,v>=x.length&&(v=0,y+=1,S[y]?x=S[y].points:D.v.c?(v=0,y=0,x=S[y].points):(g-=h.partialLength,x=null)),x&&(b=h,h=x[v],C=h.partialLength));re=f[u].an/2-f[u].add,a.translate(-re,0,0)}else re=f[u].an/2-f[u].add,a.translate(-re,0,0),a.translate(-n[0]*f[u].an*.005,-n[1]*A*.01,0);for(P=0;Pe?this.textSpans[e].span:z(s?`g`:`text`),b<=e){if(c.setAttribute(`stroke-linecap`,`butt`),c.setAttribute(`stroke-linejoin`,`round`),c.setAttribute(`stroke-miterlimit`,`4`),this.textSpans[e].span=c,s){var S=z(`g`);c.appendChild(S),this.textSpans[e].childSpan=S}this.textSpans[e].span=c,this.layerElement.appendChild(c)}c.style.display=`inherit`}if(l.reset(),d&&(o[e].n&&(f=-g,p+=n.yOffset,p+=+!!h,h=!1),this.applyTextPropertiesToMatrix(n,l,o[e].line,f,p),f+=o[e].l||0,f+=g),s){x=this.globalData.fontManager.getCharData(n.finalText[e],r.fStyle,this.globalData.fontManager.getFontByName(n.f).fFamily);var C;if(x.t===1)C=new ir(x.data,this.globalData,this);else{var w=Qn;x.data&&x.data.shapes&&(w=this.buildShapeData(x.data,n.finalSize)),C=new Gn(w,this.globalData,this)}if(this.textSpans[e].glyph){var T=this.textSpans[e].glyph;this.textSpans[e].childSpan.removeChild(T.layerElement),T.destroy()}this.textSpans[e].glyph=C,C._debug=!0,C.prepareFrame(0),C.renderFrame(),this.textSpans[e].childSpan.appendChild(C.layerElement),x.t===1&&this.textSpans[e].childSpan.setAttribute(`transform`,`scale(`+n.finalSize/100+`,`+n.finalSize/100+`)`)}else d&&c.setAttribute(`transform`,`translate(`+l.props[12]+`,`+l.props[13]+`)`),c.textContent=o[e].val,c.setAttributeNS(`http://www.w3.org/XML/1998/namespace`,`xml:space`,`preserve`)}d&&c&&c.setAttribute(`d`,u)}for(;e=0;--t)(this.completeLayers||this.elements[t])&&this.elements[t].prepareFrame(e-this.layers[t].st);if(this.globalData._mdf)for(t=0;t=0;--n)(this.completeLayers||this.elements[n])&&(this.elements[n].prepareFrame(this.renderedFrame-this.layers[n].st),this.elements[n]._mdf&&(this._mdf=!0))}},rr.prototype.renderInnerContent=function(){var e,t=this.layers.length;for(e=0;e=0;--n)e.finalTransform.multiply(e.transforms[n].transform.mProps.v);e._mdf=i},processSequences:function(e){var t,n=this.sequenceList.length;for(t=0;t=1){this.buffers=[];var e=this.globalData.canvasContext,t=lr.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(t);var n=lr.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(n),this.data.tt>=3&&!document._isProxy&&lr.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new dr(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var t=$t(this.data.bm);e.canvasContext.globalCompositeOperation=t}},createRenderableComponents:function(){this.maskManager=new fr(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(gn.TRANSFORM_EFFECT)},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0].getContext(`2d`);this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],t=e.getContext(`2d`);if(this.clearCanvas(t),t.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById(`tp`in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=lr.getLumaCanvas(this.canvasContext.canvas);n.getContext(`2d`).drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=mr[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation=`destination-over`,this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation=`source-over`}},renderFrame:function(e){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var t=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(t),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(t),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&=!1}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new q},pr.prototype.hide=pr.prototype.hideElement,pr.prototype.show=pr.prototype.showElement;function hr(e,t,n,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var i=4;t.ty===`rc`?i=5:t.ty===`el`?i=6:t.ty===`sr`&&(i=7),this.sh=Ge.getShapeProp(e,t,i,e);var a,o=n.length,s;for(a=0;a=0;--a){if(d=this.searchProcessedElement(e[a]),d?t[a]=n[d-1]:e[a]._shouldRender=r,e[a].ty===`fl`||e[a].ty===`st`||e[a].ty===`gf`||e[a].ty===`gs`)d?t[a].style.closed=!1:t[a]=this.createStyleElement(e[a],m),l.push(t[a].style);else if(e[a].ty===`gr`){if(!d)t[a]=this.createGroupElement(e[a]);else for(c=t[a].it.length,s=0;s=0;--i)t[i].ty===`tr`?(o=n[i].transform,this.renderShapeTransform(e,o)):t[i].ty===`sh`||t[i].ty===`el`||t[i].ty===`rc`||t[i].ty===`sr`?this.renderPath(t[i],n[i]):t[i].ty===`fl`?this.renderFill(t[i],n[i],o):t[i].ty===`st`?this.renderStroke(t[i],n[i],o):t[i].ty===`gf`||t[i].ty===`gs`?this.renderGradientFill(t[i],n[i],o):t[i].ty===`gr`?this.renderShape(o,t[i].it,n[i].it):t[i].ty;r&&this.drawLayer()},gr.prototype.renderStyledShape=function(e,t){if(this._isFirstFrame||t._mdf||e.transforms._mdf){var n=e.trNodes,r=t.paths,i,a,o,s=r._length;n.length=0;var c=e.transforms.finalTransform;for(o=0;o=1?u=.99:u<=-1&&(u=-.99);var d=c*u,f=Math.cos(l+t.a.v)*d+o[0],p=Math.sin(l+t.a.v)*d+o[1];i=a.createRadialGradient(f,p,0,o[0],o[1],c)}var m,h=e.g.p,g=t.g.c,_=1;for(m=0;ma&&c===`xMidYMid slice`||ii&&s===`meet`||ai&&s===`slice`)?this.transformCanvas.tx=(n-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr:l===`xMax`&&(ai&&s===`slice`)?this.transformCanvas.tx=(n-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,u===`YMid`&&(a>i&&s===`meet`||ai&&s===`meet`||a=0;--e)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},Z.prototype.renderFrame=function(e,t){if(!(this.renderedFrame===e&&this.renderConfig.clearCanvas===!0&&!t||this.destroyed||e===-1)){this.renderedFrame=e,this.globalData.frameNum=e-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||t,this.globalData.projectInterface.currentFrame=e;var n,r=this.layers.length;for(this.completeLayers||this.checkLayers(e),n=r-1;n>=0;--n)(this.completeLayers||this.elements[n])&&this.elements[n].prepareFrame(e-this.layers[n].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),n=r-1;n>=0;--n)(this.completeLayers||this.elements[n])&&this.elements[n].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore()}}},Z.prototype.buildItem=function(e){var t=this.elements;if(!(t[e]||this.layers[e].ty===99)){var n=this.createItem(this.layers[e],this,this.globalData);t[e]=n,n.initExpressions()}},Z.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},Z.prototype.hide=function(){this.animationItem.container.style.display=`none`},Z.prototype.show=function(){this.animationItem.container.style.display=`block`};function br(){this.opacity=-1,this.transform=p(`float32`,16),this.fillStyle=``,this.strokeStyle=``,this.lineWidth=``,this.lineCap=``,this.lineJoin=``,this.miterLimit=``,this.id=Math.random()}function xr(){this.stack=[],this.cArrPos=0,this.cTr=new q;var e,t=15;for(e=0;e=0;--t)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},Sr.prototype.destroy=function(){var e;for(e=this.layers.length-1;e>=0;--e)this.elements[e]&&this.elements[e].destroy();this.layers=null,this.elements=null},Sr.prototype.createComp=function(e){return new Sr(e,this.globalData,this)};function Cr(e,t){this.animationItem=e,this.renderConfig={clearCanvas:t&&t.clearCanvas!==void 0?t.clearCanvas:!0,context:t&&t.context||null,progressiveLoad:t&&t.progressiveLoad||!1,preserveAspectRatio:t&&t.preserveAspectRatio||`xMidYMid meet`,imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||`xMidYMid slice`,contentVisibility:t&&t.contentVisibility||`visible`,className:t&&t.className||``,id:t&&t.id||``,runExpressions:!t||t.runExpressions===void 0||t.runExpressions},this.renderConfig.dpr=t&&t.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=t&&t.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new xr,this.elements=[],this.pendingElements=[],this.transformMat=new q,this.completeLayers=!1,this.rendererType=`canvas`,this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}return u([Z],Cr),Cr.prototype.createComp=function(e){return new Sr(e,this.globalData,this)},_e(`canvas`,Cr),ut.registerModifier(`tm`,ft),ut.registerModifier(`pb`,pt),ut.registerModifier(`rp`,ht),ut.registerModifier(`rd`,gt),ut.registerModifier(`zz`,Pt),ut.registerModifier(`op`,qt),J}))}))(),1),St=0,Ct=e=>`${e}-${++St}`,wt=e=>({key:Ct(e),name:``,rarity:`1000`,sortOrder:`0`,file:null,animation:null,fileError:``}),Tt=()=>({key:Ct(`backdrop`),name:``,backdropID:`1`,rarity:`1000`,sortOrder:`0`,center:`#6f5bea`,edge:`#34278f`,pattern:`#a89df5`,text:`#ffffff`});function Et({data:e,compact:t=!1}){let n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(!n.current)return;let t=xt.default.loadAnimation({container:n.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)});return()=>t.destroy()},[e]),(0,W.jsx)(`div`,{className:`collectible-animation ${t?`compact`:``}`,ref:n})}function Dt({giftID:e,attribute:t}){let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(!1);return(0,g.useEffect)(()=>{let n=!1;return a(!1),x.giftCollectibleAnimation(e,t.kind,t.id).then(e=>{n||r(e)}).catch(()=>{n||a(!0)}),()=>{n=!0}},[e,t.id,t.kind]),i?(0,W.jsx)(`div`,{className:`collectible-animation compact failed`,children:`!`}):n?(0,W.jsx)(Et,{data:n,compact:!0}):(0,W.jsx)(`div`,{className:`collectible-animation compact loading`,children:(0,W.jsx)(A,{className:`spin`,size:15})})}async function Ot(e){let t=new Uint8Array(await e.arrayBuffer()),n=t;if(t.length>=2&&t[0]===31&&t[1]===139){if(!(`DecompressionStream`in window))throw Error(`This browser cannot preview TGS files`);let e=new Blob([t]).stream().pipeThrough(new DecompressionStream(`gzip`));n=new Uint8Array(await new Response(e).arrayBuffer())}let r=JSON.parse(new TextDecoder().decode(n));if(!r||typeof r!=`object`||Array.isArray(r))throw Error(`Invalid Lottie JSON`);return r}var kt=e=>Number.parseInt(e.replace(`#`,``),16),At=e=>e.rarity_kind===`permille`?`${e.rarity_permille}‰`:e.rarity_kind;function jt({gift:e,onClose:t,onPublished:n}){let{t:r}=G(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!0),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(`100`),[_,v]=(0,g.useState)(`1000`),[y,S]=(0,g.useState)(`gift-${e.GiftID}`),[C,w]=(0,g.useState)(``),[T,E]=(0,g.useState)([wt(`model`)]),[D,O]=(0,g.useState)([wt(`pattern`)]),[M,N]=(0,g.useState)([Tt()]);(0,g.useEffect)(()=>{let t=!1;return x.giftCollectibles(e.GiftID).then(n=>{t||(a(n),n.found&&(h(String(n.upgrade_stars??100)),v(String(n.supply_total??1e3)),S(n.slug_prefix??`gift-${e.GiftID}`)))}).catch(e=>d(b(e))).finally(()=>{t||s(!1)}),()=>{t=!0}},[e.GiftID]);let P=(0,g.useMemo)(()=>({models:T.reduce((e,t)=>e+Number(t.rarity||0),0),patterns:D.reduce((e,t)=>e+Number(t.rarity||0),0),backdrops:M.reduce((e,t)=>e+Number(t.rarity||0),0)}),[T,D,M]),F=()=>p(null),I=(e,t,n)=>{(e===`models`?E:O)(e=>e.map(e=>e.key===t?{...e,...n}:e)),F()};async function L(e,t,n){if(I(e,t.key,{file:n,animation:null,fileError:``}),n)try{let r=await Ot(n);I(e,t.key,{animation:r,fileError:``})}catch(n){I(e,t.key,{animation:null,fileError:b(n)})}}function ee(e,t=``){if(!C.trim())throw Error(r(`action.reasonRequired`));for(let e of[...T,...D])if(!e.file)throw Error(r(`collectibles.fileRequired`));let n=new FormData,i=e=>e.map(e=>({name:e.name.trim(),rarity_permille:Number(e.rarity),sort_order:Number(e.sortOrder),file_key:e.key}));n.set(`metadata`,JSON.stringify({command_id:t,reason:C.trim(),confirm:e,upgrade_stars:m,supply_total:Number(_),slug_prefix:y.trim().toLowerCase(),models:i(T),patterns:i(D),backdrops:M.map(e=>({name:e.name.trim(),backdrop_id:Number(e.backdropID),rarity_permille:Number(e.rarity),sort_order:Number(e.sortOrder),center_color:kt(e.center),edge_color:kt(e.edge),pattern_color:kt(e.pattern),text_color:kt(e.text)}))}));for(let e of[...T,...D])n.set(e.key,e.file,e.file.name);return n}async function R(){l(!0),d(``),p(null);try{p(await x.publishGiftCollectibles(e.GiftID,ee(!1)))}catch(e){d(b(e))}finally{l(!1)}}async function te(){if(f){l(!0),d(``);try{await x.publishGiftCollectibles(e.GiftID,ee(!0,f.command_id)),n(),t()}catch(e){d(b(e))}finally{l(!1)}}}let re=(e,t,n)=>(0,W.jsxs)(`section`,{className:`collectible-section`,children:[(0,W.jsxs)(`div`,{className:`collectible-section-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:r(`collectibles.${e}`)}),(0,W.jsx)(`span`,{children:r(`collectibles.rarityHint`)})]}),(0,W.jsxs)(`div`,{className:`collectible-section-tools`,children:[(0,W.jsxs)(q,{tone:P[e]>0?`good`:`neutral`,children:[P[e],`‰`]}),(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>{n([...t,wt(e===`models`?`model`:`pattern`)]),F()},children:[(0,W.jsx)(fe,{size:13}),r(`collectibles.addAttribute`)]})]})]}),(0,W.jsx)(`div`,{className:`collectible-rows`,children:t.map((i,a)=>(0,W.jsxs)(`div`,{className:`collectible-row animated`,children:[(0,W.jsx)(`div`,{className:`collectible-row-index`,children:a+1}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`common.name`)}),(0,W.jsx)(`input`,{value:i.name,maxLength:128,onChange:t=>I(e,i.key,{name:t.target.value})})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`collectibles.rarity`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,max:`1000`,value:i.rarity,onChange:t=>I(e,i.key,{rarity:t.target.value})})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`gifts.sortOrder`)}),(0,W.jsx)(`input`,{type:`number`,value:i.sortOrder,onChange:t=>I(e,i.key,{sortOrder:t.target.value})})]}),(0,W.jsxs)(`label`,{className:`collectible-file`,children:[(0,W.jsx)(`span`,{children:r(`gifts.animation`)}),(0,W.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.lottie,application/json,application/x-tgsticker`,onChange:t=>void L(e,i,t.target.files?.[0]??null)}),(0,W.jsxs)(`em`,{children:[(0,W.jsx)(ne,{size:13}),i.file?.name??r(`gifts.chooseFile`)]})]}),(0,W.jsx)(`div`,{className:`collectible-inline-preview`,children:i.animation?(0,W.jsx)(Et,{data:i.animation,compact:!0}):(0,W.jsx)(j,{size:16})}),(0,W.jsx)(`button`,{className:`icon-btn danger`,type:`button`,disabled:t.length===1,onClick:()=>{n(t.filter(e=>e.key!==i.key)),F()},"aria-label":r(`collectibles.remove`),children:(0,W.jsx)(V,{size:14})}),i.fileError&&(0,W.jsx)(`span`,{className:`collectible-file-error`,children:i.fileError})]},i.key))})]});return(0,Qe.createPortal)((0,W.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,W.jsxs)(`section`,{className:`modal command-modal collectible-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`collectibles.title`,{id:e.GiftID}),children:[(0,W.jsxs)(`div`,{className:`modal-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:r(`collectibles.eyebrow`)}),(0,W.jsx)(`h2`,{children:r(`collectibles.title`,{id:e.GiftID})}),(0,W.jsx)(`p`,{children:e.Title||`Gift #${e.GiftID}`})]}),(0,W.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:t,disabled:c,"aria-label":r(`action.close`),children:(0,W.jsx)(xe,{size:15})})]}),(0,W.jsxs)(`div`,{className:`command-body collectible-modal-body`,children:[o?(0,W.jsxs)(`div`,{className:`collectible-loading`,children:[(0,W.jsx)(A,{className:`spin`}),r(`common.loading`)]}):i?.found?(0,W.jsxs)(`section`,{className:`collectible-active`,children:[(0,W.jsxs)(`div`,{className:`collectible-active-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(ie,{size:18}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:r(`collectibles.activeRevision`,{revision:i.revision??0})}),(0,W.jsxs)(`span`,{children:[i.slug_prefix,` · ⭐ `,i.upgrade_stars,` · `,i.issued,` / `,i.supply_total]})]})]}),(0,W.jsx)(q,{tone:`good`,children:r(`collectibles.published`)})]}),(0,W.jsxs)(`div`,{className:`collectible-active-grid`,children:[[...i.models??[],...i.patterns??[]].map(t=>(0,W.jsxs)(`article`,{children:[(0,W.jsx)(Dt,{giftID:e.GiftID,attribute:t}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`strong`,{children:[t.name,t.crafted&&(0,W.jsx)(q,{children:`crafted`})]}),(0,W.jsxs)(`span`,{children:[r(`collectibles.${t.kind}`),` · `,At(t)]})]})]},`${t.kind}-${t.id}`)),(i.backdrops??[]).map(e=>(0,W.jsxs)(`article`,{children:[(0,W.jsx)(`div`,{className:`collectible-backdrop-preview`,style:{background:`radial-gradient(circle, #${(e.center_color??0).toString(16).padStart(6,`0`)}, #${(e.edge_color??0).toString(16).padStart(6,`0`)})`,color:`#${(e.text_color??16777215).toString(16).padStart(6,`0`)}`},children:`Aa`}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:e.name}),(0,W.jsxs)(`span`,{children:[r(`collectibles.backdrop`),` · `,At(e)]})]})]},`backdrop-${e.id}`))]})]}):(0,W.jsxs)(`div`,{className:`collectible-empty`,children:[(0,W.jsx)(ie,{size:22}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:r(`collectibles.noPool`)}),(0,W.jsx)(`span`,{children:r(`collectibles.noPoolHint`)})]})]}),(0,W.jsxs)(`section`,{className:`collectible-definition`,children:[(0,W.jsxs)(`div`,{className:`collectible-definition-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:r(`collectibles.publishNew`)}),(0,W.jsx)(`span`,{children:r(`collectibles.immutableHint`)})]}),(0,W.jsxs)(`div`,{className:`gift-format-chips`,children:[(0,W.jsx)(`span`,{children:`TGS`}),(0,W.jsx)(`span`,{children:`Lottie JSON`})]})]}),(0,W.jsxs)(`div`,{className:`gift-fields-grid collectible-main-fields`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`collectibles.upgradeStars`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,value:m,onChange:e=>{h(e.target.value),F()}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`collectibles.supply`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,value:_,onChange:e=>{v(e.target.value),F()}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`collectibles.slug`)}),(0,W.jsx)(`input`,{value:y,maxLength:48,onChange:e=>{S(e.target.value.toLowerCase()),F()}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`gifts.reason`)}),(0,W.jsx)(`input`,{value:C,maxLength:1e3,placeholder:r(`gifts.reasonPlaceholder`),onChange:e=>w(e.target.value)})]})]}),re(`models`,T,E),re(`patterns`,D,O),(0,W.jsxs)(`section`,{className:`collectible-section`,children:[(0,W.jsxs)(`div`,{className:`collectible-section-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:r(`collectibles.backdrops`)}),(0,W.jsx)(`span`,{children:r(`collectibles.colorHint`)})]}),(0,W.jsxs)(`div`,{className:`collectible-section-tools`,children:[(0,W.jsxs)(q,{tone:P.backdrops>0?`good`:`neutral`,children:[P.backdrops,`‰`]}),(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>{N([...M,Tt()]),F()},children:[(0,W.jsx)(fe,{size:13}),r(`collectibles.addAttribute`)]})]})]}),(0,W.jsx)(`div`,{className:`collectible-rows`,children:M.map((e,t)=>(0,W.jsxs)(`div`,{className:`collectible-row backdrop`,children:[(0,W.jsx)(`div`,{className:`collectible-row-index`,children:t+1}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`common.name`)}),(0,W.jsx)(`input`,{value:e.name,maxLength:128,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,name:t.target.value}:n)),F()}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`collectibles.backdropID`)}),(0,W.jsx)(`input`,{type:`number`,min:`0`,value:e.backdropID,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,backdropID:t.target.value}:n)),F()}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`collectibles.rarity`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,max:`1000`,value:e.rarity,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,rarity:t.target.value}:n)),F()}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`gifts.sortOrder`)}),(0,W.jsx)(`input`,{type:`number`,value:e.sortOrder,onChange:t=>{N(M.map(n=>n.key===e.key?{...n,sortOrder:t.target.value}:n)),F()}})]}),[`center`,`edge`,`pattern`,`text`].map(t=>(0,W.jsxs)(`label`,{className:`collectible-color`,children:[(0,W.jsx)(`span`,{children:r(`collectibles.color.${t}`)}),(0,W.jsx)(`input`,{type:`color`,value:e[t],onChange:n=>{N(M.map(r=>r.key===e.key?{...r,[t]:n.target.value}:r)),F()}})]},t)),(0,W.jsx)(`div`,{className:`collectible-backdrop-preview`,style:{background:`radial-gradient(circle, ${e.center}, ${e.edge})`,color:e.text},children:`Aa`}),(0,W.jsx)(`button`,{className:`icon-btn danger`,type:`button`,disabled:M.length===1,onClick:()=>{N(M.filter(t=>t.key!==e.key)),F()},"aria-label":r(`collectibles.remove`),children:(0,W.jsx)(V,{size:14})})]},e.key))})]})]}),u&&(0,W.jsx)(Ge,{children:u}),f&&(0,W.jsxs)(`div`,{className:`gift-validation`,children:[(0,W.jsxs)(`div`,{className:`gift-validation-head`,children:[(0,W.jsx)(k,{size:17}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:r(`collectibles.validationReady`)}),(0,W.jsx)(`span`,{children:r(`collectibles.validationHint`)})]})]}),(0,W.jsx)(`pre`,{children:JSON.stringify(f.details,null,2)})]})]}),(0,W.jsxs)(`div`,{className:`modal-actions`,children:[(0,W.jsx)(`button`,{className:`btn`,type:`button`,onClick:t,disabled:c,children:r(`common.close`)}),(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:R,disabled:c,children:[c?(0,W.jsx)(A,{className:`spin`,size:15}):(0,W.jsx)(ge,{size:15}),r(`gifts.validate`)]}),(0,W.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:te,disabled:c||!f,children:[(0,W.jsx)(H,{size:15}),r(`collectibles.publish`)]})]})]})}),document.body)}var X=!1;function Mt(e){return e.model_count+e.pattern_count+e.backdrop_count}function Nt(e){let t=Number(e);return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function Pt({giftID:e,revision:t,compact:n=!1}){let r=(0,g.useRef)(null),i=(0,g.useRef)(null),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(``);(0,g.useEffect)(()=>{let t=!1;return x.giftAnimation(e).then(e=>{t||!r.current||(i.current?.destroy(),i.current=xt.default.loadAnimation({container:r.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)}))}).catch(e=>c(b(e))),()=>{t=!0,i.current?.destroy(),i.current=null}},[e,t]);function l(){i.current&&(a?i.current.pause():i.current.play(),o(!a))}return(0,W.jsxs)(`div`,{className:`gift-animation-shell ${n?`compact`:``}`,children:[(0,W.jsx)(`div`,{className:`gift-animation`,ref:r,children:s&&(0,W.jsx)(`span`,{children:s})}),(0,W.jsx)(`button`,{className:`gift-play`,type:`button`,onClick:l,"aria-label":a?`Pause`:`Play`,children:a?(0,W.jsx)(de,{size:14}):(0,W.jsx)(B,{size:14})})]})}function Ft({sourceGiftID:e}){let t=(0,g.useRef)(null);return(0,g.useEffect)(()=>{let n=!1,r=null;return x.officialGiftAnimation(e).then(e=>{n||!t.current||(r=xt.default.loadAnimation({container:t.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:structuredClone(e)}))}).catch(()=>void 0),()=>{n=!0,r?.destroy()}},[e]),(0,W.jsx)(`div`,{className:`gift-animation-shell`,children:(0,W.jsx)(`div`,{className:`gift-animation`,ref:t})})}function It(){let{t:e}=G(),[t,n]=(0,g.useState)([]),[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(!1),[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)(null),[d,f]=(0,g.useState)(`official`),[p,m]=(0,g.useState)([]),[h,_]=(0,g.useState)(0),[y,S]=(0,g.useState)([]),[C,w]=(0,g.useState)(``),[T,E]=(0,g.useState)(`all`),[D,O]=(0,g.useState)(``),[j,M]=(0,g.useState)(!0),[N,P]=(0,g.useState)(`0`),[F,ee]=(0,g.useState)(`0`),[R,te]=(0,g.useState)(``),[re,ae]=(0,g.useState)(`0`),[oe,se]=(0,g.useState)(``),[ce,le]=(0,g.useState)(`50`),[ue,z]=(0,g.useState)(`50`),[B,he]=(0,g.useState)(`0`),[_e,ve]=(0,g.useState)(!0),[ye,be]=(0,g.useState)(``),[V,U]=(0,g.useState)(null),[Se,Ce]=(0,g.useState)(!1),[we,Te]=(0,g.useState)(``),[Ee,De]=(0,g.useState)(``),[Oe,ke]=(0,g.useState)(null),[Ae,je]=(0,g.useState)([]),[Me,Ne]=(0,g.useState)(!0),[Pe,Fe]=(0,g.useState)(``),[Ie,Le]=(0,g.useState)(!1),[K,ze]=(0,g.useState)({done:0,total:0}),[Be,Ue]=(0,g.useState)(``),[We,Ke]=(0,g.useState)(null),[Y,qe]=(0,g.useState)(new Set),[Ye,Xe]=(0,g.useState)(``),[Ze,et]=(0,g.useState)(!1),[tt,nt]=(0,g.useState)(``),[rt,it]=(0,g.useState)(10),[at,ot]=(0,g.useState)(1);async function st(){Te(``);try{n((await x.gifts()).Gifts??[])}catch(e){Te(b(e))}}(0,g.useEffect)(()=>{st()},[]),(0,g.useEffect)(()=>{!a||d!=="default"||p.length>0||x.defaultGifts().then(e=>m(e.gifts??[])).catch(e=>De(b(e)))},[a,d,p.length]),(0,g.useEffect)(()=>{!a||d!==`official`||y.length>0||x.officialGifts().then(e=>S(e.gifts??[])).catch(e=>De(b(e)))},[a,d,y.length]),(0,g.useMemo)(()=>p.find(e=>e.id===h)??null,[p,h]);let ct=(0,g.useMemo)(()=>y.find(e=>e.source_gift_id===D)??null,[y,D]),lt=(0,g.useMemo)(()=>({all:y.length,upgrade:y.filter(e=>e.can_upgrade).length,craft:y.filter(e=>e.can_craft).length,basic:y.filter(e=>!e.can_upgrade).length}),[y]),ut=(0,g.useMemo)(()=>{let e=C.trim().toLowerCase();return y.filter(t=>(T===`all`||T===`upgrade`&&t.can_upgrade||T===`craft`&&t.can_craft||T===`basic`&&!t.can_upgrade)&&(!e||t.source_gift_id.includes(e)||t.title.toLowerCase().includes(e)))},[y,C,T]),dt=(0,g.useMemo)(()=>{let e=r.trim().toLowerCase();return e?t.filter(t=>String(t.GiftID).includes(e)||t.Title.toLowerCase().includes(e)||t.SourceFormat.toLowerCase().includes(e)):t},[t,r]);(0,g.useEffect)(()=>{ot(1)},[r,rt]);let ft=rt===`all`?1:Math.max(1,Math.ceil(dt.length/rt)),pt=Math.min(at,ft),mt=(0,g.useMemo)(()=>{if(rt===`all`)return dt;let e=(pt-1)*rt;return dt.slice(e,e+rt)},[dt,pt,rt]),ht=mt.length===0?0:rt===`all`?1:(pt-1)*rt+1,gt=ht===0?0:ht+mt.length-1,_t=mt.length>0&&mt.every(e=>Y.has(e.GiftID));function vt(e){qe(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function yt(){qe(e=>{if(_t){let t=new Set(e);for(let e of mt)t.delete(e.GiftID);return t}let t=new Set(e);for(let e of mt)t.add(e.GiftID);return t})}async function bt(t){if(!Ye.trim()){nt(e(`action.reasonRequired`));return}et(!0),nt(``);let n=Array.from(Y),r=0;for(let e of n)try{await x.action(`/api/actions/set-gift-enabled`,{gift_id:e,enabled:t,reason:Ye.trim(),confirm:!0})}catch{r++}et(!1),r>0?nt(e(`gifts.bulkStatusFailed`,{failed:r,total:n.length})):(qe(new Set),Xe(``)),await st()}function xt(t,n=``){if(!l)throw Error(e(`gifts.fileRequired`));if(!ye.trim())throw Error(e(`action.reasonRequired`));let r=new FormData;return r.set(`metadata`,JSON.stringify({command_id:n,reason:ye.trim(),confirm:t,gift_id:re,title:oe.trim(),stars:ce,convert_stars:ue,enabled:_e,sort_order:Number(B)})),r.set(`file`,l,l.name),r}function St(t,n=``){if(!h)throw Error(e(`gifts.defaultRequired`));if(!ye.trim())throw Error(e(`action.reasonRequired`));return{command_id:n,reason:ye.trim(),confirm:t,id:h}}function Ct(t,n=``){if(!D)throw Error(e(`gifts.officialRequired`));if(!ye.trim())throw Error(e(`action.reasonRequired`));return{command_id:n,reason:ye.trim(),confirm:t,source_gift_id:D,gift_id:re,title:oe.trim(),stars:ce,convert_stars:ue,enabled:_e,sort_order:Number(B),include_collectible:j,upgrade_stars:N,supply_total:Number(F),slug_prefix:R.trim().toLowerCase()}}function wt(t){O(t.source_gift_id),se(t.title||e(`gifts.officialUnnamed`,{id:t.source_gift_id})),le(String(t.stars)),z(String(t.convert_stars)),M(t.can_upgrade),P(t.upgrade_stars),ee(String(t.availability_total||1)),te(`official-${t.source_gift_id}`),U(null)}async function Tt(e){ke(e),je([]),Ne(!0),Fe(``),Le(!1),ze({done:0,total:0}),Ue(``),Ke(null);try{je(e==="default"?p.length>0?p:(await x.defaultGifts()).gifts??[]:y.length>0?y:(await x.officialGifts()).gifts??[])}catch(e){Ue(b(e))}}function Et(){Ie||ke(null)}async function Dt(){if(!Oe)return;if(!Pe.trim()){Ue(e(`action.reasonRequired`));return}let t=Oe;Le(!0),Ue(``),Ke(null),ze({done:0,total:Ae.length});let n=0,r=0,i=0,a=[];for(let e of Ae){let o=t==="default"?e.title:e.title||`#${e.source_gift_id}`;try{let i=t==="default"?await x.importDefaultGift({command_id:`bulk-default-gift-${e.id}`,reason:Pe.trim(),confirm:!0,id:e.id,enabled:Me}):await x.importOfficialGift({command_id:`bulk-official-gift-${e.source_gift_id}`,reason:Pe.trim(),confirm:!0,source_gift_id:e.source_gift_id,include_collectible:e.can_upgrade,enabled:Me});i.already_executed||i.details?.skipped?r++:n++}catch(e){e instanceof v&&e.message===`COMMAND_ID_CONFLICT`?r++:(i++,a.push(`${o}: ${b(e)}`))}ze(e=>({...e,done:e.done+1}))}Le(!1),Ke({imported:n,skipped:r,failed:i,errors:a}),await st()}async function Ot(){Ce(!0),De(``),U(null);try{U(d==="default"?await x.importDefaultGift(St(!1)):d===`official`?await x.importOfficialGift(Ct(!1)):await x.importGift(xt(!1)))}catch(e){De(b(e))}finally{Ce(!1)}}async function kt(){if(V){Ce(!0),De(``);try{d==="default"?await x.importDefaultGift(St(!0,V.command_id)):d===`official`?await x.importOfficialGift(Ct(!0,V.command_id)):await x.importGift(xt(!0,V.command_id)),U(null),u(null),ae(`0`),se(``),_(0),O(``),await st(),o(!1)}catch(e){De(b(e))}finally{Ce(!1)}}}function At(){ae(`0`),se(``),le(`50`),z(`50`),he(`0`),ve(!0),be(``),u(null),U(null),De(``),f(`official`),_(0),O(``),w(``),E(`all`),Le(!1),ze({done:0,total:0}),Ue(``),o(!0)}function It(e){ae(e.GiftID),se(e.Title),le(String(e.Stars)),z(String(e.ConvertStars)),he(String(e.SortOrder)),ve(e.Enabled),be(``),u(null),U(null),De(``),f(`file`),_(0),O(``),o(!0)}let Lt=d==="default"?h>0:d===`official`?!!D:!!l;return(0,W.jsxs)(Ve,{title:e(`gifts.pageTitle`),eyebrow:e(`gifts.eyebrow`),actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>st(),disabled:Se,children:[(0,W.jsx)(pe,{size:15}),` `,e(`common.refresh`)]}),(0,W.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:At,children:[(0,W.jsx)(fe,{size:15}),` `,e(`gifts.add`)]})]}),children:[we&&(0,W.jsx)(Ge,{children:we}),(0,W.jsxs)(`div`,{className:`metric-row gift-metrics`,children:[(0,W.jsx)(J,{label:e(`gifts.total`),value:String(t.length)}),(0,W.jsx)(J,{label:e(`gifts.enabled`),value:String(t.filter(e=>e.Enabled).length),tone:`good`}),(0,W.jsx)(J,{label:e(`gifts.received`),value:t.reduce((e,t)=>e+BigInt(t.ReceivedCount),0n).toString()}),(0,W.jsx)(J,{label:e(`gifts.formats`),value:`TGS / Lottie`})]}),(0,W.jsx)(He,{children:(0,W.jsxs)(`div`,{className:`toolbar`,children:[(0,W.jsxs)(`label`,{className:`searchbox`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:r,onChange:e=>i(e.target.value),placeholder:e(`gifts.searchPlaceholder`)})]}),(0,W.jsxs)(`label`,{className:`gift-page-size`,children:[(0,W.jsx)(`span`,{children:e(`gifts.perPage`)}),(0,W.jsxs)(`select`,{value:String(rt),onChange:e=>it(e.target.value===`all`?`all`:Number(e.target.value)),children:[(0,W.jsx)(`option`,{value:`10`,children:`10`}),(0,W.jsx)(`option`,{value:`20`,children:`20`}),(0,W.jsx)(`option`,{value:`50`,children:`50`}),(0,W.jsx)(`option`,{value:`100`,children:`100`}),(0,W.jsx)(`option`,{value:`all`,children:e(`gifts.perPageAll`)})]})]}),(0,W.jsx)(`span`,{className:`gift-list-summary`,children:e(`gifts.listSummary`,{shown:dt.length,total:t.length})})]})}),Y.size>0&&(0,W.jsxs)(`div`,{className:`gift-bulk-toolbar`,children:[(0,W.jsx)(`span`,{className:`gift-bulk-count`,children:e(`gifts.bulkSelected`,{count:Y.size})}),(0,W.jsxs)(`label`,{className:`gift-reason-field gift-bulk-reason`,children:[(0,W.jsx)(`span`,{children:e(`gifts.reason`)}),(0,W.jsx)(`input`,{value:Ye,placeholder:e(`gifts.reasonPlaceholder`),onChange:e=>Xe(e.target.value)})]}),(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>bt(!0),disabled:Ze,children:[Ze?(0,W.jsx)(A,{className:`spin`,size:14}):(0,W.jsx)(k,{size:14}),` `,e(`gifts.bulkEnable`)]}),(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>bt(!1),disabled:Ze,children:[Ze?(0,W.jsx)(A,{className:`spin`,size:14}):(0,W.jsx)(de,{size:14}),` `,e(`gifts.bulkDisable`)]}),(0,W.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>{qe(new Set),nt(``)},disabled:Ze,children:e(`common.close`)}),tt&&(0,W.jsx)(`span`,{className:`gift-bulk-error`,children:tt})]}),(0,W.jsx)(`div`,{className:`table-wrap gift-table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table gift-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{className:`gift-select-col`,children:(0,W.jsx)(`input`,{type:`checkbox`,checked:_t,onChange:yt,"aria-label":e(`gifts.bulkSelectAll`)})}),(0,W.jsx)(`th`,{children:e(`gifts.animation`)}),(0,W.jsx)(`th`,{children:e(`gifts.idRevision`)}),(0,W.jsx)(`th`,{children:e(`gifts.title`)}),(0,W.jsx)(`th`,{children:e(`gifts.price`)}),(0,W.jsx)(`th`,{children:e(`gifts.source`)}),(0,W.jsx)(`th`,{children:e(`gifts.received`)}),(0,W.jsx)(`th`,{children:e(`common.status`)}),(0,W.jsx)(`th`,{children:e(`common.updatedAt`)}),(0,W.jsx)(`th`,{children:e(`common.actions`)})]})}),(0,W.jsxs)(`tbody`,{children:[mt.map(t=>(0,W.jsxs)(`tr`,{className:t.Enabled?``:`gift-row-disabled`,children:[(0,W.jsx)(`td`,{className:`gift-select-col`,children:(0,W.jsx)(`input`,{type:`checkbox`,checked:Y.has(t.GiftID),onChange:()=>vt(t.GiftID),"aria-label":e(`gifts.bulkSelectOne`,{id:t.GiftID})})}),(0,W.jsx)(`td`,{children:(0,W.jsx)(Pt,{giftID:t.GiftID,revision:t.Revision,compact:!0})}),(0,W.jsxs)(`td`,{className:`mono`,children:[t.GiftID,` / `,t.Revision]}),(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`strong`,{className:`gift-table-title`,children:t.Title||`Gift #${t.GiftID}`}),(0,W.jsxs)(`span`,{className:`gift-sort-order`,children:[e(`gifts.sortOrder`),`: `,t.SortOrder]})]}),(0,W.jsxs)(`td`,{children:[(0,W.jsxs)(`strong`,{className:`gift-table-price`,children:[`⭐ `,t.Stars]}),(0,W.jsxs)(`span`,{className:`gift-convert-price`,children:[`→ `,t.ConvertStars]})]}),(0,W.jsxs)(`td`,{children:[(0,W.jsx)(q,{children:t.SourceFormat}),(0,W.jsx)(`span`,{className:`gift-source-size`,children:Nt(t.AnimationSize)})]}),(0,W.jsx)(`td`,{children:t.ReceivedCount}),(0,W.jsx)(`td`,{children:(0,W.jsx)(q,{tone:t.Enabled?`good`:`neutral`,children:t.Enabled?e(`common.enabled`):e(`common.disabled`)})}),(0,W.jsx)(`td`,{children:Re(t.UpdatedAt)}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`div`,{className:`gift-table-actions`,children:[(0,W.jsxs)(`button`,{className:`btn compact-btn collectible-button`,type:`button`,onClick:()=>c(t),children:[(0,W.jsx)(ie,{size:13}),e(`collectibles.manage`)]}),(0,W.jsx)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>It(t),children:e(`gifts.replace`)}),(0,W.jsx)($e,{compact:!0,tone:`neutral`,label:t.Enabled?e(`gifts.disable`):e(`gifts.enable`),path:`/api/actions/set-gift-enabled`,payload:()=>({gift_id:t.GiftID,enabled:!t.Enabled}),onDone:()=>void st()})]})})]},t.GiftID)),mt.length===0&&(0,W.jsx)(Je,{colSpan:10})]})]})}),rt!==`all`&&dt.length>0&&(0,W.jsxs)(`div`,{className:`gift-pager`,children:[(0,W.jsx)(`span`,{className:`gift-pager-range`,children:e(`gifts.pageRange`,{start:ht,end:gt,total:dt.length})}),(0,W.jsxs)(`div`,{className:`gift-pager-controls`,children:[(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>ot(e=>Math.max(1,e-1)),disabled:pt<=1,children:[(0,W.jsx)(I,{size:14}),` `,e(`gifts.pagePrev`)]}),(0,W.jsx)(`span`,{className:`gift-pager-page`,children:e(`gifts.pageOf`,{page:pt,total:ft})}),(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>ot(e=>Math.min(ft,e+1)),disabled:pt>=ft,children:[e(`gifts.pageNext`),` `,(0,W.jsx)(L,{size:14})]})]})]}),a&&(0,Qe.createPortal)((0,W.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,W.jsxs)(`section`,{className:`modal command-modal gift-import-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":re===`0`?e(`gifts.importTitle`):e(`gifts.newRevision`,{id:re}),children:[(0,W.jsxs)(`div`,{className:`modal-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:e(`gifts.importEyebrow`)}),(0,W.jsx)(`h2`,{children:re===`0`?e(`gifts.importTitle`):e(`gifts.newRevision`,{id:re})})]}),(0,W.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:()=>o(!1),disabled:Se,"aria-label":e(`action.close`),children:(0,W.jsx)(xe,{size:15})})]}),(0,W.jsxs)(`div`,{className:`command-body gift-import-modal-body`,children:[(0,W.jsxs)(`div`,{className:`command-steps`,children:[(0,W.jsxs)(`div`,{className:`command-step ${Lt?`done`:`active`}`,children:[(0,W.jsx)(`span`,{children:`1`}),(0,W.jsx)(`strong`,{children:e(`gifts.stepDetails`)})]}),(0,W.jsxs)(`div`,{className:`command-step ${V?`done`:Lt?`active`:``}`,children:[(0,W.jsx)(`span`,{children:`2`}),(0,W.jsx)(`strong`,{children:e(`gifts.stepValidate`)})]}),(0,W.jsxs)(`div`,{className:`command-step ${V?`active`:``}`,children:[(0,W.jsx)(`span`,{children:`3`}),(0,W.jsx)(`strong`,{children:e(`gifts.stepImport`)})]})]}),re===`0`&&(0,W.jsxs)(`div`,{className:`gift-source-tabs`,children:[X,(0,W.jsx)(`button`,{className:`btn ${d===`official`?`primary`:``}`,type:`button`,onClick:()=>{f(`official`),U(null)},children:e(`gifts.officialSource`)}),(0,W.jsx)(`button`,{className:`btn ${d===`file`?`primary`:``}`,type:`button`,onClick:()=>{f(`file`),U(null)},children:e(`gifts.fileSource`)})]}),d===`official`&&re===`0`?(0,W.jsxs)(`section`,{className:`official-gift-picker`,children:[(0,W.jsxs)(`div`,{className:`gift-import-note`,children:[(0,W.jsx)(`span`,{children:e(`gifts.officialHint`)}),(0,W.jsxs)(`div`,{className:`gift-format-chips`,children:[(0,W.jsx)(`span`,{children:y.length}),(0,W.jsx)(`span`,{children:`SHA-256`})]})]}),(0,W.jsx)(`div`,{className:`official-gift-bulk-import`,children:(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>Tt(`official`),children:[(0,W.jsx)(H,{size:14}),` `,e(`gifts.importAllOfficial`)]})}),(0,W.jsxs)(`div`,{className:`official-gift-tools`,children:[(0,W.jsxs)(`label`,{className:`searchbox`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:C,onChange:e=>w(e.target.value),placeholder:e(`gifts.officialSearch`)})]}),(0,W.jsx)(`span`,{children:e(`gifts.officialResults`,{shown:ut.length,total:y.length})})]}),(0,W.jsx)(`div`,{className:`official-gift-categories`,role:`group`,"aria-label":e(`gifts.officialCategoryLabel`),children:[`all`,`upgrade`,`craft`,`basic`].map(t=>(0,W.jsxs)(`button`,{className:T===t?`active`:``,type:`button`,"aria-pressed":T===t,onClick:()=>E(t),children:[e(`gifts.officialCategory.${t}`),(0,W.jsx)(`span`,{children:lt[t]})]},t))}),(0,W.jsxs)(`div`,{className:`official-gift-list`,role:`listbox`,"aria-label":e(`gifts.officialSelect`),children:[ut.map(t=>{let n=t.source_gift_id===D;return(0,W.jsxs)(`button`,{className:`official-gift-option ${n?`selected`:``}`,type:`button`,role:`option`,"aria-selected":n,onClick:()=>wt(t),children:[(0,W.jsxs)(`span`,{className:`official-gift-option-head`,children:[(0,W.jsx)(`strong`,{children:t.title||e(`gifts.officialUnnamed`,{id:t.source_gift_id})}),(0,W.jsxs)(`span`,{className:`mono`,children:[`#`,t.source_gift_id]})]}),(0,W.jsxs)(`span`,{className:`official-gift-option-meta`,children:[(0,W.jsxs)(`span`,{children:[`⭐ `,t.stars]}),(0,W.jsx)(`span`,{children:e(`gifts.officialAttributes`,{count:Mt(t)})})]}),(0,W.jsxs)(`span`,{className:`official-gift-capabilities`,children:[(0,W.jsx)(`span`,{className:t.can_upgrade?`yes`:`no`,children:t.can_upgrade?e(`gifts.canUpgrade`):e(`gifts.cannotUpgrade`)}),(0,W.jsx)(`span`,{className:t.can_craft?`craft`:`no`,children:t.can_craft?e(`gifts.canCraft`):e(`gifts.cannotCraft`)})]})]},t.source_gift_id)}),ut.length===0&&(0,W.jsx)(`div`,{className:`official-gift-empty`,children:e(`gifts.officialEmpty`)})]}),ct&&(0,W.jsxs)(`div`,{className:`official-gift-selected`,children:[(0,W.jsx)(Ft,{sourceGiftID:ct.source_gift_id}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:ct.title||e(`gifts.officialUnnamed`,{id:ct.source_gift_id})}),(0,W.jsx)(`span`,{className:`mono`,children:ct.source_gift_id}),(0,W.jsxs)(`small`,{children:[ct.model_count,` `,e(`collectibles.models`),` · `,ct.pattern_count,` `,e(`collectibles.patterns`),` · `,ct.backdrop_count,` `,e(`collectibles.backdrops`)]}),(0,W.jsxs)(`span`,{className:`official-gift-capabilities`,children:[(0,W.jsx)(`span`,{className:ct.can_upgrade?`yes`:`no`,children:ct.can_upgrade?e(`gifts.canUpgrade`):e(`gifts.cannotUpgrade`)}),(0,W.jsx)(`span`,{className:ct.can_craft?`craft`:`no`,children:ct.can_craft?e(`gifts.canCraft`):e(`gifts.cannotCraft`)})]})]})]}),ct?.can_upgrade&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{className:`gift-switch`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:j,onChange:e=>{M(e.target.checked),U(null)}}),(0,W.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,W.jsx)(`span`,{})}),(0,W.jsx)(`span`,{children:e(`gifts.includeCollectible`)})]}),j&&(0,W.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`collectibles.upgradeStars`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,value:N,onChange:e=>{P(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`collectibles.supply`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,value:F,onChange:e=>{ee(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`collectibles.slug`)}),(0,W.jsx)(`input`,{value:R,maxLength:48,onChange:e=>{te(e.target.value.toLowerCase()),U(null)}})]})]})]}),(0,W.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.title`)}),(0,W.jsx)(`input`,{value:oe,maxLength:128,placeholder:e(`gifts.titlePlaceholder`),onChange:e=>{se(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.stars`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,value:ce,onChange:e=>{le(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.convertStars`)}),(0,W.jsx)(`input`,{type:`number`,min:`0`,value:ue,onChange:e=>{z(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.sortOrder`)}),(0,W.jsx)(`input`,{type:`number`,value:B,onChange:e=>{he(e.target.value),U(null)}})]})]}),(0,W.jsxs)(`label`,{className:`gift-switch`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:_e,onChange:e=>{ve(e.target.checked),U(null)}}),(0,W.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,W.jsx)(`span`,{})}),(0,W.jsx)(`span`,{children:e(`gifts.enableAfterImport`)})]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`gift-import-note`,children:[(0,W.jsx)(`span`,{children:e(`gifts.importHint`)}),(0,W.jsxs)(`div`,{className:`gift-format-chips`,"aria-label":e(`gifts.formats`),children:[(0,W.jsx)(`span`,{children:`TGS`}),(0,W.jsx)(`span`,{children:`Lottie JSON`})]})]}),(0,W.jsxs)(`label`,{className:`gift-file-picker ${l?`has-file`:``}`,children:[(0,W.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.lottie,application/json,application/x-tgsticker`,onChange:e=>{u(e.target.files?.[0]??null),U(null)}}),(0,W.jsx)(`span`,{className:`gift-file-icon`,children:(0,W.jsx)(ne,{size:22})}),(0,W.jsxs)(`span`,{className:`gift-file-copy`,children:[(0,W.jsx)(`span`,{className:`gift-field-label`,children:e(`gifts.animation`)}),(0,W.jsx)(`strong`,{children:l?l.name:e(`gifts.filePrompt`)}),(0,W.jsx)(`small`,{children:l?Nt(l.size):e(`gifts.fileHint`)})]}),(0,W.jsx)(`span`,{className:`gift-file-action`,children:e(l?`gifts.changeFile`:`gifts.chooseFile`)})]}),(0,W.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.title`)}),(0,W.jsx)(`input`,{value:oe,maxLength:128,placeholder:e(`gifts.titlePlaceholder`),onChange:e=>{se(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.stars`)}),(0,W.jsx)(`input`,{type:`number`,min:`1`,value:ce,onChange:e=>{le(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.convertStars`)}),(0,W.jsx)(`input`,{type:`number`,min:`0`,value:ue,onChange:e=>{z(e.target.value),U(null)}})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:e(`gifts.sortOrder`)}),(0,W.jsx)(`input`,{type:`number`,value:B,onChange:e=>{he(e.target.value),U(null)}})]})]}),(0,W.jsxs)(`label`,{className:`gift-switch`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:_e,onChange:e=>{ve(e.target.checked),U(null)}}),(0,W.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,W.jsx)(`span`,{})}),(0,W.jsx)(`span`,{children:e(`gifts.enableAfterImport`)})]})]}),(0,W.jsxs)(`label`,{className:`gift-reason-field`,children:[(0,W.jsx)(`span`,{children:e(`gifts.reason`)}),(0,W.jsx)(`input`,{value:ye,placeholder:e(`gifts.reasonPlaceholder`),onChange:e=>be(e.target.value)})]}),Ee&&(0,W.jsx)(Ge,{children:Ee}),V&&(0,W.jsxs)(`div`,{className:`gift-validation`,children:[(0,W.jsxs)(`div`,{className:`gift-validation-head`,children:[(0,W.jsx)(k,{size:17}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:e(`gifts.validationReady`)}),(0,W.jsx)(`span`,{children:e(`gifts.validationHint`)})]})]}),(0,W.jsx)(`pre`,{children:JSON.stringify(V.details,null,2)})]})]}),(0,W.jsxs)(`div`,{className:`modal-actions`,children:[(0,W.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>o(!1),disabled:Se,children:e(`common.close`)}),(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:Ot,disabled:Se,children:[Se?(0,W.jsx)(A,{className:`spin`,size:15}):(0,W.jsx)(ge,{size:15}),e(`gifts.validate`)]}),(0,W.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:kt,disabled:Se||!V,children:[(0,W.jsx)(H,{size:15}),e(`gifts.confirmImport`)]})]})]})}),document.body),Oe&&(0,Qe.createPortal)((0,W.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,W.jsxs)(`section`,{className:`modal command-modal gift-bulk-import-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":e(Oe==="default"?`gifts.importAllDefault`:`gifts.importAllOfficial`),children:[(0,W.jsxs)(`div`,{className:`modal-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:e(`gifts.importEyebrow`)}),(0,W.jsx)(`h2`,{children:e(Oe==="default"?`gifts.importAllDefault`:`gifts.importAllOfficial`)})]}),(0,W.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:Et,disabled:Ie,"aria-label":e(`action.close`),children:(0,W.jsx)(xe,{size:15})})]}),(0,W.jsxs)(`div`,{className:`command-body`,children:[(0,W.jsx)(`div`,{className:`gift-import-note`,children:(0,W.jsx)(`span`,{children:e(`gifts.bulkImportCount`,{count:Ae.length})})}),(0,W.jsxs)(`label`,{className:`gift-switch`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:Me,disabled:Ie,onChange:e=>Ne(e.target.checked)}),(0,W.jsx)(`span`,{className:`gift-switch-track`,"aria-hidden":`true`,children:(0,W.jsx)(`span`,{})}),(0,W.jsx)(`span`,{children:e(`gifts.enableAfterImport`)})]}),(0,W.jsxs)(`label`,{className:`gift-reason-field`,children:[(0,W.jsx)(`span`,{children:e(`gifts.reason`)}),(0,W.jsx)(`input`,{value:Pe,placeholder:e(`gifts.reasonPlaceholder`),disabled:Ie,onChange:e=>Fe(e.target.value)})]}),Ie&&(0,W.jsxs)(`div`,{className:`gift-bulk-import-progress`,children:[(0,W.jsx)(`div`,{className:`gift-bulk-import-progress-bar`,children:(0,W.jsx)(`div`,{style:{width:`${K.total?Math.round(K.done/K.total*100):0}%`}})}),(0,W.jsx)(`span`,{children:e(`gifts.importingProgress`,{done:K.done,total:K.total})})]}),Be&&(0,W.jsx)(Ge,{children:Be}),We&&(0,W.jsxs)(`div`,{className:`gift-validation`,children:[(0,W.jsxs)(`div`,{className:`gift-validation-head`,children:[(0,W.jsx)(k,{size:17}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`strong`,{children:e(`gifts.bulkImportDone`)}),(0,W.jsx)(`span`,{children:e(`gifts.bulkImportSummary`,{imported:We.imported,skipped:We.skipped,failed:We.failed})})]})]}),We.errors.length>0&&(0,W.jsx)(`pre`,{children:We.errors.join(` +`)})]})]}),(0,W.jsxs)(`div`,{className:`modal-actions`,children:[(0,W.jsx)(`button`,{className:`btn`,type:`button`,onClick:Et,disabled:Ie,children:e(`common.close`)}),(0,W.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:Dt,disabled:Ie||Ae.length===0,children:[Ie?(0,W.jsx)(A,{className:`spin`,size:15}):(0,W.jsx)(H,{size:15}),` `,e(`gifts.startBulkImport`)]})]})]})}),document.body),s&&(0,W.jsx)(jt,{gift:s,onClose:()=>c(null),onPublished:()=>void st()})]})}function Lt({documentID:e,className:t=``,showError:n=!0}){let r=(0,g.useRef)(null),i=(0,g.useRef)(null),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(null);return(0,g.useEffect)(()=>{let t=!1,n=null;return o(``),c(null),fetch(x.stickerDocumentAnimationURL(e),{credentials:`same-origin`}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error||e.statusText)}if((e.headers.get(`content-type`)??``).includes(`json`)){let n=await e.json();if(t||!r.current)return;i.current?.destroy(),i.current=xt.default.loadAnimation({container:r.current,renderer:`canvas`,loop:!0,autoplay:!0,animationData:n});return}let a=await e.blob();t||(n=URL.createObjectURL(a),c(n))}).catch(e=>{t||o(b(e))}),()=>{t=!0,i.current?.destroy(),i.current=null,n&&URL.revokeObjectURL(n)}},[e]),(0,W.jsxs)(`div`,{className:`sticker-doc-cell ${t}`.trim(),children:[s?(0,W.jsx)(`img`,{className:`sticker-doc-image`,src:s,alt:``}):(0,W.jsx)(`div`,{className:`sticker-doc-canvas`,ref:r}),a&&n&&(0,W.jsx)(`span`,{className:`sticker-doc-error`,children:a})]})}function Rt({kind:e,onClose:t,onCreated:n}){let{t:r}=G(),i=e===`emoji`?`emoji`:`sticker`,[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(null),[p,m]=(0,g.useState)(``),[h,_]=(0,g.useState)(!1),[v,y]=(0,g.useState)(``);async function S(){if(!a.trim()||!s.trim()||!l.trim()||!d){y(r(`stickers.createFieldsRequired`,{noun:i}));return}if(!p.trim()){y(r(`action.reasonRequired`));return}_(!0),y(``);try{let r=new FormData;r.set(`metadata`,JSON.stringify({command_id:``,reason:p.trim(),confirm:!0,title:a.trim(),short_name:s.trim().toLowerCase(),kind:e,emoji:l.trim()})),r.set(`file`,d,d.name),await x.createStickerSet(r),n(),t()}catch(e){y(b(e))}finally{_(!1)}}return(0,Qe.createPortal)((0,W.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,W.jsxs)(`section`,{className:`modal command-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":r(`stickers.createTitle`,{noun:i}),children:[(0,W.jsxs)(`div`,{className:`modal-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:r(`stickers.createEyebrow`)}),(0,W.jsx)(`h2`,{children:r(`stickers.createTitle`,{noun:i})})]}),(0,W.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:t,disabled:h,"aria-label":r(`action.close`),children:(0,W.jsx)(xe,{size:15})})]}),(0,W.jsxs)(`div`,{className:`command-body`,children:[(0,W.jsxs)(`div`,{className:`gift-fields-grid`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`stickers.title`)}),(0,W.jsx)(`input`,{value:a,maxLength:64,onChange:e=>o(e.target.value)})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`stickers.shortName`)}),(0,W.jsx)(`input`,{value:s,maxLength:32,onChange:e=>c(e.target.value),placeholder:r(`stickers.shortNamePlaceholder`)})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`span`,{children:r(`stickers.emoji`)}),(0,W.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:r(`stickers.emojiPlaceholder`)})]})]}),(0,W.jsxs)(`label`,{className:`gift-file-picker ${d?`has-file`:``}`,children:[(0,W.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.webp,application/json,application/x-tgsticker,image/webp`,onChange:e=>f(e.target.files?.[0]??null)}),(0,W.jsxs)(`span`,{className:`gift-file-copy`,children:[(0,W.jsx)(`span`,{className:`gift-field-label`,children:r(`stickers.firstSticker`,{noun:i})}),(0,W.jsx)(`strong`,{children:d?d.name:r(`stickers.filePrompt`)})]}),(0,W.jsx)(`span`,{className:`gift-file-action`,children:r(d?`gifts.changeFile`:`gifts.chooseFile`)})]}),(0,W.jsxs)(`label`,{className:`gift-reason-field`,children:[(0,W.jsx)(`span`,{children:r(`gifts.reason`)}),(0,W.jsx)(`input`,{value:p,placeholder:r(`gifts.reasonPlaceholder`),onChange:e=>m(e.target.value)})]}),v&&(0,W.jsx)(Ge,{children:v})]}),(0,W.jsxs)(`div`,{className:`modal-actions`,children:[(0,W.jsx)(`button`,{className:`btn`,type:`button`,onClick:t,disabled:h,children:r(`common.close`)}),(0,W.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:S,disabled:h,children:[h?(0,W.jsx)(A,{className:`spin`,size:15}):(0,W.jsx)(H,{size:15}),r(`stickers.create`,{noun:i})]})]})]})}),document.body)}var zt=24;function Bt({set:e,onClose:t}){let{t:n}=G(),r=e.Kind===`emoji`?`emoji`:`sticker`,[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(1),u=(0,g.useCallback)(()=>{let t=!1;return s(``),x.stickerSetDocuments(e.ID).then(e=>{t||a(e.document_ids??[])}).catch(e=>{t||s(b(e))}),()=>{t=!0}},[e.ID]);(0,g.useEffect)(()=>(a(null),l(1),u()),[u]);let d=i?.length??0,f=Math.max(1,Math.ceil(d/zt)),p=Math.min(c,f),m=(p-1)*zt,h=i?.slice(m,m+zt)??[],_=h.length===0?0:m+1,v=_===0?0:_+h.length-1;return(0,Qe.createPortal)((0,W.jsx)(`div`,{className:`modal-backdrop`,role:`presentation`,children:(0,W.jsxs)(`section`,{className:`modal command-modal sticker-preview-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":e.Title||`#${e.ID}`,children:[(0,W.jsxs)(`div`,{className:`modal-head`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`eyebrow`,children:n(`stickers.previewEyebrow`)}),(0,W.jsx)(`h2`,{children:e.Title||`#${e.ID}`})]}),(0,W.jsx)(`button`,{className:`icon-btn`,type:`button`,onClick:t,"aria-label":n(`action.close`),children:(0,W.jsx)(xe,{size:15})})]}),(0,W.jsxs)(`div`,{className:`command-body`,children:[(0,W.jsx)(Vt,{setID:e.ID,noun:r,onAdded:u}),o&&(0,W.jsx)(Ge,{children:o}),!o&&i===null&&(0,W.jsxs)(`div`,{className:`loading-line`,children:[(0,W.jsx)(A,{className:`spin`,size:18}),` `,n(`common.loading`)]}),i!==null&&d===0&&!o&&(0,W.jsx)(`div`,{className:`empty-panel`,children:n(`stickers.previewEmpty`)}),h.length>0&&(0,W.jsx)(`div`,{className:`sticker-doc-grid`,children:h.map(t=>(0,W.jsxs)(`div`,{className:`sticker-doc-grid-cell`,children:[(0,W.jsx)(Lt,{documentID:t}),(0,W.jsx)($e,{compact:!0,tone:`danger`,label:n(`stickers.removeSticker`,{noun:r}),icon:(0,W.jsx)(V,{size:12}),path:`/api/actions/remove-sticker-from-set`,payload:()=>({set_id:e.ID,document_id:t}),onDone:u})]},t))},p),d>zt&&(0,W.jsxs)(`div`,{className:`gift-pager`,children:[(0,W.jsx)(`span`,{className:`gift-pager-range`,children:n(`gifts.pageRange`,{start:_,end:v,total:d})}),(0,W.jsxs)(`div`,{className:`gift-pager-controls`,children:[(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>l(e=>Math.max(1,e-1)),disabled:p<=1,children:[(0,W.jsx)(I,{size:14}),` `,n(`gifts.pagePrev`)]}),(0,W.jsx)(`span`,{className:`gift-pager-page`,children:n(`gifts.pageOf`,{page:p,total:f})}),(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>l(e=>Math.min(f,e+1)),disabled:p>=f,children:[n(`gifts.pageNext`),` `,(0,W.jsx)(L,{size:14})]})]})]})]})]})}),document.body)}function Vt({setID:e,noun:t,onAdded:n}){let{t:r}=G(),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(!1),[f,p]=(0,g.useState)(``);async function m(){if(!i){p(r(`stickers.fileRequired`,{noun:t}));return}if(!o.trim()){p(r(`stickers.emojiRequired`));return}if(!c.trim()){p(r(`action.reasonRequired`));return}d(!0),p(``);try{let t=new FormData;t.set(`metadata`,JSON.stringify({command_id:``,reason:c.trim(),confirm:!0,set_id:e,emoji:o.trim()})),t.set(`file`,i,i.name),await x.addStickerToSet(t),a(null),s(``),l(``),n()}catch(e){p(b(e))}finally{d(!1)}}return(0,W.jsxs)(`div`,{className:`sticker-add-form`,children:[(0,W.jsxs)(`label`,{className:`gift-file-picker compact ${i?`has-file`:``}`,children:[(0,W.jsx)(`input`,{type:`file`,accept:`.tgs,.json,.webp,application/json,application/x-tgsticker,image/webp`,onChange:e=>a(e.target.files?.[0]??null)}),(0,W.jsx)(`span`,{className:`gift-file-copy`,children:(0,W.jsx)(`strong`,{children:i?i.name:r(`stickers.filePrompt`)})})]}),(0,W.jsx)(`input`,{className:`small-input`,value:o,onChange:e=>s(e.target.value),placeholder:r(`stickers.emojiPlaceholder`)}),(0,W.jsx)(`input`,{className:`small-input`,value:c,onChange:e=>l(e.target.value),placeholder:r(`action.reasonPlaceholder`)}),(0,W.jsxs)(`button`,{className:`btn primary compact-btn`,type:`button`,onClick:m,disabled:u,children:[u?(0,W.jsx)(A,{className:`spin`,size:14}):(0,W.jsx)(fe,{size:14}),` `,r(`stickers.addSticker`,{noun:t})]}),f&&(0,W.jsx)(`span`,{className:`sticker-add-form-error`,children:f})]})}function Ht({kind:e}){let{t}=G(),[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(10),[f,p]=(0,g.useState)(1),[m,h]=(0,g.useState)({}),[_,v]=(0,g.useState)({}),[y,S]=(0,g.useState)(null),[C,w]=(0,g.useState)(!1),T=e===`emoji`?`stickers.emojiPageTitle`:`stickers.pageTitle`,E=e===`emoji`?`stickers.emojiEyebrow`:`stickers.eyebrow`,D=e===`emoji`?`emoji`:`sticker`;async function O(){s(!0),l(``);try{r((await x.stickerSets(e)).rows??[])}catch(e){l(b(e))}finally{s(!1)}}(0,g.useEffect)(()=>{O()},[e]);let k=(0,g.useMemo)(()=>{let e=i.trim().toLowerCase();return e?n.filter(t=>String(t.ID).includes(e)||t.ShortName.toLowerCase().includes(e)||t.Title.toLowerCase().includes(e)):n},[n,i]);(0,g.useEffect)(()=>{p(1)},[i,u,e]);let A=u===`all`?1:Math.max(1,Math.ceil(k.length/u)),j=Math.min(f,A),M=(0,g.useMemo)(()=>{if(u===`all`)return k;let e=(j-1)*u;return k.slice(e,e+u)},[k,j,u]),N=M.length===0?0:u===`all`?1:(j-1)*u+1,P=N===0?0:N+M.length-1,F=(0,g.useMemo)(()=>({total:n.length,official:n.filter(e=>e.Official).length,archived:n.filter(e=>e.Archived).length}),[n]);return(0,W.jsxs)(Ve,{title:t(T),eyebrow:t(E),actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`button`,{className:`btn`,type:`button`,onClick:()=>O(),disabled:o,children:[(0,W.jsx)(pe,{size:15}),` `,t(`common.refresh`)]}),(0,W.jsxs)(`button`,{className:`btn primary`,type:`button`,onClick:()=>w(!0),children:[(0,W.jsx)(fe,{size:15}),` `,t(`stickers.create`,{noun:D})]})]}),children:[c&&(0,W.jsx)(Ge,{children:c}),(0,W.jsxs)(`div`,{className:`metric-row`,children:[(0,W.jsx)(J,{label:t(`stickers.total`),value:String(F.total)}),(0,W.jsx)(J,{label:t(`stickers.official`),value:String(F.official),tone:`good`}),(0,W.jsx)(J,{label:t(`stickers.archived`),value:String(F.archived),tone:F.archived>0?`warn`:`neutral`})]}),(0,W.jsx)(He,{children:(0,W.jsxs)(`div`,{className:`toolbar`,children:[(0,W.jsxs)(`label`,{className:`searchbox`,children:[(0,W.jsx)(me,{size:15}),(0,W.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:t(`stickers.searchPlaceholder`)})]}),(0,W.jsxs)(`label`,{className:`gift-page-size`,children:[(0,W.jsx)(`span`,{children:t(`gifts.perPage`)}),(0,W.jsxs)(`select`,{value:String(u),onChange:e=>d(e.target.value===`all`?`all`:Number(e.target.value)),children:[(0,W.jsx)(`option`,{value:`10`,children:`10`}),(0,W.jsx)(`option`,{value:`20`,children:`20`}),(0,W.jsx)(`option`,{value:`50`,children:`50`}),(0,W.jsx)(`option`,{value:`100`,children:`100`}),(0,W.jsx)(`option`,{value:`all`,children:t(`gifts.perPageAll`)})]})]}),(0,W.jsx)(`span`,{className:`gift-list-summary`,children:t(`stickers.listSummary`,{shown:k.length,total:n.length})})]})}),(0,W.jsx)(`div`,{className:`table-wrap gift-table-wrap`,children:(0,W.jsxs)(`table`,{className:`data-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:t(`stickers.logo`)}),(0,W.jsx)(`th`,{children:t(`stickers.id`)}),(0,W.jsx)(`th`,{children:t(`stickers.shortName`)}),(0,W.jsx)(`th`,{children:t(`stickers.title`)}),(0,W.jsx)(`th`,{children:t(`stickers.count`)}),(0,W.jsx)(`th`,{children:t(`stickers.official`)}),(0,W.jsx)(`th`,{children:t(`common.status`)}),(0,W.jsx)(`th`,{children:t(`stickers.sortOrder`)}),(0,W.jsx)(`th`,{children:t(`common.actions`)})]})}),(0,W.jsxs)(`tbody`,{children:[M.map(e=>(0,W.jsxs)(`tr`,{className:e.Archived?`gift-row-disabled`:``,children:[(0,W.jsx)(`td`,{children:e.CoverDocumentID?(0,W.jsx)(Lt,{documentID:e.CoverDocumentID,className:`list-thumb`,showError:!1}):(0,W.jsx)(`div`,{className:`sticker-list-thumb-empty`,children:(0,W.jsx)(se,{size:14})})}),(0,W.jsx)(`td`,{className:`mono`,children:e.ID}),(0,W.jsx)(`td`,{className:`mono`,children:e.ShortName||(0,W.jsx)(`span`,{className:`muted-cell`,children:t(`common.none`)})}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`div`,{className:`sort-order-editor`,children:[(0,W.jsx)(`input`,{className:`small-input title-input`,value:_[e.ID]??e.Title,onChange:t=>v(n=>({...n,[e.ID]:t.target.value}))}),(0,W.jsx)($e,{compact:!0,tone:`neutral`,label:t(`stickers.saveTitle`),path:`/api/actions/rename-sticker-set`,payload:()=>({set_id:e.ID,title:(_[e.ID]??e.Title).trim()}),onDone:()=>void O()})]})}),(0,W.jsx)(`td`,{children:e.Count}),(0,W.jsx)(`td`,{children:e.Official?(0,W.jsx)(q,{tone:`good`,children:t(`common.yes`)}):(0,W.jsx)(q,{children:t(`common.no`)})}),(0,W.jsx)(`td`,{children:e.Archived?(0,W.jsx)(q,{tone:`danger`,children:t(`stickers.archived`)}):(0,W.jsx)(q,{tone:`good`,children:t(`common.enabled`)})}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`div`,{className:`sort-order-editor`,children:[(0,W.jsx)(`input`,{type:`number`,className:`small-input`,value:m[e.ID]??String(e.SortOrder),onChange:t=>h(n=>({...n,[e.ID]:t.target.value}))}),(0,W.jsx)($e,{compact:!0,tone:`neutral`,label:t(`stickers.saveOrder`),path:`/api/actions/set-sticker-set-sort-order`,payload:()=>({set_id:e.ID,sort_order:Number(m[e.ID]??e.SortOrder)}),onDone:()=>void O()})]})}),(0,W.jsx)(`td`,{children:(0,W.jsxs)(`div`,{className:`gift-table-actions`,children:[(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>S(e),children:[(0,W.jsx)(te,{size:13}),` `,t(`stickers.view`)]}),(0,W.jsx)($e,{compact:!0,tone:`neutral`,label:e.Archived?t(`stickers.unarchive`):t(`stickers.archive`),path:`/api/actions/set-sticker-set-archived`,payload:()=>({set_id:e.ID,archived:!e.Archived}),onDone:()=>void O()}),(0,W.jsx)($e,{compact:!0,tone:`danger`,label:t(`stickers.delete`),path:`/api/actions/delete-sticker-set`,payload:()=>({set_id:e.ID}),onDone:()=>void O()})]})})]},e.ID)),M.length===0&&(0,W.jsx)(Je,{colSpan:9})]})]})}),u!==`all`&&k.length>0&&(0,W.jsxs)(`div`,{className:`gift-pager`,children:[(0,W.jsx)(`span`,{className:`gift-pager-range`,children:t(`gifts.pageRange`,{start:N,end:P,total:k.length})}),(0,W.jsxs)(`div`,{className:`gift-pager-controls`,children:[(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>p(e=>Math.max(1,e-1)),disabled:j<=1,children:[(0,W.jsx)(I,{size:14}),` `,t(`gifts.pagePrev`)]}),(0,W.jsx)(`span`,{className:`gift-pager-page`,children:t(`gifts.pageOf`,{page:j,total:A})}),(0,W.jsxs)(`button`,{className:`btn compact-btn`,type:`button`,onClick:()=>p(e=>Math.min(A,e+1)),disabled:j>=A,children:[t(`gifts.pageNext`),` `,(0,W.jsx)(L,{size:14})]})]})]}),y&&(0,W.jsx)(Bt,{set:y,onClose:()=>S(null)}),C&&(0,W.jsx)(Rt,{kind:e,onClose:()=>w(!1),onCreated:()=>void O()})]})}function Ut({route:e,navigate:t}){let n=e.path.match(/^\/accounts\/(\d+)$/)?.[1],r=e.path.match(/^\/channels\/(\d+)$/)?.[1];return n?(0,W.jsx)(tt,{id:Number(n),navigate:t}):r?(0,W.jsx)(dt,{id:Number(r),navigate:t}):e.path===`/accounts`?(0,W.jsx)(ut,{navigate:t}):e.path===`/channels`?(0,W.jsx)(ft,{navigate:t}):e.path===`/gifts`?(0,W.jsx)(It,{}):e.path===`/stickers`?(0,W.jsx)(Ht,{kind:`stickers`}):e.path===`/emoji`?(0,W.jsx)(Ht,{kind:`emoji`}):e.path===`/messages/detail`||e.path===`/messages/private/detail`?(0,W.jsx)(yt,{ownerUserID:Number(e.search.get(`owner_user_id`)||`0`),msgID:Number(e.search.get(`msg_id`)||`0`),navigate:t}):e.path===`/messages/groups/detail`?(0,W.jsx)(ht,{channelID:Number(e.search.get(`channel_id`)||`0`),msgID:Number(e.search.get(`msg_id`)||`0`),navigate:t}):e.path===`/messages/groups`?(0,W.jsx)(vt,{navigate:t}):e.path===`/messages`||e.path===`/messages/private`?(0,W.jsx)(bt,{navigate:t}):(0,W.jsx)(pt,{navigate:t})}function Wt(){let[e,t]=(0,g.useState)(void 0),[n,r]=(0,g.useState)(()=>De());(0,g.useEffect)(()=>{let e=()=>r(De());return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[]),(0,g.useEffect)(()=>{x.session().then(e=>t(e.actor)).catch(e=>{if(e instanceof v&&e.status===401){t(null);return}t(null)})},[]);let i=e=>{window.history.pushState(null,``,e),r(De())};return e===void 0?(0,W.jsx)(je,{}):e===null?(0,W.jsx)(Ze,{onLogin:t}):(0,W.jsx)(Me,{actor:e,route:n,navigate:i,onLogout:()=>t(null),children:(0,W.jsx)(Ut,{route:n,navigate:i})})}_.createRoot(document.getElementById(`root`)).render((0,W.jsx)(g.StrictMode,{children:(0,W.jsx)(Te,{children:(0,W.jsx)(Wt,{})})})); \ No newline at end of file diff --git a/cmd/telesrv-admin/web/dist/assets/index-D2rrhA4q.css b/cmd/telesrv-admin/web/dist/assets/index-D2rrhA4q.css deleted file mode 100644 index 6aae8ea1..00000000 --- a/cmd/telesrv-admin/web/dist/assets/index-D2rrhA4q.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-800.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fc;--panel:#fff;--panel-subtle:#f7f9fc;--panel-strong:#f1f5f9;--line:#e2e8f0;--line-strong:#cbd5e1;--text:#0f1720;--muted:#64748b;--muted-2:#94a3b8;--brand:#2563eb;--brand-2:#38bdf8;--grad:linear-gradient(135deg, #38bdf8 0%, #2563eb 55%, #1e40af 100%);--good:#167447;--warn:#a15c07;--danger:#b42318;--sidebar:#08080e;--sidebar-soft:#12121a;--sidebar-line:#222228;--focus:#2563eb29;--shadow:0 28px 70px -36px #05050859}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:var(--bg);margin:0;font:13px/1.45 Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eef2f6;background:var(--sidebar);border-right:1px solid var(--sidebar-line);flex-direction:column;gap:16px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;min-height:42px;padding:0 4px;display:flex}.brand.compact{justify-content:center}.brand-mark{place-items:center;width:34px;height:34px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand strong{font-size:14px;line-height:1.1;display:block}.brand small{color:#aeb8c4;margin-top:3px;font-size:11px;display:block}.sidebar-label{color:#8492a6;text-transform:uppercase;padding:0 8px;font-size:11px;font-weight:700}.nav-list,.nav-section{gap:4px;display:grid}.nav-section-toggle{color:#8fa0b4;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 10px;font-size:12px;font-weight:800;display:grid}.nav-section-toggle:hover,.nav-section.active .nav-section-toggle{color:#fff;background:var(--sidebar-soft);border-color:#34404d}.nav-section-chevron{color:#8fa0b4;justify-self:end;transition:transform .14s}.nav-section.open .nav-section-chevron{transform:rotate(180deg)}.nav-children{gap:4px;padding:2px 0 2px 18px;display:grid}.nav-item{color:#c6d0dc;border:1px solid #0000;border-radius:7px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;min-height:38px;padding:0 10px;display:grid}.nav-dot{background:#687789;border-radius:999px;justify-self:center;width:6px;height:6px}.nav-item:hover,.nav-item.active{color:#fff;background:var(--sidebar-soft);border-color:#34404d}.nav-item.active .nav-dot{background:var(--brand)}.sidebar-status{gap:7px;margin-top:auto;display:grid}.runtime-row{color:#cbd5df;background:#171d25;border:1px solid #27313c;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:32px;padding:0 8px;display:grid}.runtime-row strong{color:#fff;font-size:11px}.workspace{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:12px 24px;display:flex;position:sticky;top:0}.topbar h1{margin:2px 0 0;font-size:20px;line-height:1.2}.topbar-actions,.page-actions,.section-action,.entity-badges,.row-actions,.modal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actor-pill{color:#344054;background:var(--panel-subtle);border:1px solid var(--line);border-radius:999px;align-items:center;min-height:30px;padding:0 10px;display:inline-flex}.content{gap:16px;padding:18px 24px 30px;display:grid}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.dashboard-layout,.stacked-sections{gap:14px;display:grid}.overview-band,.page-frame{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}.overview-band{grid-template-columns:minmax(220px,1fr) minmax(420px,.9fr);align-items:center;gap:16px;padding:16px;display:grid}.overview-band h2,.page-title-row h2,.section-head h2,.modal h2{margin:0;font-size:18px;line-height:1.25}.overview-metrics,.metric-row{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;display:grid}.overview-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}.status-item,.metric,.summary-item{background:var(--panel-subtle);border:1px solid var(--line);border-radius:7px;min-width:0;padding:10px}.status-item span,.metric span,.summary-item span{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.status-item strong,.metric strong,.summary-item strong{overflow-wrap:anywhere;color:var(--text);font-weight:800;display:block}.status-item.good,.metric.good{border-color:#afd8bf}.status-item.warn,.metric.warn{border-color:#e7c77e}.metric.danger{border-color:#efb4ad}.command-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;display:grid}.launcher{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:94px;padding:14px;display:grid}.launcher:hover{border-color:var(--brand)}.launcher-icon{width:38px;height:38px;color:var(--brand);background:#eaf2fd;border:1px solid #c7dcf9;border-radius:8px;place-items:center;display:grid}.launcher-copy{gap:4px;display:grid}.launcher-copy strong{font-size:15px}.launcher-copy span{color:var(--muted)}.work-strip{grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;display:grid}.strip-item{color:#344054;background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex}.page-frame{gap:14px;padding:14px;display:grid}.page-title-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.query-panel{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;padding:10px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.message-query input{width:150px}.message-selector-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px;margin-bottom:10px;display:grid}.message-selector-grid.single{grid-template-columns:minmax(320px,620px)}.entity-picker{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.picker-head{color:#344054;justify-content:space-between;align-items:center;gap:8px;min-height:24px;font-weight:800;display:flex}.selected-entity{color:#1e3a8a;background:#eaf2fe;border:1px solid #c3d9f7;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:7px 9px;display:grid}.selected-entity strong,.selected-entity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-entity div{gap:2px;min-width:0;display:grid}.selected-entity div span{color:#52606d;font-size:11px}.picker-search{background:var(--panel-subtle);border:1px solid var(--line-strong);border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;height:34px;padding:0 6px 0 9px;display:grid}.picker-search input{width:100%;height:30px;box-shadow:none;background:0 0;border:0;padding:0}.picker-results{border:1px solid var(--line);border-radius:7px;max-height:236px;display:grid;overflow:auto}.picker-row{min-height:36px;color:var(--text);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;grid-template-columns:96px minmax(120px,1fr) minmax(120px,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.picker-row:last-child{border-bottom:0}.picker-row:hover,.picker-row.selected{background:#eef4ff}.picker-row strong,.picker-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.picker-empty,.picker-error{color:var(--muted);text-align:center;padding:9px}.picker-error{color:var(--danger);background:#fff2f0;border:1px solid #efb4ad;border-radius:7px}input,textarea{color:var(--text);border:1px solid var(--line-strong);background:#fff;border-radius:7px;outline:none}input{width:190px;height:34px;padding:0 10px}textarea{resize:vertical;width:100%;padding:9px 10px}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus)}.small-input{width:88px}.sort-order-editor{align-items:center;gap:6px;display:flex}.sort-order-editor .small-input{width:64px;height:32px}.sort-order-editor .title-input{width:160px}.field-inline{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.field-inline span{font-size:11px;font-weight:700}.searchbox{border:1px solid var(--line-strong);background:#fff;border-radius:7px;align-items:center;gap:8px;width:min(380px,100%);height:34px;padding:0 10px;display:inline-flex}.searchbox input{width:100%;height:30px;box-shadow:none;border:0;padding:0}.btn{color:#1d2939;border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){background:#f7f9fb}.btn:disabled{color:var(--muted-2);cursor:not-allowed}.btn.primary{color:#fff;background:var(--brand);border-color:var(--brand)}.btn.primary:hover:not(:disabled){background:#1d4ed8}.btn.ghost{background:var(--panel-subtle)}.btn.danger{color:var(--danger);background:#fff7f5;border-color:#efb4ad}.btn.danger:hover:not(:disabled){background:#ffeceb}.btn.warn{color:var(--warn);background:#fff8ec;border-color:#e7c77e}.btn.warn:hover:not(:disabled){background:#fff1d6}.btn:disabled,.btn.primary:disabled,.btn.warn:disabled,.btn.danger:disabled{color:var(--muted-2);border-color:var(--line);cursor:not-allowed;background:#f3f5f7}.btn.full{width:100%}.icon-text{gap:7px}.compact-btn{min-height:28px;padding:0 8px;font-size:12px}.row-link,.link-button{color:var(--brand-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table-wrap{border:1px solid var(--line);border-radius:8px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;height:38px;padding:7px 9px}.data-table th{z-index:0;color:#475467;background:var(--panel-strong);font-weight:800;position:sticky;top:0}.data-table tbody tr:hover{background:#fbfcfd}.data-table tr:last-child td{border-bottom:0}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.truncate{text-overflow:ellipsis;max-width:380px;overflow:hidden}.badge{color:#4f5b68;white-space:nowrap;background:#f3f6f8;border:1px solid #d7e0e8;border-radius:999px;align-items:center;min-height:22px;padding:1px 8px;display:inline-flex}.badge.good{color:var(--good);background:#eef8f2;border-color:#b9dcc7}.badge.danger{color:var(--danger);background:#fff2f0;border-color:#efb4ad}.badge.warn{color:var(--warn);background:#fff8e7;border-color:#e7c77e}.empty-cell{color:var(--muted);text-align:center}.split-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:14px;display:grid}.split-main,.split-side{min-width:0}.entity-head{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;display:flex}.entity-title{font-size:20px;font-weight:800;line-height:1.25}.entity-subtitle{color:var(--muted);margin-top:4px}.summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;display:grid}.about-text{color:#344054;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;margin:0;padding:10px}.section-block,.action-dock,.surface{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:12px}.section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.section-head p{color:var(--muted);margin:5px 0 0}.action-dock{gap:10px;display:grid;position:sticky;top:82px}.dock-title{color:#344054;border-bottom:1px solid var(--line);padding-bottom:4px;font-weight:800}.action-dock>.btn,.action-dock .action-stack .btn{justify-content:center;width:100%}.duration-field{gap:4px;display:grid}.duration-field span{color:var(--muted);font-size:11px;font-weight:800}.duration-field input{width:100%}.action-stack{gap:10px;display:grid}.action-stack .btn,.action-dock>.btn{min-height:42px}.danger-zone{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.authorization-block{gap:10px;display:grid}.authorization-table{table-layout:fixed;min-width:720px}.authorization-table th,.authorization-table td{height:46px}.device-text{text-overflow:ellipsis;max-width:260px;overflow:hidden}.device-actions-head{width:190px}.device-actions-cell{width:190px;min-width:190px}.device-actions{white-space:normal;grid-template-columns:repeat(2,minmax(82px,1fr));gap:6px;min-width:178px;display:grid}.device-actions .btn{justify-content:center;width:100%}.operation-row{grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px;display:grid}.operation-box{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.operation-title{align-items:center;gap:6px;width:100%;font-weight:800;display:flex}.checkline{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.checkline input{width:auto;height:auto}.alert{color:#8a251d;background:#fff2f0;border:1px solid #efb4ad;border-radius:8px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.json-block{color:#d8e6f0;background:#141a22;border:1px solid #2a3542;border-radius:8px;max-height:520px;margin:0;padding:12px;font-size:12px;overflow:auto}.raw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.loading-line{min-height:80px;color:var(--muted);place-items:center;display:grid}.empty-panel{min-height:92px;color:var(--muted);background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;place-items:center;display:grid}.gift-metrics .metric{background:linear-gradient(145deg,#fff,#f6f9f9);min-height:68px;padding:12px}.gift-metrics .metric strong{font-size:17px}.gift-file-icon{color:var(--brand);background:#eaf2fd;border:1px solid #c7dcf9;flex:none;place-items:center;display:grid}.gift-format-chips{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.gift-format-chips span{color:#1e40af;letter-spacing:.02em;background:#eaf2fe;border:1px solid #cbdcf7;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.gift-list-summary{color:var(--muted);margin-left:auto;font-size:11px;font-weight:700}.gift-import-modal{width:min(860px,100%)}.gift-import-modal-body{gap:14px}.gift-source-tabs{gap:8px;display:flex}.official-gift-picker{gap:12px;min-width:0;display:grid}.official-gift-tools{align-items:center;gap:12px;display:flex}.official-gift-tools .searchbox{width:100%}.official-gift-tools>span{color:var(--muted);flex:none;font-size:11px;font-weight:750}.official-gift-categories{flex-wrap:wrap;gap:7px;display:flex}.official-gift-categories button{color:#3f5a78;min-height:32px;font:inherit;cursor:pointer;background:#f5f8fd;border:1px solid #d7e2f4;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;font-weight:800;transition:color .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.official-gift-categories button:hover{color:var(--brand);border-color:#9dc3f5}.official-gift-categories button.active{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 4px 12px #2563eb2b}.official-gift-categories button span{min-width:20px;height:20px;color:inherit;background:#ffffffa6;border-radius:999px;place-items:center;padding:0 5px;font-size:10px;display:grid}.official-gift-categories button.active span{color:var(--brand)}.official-gift-list{border:1px solid var(--line);scrollbar-gutter:stable;background:#f5f8fd;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:126px;max-height:314px;padding:8px;display:grid;overflow:auto}.official-gift-option{text-align:left;min-width:0;color:var(--text);cursor:pointer;background:#fff;border:1px solid #dbe6f7;border-radius:11px;gap:8px;padding:11px 12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px 2px #1e295208}.official-gift-option:hover{border-color:#9dc3f5;transform:translateY(-1px);box-shadow:0 5px 14px #1e40af14}.official-gift-option.selected{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb1f,0 5px 14px #1e40af14}.official-gift-option-head{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;display:grid}.official-gift-option-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.official-gift-option-head .mono{color:var(--muted);font-size:9px}.official-gift-option-meta{color:#5b6b85;flex-wrap:wrap;gap:10px;font-size:10px;font-weight:700;display:flex}.official-gift-capabilities{flex-wrap:wrap;gap:5px;display:flex}.official-gift-capabilities>span{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:850}.official-gift-capabilities>span.yes{color:#136b4d;background:#e9f8f0;border-color:#bde6cf}.official-gift-capabilities>span.craft{color:#6e3ca0;background:#f3ebfb;border-color:#d9c5ef}.official-gift-capabilities>span.no{color:#78837f;background:#f1f3f2;border-color:#dde2e0}.official-gift-empty{min-height:108px;color:var(--muted);text-align:center;grid-column:1/-1;place-items:center;padding:20px;font-size:12px;display:grid}.official-gift-selected{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.official-gift-selected .gift-animation-shell{border-radius:12px;width:96px;height:96px;min-height:96px;overflow:hidden}.official-gift-selected .gift-animation{width:96px;height:96px}.official-gift-selected>div:last-child{gap:5px;min-width:0;display:grid}.official-gift-selected small{color:var(--muted)}.gift-import-note{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;line-height:1.45;display:flex}.gift-file-picker{min-height:78px;color:var(--text);cursor:pointer;background:#fff;border:1px dashed #b7c9e8;border-radius:10px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.gift-file-picker:hover,.gift-file-picker.has-file{border-color:var(--brand);background:#f5f9ff;box-shadow:0 0 0 2px #2563eb0d}.gift-file-picker.compact{grid-template-columns:minmax(0,1fr);min-height:44px;padding:8px 12px}.gift-file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gift-file-icon{border-radius:9px;width:40px;height:40px}.gift-file-copy{gap:2px;min-width:0;display:grid}.gift-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.gift-file-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gift-file-copy small{color:var(--muted);font-size:11px;font-weight:500}.gift-file-action{color:var(--brand);background:#eef4ff;border:1px solid #c7dcf9;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:800}.gift-fields-grid{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(120px,1fr));gap:10px;display:grid}.gift-fields-grid label,.gift-reason-field{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.gift-fields-grid input,.gift-reason-field input{width:100%;min-width:0;height:38px;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 10px}.gift-fields-grid input:focus,.gift-reason-field input:focus{border-color:#7bb4f0;outline:none;box-shadow:0 0 0 3px #2563eb14}.gift-switch{color:#344054;cursor:pointer;align-items:center;gap:9px;font-size:12px;font-weight:700;display:inline-flex}.gift-switch input{opacity:0;width:1px;height:1px;position:absolute}.gift-switch-track{background:#c8d0d5;border-radius:999px;align-items:center;width:34px;height:19px;padding:2px;transition:background .16s;display:flex}.gift-switch-track span{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .16s;box-shadow:0 1px 3px #10182838}.gift-switch input:checked+.gift-switch-track{background:var(--brand)}.gift-switch input:checked+.gift-switch-track span{transform:translate(15px)}.gift-switch input:focus-visible+.gift-switch-track{outline-offset:2px;outline:3px solid #2563eb29}.gift-validation{color:#d5fff5;background:#173631;border:1px solid #24564e;border-radius:9px;overflow:hidden}.gift-validation-head{color:#e3fff9;background:#ffffff09;border-bottom:1px solid #ffffff17;align-items:center;gap:9px;padding:10px 12px;display:flex}.gift-validation-head div{gap:2px;display:grid}.gift-validation-head span{color:#99cfc4;font-size:10px}.gift-validation pre{color:#d5fff5;max-height:180px;margin:0;padding:11px 12px;font-size:11px;overflow:auto}.sticker-preview-modal{width:min(760px,100%)}.sticker-doc-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:420px;padding:2px;display:grid;overflow:auto}.sticker-doc-cell{aspect-ratio:1;background:var(--panel-strong);border:1px solid var(--line);border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.sticker-doc-canvas{width:100%;height:100%}.sticker-doc-canvas canvas{width:100%!important;height:100%!important}.sticker-doc-image{object-fit:contain;width:100%;height:100%}.sticker-doc-cell.list-thumb{flex:0 0 40px;width:40px}.sticker-list-thumb-empty{background:var(--panel-strong);border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:9px;place-items:center;display:grid}.sticker-doc-grid-cell{gap:4px;display:grid}.sticker-doc-grid-cell .btn{justify-content:center;width:100%}.sticker-add-form{background:var(--panel-strong);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex}.sticker-add-form .gift-file-picker.compact{flex:220px;min-width:180px}.sticker-add-form .small-input{flex:0 140px}.sticker-add-form-error{color:var(--danger);flex-basis:100%;font-size:12px}.sticker-doc-error{color:var(--danger);text-align:center;place-items:center;padding:4px;font-size:9px;display:grid;position:absolute;inset:0}.gift-animation-shell{background:radial-gradient(circle,#f9f3ff,#eaf2fe);place-items:center;min-height:210px;display:grid;position:relative}.gift-animation{width:200px;height:200px}.gift-animation canvas{width:100%!important;height:100%!important}.gift-play{width:30px;height:30px;color:var(--text);border:1px solid var(--line);background:#ffffffe6;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8px;right:8px}.gift-table-wrap{background:#fff}.gift-table{min-width:1080px}.gift-table th:nth-child(2){width:74px}.gift-table td{vertical-align:middle}.gift-select-col{text-align:center;width:34px}.gift-select-col input{width:15px;height:15px}.avatar-col{width:44px}.muted-cell{color:var(--muted)}.avatar-photo-img,.avatar-fallback{object-fit:cover;border-radius:50%;display:block}.avatar-fallback{color:#fff;letter-spacing:-.02em;place-items:center;font-weight:800;display:grid}.gift-bulk-toolbar{background:var(--panel-strong);border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;display:flex}.gift-bulk-count{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.gift-bulk-reason{flex:1;min-width:160px}.gift-bulk-reason input{height:34px}.gift-bulk-error{color:#b42318;font-size:11px;font-weight:700}.gift-page-size{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.gift-page-size select{height:30px;color:var(--text);border:1px solid var(--line);font:inherit;background:#fff;border-radius:7px;padding:0 8px;font-weight:700}.gift-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.gift-pager-range{color:var(--muted);font-size:11px;font-weight:700}.gift-pager-controls{align-items:center;gap:10px;display:flex}.gift-pager-page{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.gift-animation-shell.compact{border:1px solid var(--line);border-radius:9px;width:56px;min-height:56px;overflow:hidden}.gift-animation-shell.compact .gift-animation{width:54px;height:54px}.gift-animation-shell.compact .gift-play{width:20px;height:20px;bottom:3px;right:3px}.gift-row-disabled{opacity:.68}.gift-table-title,.gift-sort-order,.gift-source-size,.gift-convert-price{display:block}.gift-table-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.gift-sort-order,.gift-source-size,.gift-convert-price{color:var(--muted);margin-top:3px;font-size:10px}.gift-table-price{color:#755b00}.gift-table-actions{align-items:center;gap:6px;display:flex}.collectible-button{color:#6548a8;background:#f7f3ff;border-color:#ddd2f5}.collectible-button:hover{background:#efe8ff;border-color:#cbbaf0}.collectible-modal{width:min(1180px,100%);max-height:min(92vh,980px)}.collectible-modal .modal-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.collectible-modal-body{background:#f5f7fa;gap:16px;padding:16px 18px 22px;overflow:auto}.collectible-loading{min-height:90px;color:var(--muted);justify-content:center;align-items:center;gap:8px;display:flex}.collectible-empty{color:#66568c;background:linear-gradient(135deg,#fbf9ff,#f2f7ff);border:1px dashed #cfc3e9;border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.collectible-empty div,.collectible-definition-head>div:first-child,.collectible-section-head>div:first-child{gap:3px;display:grid}.collectible-empty span,.collectible-definition-head span,.collectible-section-head span{color:var(--muted);font-size:10px;font-weight:500}.collectible-active{background:#fff;border:1px solid #ddd6ee;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #422e6e0d}.collectible-active-head{background:linear-gradient(100deg,#fbf9ff,#f4f9ff);border-bottom:1px solid #e9e4f3;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.collectible-active-head>div{color:#60458f;align-items:center;gap:9px;display:flex}.collectible-active-head>div>div{gap:2px;display:grid}.collectible-active-head span{color:var(--muted);font-size:10px}.collectible-active-grid{background:var(--line);grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:1px;display:grid}.collectible-active-grid article{background:#fff;align-items:center;gap:9px;min-width:0;padding:9px 11px;display:flex}.collectible-active-grid article>div:last-child{gap:2px;min-width:0;display:grid}.collectible-active-grid article strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.collectible-active-grid article span{color:var(--muted);font-size:9px}.collectible-definition{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #1018280a}.collectible-definition-head{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f8fbfa,#fbf9ff);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.collectible-main-fields{border-bottom:1px solid var(--line);background:#fbfcfd;padding:14px 16px}.collectible-section{border-bottom:1px solid var(--line);padding:14px 16px}.collectible-section:last-child{border-bottom:0}.collectible-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.collectible-section-tools{align-items:center;gap:7px;display:flex}.collectible-rows{gap:7px;display:grid}.collectible-row{background:#fafbfc;border:1px solid #e1e6eb;border-radius:9px;align-items:end;gap:7px;padding:9px 9px 9px 36px;display:grid;position:relative}.collectible-row:hover{background:#fff;border-color:#cbd7dd;box-shadow:0 3px 10px #10182809}.collectible-row.animated{grid-template-columns:minmax(120px,1.2fr) 90px 78px minmax(160px,1.4fr) 48px 30px}.collectible-row.backdrop{grid-template-columns:minmax(110px,1.2fr) 70px 80px 70px repeat(4,52px) 48px 30px}.collectible-row-index{color:#71668c;background:#f0edf7;border-right:1px solid #e0d9ed;border-radius:8px 0 0 8px;place-items:center;width:27px;font-size:10px;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0}.collectible-row label{gap:4px;min-width:0;display:grid}.collectible-row label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.025em;font-size:9px;font-weight:800}.collectible-row input:not([type=file]){width:100%;min-width:0;height:32px;color:var(--text);font:inherit;background:#fff;border:1px solid #d5dde3;border-radius:7px;padding:0 8px;font-size:11px}.collectible-row input:focus{border-color:#8d7aba;outline:none;box-shadow:0 0 0 3px #6f5bae14}.collectible-file input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.collectible-file em{color:#625080;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#f7f4fd;border:1px dashed #cfc4e1;border-radius:7px;align-items:center;gap:5px;min-width:0;height:32px;padding:0 8px;font-size:10px;font-style:normal;font-weight:700;display:flex;overflow:hidden}.collectible-inline-preview{color:#8c7cae;background:radial-gradient(circle,#fff,#eee8f8);border:1px solid #ded5ed;border-radius:8px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.collectible-animation{width:100%;height:100%;overflow:hidden}.collectible-animation.compact{background:radial-gradient(circle,#fff,#f0ebfa);border:1px solid #e0d9ec;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.collectible-animation canvas{width:100%!important;height:100%!important}.collectible-animation.failed{color:#b42318;background:#fff4f2}.collectible-animation.loading{color:#807397}.collectible-file-error{color:#b42318;grid-column:1/-1;font-size:10px}.collectible-color input{cursor:pointer;height:32px!important;padding:3px!important}.collectible-backdrop-preview{border:1px solid #2a1f472e;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:11px;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #fff3}.collectible-row .icon-btn{align-self:center}.collectible-row .icon-btn:disabled{opacity:.28}@media (width<=900px){.gift-fields-grid,.collectible-row.animated,.collectible-row.backdrop{grid-template-columns:repeat(2,minmax(0,1fr))}.collectible-inline-preview,.collectible-backdrop-preview,.collectible-row .icon-btn{place-self:center start}}@media (width<=620px){.gift-import-note{flex-direction:column;align-items:flex-start}.gift-format-chips{justify-content:flex-start}.gift-file-picker{grid-template-columns:40px minmax(0,1fr)}.gift-file-action{display:none}.gift-fields-grid{grid-template-columns:1fr}.gift-list-summary{width:100%;margin-left:0}.official-gift-tools{flex-direction:column;align-items:stretch}.official-gift-list{grid-template-columns:1fr;max-height:340px}.official-gift-selected{grid-template-columns:82px minmax(0,1fr)}.official-gift-selected .gift-animation-shell{width:72px;height:72px}.collectible-modal-body{padding:10px}.collectible-definition-head,.collectible-section-head{flex-direction:column;align-items:flex-start}.collectible-row.animated,.collectible-row.backdrop{grid-template-columns:1fr}.collectible-active-grid{grid-template-columns:1fr 1fr}}.modal-backdrop{z-index:10000;background:#11182785;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);width:min(760px,100%);max-height:min(820px,100vh - 48px);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:0;overflow:hidden}.command-modal{flex-direction:column;display:flex}.command-modal>.modal-head,.command-modal>.modal-actions{flex:none}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex}.icon-btn{background:var(--panel-subtle);border:1px solid var(--line);cursor:pointer;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.command-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.command-body{grid-auto-rows:max-content;gap:12px;min-height:0;padding:14px 18px;display:grid;overflow:auto}.command-step{min-height:38px;color:var(--muted);background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.command-step span{border:1px solid var(--line);background:#fff;border-radius:999px;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.command-step.active{color:var(--brand);border-color:#a9c8f7}.command-step.done{color:var(--good);border-color:#b9dcc7}.form-field{gap:6px;display:grid}.form-field span,.form-stack span{color:#4b5563;font-weight:800}.command-preview{gap:8px;display:grid}.command-preview .json-block{max-height:150px}.preview-head,.result-title{color:#344054;align-items:center;gap:7px;font-weight:800;display:flex}.result-box{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:8px;padding:10px;display:grid}.result-line{grid-template-columns:92px minmax(0,1fr);gap:8px;display:grid}.result-line span{color:var(--muted)}.result-line strong{overflow-wrap:anywhere}.result-message{color:#344054}.modal-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;padding:12px 18px}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:18px;padding:22px;display:grid}.login-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.login-chip{min-height:24px;color:var(--brand);background:#eaf2fd;border:1px solid #c7dcf9;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.login-copy h1{margin:0;font-size:22px}.login-copy p{color:var(--muted);margin:8px 0 0}.form-stack{gap:12px;display:grid}.form-stack label{gap:6px;display:grid}.form-stack input{width:100%}.boot-screen{align-content:center;place-items:center;gap:18px;min-height:100vh;display:grid}.loader-bar{background:#d7dde4;border-radius:999px;width:180px;height:4px;overflow:hidden}.loader-bar:before{content:"";background:var(--brand);width:42%;height:100%;animation:1s ease-in-out infinite load;display:block}.spin{animation:.8s linear infinite spin}@keyframes load{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-status{display:none}.overview-band,.split-layout,.operation-row,.raw-grid,.message-selector-grid,.message-selector-grid.single{grid-template-columns:1fr}.action-dock{position:static}}@media (width<=760px){.content,.topbar{padding-left:14px;padding-right:14px}.command-grid,.work-strip,.overview-metrics,.metric-row,.summary-grid,.command-steps{grid-template-columns:1fr}.sidebar{gap:12px;padding:14px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.page-title-row,.entity-head{flex-direction:column;align-items:flex-start}input,.searchbox{width:100%}.toolbar{align-items:stretch}.picker-row,.selected-entity{grid-template-columns:1fr}} diff --git a/cmd/telesrv-admin/web/dist/assets/index-cWo3_wIf.css b/cmd/telesrv-admin/web/dist/assets/index-cWo3_wIf.css new file mode 100644 index 00000000..ba2e623f --- /dev/null +++ b/cmd/telesrv-admin/web/dist/assets/index-cWo3_wIf.css @@ -0,0 +1 @@ +@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-800.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fc;--panel:#fff;--panel-subtle:#f7f9fc;--panel-strong:#f1f5f9;--line:#e2e8f0;--line-strong:#cbd5e1;--text:#0f1720;--muted:#64748b;--muted-2:#94a3b8;--brand:#2563eb;--brand-2:#38bdf8;--grad:linear-gradient(135deg, #38bdf8 0%, #2563eb 55%, #1e40af 100%);--good:#167447;--warn:#a15c07;--danger:#b42318;--sidebar:#08080e;--sidebar-soft:#12121a;--sidebar-line:#222228;--focus:#2563eb29;--shadow:0 28px 70px -36px #05050859}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text);background:var(--bg);margin:0;font:13px/1.45 Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eef2f6;background:var(--sidebar);border-right:1px solid var(--sidebar-line);flex-direction:column;gap:16px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;min-height:42px;padding:0 4px;display:flex}.brand.compact{justify-content:center}.brand-mark{place-items:center;width:34px;height:34px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand strong{font-size:14px;line-height:1.1;display:block}.brand small{color:#aeb8c4;margin-top:3px;font-size:11px;display:block}.sidebar-label{color:#8492a6;text-transform:uppercase;padding:0 8px;font-size:11px;font-weight:700}.nav-list,.nav-section{gap:4px;display:grid}.nav-section-toggle{color:#8fa0b4;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 10px;font-size:12px;font-weight:800;display:grid}.nav-section-toggle:hover,.nav-section.active .nav-section-toggle{color:#fff;background:var(--sidebar-soft);border-color:#34404d}.nav-section-chevron{color:#8fa0b4;justify-self:end;transition:transform .14s}.nav-section.open .nav-section-chevron{transform:rotate(180deg)}.nav-children{gap:4px;padding:2px 0 2px 18px;display:grid}.nav-item{color:#c6d0dc;border:1px solid #0000;border-radius:7px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;min-height:38px;padding:0 10px;display:grid}.nav-dot{background:#687789;border-radius:999px;justify-self:center;width:6px;height:6px}.nav-item:hover,.nav-item.active{color:#fff;background:var(--sidebar-soft);border-color:#34404d}.nav-item.active .nav-dot{background:var(--brand)}.sidebar-status{gap:7px;margin-top:auto;display:grid}.runtime-row{color:#cbd5df;background:#171d25;border:1px solid #27313c;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:32px;padding:0 8px;display:grid}.runtime-row strong{color:#fff;font-size:11px}.workspace{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:12px 24px;display:flex;position:sticky;top:0}.topbar h1{margin:2px 0 0;font-size:20px;line-height:1.2}.topbar-actions,.page-actions,.section-action,.entity-badges,.row-actions,.modal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actor-pill{color:#344054;background:var(--panel-subtle);border:1px solid var(--line);border-radius:999px;align-items:center;min-height:30px;padding:0 10px;display:inline-flex}.content{gap:16px;padding:18px 24px 30px;display:grid}.eyebrow{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.dashboard-layout,.stacked-sections{gap:14px;display:grid}.overview-band,.page-frame{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}.overview-band{grid-template-columns:minmax(220px,1fr) minmax(420px,.9fr);align-items:center;gap:16px;padding:16px;display:grid}.overview-band h2,.page-title-row h2,.section-head h2,.modal h2{margin:0;font-size:18px;line-height:1.25}.overview-metrics,.metric-row{grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;display:grid}.overview-metrics{grid-template-columns:repeat(3,minmax(120px,1fr))}.status-item,.metric,.summary-item{background:var(--panel-subtle);border:1px solid var(--line);border-radius:7px;min-width:0;padding:10px}.status-item span,.metric span,.summary-item span{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.status-item strong,.metric strong,.summary-item strong{overflow-wrap:anywhere;color:var(--text);font-weight:800;display:block}.status-item.good,.metric.good{border-color:#afd8bf}.status-item.warn,.metric.warn{border-color:#e7c77e}.metric.danger{border-color:#efb4ad}.command-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;display:grid}.launcher{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:94px;padding:14px;display:grid}.launcher:hover{border-color:var(--brand)}.launcher-icon{width:38px;height:38px;color:var(--brand);background:#eaf2fd;border:1px solid #c7dcf9;border-radius:8px;place-items:center;display:grid}.launcher-copy{gap:4px;display:grid}.launcher-copy strong{font-size:15px}.launcher-copy span{color:var(--muted)}.work-strip{grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;display:grid}.strip-item{color:#344054;background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex}.page-frame{gap:14px;padding:14px;display:grid}.page-title-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.query-panel{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;padding:10px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.message-query input{width:150px}.message-selector-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px;margin-bottom:10px;display:grid}.message-selector-grid.single{grid-template-columns:minmax(320px,620px)}.entity-picker{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.picker-head{color:#344054;justify-content:space-between;align-items:center;gap:8px;min-height:24px;font-weight:800;display:flex}.selected-entity{color:#1e3a8a;background:#eaf2fe;border:1px solid #c3d9f7;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:7px 9px;display:grid}.selected-entity strong,.selected-entity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-entity div{gap:2px;min-width:0;display:grid}.selected-entity div span{color:#52606d;font-size:11px}.picker-search{background:var(--panel-subtle);border:1px solid var(--line-strong);border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;height:34px;padding:0 6px 0 9px;display:grid}.picker-search input{width:100%;height:30px;box-shadow:none;background:0 0;border:0;padding:0}.picker-results{border:1px solid var(--line);border-radius:7px;max-height:236px;display:grid;overflow:auto}.picker-row{min-height:36px;color:var(--text);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;grid-template-columns:96px minmax(120px,1fr) minmax(120px,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.picker-row:last-child{border-bottom:0}.picker-row:hover,.picker-row.selected{background:#eef4ff}.picker-row strong,.picker-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.picker-empty,.picker-error{color:var(--muted);text-align:center;padding:9px}.picker-error{color:var(--danger);background:#fff2f0;border:1px solid #efb4ad;border-radius:7px}input,textarea{color:var(--text);border:1px solid var(--line-strong);background:#fff;border-radius:7px;outline:none}input{width:190px;height:34px;padding:0 10px}textarea{resize:vertical;width:100%;padding:9px 10px}input:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus)}.small-input{width:88px}.sort-order-editor{align-items:center;gap:6px;display:flex}.sort-order-editor .small-input{width:64px;height:32px}.sort-order-editor .title-input{width:160px}.field-inline{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.field-inline span{font-size:11px;font-weight:700}.searchbox{border:1px solid var(--line-strong);background:#fff;border-radius:7px;align-items:center;gap:8px;width:min(380px,100%);height:34px;padding:0 10px;display:inline-flex}.searchbox input{width:100%;height:30px;box-shadow:none;border:0;padding:0}.btn{color:#1d2939;border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;display:inline-flex}.btn:hover:not(:disabled){background:#f7f9fb}.btn:disabled{color:var(--muted-2);cursor:not-allowed}.btn.primary{color:#fff;background:var(--brand);border-color:var(--brand)}.btn.primary:hover:not(:disabled){background:#1d4ed8}.btn.ghost{background:var(--panel-subtle)}.btn.danger{color:var(--danger);background:#fff7f5;border-color:#efb4ad}.btn.danger:hover:not(:disabled){background:#ffeceb}.btn.warn{color:var(--warn);background:#fff8ec;border-color:#e7c77e}.btn.warn:hover:not(:disabled){background:#fff1d6}.btn:disabled,.btn.primary:disabled,.btn.warn:disabled,.btn.danger:disabled{color:var(--muted-2);border-color:var(--line);cursor:not-allowed;background:#f3f5f7}.btn.full{width:100%}.icon-text{gap:7px}.compact-btn{min-height:28px;padding:0 8px;font-size:12px}.row-link,.link-button{color:var(--brand-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table-wrap{border:1px solid var(--line);border-radius:8px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;height:38px;padding:7px 9px}.data-table th{z-index:0;color:#475467;background:var(--panel-strong);font-weight:800;position:sticky;top:0}.data-table tbody tr:hover{background:#fbfcfd}.data-table tr:last-child td{border-bottom:0}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.truncate{text-overflow:ellipsis;max-width:380px;overflow:hidden}.badge{color:#4f5b68;white-space:nowrap;background:#f3f6f8;border:1px solid #d7e0e8;border-radius:999px;align-items:center;min-height:22px;padding:1px 8px;display:inline-flex}.badge.good{color:var(--good);background:#eef8f2;border-color:#b9dcc7}.badge.danger{color:var(--danger);background:#fff2f0;border-color:#efb4ad}.badge.warn{color:var(--warn);background:#fff8e7;border-color:#e7c77e}.empty-cell{color:var(--muted);text-align:center}.split-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:14px;display:grid}.split-main,.split-side{min-width:0}.entity-head{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;display:flex}.entity-title{font-size:20px;font-weight:800;line-height:1.25}.entity-subtitle{color:var(--muted);margin-top:4px}.summary-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;display:grid}.about-text{color:#344054;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;margin:0;padding:10px}.section-block,.action-dock,.surface{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:12px}.section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.section-head p{color:var(--muted);margin:5px 0 0}.action-dock{gap:10px;display:grid;position:sticky;top:82px}.dock-title{color:#344054;border-bottom:1px solid var(--line);padding-bottom:4px;font-weight:800}.action-dock>.btn,.action-dock .action-stack .btn{justify-content:center;width:100%}.duration-field{gap:4px;display:grid}.duration-field span{color:var(--muted);font-size:11px;font-weight:800}.duration-field input{width:100%}.action-stack{gap:10px;display:grid}.action-stack .btn,.action-dock>.btn{min-height:42px}.danger-zone{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.authorization-block{gap:10px;display:grid}.authorization-table{table-layout:fixed;min-width:720px}.authorization-table th,.authorization-table td{height:46px}.device-text{text-overflow:ellipsis;max-width:260px;overflow:hidden}.device-actions-head{width:190px}.device-actions-cell{width:190px;min-width:190px}.device-actions{white-space:normal;grid-template-columns:repeat(2,minmax(82px,1fr));gap:6px;min-width:178px;display:grid}.device-actions .btn{justify-content:center;width:100%}.operation-row{grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px;display:grid}.operation-box{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.operation-title{align-items:center;gap:6px;width:100%;font-weight:800;display:flex}.checkline{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.checkline input{width:auto;height:auto}.alert{color:#8a251d;background:#fff2f0;border:1px solid #efb4ad;border-radius:8px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.json-block{color:#d8e6f0;background:#141a22;border:1px solid #2a3542;border-radius:8px;max-height:520px;margin:0;padding:12px;font-size:12px;overflow:auto}.raw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.loading-line{min-height:80px;color:var(--muted);place-items:center;display:grid}.empty-panel{min-height:92px;color:var(--muted);background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;place-items:center;display:grid}.gift-metrics .metric{background:linear-gradient(145deg,#fff,#f6f9f9);min-height:68px;padding:12px}.gift-metrics .metric strong{font-size:17px}.gift-file-icon{color:var(--brand);background:#eaf2fd;border:1px solid #c7dcf9;flex:none;place-items:center;display:grid}.gift-format-chips{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.gift-format-chips span{color:#1e40af;letter-spacing:.02em;background:#eaf2fe;border:1px solid #cbdcf7;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.gift-list-summary{color:var(--muted);margin-left:auto;font-size:11px;font-weight:700}.gift-import-modal{width:min(860px,100%)}.gift-bulk-import-modal{width:min(480px,100%)}.gift-bulk-import-modal .command-body{gap:14px;padding:16px 18px;display:grid}.gift-import-modal-body{gap:14px}.gift-source-tabs{gap:8px;display:flex}.official-gift-picker{gap:12px;min-width:0;display:grid}.official-gift-bulk-import{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gift-bulk-import-progress{align-items:center;gap:8px;min-width:180px;display:flex}.gift-bulk-import-progress-bar{background:#e3e8ef;border-radius:999px;flex:auto;width:120px;height:6px;overflow:hidden}.gift-bulk-import-progress-bar>div{background:var(--brand);border-radius:999px;height:100%;transition:width .2s}.gift-bulk-import-progress span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.official-gift-tools{align-items:center;gap:12px;display:flex}.official-gift-tools .searchbox{width:100%}.official-gift-tools>span{color:var(--muted);flex:none;font-size:11px;font-weight:750}.official-gift-categories{flex-wrap:wrap;gap:7px;display:flex}.official-gift-categories button{color:#3f5a78;min-height:32px;font:inherit;cursor:pointer;background:#f5f8fd;border:1px solid #d7e2f4;border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;font-weight:800;transition:color .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.official-gift-categories button:hover{color:var(--brand);border-color:#9dc3f5}.official-gift-categories button.active{color:#fff;background:var(--brand);border-color:var(--brand);box-shadow:0 4px 12px #2563eb2b}.official-gift-categories button span{min-width:20px;height:20px;color:inherit;background:#ffffffa6;border-radius:999px;place-items:center;padding:0 5px;font-size:10px;display:grid}.official-gift-categories button.active span{color:var(--brand)}.official-gift-list{border:1px solid var(--line);scrollbar-gutter:stable;background:#f5f8fd;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:126px;max-height:314px;padding:8px;display:grid;overflow:auto}.official-gift-option{text-align:left;min-width:0;color:var(--text);cursor:pointer;background:#fff;border:1px solid #dbe6f7;border-radius:11px;gap:8px;padding:11px 12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 1px 2px #1e295208}.official-gift-option:hover{border-color:#9dc3f5;transform:translateY(-1px);box-shadow:0 5px 14px #1e40af14}.official-gift-option.selected{border-color:var(--brand);box-shadow:0 0 0 2px #2563eb1f,0 5px 14px #1e40af14}.official-gift-option-head{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;display:grid}.official-gift-option-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.official-gift-option-head .mono{color:var(--muted);font-size:9px}.official-gift-option-meta{color:#5b6b85;flex-wrap:wrap;gap:10px;font-size:10px;font-weight:700;display:flex}.official-gift-capabilities{flex-wrap:wrap;gap:5px;display:flex}.official-gift-capabilities>span{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:850}.official-gift-capabilities>span.yes{color:#136b4d;background:#e9f8f0;border-color:#bde6cf}.official-gift-capabilities>span.craft{color:#6e3ca0;background:#f3ebfb;border-color:#d9c5ef}.official-gift-capabilities>span.no{color:#78837f;background:#f1f3f2;border-color:#dde2e0}.official-gift-empty{min-height:108px;color:var(--muted);text-align:center;grid-column:1/-1;place-items:center;padding:20px;font-size:12px;display:grid}.official-gift-selected{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.official-gift-selected .gift-animation-shell{border-radius:12px;width:96px;height:96px;min-height:96px;overflow:hidden}.official-gift-selected .gift-animation{width:96px;height:96px}.official-gift-selected>div:last-child{gap:5px;min-width:0;display:grid}.official-gift-selected small{color:var(--muted)}.gift-import-note{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;line-height:1.45;display:flex}.gift-file-picker{min-height:78px;color:var(--text);cursor:pointer;background:#fff;border:1px dashed #b7c9e8;border-radius:10px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative}.gift-file-picker:hover,.gift-file-picker.has-file{border-color:var(--brand);background:#f5f9ff;box-shadow:0 0 0 2px #2563eb0d}.gift-file-picker.compact{grid-template-columns:minmax(0,1fr);min-height:44px;padding:8px 12px}.gift-file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.gift-file-icon{border-radius:9px;width:40px;height:40px}.gift-file-copy{gap:2px;min-width:0;display:grid}.gift-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.gift-file-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.gift-file-copy small{color:var(--muted);font-size:11px;font-weight:500}.gift-file-action{color:var(--brand);background:#eef4ff;border:1px solid #c7dcf9;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:800}.gift-fields-grid{grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(120px,1fr));gap:10px;display:grid}.gift-fields-grid label,.gift-reason-field{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.gift-fields-grid input,.gift-reason-field input{width:100%;min-width:0;height:38px;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 10px}.gift-fields-grid input:focus,.gift-reason-field input:focus{border-color:#7bb4f0;outline:none;box-shadow:0 0 0 3px #2563eb14}.gift-switch{color:#344054;cursor:pointer;align-items:center;gap:9px;font-size:12px;font-weight:700;display:inline-flex}.gift-switch input{opacity:0;width:1px;height:1px;position:absolute}.gift-switch-track{background:#c8d0d5;border-radius:999px;align-items:center;width:34px;height:19px;padding:2px;transition:background .16s;display:flex}.gift-switch-track span{background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .16s;box-shadow:0 1px 3px #10182838}.gift-switch input:checked+.gift-switch-track{background:var(--brand)}.gift-switch input:checked+.gift-switch-track span{transform:translate(15px)}.gift-switch input:focus-visible+.gift-switch-track{outline-offset:2px;outline:3px solid #2563eb29}.gift-validation{color:#d5fff5;background:#173631;border:1px solid #24564e;border-radius:9px;overflow:hidden}.gift-validation-head{color:#e3fff9;background:#ffffff09;border-bottom:1px solid #ffffff17;align-items:center;gap:9px;padding:10px 12px;display:flex}.gift-validation-head div{gap:2px;display:grid}.gift-validation-head span{color:#99cfc4;font-size:10px}.gift-validation pre{color:#d5fff5;max-height:180px;margin:0;padding:11px 12px;font-size:11px;overflow:auto}.sticker-preview-modal{width:min(760px,100%)}.sticker-doc-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:420px;padding:2px;display:grid;overflow:auto}.sticker-doc-cell{aspect-ratio:1;background:var(--panel-strong);border:1px solid var(--line);border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.sticker-doc-canvas{width:100%;height:100%}.sticker-doc-canvas canvas{width:100%!important;height:100%!important}.sticker-doc-image{object-fit:contain;width:100%;height:100%}.sticker-doc-cell.list-thumb{flex:0 0 40px;width:40px}.sticker-list-thumb-empty{background:var(--panel-strong);border:1px solid var(--line);width:40px;height:40px;color:var(--muted);border-radius:9px;place-items:center;display:grid}.sticker-doc-grid-cell{gap:4px;display:grid}.sticker-doc-grid-cell .btn{justify-content:center;width:100%}.sticker-add-form{background:var(--panel-strong);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex}.sticker-add-form .gift-file-picker.compact{flex:220px;min-width:180px}.sticker-add-form .small-input{flex:0 140px}.sticker-add-form-error{color:var(--danger);flex-basis:100%;font-size:12px}.sticker-doc-error{color:var(--danger);text-align:center;place-items:center;padding:4px;font-size:9px;display:grid;position:absolute;inset:0}.gift-animation-shell{background:radial-gradient(circle,#f9f3ff,#eaf2fe);place-items:center;min-height:210px;display:grid;position:relative}.gift-animation{width:200px;height:200px}.gift-animation canvas{width:100%!important;height:100%!important}.gift-play{width:30px;height:30px;color:var(--text);border:1px solid var(--line);background:#ffffffe6;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:8px;right:8px}.gift-table-wrap{background:#fff}.gift-table{min-width:1080px}.gift-table th:nth-child(2){width:74px}.gift-table td{vertical-align:middle}.gift-select-col{text-align:center;width:34px}.gift-select-col input{width:15px;height:15px}.avatar-col{width:44px}.muted-cell{color:var(--muted)}.avatar-photo-img,.avatar-fallback{object-fit:cover;border-radius:50%;display:block}.avatar-fallback{color:#fff;letter-spacing:-.02em;place-items:center;font-weight:800;display:grid}.gift-bulk-toolbar{background:var(--panel-strong);border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;margin-bottom:10px;padding:9px 12px;display:flex}.gift-bulk-count{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.gift-bulk-reason{flex:1;min-width:160px}.gift-bulk-reason input{height:34px}.gift-bulk-error{color:#b42318;font-size:11px;font-weight:700}.gift-page-size{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.gift-page-size select{height:30px;color:var(--text);border:1px solid var(--line);font:inherit;background:#fff;border-radius:7px;padding:0 8px;font-weight:700}.gift-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.gift-pager-range{color:var(--muted);font-size:11px;font-weight:700}.gift-pager-controls{align-items:center;gap:10px;display:flex}.gift-pager-page{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.gift-animation-shell.compact{border:1px solid var(--line);border-radius:9px;width:56px;min-height:56px;overflow:hidden}.gift-animation-shell.compact .gift-animation{width:54px;height:54px}.gift-animation-shell.compact .gift-play{width:20px;height:20px;bottom:3px;right:3px}.gift-row-disabled{opacity:.68}.gift-table-title,.gift-sort-order,.gift-source-size,.gift-convert-price{display:block}.gift-table-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.gift-sort-order,.gift-source-size,.gift-convert-price{color:var(--muted);margin-top:3px;font-size:10px}.gift-table-price{color:#755b00}.gift-table-actions{align-items:center;gap:6px;display:flex}.collectible-button{color:#6548a8;background:#f7f3ff;border-color:#ddd2f5}.collectible-button:hover{background:#efe8ff;border-color:#cbbaf0}.collectible-modal{width:min(1180px,100%);max-height:min(92vh,980px)}.collectible-modal .modal-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.collectible-modal-body{background:#f5f7fa;gap:16px;padding:16px 18px 22px;overflow:auto}.collectible-loading{min-height:90px;color:var(--muted);justify-content:center;align-items:center;gap:8px;display:flex}.collectible-empty{color:#66568c;background:linear-gradient(135deg,#fbf9ff,#f2f7ff);border:1px dashed #cfc3e9;border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.collectible-empty div,.collectible-definition-head>div:first-child,.collectible-section-head>div:first-child{gap:3px;display:grid}.collectible-empty span,.collectible-definition-head span,.collectible-section-head span{color:var(--muted);font-size:10px;font-weight:500}.collectible-active{background:#fff;border:1px solid #ddd6ee;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #422e6e0d}.collectible-active-head{background:linear-gradient(100deg,#fbf9ff,#f4f9ff);border-bottom:1px solid #e9e4f3;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.collectible-active-head>div{color:#60458f;align-items:center;gap:9px;display:flex}.collectible-active-head>div>div{gap:2px;display:grid}.collectible-active-head span{color:var(--muted);font-size:10px}.collectible-active-grid{background:var(--line);grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:1px;display:grid}.collectible-active-grid article{background:#fff;align-items:center;gap:9px;min-width:0;padding:9px 11px;display:flex}.collectible-active-grid article>div:last-child{gap:2px;min-width:0;display:grid}.collectible-active-grid article strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.collectible-active-grid article span{color:var(--muted);font-size:9px}.collectible-definition{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #1018280a}.collectible-definition-head{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f8fbfa,#fbf9ff);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.collectible-main-fields{border-bottom:1px solid var(--line);background:#fbfcfd;padding:14px 16px}.collectible-section{border-bottom:1px solid var(--line);padding:14px 16px}.collectible-section:last-child{border-bottom:0}.collectible-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.collectible-section-tools{align-items:center;gap:7px;display:flex}.collectible-rows{gap:7px;display:grid}.collectible-row{background:#fafbfc;border:1px solid #e1e6eb;border-radius:9px;align-items:end;gap:7px;padding:9px 9px 9px 36px;display:grid;position:relative}.collectible-row:hover{background:#fff;border-color:#cbd7dd;box-shadow:0 3px 10px #10182809}.collectible-row.animated{grid-template-columns:minmax(120px,1.2fr) 90px 78px minmax(160px,1.4fr) 48px 30px}.collectible-row.backdrop{grid-template-columns:minmax(110px,1.2fr) 70px 80px 70px repeat(4,52px) 48px 30px}.collectible-row-index{color:#71668c;background:#f0edf7;border-right:1px solid #e0d9ed;border-radius:8px 0 0 8px;place-items:center;width:27px;font-size:10px;font-weight:800;display:grid;position:absolute;top:0;bottom:0;left:0}.collectible-row label{gap:4px;min-width:0;display:grid}.collectible-row label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.025em;font-size:9px;font-weight:800}.collectible-row input:not([type=file]){width:100%;min-width:0;height:32px;color:var(--text);font:inherit;background:#fff;border:1px solid #d5dde3;border-radius:7px;padding:0 8px;font-size:11px}.collectible-row input:focus{border-color:#8d7aba;outline:none;box-shadow:0 0 0 3px #6f5bae14}.collectible-file input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.collectible-file em{color:#625080;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#f7f4fd;border:1px dashed #cfc4e1;border-radius:7px;align-items:center;gap:5px;min-width:0;height:32px;padding:0 8px;font-size:10px;font-style:normal;font-weight:700;display:flex;overflow:hidden}.collectible-inline-preview{color:#8c7cae;background:radial-gradient(circle,#fff,#eee8f8);border:1px solid #ded5ed;border-radius:8px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.collectible-animation{width:100%;height:100%;overflow:hidden}.collectible-animation.compact{background:radial-gradient(circle,#fff,#f0ebfa);border:1px solid #e0d9ec;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.collectible-animation canvas{width:100%!important;height:100%!important}.collectible-animation.failed{color:#b42318;background:#fff4f2}.collectible-animation.loading{color:#807397}.collectible-file-error{color:#b42318;grid-column:1/-1;font-size:10px}.collectible-color input{cursor:pointer;height:32px!important;padding:3px!important}.collectible-backdrop-preview{border:1px solid #2a1f472e;border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:11px;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #fff3}.collectible-row .icon-btn{align-self:center}.collectible-row .icon-btn:disabled{opacity:.28}@media (width<=900px){.gift-fields-grid,.collectible-row.animated,.collectible-row.backdrop{grid-template-columns:repeat(2,minmax(0,1fr))}.collectible-inline-preview,.collectible-backdrop-preview,.collectible-row .icon-btn{place-self:center start}}@media (width<=620px){.gift-import-note{flex-direction:column;align-items:flex-start}.gift-format-chips{justify-content:flex-start}.gift-file-picker{grid-template-columns:40px minmax(0,1fr)}.gift-file-action{display:none}.gift-fields-grid{grid-template-columns:1fr}.gift-list-summary{width:100%;margin-left:0}.official-gift-tools{flex-direction:column;align-items:stretch}.official-gift-list{grid-template-columns:1fr;max-height:340px}.official-gift-selected{grid-template-columns:82px minmax(0,1fr)}.official-gift-selected .gift-animation-shell{width:72px;height:72px}.collectible-modal-body{padding:10px}.collectible-definition-head,.collectible-section-head{flex-direction:column;align-items:flex-start}.collectible-row.animated,.collectible-row.backdrop{grid-template-columns:1fr}.collectible-active-grid{grid-template-columns:1fr 1fr}}.modal-backdrop{z-index:10000;background:#11182785;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);width:min(760px,100%);max-height:min(820px,100vh - 48px);box-shadow:var(--shadow);background:#fff;border-radius:8px;padding:0;overflow:hidden}.command-modal{flex-direction:column;display:flex}.command-modal>.modal-head,.command-modal>.modal-actions{flex:none}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex}.icon-btn{background:var(--panel-subtle);border:1px solid var(--line);cursor:pointer;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.command-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.command-body{grid-auto-rows:max-content;gap:12px;min-height:0;padding:14px 18px;display:grid;overflow:auto}.command-step{min-height:38px;color:var(--muted);background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.command-step span{border:1px solid var(--line);background:#fff;border-radius:999px;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.command-step.active{color:var(--brand);border-color:#a9c8f7}.command-step.done{color:var(--good);border-color:#b9dcc7}.form-field{gap:6px;display:grid}.form-field span,.form-stack span{color:#4b5563;font-weight:800}.command-preview{gap:8px;display:grid}.command-preview .json-block{max-height:150px}.preview-head,.result-title{color:#344054;align-items:center;gap:7px;font-weight:800;display:flex}.result-box{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:8px;padding:10px;display:grid}.result-line{grid-template-columns:92px minmax(0,1fr);gap:8px;display:grid}.result-line span{color:var(--muted)}.result-line strong{overflow-wrap:anywhere}.result-message{color:#344054}.modal-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;padding:12px 18px}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:18px;padding:22px;display:grid}.login-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.login-chip{min-height:24px;color:var(--brand);background:#eaf2fd;border:1px solid #c7dcf9;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.login-copy h1{margin:0;font-size:22px}.login-copy p{color:var(--muted);margin:8px 0 0}.form-stack{gap:12px;display:grid}.form-stack label{gap:6px;display:grid}.form-stack input{width:100%}.boot-screen{align-content:center;place-items:center;gap:18px;min-height:100vh;display:grid}.loader-bar{background:#d7dde4;border-radius:999px;width:180px;height:4px;overflow:hidden}.loader-bar:before{content:"";background:var(--brand);width:42%;height:100%;animation:1s ease-in-out infinite load;display:block}.spin{animation:.8s linear infinite spin}@keyframes load{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-status{display:none}.overview-band,.split-layout,.operation-row,.raw-grid,.message-selector-grid,.message-selector-grid.single{grid-template-columns:1fr}.action-dock{position:static}}@media (width<=760px){.content,.topbar{padding-left:14px;padding-right:14px}.command-grid,.work-strip,.overview-metrics,.metric-row,.summary-grid,.command-steps{grid-template-columns:1fr}.sidebar{gap:12px;padding:14px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.page-title-row,.entity-head{flex-direction:column;align-items:flex-start}input,.searchbox{width:100%}.toolbar{align-items:stretch}.picker-row,.selected-entity{grid-template-columns:1fr}} diff --git a/cmd/telesrv-admin/web/dist/index.html b/cmd/telesrv-admin/web/dist/index.html index 99228adf..a1543d54 100644 --- a/cmd/telesrv-admin/web/dist/index.html +++ b/cmd/telesrv-admin/web/dist/index.html @@ -5,8 +5,8 @@ OwpenGram Admin - - + +
diff --git a/cmd/telesrv-admin/web/src/i18n.tsx b/cmd/telesrv-admin/web/src/i18n.tsx index 8c8a43ee..c2d3c36e 100644 --- a/cmd/telesrv-admin/web/src/i18n.tsx +++ b/cmd/telesrv-admin/web/src/i18n.tsx @@ -273,6 +273,11 @@ const translations: Record = { "gifts.officialUnnamed": "Unnamed official gift #{id}", "gifts.officialEmpty": "No official gifts match this category and search.", "gifts.includeCollectible": "Import the complete collectible pool, including crafted models", + "gifts.importingProgress": "Importing {done} of {total}", + "gifts.bulkImportCount": "{count} gifts available to import", + "gifts.bulkImportDone": "Import complete", + "gifts.bulkImportSummary": "Imported {imported}, skipped {skipped}, failed {failed}", + "gifts.startBulkImport": "Start import", "gifts.limited": "Limited · {total}", "gifts.premium": "Premium only", "gifts.searchPlaceholder": "Search gift ID, title or format", diff --git a/cmd/telesrv-admin/web/src/pages/GiftsPage.tsx b/cmd/telesrv-admin/web/src/pages/GiftsPage.tsx index c990bb29..0f7c9bac 100644 --- a/cmd/telesrv-admin/web/src/pages/GiftsPage.tsx +++ b/cmd/telesrv-admin/web/src/pages/GiftsPage.tsx @@ -2,7 +2,7 @@ import { CheckCircle2, ChevronLeft, ChevronRight, FileJson2, Gem, Loader2, Pause import lottie from "lottie-web/build/player/lottie_light_canvas"; import { useEffect, useMemo, useRef, useState } from "react"; import { createPortal } from "react-dom"; -import { api, errorMessage } from "../api"; +import { api, APIError, errorMessage } from "../api"; import { ActionButton } from "../components/ActionButton"; import { Alert, Badge, EmptyRow, Metric, PageFrame, QueryPanel } from "../components/ui"; import { useI18n } from "../i18n"; @@ -13,6 +13,11 @@ import { GiftCollectiblesModal } from "./GiftCollectiblesModal"; type OfficialGiftCategory = "all" | "upgrade" | "craft" | "basic"; type GiftPageSize = 10 | 20 | 50 | 100 | "all"; +// The demo pool only has 3 placeholder gifts left after pruning to one per +// capability tier (Spark/Star/Coin); hide the tab until real custom designs +// replace them. Flip back to true to re-enable. +const SHOW_DEFAULT_GIFTS_TAB = false; + function defaultGiftAttributeCount(gift: DefaultGiftRow) { return gift.model_count + gift.pattern_count + gift.backdrop_count; } @@ -106,7 +111,7 @@ export function GiftsPage() { const [importOpen, setImportOpen] = useState(false); const [collectibleGift, setCollectibleGift] = useState(null); const [file, setFile] = useState(null); - const [importSource, setImportSource] = useState<"default" | "official" | "file">("default"); + const [importSource, setImportSource] = useState<"default" | "official" | "file">(SHOW_DEFAULT_GIFTS_TAB ? "default" : "official"); const [defaultGifts, setDefaultGifts] = useState([]); const [selectedDefaultID, setSelectedDefaultID] = useState(0); const [officialGifts, setOfficialGifts] = useState([]); @@ -128,6 +133,14 @@ export function GiftsPage() { const [busy, setBusy] = useState(false); const [error, setError] = useState(""); const [importError, setImportError] = useState(""); + const [bulkImportOpen, setBulkImportOpen] = useState<"default" | "official" | null>(null); + const [bulkImportItems, setBulkImportItems] = useState>([]); + const [bulkImportEnabled, setBulkImportEnabled] = useState(true); + const [bulkImportReason, setBulkImportReason] = useState(""); + const [bulkImportBusy, setBulkImportBusy] = useState(false); + const [bulkImportProgress, setBulkImportProgress] = useState({ done: 0, total: 0 }); + const [bulkImportError, setBulkImportError] = useState(""); + const [bulkImportResult, setBulkImportResult] = useState<{ imported: number; skipped: number; failed: number; errors: string[] } | null>(null); const [selected, setSelected] = useState>(new Set()); const [bulkReason, setBulkReason] = useState(""); const [bulkBusy, setBulkBusy] = useState(false); @@ -301,6 +314,84 @@ export function GiftsPage() { setPreview(null); } + async function openBulkImport(source: "default" | "official") { + setBulkImportOpen(source); + setBulkImportItems([]); + setBulkImportEnabled(true); + setBulkImportReason(""); + setBulkImportBusy(false); + setBulkImportProgress({ done: 0, total: 0 }); + setBulkImportError(""); + setBulkImportResult(null); + try { + if (source === "default") { + const list = defaultGifts.length > 0 ? defaultGifts : (await api.defaultGifts()).gifts ?? []; + setBulkImportItems(list); + } else { + const list = officialGifts.length > 0 ? officialGifts : (await api.officialGifts()).gifts ?? []; + setBulkImportItems(list); + } + } catch (err) { + setBulkImportError(errorMessage(err)); + } + } + + function closeBulkImport() { + if (bulkImportBusy) return; + setBulkImportOpen(null); + } + + async function runBulkImport() { + if (!bulkImportOpen) return; + if (!bulkImportReason.trim()) { setBulkImportError(t("action.reasonRequired")); return; } + const source = bulkImportOpen; + setBulkImportBusy(true); setBulkImportError(""); setBulkImportResult(null); + setBulkImportProgress({ done: 0, total: bulkImportItems.length }); + let imported = 0, skipped = 0, failed = 0; + const errors: string[] = []; + for (const item of bulkImportItems) { + const label = source === "default" ? (item as DefaultGiftRow).title : ((item as OfficialStarGiftRow).title || `#${(item as OfficialStarGiftRow).source_gift_id}`); + try { + // Stable per-gift command_id (mirrors the old server-side bulk + // endpoint) so a gift already imported by a prior run is recognized + // as a replay instead of creating a duplicate catalog entry - + // CreateCatalogBundle has no unique constraint on title/source id to + // fall back on. If this run's Enabled value differs from the run + // that first created it, the server reports COMMAND_ID_CONFLICT + // instead of silently re-importing; treat that as "skipped" too. + const result = source === "default" + ? await api.importDefaultGift({ + command_id: `bulk-default-gift-${(item as DefaultGiftRow).id}`, + reason: bulkImportReason.trim(), + confirm: true, + id: (item as DefaultGiftRow).id, + enabled: bulkImportEnabled + }) + : await api.importOfficialGift({ + command_id: `bulk-official-gift-${(item as OfficialStarGiftRow).source_gift_id}`, + reason: bulkImportReason.trim(), + confirm: true, + source_gift_id: (item as OfficialStarGiftRow).source_gift_id, + include_collectible: (item as OfficialStarGiftRow).can_upgrade, + enabled: bulkImportEnabled + }); + if (result.already_executed || result.details?.skipped) skipped++; + else imported++; + } catch (err) { + if (err instanceof APIError && err.message === "COMMAND_ID_CONFLICT") { + skipped++; + } else { + failed++; + errors.push(`${label}: ${errorMessage(err)}`); + } + } + setBulkImportProgress((prev) => ({ ...prev, done: prev.done + 1 })); + } + setBulkImportBusy(false); + setBulkImportResult({ imported, skipped, failed, errors }); + await load(); + } + async function validateImport() { setBusy(true); setImportError(""); setPreview(null); try { @@ -331,8 +422,10 @@ export function GiftsPage() { function startImport() { setGiftID("0"); setTitle(""); setStars("50"); setConvertStars("50"); setSortOrder("0"); setEnabled(true); setReason(""); setFile(null); setPreview(null); setImportError(""); - setImportSource("default"); setSelectedDefaultID(0); - setSourceGiftID(""); setOfficialQuery(""); setOfficialCategory("all"); setImportOpen(true); + setImportSource(SHOW_DEFAULT_GIFTS_TAB ? "default" : "official"); setSelectedDefaultID(0); + setSourceGiftID(""); setOfficialQuery(""); setOfficialCategory("all"); + setBulkImportBusy(false); setBulkImportProgress({ done: 0, total: 0 }); setBulkImportError(""); + setImportOpen(true); } function startRevision(gift: StarGiftRow) { @@ -434,22 +527,18 @@ export function GiftsPage() {
3{t("gifts.stepImport")}
{giftID === "0" &&
- + {SHOW_DEFAULT_GIFTS_TAB && }
} - {importSource === "default" && giftID === "0" ?
+ {importSource === "default" && giftID === "0" && SHOW_DEFAULT_GIFTS_TAB ?
{t("gifts.defaultHint")}
{defaultGifts.length}OwpenGram
- ({})} - tone="neutral" - icon={} - onDone={() => void load()} - /> +
+
{defaultGifts.map((gift) => { const isSelected = gift.id === selectedDefaultID; @@ -479,14 +568,9 @@ export function GiftsPage() {
: importSource === "official" && giftID === "0" ?
{t("gifts.officialHint")}
{officialGifts.length}SHA-256
- ({})} - tone="neutral" - icon={} - onDone={() => void load()} - /> +
@@ -569,6 +653,38 @@ export function GiftsPage() {
, document.body )} + {bulkImportOpen && createPortal( +
+
+
+
{t("gifts.importEyebrow")}

{bulkImportOpen === "default" ? t("gifts.importAllDefault") : t("gifts.importAllOfficial")}

+ +
+
+
{t("gifts.bulkImportCount", { count: bulkImportItems.length })}
+ + + {bulkImportBusy &&
+
+ {t("gifts.importingProgress", { done: bulkImportProgress.done, total: bulkImportProgress.total })} +
} + {bulkImportError && {bulkImportError}} + {bulkImportResult &&
+
{t("gifts.bulkImportDone")}{t("gifts.bulkImportSummary", { imported: bulkImportResult.imported, skipped: bulkImportResult.skipped, failed: bulkImportResult.failed })}
+ {bulkImportResult.errors.length > 0 &&
{bulkImportResult.errors.join("\n")}
} +
} +
+
+ + +
+
+
, + document.body + )} {collectibleGift && setCollectibleGift(null)} onPublished={() => void load()} />} ); diff --git a/cmd/telesrv-admin/web/src/styles/03-entities-and-actions.css b/cmd/telesrv-admin/web/src/styles/03-entities-and-actions.css index c0ff2864..b277a630 100644 --- a/cmd/telesrv-admin/web/src/styles/03-entities-and-actions.css +++ b/cmd/telesrv-admin/web/src/styles/03-entities-and-actions.css @@ -275,9 +275,18 @@ .gift-list-summary { margin-left: auto; color: var(--muted); font-size: 11px; font-weight: 700; } .gift-import-modal { width: min(860px, 100%); } +.gift-bulk-import-modal { width: min(480px, 100%); } +.gift-bulk-import-modal .command-body { display: grid; gap: 14px; padding: 16px 18px; } .gift-import-modal-body { gap: 14px; } .gift-source-tabs { display: flex; gap: 8px; } .official-gift-picker { display: grid; min-width: 0; gap: 12px; } +.official-gift-bulk-import { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; } +.gift-bulk-import-progress { display: flex; align-items: center; gap: 8px; min-width: 180px; } +.gift-bulk-import-progress-bar { + flex: 1 1 auto; width: 120px; height: 6px; overflow: hidden; background: #e3e8ef; border-radius: 999px; +} +.gift-bulk-import-progress-bar > div { height: 100%; background: var(--brand); border-radius: 999px; transition: width .2s ease; } +.gift-bulk-import-progress span { color: var(--muted); font-size: 11px; font-weight: 700; white-space: nowrap; } .official-gift-tools { display: flex; align-items: center; gap: 12px; } .official-gift-tools .searchbox { width: 100%; } .official-gift-tools > span { flex: 0 0 auto; color: var(--muted); font-size: 11px; font-weight: 750; } diff --git a/cmd/telesrv/main.go b/cmd/telesrv/main.go index d43960cc..e3d0ba96 100644 --- a/cmd/telesrv/main.go +++ b/cmd/telesrv/main.go @@ -453,6 +453,11 @@ func run(logger *zap.Logger) error { } else if seeded { logger.Info("官方系统账号头像种子导入完成", zap.Int64("photo_id", domain.OfficialSystemUserPhotoID)) } + if seeded, err := filesService.SeedBotFatherAvatar(ctx); err != nil { + return fmt.Errorf("seed botfather avatar: %w", err) + } else if seeded { + logger.Info("BotFather 头像种子导入完成", zap.Int64("photo_id", domain.BotFatherUserPhotoID)) + } if stats, err := filesService.WarmCaches(ctx); err != nil { logger.Warn("媒体资源缓存预热失败", zap.Error(err)) } else if stats.StickerSets > 0 || stats.Documents > 0 || stats.Blobs > 0 { diff --git a/internal/admin/service.go b/internal/admin/service.go index 802f7956..03156314 100644 --- a/internal/admin/service.go +++ b/internal/admin/service.go @@ -291,11 +291,13 @@ type ImportStarGiftRequest struct { type ImportDefaultStarGiftRequest struct { CommandMeta - ID int `json:"id"` + ID int `json:"id"` + Enabled bool `json:"enabled"` } type ImportAllDefaultStarGiftsRequest struct { CommandMeta + Enabled bool `json:"enabled"` } type ImportOfficialStarGiftRequest struct { @@ -317,6 +319,7 @@ type ImportOfficialStarGiftRequest struct { type ImportAllOfficialStarGiftsRequest struct { CommandMeta + Enabled bool `json:"enabled"` } type SetStarGiftEnabledRequest struct { @@ -1127,6 +1130,7 @@ func (s *Service) ImportDefaultStarGift(ctx context.Context, req ImportDefaultSt if err != nil { return CommandResult{}, domain.ErrStarGiftInvalid } + write.Catalog.Enabled = req.Enabled return s.runCommand(ctx, req.CommandMeta, ActionImportDefaultStarGift, 0, domain.Peer{}, req, func() (CommandResult, error) { details := map[string]any{ "id": req.ID, "title": title, @@ -1181,7 +1185,8 @@ func (s *Service) ImportAllDefaultStarGifts(ctx context.Context, req ImportAllDe Actor: req.Actor, Reason: req.Reason, }, - ID: item.ID, + ID: item.ID, + Enabled: req.Enabled, } result, opErr := s.ImportDefaultStarGift(ctx, perReq) entry := map[string]any{"id": item.ID, "title": item.Title, "status": result.Status} @@ -1428,6 +1433,7 @@ func (s *Service) ImportAllOfficialStarGifts(ctx context.Context, req ImportAllO // worth importing; CanUpgrade() is exactly the precondition // ImportOfficialStarGift enforces for IncludeCollectible. IncludeCollectible: item.CanUpgrade(), + Enabled: req.Enabled, } result, opErr := s.ImportOfficialStarGift(ctx, perReq) entry := map[string]any{"source_gift_id": perReq.SourceGiftID, "status": result.Status} diff --git a/internal/admin/service_test.go b/internal/admin/service_test.go index eff6cbbf..bc40a7ec 100644 --- a/internal/admin/service_test.go +++ b/internal/admin/service_test.go @@ -760,8 +760,8 @@ func TestImportDefaultStarGiftPublishesThroughRealService(t *testing.T) { giftService := stargiftapp.NewService(memory.NewStarGiftStore(), &adminGiftBlob{data: map[string][]byte{}}, 2) svc := NewService(Dependencies{Commands: newMemoryCommandRepo(), Gifts: giftService, Now: fixedNow}) - if list := svc.DefaultStarGifts(); len(list) != 5 { - t.Fatalf("default gifts = %d, want 5", len(list)) + if list := svc.DefaultStarGifts(); len(list) != 3 { + t.Fatalf("default gifts = %d, want 3", len(list)) } // Dry-run must not write to the catalog. @@ -773,15 +773,15 @@ func TestImportDefaultStarGiftPublishesThroughRealService(t *testing.T) { t.Fatalf("dry run wrote %d gifts", len(cat)) } - // Confirmed import-all creates the whole demo set. - all := ImportAllDefaultStarGiftsRequest{CommandMeta: CommandMeta{CommandID: "exec-default-all", Actor: "ops", Reason: "demo"}} + // Confirmed import-all creates the whole demo set, enabled per the request flag. + all := ImportAllDefaultStarGiftsRequest{CommandMeta: CommandMeta{CommandID: "exec-default-all", Actor: "ops", Reason: "demo"}, Enabled: true} result, err := svc.ImportAllDefaultStarGifts(ctx, all) - if err != nil || result.Details["imported"] != 5 { + if err != nil || result.Details["imported"] != 3 { t.Fatalf("import all: result=%+v err=%v", result, err) } catalog, err := giftService.Catalog(ctx) - if err != nil || len(catalog) != 5 { - t.Fatalf("catalog=%d err=%v, want 5", len(catalog), err) + if err != nil || len(catalog) != 3 { + t.Fatalf("catalog=%d err=%v, want 3", len(catalog), err) } limited, premium, upgradeable := 0, 0, 0 var craftGiftID int64 @@ -799,7 +799,7 @@ func TestImportDefaultStarGiftPublishesThroughRealService(t *testing.T) { craftGiftID = g.ID } } - if limited != 2 || premium != 1 || upgradeable != 4 { + if limited != 0 || premium != 0 || upgradeable != 2 { t.Fatalf("stored flags limited=%d premium=%d upgradeable=%d", limited, premium, upgradeable) } // The craftable gift must carry a craft-only (named-rarity) model. @@ -818,12 +818,43 @@ func TestImportDefaultStarGiftPublishesThroughRealService(t *testing.T) { } // Re-running import-all is idempotent: everything already present -> skipped. - result, err = svc.ImportAllDefaultStarGifts(ctx, ImportAllDefaultStarGiftsRequest{CommandMeta: CommandMeta{CommandID: "exec-default-all-2", Actor: "ops", Reason: "demo"}}) - if err != nil || result.Details["imported"] != 0 || result.Details["skipped"] != 5 { + // Enabled must match the first run's value (true) or the per-gift replay + // hits COMMAND_ID_CONFLICT since the payload would differ from the cached one. + result, err = svc.ImportAllDefaultStarGifts(ctx, ImportAllDefaultStarGiftsRequest{CommandMeta: CommandMeta{CommandID: "exec-default-all-2", Actor: "ops", Reason: "demo"}, Enabled: true}) + if err != nil || result.Details["imported"] != 0 || result.Details["skipped"] != 3 { t.Fatalf("re-import: result=%+v err=%v", result, err) } } +// TestImportDefaultStarGiftRespectsEnabledFlag is a regression test: a single +// default gift import must honor the request's Enabled flag rather than +// always landing enabled (or, before this fix, always disabled regardless of +// the admin console checkbox). +func TestImportDefaultStarGiftRespectsEnabledFlag(t *testing.T) { + ctx := context.Background() + giftService := stargiftapp.NewService(memory.NewStarGiftStore(), &adminGiftBlob{data: map[string][]byte{}}, 2) + svc := NewService(Dependencies{Commands: newMemoryCommandRepo(), Gifts: giftService, Now: fixedNow}) + + off := ImportDefaultStarGiftRequest{ID: 1, CommandMeta: CommandMeta{CommandID: "default-1-off", Actor: "ops", Reason: "demo"}, Enabled: false} + if _, err := svc.ImportDefaultStarGift(ctx, off); err != nil { + t.Fatalf("import disabled: %v", err) + } + on := ImportDefaultStarGiftRequest{ID: 2, CommandMeta: CommandMeta{CommandID: "default-2-on", Actor: "ops", Reason: "demo"}, Enabled: true} + if _, err := svc.ImportDefaultStarGift(ctx, on); err != nil { + t.Fatalf("import enabled: %v", err) + } + + // Catalog() only ever returns enabled gifts, so presence/absence here + // directly proves whether the Enabled flag was honored. + catalog, err := giftService.Catalog(ctx) + if err != nil || len(catalog) != 1 { + t.Fatalf("catalog=%d err=%v, want 1 (only the enabled gift)", len(catalog), err) + } + if catalog[0].Title != "OwpenGram Star" { + t.Fatalf("unexpected gift in catalog: %q, want %q", catalog[0].Title, "OwpenGram Star") + } +} + type adminGiftBlob struct{ data map[string][]byte } func (b *adminGiftBlob) Name() string { return "localfs" } diff --git a/internal/app/files/botfather_avatar_seed.go b/internal/app/files/botfather_avatar_seed.go new file mode 100644 index 00000000..d4d28fd3 --- /dev/null +++ b/internal/app/files/botfather_avatar_seed.go @@ -0,0 +1,54 @@ +package files + +import ( + "context" + _ "embed" + "fmt" + "time" + + "telesrv/internal/domain" +) + +//go:embed seedassets/botfather_avatar.jpg +var botFatherAvatarJPG []byte + +// SeedBotFatherAvatar idempotently seeds the built-in BotFather account's +// profile photo from the bundled avatar, mirroring SeedOfficialSystemAvatar: +// writes it under the fixed domain.BotFatherUserPhotoID so the photo/blob +// layer and the pure domain.BotFatherUser() struct literal stay in sync +// across restarts, and registers it as the account's *current* profile photo +// so users.getFullUser resolves it too. Returns true if it actually wrote a +// new photo. +func (s *Service) SeedBotFatherAvatar(ctx context.Context) (bool, error) { + photoID := domain.BotFatherUserPhotoID + wrote := false + if _, found, err := s.media.GetPhoto(ctx, photoID); err != nil { + return false, err + } else if !found { + sizes, err := s.putPhotoStaticSizes(ctx, photoID, botFatherAvatarJPG, photoSizeSpecsForAvatar(botFatherAvatarJPG)) + if err != nil { + return false, err + } + photo := domain.Photo{ + ID: photoID, + AccessHash: domain.BotFatherUserPhotoAccessHash, + FileReference: randomFileReference(), + Date: int(time.Now().Unix()), + DCID: s.dc, + Sizes: sizes, + } + if err := s.media.PutPhoto(ctx, photo); err != nil { + return false, err + } + wrote = true + } + photo, ok, err := s.SetCurrentProfilePhoto(ctx, domain.PeerTypeUser, domain.BotFatherUserID, photoID, int(time.Now().Unix())) + if err != nil { + return false, err + } + if !ok { + return false, fmt.Errorf("botfather avatar photo %d not found after seeding", photoID) + } + domain.SetBotFatherAvatar(photo.DCID, domain.StrippedFromSizes(photo.Sizes)) + return wrote, nil +} diff --git a/internal/app/files/seedassets/botfather_avatar.jpg b/internal/app/files/seedassets/botfather_avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3689487fb8d223a367debb9a0a6870cea8d7f809 GIT binary patch literal 253558 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 z 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⋙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 Pq>+2kEKL3Y|2Ox4Wu++$ literal 0 HcmV?d00001 diff --git a/internal/domain/system.go b/internal/domain/system.go index 5b7af9d5..c1748a18 100644 --- a/internal/domain/system.go +++ b/internal/domain/system.go @@ -15,6 +15,10 @@ const ( BotFatherUserID int64 = 93372553 // BotFatherAccessHash 固定不变;与迁移 0090 的种子行双写,必须保持一致。 BotFatherAccessHash int64 = 7421896403922962293 + // BotFatherUserPhotoID/AccessHash 是 BotFather 头像 photo 的固定 id, + // 与 files.Service.SeedBotFatherAvatar 种子写入的行保持一致。 + BotFatherUserPhotoID int64 = 933725530001 + BotFatherUserPhotoAccessHash int64 = 3198475620194837201 // StickersBotUserID 是内置 @Stickers 账号。它是 server 内置 service bot, // 不走外部 Bot API 进程。 @@ -43,6 +47,20 @@ func SetOfficialSystemUserAvatar(dcID int, stripped []byte) { officialSystemUserPhotoStripped = stripped } +// botFatherPhotoDCID/Stripped 由 files.Service.SeedBotFatherAvatar 在启动时 +// 通过 SetBotFatherAvatar 写入一次;写入前 BotFatherUser() 不带头像(PhotoID==0)。 +var ( + botFatherPhotoDCID int + botFatherPhotoStripped []byte +) + +// SetBotFatherAvatar 记录 BotFather 头像所在的 DC 与内联缩略图字节。 +// 只应在启动阶段、头像 seed 完成后调用一次。 +func SetBotFatherAvatar(dcID int, stripped []byte) { + botFatherPhotoDCID = dcID + botFatherPhotoStripped = stripped +} + // OfficialSystemUser 返回第一阶段内置的官方系统账号。 func OfficialSystemUser() User { u := User{ @@ -64,7 +82,7 @@ func OfficialSystemUser() User { // BotFatherUser 返回内置 BotFather 账号。username 不以 bot 结尾属种子例外(与官方一致)。 func BotFatherUser() User { - return User{ + u := User{ ID: BotFatherUserID, AccessHash: BotFatherAccessHash, FirstName: "BotFather", @@ -73,6 +91,12 @@ func BotFatherUser() User { Bot: true, BotInfoVersion: 1, } + if botFatherPhotoDCID != 0 { + u.PhotoID = BotFatherUserPhotoID + u.PhotoDCID = botFatherPhotoDCID + u.PhotoStripped = botFatherPhotoStripped + } + return u } // StickersBotUser 返回内置 @Stickers 账号。username 不以 bot 结尾属种子例外(与官方一致)。 diff --git a/internal/seed/giftdemo/source_test.go b/internal/seed/giftdemo/source_test.go index 23332cec..c5bb183f 100644 --- a/internal/seed/giftdemo/source_test.go +++ b/internal/seed/giftdemo/source_test.go @@ -29,8 +29,8 @@ func newService() *stargifts.Service { func TestListDescribesFullGiftSurface(t *testing.T) { list := List() - if len(list) != 5 { - t.Fatalf("List has %d gifts, want 5", len(list)) + if len(list) != 3 { + t.Fatalf("List has %d gifts, want 3", len(list)) } upgradeable, craftable, limited, premium := 0, 0, 0, 0 for _, g := range list { @@ -50,7 +50,8 @@ func TestListDescribesFullGiftSurface(t *testing.T) { premium++ } } - if upgradeable != 4 || craftable != 3 || limited != 2 || premium != 1 { + // One plain (Spark), one upgradeable-only (Star), one craftable (Coin). + if upgradeable != 2 || craftable != 1 || limited != 0 || premium != 0 { t.Fatalf("surface counts upgradeable=%d craftable=%d limited=%d premium=%d", upgradeable, craftable, limited, premium) } } @@ -79,8 +80,8 @@ func TestBuildBundleImportsEndToEnd(t *testing.T) { if err != nil { t.Fatal(err) } - if len(catalog) != 5 { - t.Fatalf("catalog has %d, want 5", len(catalog)) + if len(catalog) != 3 { + t.Fatalf("catalog has %d, want 3", len(catalog)) } limited, premium, upgradeable := 0, 0, 0 for _, g := range catalog { @@ -94,7 +95,7 @@ func TestBuildBundleImportsEndToEnd(t *testing.T) { upgradeable++ } } - if limited != 2 || premium != 1 || upgradeable != 4 { + if limited != 0 || premium != 0 || upgradeable != 2 { t.Fatalf("stored flags limited=%d premium=%d upgradeable=%d", limited, premium, upgradeable) } } diff --git a/internal/seed/giftdemo/specs.go b/internal/seed/giftdemo/specs.go index da2111f7..f8b8c2f0 100644 --- a/internal/seed/giftdemo/specs.go +++ b/internal/seed/giftdemo/specs.go @@ -44,18 +44,19 @@ func demoBackdrops() []backdropSpec { } } -// demoGifts returns the five demo gifts in display order. +// demoGifts returns the three demo gifts in display order, one per capability +// tier: plain (not upgradeable), upgradeable (no crafting), and craftable. func demoGifts() []giftSpec { return []giftSpec{ { - // #1 — cheapest, plain, not upgradeable. + // #1 — Звичайний: cheapest, plain, not upgradeable. title: "OwpenGram Spark", stars: 15, convert: 15, base: burst(8, colGold, motionPulse), }, { - // #2 — standard upgradeable, no crafting. + // #2 — Апгрейдебл: standard upgradeable, no crafting. title: "OwpenGram Star", stars: 50, convert: 50, @@ -76,7 +77,7 @@ func demoGifts() []giftSpec { }, }, { - // #3 — upgradeable + craftable. + // #3 — Крафтабл: upgradeable + craftable. title: "OwpenGram Coin", stars: 100, convert: 75, @@ -97,54 +98,5 @@ func demoGifts() []giftSpec { backdrops: demoBackdrops(), }, }, - { - // #4 — limited edition, upgradeable + craftable. - title: "OwpenGram Gem", - stars: 250, - convert: 200, - base: polygon(6, colViolet, colWhite, 10, motionSpinPulse), - limited: true, - availability: 5000, - upgrade: &upgradeSpec{ - upgradeStars: 800, - supplyTotal: 3000, - slug: "owg-gem", - models: []attrSpec{ - {name: "Amethyst", spec: polygon(6, colViolet, colWhite, 12, motionSpin), permille: 600}, - {name: "Verdant", spec: polygon(6, colEmerald, colWhite, 12, motionSpin), permille: 400}, - {name: "Prism", spec: polygon(8, colCyan, colWhite, 10, motionSpinPulse), crafted: true, rarity: domain.StarGiftRarityEpic}, - }, - patterns: []attrSpec{ - {name: "Facet", spec: burst(12, colViolet, motionPulse), permille: 700}, - {name: "Shine", spec: burst(8, colWhite, motionPulse), permille: 300}, - }, - backdrops: demoBackdrops(), - }, - }, - { - // #5 — premium-gated, limited, the full stack. - title: "OwpenGram Crown", - stars: 1000, - convert: 800, - base: star(3, colGold, colAmber, 12, motionSpinPulse), - limited: true, - availability: 500, - requirePremium: true, - upgrade: &upgradeSpec{ - upgradeStars: 2000, - supplyTotal: 500, - slug: "owg-crown", - models: []attrSpec{ - {name: "Regal", spec: star(3, colGold, colAmber, 14, motionSpinPulse), permille: 600}, - {name: "Noble", spec: star(5, colAmber, colGold, 12, motionSpin), permille: 400}, - {name: "Eternal", spec: star(6, colGold, colWhite, 12, motionSpinPulse), crafted: true, rarity: domain.StarGiftRarityLegendary}, - }, - patterns: []attrSpec{ - {name: "Aura", spec: burst(12, colGold, motionPulse), permille: 700}, - {name: "Crest", spec: burst(8, colWhite, motionPulse), permille: 300}, - }, - backdrops: demoBackdrops(), - }, - }, } }