keyring-chatbot-agent-sdk-test 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".chat-button{position:fixed;bottom:24px;right:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;z-index:9998}.chat-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.chat-button:active{transform:scale(.95)}.chat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;z-index:9999;pointer-events:all;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{width:90%;max-width:480px;height:700px;max-height:calc(100dvh - 64px);background:#f5f5f7;border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;margin:20px;pointer-events:all;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-modal-header{background:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e7}.chat-modal-header-left{display:flex;align-items:center;gap:12px}.keyring-logo{width:32px;height:32px}.chat-modal-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a1d}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#666;transition:all .2s}.close-button:hover{background:#f5f5f7;color:#000}.chat-user-info{background:#fff;padding:12px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5e5e7}.user-avatar{width:20px;height:20px;border-radius:50%}.user-wallet{font-size:14px;font-weight:500;color:#1a1a1d}.copy-address-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:3px;color:#999;border-radius:4px;transition:color .15s,background .15s;line-height:0}@media(min-width:640px){.copy-address-btn:hover{color:#1a1a1d;background:#f0f0f0}}.chat-modal-messages-wrapper{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-modal-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.date-separator{text-align:center;font-size:12px;font-weight:600;color:#666;background:#e5e5e7;padding:6px 16px;border-radius:12px;align-self:center;width:fit-content;margin:8px auto}.message{display:flex;animation:messageSlide .3s ease;position:relative}.message:hover .message-reply-button{opacity:1}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-reply-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e5e5e7;border-radius:8px;padding:6px;cursor:pointer;opacity:0;transition:all .2s;box-shadow:0 2px 8px #0000001a;z-index:10}.message-bot .message-reply-button{right:20px}.message-user .message-reply-button{left:20px}.message-reply-button:hover{background:#f5f5f7;transform:translateY(-50%) scale(1.1)}.message-reply-button svg{display:block;width:16px;height:16px;color:#666}.message-bot{justify-content:flex-start}.message-user{justify-content:flex-end}.message-bubble{max-width:85%;padding:14px 16px;border-radius:20px}.message-bot .message-bubble{background:#fff;box-shadow:0 2px 8px #0000000f;border-bottom-left-radius:4px}.message-user .message-bubble{background:#5b7fff;color:#fff;border-bottom-right-radius:4px}.message-reply-to{background:#0000000d;padding:8px 12px;border-radius:12px;margin-bottom:8px;border-left:3px solid #5b7fff}.message-bot .message-reply-to{background:#f5f5f7}.message-user .message-reply-to{background:#ffffff26;border-left-color:#ffffff80}.message-reply-to-label{font-size:11px;font-weight:600;margin-bottom:4px}.message-bot .message-reply-to-label{color:#5b7fff}.message-user .message-reply-to-label{color:#ffffffe6}.message-reply-to-text{font-size:12px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{font-size:14px;line-height:1.5;margin-bottom:6px;word-wrap:break-word;white-space:pre-line}.message-bot .message-text{color:#1a1a1d}.message-user .message-text{color:#fff}.message-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:8px}.message-button{flex:1 1 calc(50% - 4px);min-width:100px;padding:10px 16px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:12px;font-size:13px;font-weight:500;color:#1a1a1d;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-button.full-width{flex:1 1 100%;text-align:center;white-space:normal;padding:12px 16px;font-size:14px}@media(min-width:640px){.message-button:hover{background:#fff;border-color:#007aff;color:#007aff;transform:translateY(-1px);box-shadow:0 2px 8px #007aff26}.message-button:active{transform:translateY(0);box-shadow:0 1px 4px #007aff1a}}.message-user .message-button{background:#fff3;border-color:#ffffff4d;color:#fff}.message-user .message-button:hover{background:#ffffff4d;border-color:#ffffff80}.message-timestamp{font-size:11px;color:#999;display:flex;align-items:center;gap:4px;justify-content:flex-end}.message-user .message-timestamp{color:#ffffffb3}.check-icon{width:14px;height:14px}.typing-indicator .message-bubble{padding:12px 18px;display:flex;gap:6px;min-width:60px}.typing-dot{width:8px;height:8px;border-radius:50%;background:#999;animation:typingDot 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:10px;margin-top:8px}.suggestion-button{background:#d4d8f0;border:none;padding:12px 16px;border-radius:16px;display:flex;gap:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#1a1a1d;width:100%;text-align:center;align-items:center;justify-content:center}.suggestion-button:hover{background:#c5caeb;transform:translateY(-1px)}.suggestion-icon{font-size:18px}.chat-modal-input{padding:16px 20px;background:#fff;border-top:1px solid #e5e5e7;display:flex;flex-direction:column;gap:12px;box-shadow:0 -5px 8px 4px #0000000d}.reply-preview{background:#f5f5f7;padding:10px 14px;border-radius:6px;border-left:3px solid #5b7fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.reply-preview-content{flex:1;min-width:0}.reply-preview-label{font-size:11px;color:#5b7fff;font-weight:600;margin-bottom:4px}.reply-preview-text{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:transparent;border:none;cursor:pointer;padding:2px;color:#999;transition:color .2s;flex-shrink:0}.reply-preview-close:hover{color:#666}.chat-modal-input-row{display:flex;gap:12px;align-items:center}.chat-modal-input input{flex:1;padding:14px 18px;border:1px solid #e5e5e7;border-radius:24px;outline:none;font-size:16px;color:#1a1a1d;transition:all .2s}.chat-modal-input input::placeholder{color:#999}.chat-modal-input input:focus{border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.chat-modal-input input:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f7}.send-button{width:44px;height:44px;border-radius:50%;background:#5b7fff;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-button:hover:not(:disabled){background:#4a6fee;transform:scale(1.05)}.send-button:disabled{opacity:.4;cursor:not-allowed}.chat-modal-messages::-webkit-scrollbar{width:6px}.chat-modal-messages::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:3px}@media(max-width:640px){.chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}}.action-status{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.8em;font-weight:500}.action-status-submitted{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.action-status-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.action-status-fail{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.message-content{display:block;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden;font-size:inherit;line-height:1.5}.mc-line{min-height:1.2em;word-break:break-word}.mc-empty-line{height:.5em}.mc-heading{font-weight:600;margin:.3em 0;word-break:break-word}.mc-h1{font-size:1.4em}.mc-h2{font-size:1.2em}.mc-h3{font-size:1.05em}.mc-inline-code{background:#afb8c133;padding:1px 5px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.88em}.mc-codeblock{background:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;margin:6px 0;overflow:hidden;max-width:100%}.mc-codeblock-lang{background:#e8ecf0;padding:3px 10px;font-size:.75em;font-weight:600;color:#57606a;text-transform:uppercase;font-family:Monaco,Menlo,monospace;border-bottom:1px solid #d0d7de}.mc-codeblock pre{margin:0;padding:10px;overflow-x:auto}.mc-codeblock code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:pre}.mc-link{color:#0969da;text-decoration:none;word-break:break-word}.mc-link:hover{text-decoration:underline}.mc-image{max-width:150px;width:150px;height:150px;object-fit:contain;border-radius:8px;margin:8px 0;display:block}.mc-image-inline{width:20px;height:20px;border-radius:50%;margin:0 4px;display:inline-block;vertical-align:middle;object-fit:cover}.mc-blockquote{margin:4px 0;padding:2px 0 2px 12px;color:#57606a;border-left:3px solid #d0d7de}.mc-hr{height:1px;border:0;background:#d0d7de;margin:.4em 0}.message-content strong{font-weight:600}.message-content del{text-decoration:line-through}.action-form{background:#f8f9fb;border:1px solid #e2e6ea;border-radius:10px;padding:12px;margin-top:8px}.action-form-title{font-weight:600;font-size:.9em;margin-bottom:10px;color:#1a1a2e;display:flex;align-items:center;gap:6px}.action-form-general-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:.8em;color:#dc2626;font-weight:500;display:flex;align-items:center;gap:6px}.action-form-fields{display:flex;flex-direction:column;gap:8px}.action-form-field{display:flex;flex-direction:column;gap:3px}.action-form-field label{font-size:.75em;font-weight:500;color:#6b7280}.action-form-field input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;background:#fff;color:#1a1a2e;outline:none;transition:border-color .2s}.action-form-field input:focus{border-color:#6c5ce7;box-shadow:0 0 0 2px #6c5ce726}.action-form-field input.error{border-color:#ef4444}.action-form-field .field-error{font-size:.7em;color:#ef4444;margin-top:1px}.action-form-actions{display:flex;gap:8px;margin-top:10px}.action-form-submit{flex:1;padding:8px 14px;background:#6c5ce7;color:#fff;border:none;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .2s}.action-form-submit:hover:not(:disabled){background:#5a4bd1}.action-form-submit:disabled{background:#a5b4fc;cursor:not-allowed}.action-form-cancel{padding:8px 14px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s}.action-form-cancel:hover{background:#f3f4f6;color:#374151}.action-form-token-info{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 10px;margin-bottom:10px}.token-info-row{display:flex;align-items:center;gap:8px}.token-info-logo{border-radius:50%;flex-shrink:0}.token-info-details{display:flex;flex-direction:column;gap:2px;min-width:0}.token-info-name{font-size:.8em;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-info-balance{font-size:.75em;color:#4b5563}.token-info-usd{color:#6c5ce7;font-weight:500}.action-form-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.action-form-field-header label{margin-bottom:0}.action-form-pct-btns{display:inline-flex;gap:4px}.action-form-pct-btn{padding:1px 6px;font-size:.7em;font-weight:600;color:#6c5ce7;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;cursor:pointer;transition:all .15s}.action-form-pct-btn:hover:not(:disabled){background:#6c5ce7;color:#fff}.action-form-pct-btn:disabled{opacity:.5;cursor:not-allowed}.action-form-max-btn{font-weight:700}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:20px;background:#1a1a1dd6;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;z-index:20;transition:background .15s,transform .15s,box-shadow .15s;animation:fadeInUp .18s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:640px){.scroll-to-bottom-btn:hover{background:#2d2d35;box-shadow:0 6px 16px #0000004d;transform:scale(1.08)}}.scroll-to-bottom-btn:active{transform:scale(.96)}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".chat-button{position:fixed;bottom:24px;right:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .3s ease;z-index:9998}.chat-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.chat-button:active{transform:scale(.95)}.chat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;z-index:9999;pointer-events:all;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal{width:90%;max-width:480px;height:700px;max-height:calc(100dvh - 64px);background:#f5f5f7;border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;margin:20px;pointer-events:all;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-modal-header{background:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e5e7}.chat-modal-header-left{display:flex;align-items:center;gap:12px}.keyring-logo{width:32px;height:32px}.chat-modal-header h3{margin:0;font-size:18px;font-weight:700;color:#1a1a1d}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#666;transition:all .2s}.close-button:hover{background:#f5f5f7;color:#000}.chat-user-info{background:#fff;padding:12px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5e5e7}.user-avatar{width:20px;height:20px;border-radius:50%}.user-wallet{font-size:14px;font-weight:500;color:#1a1a1d}.copy-address-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:3px;color:#999;border-radius:4px;transition:color .15s,background .15s;line-height:0}@media(min-width:640px){.copy-address-btn:hover{color:#1a1a1d;background:#f0f0f0}}.chat-modal-messages-wrapper{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-modal-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.date-separator{text-align:center;font-size:12px;font-weight:600;color:#666;background:#e5e5e7;padding:6px 16px;border-radius:12px;align-self:center;width:fit-content;margin:8px auto}.message{display:flex;animation:messageSlide .3s ease;position:relative}.message:hover .message-reply-button{opacity:1}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-reply-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e5e5e7;border-radius:8px;padding:6px;cursor:pointer;opacity:0;transition:all .2s;box-shadow:0 2px 8px #0000001a;z-index:10}.message-bot .message-reply-button{right:20px}.message-user .message-reply-button{left:20px}.message-reply-button:hover{background:#f5f5f7;transform:translateY(-50%) scale(1.1)}.message-reply-button svg{display:block;width:16px;height:16px;color:#666}.message-bot{justify-content:flex-start}.message-user{justify-content:flex-end}.message-bubble{max-width:85%;padding:14px 16px;border-radius:20px}.message-bot .message-bubble{background:#fff;box-shadow:0 2px 8px #0000000f;border-bottom-left-radius:4px}.message-user .message-bubble{background:#5b7fff;color:#fff;border-bottom-right-radius:4px}.message-reply-to{background:#0000000d;padding:8px 12px;border-radius:12px;margin-bottom:8px;border-left:3px solid #5b7fff}.message-bot .message-reply-to{background:#f5f5f7}.message-user .message-reply-to{background:#ffffff26;border-left-color:#ffffff80}.message-reply-to-label{font-size:11px;font-weight:600;margin-bottom:4px}.message-bot .message-reply-to-label{color:#5b7fff}.message-user .message-reply-to-label{color:#ffffffe6}.message-reply-to-text{font-size:12px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text{font-size:14px;line-height:1.5;margin-bottom:6px;word-wrap:break-word;white-space:pre-line}.message-bot .message-text{color:#1a1a1d}.message-user .message-text{color:#fff}.message-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:8px}.message-button{flex:1 1 calc(50% - 4px);min-width:100px;padding:10px 16px;background:#fffffff2;border:1px solid #e0e0e0;border-radius:12px;font-size:13px;font-weight:500;color:#1a1a1d;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-button.full-width{flex:1 1 100%;text-align:center;white-space:normal;padding:12px 16px;font-size:14px}@media(min-width:640px){.message-button:hover{background:#fff;border-color:#007aff;color:#007aff;transform:translateY(-1px);box-shadow:0 2px 8px #007aff26}.message-button:active{transform:translateY(0);box-shadow:0 1px 4px #007aff1a}}.message-user .message-button{background:#fff3;border-color:#ffffff4d;color:#fff}.message-user .message-button:hover{background:#ffffff4d;border-color:#ffffff80}.message-timestamp{font-size:11px;color:#999;display:flex;align-items:center;gap:4px;justify-content:flex-end}.message-user .message-timestamp{color:#ffffffb3}.check-icon{width:14px;height:14px}.typing-indicator .message-bubble{padding:12px 18px;display:flex;gap:6px;min-width:60px}.typing-dot{width:8px;height:8px;border-radius:50%;background:#999;animation:typingDot 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-8px);opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:10px;margin-top:8px}.suggestion-button{background:#d4d8f0;border:none;padding:12px 16px;border-radius:16px;display:flex;gap:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#1a1a1d;width:100%;text-align:center;align-items:center;justify-content:center}.suggestion-button:hover{background:#c5caeb;transform:translateY(-1px)}.suggestion-icon{font-size:18px}.chat-modal-input{padding:16px 20px;background:#fff;border-top:1px solid #e5e5e7;display:flex;flex-direction:column;gap:12px;box-shadow:0 -5px 8px 4px #0000000d}.reply-preview{background:#f5f5f7;padding:10px 14px;border-radius:6px;border-left:3px solid #5b7fff;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.reply-preview-content{flex:1;min-width:0}.reply-preview-label{font-size:11px;color:#5b7fff;font-weight:600;margin-bottom:4px}.reply-preview-text{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:transparent;border:none;cursor:pointer;padding:2px;color:#999;transition:color .2s;flex-shrink:0}.reply-preview-close:hover{color:#666}.chat-modal-input-row{display:flex;gap:12px;align-items:center}.chat-modal-input input{flex:1;padding:14px 18px;border:1px solid #e5e5e7;border-radius:24px;outline:none;font-size:16px;color:#1a1a1d;transition:all .2s}.chat-modal-input input::placeholder{color:#999}.chat-modal-input input:focus{border-color:#5b7fff;box-shadow:0 0 0 3px #5b7fff1a}.chat-modal-input input:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f7}.send-button{width:44px;height:44px;border-radius:50%;background:#5b7fff;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-button:hover:not(:disabled){background:#4a6fee;transform:scale(1.05)}.send-button:disabled{opacity:.4;cursor:not-allowed}.chat-modal-messages::-webkit-scrollbar{width:6px}.chat-modal-messages::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:3px}@media(max-width:640px){.chat-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}}.action-status{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.8em;font-weight:500}.action-status-submitted{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.action-status-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.action-status-fail{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.message-content{display:block;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden;font-size:inherit;line-height:1.5}.mc-line{min-height:1.2em;word-break:break-word}.mc-empty-line{height:.5em}.mc-heading{font-weight:600;margin:.3em 0;word-break:break-word}.mc-h1{font-size:1.4em}.mc-h2{font-size:1.2em}.mc-h3{font-size:1.05em}.mc-inline-code{background:#afb8c133;padding:1px 5px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.88em}.mc-codeblock{background:#f6f8fa;border:1px solid #d0d7de;border-radius:6px;margin:6px 0;overflow:hidden;max-width:100%}.mc-codeblock-lang{background:#e8ecf0;padding:3px 10px;font-size:.75em;font-weight:600;color:#57606a;text-transform:uppercase;font-family:Monaco,Menlo,monospace;border-bottom:1px solid #d0d7de}.mc-codeblock pre{margin:0;padding:10px;overflow-x:auto}.mc-codeblock code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:.85em;line-height:1.5;color:#24292f;white-space:pre}.mc-link{color:#0969da;text-decoration:none;word-break:break-word}.mc-link:hover{text-decoration:underline}.mc-image{max-width:150px;width:150px;height:150px;object-fit:contain;border-radius:8px;margin:8px 0;display:block}.mc-image-inline{width:20px;height:20px;border-radius:50%;margin:0 4px;display:inline-block;vertical-align:middle;object-fit:cover}.mc-blockquote{margin:4px 0;padding:2px 0 2px 12px;color:#57606a;border-left:3px solid #d0d7de}.mc-hr{height:1px;border:0;background:#d0d7de;margin:.4em 0}.message-content strong{font-weight:600}.message-content del{text-decoration:line-through}.action-form{background:#f8f9fb;border:1px solid #e2e6ea;border-radius:10px;padding:12px;margin-top:8px}.action-form-title{font-weight:600;font-size:.9em;margin-bottom:10px;color:#1a1a2e;display:flex;align-items:center;gap:6px}.action-form-general-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:.8em;color:#dc2626;font-weight:500;display:flex;align-items:center;gap:6px}.action-form-fields{display:flex;flex-direction:column;gap:8px}.action-form-field{display:flex;flex-direction:column;gap:3px}.action-form-field label{font-size:.75em;font-weight:500;color:#6b7280}.action-form-field input,.action-form-field textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;background:#fff;color:#1a1a2e;outline:none;transition:border-color .2s;font-family:inherit}.action-form-field textarea{resize:none;word-break:break-all}.action-form-field input:focus,.action-form-field textarea:focus{border-color:#6c5ce7;box-shadow:0 0 0 2px #6c5ce726}.action-form-field input.error,.action-form-field textarea.error{border-color:#ef4444}.action-form-field input.readonly,.action-form-field textarea.readonly{background:#f3f4f6;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.action-form-field .field-error{font-size:.7em;color:#ef4444;margin-top:1px}.action-form-actions{display:flex;gap:8px;margin-top:10px}.action-form-submit{flex:1;padding:8px 14px;background:#6c5ce7;color:#fff;border:none;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .2s}.action-form-submit:hover:not(:disabled){background:#5a4bd1}.action-form-submit:disabled{background:#a5b4fc;cursor:not-allowed}.action-form-cancel{padding:8px 14px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s}.action-form-cancel:hover{background:#f3f4f6;color:#374151}.action-form-token-info{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:8px 10px;margin-bottom:10px}.token-info-row{display:flex;align-items:center;gap:8px}.token-info-logo{border-radius:50%;flex-shrink:0}.token-info-details{display:flex;flex-direction:column;gap:2px;min-width:0}.token-info-name{font-size:.8em;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.token-info-balance{font-size:.75em;color:#4b5563}.token-info-usd{color:#6c5ce7;font-weight:500}.action-form-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.action-form-field-header label{margin-bottom:0}.action-form-pct-btns{display:inline-flex;gap:4px}.action-form-pct-btn{padding:1px 6px;font-size:.7em;font-weight:600;color:#6c5ce7;background:#eef2ff;border:1px solid #c7d2fe;border-radius:4px;cursor:pointer;transition:all .15s}.action-form-pct-btn:hover:not(:disabled){background:#6c5ce7;color:#fff}.action-form-pct-btn:disabled{opacity:.5;cursor:not-allowed}.action-form-max-btn{font-weight:700}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:20px;background:#1a1a1dd6;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;z-index:20;transition:background .15s,transform .15s,box-shadow .15s;animation:fadeInUp .18s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:640px){.scroll-to-bottom-btn:hover{background:#2d2d35;box-shadow:0 6px 16px #0000004d;transform:scale(1.08)}}.scroll-to-bottom-btn:active{transform:scale(.96)}")),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
2
  import { jsx as R, jsxs as Ae, Fragment as Er } from "react/jsx-runtime";
3
3
  import lo, { memo as uo, useState as Ve, useCallback as Pe, createContext as yn, useContext as An, useEffect as et, useRef as tn, useMemo as Tr } from "react";
4
4
  const fo = "data:image/png;base64,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", po = uo(({ onClick: e }) => /* @__PURE__ */ R(
@@ -892,13 +892,13 @@ class oi extends Zo {
892
892
  for (let F = 0; F < 16; F++, n += 4)
893
893
  nt[F] = t.getUint32(n, !1);
894
894
  for (let F = 16; F < 64; F++) {
895
- const g = nt[F - 15], I = nt[F - 2], k = Ke(g, 7) ^ Ke(g, 18) ^ g >>> 3, w = Ke(I, 17) ^ Ke(I, 19) ^ I >>> 10;
896
- nt[F] = w + nt[F - 7] + k + nt[F - 16] | 0;
895
+ const g = nt[F - 15], I = nt[F - 2], k = Ke(g, 7) ^ Ke(g, 18) ^ g >>> 3, m = Ke(I, 17) ^ Ke(I, 19) ^ I >>> 10;
896
+ nt[F] = m + nt[F - 7] + k + nt[F - 16] | 0;
897
897
  }
898
898
  let { A: s, B: r, C: o, D: a, E: c, F: S, G: B, H: D } = this;
899
899
  for (let F = 0; F < 64; F++) {
900
- const g = Ke(c, 6) ^ Ke(c, 11) ^ Ke(c, 25), I = D + g + Qo(c, S, B) + si[F] + nt[F] | 0, w = (Ke(s, 2) ^ Ke(s, 13) ^ Ke(s, 22)) + Ko(s, r, o) | 0;
901
- D = B, B = S, S = c, c = a + I | 0, a = o, o = r, r = s, s = I + w | 0;
900
+ const g = Ke(c, 6) ^ Ke(c, 11) ^ Ke(c, 25), I = D + g + Qo(c, S, B) + si[F] + nt[F] | 0, m = (Ke(s, 2) ^ Ke(s, 13) ^ Ke(s, 22)) + Ko(s, r, o) | 0;
901
+ D = B, B = S, S = c, c = a + I | 0, a = o, o = r, r = s, s = I + m | 0;
902
902
  }
903
903
  s = s + this.A | 0, r = r + this.B | 0, o = o + this.C | 0, a = a + this.D | 0, c = c + this.E | 0, S = S + this.F | 0, B = B + this.G | 0, D = D + this.H | 0, this.set(s, r, o, a, c, S, B, D);
904
904
  }
@@ -1342,18 +1342,18 @@ function Fi(e, t) {
1342
1342
  Pi(e);
1343
1343
  let g = e.blobVersionedHashes, I = e.sidecars;
1344
1344
  if (e.blobs && (typeof g > "u" || typeof I > "u")) {
1345
- const V = typeof e.blobs[0] == "string" ? e.blobs : e.blobs.map((se) => lt(se)), j = e.kzg, le = Fr({
1346
- blobs: V,
1345
+ const H = typeof e.blobs[0] == "string" ? e.blobs : e.blobs.map((oe) => lt(oe)), j = e.kzg, le = Fr({
1346
+ blobs: H,
1347
1347
  kzg: j
1348
1348
  });
1349
1349
  if (typeof g > "u" && (g = di({
1350
1350
  commitments: le
1351
1351
  })), typeof I > "u") {
1352
- const se = Lr({ blobs: V, commitments: le, kzg: j });
1353
- I = mi({ blobs: V, commitments: le, proofs: se });
1352
+ const oe = Lr({ blobs: H, commitments: le, kzg: j });
1353
+ I = mi({ blobs: H, commitments: le, proofs: oe });
1354
1354
  }
1355
1355
  }
1356
- const k = Zt(D), w = [
1356
+ const k = Zt(D), m = [
1357
1357
  me(n),
1358
1358
  r ? me(r) : "0x",
1359
1359
  B ? me(B) : "0x",
@@ -1366,16 +1366,16 @@ function Fi(e, t) {
1366
1366
  c ? me(c) : "0x",
1367
1367
  g ?? [],
1368
1368
  ...Ot(e, t)
1369
- ], C = [], ie = [], T = [];
1369
+ ], C = [], re = [], T = [];
1370
1370
  if (I)
1371
- for (let V = 0; V < I.length; V++) {
1372
- const { blob: j, commitment: le, proof: se } = I[V];
1373
- C.push(j), ie.push(le), T.push(se);
1371
+ for (let H = 0; H < I.length; H++) {
1372
+ const { blob: j, commitment: le, proof: oe } = I[H];
1373
+ C.push(j), re.push(le), T.push(oe);
1374
1374
  }
1375
1375
  return mt([
1376
1376
  "0x03",
1377
1377
  // If sidecars are enabled, envelope turns into a "wrapper":
1378
- pt(I ? [w, C, ie, T] : w)
1378
+ pt(I ? [m, C, re, T] : m)
1379
1379
  ]);
1380
1380
  }
1381
1381
  function Li(e, t) {
@@ -2427,7 +2427,7 @@ function Ha() {
2427
2427
  messages: r,
2428
2428
  setMessages: o,
2429
2429
  addMessage: (B, D, F, g, I) => {
2430
- const k = F ? r.find((C) => C.id === F) : void 0, w = {
2430
+ const k = F ? r.find((C) => C.id === F) : void 0, m = {
2431
2431
  id: is(),
2432
2432
  text: B,
2433
2433
  sender: D,
@@ -2443,9 +2443,9 @@ function Ha() {
2443
2443
  ...I && { actionData: I }
2444
2444
  };
2445
2445
  return o((C) => {
2446
- const ie = [...C, w];
2447
- return ie.length > Ar ? ie.slice(ie.length - Ar) : ie;
2448
- }), w;
2446
+ const re = [...C, m];
2447
+ return re.length > Ar ? re.slice(re.length - Ar) : re;
2448
+ }), m;
2449
2449
  },
2450
2450
  updateMessageAction: (B, D) => {
2451
2451
  o(
@@ -2477,7 +2477,7 @@ const cs = yn(
2477
2477
  };
2478
2478
  var qa = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, ln = Math.ceil, Xe = Math.floor, Le = "[BigNumber Error] ", vr = Le + "Number primitive has more than 15 significant digits: ", je = 1e14, ue = 14, dn = 9007199254740991, un = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13], rt = 1e7, Ue = 1e9;
2479
2479
  function ls(e) {
2480
- var t, n, s, r = T.prototype = { constructor: T, toString: null, valueOf: null }, o = new T(1), a = 20, c = 4, S = -7, B = 21, D = -1e7, F = 1e7, g = !1, I = 1, k = 0, w = {
2480
+ var t, n, s, r = T.prototype = { constructor: T, toString: null, valueOf: null }, o = new T(1), a = 20, c = 4, S = -7, B = 21, D = -1e7, F = 1e7, g = !1, I = 1, k = 0, m = {
2481
2481
  prefix: "",
2482
2482
  groupSize: 3,
2483
2483
  secondaryGroupSize: 0,
@@ -2487,9 +2487,9 @@ function ls(e) {
2487
2487
  fractionGroupSeparator: " ",
2488
2488
  // non-breaking space
2489
2489
  suffix: ""
2490
- }, C = "0123456789abcdefghijklmnopqrstuvwxyz", ie = !0;
2490
+ }, C = "0123456789abcdefghijklmnopqrstuvwxyz", re = !0;
2491
2491
  function T(i, l) {
2492
- var u, y, h, b, E, p, m, x, v = this;
2492
+ var u, y, h, b, E, p, w, x, v = this;
2493
2493
  if (!(v instanceof T)) return new T(i, l);
2494
2494
  if (l == null) {
2495
2495
  if (i && i._isBigNumber === !0) {
@@ -2509,19 +2509,19 @@ function ls(e) {
2509
2509
  }
2510
2510
  (b = x.indexOf(".")) > -1 && (x = x.replace(".", "")), (E = x.search(/e/i)) > 0 ? (b < 0 && (b = E), b += +x.slice(E + 1), x = x.substring(0, E)) : b < 0 && (b = x.length);
2511
2511
  } else {
2512
- if (De(l, 2, C.length, "Base"), l == 10 && ie)
2513
- return v = new T(i), se(v, a + v.e + 1, c);
2512
+ if (De(l, 2, C.length, "Base"), l == 10 && re)
2513
+ return v = new T(i), oe(v, a + v.e + 1, c);
2514
2514
  if (x = String(i), p = typeof i == "number") {
2515
2515
  if (i * 0 != 0) return s(v, x, p, l);
2516
2516
  if (v.s = 1 / i < 0 ? (x = x.slice(1), -1) : 1, T.DEBUG && x.replace(/^0\.0*|\./, "").length > 15)
2517
2517
  throw Error(vr + i);
2518
2518
  } else
2519
2519
  v.s = x.charCodeAt(0) === 45 ? (x = x.slice(1), -1) : 1;
2520
- for (u = C.slice(0, l), b = E = 0, m = x.length; E < m; E++)
2520
+ for (u = C.slice(0, l), b = E = 0, w = x.length; E < w; E++)
2521
2521
  if (u.indexOf(y = x.charAt(E)) < 0) {
2522
2522
  if (y == ".") {
2523
2523
  if (E > b) {
2524
- b = m;
2524
+ b = w;
2525
2525
  continue;
2526
2526
  }
2527
2527
  } else if (!h && (x == x.toUpperCase() && (x = x.toLowerCase()) || x == x.toLowerCase() && (x = x.toUpperCase()))) {
@@ -2533,21 +2533,21 @@ function ls(e) {
2533
2533
  p = !1, x = n(x, l, 10, v.s), (b = x.indexOf(".")) > -1 ? x = x.replace(".", "") : b = x.length;
2534
2534
  }
2535
2535
  for (E = 0; x.charCodeAt(E) === 48; E++) ;
2536
- for (m = x.length; x.charCodeAt(--m) === 48; ) ;
2537
- if (x = x.slice(E, ++m)) {
2538
- if (m -= E, p && T.DEBUG && m > 15 && (i > dn || i !== Xe(i)))
2536
+ for (w = x.length; x.charCodeAt(--w) === 48; ) ;
2537
+ if (x = x.slice(E, ++w)) {
2538
+ if (w -= E, p && T.DEBUG && w > 15 && (i > dn || i !== Xe(i)))
2539
2539
  throw Error(vr + v.s * i);
2540
2540
  if ((b = b - E - 1) > F)
2541
2541
  v.c = v.e = null;
2542
2542
  else if (b < D)
2543
2543
  v.c = [v.e = 0];
2544
2544
  else {
2545
- if (v.e = b, v.c = [], E = (b + 1) % ue, b < 0 && (E += ue), E < m) {
2546
- for (E && v.c.push(+x.slice(0, E)), m -= ue; E < m; )
2545
+ if (v.e = b, v.c = [], E = (b + 1) % ue, b < 0 && (E += ue), E < w) {
2546
+ for (E && v.c.push(+x.slice(0, E)), w -= ue; E < w; )
2547
2547
  v.c.push(+x.slice(E, E += ue));
2548
2548
  E = ue - (x = x.slice(E)).length;
2549
2549
  } else
2550
- E -= m;
2550
+ E -= w;
2551
2551
  for (; E--; x += "0") ;
2552
2552
  v.c.push(+x);
2553
2553
  }
@@ -2577,11 +2577,11 @@ function ls(e) {
2577
2577
  else
2578
2578
  throw Error(Le + l + " not true or false: " + u);
2579
2579
  if (i.hasOwnProperty(l = "MODULO_MODE") && (u = i[l], De(u, 0, 9, l), I = u), i.hasOwnProperty(l = "POW_PRECISION") && (u = i[l], De(u, 0, Ue, l), k = u), i.hasOwnProperty(l = "FORMAT"))
2580
- if (u = i[l], typeof u == "object") w = u;
2580
+ if (u = i[l], typeof u == "object") m = u;
2581
2581
  else throw Error(Le + l + " not an object: " + u);
2582
2582
  if (i.hasOwnProperty(l = "ALPHABET"))
2583
2583
  if (u = i[l], typeof u == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(u))
2584
- ie = u.slice(0, 10) == "0123456789", C = u;
2584
+ re = u.slice(0, 10) == "0123456789", C = u;
2585
2585
  else
2586
2586
  throw Error(Le + l + " invalid: " + u);
2587
2587
  } else
@@ -2594,7 +2594,7 @@ function ls(e) {
2594
2594
  CRYPTO: g,
2595
2595
  MODULO_MODE: I,
2596
2596
  POW_PRECISION: k,
2597
- FORMAT: w,
2597
+ FORMAT: m,
2598
2598
  ALPHABET: C
2599
2599
  };
2600
2600
  }, T.isBigNumber = function(i) {
@@ -2627,28 +2627,28 @@ function ls(e) {
2627
2627
  return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
2628
2628
  };
2629
2629
  return function(u) {
2630
- var y, h, b, E, p, m = 0, x = [], v = new T(o);
2630
+ var y, h, b, E, p, w = 0, x = [], v = new T(o);
2631
2631
  if (u == null ? u = a : De(u, 0, Ue), E = ln(u / ue), g)
2632
2632
  if (crypto.getRandomValues) {
2633
- for (y = crypto.getRandomValues(new Uint32Array(E *= 2)); m < E; )
2634
- p = y[m] * 131072 + (y[m + 1] >>> 11), p >= 9e15 ? (h = crypto.getRandomValues(new Uint32Array(2)), y[m] = h[0], y[m + 1] = h[1]) : (x.push(p % 1e14), m += 2);
2635
- m = E / 2;
2633
+ for (y = crypto.getRandomValues(new Uint32Array(E *= 2)); w < E; )
2634
+ p = y[w] * 131072 + (y[w + 1] >>> 11), p >= 9e15 ? (h = crypto.getRandomValues(new Uint32Array(2)), y[w] = h[0], y[w + 1] = h[1]) : (x.push(p % 1e14), w += 2);
2635
+ w = E / 2;
2636
2636
  } else if (crypto.randomBytes) {
2637
- for (y = crypto.randomBytes(E *= 7); m < E; )
2638
- p = (y[m] & 31) * 281474976710656 + y[m + 1] * 1099511627776 + y[m + 2] * 4294967296 + y[m + 3] * 16777216 + (y[m + 4] << 16) + (y[m + 5] << 8) + y[m + 6], p >= 9e15 ? crypto.randomBytes(7).copy(y, m) : (x.push(p % 1e14), m += 7);
2639
- m = E / 7;
2637
+ for (y = crypto.randomBytes(E *= 7); w < E; )
2638
+ p = (y[w] & 31) * 281474976710656 + y[w + 1] * 1099511627776 + y[w + 2] * 4294967296 + y[w + 3] * 16777216 + (y[w + 4] << 16) + (y[w + 5] << 8) + y[w + 6], p >= 9e15 ? crypto.randomBytes(7).copy(y, w) : (x.push(p % 1e14), w += 7);
2639
+ w = E / 7;
2640
2640
  } else
2641
2641
  throw g = !1, Error(Le + "crypto unavailable");
2642
2642
  if (!g)
2643
- for (; m < E; )
2644
- p = l(), p < 9e15 && (x[m++] = p % 1e14);
2645
- for (E = x[--m], u %= ue, E && u && (p = un[ue - u], x[m] = Xe(E / p) * p); x[m] === 0; x.pop(), m--) ;
2646
- if (m < 0)
2643
+ for (; w < E; )
2644
+ p = l(), p < 9e15 && (x[w++] = p % 1e14);
2645
+ for (E = x[--w], u %= ue, E && u && (p = un[ue - u], x[w] = Xe(E / p) * p); x[w] === 0; x.pop(), w--) ;
2646
+ if (w < 0)
2647
2647
  x = [b = 0];
2648
2648
  else {
2649
2649
  for (b = -1; x[0] === 0; x.splice(0, 1), b -= ue) ;
2650
- for (m = 1, p = x[0]; p >= 10; p /= 10, m++) ;
2651
- m < ue && (b -= ue - m);
2650
+ for (w = 1, p = x[0]; p >= 10; p /= 10, w++) ;
2651
+ w < ue && (b -= ue - w);
2652
2652
  }
2653
2653
  return v.e = b, v.c = x, v;
2654
2654
  };
@@ -2658,15 +2658,15 @@ function ls(e) {
2658
2658
  }, n = /* @__PURE__ */ (function() {
2659
2659
  var i = "0123456789";
2660
2660
  function l(u, y, h, b) {
2661
- for (var E, p = [0], m, x = 0, v = u.length; x < v; ) {
2662
- for (m = p.length; m--; p[m] *= y) ;
2661
+ for (var E, p = [0], w, x = 0, v = u.length; x < v; ) {
2662
+ for (w = p.length; w--; p[w] *= y) ;
2663
2663
  for (p[0] += b.indexOf(u.charAt(x++)), E = 0; E < p.length; E++)
2664
2664
  p[E] > h - 1 && (p[E + 1] == null && (p[E + 1] = 0), p[E + 1] += p[E] / h | 0, p[E] %= h);
2665
2665
  }
2666
2666
  return p.reverse();
2667
2667
  }
2668
2668
  return function(u, y, h, b, E) {
2669
- var p, m, x, v, P, X, K, pe, Ee = u.indexOf("."), Ie = a, z = c;
2669
+ var p, w, x, v, P, X, K, pe, Ee = u.indexOf("."), Ie = a, V = c;
2670
2670
  for (Ee >= 0 && (v = k, k = 0, u = u.replace(".", ""), pe = new T(y), X = pe.pow(u.length - Ee), k = v, pe.c = l(
2671
2671
  $e(Ye(X.c), X.e, "0"),
2672
2672
  10,
@@ -2674,12 +2674,12 @@ function ls(e) {
2674
2674
  i
2675
2675
  ), pe.e = pe.c.length), K = l(u, y, h, E ? (p = C, i) : (p = i, C)), x = v = K.length; K[--v] == 0; K.pop()) ;
2676
2676
  if (!K[0]) return p.charAt(0);
2677
- if (Ee < 0 ? --x : (X.c = K, X.e = x, X.s = b, X = t(X, pe, Ie, z, h), K = X.c, P = X.r, x = X.e), m = x + Ie + 1, Ee = K[m], v = h / 2, P = P || m < 0 || K[m + 1] != null, P = z < 4 ? (Ee != null || P) && (z == 0 || z == (X.s < 0 ? 3 : 2)) : Ee > v || Ee == v && (z == 4 || P || z == 6 && K[m - 1] & 1 || z == (X.s < 0 ? 8 : 7)), m < 1 || !K[0])
2677
+ if (Ee < 0 ? --x : (X.c = K, X.e = x, X.s = b, X = t(X, pe, Ie, V, h), K = X.c, P = X.r, x = X.e), w = x + Ie + 1, Ee = K[w], v = h / 2, P = P || w < 0 || K[w + 1] != null, P = V < 4 ? (Ee != null || P) && (V == 0 || V == (X.s < 0 ? 3 : 2)) : Ee > v || Ee == v && (V == 4 || P || V == 6 && K[w - 1] & 1 || V == (X.s < 0 ? 8 : 7)), w < 1 || !K[0])
2678
2678
  u = P ? $e(p.charAt(1), -Ie, p.charAt(0)) : p.charAt(0);
2679
2679
  else {
2680
- if (K.length = m, P)
2681
- for (--h; ++K[--m] > h; )
2682
- K[m] = 0, m || (++x, K = [1].concat(K));
2680
+ if (K.length = w, P)
2681
+ for (--h; ++K[--w] > h; )
2682
+ K[w] = 0, w || (++x, K = [1].concat(K));
2683
2683
  for (v = K.length; !K[--v]; ) ;
2684
2684
  for (Ee = 0, u = ""; Ee <= v; u += p.charAt(K[Ee++])) ;
2685
2685
  u = $e(u, x, p.charAt(0));
@@ -2688,22 +2688,22 @@ function ls(e) {
2688
2688
  };
2689
2689
  })(), t = /* @__PURE__ */ (function() {
2690
2690
  function i(y, h, b) {
2691
- var E, p, m, x, v = 0, P = y.length, X = h % rt, K = h / rt | 0;
2691
+ var E, p, w, x, v = 0, P = y.length, X = h % rt, K = h / rt | 0;
2692
2692
  for (y = y.slice(); P--; )
2693
- m = y[P] % rt, x = y[P] / rt | 0, E = K * m + x * X, p = X * m + E % rt * rt + v, v = (p / b | 0) + (E / rt | 0) + K * x, y[P] = p % b;
2693
+ w = y[P] % rt, x = y[P] / rt | 0, E = K * w + x * X, p = X * w + E % rt * rt + v, v = (p / b | 0) + (E / rt | 0) + K * x, y[P] = p % b;
2694
2694
  return v && (y = [v].concat(y)), y;
2695
2695
  }
2696
2696
  function l(y, h, b, E) {
2697
- var p, m;
2697
+ var p, w;
2698
2698
  if (b != E)
2699
- m = b > E ? 1 : -1;
2699
+ w = b > E ? 1 : -1;
2700
2700
  else
2701
- for (p = m = 0; p < b; p++)
2701
+ for (p = w = 0; p < b; p++)
2702
2702
  if (y[p] != h[p]) {
2703
- m = y[p] > h[p] ? 1 : -1;
2703
+ w = y[p] > h[p] ? 1 : -1;
2704
2704
  break;
2705
2705
  }
2706
- return m;
2706
+ return w;
2707
2707
  }
2708
2708
  function u(y, h, b, E) {
2709
2709
  for (var p = 0; b--; )
@@ -2711,57 +2711,57 @@ function ls(e) {
2711
2711
  for (; !y[0] && y.length > 1; y.splice(0, 1)) ;
2712
2712
  }
2713
2713
  return function(y, h, b, E, p) {
2714
- var m, x, v, P, X, K, pe, Ee, Ie, z, he, U, J, H, Z, G, Y, L = y.s == h.s ? 1 : -1, _ = y.c, q = h.c;
2715
- if (!_ || !_[0] || !q || !q[0])
2714
+ var w, x, v, P, X, K, pe, Ee, Ie, V, he, U, J, z, Z, Y, W, L = y.s == h.s ? 1 : -1, _ = y.c, G = h.c;
2715
+ if (!_ || !_[0] || !G || !G[0])
2716
2716
  return new T(
2717
2717
  // Return NaN if either NaN, or both Infinity or 0.
2718
- !y.s || !h.s || (_ ? q && _[0] == q[0] : !q) ? NaN : (
2718
+ !y.s || !h.s || (_ ? G && _[0] == G[0] : !G) ? NaN : (
2719
2719
  // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.
2720
- _ && _[0] == 0 || !q ? L * 0 : L / 0
2720
+ _ && _[0] == 0 || !G ? L * 0 : L / 0
2721
2721
  )
2722
2722
  );
2723
- for (Ee = new T(L), Ie = Ee.c = [], x = y.e - h.e, L = b + x + 1, p || (p = je, x = Je(y.e / ue) - Je(h.e / ue), L = L / ue | 0), v = 0; q[v] == (_[v] || 0); v++) ;
2724
- if (q[v] > (_[v] || 0) && x--, L < 0)
2723
+ for (Ee = new T(L), Ie = Ee.c = [], x = y.e - h.e, L = b + x + 1, p || (p = je, x = Je(y.e / ue) - Je(h.e / ue), L = L / ue | 0), v = 0; G[v] == (_[v] || 0); v++) ;
2724
+ if (G[v] > (_[v] || 0) && x--, L < 0)
2725
2725
  Ie.push(1), P = !0;
2726
2726
  else {
2727
- for (H = _.length, G = q.length, v = 0, L += 2, X = Xe(p / (q[0] + 1)), X > 1 && (q = i(q, X, p), _ = i(_, X, p), G = q.length, H = _.length), J = G, z = _.slice(0, G), he = z.length; he < G; z[he++] = 0) ;
2728
- Y = q.slice(), Y = [0].concat(Y), Z = q[0], q[1] >= p / 2 && Z++;
2727
+ for (z = _.length, Y = G.length, v = 0, L += 2, X = Xe(p / (G[0] + 1)), X > 1 && (G = i(G, X, p), _ = i(_, X, p), Y = G.length, z = _.length), J = Y, V = _.slice(0, Y), he = V.length; he < Y; V[he++] = 0) ;
2728
+ W = G.slice(), W = [0].concat(W), Z = G[0], G[1] >= p / 2 && Z++;
2729
2729
  do {
2730
- if (X = 0, m = l(q, z, G, he), m < 0) {
2731
- if (U = z[0], G != he && (U = U * p + (z[1] || 0)), X = Xe(U / Z), X > 1)
2732
- for (X >= p && (X = p - 1), K = i(q, X, p), pe = K.length, he = z.length; l(K, z, pe, he) == 1; )
2733
- X--, u(K, G < pe ? Y : q, pe, p), pe = K.length, m = 1;
2730
+ if (X = 0, w = l(G, V, Y, he), w < 0) {
2731
+ if (U = V[0], Y != he && (U = U * p + (V[1] || 0)), X = Xe(U / Z), X > 1)
2732
+ for (X >= p && (X = p - 1), K = i(G, X, p), pe = K.length, he = V.length; l(K, V, pe, he) == 1; )
2733
+ X--, u(K, Y < pe ? W : G, pe, p), pe = K.length, w = 1;
2734
2734
  else
2735
- X == 0 && (m = X = 1), K = q.slice(), pe = K.length;
2736
- if (pe < he && (K = [0].concat(K)), u(z, K, he, p), he = z.length, m == -1)
2737
- for (; l(q, z, G, he) < 1; )
2738
- X++, u(z, G < he ? Y : q, he, p), he = z.length;
2739
- } else m === 0 && (X++, z = [0]);
2740
- Ie[v++] = X, z[0] ? z[he++] = _[J] || 0 : (z = [_[J]], he = 1);
2741
- } while ((J++ < H || z[0] != null) && L--);
2742
- P = z[0] != null, Ie[0] || Ie.splice(0, 1);
2735
+ X == 0 && (w = X = 1), K = G.slice(), pe = K.length;
2736
+ if (pe < he && (K = [0].concat(K)), u(V, K, he, p), he = V.length, w == -1)
2737
+ for (; l(G, V, Y, he) < 1; )
2738
+ X++, u(V, Y < he ? W : G, he, p), he = V.length;
2739
+ } else w === 0 && (X++, V = [0]);
2740
+ Ie[v++] = X, V[0] ? V[he++] = _[J] || 0 : (V = [_[J]], he = 1);
2741
+ } while ((J++ < z || V[0] != null) && L--);
2742
+ P = V[0] != null, Ie[0] || Ie.splice(0, 1);
2743
2743
  }
2744
2744
  if (p == je) {
2745
2745
  for (v = 1, L = Ie[0]; L >= 10; L /= 10, v++) ;
2746
- se(Ee, b + (Ee.e = v + x * ue - 1) + 1, E, P);
2746
+ oe(Ee, b + (Ee.e = v + x * ue - 1) + 1, E, P);
2747
2747
  } else
2748
2748
  Ee.e = x, Ee.r = +P;
2749
2749
  return Ee;
2750
2750
  };
2751
2751
  })();
2752
- function V(i, l, u, y) {
2753
- var h, b, E, p, m;
2752
+ function H(i, l, u, y) {
2753
+ var h, b, E, p, w;
2754
2754
  if (u == null ? u = c : De(u, 0, 8), !i.c) return i.toString();
2755
2755
  if (h = i.c[0], E = i.e, l == null)
2756
- m = Ye(i.c), m = y == 1 || y == 2 && (E <= S || E >= B) ? Vt(m, E) : $e(m, E, "0");
2757
- else if (i = se(new T(i), l, u), b = i.e, m = Ye(i.c), p = m.length, y == 1 || y == 2 && (l <= b || b <= S)) {
2758
- for (; p < l; m += "0", p++) ;
2759
- m = Vt(m, b);
2760
- } else if (l -= E + (y === 2 && b > E), m = $e(m, b, "0"), b + 1 > p) {
2761
- if (--l > 0) for (m += "."; l--; m += "0") ;
2756
+ w = Ye(i.c), w = y == 1 || y == 2 && (E <= S || E >= B) ? Vt(w, E) : $e(w, E, "0");
2757
+ else if (i = oe(new T(i), l, u), b = i.e, w = Ye(i.c), p = w.length, y == 1 || y == 2 && (l <= b || b <= S)) {
2758
+ for (; p < l; w += "0", p++) ;
2759
+ w = Vt(w, b);
2760
+ } else if (l -= E + (y === 2 && b > E), w = $e(w, b, "0"), b + 1 > p) {
2761
+ if (--l > 0) for (w += "."; l--; w += "0") ;
2762
2762
  } else if (l += b - p, l > 0)
2763
- for (b + 1 == p && (m += "."); l--; m += "0") ;
2764
- return i.s < 0 && h ? "-" + m : m;
2763
+ for (b + 1 == p && (w += "."); l--; w += "0") ;
2764
+ return i.s < 0 && h ? "-" + w : w;
2765
2765
  }
2766
2766
  function j(i, l) {
2767
2767
  for (var u, y, h = 1, b = new T(i[0]); h < i.length; h++)
@@ -2775,46 +2775,46 @@ function ls(e) {
2775
2775
  }
2776
2776
  s = /* @__PURE__ */ (function() {
2777
2777
  var i = /^(-?)0([xbo])(?=\w[\w.]*$)/i, l = /^([^.]+)\.$/, u = /^\.([^.]+)$/, y = /^-?(Infinity|NaN)$/, h = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
2778
- return function(b, E, p, m) {
2778
+ return function(b, E, p, w) {
2779
2779
  var x, v = p ? E : E.replace(h, "");
2780
2780
  if (y.test(v))
2781
2781
  b.s = isNaN(v) ? null : v < 0 ? -1 : 1;
2782
2782
  else {
2783
2783
  if (!p && (v = v.replace(i, function(P, X, K) {
2784
- return x = (K = K.toLowerCase()) == "x" ? 16 : K == "b" ? 2 : 8, !m || m == x ? X : P;
2785
- }), m && (x = m, v = v.replace(l, "$1").replace(u, "0.$1")), E != v))
2784
+ return x = (K = K.toLowerCase()) == "x" ? 16 : K == "b" ? 2 : 8, !w || w == x ? X : P;
2785
+ }), w && (x = w, v = v.replace(l, "$1").replace(u, "0.$1")), E != v))
2786
2786
  return new T(v, x);
2787
2787
  if (T.DEBUG)
2788
- throw Error(Le + "Not a" + (m ? " base " + m : "") + " number: " + E);
2788
+ throw Error(Le + "Not a" + (w ? " base " + w : "") + " number: " + E);
2789
2789
  b.s = null;
2790
2790
  }
2791
2791
  b.c = b.e = null;
2792
2792
  };
2793
2793
  })();
2794
- function se(i, l, u, y) {
2795
- var h, b, E, p, m, x, v, P = i.c, X = un;
2794
+ function oe(i, l, u, y) {
2795
+ var h, b, E, p, w, x, v, P = i.c, X = un;
2796
2796
  if (P) {
2797
2797
  e: {
2798
2798
  for (h = 1, p = P[0]; p >= 10; p /= 10, h++) ;
2799
2799
  if (b = l - h, b < 0)
2800
- b += ue, E = l, m = P[x = 0], v = Xe(m / X[h - E - 1] % 10);
2800
+ b += ue, E = l, w = P[x = 0], v = Xe(w / X[h - E - 1] % 10);
2801
2801
  else if (x = ln((b + 1) / ue), x >= P.length)
2802
2802
  if (y) {
2803
2803
  for (; P.length <= x; P.push(0)) ;
2804
- m = v = 0, h = 1, b %= ue, E = b - ue + 1;
2804
+ w = v = 0, h = 1, b %= ue, E = b - ue + 1;
2805
2805
  } else
2806
2806
  break e;
2807
2807
  else {
2808
- for (m = p = P[x], h = 1; p >= 10; p /= 10, h++) ;
2809
- b %= ue, E = b - ue + h, v = E < 0 ? 0 : Xe(m / X[h - E - 1] % 10);
2808
+ for (w = p = P[x], h = 1; p >= 10; p /= 10, h++) ;
2809
+ b %= ue, E = b - ue + h, v = E < 0 ? 0 : Xe(w / X[h - E - 1] % 10);
2810
2810
  }
2811
2811
  if (y = y || l < 0 || // Are there any non-zero digits after the rounding digit?
2812
2812
  // The expression n % pows10[d - j - 1] returns all digits of n to the right
2813
2813
  // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.
2814
- P[x + 1] != null || (E < 0 ? m : m % X[h - E - 1]), y = u < 4 ? (v || y) && (u == 0 || u == (i.s < 0 ? 3 : 2)) : v > 5 || v == 5 && (u == 4 || y || u == 6 && // Check whether the digit to the left of the rounding digit is odd.
2815
- (b > 0 ? E > 0 ? m / X[h - E] : 0 : P[x - 1]) % 10 & 1 || u == (i.s < 0 ? 8 : 7)), l < 1 || !P[0])
2814
+ P[x + 1] != null || (E < 0 ? w : w % X[h - E - 1]), y = u < 4 ? (v || y) && (u == 0 || u == (i.s < 0 ? 3 : 2)) : v > 5 || v == 5 && (u == 4 || y || u == 6 && // Check whether the digit to the left of the rounding digit is odd.
2815
+ (b > 0 ? E > 0 ? w / X[h - E] : 0 : P[x - 1]) % 10 & 1 || u == (i.s < 0 ? 8 : 7)), l < 1 || !P[0])
2816
2816
  return P.length = 0, y ? (l -= i.e + 1, P[0] = X[(ue - l % ue) % ue], i.e = -l || 0) : P[0] = i.e = 0, i;
2817
- if (b == 0 ? (P.length = x, p = 1, x--) : (P.length = x + 1, p = X[ue - b], P[x] = E > 0 ? Xe(m / X[h - E] % X[E]) * p : 0), y)
2817
+ if (b == 0 ? (P.length = x, p = 1, x--) : (P.length = x + 1, p = X[ue - b], P[x] = E > 0 ? Xe(w / X[h - E] % X[E]) * p : 0), y)
2818
2818
  for (; ; )
2819
2819
  if (x == 0) {
2820
2820
  for (b = 1, E = P[0]; E >= 10; E /= 10, b++) ;
@@ -2843,7 +2843,7 @@ function ls(e) {
2843
2843
  }, r.decimalPlaces = r.dp = function(i, l) {
2844
2844
  var u, y, h, b = this;
2845
2845
  if (i != null)
2846
- return De(i, 0, Ue), l == null ? l = c : De(l, 0, 8), se(new T(b), i + b.e + 1, l);
2846
+ return De(i, 0, Ue), l == null ? l = c : De(l, 0, 8), oe(new T(b), i + b.e + 1, l);
2847
2847
  if (!(u = b.c)) return null;
2848
2848
  if (y = ((h = u.length - 1) - Je(this.e / ue)) * ue, h = u[h]) for (; h % 10 == 0; h /= 10, y--) ;
2849
2849
  return y < 0 && (y = 0), y;
@@ -2852,20 +2852,20 @@ function ls(e) {
2852
2852
  }, r.dividedToIntegerBy = r.idiv = function(i, l) {
2853
2853
  return t(this, new T(i, l), 0, 1);
2854
2854
  }, r.exponentiatedBy = r.pow = function(i, l) {
2855
- var u, y, h, b, E, p, m, x, v, P = this;
2855
+ var u, y, h, b, E, p, w, x, v, P = this;
2856
2856
  if (i = new T(i), i.c && !i.isInteger())
2857
2857
  throw Error(Le + "Exponent not an integer: " + Se(i));
2858
2858
  if (l != null && (l = new T(l)), p = i.e > 14, !P.c || !P.c[0] || P.c[0] == 1 && !P.e && P.c.length == 1 || !i.c || !i.c[0])
2859
2859
  return v = new T(Math.pow(+Se(P), p ? i.s * (2 - zt(i)) : +Se(i))), l ? v.mod(l) : v;
2860
- if (m = i.s < 0, l) {
2860
+ if (w = i.s < 0, l) {
2861
2861
  if (l.c ? !l.c[0] : !l.s) return new T(NaN);
2862
- y = !m && P.isInteger() && l.isInteger(), y && (P = P.mod(l));
2862
+ y = !w && P.isInteger() && l.isInteger(), y && (P = P.mod(l));
2863
2863
  } else {
2864
2864
  if (i.e > 9 && (P.e > 0 || P.e < -1 || (P.e == 0 ? P.c[0] > 1 || p && P.c[1] >= 24e7 : P.c[0] < 8e13 || p && P.c[0] <= 9999975e7)))
2865
- return b = P.s < 0 && zt(i) ? -0 : 0, P.e > -1 && (b = 1 / b), new T(m ? 1 / b : b);
2865
+ return b = P.s < 0 && zt(i) ? -0 : 0, P.e > -1 && (b = 1 / b), new T(w ? 1 / b : b);
2866
2866
  k && (b = ln(k / ue + 2));
2867
2867
  }
2868
- for (p ? (u = new T(0.5), m && (i.s = 1), x = zt(i)) : (h = Math.abs(+Se(i)), x = h % 2), v = new T(o); ; ) {
2868
+ for (p ? (u = new T(0.5), w && (i.s = 1), x = zt(i)) : (h = Math.abs(+Se(i)), x = h % 2), v = new T(o); ; ) {
2869
2869
  if (x) {
2870
2870
  if (v = v.times(P), !v.c) break;
2871
2871
  b ? v.c.length > b && (v.c.length = b) : y && (v = v.mod(l));
@@ -2873,7 +2873,7 @@ function ls(e) {
2873
2873
  if (h) {
2874
2874
  if (h = Xe(h / 2), h === 0) break;
2875
2875
  x = h % 2;
2876
- } else if (i = i.times(u), se(i, i.e + 1, 1), i.e > 14)
2876
+ } else if (i = i.times(u), oe(i, i.e + 1, 1), i.e > 14)
2877
2877
  x = zt(i);
2878
2878
  else {
2879
2879
  if (h = +Se(i), h === 0) break;
@@ -2881,10 +2881,10 @@ function ls(e) {
2881
2881
  }
2882
2882
  P = P.times(P), b ? P.c && P.c.length > b && (P.c.length = b) : y && (P = P.mod(l));
2883
2883
  }
2884
- return y ? v : (m && (v = o.div(v)), l ? v.mod(l) : b ? se(v, k, c, E) : v);
2884
+ return y ? v : (w && (v = o.div(v)), l ? v.mod(l) : b ? oe(v, k, c, E) : v);
2885
2885
  }, r.integerValue = function(i) {
2886
2886
  var l = new T(this);
2887
- return i == null ? i = c : De(i, 0, 8), se(l, l.e + 1, i);
2887
+ return i == null ? i = c : De(i, 0, 8), oe(l, l.e + 1, i);
2888
2888
  }, r.isEqualTo = r.eq = function(i, l) {
2889
2889
  return dt(this, new T(i, l)) === 0;
2890
2890
  }, r.isFinite = function() {
@@ -2912,8 +2912,8 @@ function ls(e) {
2912
2912
  if (i = new T(i, l), l = i.s, !p || !l) return new T(NaN);
2913
2913
  if (p != l)
2914
2914
  return i.s = -l, E.plus(i);
2915
- var m = E.e / ue, x = i.e / ue, v = E.c, P = i.c;
2916
- if (!m || !x) {
2915
+ var w = E.e / ue, x = i.e / ue, v = E.c, P = i.c;
2916
+ if (!w || !x) {
2917
2917
  if (!v || !P) return v ? (i.s = -l, i) : new T(P ? E : NaN);
2918
2918
  if (!v[0] || !P[0])
2919
2919
  return P[0] ? (i.s = -l, i) : new T(v[0] ? E : (
@@ -2921,8 +2921,8 @@ function ls(e) {
2921
2921
  c == 3 ? -0 : 0
2922
2922
  ));
2923
2923
  }
2924
- if (m = Je(m), x = Je(x), v = v.slice(), p = m - x) {
2925
- for ((b = p < 0) ? (p = -p, h = v) : (x = m, h = P), h.reverse(), l = p; l--; h.push(0)) ;
2924
+ if (w = Je(w), x = Je(x), v = v.slice(), p = w - x) {
2925
+ for ((b = p < 0) ? (p = -p, h = v) : (x = w, h = P), h.reverse(), l = p; l--; h.push(0)) ;
2926
2926
  h.reverse();
2927
2927
  } else
2928
2928
  for (y = (b = (p = v.length) < (l = P.length)) ? p : l, p = l = 0; l < y; l++)
@@ -2944,12 +2944,12 @@ function ls(e) {
2944
2944
  var u, y, h = this;
2945
2945
  return i = new T(i, l), !h.c || !i.s || i.c && !i.c[0] ? new T(NaN) : !i.c || h.c && !h.c[0] ? new T(h) : (I == 9 ? (y = i.s, i.s = 1, u = t(h, i, 0, 3), i.s = y, u.s *= y) : u = t(h, i, 0, I), i = h.minus(u.times(i)), !i.c[0] && I == 1 && (i.s = h.s), i);
2946
2946
  }, r.multipliedBy = r.times = function(i, l) {
2947
- var u, y, h, b, E, p, m, x, v, P, X, K, pe, Ee, Ie, z = this, he = z.c, U = (i = new T(i, l)).c;
2947
+ var u, y, h, b, E, p, w, x, v, P, X, K, pe, Ee, Ie, V = this, he = V.c, U = (i = new T(i, l)).c;
2948
2948
  if (!he || !U || !he[0] || !U[0])
2949
- return !z.s || !i.s || he && !he[0] && !U || U && !U[0] && !he ? i.c = i.e = i.s = null : (i.s *= z.s, !he || !U ? i.c = i.e = null : (i.c = [0], i.e = 0)), i;
2950
- for (y = Je(z.e / ue) + Je(i.e / ue), i.s *= z.s, m = he.length, P = U.length, m < P && (pe = he, he = U, U = pe, h = m, m = P, P = h), h = m + P, pe = []; h--; pe.push(0)) ;
2949
+ return !V.s || !i.s || he && !he[0] && !U || U && !U[0] && !he ? i.c = i.e = i.s = null : (i.s *= V.s, !he || !U ? i.c = i.e = null : (i.c = [0], i.e = 0)), i;
2950
+ for (y = Je(V.e / ue) + Je(i.e / ue), i.s *= V.s, w = he.length, P = U.length, w < P && (pe = he, he = U, U = pe, h = w, w = P, P = h), h = w + P, pe = []; h--; pe.push(0)) ;
2951
2951
  for (Ee = je, Ie = rt, h = P; --h >= 0; ) {
2952
- for (u = 0, X = U[h] % Ie, K = U[h] / Ie | 0, E = m, b = h + E; b > h; )
2952
+ for (u = 0, X = U[h] % Ie, K = U[h] / Ie | 0, E = w, b = h + E; b > h; )
2953
2953
  x = he[--E] % Ie, v = he[E] / Ie | 0, p = K * x + v * X, x = X * x + p % Ie * Ie + pe[b] + u, u = (x / Ee | 0) + (p / Ie | 0) + K * v, pe[b--] = x % Ee;
2954
2954
  pe[b] = u;
2955
2955
  }
@@ -2962,22 +2962,22 @@ function ls(e) {
2962
2962
  if (i = new T(i, l), l = i.s, !h || !l) return new T(NaN);
2963
2963
  if (h != l)
2964
2964
  return i.s = -l, y.minus(i);
2965
- var b = y.e / ue, E = i.e / ue, p = y.c, m = i.c;
2965
+ var b = y.e / ue, E = i.e / ue, p = y.c, w = i.c;
2966
2966
  if (!b || !E) {
2967
- if (!p || !m) return new T(h / 0);
2968
- if (!p[0] || !m[0]) return m[0] ? i : new T(p[0] ? y : h * 0);
2967
+ if (!p || !w) return new T(h / 0);
2968
+ if (!p[0] || !w[0]) return w[0] ? i : new T(p[0] ? y : h * 0);
2969
2969
  }
2970
2970
  if (b = Je(b), E = Je(E), p = p.slice(), h = b - E) {
2971
- for (h > 0 ? (E = b, u = m) : (h = -h, u = p), u.reverse(); h--; u.push(0)) ;
2971
+ for (h > 0 ? (E = b, u = w) : (h = -h, u = p), u.reverse(); h--; u.push(0)) ;
2972
2972
  u.reverse();
2973
2973
  }
2974
- for (h = p.length, l = m.length, h - l < 0 && (u = m, m = p, p = u, l = h), h = 0; l; )
2975
- h = (p[--l] = p[l] + m[l] + h) / je | 0, p[l] = je === p[l] ? 0 : p[l] % je;
2974
+ for (h = p.length, l = w.length, h - l < 0 && (u = w, w = p, p = u, l = h), h = 0; l; )
2975
+ h = (p[--l] = p[l] + w[l] + h) / je | 0, p[l] = je === p[l] ? 0 : p[l] % je;
2976
2976
  return h && (p = [h].concat(p), ++E), le(i, p, E);
2977
2977
  }, r.precision = r.sd = function(i, l) {
2978
2978
  var u, y, h, b = this;
2979
2979
  if (i != null && i !== !!i)
2980
- return De(i, 1, Ue), l == null ? l = c : De(l, 0, 8), se(new T(b), i, l);
2980
+ return De(i, 1, Ue), l == null ? l = c : De(l, 0, 8), oe(new T(b), i, l);
2981
2981
  if (!(u = b.c)) return null;
2982
2982
  if (h = u.length - 1, y = h * ue + 1, h = u[h]) {
2983
2983
  for (; h % 10 == 0; h /= 10, y--) ;
@@ -2987,63 +2987,63 @@ function ls(e) {
2987
2987
  }, r.shiftedBy = function(i) {
2988
2988
  return De(i, -dn, dn), this.times("1e" + i);
2989
2989
  }, r.squareRoot = r.sqrt = function() {
2990
- var i, l, u, y, h, b = this, E = b.c, p = b.s, m = b.e, x = a + 4, v = new T("0.5");
2990
+ var i, l, u, y, h, b = this, E = b.c, p = b.s, w = b.e, x = a + 4, v = new T("0.5");
2991
2991
  if (p !== 1 || !E || !E[0])
2992
2992
  return new T(!p || p < 0 && (!E || E[0]) ? NaN : E ? b : 1 / 0);
2993
- if (p = Math.sqrt(+Se(b)), p == 0 || p == 1 / 0 ? (l = Ye(E), (l.length + m) % 2 == 0 && (l += "0"), p = Math.sqrt(+l), m = Je((m + 1) / 2) - (m < 0 || m % 2), p == 1 / 0 ? l = "5e" + m : (l = p.toExponential(), l = l.slice(0, l.indexOf("e") + 1) + m), u = new T(l)) : u = new T(p + ""), u.c[0]) {
2994
- for (m = u.e, p = m + x, p < 3 && (p = 0); ; )
2993
+ if (p = Math.sqrt(+Se(b)), p == 0 || p == 1 / 0 ? (l = Ye(E), (l.length + w) % 2 == 0 && (l += "0"), p = Math.sqrt(+l), w = Je((w + 1) / 2) - (w < 0 || w % 2), p == 1 / 0 ? l = "5e" + w : (l = p.toExponential(), l = l.slice(0, l.indexOf("e") + 1) + w), u = new T(l)) : u = new T(p + ""), u.c[0]) {
2994
+ for (w = u.e, p = w + x, p < 3 && (p = 0); ; )
2995
2995
  if (h = u, u = v.times(h.plus(t(b, h, x, 1))), Ye(h.c).slice(0, p) === (l = Ye(u.c)).slice(0, p))
2996
- if (u.e < m && --p, l = l.slice(p - 3, p + 1), l == "9999" || !y && l == "4999") {
2997
- if (!y && (se(h, h.e + a + 2, 0), h.times(h).eq(b))) {
2996
+ if (u.e < w && --p, l = l.slice(p - 3, p + 1), l == "9999" || !y && l == "4999") {
2997
+ if (!y && (oe(h, h.e + a + 2, 0), h.times(h).eq(b))) {
2998
2998
  u = h;
2999
2999
  break;
3000
3000
  }
3001
3001
  x += 4, p += 4, y = 1;
3002
3002
  } else {
3003
- (!+l || !+l.slice(1) && l.charAt(0) == "5") && (se(u, u.e + a + 2, 1), i = !u.times(u).eq(b));
3003
+ (!+l || !+l.slice(1) && l.charAt(0) == "5") && (oe(u, u.e + a + 2, 1), i = !u.times(u).eq(b));
3004
3004
  break;
3005
3005
  }
3006
3006
  }
3007
- return se(u, u.e + a + 1, c, i);
3007
+ return oe(u, u.e + a + 1, c, i);
3008
3008
  }, r.toExponential = function(i, l) {
3009
- return i != null && (De(i, 0, Ue), i++), V(this, i, l, 1);
3009
+ return i != null && (De(i, 0, Ue), i++), H(this, i, l, 1);
3010
3010
  }, r.toFixed = function(i, l) {
3011
- return i != null && (De(i, 0, Ue), i = i + this.e + 1), V(this, i, l);
3011
+ return i != null && (De(i, 0, Ue), i = i + this.e + 1), H(this, i, l);
3012
3012
  }, r.toFormat = function(i, l, u) {
3013
3013
  var y, h = this;
3014
3014
  if (u == null)
3015
- i != null && l && typeof l == "object" ? (u = l, l = null) : i && typeof i == "object" ? (u = i, i = l = null) : u = w;
3015
+ i != null && l && typeof l == "object" ? (u = l, l = null) : i && typeof i == "object" ? (u = i, i = l = null) : u = m;
3016
3016
  else if (typeof u != "object")
3017
3017
  throw Error(Le + "Argument not an object: " + u);
3018
3018
  if (y = h.toFixed(i, l), h.c) {
3019
- var b, E = y.split("."), p = +u.groupSize, m = +u.secondaryGroupSize, x = u.groupSeparator || "", v = E[0], P = E[1], X = h.s < 0, K = X ? v.slice(1) : v, pe = K.length;
3020
- if (m && (b = p, p = m, m = b, pe -= b), p > 0 && pe > 0) {
3019
+ var b, E = y.split("."), p = +u.groupSize, w = +u.secondaryGroupSize, x = u.groupSeparator || "", v = E[0], P = E[1], X = h.s < 0, K = X ? v.slice(1) : v, pe = K.length;
3020
+ if (w && (b = p, p = w, w = b, pe -= b), p > 0 && pe > 0) {
3021
3021
  for (b = pe % p || p, v = K.substr(0, b); b < pe; b += p) v += x + K.substr(b, p);
3022
- m > 0 && (v += x + K.slice(b)), X && (v = "-" + v);
3022
+ w > 0 && (v += x + K.slice(b)), X && (v = "-" + v);
3023
3023
  }
3024
- y = P ? v + (u.decimalSeparator || "") + ((m = +u.fractionGroupSize) ? P.replace(
3025
- new RegExp("\\d{" + m + "}\\B", "g"),
3024
+ y = P ? v + (u.decimalSeparator || "") + ((w = +u.fractionGroupSize) ? P.replace(
3025
+ new RegExp("\\d{" + w + "}\\B", "g"),
3026
3026
  "$&" + (u.fractionGroupSeparator || "")
3027
3027
  ) : P) : v;
3028
3028
  }
3029
3029
  return (u.prefix || "") + y + (u.suffix || "");
3030
3030
  }, r.toFraction = function(i) {
3031
- var l, u, y, h, b, E, p, m, x, v, P, X, K = this, pe = K.c;
3031
+ var l, u, y, h, b, E, p, w, x, v, P, X, K = this, pe = K.c;
3032
3032
  if (i != null && (p = new T(i), !p.isInteger() && (p.c || p.s !== 1) || p.lt(o)))
3033
3033
  throw Error(Le + "Argument " + (p.isInteger() ? "out of range: " : "not an integer: ") + Se(p));
3034
3034
  if (!pe) return new T(K);
3035
- for (l = new T(o), x = u = new T(o), y = m = new T(o), X = Ye(pe), b = l.e = X.length - K.e - 1, l.c[0] = un[(E = b % ue) < 0 ? ue + E : E], i = !i || p.comparedTo(l) > 0 ? b > 0 ? l : x : p, E = F, F = 1 / 0, p = new T(X), m.c[0] = 0; v = t(p, l, 0, 1), h = u.plus(v.times(y)), h.comparedTo(i) != 1; )
3036
- u = y, y = h, x = m.plus(v.times(h = x)), m = h, l = p.minus(v.times(h = l)), p = h;
3037
- return h = t(i.minus(u), y, 0, 1), m = m.plus(h.times(x)), u = u.plus(h.times(y)), m.s = x.s = K.s, b = b * 2, P = t(x, y, b, c).minus(K).abs().comparedTo(
3038
- t(m, u, b, c).minus(K).abs()
3039
- ) < 1 ? [x, y] : [m, u], F = E, P;
3035
+ for (l = new T(o), x = u = new T(o), y = w = new T(o), X = Ye(pe), b = l.e = X.length - K.e - 1, l.c[0] = un[(E = b % ue) < 0 ? ue + E : E], i = !i || p.comparedTo(l) > 0 ? b > 0 ? l : x : p, E = F, F = 1 / 0, p = new T(X), w.c[0] = 0; v = t(p, l, 0, 1), h = u.plus(v.times(y)), h.comparedTo(i) != 1; )
3036
+ u = y, y = h, x = w.plus(v.times(h = x)), w = h, l = p.minus(v.times(h = l)), p = h;
3037
+ return h = t(i.minus(u), y, 0, 1), w = w.plus(h.times(x)), u = u.plus(h.times(y)), w.s = x.s = K.s, b = b * 2, P = t(x, y, b, c).minus(K).abs().comparedTo(
3038
+ t(w, u, b, c).minus(K).abs()
3039
+ ) < 1 ? [x, y] : [w, u], F = E, P;
3040
3040
  }, r.toNumber = function() {
3041
3041
  return +Se(this);
3042
3042
  }, r.toPrecision = function(i, l) {
3043
- return i != null && De(i, 1, Ue), V(this, i, l, 2);
3043
+ return i != null && De(i, 1, Ue), H(this, i, l, 2);
3044
3044
  }, r.toString = function(i) {
3045
3045
  var l, u = this, y = u.s, h = u.e;
3046
- return h === null ? y ? (l = "Infinity", y < 0 && (l = "-" + l)) : l = "NaN" : (i == null ? l = h <= S || h >= B ? Vt(Ye(u.c), h) : $e(Ye(u.c), h, "0") : i === 10 && ie ? (u = se(new T(u), a + h + 1, c), l = $e(Ye(u.c), u.e, "0")) : (De(i, 2, C.length, "Base"), l = n($e(Ye(u.c), h, "0"), 10, i, y, !0)), y < 0 && u.c[0] && (l = "-" + l)), l;
3046
+ return h === null ? y ? (l = "Infinity", y < 0 && (l = "-" + l)) : l = "NaN" : (i == null ? l = h <= S || h >= B ? Vt(Ye(u.c), h) : $e(Ye(u.c), h, "0") : i === 10 && re ? (u = oe(new T(u), a + h + 1, c), l = $e(Ye(u.c), u.e, "0")) : (De(i, 2, C.length, "Base"), l = n($e(Ye(u.c), h, "0"), 10, i, y, !0)), y < 0 && u.c[0] && (l = "-" + l)), l;
3047
3047
  }, r.valueOf = r.toJSON = function() {
3048
3048
  return Se(this);
3049
3049
  }, r._isBigNumber = !0, r[Symbol.toStringTag] = "BigNumber", r[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = r.valueOf, e != null && T.set(e), T;
@@ -3612,14 +3612,16 @@ const tc = ({ content: e }) => {
3612
3612
  type: "address",
3613
3613
  placeholder: "0x... token contract",
3614
3614
  required: !0,
3615
- validation: "address"
3615
+ validation: "address",
3616
+ editable: !1
3616
3617
  },
3617
3618
  {
3618
3619
  key: "token_symbol",
3619
3620
  label: "Token Symbol",
3620
3621
  type: "text",
3621
3622
  placeholder: "e.g. USDC",
3622
- required: !1
3623
+ required: !1,
3624
+ editable: !1
3623
3625
  },
3624
3626
  {
3625
3627
  key: "to_address",
@@ -3642,7 +3644,8 @@ const tc = ({ content: e }) => {
3642
3644
  label: "Decimals",
3643
3645
  type: "number",
3644
3646
  placeholder: "18",
3645
- required: !1
3647
+ required: !1,
3648
+ editable: !1
3646
3649
  }
3647
3650
  ]
3648
3651
  },
@@ -3655,42 +3658,48 @@ const tc = ({ content: e }) => {
3655
3658
  label: "From Token",
3656
3659
  type: "address",
3657
3660
  placeholder: "0x... or native",
3658
- required: !0
3661
+ required: !0,
3662
+ editable: !1
3659
3663
  },
3660
3664
  {
3661
3665
  key: "token_in_symbol",
3662
3666
  label: "From Symbol",
3663
3667
  type: "text",
3664
3668
  placeholder: "e.g. ETH",
3665
- required: !1
3669
+ required: !1,
3670
+ editable: !1
3666
3671
  },
3667
3672
  {
3668
3673
  key: "token_out",
3669
3674
  label: "To Token",
3670
3675
  type: "address",
3671
3676
  placeholder: "0x...",
3672
- required: !0
3677
+ required: !0,
3678
+ editable: !1
3673
3679
  },
3674
3680
  {
3675
3681
  key: "token_out_symbol",
3676
3682
  label: "To Symbol",
3677
3683
  type: "text",
3678
3684
  placeholder: "e.g. USDC",
3679
- required: !1
3685
+ required: !1,
3686
+ editable: !1
3680
3687
  },
3681
3688
  {
3682
3689
  key: "token_in_decimals",
3683
3690
  label: "From Decimals",
3684
3691
  type: "number",
3685
3692
  placeholder: "18",
3686
- required: !1
3693
+ required: !1,
3694
+ editable: !1
3687
3695
  },
3688
3696
  {
3689
3697
  key: "token_out_decimals",
3690
3698
  label: "To Decimals",
3691
3699
  type: "number",
3692
3700
  placeholder: "18",
3693
- required: !1
3701
+ required: !1,
3702
+ editable: !1
3694
3703
  },
3695
3704
  {
3696
3705
  key: "amount",
@@ -3712,14 +3721,16 @@ const tc = ({ content: e }) => {
3712
3721
  type: "address",
3713
3722
  placeholder: "0x... token contract",
3714
3723
  required: !0,
3715
- validation: "address"
3724
+ validation: "address",
3725
+ editable: !1
3716
3726
  },
3717
3727
  {
3718
3728
  key: "token_symbol",
3719
3729
  label: "Token Symbol",
3720
3730
  type: "text",
3721
3731
  placeholder: "e.g. USDC",
3722
- required: !1
3732
+ required: !1,
3733
+ editable: !1
3723
3734
  },
3724
3735
  {
3725
3736
  key: "spender_address",
@@ -3727,7 +3738,8 @@ const tc = ({ content: e }) => {
3727
3738
  type: "address",
3728
3739
  placeholder: "0x... spender contract",
3729
3740
  required: !0,
3730
- validation: "address"
3741
+ validation: "address",
3742
+ editable: !1
3731
3743
  },
3732
3744
  {
3733
3745
  key: "amount",
@@ -3742,7 +3754,8 @@ const tc = ({ content: e }) => {
3742
3754
  label: "Decimals",
3743
3755
  type: "number",
3744
3756
  placeholder: "18",
3745
- required: !1
3757
+ required: !1,
3758
+ editable: !1
3746
3759
  }
3747
3760
  ]
3748
3761
  },
@@ -3784,14 +3797,16 @@ const tc = ({ content: e }) => {
3784
3797
  type: "address",
3785
3798
  placeholder: "0x... NFT contract",
3786
3799
  required: !0,
3787
- validation: "address"
3800
+ validation: "address",
3801
+ editable: !1
3788
3802
  },
3789
3803
  {
3790
3804
  key: "token_id",
3791
3805
  label: "Token ID",
3792
3806
  type: "text",
3793
3807
  placeholder: "e.g. 1234",
3794
- required: !0
3808
+ required: !0,
3809
+ editable: !1
3795
3810
  },
3796
3811
  {
3797
3812
  key: "to_address",
@@ -3806,7 +3821,8 @@ const tc = ({ content: e }) => {
3806
3821
  label: "Token Standard",
3807
3822
  type: "text",
3808
3823
  placeholder: "ERC721 or ERC1155",
3809
- required: !0
3824
+ required: !0,
3825
+ editable: !1
3810
3826
  },
3811
3827
  {
3812
3828
  key: "amount",
@@ -3850,51 +3866,51 @@ const sc = {
3850
3866
  }) => {
3851
3867
  const a = nc[e], [c, S] = Ve(() => {
3852
3868
  if (!a) return {};
3853
- const w = {};
3869
+ const m = {};
3854
3870
  return a.fields.forEach((C) => {
3855
- w[C.key] = t[C.key] || "";
3856
- }), w;
3871
+ m[C.key] = t[C.key] || "";
3872
+ }), m;
3857
3873
  }), [B] = Ve(() => ["send_native", "send_token", "swap_token"].includes(
3858
3874
  e
3859
3875
  ) && !o && c.contract_address ? "Token not found in your wallet." : null), [D, F] = Ve(() => {
3860
- const w = {};
3876
+ const m = {};
3861
3877
  if (["send_native", "send_token", "swap_token"].includes(
3862
3878
  e
3863
3879
  ) && o) {
3864
- const ie = parseFloat(o.balanceFormatted || "0");
3865
- if (ie <= 0)
3866
- w.amount = `You have no ${o.symbol} balance in your wallet.`;
3880
+ const re = parseFloat(o.balanceFormatted || "0");
3881
+ if (re <= 0)
3882
+ m.amount = `You have no ${o.symbol} balance in your wallet.`;
3867
3883
  else {
3868
3884
  const T = t.amount?.trim();
3869
- T && pn(T) && parseFloat(T) > ie && (w.amount = `Insufficient balance. Available: ${o.balanceFormatted} ${o.symbol}`);
3885
+ T && pn(T) && parseFloat(T) > re && (m.amount = `Insufficient balance. Available: ${o.balanceFormatted} ${o.symbol}`);
3870
3886
  }
3871
3887
  }
3872
- return w;
3888
+ return m;
3873
3889
  }), g = Pe(
3874
- (w, C) => {
3875
- S((ie) => ({ ...ie, [w]: C })), D[w] && F((ie) => {
3876
- const T = { ...ie };
3877
- return delete T[w], T;
3890
+ (m, C) => {
3891
+ S((re) => ({ ...re, [m]: C })), D[m] && F((re) => {
3892
+ const T = { ...re };
3893
+ return delete T[m], T;
3878
3894
  });
3879
3895
  },
3880
3896
  [D]
3881
3897
  ), I = Pe(() => {
3882
3898
  if (!a) return !1;
3883
- const w = {};
3899
+ const m = {};
3884
3900
  return a.fields.forEach((C) => {
3885
- const ie = c[C.key]?.trim() || "";
3886
- if (C.required && !ie) {
3887
- w[C.key] = `${C.label} is required`;
3901
+ const re = c[C.key]?.trim() || "";
3902
+ if (C.required && !re) {
3903
+ m[C.key] = `${C.label} is required`;
3888
3904
  return;
3889
3905
  }
3890
- if (ie) {
3891
- if (C.validation === "address" && !rc(ie) && (w[C.key] = "Invalid address (0x + 40 hex chars)"), C.validation === "amount" && !pn(ie) && (w[C.key] = "Must be a positive number"), C.key === "amount" && ie && pn(ie) && o?.balanceFormatted) {
3892
- const T = parseFloat(ie), V = parseFloat(o.balanceFormatted);
3893
- T > V && (w[C.key] = `Insufficient balance. Available: ${o.balanceFormatted} ${o.symbol}`);
3906
+ if (re) {
3907
+ if (C.validation === "address" && !rc(re) && (m[C.key] = "Invalid address (0x + 40 hex chars)"), C.validation === "amount" && !pn(re) && (m[C.key] = "Must be a positive number"), C.key === "amount" && re && pn(re) && o?.balanceFormatted) {
3908
+ const T = parseFloat(re), H = parseFloat(o.balanceFormatted);
3909
+ T > H && (m[C.key] = `Insufficient balance. Available: ${o.balanceFormatted} ${o.symbol}`);
3894
3910
  }
3895
- C.validation === "positive_number" && (isNaN(Number(ie)) || Number(ie) < 0) && (w[C.key] = "Must be a valid number");
3911
+ C.validation === "positive_number" && (isNaN(Number(re)) || Number(re) < 0) && (m[C.key] = "Must be a valid number");
3896
3912
  }
3897
- }), F(w), Object.keys(w).length === 0;
3913
+ }), F(m), Object.keys(m).length === 0;
3898
3914
  }, [a, c, o]), k = Pe(() => {
3899
3915
  I() && n(e, c);
3900
3916
  }, [I, n, e, c]);
@@ -3939,13 +3955,13 @@ const sc = {
3939
3955
  ] })
3940
3956
  ] })
3941
3957
  ] }) }),
3942
- /* @__PURE__ */ R("div", { className: "action-form-fields", children: a.fields.map((w) => w.key === "amount" && e === "send_nft" && c.token_standard?.toUpperCase() !== "ERC1155" ? null : /* @__PURE__ */ Ae("div", { className: "action-form-field", children: [
3958
+ /* @__PURE__ */ R("div", { className: "action-form-fields", children: a.fields.map((m) => m.key === "amount" && e === "send_nft" && c.token_standard?.toUpperCase() !== "ERC1155" ? null : /* @__PURE__ */ Ae("div", { className: "action-form-field", children: [
3943
3959
  /* @__PURE__ */ Ae("div", { className: "action-form-field-header", children: [
3944
3960
  /* @__PURE__ */ Ae("label", { children: [
3945
- w.label,
3946
- w.required && " *"
3961
+ m.label,
3962
+ m.required && " *"
3947
3963
  ] }),
3948
- w.key === "amount" && o && e !== "send_nft" && /* @__PURE__ */ Ae("div", { className: "action-form-pct-btns", children: [
3964
+ m.key === "amount" && o && e !== "send_nft" && /* @__PURE__ */ Ae("div", { className: "action-form-pct-btns", children: [
3949
3965
  [25, 50, 75].map((C) => /* @__PURE__ */ Ae(
3950
3966
  "button",
3951
3967
  {
@@ -3975,19 +3991,35 @@ const sc = {
3975
3991
  )
3976
3992
  ] })
3977
3993
  ] }),
3978
- /* @__PURE__ */ R(
3979
- "input",
3980
- {
3981
- type: w.type === "number" ? "number" : "text",
3982
- placeholder: w.placeholder,
3983
- value: c[w.key] || "",
3984
- onChange: (C) => g(w.key, C.target.value),
3985
- className: D[w.key] ? "error" : "",
3986
- disabled: r
3987
- }
3988
- ),
3989
- D[w.key] && /* @__PURE__ */ R("span", { className: "field-error", children: D[w.key] })
3990
- ] }, w.key)) }),
3994
+ (() => {
3995
+ const C = m.editable === !1 && !!t[m.key], re = r || C, T = [
3996
+ D[m.key] ? "error" : "",
3997
+ C ? "readonly" : ""
3998
+ ].filter(Boolean).join(" ");
3999
+ return m.type === "address" ? /* @__PURE__ */ R(
4000
+ "textarea",
4001
+ {
4002
+ rows: 2,
4003
+ placeholder: m.placeholder,
4004
+ value: c[m.key] || "",
4005
+ onChange: (H) => g(m.key, H.target.value),
4006
+ className: T,
4007
+ disabled: re
4008
+ }
4009
+ ) : /* @__PURE__ */ R(
4010
+ "input",
4011
+ {
4012
+ type: m.type === "number" ? "number" : "text",
4013
+ placeholder: m.placeholder,
4014
+ value: c[m.key] || "",
4015
+ onChange: (H) => g(m.key, H.target.value),
4016
+ className: T,
4017
+ disabled: re
4018
+ }
4019
+ );
4020
+ })(),
4021
+ D[m.key] && /* @__PURE__ */ R("span", { className: "field-error", children: D[m.key] })
4022
+ ] }, m.key)) }),
3991
4023
  /* @__PURE__ */ Ae("div", { className: "action-form-actions", children: [
3992
4024
  /* @__PURE__ */ R(
3993
4025
  "button",
@@ -4013,7 +4045,7 @@ const sc = {
4013
4045
  ] }) : null;
4014
4046
  }, ic = ({
4015
4047
  scrollContainerRef: e,
4016
- threshold: t = 100
4048
+ threshold: t = 200
4017
4049
  }) => {
4018
4050
  const [n, s] = Ve(!1);
4019
4051
  et(() => {
@@ -4160,17 +4192,18 @@ You have comprehensive, precise knowledge of token contract addresses on ALL maj
4160
4192
  4. For "chat" action, put your full response in the "message" field
4161
4193
  5. **CRITICAL**: contract_address is a REQUIRED field — ALWAYS provide the ACTUAL contract address on chainId ${s}. NEVER leave it empty. You must know the correct addresses for common tokens (USDC, USDT, DAI, WETH, LINK, UNI, AAVE, etc.) on major chains. If a token does not exist on this chain, inform the user instead of proceeding. Be especially careful with tokens that are native to other chains (e.g., BNB is BSC native — if user asks to buy BNB on OP Mainnet, inform them it may not be available as an ERC20 on this chain).
4162
4194
  6. **IMPORTANT**: ALWAYS provide accurate decimals for each token. This is CRITICAL for accurate transaction amounts.
4163
- 7. For amounts, use the exact number the user mentioned (don't convert units)
4164
- 8. For native token sends, use "send_native" not "send_token"
4165
- 9. Respond in the same language the user uses
4166
- 10. ALWAYS respond with raw JSON only, never wrap in \`\`\`json code blocks
4167
- 11. For swap_token: token_in for native tokens must be "native". ALWAYS provide token_in_symbol, token_out_symbol, token_in_decimals, and token_out_decimals.
4168
- 12. Use CONVERSATION HISTORY to maintain context. If user says "do it again" or "same but with X", refer to previous messages to understand what they mean.
4169
- 13. For general/non-crypto questions, respond naturally and helpfully using the "chat" action. You are NOT limited to crypto topics only.
4170
- 14. ONLY trigger wallet actions (send_native, send_token, swap_token, buy_token, approve_token, wrap_native, unwrap_native, send_nft) when the user EXPLICITLY requests a crypto/wallet operation. Do NOT misinterpret general conversation as wallet actions.
4171
- 15. When your "chat" response mentions, lists, or discusses specific tokens (e.g., trending tokens, token details, recommendations, price info), you MUST include "token_mentions" array so the app can show Buy buttons for each token. Always include token_mentions as an array (empty [] if no tokens mentioned).
4172
- 16. **CRITICAL - ONE RESPONSE RULE**: When user requests a wallet operation (swap, send, buy, approve, wrap, unwrap, send NFT), return ONLY ONE JSON response with that action type. DO NOT return multiple responses. DO NOT return a "chat" action first and then the wallet action. If you need to explain something, put it in the "message" field of the wallet action itself. Example: User says "swap 0.01 DAI to USDC" Return ONLY {"action":"swap_token","message":"Swapping 0.01 DAI to USDC...","parameters":{...}}. Do NOT return {"action":"chat",...} first.
4173
- 17. **CRITICAL - TOKEN CONTRACT ADDRESSES**: You MUST provide the CORRECT and ACCURATE contract address for each token on the CURRENT chain (chainId: ${s}). You have deep knowledge of token contract addresses across all major chains (Ethereum, Optimism, Arbitrum, Base, Polygon, BSC, etc.). ALWAYS verify you are using the correct address for the current chainId. DO NOT use addresses from other chains. For common tokens like USDC, USDT, DAI, WETH, each chain has different contract addresses - you MUST use the correct one for chainId ${s}.
4195
+ 7. **IMPORTANT**: ALWAYS provide accurate token_symbol for each token. Even if the user only provides a contract address without naming the token, you MUST identify the token from the address and fill in token_symbol and decimals. For example: if user provides "0x4200000000000000000000000000000000000006" on OP/Base, you know it is WETH with decimals 18 — fill in token_symbol:"WETH" and decimals:"18". You have comprehensive knowledge of well-known token contract addresses — use it to populate all fields.
4196
+ 8. For amounts, use the exact number the user mentioned (don't convert units)
4197
+ 9. For native token sends, use "send_native" not "send_token"
4198
+ 10. Respond in the same language the user uses
4199
+ 11. ALWAYS respond with raw JSON only, never wrap in \`\`\`json code blocks
4200
+ 12. For swap_token: token_in for native tokens must be "native". ALWAYS provide token_in_symbol, token_out_symbol, token_in_decimals, and token_out_decimals.
4201
+ 13. Use CONVERSATION HISTORY to maintain context. If user says "do it again" or "same but with X", refer to previous messages to understand what they mean.
4202
+ 14. For general/non-crypto questions, respond naturally and helpfully using the "chat" action. You are NOT limited to crypto topics only.
4203
+ 15. ONLY trigger wallet actions (send_native, send_token, swap_token, buy_token, approve_token, wrap_native, unwrap_native, send_nft) when the user EXPLICITLY requests a crypto/wallet operation. Do NOT misinterpret general conversation as wallet actions.
4204
+ 16. When your "chat" response mentions, lists, or discusses specific tokens (e.g., trending tokens, token details, recommendations, price info), you MUST include "token_mentions" array so the app can show Buy buttons for each token. Always include token_mentions as an array (empty [] if no tokens mentioned).
4205
+ 17. **CRITICAL - ONE RESPONSE RULE**: When user requests a wallet operation (swap, send, buy, approve, wrap, unwrap, send NFT), return ONLY ONE JSON response with that action type. DO NOT return multiple responses. DO NOT return a "chat" action first and then the wallet action. If you need to explain something, put it in the "message" field of the wallet action itself. Example: User says "swap 0.01 DAI to USDC" Return ONLY {"action":"swap_token","message":"Swapping 0.01 DAI to USDC...","parameters":{...}}. Do NOT return {"action":"chat",...} first.
4206
+ 18. **CRITICAL - TOKEN CONTRACT ADDRESSES**: You MUST provide the CORRECT and ACCURATE contract address for each token on the CURRENT chain (chainId: ${s}). You have deep knowledge of token contract addresses across all major chains (Ethereum, Optimism, Arbitrum, Base, Polygon, BSC, etc.). ALWAYS verify you are using the correct address for the current chainId. DO NOT use addresses from other chains. For common tokens like USDC, USDT, DAI, WETH, each chain has different contract addresses - you MUST use the correct one for chainId ${s}.
4174
4207
 
4175
4208
  ## EXAMPLES:
4176
4209
 
@@ -4180,6 +4213,9 @@ Response: {"action":"send_native","message":"<friendly explanation>","parameters
4180
4213
  User: "transfer 100 USDC"
4181
4214
  Response: {"action":"send_token","message":"<friendly explanation>","parameters":{"contract_address":"<actual USDC address on current chain>","token_symbol":"USDC","to_address":"","amount":"100","decimals":"6"}}
4182
4215
 
4216
+ User: "send 0x4200000000000000000000000000000000000006 to 0xABC..."
4217
+ Response: {"action":"send_token","message":"<friendly explanation>","parameters":{"contract_address":"0x4200000000000000000000000000000000000006","token_symbol":"WETH","to_address":"0xABC...","amount":"","decimals":"18"}}
4218
+
4183
4219
  User: "swap 1 ETH to USDC"
4184
4220
  Response: {"action":"swap_token","message":"<friendly explanation>","parameters":{"token_in":"native","token_in_symbol":"${r}","token_in_decimals":"18","token_out":"<actual USDC address on current chain>","token_out_symbol":"USDC","token_out_decimals":"6","amount":"1"}}
4185
4221
 
@@ -4518,61 +4554,61 @@ var Q = {}, Dt = { exports: {} }, yc = Dt.exports, kr;
4518
4554
  function Ac() {
4519
4555
  return kr || (kr = 1, (function(e, t) {
4520
4556
  (function(n, s) {
4521
- var r = "1.0.41", o = "", a = "?", c = "function", S = "undefined", B = "object", D = "string", F = "major", g = "model", I = "name", k = "type", w = "vendor", C = "version", ie = "architecture", T = "console", V = "mobile", j = "tablet", le = "smarttv", se = "wearable", Se = "embedded", i = 500, l = "Amazon", u = "Apple", y = "ASUS", h = "BlackBerry", b = "Browser", E = "Chrome", p = "Edge", m = "Firefox", x = "Google", v = "Honor", P = "Huawei", X = "Lenovo", K = "LG", pe = "Microsoft", Ee = "Motorola", Ie = "Nvidia", z = "OnePlus", he = "Opera", U = "OPPO", J = "Samsung", H = "Sharp", Z = "Sony", G = "Xiaomi", Y = "Zebra", L = "Facebook", _ = "Chromium OS", q = "Mac OS", O = " Browser", te = function(re, fe) {
4522
- var oe = {};
4523
- for (var be in re)
4524
- fe[be] && fe[be].length % 2 === 0 ? oe[be] = fe[be].concat(re[be]) : oe[be] = re[be];
4525
- return oe;
4526
- }, de = function(re) {
4527
- for (var fe = {}, oe = 0; oe < re.length; oe++)
4528
- fe[re[oe].toUpperCase()] = re[oe];
4557
+ var r = "1.0.41", o = "", a = "?", c = "function", S = "undefined", B = "object", D = "string", F = "major", g = "model", I = "name", k = "type", m = "vendor", C = "version", re = "architecture", T = "console", H = "mobile", j = "tablet", le = "smarttv", oe = "wearable", Se = "embedded", i = 500, l = "Amazon", u = "Apple", y = "ASUS", h = "BlackBerry", b = "Browser", E = "Chrome", p = "Edge", w = "Firefox", x = "Google", v = "Honor", P = "Huawei", X = "Lenovo", K = "LG", pe = "Microsoft", Ee = "Motorola", Ie = "Nvidia", V = "OnePlus", he = "Opera", U = "OPPO", J = "Samsung", z = "Sharp", Z = "Sony", Y = "Xiaomi", W = "Zebra", L = "Facebook", _ = "Chromium OS", G = "Mac OS", O = " Browser", te = function(se, fe) {
4558
+ var ie = {};
4559
+ for (var be in se)
4560
+ fe[be] && fe[be].length % 2 === 0 ? ie[be] = fe[be].concat(se[be]) : ie[be] = se[be];
4561
+ return ie;
4562
+ }, de = function(se) {
4563
+ for (var fe = {}, ie = 0; ie < se.length; ie++)
4564
+ fe[se[ie].toUpperCase()] = se[ie];
4529
4565
  return fe;
4530
- }, ge = function(re, fe) {
4531
- return typeof re === D ? ve(fe).indexOf(ve(re)) !== -1 : !1;
4532
- }, ve = function(re) {
4533
- return re.toLowerCase();
4534
- }, W = function(re) {
4535
- return typeof re === D ? re.replace(/[^\d\.]/g, o).split(".")[0] : s;
4536
- }, $ = function(re, fe) {
4537
- if (typeof re === D)
4538
- return re = re.replace(/^\s\s*/, o), typeof fe === S ? re : re.substring(0, i);
4539
- }, ee = function(re, fe) {
4540
- for (var oe = 0, be, We, Re, xe, ce, ze; oe < fe.length && !ce; ) {
4541
- var gt = fe[oe], Tt = fe[oe + 1];
4566
+ }, ge = function(se, fe) {
4567
+ return typeof se === D ? ve(fe).indexOf(ve(se)) !== -1 : !1;
4568
+ }, ve = function(se) {
4569
+ return se.toLowerCase();
4570
+ }, q = function(se) {
4571
+ return typeof se === D ? se.replace(/[^\d\.]/g, o).split(".")[0] : s;
4572
+ }, $ = function(se, fe) {
4573
+ if (typeof se === D)
4574
+ return se = se.replace(/^\s\s*/, o), typeof fe === S ? se : se.substring(0, i);
4575
+ }, ee = function(se, fe) {
4576
+ for (var ie = 0, be, We, Re, xe, ce, ze; ie < fe.length && !ce; ) {
4577
+ var gt = fe[ie], Tt = fe[ie + 1];
4542
4578
  for (be = We = 0; be < gt.length && !ce && gt[be]; )
4543
- if (ce = gt[be++].exec(re), ce)
4579
+ if (ce = gt[be++].exec(se), ce)
4544
4580
  for (Re = 0; Re < Tt.length; Re++)
4545
4581
  ze = ce[++We], xe = Tt[Re], typeof xe === B && xe.length > 0 ? xe.length === 2 ? typeof xe[1] == c ? this[xe[0]] = xe[1].call(this, ze) : this[xe[0]] = xe[1] : xe.length === 3 ? typeof xe[1] === c && !(xe[1].exec && xe[1].test) ? this[xe[0]] = ze ? xe[1].call(this, ze, xe[2]) : s : this[xe[0]] = ze ? ze.replace(xe[1], xe[2]) : s : xe.length === 4 && (this[xe[0]] = ze ? xe[3].call(this, ze.replace(xe[1], xe[2])) : s) : this[xe] = ze || s;
4546
- oe += 2;
4582
+ ie += 2;
4547
4583
  }
4548
- }, ae = function(re, fe) {
4549
- for (var oe in fe)
4550
- if (typeof fe[oe] === B && fe[oe].length > 0) {
4551
- for (var be = 0; be < fe[oe].length; be++)
4552
- if (ge(fe[oe][be], re))
4553
- return oe === a ? s : oe;
4554
- } else if (ge(fe[oe], re))
4555
- return oe === a ? s : oe;
4556
- return fe.hasOwnProperty("*") ? fe["*"] : re;
4557
- }, Te = { "1.0": "/8", 1.2: "/1", 1.3: "/3", "2.0": "/412", "2.0.2": "/416", "2.0.3": "/417", "2.0.4": "/419", "?": "/" }, Me = { ME: "4.90", "NT 3.11": "NT3.51", "NT 4.0": "NT4.0", 2e3: "NT 5.0", XP: ["NT 5.1", "NT 5.2"], Vista: "NT 6.0", 7: "NT 6.1", 8: "NT 6.2", 8.1: "NT 6.3", 10: ["NT 6.4", "NT 10.0"], RT: "ARM" }, ne = { browser: [[/\b(?:crmo|crios)\/([\w\.]+)/i], [C, [I, "Chrome"]], [/edg(?:e|ios|a)?\/([\w\.]+)/i], [C, [I, "Edge"]], [/(opera mini)\/([-\w\.]+)/i, /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i], [I, C], [/opios[\/ ]+([\w\.]+)/i], [C, [I, he + " Mini"]], [/\bop(?:rg)?x\/([\w\.]+)/i], [C, [I, he + " GX"]], [/\bopr\/([\w\.]+)/i], [C, [I, he]], [/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i], [C, [I, "Baidu"]], [/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i], [C, [I, "Maxthon"]], [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i, /(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i, /(?:ms|\()(ie) ([\w\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i, /(heytap|ovi|115)browser\/([\d\.]+)/i, /(weibo)__([\d\.]+)/i], [I, C], [/quark(?:pc)?\/([-\w\.]+)/i], [C, [I, "Quark"]], [/\bddg\/([\w\.]+)/i], [C, [I, "DuckDuckGo"]], [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i], [C, [I, "UC" + b]], [/microm.+\bqbcore\/([\w\.]+)/i, /\bqbcore\/([\w\.]+).+microm/i, /micromessenger\/([\w\.]+)/i], [C, [I, "WeChat"]], [/konqueror\/([\w\.]+)/i], [C, [I, "Konqueror"]], [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i], [C, [I, "IE"]], [/ya(?:search)?browser\/([\w\.]+)/i], [C, [I, "Yandex"]], [/slbrowser\/([\w\.]+)/i], [C, [I, "Smart Lenovo " + b]], [/(avast|avg)\/([\w\.]+)/i], [[I, /(.+)/, "$1 Secure " + b], C], [/\bfocus\/([\w\.]+)/i], [C, [I, m + " Focus"]], [/\bopt\/([\w\.]+)/i], [C, [I, he + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [C, [I, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [C, [I, "Dolphin"]], [/coast\/([\w\.]+)/i], [C, [I, he + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [C, [I, "MIUI" + O]], [/fxios\/([\w\.-]+)/i], [C, [I, m]], [/\bqihoobrowser\/?([\w\.]*)/i], [C, [I, "360"]], [/\b(qq)\/([\w\.]+)/i], [[I, /(.+)/, "$1Browser"], C], [/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i], [[I, /(.+)/, "$1" + O], C], [/samsungbrowser\/([\w\.]+)/i], [C, [I, J + " Internet"]], [/metasr[\/ ]?([\d\.]+)/i], [C, [I, "Sogou Explorer"]], [/(sogou)mo\w+\/([\d\.]+)/i], [[I, "Sogou Mobile"], C], [/(electron)\/([\w\.]+) safari/i, /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, /m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i], [I, C], [/(lbbrowser|rekonq)/i, /\[(linkedin)app\]/i], [I], [/ome\/([\w\.]+) \w* ?(iron) saf/i, /ome\/([\w\.]+).+qihu (360)[es]e/i], [C, I], [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i], [[I, L], C], [/(Klarna)\/([\w\.]+)/i, /(kakao(?:talk|story))[\/ ]([\w\.]+)/i, /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, /(daum)apps[\/ ]([\w\.]+)/i, /safari (line)\/([\w\.]+)/i, /\b(line)\/([\w\.]+)\/iab/i, /(alipay)client\/([\w\.]+)/i, /(twitter)(?:and| f.+e\/([\w\.]+))/i, /(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i], [I, C], [/\bgsa\/([\w\.]+) .*safari\//i], [C, [I, "GSA"]], [/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i], [C, [I, "TikTok"]], [/headlesschrome(?:\/([\w\.]+)| )/i], [C, [I, E + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[I, E + " WebView"], C], [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i], [C, [I, "Android " + b]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i], [I, C], [/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i], [C, [I, "Mobile Safari"]], [/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i], [C, I], [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i], [I, [C, ae, Te]], [/(webkit|khtml)\/([\w\.]+)/i], [I, C], [/(navigator|netscape\d?)\/([-\w\.]+)/i], [[I, "Netscape"], C], [/(wolvic|librewolf)\/([\w\.]+)/i], [I, C], [/mobile vr; rv:([\w\.]+)\).+firefox/i], [C, [I, m + " Reality"]], [/ekiohf.+(flow)\/([\w\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, /(firefox)\/([\w\.]+)/i, /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, /\b(links) \(([\w\.]+)/i], [I, [C, /_/g, "."]], [/(cobalt)\/([\w\.]+)/i], [I, [C, /master.|lts./, ""]]], cpu: [[/\b((amd|x|x86[-_]?|wow|win)64)\b/i], [[ie, "amd64"]], [/(ia32(?=;))/i, /\b((i[346]|x)86)(pc)?\b/i], [[ie, "ia32"]], [/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i], [[ie, "arm64"]], [/\b(arm(v[67])?ht?n?[fl]p?)\b/i], [[ie, "armhf"]], [/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i], [[ie, "arm"]], [/((ppc|powerpc)(64)?)( mac|;|\))/i], [[ie, /ower/, o, ve]], [/ sun4\w[;\)]/i], [[ie, "sparc"]], [/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i], [[ie, ve]]], device: [[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i], [g, [w, J], [k, j]], [/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i, /samsung[- ]((?!sm-[lr])[-\w]+)/i, /sec-(sgh\w+)/i], [g, [w, J], [k, V]], [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], [g, [w, u], [k, V]], [/\((ipad);[-\w\),; ]+apple/i, /applecoremedia\/[\w\.]+ \((ipad)/i, /\b(ipad)\d\d?,\d\d?[;\]].+ios/i], [g, [w, u], [k, j]], [/(macintosh);/i], [g, [w, u]], [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i], [g, [w, H], [k, V]], [/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i], [g, [w, v], [k, j]], [/honor([-\w ]+)[;\)]/i], [g, [w, v], [k, V]], [/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i], [g, [w, P], [k, j]], [/(?:huawei)([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i], [g, [w, P], [k, V]], [/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i, /\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i], [[g, /_/g, " "], [w, G], [k, j]], [/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i, /\b; (\w+) build\/hm\1/i, /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, /oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i, /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i, / ([\w ]+) miui\/v?\d/i], [[g, /_/g, " "], [w, G], [k, V]], [/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i], [g, [w, U], [k, V]], [/\b(opd2(\d{3}a?))(?: bui|\))/i], [g, [w, ae, { OnePlus: ["304", "403", "203"], "*": U }], [k, j]], [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], [g, [w, "Vivo"], [k, V]], [/\b(rmx[1-3]\d{3})(?: bui|;|\))/i], [g, [w, "Realme"], [k, V]], [/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, /\bmot(?:orola)?[- ](\w*)/i, /((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i], [g, [w, Ee], [k, V]], [/\b(mz60\d|xoom[2 ]{0,2}) build\//i], [g, [w, Ee], [k, j]], [/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i], [g, [w, K], [k, j]], [/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, /\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i, /\blg-?([\d\w]+) bui/i], [g, [w, K], [k, V]], [/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i, /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i], [g, [w, X], [k, j]], [/(nokia) (t[12][01])/i], [w, g, [k, j]], [/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i, /nokia[-_ ]?(([-\w\. ]*))/i], [[g, /_/g, " "], [k, V], [w, "Nokia"]], [/(pixel (c|tablet))\b/i], [g, [w, x], [k, j]], [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], [g, [w, x], [k, V]], [/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i], [g, [w, Z], [k, V]], [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], [[g, "Xperia Tablet"], [w, Z], [k, j]], [/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i], [g, [w, z], [k, V]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i, /(kf[a-z]+)( bui|\)).+silk\//i], [g, [w, l], [k, j]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i], [[g, /(.+)/g, "Fire Phone $1"], [w, l], [k, V]], [/(playbook);[-\w\),; ]+(rim)/i], [g, w, [k, j]], [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], [g, [w, h], [k, V]], [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i], [g, [w, y], [k, j]], [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i], [g, [w, y], [k, V]], [/(nexus 9)/i], [g, [w, "HTC"], [k, j]], [/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i], [w, [g, /_/g, " "], [k, V]], [/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i], [g, [w, "TCL"], [k, j]], [/(itel) ((\w+))/i], [[w, ve], g, [k, ae, { tablet: ["p10001l", "w7001"], "*": "mobile" }]], [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i], [g, [w, "Acer"], [k, j]], [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i], [g, [w, "Meizu"], [k, V]], [/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i], [g, [w, "Ulefone"], [k, V]], [/; (energy ?\w+)(?: bui|\))/i, /; energizer ([\w ]+)(?: bui|\))/i], [g, [w, "Energizer"], [k, V]], [/; cat (b35);/i, /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i], [g, [w, "Cat"], [k, V]], [/((?:new )?andromax[\w- ]+)(?: bui|\))/i], [g, [w, "Smartfren"], [k, V]], [/droid.+; (a(?:015|06[35]|142p?))/i], [g, [w, "Nothing"], [k, V]], [/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i, /archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i], [g, [w, "Archos"], [k, j]], [/archos ([\w ]+)( b|\))/i, /; (ac[3-6]\d\w{2,8})( b|\))/i], [g, [w, "Archos"], [k, V]], [/(imo) (tab \w+)/i, /(infinix) (x1101b?)/i], [w, g, [k, j]], [/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i, /; (hmd|imo) ([\w ]+?)(?: bui|\))/i, /(hp) ([\w ]+\w)/i, /(microsoft); (lumia[\w ]+)/i, /(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i, /(oppo) ?([\w ]+) bui/i], [w, g, [k, V]], [/(kobo)\s(ereader|touch)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\/([\w\.]+)/i, /(nook)[\w ]+build\/(\w+)/i, /(dell) (strea[kpr\d ]*[\dko])/i, /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, /(trinity)[- ]*(t\d{3}) bui/i, /(gigaset)[- ]+(q\w{1,9}) bui/i, /(vodafone) ([\w ]+)(?:\)| bui)/i], [w, g, [k, j]], [/(surface duo)/i], [g, [w, pe], [k, j]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [g, [w, "Fairphone"], [k, V]], [/(u304aa)/i], [g, [w, "AT&T"], [k, V]], [/\bsie-(\w*)/i], [g, [w, "Siemens"], [k, V]], [/\b(rct\w+) b/i], [g, [w, "RCA"], [k, j]], [/\b(venue[\d ]{2,7}) b/i], [g, [w, "Dell"], [k, j]], [/\b(q(?:mv|ta)\w+) b/i], [g, [w, "Verizon"], [k, j]], [/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i], [g, [w, "Barnes & Noble"], [k, j]], [/\b(tm\d{3}\w+) b/i], [g, [w, "NuVision"], [k, j]], [/\b(k88) b/i], [g, [w, "ZTE"], [k, j]], [/\b(nx\d{3}j) b/i], [g, [w, "ZTE"], [k, V]], [/\b(gen\d{3}) b.+49h/i], [g, [w, "Swiss"], [k, V]], [/\b(zur\d{3}) b/i], [g, [w, "Swiss"], [k, j]], [/\b((zeki)?tb.*\b) b/i], [g, [w, "Zeki"], [k, j]], [/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i], [[w, "Dragon Touch"], g, [k, j]], [/\b(ns-?\w{0,9}) b/i], [g, [w, "Insignia"], [k, j]], [/\b((nxa|next)-?\w{0,9}) b/i], [g, [w, "NextBook"], [k, j]], [/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[w, "Voice"], g, [k, V]], [/\b(lvtel\-)?(v1[12]) b/i], [[w, "LvTel"], g, [k, V]], [/\b(ph-1) /i], [g, [w, "Essential"], [k, V]], [/\b(v(100md|700na|7011|917g).*\b) b/i], [g, [w, "Envizen"], [k, j]], [/\b(trio[-\w\. ]+) b/i], [g, [w, "MachSpeed"], [k, j]], [/\btu_(1491) b/i], [g, [w, "Rotor"], [k, j]], [/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i], [g, [w, Ie], [k, j]], [/(sprint) (\w+)/i], [w, g, [k, V]], [/(kin\.[onetw]{3})/i], [[g, /\./g, " "], [w, pe], [k, V]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [g, [w, Y], [k, j]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [g, [w, Y], [k, V]], [/smart-tv.+(samsung)/i], [w, [k, le]], [/hbbtv.+maple;(\d+)/i], [[g, /^/, "SmartTV"], [w, J], [k, le]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[w, K], [k, le]], [/(apple) ?tv/i], [w, [g, u + " TV"], [k, le]], [/crkey/i], [[g, E + "cast"], [w, x], [k, le]], [/droid.+aft(\w+)( bui|\))/i], [g, [w, l], [k, le]], [/(shield \w+ tv)/i], [g, [w, Ie], [k, le]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [g, [w, H], [k, le]], [/(bravia[\w ]+)( bui|\))/i], [g, [w, Z], [k, le]], [/(mi(tv|box)-?\w+) bui/i], [g, [w, G], [k, le]], [/Hbbtv.*(technisat) (.*);/i], [w, g, [k, le]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[w, $], [g, $], [k, le]], [/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i], [g, [k, le]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[k, le]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [w, g, [k, T]], [/droid.+; (shield)( bui|\))/i], [g, [w, Ie], [k, T]], [/(playstation \w+)/i], [g, [w, Z], [k, T]], [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], [g, [w, pe], [k, T]], [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i], [g, [w, J], [k, se]], [/((pebble))app/i, /(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i], [w, g, [k, se]], [/(ow(?:19|20)?we?[1-3]{1,3})/i], [g, [w, U], [k, se]], [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], [g, [w, u], [k, se]], [/(opwwe\d{3})/i], [g, [w, z], [k, se]], [/(moto 360)/i], [g, [w, Ee], [k, se]], [/(smartwatch 3)/i], [g, [w, Z], [k, se]], [/(g watch r)/i], [g, [w, K], [k, se]], [/droid.+; (wt63?0{2,3})\)/i], [g, [w, Y], [k, se]], [/droid.+; (glass) \d/i], [g, [w, x], [k, se]], [/(pico) (4|neo3(?: link|pro)?)/i], [w, g, [k, se]], [/; (quest( \d| pro)?)/i], [g, [w, L], [k, se]], [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], [w, [k, Se]], [/(aeobc)\b/i], [g, [w, l], [k, Se]], [/(homepod).+mac os/i], [g, [w, u], [k, Se]], [/windows iot/i], [[k, Se]], [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i], [g, [k, V]], [/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i], [g, [k, j]], [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i], [[k, j]], [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i], [[k, V]], [/droid .+?; ([\w\. -]+)( bui|\))/i], [g, [w, "Generic"]]], engine: [[/windows.+ edge\/([\w\.]+)/i], [C, [I, p + "HTML"]], [/(arkweb)\/([\w\.]+)/i], [I, C], [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i], [C, [I, "Blink"]], [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i, /ekioh(flow)\/([\w\.]+)/i, /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, /(icab)[\/ ]([23]\.[\d\.]+)/i, /\b(libweb)/i], [I, C], [/ladybird\//i], [[I, "LibWeb"]], [/rv\:([\w\.]{1,9})\b.+(gecko)/i], [C, I]], os: [[/microsoft (windows) (vista|xp)/i], [I, C], [/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i], [I, [C, ae, Me]], [/windows nt 6\.2; (arm)/i, /windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i, /(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i], [[C, ae, Me], [I, "Windows"]], [/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i, /(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i, /cfnetwork\/.+darwin/i], [[C, /_/g, "."], [I, "iOS"]], [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+haiku)/i], [[I, q], [C, /_/g, "."]], [/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i], [C, I], [/(ubuntu) ([\w\.]+) like android/i], [[I, /(.+)/, "$1 Touch"], C], [/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i], [I, C], [/\(bb(10);/i], [C, [I, h]], [/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i], [C, [I, "Symbian"]], [/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i], [C, [I, m + " OS"]], [/web0s;.+rt(tv)/i, /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i], [C, [I, "webOS"]], [/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i], [C, [I, "watchOS"]], [/crkey\/([\d\.]+)/i], [C, [I, E + "cast"]], [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], [[I, _], C], [/panasonic;(viera)/i, /(netrange)mmh/i, /(nettv)\/(\d+\.[\w\.]+)/i, /(nintendo|playstation) ([wids345portablevuch]+)/i, /(xbox); +xbox ([^\);]+)/i, /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, /(mint)[\/\(\) ]?(\w*)/i, /(mageia|vectorlinux)[; ]/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, /(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i, /(gnu) ?([\w\.]*)/i, /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, /(haiku) (\w+)/i], [I, C], [/(sunos) ?([\w\.\d]*)/i], [[I, "Solaris"], C], [/((?:open)?solaris)[-\/ ]?([\w\.]*)/i, /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, /(unix) ?([\w\.]*)/i], [I, C]] }, we = function(re, fe) {
4558
- if (typeof re === B && (fe = re, re = s), !(this instanceof we))
4559
- return new we(re, fe).getResult();
4560
- var oe = typeof n !== S && n.navigator ? n.navigator : s, be = re || (oe && oe.userAgent ? oe.userAgent : o), We = oe && oe.userAgentData ? oe.userAgentData : s, Re = fe ? te(ne, fe) : ne, xe = oe && oe.userAgent == be;
4584
+ }, ae = function(se, fe) {
4585
+ for (var ie in fe)
4586
+ if (typeof fe[ie] === B && fe[ie].length > 0) {
4587
+ for (var be = 0; be < fe[ie].length; be++)
4588
+ if (ge(fe[ie][be], se))
4589
+ return ie === a ? s : ie;
4590
+ } else if (ge(fe[ie], se))
4591
+ return ie === a ? s : ie;
4592
+ return fe.hasOwnProperty("*") ? fe["*"] : se;
4593
+ }, Te = { "1.0": "/8", 1.2: "/1", 1.3: "/3", "2.0": "/412", "2.0.2": "/416", "2.0.3": "/417", "2.0.4": "/419", "?": "/" }, Me = { ME: "4.90", "NT 3.11": "NT3.51", "NT 4.0": "NT4.0", 2e3: "NT 5.0", XP: ["NT 5.1", "NT 5.2"], Vista: "NT 6.0", 7: "NT 6.1", 8: "NT 6.2", 8.1: "NT 6.3", 10: ["NT 6.4", "NT 10.0"], RT: "ARM" }, ne = { browser: [[/\b(?:crmo|crios)\/([\w\.]+)/i], [C, [I, "Chrome"]], [/edg(?:e|ios|a)?\/([\w\.]+)/i], [C, [I, "Edge"]], [/(opera mini)\/([-\w\.]+)/i, /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i], [I, C], [/opios[\/ ]+([\w\.]+)/i], [C, [I, he + " Mini"]], [/\bop(?:rg)?x\/([\w\.]+)/i], [C, [I, he + " GX"]], [/\bopr\/([\w\.]+)/i], [C, [I, he]], [/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i], [C, [I, "Baidu"]], [/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i], [C, [I, "Maxthon"]], [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i, /(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i, /(?:ms|\()(ie) ([\w\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i, /(heytap|ovi|115)browser\/([\d\.]+)/i, /(weibo)__([\d\.]+)/i], [I, C], [/quark(?:pc)?\/([-\w\.]+)/i], [C, [I, "Quark"]], [/\bddg\/([\w\.]+)/i], [C, [I, "DuckDuckGo"]], [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i], [C, [I, "UC" + b]], [/microm.+\bqbcore\/([\w\.]+)/i, /\bqbcore\/([\w\.]+).+microm/i, /micromessenger\/([\w\.]+)/i], [C, [I, "WeChat"]], [/konqueror\/([\w\.]+)/i], [C, [I, "Konqueror"]], [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i], [C, [I, "IE"]], [/ya(?:search)?browser\/([\w\.]+)/i], [C, [I, "Yandex"]], [/slbrowser\/([\w\.]+)/i], [C, [I, "Smart Lenovo " + b]], [/(avast|avg)\/([\w\.]+)/i], [[I, /(.+)/, "$1 Secure " + b], C], [/\bfocus\/([\w\.]+)/i], [C, [I, w + " Focus"]], [/\bopt\/([\w\.]+)/i], [C, [I, he + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [C, [I, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [C, [I, "Dolphin"]], [/coast\/([\w\.]+)/i], [C, [I, he + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [C, [I, "MIUI" + O]], [/fxios\/([\w\.-]+)/i], [C, [I, w]], [/\bqihoobrowser\/?([\w\.]*)/i], [C, [I, "360"]], [/\b(qq)\/([\w\.]+)/i], [[I, /(.+)/, "$1Browser"], C], [/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i], [[I, /(.+)/, "$1" + O], C], [/samsungbrowser\/([\w\.]+)/i], [C, [I, J + " Internet"]], [/metasr[\/ ]?([\d\.]+)/i], [C, [I, "Sogou Explorer"]], [/(sogou)mo\w+\/([\d\.]+)/i], [[I, "Sogou Mobile"], C], [/(electron)\/([\w\.]+) safari/i, /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, /m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i], [I, C], [/(lbbrowser|rekonq)/i, /\[(linkedin)app\]/i], [I], [/ome\/([\w\.]+) \w* ?(iron) saf/i, /ome\/([\w\.]+).+qihu (360)[es]e/i], [C, I], [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i], [[I, L], C], [/(Klarna)\/([\w\.]+)/i, /(kakao(?:talk|story))[\/ ]([\w\.]+)/i, /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, /(daum)apps[\/ ]([\w\.]+)/i, /safari (line)\/([\w\.]+)/i, /\b(line)\/([\w\.]+)\/iab/i, /(alipay)client\/([\w\.]+)/i, /(twitter)(?:and| f.+e\/([\w\.]+))/i, /(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i], [I, C], [/\bgsa\/([\w\.]+) .*safari\//i], [C, [I, "GSA"]], [/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i], [C, [I, "TikTok"]], [/headlesschrome(?:\/([\w\.]+)| )/i], [C, [I, E + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[I, E + " WebView"], C], [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i], [C, [I, "Android " + b]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i], [I, C], [/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i], [C, [I, "Mobile Safari"]], [/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i], [C, I], [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i], [I, [C, ae, Te]], [/(webkit|khtml)\/([\w\.]+)/i], [I, C], [/(navigator|netscape\d?)\/([-\w\.]+)/i], [[I, "Netscape"], C], [/(wolvic|librewolf)\/([\w\.]+)/i], [I, C], [/mobile vr; rv:([\w\.]+)\).+firefox/i], [C, [I, w + " Reality"]], [/ekiohf.+(flow)\/([\w\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, /(firefox)\/([\w\.]+)/i, /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, /\b(links) \(([\w\.]+)/i], [I, [C, /_/g, "."]], [/(cobalt)\/([\w\.]+)/i], [I, [C, /master.|lts./, ""]]], cpu: [[/\b((amd|x|x86[-_]?|wow|win)64)\b/i], [[re, "amd64"]], [/(ia32(?=;))/i, /\b((i[346]|x)86)(pc)?\b/i], [[re, "ia32"]], [/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i], [[re, "arm64"]], [/\b(arm(v[67])?ht?n?[fl]p?)\b/i], [[re, "armhf"]], [/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i], [[re, "arm"]], [/((ppc|powerpc)(64)?)( mac|;|\))/i], [[re, /ower/, o, ve]], [/ sun4\w[;\)]/i], [[re, "sparc"]], [/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i], [[re, ve]]], device: [[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i], [g, [m, J], [k, j]], [/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i, /samsung[- ]((?!sm-[lr])[-\w]+)/i, /sec-(sgh\w+)/i], [g, [m, J], [k, H]], [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], [g, [m, u], [k, H]], [/\((ipad);[-\w\),; ]+apple/i, /applecoremedia\/[\w\.]+ \((ipad)/i, /\b(ipad)\d\d?,\d\d?[;\]].+ios/i], [g, [m, u], [k, j]], [/(macintosh);/i], [g, [m, u]], [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i], [g, [m, z], [k, H]], [/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i], [g, [m, v], [k, j]], [/honor([-\w ]+)[;\)]/i], [g, [m, v], [k, H]], [/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i], [g, [m, P], [k, j]], [/(?:huawei)([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i], [g, [m, P], [k, H]], [/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i, /\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i], [[g, /_/g, " "], [m, Y], [k, j]], [/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i, /\b; (\w+) build\/hm\1/i, /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, /oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i, /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i, / ([\w ]+) miui\/v?\d/i], [[g, /_/g, " "], [m, Y], [k, H]], [/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i], [g, [m, U], [k, H]], [/\b(opd2(\d{3}a?))(?: bui|\))/i], [g, [m, ae, { OnePlus: ["304", "403", "203"], "*": U }], [k, j]], [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], [g, [m, "Vivo"], [k, H]], [/\b(rmx[1-3]\d{3})(?: bui|;|\))/i], [g, [m, "Realme"], [k, H]], [/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, /\bmot(?:orola)?[- ](\w*)/i, /((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i], [g, [m, Ee], [k, H]], [/\b(mz60\d|xoom[2 ]{0,2}) build\//i], [g, [m, Ee], [k, j]], [/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i], [g, [m, K], [k, j]], [/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, /\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i, /\blg-?([\d\w]+) bui/i], [g, [m, K], [k, H]], [/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i, /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i], [g, [m, X], [k, j]], [/(nokia) (t[12][01])/i], [m, g, [k, j]], [/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i, /nokia[-_ ]?(([-\w\. ]*))/i], [[g, /_/g, " "], [k, H], [m, "Nokia"]], [/(pixel (c|tablet))\b/i], [g, [m, x], [k, j]], [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], [g, [m, x], [k, H]], [/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i], [g, [m, Z], [k, H]], [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], [[g, "Xperia Tablet"], [m, Z], [k, j]], [/ (kb2005|in20[12]5|be20[12][59])\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i], [g, [m, V], [k, H]], [/(alexa)webm/i, /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i, /(kf[a-z]+)( bui|\)).+silk\//i], [g, [m, l], [k, j]], [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i], [[g, /(.+)/g, "Fire Phone $1"], [m, l], [k, H]], [/(playbook);[-\w\),; ]+(rim)/i], [g, m, [k, j]], [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], [g, [m, h], [k, H]], [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i], [g, [m, y], [k, j]], [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i], [g, [m, y], [k, H]], [/(nexus 9)/i], [g, [m, "HTC"], [k, j]], [/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i], [m, [g, /_/g, " "], [k, H]], [/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i], [g, [m, "TCL"], [k, j]], [/(itel) ((\w+))/i], [[m, ve], g, [k, ae, { tablet: ["p10001l", "w7001"], "*": "mobile" }]], [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i], [g, [m, "Acer"], [k, j]], [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i], [g, [m, "Meizu"], [k, H]], [/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i], [g, [m, "Ulefone"], [k, H]], [/; (energy ?\w+)(?: bui|\))/i, /; energizer ([\w ]+)(?: bui|\))/i], [g, [m, "Energizer"], [k, H]], [/; cat (b35);/i, /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i], [g, [m, "Cat"], [k, H]], [/((?:new )?andromax[\w- ]+)(?: bui|\))/i], [g, [m, "Smartfren"], [k, H]], [/droid.+; (a(?:015|06[35]|142p?))/i], [g, [m, "Nothing"], [k, H]], [/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i, /archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i], [g, [m, "Archos"], [k, j]], [/archos ([\w ]+)( b|\))/i, /; (ac[3-6]\d\w{2,8})( b|\))/i], [g, [m, "Archos"], [k, H]], [/(imo) (tab \w+)/i, /(infinix) (x1101b?)/i], [m, g, [k, j]], [/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i, /; (hmd|imo) ([\w ]+?)(?: bui|\))/i, /(hp) ([\w ]+\w)/i, /(microsoft); (lumia[\w ]+)/i, /(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i, /(oppo) ?([\w ]+) bui/i], [m, g, [k, H]], [/(kobo)\s(ereader|touch)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\/([\w\.]+)/i, /(nook)[\w ]+build\/(\w+)/i, /(dell) (strea[kpr\d ]*[\dko])/i, /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, /(trinity)[- ]*(t\d{3}) bui/i, /(gigaset)[- ]+(q\w{1,9}) bui/i, /(vodafone) ([\w ]+)(?:\)| bui)/i], [m, g, [k, j]], [/(surface duo)/i], [g, [m, pe], [k, j]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [g, [m, "Fairphone"], [k, H]], [/(u304aa)/i], [g, [m, "AT&T"], [k, H]], [/\bsie-(\w*)/i], [g, [m, "Siemens"], [k, H]], [/\b(rct\w+) b/i], [g, [m, "RCA"], [k, j]], [/\b(venue[\d ]{2,7}) b/i], [g, [m, "Dell"], [k, j]], [/\b(q(?:mv|ta)\w+) b/i], [g, [m, "Verizon"], [k, j]], [/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i], [g, [m, "Barnes & Noble"], [k, j]], [/\b(tm\d{3}\w+) b/i], [g, [m, "NuVision"], [k, j]], [/\b(k88) b/i], [g, [m, "ZTE"], [k, j]], [/\b(nx\d{3}j) b/i], [g, [m, "ZTE"], [k, H]], [/\b(gen\d{3}) b.+49h/i], [g, [m, "Swiss"], [k, H]], [/\b(zur\d{3}) b/i], [g, [m, "Swiss"], [k, j]], [/\b((zeki)?tb.*\b) b/i], [g, [m, "Zeki"], [k, j]], [/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i], [[m, "Dragon Touch"], g, [k, j]], [/\b(ns-?\w{0,9}) b/i], [g, [m, "Insignia"], [k, j]], [/\b((nxa|next)-?\w{0,9}) b/i], [g, [m, "NextBook"], [k, j]], [/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[m, "Voice"], g, [k, H]], [/\b(lvtel\-)?(v1[12]) b/i], [[m, "LvTel"], g, [k, H]], [/\b(ph-1) /i], [g, [m, "Essential"], [k, H]], [/\b(v(100md|700na|7011|917g).*\b) b/i], [g, [m, "Envizen"], [k, j]], [/\b(trio[-\w\. ]+) b/i], [g, [m, "MachSpeed"], [k, j]], [/\btu_(1491) b/i], [g, [m, "Rotor"], [k, j]], [/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i], [g, [m, Ie], [k, j]], [/(sprint) (\w+)/i], [m, g, [k, H]], [/(kin\.[onetw]{3})/i], [[g, /\./g, " "], [m, pe], [k, H]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [g, [m, W], [k, j]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [g, [m, W], [k, H]], [/smart-tv.+(samsung)/i], [m, [k, le]], [/hbbtv.+maple;(\d+)/i], [[g, /^/, "SmartTV"], [m, J], [k, le]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[m, K], [k, le]], [/(apple) ?tv/i], [m, [g, u + " TV"], [k, le]], [/crkey/i], [[g, E + "cast"], [m, x], [k, le]], [/droid.+aft(\w+)( bui|\))/i], [g, [m, l], [k, le]], [/(shield \w+ tv)/i], [g, [m, Ie], [k, le]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [g, [m, z], [k, le]], [/(bravia[\w ]+)( bui|\))/i], [g, [m, Z], [k, le]], [/(mi(tv|box)-?\w+) bui/i], [g, [m, Y], [k, le]], [/Hbbtv.*(technisat) (.*);/i], [m, g, [k, le]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[m, $], [g, $], [k, le]], [/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i], [g, [k, le]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[k, le]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [m, g, [k, T]], [/droid.+; (shield)( bui|\))/i], [g, [m, Ie], [k, T]], [/(playstation \w+)/i], [g, [m, Z], [k, T]], [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], [g, [m, pe], [k, T]], [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i], [g, [m, J], [k, oe]], [/((pebble))app/i, /(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i], [m, g, [k, oe]], [/(ow(?:19|20)?we?[1-3]{1,3})/i], [g, [m, U], [k, oe]], [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], [g, [m, u], [k, oe]], [/(opwwe\d{3})/i], [g, [m, V], [k, oe]], [/(moto 360)/i], [g, [m, Ee], [k, oe]], [/(smartwatch 3)/i], [g, [m, Z], [k, oe]], [/(g watch r)/i], [g, [m, K], [k, oe]], [/droid.+; (wt63?0{2,3})\)/i], [g, [m, W], [k, oe]], [/droid.+; (glass) \d/i], [g, [m, x], [k, oe]], [/(pico) (4|neo3(?: link|pro)?)/i], [m, g, [k, oe]], [/; (quest( \d| pro)?)/i], [g, [m, L], [k, oe]], [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], [m, [k, Se]], [/(aeobc)\b/i], [g, [m, l], [k, Se]], [/(homepod).+mac os/i], [g, [m, u], [k, Se]], [/windows iot/i], [[k, Se]], [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i], [g, [k, H]], [/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i], [g, [k, j]], [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i], [[k, j]], [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i], [[k, H]], [/droid .+?; ([\w\. -]+)( bui|\))/i], [g, [m, "Generic"]]], engine: [[/windows.+ edge\/([\w\.]+)/i], [C, [I, p + "HTML"]], [/(arkweb)\/([\w\.]+)/i], [I, C], [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i], [C, [I, "Blink"]], [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i, /ekioh(flow)\/([\w\.]+)/i, /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, /(icab)[\/ ]([23]\.[\d\.]+)/i, /\b(libweb)/i], [I, C], [/ladybird\//i], [[I, "LibWeb"]], [/rv\:([\w\.]{1,9})\b.+(gecko)/i], [C, I]], os: [[/microsoft (windows) (vista|xp)/i], [I, C], [/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i], [I, [C, ae, Me]], [/windows nt 6\.2; (arm)/i, /windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i, /(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i], [[C, ae, Me], [I, "Windows"]], [/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i, /(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i, /cfnetwork\/.+darwin/i], [[C, /_/g, "."], [I, "iOS"]], [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+haiku)/i], [[I, G], [C, /_/g, "."]], [/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i], [C, I], [/(ubuntu) ([\w\.]+) like android/i], [[I, /(.+)/, "$1 Touch"], C], [/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i], [I, C], [/\(bb(10);/i], [C, [I, h]], [/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i], [C, [I, "Symbian"]], [/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i], [C, [I, w + " OS"]], [/web0s;.+rt(tv)/i, /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i], [C, [I, "webOS"]], [/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i], [C, [I, "watchOS"]], [/crkey\/([\d\.]+)/i], [C, [I, E + "cast"]], [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], [[I, _], C], [/panasonic;(viera)/i, /(netrange)mmh/i, /(nettv)\/(\d+\.[\w\.]+)/i, /(nintendo|playstation) ([wids345portablevuch]+)/i, /(xbox); +xbox ([^\);]+)/i, /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, /(mint)[\/\(\) ]?(\w*)/i, /(mageia|vectorlinux)[; ]/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, /(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i, /(gnu) ?([\w\.]*)/i, /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, /(haiku) (\w+)/i], [I, C], [/(sunos) ?([\w\.\d]*)/i], [[I, "Solaris"], C], [/((?:open)?solaris)[-\/ ]?([\w\.]*)/i, /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, /(unix) ?([\w\.]*)/i], [I, C]] }, we = function(se, fe) {
4594
+ if (typeof se === B && (fe = se, se = s), !(this instanceof we))
4595
+ return new we(se, fe).getResult();
4596
+ var ie = typeof n !== S && n.navigator ? n.navigator : s, be = se || (ie && ie.userAgent ? ie.userAgent : o), We = ie && ie.userAgentData ? ie.userAgentData : s, Re = fe ? te(ne, fe) : ne, xe = ie && ie.userAgent == be;
4561
4597
  return this.getBrowser = function() {
4562
4598
  var ce = {};
4563
- return ce[I] = s, ce[C] = s, ee.call(ce, be, Re.browser), ce[F] = W(ce[C]), xe && oe && oe.brave && typeof oe.brave.isBrave == c && (ce[I] = "Brave"), ce;
4599
+ return ce[I] = s, ce[C] = s, ee.call(ce, be, Re.browser), ce[F] = q(ce[C]), xe && ie && ie.brave && typeof ie.brave.isBrave == c && (ce[I] = "Brave"), ce;
4564
4600
  }, this.getCPU = function() {
4565
4601
  var ce = {};
4566
- return ce[ie] = s, ee.call(ce, be, Re.cpu), ce;
4602
+ return ce[re] = s, ee.call(ce, be, Re.cpu), ce;
4567
4603
  }, this.getDevice = function() {
4568
4604
  var ce = {};
4569
- return ce[w] = s, ce[g] = s, ce[k] = s, ee.call(ce, be, Re.device), xe && !ce[k] && We && We.mobile && (ce[k] = V), xe && ce[g] == "Macintosh" && oe && typeof oe.standalone !== S && oe.maxTouchPoints && oe.maxTouchPoints > 2 && (ce[g] = "iPad", ce[k] = j), ce;
4605
+ return ce[m] = s, ce[g] = s, ce[k] = s, ee.call(ce, be, Re.device), xe && !ce[k] && We && We.mobile && (ce[k] = H), xe && ce[g] == "Macintosh" && ie && typeof ie.standalone !== S && ie.maxTouchPoints && ie.maxTouchPoints > 2 && (ce[g] = "iPad", ce[k] = j), ce;
4570
4606
  }, this.getEngine = function() {
4571
4607
  var ce = {};
4572
4608
  return ce[I] = s, ce[C] = s, ee.call(ce, be, Re.engine), ce;
4573
4609
  }, this.getOS = function() {
4574
4610
  var ce = {};
4575
- return ce[I] = s, ce[C] = s, ee.call(ce, be, Re.os), xe && !ce[I] && We && We.platform && We.platform != "Unknown" && (ce[I] = We.platform.replace(/chrome os/i, _).replace(/macos/i, q)), ce;
4611
+ return ce[I] = s, ce[C] = s, ee.call(ce, be, Re.os), xe && !ce[I] && We && We.platform && We.platform != "Unknown" && (ce[I] = We.platform.replace(/chrome os/i, _).replace(/macos/i, G)), ce;
4576
4612
  }, this.getResult = function() {
4577
4613
  return { ua: this.getUA(), browser: this.getBrowser(), engine: this.getEngine(), os: this.getOS(), device: this.getDevice(), cpu: this.getCPU() };
4578
4614
  }, this.getUA = function() {
@@ -4581,17 +4617,17 @@ function Ac() {
4581
4617
  return be = typeof ce === D && ce.length > i ? $(ce, i) : ce, this;
4582
4618
  }, this.setUA(be), this;
4583
4619
  };
4584
- we.VERSION = r, we.BROWSER = de([I, C, F]), we.CPU = de([ie]), we.DEVICE = de([g, w, k, T, V, le, j, se, Se]), we.ENGINE = we.OS = de([I, C]), e.exports && (t = e.exports = we), t.UAParser = we;
4620
+ we.VERSION = r, we.BROWSER = de([I, C, F]), we.CPU = de([re]), we.DEVICE = de([g, m, k, T, H, le, j, oe, Se]), we.ENGINE = we.OS = de([I, C]), e.exports && (t = e.exports = we), t.UAParser = we;
4585
4621
  var Be = typeof n !== S && (n.jQuery || n.Zepto);
4586
4622
  if (Be && !Be.ua) {
4587
4623
  var Ce = new we();
4588
4624
  Be.ua = Ce.getResult(), Be.ua.get = function() {
4589
4625
  return Ce.getUA();
4590
- }, Be.ua.set = function(re) {
4591
- Ce.setUA(re);
4626
+ }, Be.ua.set = function(se) {
4627
+ Ce.setUA(se);
4592
4628
  var fe = Ce.getResult();
4593
- for (var oe in fe)
4594
- Be.ua[oe] = fe[oe];
4629
+ for (var ie in fe)
4630
+ Be.ua[ie] = fe[ie];
4595
4631
  };
4596
4632
  }
4597
4633
  })(typeof window == "object" ? window : yc);
@@ -4645,7 +4681,7 @@ function vc() {
4645
4681
  }
4646
4682
  return f;
4647
4683
  }
4648
- function w(A) {
4684
+ function m(A) {
4649
4685
  for (var d = 1; d < arguments.length; d++) {
4650
4686
  var f = arguments[d] != null ? arguments[d] : {};
4651
4687
  d % 2 ? k(Object(f), !0).forEach(function(N) {
@@ -4664,7 +4700,7 @@ function vc() {
4664
4700
  return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
4665
4701
  }, C(A);
4666
4702
  }
4667
- function ie(A, d) {
4703
+ function re(A, d) {
4668
4704
  if (!(A instanceof d))
4669
4705
  throw new TypeError("Cannot call a class as a function");
4670
4706
  }
@@ -4674,7 +4710,7 @@ function vc() {
4674
4710
  N.enumerable = N.enumerable || !1, N.configurable = !0, "value" in N && (N.writable = !0), Object.defineProperty(A, N.key, N);
4675
4711
  }
4676
4712
  }
4677
- function V(A, d, f) {
4713
+ function H(A, d, f) {
4678
4714
  return d && T(A.prototype, d), A;
4679
4715
  }
4680
4716
  function j(A, d, f) {
@@ -4695,7 +4731,7 @@ function vc() {
4695
4731
  return A;
4696
4732
  }, le.apply(this, arguments);
4697
4733
  }
4698
- function se(A, d) {
4734
+ function oe(A, d) {
4699
4735
  if (typeof d != "function" && d !== null)
4700
4736
  throw new TypeError("Super expression must either be null or a function");
4701
4737
  A.prototype = Object.create(d && d.prototype, {
@@ -4746,7 +4782,7 @@ function vc() {
4746
4782
  return y(A);
4747
4783
  }
4748
4784
  function b(A, d) {
4749
- return E(A) || p(A, d) || m(A, d) || v();
4785
+ return E(A) || p(A, d) || w(A, d) || v();
4750
4786
  }
4751
4787
  function E(A) {
4752
4788
  if (Array.isArray(A)) return A;
@@ -4770,7 +4806,7 @@ function vc() {
4770
4806
  return N;
4771
4807
  }
4772
4808
  }
4773
- function m(A, d) {
4809
+ function w(A, d) {
4774
4810
  if (A) {
4775
4811
  if (typeof A == "string") return x(A, d);
4776
4812
  var f = Object.prototype.toString.call(A).slice(8, -1);
@@ -4857,7 +4893,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4857
4893
  }
4858
4894
  }, Ie = function(d) {
4859
4895
  return F(d);
4860
- }, z = function(d) {
4896
+ }, V = function(d) {
4861
4897
  var f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "none";
4862
4898
  return d || f;
4863
4899
  }, he = function() {
@@ -4868,60 +4904,60 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4868
4904
  }, J = function(d, f, N, M, ye) {
4869
4905
  return {
4870
4906
  isBrowser: d,
4871
- browserMajorVersion: z(f.major),
4872
- browserFullVersion: z(f.version),
4873
- browserName: z(f.name),
4874
- engineName: z(N.name),
4875
- engineVersion: z(N.version),
4876
- osName: z(M.name),
4877
- osVersion: z(M.version),
4878
- userAgent: z(ye)
4907
+ browserMajorVersion: V(f.major),
4908
+ browserFullVersion: V(f.version),
4909
+ browserName: V(f.name),
4910
+ engineName: V(N.name),
4911
+ engineVersion: V(N.version),
4912
+ osName: V(M.name),
4913
+ osVersion: V(M.version),
4914
+ userAgent: V(ye)
4879
4915
  };
4880
- }, H = function(d, f, N, M) {
4881
- return w({}, d, {
4882
- vendor: z(f.vendor),
4883
- model: z(f.model),
4884
- os: z(N.name),
4885
- osVersion: z(N.version),
4886
- ua: z(M)
4916
+ }, z = function(d, f, N, M) {
4917
+ return m({}, d, {
4918
+ vendor: V(f.vendor),
4919
+ model: V(f.model),
4920
+ os: V(N.name),
4921
+ osVersion: V(N.version),
4922
+ ua: V(M)
4887
4923
  });
4888
4924
  }, Z = function(d, f, N, M) {
4889
4925
  return {
4890
4926
  isSmartTV: d,
4891
- engineName: z(f.name),
4892
- engineVersion: z(f.version),
4893
- osName: z(N.name),
4894
- osVersion: z(N.version),
4895
- userAgent: z(M)
4927
+ engineName: V(f.name),
4928
+ engineVersion: V(f.version),
4929
+ osName: V(N.name),
4930
+ osVersion: V(N.version),
4931
+ userAgent: V(M)
4896
4932
  };
4897
- }, G = function(d, f, N, M) {
4933
+ }, Y = function(d, f, N, M) {
4898
4934
  return {
4899
4935
  isConsole: d,
4900
- engineName: z(f.name),
4901
- engineVersion: z(f.version),
4902
- osName: z(N.name),
4903
- osVersion: z(N.version),
4904
- userAgent: z(M)
4936
+ engineName: V(f.name),
4937
+ engineVersion: V(f.version),
4938
+ osName: V(N.name),
4939
+ osVersion: V(N.version),
4940
+ userAgent: V(M)
4905
4941
  };
4906
- }, Y = function(d, f, N, M) {
4942
+ }, W = function(d, f, N, M) {
4907
4943
  return {
4908
4944
  isWearable: d,
4909
- engineName: z(f.name),
4910
- engineVersion: z(f.version),
4911
- osName: z(N.name),
4912
- osVersion: z(N.version),
4913
- userAgent: z(M)
4945
+ engineName: V(f.name),
4946
+ engineVersion: V(f.version),
4947
+ osName: V(N.name),
4948
+ osVersion: V(N.version),
4949
+ userAgent: V(M)
4914
4950
  };
4915
4951
  }, L = function(d, f, N, M, ye) {
4916
4952
  return {
4917
4953
  isEmbedded: d,
4918
- vendor: z(f.vendor),
4919
- model: z(f.model),
4920
- engineName: z(N.name),
4921
- engineVersion: z(N.version),
4922
- osName: z(M.name),
4923
- osVersion: z(M.version),
4924
- userAgent: z(ye)
4954
+ vendor: V(f.vendor),
4955
+ model: V(f.model),
4956
+ engineName: V(N.name),
4957
+ engineVersion: V(N.version),
4958
+ osName: V(M.name),
4959
+ osVersion: V(M.version),
4960
+ userAgent: V(ye)
4925
4961
  };
4926
4962
  };
4927
4963
  function _(A) {
@@ -4931,15 +4967,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4931
4967
  if (rr)
4932
4968
  return Z(rr, M, ye, Ne);
4933
4969
  if (sr)
4934
- return G(sr, M, ye, Ne);
4970
+ return Y(sr, M, ye, Ne);
4935
4971
  if (ao || co)
4936
- return H(Fe, f, ye, Ne);
4972
+ return z(Fe, f, ye, Ne);
4937
4973
  if (or)
4938
- return Y(or, M, ye, Ne);
4974
+ return W(or, M, ye, Ne);
4939
4975
  if (ir)
4940
4976
  return L(ir, f, M, ye, Ne);
4941
4977
  }
4942
- var q = function(d) {
4978
+ var G = function(d) {
4943
4979
  var f = d.type;
4944
4980
  return f === P.Mobile;
4945
4981
  }, O = function(d) {
@@ -4957,7 +4993,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4957
4993
  }, ve = function(d) {
4958
4994
  var f = d.type;
4959
4995
  return f === P.Wearable;
4960
- }, W = function(d) {
4996
+ }, q = function(d) {
4961
4997
  var f = d.type;
4962
4998
  return f === P.Console;
4963
4999
  }, $ = function(d) {
@@ -4965,13 +5001,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4965
5001
  return f === P.Embedded;
4966
5002
  }, ee = function(d) {
4967
5003
  var f = d.vendor;
4968
- return z(f);
5004
+ return V(f);
4969
5005
  }, ae = function(d) {
4970
5006
  var f = d.model;
4971
- return z(f);
5007
+ return V(f);
4972
5008
  }, Te = function(d) {
4973
5009
  var f = d.type;
4974
- return z(f, "browser");
5010
+ return V(f, "browser");
4975
5011
  }, Me = function(d) {
4976
5012
  var f = d.name;
4977
5013
  return f === K.Android;
@@ -4987,13 +5023,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
4987
5023
  }, Ce = function(d) {
4988
5024
  var f = d.name;
4989
5025
  return f === K.IOS;
4990
- }, re = function(d) {
5026
+ }, se = function(d) {
4991
5027
  var f = d.version;
4992
- return z(f);
5028
+ return V(f);
4993
5029
  }, fe = function(d) {
4994
5030
  var f = d.name;
4995
- return z(f);
4996
- }, oe = function(d) {
5031
+ return V(f);
5032
+ }, ie = function(d) {
4997
5033
  var f = d.name;
4998
5034
  return f === X.Chrome;
4999
5035
  }, be = function(d) {
@@ -5028,19 +5064,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5028
5064
  return f === X.SamsungBrowser;
5029
5065
  }, Mn = function(d) {
5030
5066
  var f = d.version;
5031
- return z(f);
5067
+ return V(f);
5032
5068
  }, Rn = function(d) {
5033
5069
  var f = d.major;
5034
- return z(f);
5070
+ return V(f);
5035
5071
  }, Fn = function(d) {
5036
5072
  var f = d.name;
5037
- return z(f);
5073
+ return V(f);
5038
5074
  }, Ln = function(d) {
5039
5075
  var f = d.name;
5040
- return z(f);
5076
+ return V(f);
5041
5077
  }, Hn = function(d) {
5042
5078
  var f = d.version;
5043
- return z(f);
5079
+ return V(f);
5044
5080
  }, zn = function() {
5045
5081
  var d = he(), f = d && d.userAgent && d.userAgent.toLowerCase();
5046
5082
  return typeof f == "string" ? /electron/.test(f) : !1;
@@ -5056,31 +5092,31 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5056
5092
  }, Wn = function() {
5057
5093
  return U("iPod");
5058
5094
  }, Yn = function(d) {
5059
- return z(d);
5095
+ return V(d);
5060
5096
  };
5061
5097
  function Gn(A) {
5062
5098
  var d = A || I, f = d.device, N = d.browser, M = d.os, ye = d.engine, Ne = d.ua;
5063
5099
  return {
5064
5100
  isSmartTV: de(f),
5065
- isConsole: W(f),
5101
+ isConsole: q(f),
5066
5102
  isWearable: ve(f),
5067
5103
  isEmbedded: $(f),
5068
5104
  isMobileSafari: ze(N) || Qe(),
5069
5105
  isChromium: We(N),
5070
5106
  isMobile: te(f) || Qe(),
5071
- isMobileOnly: q(f),
5107
+ isMobileOnly: G(f),
5072
5108
  isTablet: O(f) || Qe(),
5073
5109
  isBrowser: ge(f),
5074
5110
  isDesktop: ge(f),
5075
5111
  isAndroid: Me(M),
5076
5112
  isWinPhone: Be(M),
5077
5113
  isIOS: Ce(M) || Qe(),
5078
- isChrome: oe(N),
5114
+ isChrome: ie(N),
5079
5115
  isFirefox: be(N),
5080
5116
  isSafari: ce(N),
5081
5117
  isOpera: gt(N),
5082
5118
  isIE: Tt(N),
5083
- osVersion: re(M),
5119
+ osVersion: se(M),
5084
5120
  osName: fe(M),
5085
5121
  fullBrowserVersion: Mn(N),
5086
5122
  browserVersion: Rn(N),
@@ -5106,7 +5142,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5106
5142
  isSamsungBrowser: On(N)
5107
5143
  };
5108
5144
  }
5109
- var Xn = de(c), Jn = W(c), jn = ve(c), ps = $(c), hs = ze(o) || Qe(), ms = We(o), Rt = te(c) || Qe(), Qn = q(c), Kn = O(c) || Qe(), Zn = ge(c), gs = ge(c), _n = Me(B), $n = Be(B), er = Ce(B) || Qe(), ws = oe(o), bs = be(o), ys = ce(o), As = gt(o), tr = Tt(o), vs = re(B), ks = fe(B), xs = Mn(o), Es = Rn(o), Ts = Fn(o), Is = ee(c), Ss = ae(c), Cs = Ln(S), Bs = Hn(S), Ds = Yn(D), Ps = Re(o) || wt(D), Ns = xe(o), Us = Te(c), Os = Vn(), Ms = Qe(), Rs = qn(), Fs = Wn(), Ls = zn(), Hs = wt(D), zs = Re(o) && !wt(D), Vs = ne(B), qs = we(B), Ws = Un(o), Ys = On(o), Gs = function(d) {
5145
+ var Xn = de(c), Jn = q(c), jn = ve(c), ps = $(c), hs = ze(o) || Qe(), ms = We(o), Rt = te(c) || Qe(), Qn = G(c), Kn = O(c) || Qe(), Zn = ge(c), gs = ge(c), _n = Me(B), $n = Be(B), er = Ce(B) || Qe(), ws = ie(o), bs = be(o), ys = ce(o), As = gt(o), tr = Tt(o), vs = se(B), ks = fe(B), xs = Mn(o), Es = Rn(o), Ts = Fn(o), Is = ee(c), Ss = ae(c), Cs = Ln(S), Bs = Hn(S), Ds = Yn(D), Ps = Re(o) || wt(D), Ns = xe(o), Us = Te(c), Os = Vn(), Ms = Qe(), Rs = qn(), Fs = Wn(), Ls = zn(), Hs = wt(D), zs = Re(o) && !wt(D), Vs = ne(B), qs = we(B), Ws = Un(o), Ys = On(o), Gs = function(d) {
5110
5146
  if (!d || typeof d != "string") {
5111
5147
  console.error("No valid user agent string was provided");
5112
5148
  return;
@@ -5162,15 +5198,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5162
5198
  };
5163
5199
  function so(A) {
5164
5200
  return /* @__PURE__ */ (function(d) {
5165
- se(f, d);
5201
+ oe(f, d);
5166
5202
  function f(N) {
5167
5203
  var M;
5168
- return ie(this, f), M = h(this, Se(f).call(this, N)), M.isEventListenerAdded = !1, M.handleOrientationChange = M.handleOrientationChange.bind(y(M)), M.onOrientationChange = M.onOrientationChange.bind(y(M)), M.onPageLoad = M.onPageLoad.bind(y(M)), M.state = {
5204
+ return re(this, f), M = h(this, Se(f).call(this, N)), M.isEventListenerAdded = !1, M.handleOrientationChange = M.handleOrientationChange.bind(y(M)), M.onOrientationChange = M.onOrientationChange.bind(y(M)), M.onPageLoad = M.onPageLoad.bind(y(M)), M.state = {
5169
5205
  isLandscape: !1,
5170
5206
  isPortrait: !1
5171
5207
  }, M;
5172
5208
  }
5173
- return V(f, [{
5209
+ return H(f, [{
5174
5210
  key: "handleOrientationChange",
5175
5211
  value: function() {
5176
5212
  this.isEventListenerAdded || (this.isEventListenerAdded = !0);
@@ -5251,7 +5287,7 @@ const kc = ({
5251
5287
  }) => {
5252
5288
  const { language: s } = Va();
5253
5289
  console.log("🚀 ~ ChatModal ~ language:", s);
5254
- const { messages: r, addMessage: o, updateMessageAction: a } = Ha(), [c, S] = Ve(""), [B, D] = Ve(!1), [F, g] = Ve(!0), [I, k] = Ve(null), w = tn(null), C = tn(null), ie = tn(null), { account: T, chainData: V, chainType: j, chainTypeMoralis: le, chainId: se } = Nn(), Se = Pe(() => {
5290
+ const { messages: r, addMessage: o, updateMessageAction: a } = Ha(), [c, S] = Ve(""), [B, D] = Ve(!1), [F, g] = Ve(!0), [I, k] = Ve(null), m = tn(null), C = tn(null), re = tn(null), { account: T, chainData: H, chainType: j, chainTypeMoralis: le, chainId: oe } = Nn(), Se = Pe(() => {
5255
5291
  const U = localStorage.getItem("dataBuyToken");
5256
5292
  if (U)
5257
5293
  try {
@@ -5279,12 +5315,12 @@ const kc = ({
5279
5315
  []
5280
5316
  ), l = Pe(
5281
5317
  (U) => {
5282
- const H = { ...Se(), ...U };
5283
- i(H);
5318
+ const z = { ...Se(), ...U };
5319
+ i(z);
5284
5320
  },
5285
5321
  [Se, i]
5286
5322
  ), u = Pe((U) => {
5287
- k(U), qt.isDesktop && ie.current?.focus();
5323
+ k(U), qt.isDesktop && re.current?.focus();
5288
5324
  }, []), y = Pe(
5289
5325
  async (U, J) => {
5290
5326
  l({
@@ -5293,38 +5329,38 @@ const kc = ({
5293
5329
  });
5294
5330
  try {
5295
5331
  D(!0);
5296
- const H = await Ze({
5332
+ const z = await Ze({
5297
5333
  address: T?.address || "",
5298
5334
  chain: le
5299
5335
  });
5300
- if (H?.success && H?.data?.result) {
5301
- const G = H.data.result.map((Y) => ({
5302
- id: Y.token_address,
5303
- text: `${Y.name}: ${Y.balance_formatted} ${Y.symbol} ($${Y.usd_value?.toFixed(4) || "0"})`,
5304
- value: `Buy with ${Y.symbol}`,
5336
+ if (z?.success && z?.data?.result) {
5337
+ const Y = z.data.result.map((W) => ({
5338
+ id: W.token_address,
5339
+ text: `${W.name}: ${W.balance_formatted} ${W.symbol} ($${W.usd_value?.toFixed(4) || "0"})`,
5340
+ value: `Buy with ${W.symbol}`,
5305
5341
  action: "click_balance_item_user_to_buy_button",
5306
5342
  fullWidth: !0,
5307
5343
  extraData: {
5308
- tokenAddress: Y.token_address,
5309
- symbol: Y.symbol,
5310
- balance: Y.balance_formatted,
5311
- usdValue: Y.usd_value,
5312
- decimals: Y.decimals
5344
+ tokenAddress: W.token_address,
5345
+ symbol: W.symbol,
5346
+ balance: W.balance_formatted,
5347
+ usdValue: W.usd_value,
5348
+ decimals: W.decimals
5313
5349
  }
5314
5350
  }));
5315
5351
  o(
5316
5352
  "This is the spendable balance of your wallet on OPTIMISM chain. Please choose the coins you want to use for this trade.",
5317
5353
  "bot",
5318
5354
  void 0,
5319
- G
5355
+ Y
5320
5356
  );
5321
5357
  } else
5322
5358
  o(
5323
5359
  "Sorry, I could not fetch your wallet balance. Please try again.",
5324
5360
  "bot"
5325
5361
  );
5326
- } catch (H) {
5327
- console.error("Error fetching wallet balance:", H), o(
5362
+ } catch (z) {
5363
+ console.error("Error fetching wallet balance:", z), o(
5328
5364
  "Sorry, I encountered an error fetching your wallet balance.",
5329
5365
  "bot"
5330
5366
  );
@@ -5334,13 +5370,13 @@ const kc = ({
5334
5370
  },
5335
5371
  [T?.address, le, o, l]
5336
5372
  ), h = Pe(
5337
- async (U, J, H, Z) => {
5338
- const G = [25, 50, 75, 100];
5373
+ async (U, J, z, Z) => {
5374
+ const Y = [25, 50, 75, 100];
5339
5375
  l({
5340
5376
  srcTokenAddress: U,
5341
5377
  srcTokenDecimals: Z || 18
5342
5378
  });
5343
- const Y = G.map(
5379
+ const W = Y.map(
5344
5380
  (L) => ({
5345
5381
  id: `percent-${L}`,
5346
5382
  text: `${L}%`,
@@ -5350,17 +5386,17 @@ const kc = ({
5350
5386
  percent: L,
5351
5387
  tokenAddress: U,
5352
5388
  tokenSymbol: J,
5353
- tokenBalance: H
5389
+ tokenBalance: z
5354
5390
  }
5355
5391
  })
5356
5392
  );
5357
5393
  o(
5358
5394
  `📊 Select the amount of ${J} to use:
5359
5395
 
5360
- Available: ${H} ${J}`,
5396
+ Available: ${z} ${J}`,
5361
5397
  "bot",
5362
5398
  void 0,
5363
- Y
5399
+ W
5364
5400
  );
5365
5401
  },
5366
5402
  [o, l]
@@ -5369,38 +5405,38 @@ Available: ${H} ${J}`,
5369
5405
  l({
5370
5406
  amount: (parseFloat(J) * (U / 100)).toFixed(6)
5371
5407
  });
5372
- const H = Se(), Z = it(
5373
- H.amount,
5374
- H.srcTokenDecimals || 18
5375
- ).toString(), G = await fn({
5376
- chainId: se,
5377
- tokenIn: H.srcTokenAddress,
5408
+ const z = Se(), Z = it(
5409
+ z.amount,
5410
+ z.srcTokenDecimals || 18
5411
+ ).toString(), Y = await fn({
5412
+ chainId: oe,
5413
+ tokenIn: z.srcTokenAddress,
5378
5414
  tokenInAmount: Z,
5379
- tokenOut: H.descTokenAddress,
5415
+ tokenOut: z.descTokenAddress,
5380
5416
  tokenOutRecipient: T?.address || "",
5381
5417
  slippage: "auto",
5382
5418
  accesstoken: "d6c45897b8f6"
5383
5419
  });
5384
- if (G.success && G.data) {
5385
- const Y = G.data, L = Y.tokenIn, _ = Y.tokenOut, q = (parseFloat(L.amount) / Math.pow(10, L.decimals)).toFixed(6), O = (parseFloat(_.amount) / Math.pow(10, _.decimals)).toFixed(6), te = `📋 Swap Preview
5420
+ if (Y.success && Y.data) {
5421
+ const W = Y.data, L = W.tokenIn, _ = W.tokenOut, G = (parseFloat(L.amount) / Math.pow(10, L.decimals)).toFixed(6), O = (parseFloat(_.amount) / Math.pow(10, _.decimals)).toFixed(6), te = `📋 Swap Preview
5386
5422
 
5387
- From: ${q} ${L.symbol}
5423
+ From: ${G} ${L.symbol}
5388
5424
  To: ${O} ${_.symbol}
5389
5425
 
5390
5426
  💰 Value: ~$${L.approximateUsdValue?.toFixed(4) || "0"}
5391
- 📊 Slippage: ${Y.slippage}%
5392
- ⛽ Gas Fee: ~$${Y.estimatedTransactionFee?.approximateUsdValue?.toFixed(6) || "0"}
5393
- 💵 Protocol Fee: ~$${Y.protocolFeeApproximateUsdValue?.toFixed(6) || "0"}
5427
+ 📊 Slippage: ${W.slippage}%
5428
+ ⛽ Gas Fee: ~$${W.estimatedTransactionFee?.approximateUsdValue?.toFixed(6) || "0"}
5429
+ 💵 Protocol Fee: ~$${W.protocolFeeApproximateUsdValue?.toFixed(6) || "0"}
5394
5430
 
5395
- `, de = H.srcTokenAddress === "0x0000000000000000000000000000000000000000" || H.srcTokenAddress === "";
5431
+ `, de = z.srcTokenAddress === "0x0000000000000000000000000000000000000000" || z.srcTokenAddress === "";
5396
5432
  let ge = !1;
5397
- if (!de && T?.address && Y.tx?.to)
5433
+ if (!de && T?.address && W.tx?.to)
5398
5434
  try {
5399
5435
  const ve = await hn({
5400
- tokenAddress: H.srcTokenAddress,
5436
+ tokenAddress: z.srcTokenAddress,
5401
5437
  ownerAddress: T.address,
5402
- spenderAddress: Y.tx.to,
5403
- chainId: se
5438
+ spenderAddress: W.tx.to,
5439
+ chainId: oe
5404
5440
  });
5405
5441
  ge = new ut(
5406
5442
  ve.toString()
@@ -5409,7 +5445,7 @@ To: ${O} ${_.symbol}
5409
5445
  console.warn("Allowance check failed:", ve), ge = !0;
5410
5446
  }
5411
5447
  if (ge) {
5412
- const ve = te + `⚠️ Step 1/2: You need to approve ${L.symbol} first before swapping.`, W = [
5448
+ const ve = te + `⚠️ Step 1/2: You need to approve ${L.symbol} first before swapping.`, q = [
5413
5449
  {
5414
5450
  id: "approve-for-swap",
5415
5451
  text: `🔓 Step 1: Approve ${L.symbol}`,
@@ -5417,10 +5453,10 @@ To: ${O} ${_.symbol}
5417
5453
  action: "approve_for_swap",
5418
5454
  fullWidth: !0,
5419
5455
  extraData: {
5420
- tokenAddress: H.srcTokenAddress,
5421
- spenderAddress: Y.tx.to,
5456
+ tokenAddress: z.srcTokenAddress,
5457
+ spenderAddress: W.tx.to,
5422
5458
  tokenSymbol: L.symbol,
5423
- tx: Y.tx
5459
+ tx: W.tx
5424
5460
  }
5425
5461
  },
5426
5462
  {
@@ -5430,7 +5466,7 @@ To: ${O} ${_.symbol}
5430
5466
  action: "cancel_swap"
5431
5467
  }
5432
5468
  ];
5433
- o(ve, "bot", void 0, W);
5469
+ o(ve, "bot", void 0, q);
5434
5470
  } else {
5435
5471
  const ve = [
5436
5472
  {
@@ -5439,7 +5475,7 @@ To: ${O} ${_.symbol}
5439
5475
  value: "Confirm swap",
5440
5476
  action: "confirm_swap",
5441
5477
  extraData: {
5442
- tx: Y.tx
5478
+ tx: W.tx
5443
5479
  }
5444
5480
  },
5445
5481
  {
@@ -5458,83 +5494,83 @@ To: ${O} ${_.symbol}
5458
5494
  }
5459
5495
  } else
5460
5496
  o(
5461
- `⚠️ Unable to get swap estimation. Error: ${G.errorMessage || G.error || "Unknown error"}`,
5497
+ `⚠️ Unable to get swap estimation. Error: ${Y.errorMessage || Y.error || "Unknown error"}`,
5462
5498
  "bot"
5463
5499
  );
5464
5500
  },
5465
- [Se, l, o, se, T?.address]
5501
+ [Se, l, o, oe, T?.address]
5466
5502
  ), E = Pe(
5467
- async (U, J, H) => {
5503
+ async (U, J, z) => {
5468
5504
  try {
5469
5505
  if (o(U, "user"), g(!1), D(!0), J)
5470
5506
  switch (await bt(500), J) {
5471
5507
  case "click_buy_item_token_button":
5472
5508
  await y(
5473
- H?.tokenAddress || "",
5474
- H?.decimals || 18
5509
+ z?.tokenAddress || "",
5510
+ z?.decimals || 18
5475
5511
  );
5476
5512
  break;
5477
5513
  case "click_balance_item_user_to_buy_button":
5478
5514
  await h(
5479
- H?.tokenAddress || "",
5480
- H?.symbol || "",
5481
- H?.balance || "",
5482
- H?.decimals || 18
5515
+ z?.tokenAddress || "",
5516
+ z?.symbol || "",
5517
+ z?.balance || "",
5518
+ z?.decimals || 18
5483
5519
  );
5484
5520
  break;
5485
5521
  case "select_percent":
5486
5522
  await b(
5487
- H?.percent || 0,
5488
- H?.tokenBalance || ""
5523
+ z?.percent || 0,
5524
+ z?.tokenBalance || ""
5489
5525
  );
5490
5526
  break;
5491
5527
  case "confirm_swap":
5492
- if (H?.tx && n) {
5493
- const Z = H.tx, G = {
5528
+ if (z?.tx && n) {
5529
+ const Z = z.tx, Y = {
5494
5530
  from: T?.address || "",
5495
5531
  to: Z.to,
5496
5532
  data: Z.data,
5497
5533
  value: Z.value,
5498
- chainId: se
5534
+ chainId: oe
5499
5535
  };
5500
5536
  o("⚙️ Transaction processing... Please wait.", "bot");
5501
5537
  try {
5502
- const Y = await n(G);
5503
- if (Y.status === "success") {
5504
- const L = V?.blockExplorers?.default?.url, _ = Y.transactionHash ? L ? `
5505
- [View on Explorer](${L}/tx/${Y.transactionHash})` : `
5506
- Tx: ${Y.transactionHash}` : "";
5538
+ const W = await n(Y);
5539
+ if (W.status === "success") {
5540
+ const L = H?.blockExplorers?.default?.url, _ = W.transactionHash ? L ? `
5541
+ [View on Explorer](${L}/tx/${W.transactionHash})` : `
5542
+ Tx: ${W.transactionHash}` : "";
5507
5543
  o(
5508
5544
  `✅ Transaction successful! Your swap has been completed.${_}`,
5509
5545
  "bot"
5510
5546
  );
5511
5547
  } else {
5512
- const L = Y.error ? `
5513
- Error: ${Y.error}` : "";
5548
+ const L = W.error ? `
5549
+ Error: ${W.error}` : "";
5514
5550
  o(
5515
5551
  `❌ Transaction failed. Please try again.${L}`,
5516
5552
  "bot"
5517
5553
  );
5518
5554
  }
5519
- } catch (Y) {
5520
- console.error("Transaction error:", Y), o("❌ Transaction failed. Please try again.", "bot");
5555
+ } catch (W) {
5556
+ console.error("Transaction error:", W), o("❌ Transaction failed. Please try again.", "bot");
5521
5557
  }
5522
5558
  } else
5523
5559
  o("⚠️ Transaction data not available.", "bot");
5524
5560
  break;
5525
5561
  case "approve_for_swap": {
5526
- const Z = H?.tokenAddress || "", G = H?.spenderAddress || "", Y = H?.tokenSymbol || "token", L = H?.tx;
5527
- if (!Z || !G || !n) {
5562
+ const Z = z?.tokenAddress || "", Y = z?.spenderAddress || "", W = z?.tokenSymbol || "token", L = z?.tx;
5563
+ if (!Z || !Y || !n) {
5528
5564
  o("⚠️ Approval data not available.", "bot");
5529
5565
  break;
5530
5566
  }
5531
5567
  const _ = wc({
5532
5568
  tokenAddress: Z,
5533
- spenderAddress: G,
5569
+ spenderAddress: Y,
5534
5570
  fromAddress: T?.address || "",
5535
- chainId: se,
5536
- tokenSymbol: Y
5537
- }), q = {
5571
+ chainId: oe,
5572
+ tokenSymbol: W
5573
+ }), G = {
5538
5574
  from: _.from,
5539
5575
  to: _.to,
5540
5576
  data: _.data,
@@ -5542,14 +5578,14 @@ Error: ${Y.error}` : "";
5542
5578
  chainId: _.chainId
5543
5579
  };
5544
5580
  o(
5545
- `🔓 Step 1/2: Approving ${Y}... Please confirm in your wallet.`,
5581
+ `🔓 Step 1/2: Approving ${W}... Please confirm in your wallet.`,
5546
5582
  "bot"
5547
5583
  );
5548
5584
  try {
5549
- const O = await n(q);
5585
+ const O = await n(G);
5550
5586
  if (O.status === "success")
5551
5587
  o(
5552
- `✅ ${Y} approved successfully!`,
5588
+ `✅ ${W} approved successfully!`,
5553
5589
  "bot"
5554
5590
  ), o(
5555
5591
  "📋 Step 2/2: Now you can execute the swap.",
@@ -5589,12 +5625,12 @@ Error: ${O.error}` : "";
5589
5625
  o("❌ Swap cancelled.", "bot");
5590
5626
  break;
5591
5627
  case "click_swap_dest_token": {
5592
- const Z = H?.tokenAddress || "", G = H?.symbol || "", Y = H?.decimals || 18;
5628
+ const Z = z?.tokenAddress || "", Y = z?.symbol || "", W = z?.decimals || 18;
5593
5629
  l({
5594
5630
  descTokenAddress: Z,
5595
- descTokenDecimals: Y
5631
+ descTokenDecimals: W
5596
5632
  });
5597
- const _ = Se().srcTokenAddress || "", q = _ === "0x0000000000000000000000000000000000000000";
5633
+ const _ = Se().srcTokenAddress || "", G = _ === "0x0000000000000000000000000000000000000000";
5598
5634
  try {
5599
5635
  const O = await Ze({
5600
5636
  address: T?.address || "",
@@ -5603,19 +5639,19 @@ Error: ${O.error}` : "";
5603
5639
  if (O?.success && O?.data?.result) {
5604
5640
  const te = O.data.result;
5605
5641
  let de = "", ge = "0";
5606
- if (q) {
5642
+ if (G) {
5607
5643
  const ve = te.find(
5608
- (W) => W.native_token
5644
+ (q) => q.native_token
5609
5645
  );
5610
- de = V?.nativeCurrency?.symbol || "ETH", ge = ve?.balance_formatted || "0";
5646
+ de = H?.nativeCurrency?.symbol || "ETH", ge = ve?.balance_formatted || "0";
5611
5647
  } else {
5612
5648
  const ve = te.find(
5613
- (W) => W.token_address.toLowerCase() === _.toLowerCase()
5649
+ (q) => q.token_address.toLowerCase() === _.toLowerCase()
5614
5650
  );
5615
5651
  ve && (de = ve.symbol, ge = ve.balance_formatted);
5616
5652
  }
5617
5653
  if (de && parseFloat(ge) > 0) {
5618
- const W = [25, 50, 75, 100].map(($) => ({
5654
+ const q = [25, 50, 75, 100].map(($) => ({
5619
5655
  id: `percent-${$}`,
5620
5656
  text: `${$}%`,
5621
5657
  value: `Use ${$}% of ${de}`,
@@ -5628,14 +5664,14 @@ Error: ${O.error}` : "";
5628
5664
  }
5629
5665
  }));
5630
5666
  o(
5631
- `✅ Swap ${de} → ${G}
5667
+ `✅ Swap ${de} → ${Y}
5632
5668
 
5633
5669
  📊 Select the amount of ${de} to swap:
5634
5670
 
5635
5671
  Available: ${ge} ${de}`,
5636
5672
  "bot",
5637
5673
  void 0,
5638
- W
5674
+ q
5639
5675
  );
5640
5676
  } else
5641
5677
  o(
@@ -5653,16 +5689,16 @@ Available: ${ge} ${de}`,
5653
5689
  break;
5654
5690
  }
5655
5691
  case "select_nft_to_send": {
5656
- const Z = H?.name || "NFT", G = H?.contractAddress || "", Y = H?.tokenId || "", L = H?.tokenStandard || "ERC721", _ = H?.amount || "1", q = {
5657
- contract_address: G,
5658
- token_id: Y,
5692
+ const Z = z?.name || "NFT", Y = z?.contractAddress || "", W = z?.tokenId || "", L = z?.tokenStandard || "ERC721", _ = z?.amount || "1", G = {
5693
+ contract_address: Y,
5694
+ token_id: W,
5659
5695
  to_address: "",
5660
5696
  token_standard: L,
5661
5697
  amount: L === "ERC1155" ? _ : "1",
5662
5698
  nft_name: Z
5663
5699
  };
5664
5700
  o(
5665
- `📤 Send **${Z}** (${L} #${Y})
5701
+ `📤 Send **${Z}** (${L} #${W})
5666
5702
 
5667
5703
  Please review and fill in the recipient address below:`,
5668
5704
  "bot",
@@ -5670,7 +5706,7 @@ Please review and fill in the recipient address below:`,
5670
5706
  void 0,
5671
5707
  {
5672
5708
  action: "send_nft",
5673
- parameters: q,
5709
+ parameters: G,
5674
5710
  status: "pending"
5675
5711
  }
5676
5712
  );
@@ -5684,7 +5720,7 @@ Please review and fill in the recipient address below:`,
5684
5720
  }
5685
5721
  else
5686
5722
  await bt(500), o(`Received: ${U}`, "bot");
5687
- D(!1), qt.isDesktop && ie.current?.focus();
5723
+ D(!1), qt.isDesktop && re.current?.focus();
5688
5724
  } catch (Z) {
5689
5725
  o(
5690
5726
  "Sorry, I encountered an error processing your request.",
@@ -5695,9 +5731,9 @@ Please review and fill in the recipient address below:`,
5695
5731
  [
5696
5732
  T?.address,
5697
5733
  o,
5698
- V?.blockExplorers?.default?.url,
5699
- V?.nativeCurrency?.symbol,
5700
- se,
5734
+ H?.blockExplorers?.default?.url,
5735
+ H?.nativeCurrency?.symbol,
5736
+ oe,
5701
5737
  le,
5702
5738
  Se,
5703
5739
  y,
@@ -5709,17 +5745,17 @@ Please review and fill in the recipient address below:`,
5709
5745
  ), p = Pe(async () => {
5710
5746
  try {
5711
5747
  D(!0);
5712
- const U = V.tokenTrendingDefault || [], [J, H] = await Promise.allSettled([
5748
+ const U = H.tokenTrendingDefault || [], [J, z] = await Promise.allSettled([
5713
5749
  Ge.getTopGainers(j, "24h", 5),
5714
5750
  Ge.getTokensDetails(U, j)
5715
5751
  ]);
5716
5752
  let Z = [];
5717
- J.status === "fulfilled" && J.value?.data ? Z = [...J.value.data] : console.warn("⚠️ Top gainers failed:"), H.status === "fulfilled" && H.value?.data ? Z = [...H.value.data, ...Z] : console.warn("⚠️ Default tokens failed:"), Z = Z.filter(
5718
- (L, _, q) => _ === q.findIndex(
5753
+ J.status === "fulfilled" && J.value?.data ? Z = [...J.value.data] : console.warn("⚠️ Top gainers failed:"), z.status === "fulfilled" && z.value?.data ? Z = [...z.value.data, ...Z] : console.warn("⚠️ Default tokens failed:"), Z = Z.filter(
5754
+ (L, _, G) => _ === G.findIndex(
5719
5755
  (O) => O.address.toLowerCase() === L.address.toLowerCase()
5720
5756
  )
5721
5757
  );
5722
- const G = Z.map((L) => ({
5758
+ const Y = Z.map((L) => ({
5723
5759
  id: L?.symbol,
5724
5760
  text: L?.symbol,
5725
5761
  value: `Buy ${L.name} (${L?.symbol})`,
@@ -5731,10 +5767,10 @@ Please review and fill in the recipient address below:`,
5731
5767
  }
5732
5768
  }));
5733
5769
  await bt(1e3), D(!1), o(
5734
- `📈 Here is the list of tokens that are currently trending upwards on ${V?.name || "Unknown"} chain`,
5770
+ `📈 Here is the list of tokens that are currently trending upwards on ${H?.name || "Unknown"} chain`,
5735
5771
  "bot"
5736
5772
  );
5737
- const Y = Z.map(
5773
+ const W = Z.map(
5738
5774
  (L, _) => `${_ + 1}. ${L.name} (${L?.auditGoplus?.token_symbol || L.symbol || "Unknown"})
5739
5775
  $${ut(
5740
5776
  L?.price || 0
@@ -5745,11 +5781,11 @@ $${ut(
5745
5781
  ).join(`
5746
5782
  `);
5747
5783
  o(
5748
- `${Y}
5784
+ `${W}
5749
5785
  Is there any token you want to buy?`,
5750
5786
  "bot",
5751
5787
  void 0,
5752
- G
5788
+ Y
5753
5789
  );
5754
5790
  } catch (U) {
5755
5791
  console.error("Error fetching trending tokens:", U), o(
@@ -5759,7 +5795,7 @@ Is there any token you want to buy?`,
5759
5795
  } finally {
5760
5796
  D(!1);
5761
5797
  }
5762
- }, [o, V?.name, V.tokenTrendingDefault, j]), m = Pe(async () => {
5798
+ }, [o, H?.name, H.tokenTrendingDefault, j]), w = Pe(async () => {
5763
5799
  try {
5764
5800
  D(!0);
5765
5801
  const U = await Qa({
@@ -5769,29 +5805,29 @@ Is there any token you want to buy?`,
5769
5805
  exclude_spam: !0
5770
5806
  });
5771
5807
  if (U?.success && U?.data?.result && U.data.result.length > 0) {
5772
- const J = U.data.result, H = J.map((G) => {
5773
- const Y = G.normalized_metadata?.name || G.name || `#${G.token_id}`, L = G.normalized_metadata?.image || G.media?.original_media_url || "";
5808
+ const J = U.data.result, z = J.map((Y) => {
5809
+ const W = Y.normalized_metadata?.name || Y.name || `#${Y.token_id}`, L = Y.normalized_metadata?.image || Y.media?.original_media_url || "";
5774
5810
  return {
5775
- id: `${G.token_address}-${G.token_id}`,
5776
- text: `${Y} (${G.symbol || G.contract_type}) - ${G.token_id}`,
5777
- value: `Send ${Y}`,
5811
+ id: `${Y.token_address}-${Y.token_id}`,
5812
+ text: `${W} (${Y.symbol || Y.contract_type}) - ${Y.token_id}`,
5813
+ value: `Send ${W}`,
5778
5814
  action: "select_nft_to_send",
5779
5815
  fullWidth: !0,
5780
5816
  extraData: {
5781
- contractAddress: G.token_address,
5782
- tokenId: G.token_id,
5783
- tokenStandard: G.contract_type,
5784
- name: Y,
5785
- symbol: G.symbol,
5786
- amount: G.amount,
5817
+ contractAddress: Y.token_address,
5818
+ tokenId: Y.token_id,
5819
+ tokenStandard: Y.contract_type,
5820
+ name: W,
5821
+ symbol: Y.symbol,
5822
+ amount: Y.amount,
5787
5823
  image: L
5788
5824
  }
5789
5825
  };
5790
- }), Z = J.map((G, Y) => {
5791
- const L = G.normalized_metadata?.name || G.name || `#${G.token_id}`, _ = G.contract_type === "ERC1155" ? ` (x${G.amount})` : "", q = G.normalized_metadata?.image || G.media?.original_media_url || "", O = q ? `![${L}](${q})
5826
+ }), Z = J.map((Y, W) => {
5827
+ const L = Y.normalized_metadata?.name || Y.name || `#${Y.token_id}`, _ = Y.contract_type === "ERC1155" ? ` (x${Y.amount})` : "", G = Y.normalized_metadata?.image || Y.media?.original_media_url || "", O = G ? `![${L}](${G})
5792
5828
  ` : "🖼️ ";
5793
- return `${Y + 1}. ${O}**${L}**${_}
5794
- ${G.symbol || G.contract_type} | Token ID: ${G.token_id}`;
5829
+ return `${W + 1}. ${O}**${L}**${_}
5830
+ ${Y.symbol || Y.contract_type} | Token ID: ${Y.token_id}`;
5795
5831
  }).join(`
5796
5832
 
5797
5833
  `);
@@ -5803,7 +5839,7 @@ ${Z}
5803
5839
  Select an NFT to send:`,
5804
5840
  "bot",
5805
5841
  void 0,
5806
- H
5842
+ z
5807
5843
  );
5808
5844
  } else
5809
5845
  D(!1), o(
@@ -5835,14 +5871,14 @@ Select an NFT to send:`,
5835
5871
  [o, p]
5836
5872
  ), v = (U) => {
5837
5873
  if (U === 0) return !0;
5838
- const J = r[U], H = r[U - 1], Z = new Date(J.timestamp), G = new Date(H.timestamp);
5839
- return Z.setHours(0, 0, 0, 0), G.setHours(0, 0, 0, 0), Z.getTime() !== G.getTime();
5874
+ const J = r[U], z = r[U - 1], Z = new Date(J.timestamp), Y = new Date(z.timestamp);
5875
+ return Z.setHours(0, 0, 0, 0), Y.setHours(0, 0, 0, 0), Z.getTime() !== Y.getTime();
5840
5876
  };
5841
5877
  et(() => {
5842
- w.current?.scrollIntoView({ behavior: "smooth" });
5878
+ m.current?.scrollIntoView({ behavior: "smooth" });
5843
5879
  }, [r]), et(() => {
5844
- e && (ie.current && qt.isDesktop && ie.current.focus(), w.current?.scrollIntoView({ behavior: "instant" }), g(!0), setTimeout(() => {
5845
- w.current?.scrollIntoView({ behavior: "smooth" });
5880
+ e && (re.current && qt.isDesktop && re.current.focus(), m.current?.scrollIntoView({ behavior: "instant" }), g(!0), setTimeout(() => {
5881
+ m.current?.scrollIntoView({ behavior: "smooth" });
5846
5882
  }, 50));
5847
5883
  }, [e]), et(() => {
5848
5884
  const U = (J) => {
@@ -5855,54 +5891,54 @@ Select an NFT to send:`,
5855
5891
  const U = I, J = o(c.trim(), "user", I?.id);
5856
5892
  S(""), k(null), D(!0), g(!1), D(!0);
5857
5893
  try {
5858
- const H = ac({
5894
+ const z = ac({
5859
5895
  walletAddress: T?.address || "Not connected",
5860
- chainName: V?.name || "Unknown",
5861
- chainId: se || 1,
5862
- nativeSymbol: V?.nativeCurrency?.symbol || "ETH"
5896
+ chainName: H?.name || "Unknown",
5897
+ chainId: oe || 1,
5898
+ nativeSymbol: H?.nativeCurrency?.symbol || "ETH"
5863
5899
  }), Z = r.slice(-20);
5864
- let G = "";
5900
+ let Y = "";
5865
5901
  if (Z.length > 0) {
5866
- G = `
5902
+ Y = `
5867
5903
 
5868
5904
  ## CONVERSATION HISTORY:
5869
5905
  `;
5870
5906
  for (const _ of Z)
5871
5907
  if (_.sender === "user")
5872
- G += `User: ${_.text}
5908
+ Y += `User: ${_.text}
5873
5909
  `;
5874
5910
  else {
5875
- const q = _.text.length > 200 ? _.text.substring(0, 200) + "..." : _.text;
5876
- G += `Assistant: ${q}
5911
+ const G = _.text.length > 200 ? _.text.substring(0, 200) + "..." : _.text;
5912
+ Y += `Assistant: ${G}
5877
5913
  `;
5878
5914
  }
5879
- G += `
5915
+ Y += `
5880
5916
  ---
5881
5917
  `;
5882
5918
  }
5883
- let Y = c.trim();
5884
- U && (Y = `[Replying to ${U.sender === "user" ? "my previous" : "your"} message: "${U.text}"]
5919
+ let W = c.trim();
5920
+ U && (W = `[Replying to ${U.sender === "user" ? "my previous" : "your"} message: "${U.text}"]
5885
5921
 
5886
- ${Y}`);
5922
+ ${W}`);
5887
5923
  const L = await ja({
5888
- prompt: Y,
5924
+ prompt: W,
5889
5925
  model: "gpt-4.1-mini",
5890
5926
  stream: !1,
5891
- systemPrompt: H + G
5927
+ systemPrompt: z + Y
5892
5928
  });
5893
5929
  if (L.success && L.data) {
5894
5930
  const _ = L.data.text || "";
5895
- let q = null;
5931
+ let G = null;
5896
5932
  try {
5897
5933
  let O = _.trim();
5898
- O.startsWith("```json") ? O = O.replace(/^```json\s*/, "").replace(/\s*```$/, "") : O.startsWith("```") && (O = O.replace(/^```\s*/, "").replace(/\s*```$/, "")), q = JSON.parse(O);
5934
+ O.startsWith("```json") ? O = O.replace(/^```json\s*/, "").replace(/\s*```$/, "") : O.startsWith("```") && (O = O.replace(/^```\s*/, "").replace(/\s*```$/, "")), G = JSON.parse(O);
5899
5935
  } catch {
5900
- q = null;
5936
+ G = null;
5901
5937
  }
5902
- if (q && q.action && q.action !== "chat")
5903
- if (q.action === "buy_token") {
5904
- const O = q.parameters?.token_symbol || "";
5905
- let te = q.parameters?.contract_address || "", de = 18;
5938
+ if (G && G.action && G.action !== "chat")
5939
+ if (G.action === "buy_token") {
5940
+ const O = G.parameters?.token_symbol || "";
5941
+ let te = G.parameters?.contract_address || "", de = 18;
5906
5942
  if (te)
5907
5943
  try {
5908
5944
  const ge = await Ge.getTokensDetails(
@@ -5920,22 +5956,22 @@ ${Y}`);
5920
5956
  chain: le
5921
5957
  });
5922
5958
  if (ge?.success && ge?.data?.result) {
5923
- const ve = ge.data.result, W = ve.find(
5959
+ const ve = ge.data.result, q = ve.find(
5924
5960
  ($) => $.token_address.toLowerCase() === te.toLowerCase()
5925
5961
  ) || ve.find(
5926
5962
  ($) => $.symbol.toUpperCase() === O.toUpperCase()
5927
5963
  );
5928
- W && (te = W.token_address, de = W.decimals);
5964
+ q && (te = q.token_address, de = q.decimals);
5929
5965
  }
5930
5966
  if (!te) {
5931
- const ve = V.tokenTrendingDefault || [], [W, $] = await Promise.allSettled([
5967
+ const ve = H.tokenTrendingDefault || [], [q, $] = await Promise.allSettled([
5932
5968
  Ge.getTopGainers(j, "24h", 10),
5933
5969
  Ge.getTokensDetails(
5934
5970
  ve,
5935
5971
  j
5936
5972
  )
5937
5973
  ]), ee = [];
5938
- W.status === "fulfilled" && W.value?.data && ee.push(...W.value.data), $.status === "fulfilled" && $.value?.data && ee.push(...$.value.data);
5974
+ q.status === "fulfilled" && q.value?.data && ee.push(...q.value.data), $.status === "fulfilled" && $.value?.data && ee.push(...$.value.data);
5939
5975
  const ae = ee.find(
5940
5976
  (Te) => Te.address?.toLowerCase() === te.toLowerCase()
5941
5977
  ) || ee.find(
@@ -5947,65 +5983,65 @@ ${Y}`);
5947
5983
  console.warn("Token lookup for buy failed:", ge);
5948
5984
  }
5949
5985
  te ? (o(
5950
- q.message || `🛒 I'll help you buy ${O}. Let me show your available tokens to trade with.`,
5986
+ G.message || `🛒 I'll help you buy ${O}. Let me show your available tokens to trade with.`,
5951
5987
  "bot",
5952
5988
  J.id
5953
5989
  ), await y(te, de)) : (o(
5954
- q.message || `I couldn't find the token "${O}" on this chain. Here are the trending tokens you can buy:`,
5990
+ G.message || `I couldn't find the token "${O}" on this chain. Here are the trending tokens you can buy:`,
5955
5991
  "bot",
5956
5992
  J.id
5957
5993
  ), await p());
5958
- } else if (q.action === "swap_token") {
5959
- const O = { ...q.parameters || {} }, te = O.token_in === "native" || O.token_in_symbol?.toUpperCase() === V?.nativeCurrency?.symbol?.toUpperCase();
5994
+ } else if (G.action === "swap_token") {
5995
+ const O = { ...G.parameters || {} }, te = O.token_in === "native" || O.token_in_symbol?.toUpperCase() === H?.nativeCurrency?.symbol?.toUpperCase();
5960
5996
  if (!te && (O.token_in || O.token_in_symbol) && T?.address)
5961
5997
  try {
5962
- const W = await Ze({
5998
+ const q = await Ze({
5963
5999
  address: T.address,
5964
6000
  chain: le
5965
6001
  });
5966
- if (W?.success && W?.data?.result) {
5967
- const $ = W.data.result, ee = O.token_in ? $.find(
6002
+ if (q?.success && q?.data?.result) {
6003
+ const $ = q.data.result, ee = O.token_in ? $.find(
5968
6004
  (ae) => ae.token_address.toLowerCase() === O.token_in.toLowerCase()
5969
6005
  ) : $.find(
5970
6006
  (ae) => ae.symbol.toUpperCase() === O.token_in_symbol.toUpperCase()
5971
6007
  );
5972
6008
  ee && (O.token_in = ee.token_address, O.token_in_decimals = String(ee.decimals));
5973
6009
  }
5974
- } catch (W) {
5975
- console.warn("Resolve token_in failed:", W);
6010
+ } catch (q) {
6011
+ console.warn("Resolve token_in failed:", q);
5976
6012
  }
5977
6013
  if ((O.token_out || O.token_out_symbol) && T?.address)
5978
6014
  try {
5979
- const W = await Ze({
6015
+ const q = await Ze({
5980
6016
  address: T.address,
5981
6017
  chain: le
5982
6018
  });
5983
- if (W?.success && W?.data?.result) {
5984
- const $ = W.data.result, ee = O.token_out ? $.find(
6019
+ if (q?.success && q?.data?.result) {
6020
+ const $ = q.data.result, ee = O.token_out ? $.find(
5985
6021
  (ae) => ae.token_address.toLowerCase() === O.token_out.toLowerCase()
5986
6022
  ) : $.find(
5987
6023
  (ae) => ae.symbol.toUpperCase() === O.token_out_symbol.toUpperCase()
5988
6024
  );
5989
6025
  ee && (O.token_out = ee.token_address, O.token_out_decimals = String(ee.decimals));
5990
6026
  }
5991
- } catch (W) {
5992
- console.warn("Resolve token_out failed:", W);
6027
+ } catch (q) {
6028
+ console.warn("Resolve token_out failed:", q);
5993
6029
  }
5994
6030
  const de = !!(O.token_in || te), ge = !!O.token_out, ve = !!O.amount;
5995
6031
  if (de && ge && ve) {
5996
6032
  o(
5997
- q.message || "🔄 Preparing your swap...",
6033
+ G.message || "🔄 Preparing your swap...",
5998
6034
  "bot",
5999
6035
  J.id
6000
6036
  );
6001
6037
  try {
6002
- const W = [];
6003
- O.token_out && W.push(O.token_out), O.token_in && !te && W.push(O.token_in);
6038
+ const q = [];
6039
+ O.token_out && q.push(O.token_out), O.token_in && !te && q.push(O.token_in);
6004
6040
  let $ = 18, ee = 18;
6005
- if (W.length > 0)
6041
+ if (q.length > 0)
6006
6042
  try {
6007
6043
  const ne = await Ge.getTokensDetails(
6008
- W,
6044
+ q,
6009
6045
  j
6010
6046
  );
6011
6047
  if (ne?.data)
@@ -6030,12 +6066,12 @@ ${Y}`);
6030
6066
  (fe) => fe.native_token
6031
6067
  ), Ce = parseFloat(
6032
6068
  Be?.balance_formatted || "0"
6033
- ), re = parseFloat(
6069
+ ), se = parseFloat(
6034
6070
  O.amount
6035
6071
  );
6036
- if (Ce < re) {
6072
+ if (Ce < se) {
6037
6073
  o(
6038
- `⚠️ Insufficient balance! You have ${Ce.toFixed(6)} ${V?.nativeCurrency?.symbol || "native"} but need ${O.amount}. Please top up your wallet or reduce the amount.`,
6074
+ `⚠️ Insufficient balance! You have ${Ce.toFixed(6)} ${H?.nativeCurrency?.symbol || "native"} but need ${O.amount}. Please top up your wallet or reduce the amount.`,
6039
6075
  "bot"
6040
6076
  ), D(!1);
6041
6077
  return;
@@ -6053,10 +6089,10 @@ ${Y}`);
6053
6089
  }
6054
6090
  const Ce = parseFloat(
6055
6091
  Be.balance_formatted || "0"
6056
- ), re = parseFloat(
6092
+ ), se = parseFloat(
6057
6093
  O.amount
6058
6094
  );
6059
- if (Ce < re) {
6095
+ if (Ce < se) {
6060
6096
  o(
6061
6097
  `⚠️ Insufficient balance! You have ${Ce.toFixed(6)} ${Be.symbol} (~$${Be.usd_value?.toFixed(2) || "0"}) but need ${O.amount}. Please reduce the amount or add more tokens.`,
6062
6098
  "bot"
@@ -6080,7 +6116,7 @@ ${Y}`);
6080
6116
  O.amount,
6081
6117
  $
6082
6118
  ).toString(), Me = await fn({
6083
- chainId: se,
6119
+ chainId: oe,
6084
6120
  tokenIn: ae,
6085
6121
  tokenInAmount: Te,
6086
6122
  tokenOut: O.token_out,
@@ -6089,10 +6125,10 @@ ${Y}`);
6089
6125
  accesstoken: "d6c45897b8f6"
6090
6126
  });
6091
6127
  if (Me.success && Me.data) {
6092
- const ne = Me.data, we = ne.tokenIn, Be = ne.tokenOut, Ce = (parseFloat(we.amount) / Math.pow(10, we.decimals)).toFixed(6), re = (parseFloat(Be.amount) / Math.pow(10, Be.decimals)).toFixed(6), fe = `📋 Swap Preview
6128
+ const ne = Me.data, we = ne.tokenIn, Be = ne.tokenOut, Ce = (parseFloat(we.amount) / Math.pow(10, we.decimals)).toFixed(6), se = (parseFloat(Be.amount) / Math.pow(10, Be.decimals)).toFixed(6), fe = `📋 Swap Preview
6093
6129
 
6094
6130
  From: ${Ce} ${we.symbol}
6095
- To: ${re} ${Be.symbol}
6131
+ To: ${se} ${Be.symbol}
6096
6132
 
6097
6133
  💰 Value: ~$${we.approximateUsdValue?.toFixed(4) || "0"}
6098
6134
  📊 Slippage: ${ne.slippage}%
@@ -6100,22 +6136,22 @@ To: ${re} ${Be.symbol}
6100
6136
  💵 Protocol Fee: ~$${ne.protocolFeeApproximateUsdValue?.toFixed(6) || "0"}
6101
6137
 
6102
6138
  `;
6103
- let oe = !1;
6139
+ let ie = !1;
6104
6140
  if (!te && T?.address && ne.tx?.to)
6105
6141
  try {
6106
6142
  const be = await hn({
6107
6143
  tokenAddress: ae,
6108
6144
  ownerAddress: T.address,
6109
6145
  spenderAddress: ne.tx.to,
6110
- chainId: se
6146
+ chainId: oe
6111
6147
  });
6112
- oe = new ut(
6148
+ ie = new ut(
6113
6149
  be.toString()
6114
6150
  ).isLessThan(Te);
6115
6151
  } catch (be) {
6116
- console.warn("Allowance check failed (CASE 1):", be), oe = !0;
6152
+ console.warn("Allowance check failed (CASE 1):", be), ie = !0;
6117
6153
  }
6118
- if (oe) {
6154
+ if (ie) {
6119
6155
  const be = [
6120
6156
  {
6121
6157
  id: "approve-for-swap",
@@ -6171,14 +6207,14 @@ To: ${re} ${Be.symbol}
6171
6207
  `⚠️ Unable to get swap estimation. Error: ${Me.errorMessage || Me.error || "Unknown error"}`,
6172
6208
  "bot"
6173
6209
  );
6174
- } catch (W) {
6175
- console.error("Swap estimation error:", W), o(
6210
+ } catch (q) {
6211
+ console.error("Swap estimation error:", q), o(
6176
6212
  "⚠️ Failed to get swap estimation. Please try again.",
6177
6213
  "bot"
6178
6214
  );
6179
6215
  }
6180
6216
  } else if (de && ge && !ve) {
6181
- let W = te ? 18 : parseInt(O.token_in_decimals || "18", 10), $ = parseInt(
6217
+ let q = te ? 18 : parseInt(O.token_in_decimals || "18", 10), $ = parseInt(
6182
6218
  O.token_out_decimals || "18",
6183
6219
  10
6184
6220
  );
@@ -6191,7 +6227,7 @@ To: ${re} ${Be.symbol}
6191
6227
  );
6192
6228
  if (ae?.data)
6193
6229
  for (const Te of ae.data)
6194
- !te && Te.address.toLowerCase() === O.token_in?.toLowerCase() && (W = Te.decimals || W), Te.address.toLowerCase() === O.token_out?.toLowerCase() && ($ = Te.decimals || $);
6230
+ !te && Te.address.toLowerCase() === O.token_in?.toLowerCase() && (q = Te.decimals || q), Te.address.toLowerCase() === O.token_out?.toLowerCase() && ($ = Te.decimals || $);
6195
6231
  } catch (ae) {
6196
6232
  console.warn(
6197
6233
  "getTokensDetails failed in CASE 2, using fallback decimals:",
@@ -6209,26 +6245,26 @@ To: ${re} ${Be.symbol}
6209
6245
  });
6210
6246
  if (ae?.success && ae?.data?.result) {
6211
6247
  const Me = ae.data.result.find(
6212
- (re) => re.native_token
6213
- ), ne = V?.nativeCurrency?.symbol || "ETH", we = Me?.balance_formatted || "0";
6248
+ (se) => se.native_token
6249
+ ), ne = H?.nativeCurrency?.symbol || "ETH", we = Me?.balance_formatted || "0";
6214
6250
  l({
6215
6251
  srcTokenAddress: "0x0000000000000000000000000000000000000000",
6216
- srcTokenDecimals: W
6252
+ srcTokenDecimals: q
6217
6253
  });
6218
- const Ce = [25, 50, 75, 100].map((re) => ({
6219
- id: `percent-${re}`,
6220
- text: `${re}%`,
6221
- value: `Use ${re}% of ${ne}`,
6254
+ const Ce = [25, 50, 75, 100].map((se) => ({
6255
+ id: `percent-${se}`,
6256
+ text: `${se}%`,
6257
+ value: `Use ${se}% of ${ne}`,
6222
6258
  action: "select_percent",
6223
6259
  extraData: {
6224
- percent: re,
6260
+ percent: se,
6225
6261
  tokenAddress: "0x0000000000000000000000000000000000000000",
6226
6262
  tokenSymbol: ne,
6227
6263
  tokenBalance: we
6228
6264
  }
6229
6265
  }));
6230
6266
  o(
6231
- q.message || `📊 Select the amount of ${ne} to swap:
6267
+ `📊 Select the amount of ${ne} to swap:
6232
6268
 
6233
6269
  Available: ${we} ${ne}`,
6234
6270
  "bot",
@@ -6250,7 +6286,7 @@ Available: ${we} ${ne}`,
6250
6286
  const ae = O.token_in_symbol || "Token";
6251
6287
  l({
6252
6288
  srcTokenAddress: O.token_in,
6253
- srcTokenDecimals: W
6289
+ srcTokenDecimals: q
6254
6290
  });
6255
6291
  try {
6256
6292
  const Te = await Ze({
@@ -6281,7 +6317,7 @@ Available: ${we} ${ne}`,
6281
6317
  }
6282
6318
  }));
6283
6319
  o(
6284
- q.message || `📊 Select the amount of ${ne.symbol} to swap:
6320
+ `📊 Select the amount of ${ne.symbol} to swap:
6285
6321
 
6286
6322
  Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) || "0"})`,
6287
6323
  "bot",
@@ -6302,11 +6338,11 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6302
6338
  }
6303
6339
  } else if (!de && ge) {
6304
6340
  o(
6305
- q.message || "🔄 Please choose which token you want to swap from:",
6341
+ G.message || "🔄 Please choose which token you want to swap from:",
6306
6342
  "bot",
6307
6343
  J.id
6308
6344
  );
6309
- let W = parseInt(
6345
+ let q = parseInt(
6310
6346
  O.token_out_decimals || "18",
6311
6347
  10
6312
6348
  );
@@ -6316,7 +6352,7 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6316
6352
  [O.token_out],
6317
6353
  j
6318
6354
  );
6319
- $?.data?.[0] && (W = $.data[0].decimals || W);
6355
+ $?.data?.[0] && (q = $.data[0].decimals || q);
6320
6356
  } catch ($) {
6321
6357
  console.warn(
6322
6358
  "getTokensDetails failed in CASE 3, using fallback:",
@@ -6325,17 +6361,17 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6325
6361
  }
6326
6362
  await y(
6327
6363
  O.token_out,
6328
- W
6364
+ q
6329
6365
  );
6330
6366
  } else if (de && !ge) {
6331
- let W = te ? 18 : parseInt(O.token_in_decimals || "18", 10);
6367
+ let q = te ? 18 : parseInt(O.token_in_decimals || "18", 10);
6332
6368
  if (O.token_in && !te)
6333
6369
  try {
6334
6370
  const $ = await Ge.getTokensDetails(
6335
6371
  [O.token_in],
6336
6372
  j
6337
6373
  );
6338
- $?.data?.[0] && (W = $.data[0].decimals || W);
6374
+ $?.data?.[0] && (q = $.data[0].decimals || q);
6339
6375
  } catch ($) {
6340
6376
  console.warn(
6341
6377
  "getTokensDetails failed in CASE 4, using fallback:",
@@ -6347,15 +6383,15 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6347
6383
  srcTokenDecimals: 18
6348
6384
  } : {
6349
6385
  srcTokenAddress: O.token_in,
6350
- srcTokenDecimals: W
6386
+ srcTokenDecimals: q
6351
6387
  }), o(
6352
- q.message || `🔄 You want to swap ${O.token_in_symbol || "your token"}. Please choose which token you want to receive:`,
6388
+ G.message || `🔄 You want to swap ${O.token_in_symbol || "your token"}. Please choose which token you want to receive:`,
6353
6389
  "bot",
6354
6390
  J.id
6355
6391
  );
6356
6392
  try {
6357
6393
  D(!0);
6358
- const $ = V?.tokenTrendingDefault || [], [ee, ae] = await Promise.allSettled([
6394
+ const $ = H?.tokenTrendingDefault || [], [ee, ae] = await Promise.allSettled([
6359
6395
  Ge.getTopGainers(j, "24h", 5),
6360
6396
  Ge.getTokensDetails($, j)
6361
6397
  ]);
@@ -6377,7 +6413,7 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6377
6413
  }
6378
6414
  }));
6379
6415
  o(
6380
- `📈 Trending tokens on ${V?.name || "Unknown"} chain. Pick the token you want to receive:`,
6416
+ `📈 Trending tokens on ${H?.name || "Unknown"} chain. Pick the token you want to receive:`,
6381
6417
  "bot",
6382
6418
  void 0,
6383
6419
  Me
@@ -6392,30 +6428,30 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6392
6428
  }
6393
6429
  } else
6394
6430
  o(
6395
- q.message || '🔄 I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").',
6431
+ G.message || '🔄 I need more details for your swap. Please specify which tokens you want to swap (e.g. "Swap 1 ETH to USDC").',
6396
6432
  "bot",
6397
6433
  J.id
6398
6434
  );
6399
- } else if (q.action === "view_nfts")
6435
+ } else if (G.action === "view_nfts")
6400
6436
  o(
6401
- q.message || "🖼️ Let me show you your NFT collection!",
6437
+ G.message || "🖼️ Let me show you your NFT collection!",
6402
6438
  "bot",
6403
6439
  J.id
6404
- ), await m();
6440
+ ), await w();
6405
6441
  else {
6406
6442
  const O = gc(
6407
- q.action
6443
+ G.action
6408
6444
  );
6409
- let te = { ...q.parameters || {} }, de;
6410
- const ge = ["send_token", "approve_token"].includes(q.action) && (te.contract_address || te.token_symbol), ve = q.action === "send_native";
6445
+ let te = { ...G.parameters || {} }, de;
6446
+ const ge = ["send_token", "approve_token"].includes(G.action) && (te.contract_address || te.token_symbol), ve = G.action === "send_native";
6411
6447
  if (ge && T?.address)
6412
6448
  try {
6413
- const W = await Ze({
6449
+ const q = await Ze({
6414
6450
  address: T.address,
6415
6451
  chain: le
6416
6452
  });
6417
- if (W?.success && W?.data?.result) {
6418
- const $ = W.data.result;
6453
+ if (q?.success && q?.data?.result) {
6454
+ const $ = q.data.result;
6419
6455
  console.log("🚀 ~ ChatModal ~ walletTokens:", $), console.log(
6420
6456
  "🚀 ~ ChatModal ~ resolvedParams.contract_address:",
6421
6457
  te.contract_address
@@ -6441,17 +6477,17 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6441
6477
  contractAddress: ee.token_address
6442
6478
  });
6443
6479
  }
6444
- } catch (W) {
6445
- console.warn("Token enrichment failed:", W);
6480
+ } catch (q) {
6481
+ console.warn("Token enrichment failed:", q);
6446
6482
  }
6447
6483
  if (ge && !de && te.contract_address)
6448
6484
  try {
6449
- const W = await Ja({
6485
+ const q = await Ja({
6450
6486
  address: te.contract_address,
6451
6487
  chain: le
6452
6488
  });
6453
- if (W?.success && W?.data) {
6454
- const $ = W.data;
6489
+ if (q?.success && q?.data) {
6490
+ const $ = q.data;
6455
6491
  de = {
6456
6492
  symbol: $.symbol,
6457
6493
  name: $.name,
@@ -6466,17 +6502,17 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6466
6502
  decimals: String($.decimals)
6467
6503
  };
6468
6504
  }
6469
- } catch (W) {
6470
- console.warn("Token metadata fallback failed:", W);
6505
+ } catch (q) {
6506
+ console.warn("Token metadata fallback failed:", q);
6471
6507
  }
6472
6508
  if (ve && T?.address)
6473
6509
  try {
6474
- const W = await Ze({
6510
+ const q = await Ze({
6475
6511
  address: T.address,
6476
6512
  chain: le
6477
6513
  });
6478
- if (W?.success && W?.data?.result) {
6479
- const ee = W.data.result.find((ae) => ae.native_token);
6514
+ if (q?.success && q?.data?.result) {
6515
+ const ee = q.data.result.find((ae) => ae.native_token);
6480
6516
  ee && (de = {
6481
6517
  symbol: ee.symbol,
6482
6518
  name: ee.name,
@@ -6489,22 +6525,22 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6489
6525
  contractAddress: "0x0000000000000000000000000000000000000000"
6490
6526
  });
6491
6527
  }
6492
- } catch (W) {
6493
- console.warn("Native token balance fetch failed:", W);
6528
+ } catch (q) {
6529
+ console.warn("Native token balance fetch failed:", q);
6494
6530
  }
6495
6531
  if (O) {
6496
- const W = q.message || "Please review and complete the form below.";
6497
- o(W, "bot", J.id, void 0, {
6498
- action: q.action,
6532
+ const q = G.message || "Please review and complete the form below.";
6533
+ o(q, "bot", J.id, void 0, {
6534
+ action: G.action,
6499
6535
  parameters: te,
6500
6536
  status: "pending",
6501
6537
  tokenInfo: de
6502
6538
  });
6503
6539
  } else
6504
- o(q.message || _, "bot", J.id);
6540
+ o(G.message || _, "bot", J.id);
6505
6541
  }
6506
- else if (q && q.action === "chat") {
6507
- const O = q.token_mentions || [];
6542
+ else if (G && G.action === "chat") {
6543
+ const O = G.token_mentions || [];
6508
6544
  if (O.length > 0) {
6509
6545
  const te = O.map((de) => ({
6510
6546
  id: `buy-${de.symbol}`,
@@ -6518,13 +6554,13 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6518
6554
  }
6519
6555
  }));
6520
6556
  o(
6521
- q.message || _,
6557
+ G.message || _,
6522
6558
  "bot",
6523
6559
  J.id,
6524
6560
  te
6525
6561
  );
6526
6562
  } else
6527
- o(q.message || _, "bot", J.id);
6563
+ o(G.message || _, "bot", J.id);
6528
6564
  } else
6529
6565
  o(_, "bot", J.id);
6530
6566
  } else
@@ -6533,14 +6569,14 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6533
6569
  "bot",
6534
6570
  J.id
6535
6571
  );
6536
- } catch (H) {
6537
- console.error("Error getting AI response:", H), o(
6572
+ } catch (z) {
6573
+ console.error("Error getting AI response:", z), o(
6538
6574
  "Sorry, I encountered an error processing your request.",
6539
6575
  "bot",
6540
6576
  J.id
6541
6577
  );
6542
6578
  }
6543
- D(!1), await bt(50), qt.isDesktop && ie.current?.focus();
6579
+ D(!1), await bt(50), qt.isDesktop && re.current?.focus();
6544
6580
  }, [
6545
6581
  c,
6546
6582
  B,
@@ -6548,20 +6584,20 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6548
6584
  o,
6549
6585
  I,
6550
6586
  T?.address,
6551
- V?.name,
6552
- V?.nativeCurrency?.symbol,
6553
- V?.tokenTrendingDefault,
6554
- se,
6587
+ H?.name,
6588
+ H?.nativeCurrency?.symbol,
6589
+ H?.tokenTrendingDefault,
6590
+ oe,
6555
6591
  j,
6556
6592
  le,
6557
6593
  y,
6558
6594
  p,
6559
- m,
6595
+ w,
6560
6596
  l
6561
6597
  ]), X = Pe(
6562
- async (U, J, H) => {
6598
+ async (U, J, z) => {
6563
6599
  try {
6564
- if (a(H, "submitted"), U === "swap_token") {
6600
+ if (a(z, "submitted"), U === "swap_token") {
6565
6601
  let Z = 18;
6566
6602
  if (J.token_in && J.token_in !== "0x0000000000000000000000000000000000000000")
6567
6603
  try {
@@ -6576,23 +6612,23 @@ Available: ${ne.balance_formatted} ${ne.symbol} (~$${ne.usd_value?.toFixed(2) ||
6576
6612
  L
6577
6613
  );
6578
6614
  }
6579
- const G = it(
6615
+ const Y = it(
6580
6616
  J.amount || "0",
6581
6617
  Z
6582
- ).toString(), Y = await fn({
6583
- chainId: se,
6618
+ ).toString(), W = await fn({
6619
+ chainId: oe,
6584
6620
  tokenIn: J.token_in || "",
6585
- tokenInAmount: G,
6621
+ tokenInAmount: Y,
6586
6622
  tokenOut: J.token_out || "",
6587
6623
  tokenOutRecipient: T?.address || "",
6588
6624
  slippage: "auto",
6589
6625
  accesstoken: "d6c45897b8f6"
6590
6626
  });
6591
- if (Y.success && Y.data) {
6592
- const L = Y.data, _ = L.tokenIn, q = L.tokenOut, O = (parseFloat(_.amount) / Math.pow(10, _.decimals)).toFixed(6), te = (parseFloat(q.amount) / Math.pow(10, q.decimals)).toFixed(6), de = `📋 Swap Preview
6627
+ if (W.success && W.data) {
6628
+ const L = W.data, _ = L.tokenIn, G = L.tokenOut, O = (parseFloat(_.amount) / Math.pow(10, _.decimals)).toFixed(6), te = (parseFloat(G.amount) / Math.pow(10, G.decimals)).toFixed(6), de = `📋 Swap Preview
6593
6629
 
6594
6630
  From: ${O} ${_.symbol}
6595
- To: ${te} ${q.symbol}
6631
+ To: ${te} ${G.symbol}
6596
6632
 
6597
6633
  💰 Value: ~$${_.approximateUsdValue?.toFixed(4) || "0"}
6598
6634
  📊 Slippage: ${L.slippage}%
@@ -6603,20 +6639,20 @@ To: ${te} ${q.symbol}
6603
6639
  let ve = !1;
6604
6640
  if (!ge && T?.address && L.tx?.to)
6605
6641
  try {
6606
- const W = await hn({
6642
+ const q = await hn({
6607
6643
  tokenAddress: J.token_in,
6608
6644
  ownerAddress: T.address,
6609
6645
  spenderAddress: L.tx.to,
6610
- chainId: se
6646
+ chainId: oe
6611
6647
  });
6612
6648
  ve = new ut(
6613
- W.toString()
6614
- ).isLessThan(G);
6615
- } catch (W) {
6616
- console.warn("Allowance check failed in ActionForm swap:", W);
6649
+ q.toString()
6650
+ ).isLessThan(Y);
6651
+ } catch (q) {
6652
+ console.warn("Allowance check failed in ActionForm swap:", q);
6617
6653
  }
6618
6654
  if (ve) {
6619
- const W = [
6655
+ const q = [
6620
6656
  {
6621
6657
  id: "approve-swap-actionform",
6622
6658
  text: `🔓 Step 1: Approve ${_.symbol}`,
@@ -6637,17 +6673,17 @@ To: ${te} ${q.symbol}
6637
6673
  action: "cancel_swap"
6638
6674
  }
6639
6675
  ];
6640
- a(H, "success"), o(
6676
+ a(z, "success"), o(
6641
6677
  de + `⚠️ Token approval required before swapping.
6642
6678
 
6643
6679
  Step 1: Approve ${_.symbol}
6644
6680
  Step 2: Confirm Swap`,
6645
6681
  "bot",
6646
6682
  void 0,
6647
- W
6683
+ q
6648
6684
  );
6649
6685
  } else {
6650
- const W = [
6686
+ const q = [
6651
6687
  {
6652
6688
  id: "confirm-swap-actionform",
6653
6689
  text: "✅ Yes",
@@ -6662,16 +6698,16 @@ Step 2: Confirm Swap`,
6662
6698
  action: "cancel_swap"
6663
6699
  }
6664
6700
  ];
6665
- a(H, "success"), o(
6701
+ a(z, "success"), o(
6666
6702
  de + "Ready to proceed with the swap?",
6667
6703
  "bot",
6668
6704
  void 0,
6669
- W
6705
+ q
6670
6706
  );
6671
6707
  }
6672
6708
  } else
6673
- a(H, "fail"), o(
6674
- `⚠️ Unable to get swap estimation. Error: ${Y.errorMessage || Y.error || "Unknown error"}`,
6709
+ a(z, "fail"), o(
6710
+ `⚠️ Unable to get swap estimation. Error: ${W.errorMessage || W.error || "Unknown error"}`,
6675
6711
  "bot"
6676
6712
  );
6677
6713
  } else {
@@ -6679,8 +6715,8 @@ Step 2: Confirm Swap`,
6679
6715
  action: U,
6680
6716
  parameters: J,
6681
6717
  fromAddress: T?.address || "",
6682
- chainId: se || 1
6683
- }), G = {
6718
+ chainId: oe || 1
6719
+ }), Y = {
6684
6720
  from: Z.from,
6685
6721
  to: Z.to,
6686
6722
  data: Z.data,
@@ -6692,27 +6728,27 @@ Step 2: Confirm Swap`,
6692
6728
  Processing transaction...`,
6693
6729
  "bot"
6694
6730
  ), n) {
6695
- const Y = await n(G);
6696
- if (Y.status === "success") {
6697
- a(H, "success");
6698
- const L = V?.blockExplorers?.default?.url, _ = Y.transactionHash ? L ? `
6699
- [View on Explorer](${L}/tx/${Y.transactionHash})` : `
6700
- Tx: ${Y.transactionHash}` : "";
6731
+ const W = await n(Y);
6732
+ if (W.status === "success") {
6733
+ a(z, "success");
6734
+ const L = H?.blockExplorers?.default?.url, _ = W.transactionHash ? L ? `
6735
+ [View on Explorer](${L}/tx/${W.transactionHash})` : `
6736
+ Tx: ${W.transactionHash}` : "";
6701
6737
  o(`✅ Transaction successful!${_}`, "bot");
6702
6738
  } else {
6703
- a(H, "fail");
6704
- const L = Y.error ? `
6705
- Error: ${Y.error}` : "";
6739
+ a(z, "fail");
6740
+ const L = W.error ? `
6741
+ Error: ${W.error}` : "";
6706
6742
  o(
6707
6743
  `❌ Transaction failed. Please try again.${L}`,
6708
6744
  "bot"
6709
6745
  );
6710
6746
  }
6711
6747
  } else
6712
- a(H, "fail"), o("⚠️ No transaction handler configured.", "bot");
6748
+ a(z, "fail"), o("⚠️ No transaction handler configured.", "bot");
6713
6749
  }
6714
6750
  } catch (Z) {
6715
- console.error("Action form submit error:", Z), a(H, "fail"), o(
6751
+ console.error("Action form submit error:", Z), a(z, "fail"), o(
6716
6752
  `❌ Error: ${Z instanceof Error ? Z.message : "Unknown error"}`,
6717
6753
  "bot"
6718
6754
  );
@@ -6720,8 +6756,8 @@ Error: ${Y.error}` : "";
6720
6756
  },
6721
6757
  [
6722
6758
  T?.address,
6723
- V?.blockExplorers?.default?.url,
6724
- se,
6759
+ H?.blockExplorers?.default?.url,
6760
+ oe,
6725
6761
  o,
6726
6762
  a,
6727
6763
  n,
@@ -6733,16 +6769,16 @@ Error: ${Y.error}` : "";
6733
6769
  },
6734
6770
  [a, o]
6735
6771
  ), [pe, Ee] = Ve({}), Ie = Pe(
6736
- async (U, J, H) => {
6737
- Ee((Z) => ({ ...Z, [H]: !0 }));
6772
+ async (U, J, z) => {
6773
+ Ee((Z) => ({ ...Z, [z]: !0 }));
6738
6774
  try {
6739
- await X(U, J, H);
6775
+ await X(U, J, z);
6740
6776
  } finally {
6741
- Ee((Z) => ({ ...Z, [H]: !1 }));
6777
+ Ee((Z) => ({ ...Z, [z]: !1 }));
6742
6778
  }
6743
6779
  },
6744
6780
  [X]
6745
- ), z = Pe(
6781
+ ), V = Pe(
6746
6782
  (U) => {
6747
6783
  U.key === "Enter" && !U.shiftKey && (U.preventDefault(), P());
6748
6784
  },
@@ -6796,7 +6832,7 @@ Error: ${Y.error}` : "";
6796
6832
  Pa,
6797
6833
  {
6798
6834
  address: T?.address,
6799
- chainLogo: V?.logo
6835
+ chainLogo: H?.logo
6800
6836
  }
6801
6837
  ),
6802
6838
  /* @__PURE__ */ Ae("div", { className: "chat-modal-messages-wrapper", children: [
@@ -6845,26 +6881,26 @@ Error: ${Y.error}` : "";
6845
6881
  /* @__PURE__ */ R("div", { className: "message-reply-to-text", children: U.replyTo.text })
6846
6882
  ] }),
6847
6883
  /* @__PURE__ */ R("div", { className: "message-text", children: /* @__PURE__ */ R(tc, { content: U.text }) }),
6848
- U.buttons && U.buttons.length > 0 && /* @__PURE__ */ R("div", { className: "message-buttons", children: U.buttons.map((H) => /* @__PURE__ */ R(
6884
+ U.buttons && U.buttons.length > 0 && /* @__PURE__ */ R("div", { className: "message-buttons", children: U.buttons.map((z) => /* @__PURE__ */ R(
6849
6885
  "button",
6850
6886
  {
6851
- className: `message-button ${H.fullWidth ? "full-width" : ""}`,
6887
+ className: `message-button ${z.fullWidth ? "full-width" : ""}`,
6852
6888
  onClick: () => E(
6853
- H.value,
6854
- H.action,
6855
- H?.extraData
6889
+ z.value,
6890
+ z.action,
6891
+ z?.extraData
6856
6892
  ),
6857
6893
  type: "button",
6858
- children: H.text
6894
+ children: z.text
6859
6895
  },
6860
- H.id
6896
+ z.id
6861
6897
  )) }),
6862
6898
  U.actionData && U.actionData.status === "pending" && /* @__PURE__ */ R(
6863
6899
  oc,
6864
6900
  {
6865
6901
  action: U.actionData.action,
6866
6902
  initialValues: U.actionData.parameters,
6867
- onSubmit: (H, Z) => Ie(H, Z, U.id),
6903
+ onSubmit: (z, Z) => Ie(z, Z, U.id),
6868
6904
  onCancel: () => K(U.id),
6869
6905
  isSubmitting: pe[U.id] || !1,
6870
6906
  tokenInfo: U.actionData.tokenInfo
@@ -6934,7 +6970,7 @@ Error: ${Y.error}` : "";
6934
6970
  U.id
6935
6971
  )) })
6936
6972
  ] }),
6937
- /* @__PURE__ */ R("div", { ref: w })
6973
+ /* @__PURE__ */ R("div", { ref: m })
6938
6974
  ]
6939
6975
  }
6940
6976
  ),
@@ -6973,12 +7009,12 @@ Error: ${Y.error}` : "";
6973
7009
  /* @__PURE__ */ R(
6974
7010
  "input",
6975
7011
  {
6976
- ref: ie,
7012
+ ref: re,
6977
7013
  type: "text",
6978
7014
  placeholder: "Message ....",
6979
7015
  value: c,
6980
7016
  onChange: (U) => S(U.target.value),
6981
- onKeyPress: z,
7017
+ onKeyPress: V,
6982
7018
  disabled: B,
6983
7019
  "aria-label": "Message input"
6984
7020
  }
@@ -7020,9 +7056,9 @@ Error: ${Y.error}` : "";
7020
7056
  n && s && s();
7021
7057
  }, []), et(() => {
7022
7058
  if (typeof window > "u") return;
7023
- const k = document.body, w = document.documentElement;
7024
- return !!c ? (k.style.overscrollBehavior = "none", w.style.overscrollBehavior = "none") : (k.style.overscrollBehavior = "auto", w.style.overscrollBehavior = "auto"), () => {
7025
- k.style.overscrollBehavior = "auto", w.style.overscrollBehavior = "auto";
7059
+ const k = document.body, m = document.documentElement;
7060
+ return !!c ? (k.style.overscrollBehavior = "none", m.style.overscrollBehavior = "none") : (k.style.overscrollBehavior = "auto", m.style.overscrollBehavior = "auto"), () => {
7061
+ k.style.overscrollBehavior = "auto", m.style.overscrollBehavior = "auto";
7026
7062
  };
7027
7063
  }, [c]);
7028
7064
  const B = Pe(() => {