PageSourceSearch

https://www.classicminidiy.com/_nuxt/Dv74LsdU.js

js classicminidiy.com collected 2026-10-04 08:05:03 UTC 90,670 bytes, 1 lines download raw bytes

1import"./DhJxYAKw.js";import{$ as t,A as e,F as s,Gt as i,H as a,Ht as n,L as r,M as o,N as l,O as c,P as u,Rt as b,S as d,Wt as m,X as p,et as h,f as g,gt as v,it as _,j as f,k as y,kt as k,lt as M,pt as C,q as w,tt as x,x as I,xt as D,zt as Y}from"./BVyj38kf.js";import{f as A}from"./n6SSr-2Q.js";import{t as S}from"./DA_AXAHv.js";import{n as q}from"./Dvbi8UAj.js";import{t as z}from"./BjhHdH_3.js";import{t as j}from"./BAZ1X0x3.js";import{t as N}from"./DjezeQgq.js";import{t as E}from"./sXN-qpZ4.js";import{t as P}from"./CYnpP_iE.js";import{n as L}from"./D6txpL70.js";import{i as H,t as T}from"./D8NyI9BJ.js";import{t as V}from"./DgLP3hnZ.js";import{a as U,c as O,d as F,i as B,l as G,n as R,o as K,r as W,s as Q,t as X,u as $}from"./Dwwi4CB1.js";D();function Z(){const t=j(),e=k([]),s=k(null);async function i(e,i={}){const a=await async function(){try{const{data:e}=await t.auth.getSession();return e.session?.access_token??null}catch{return null}}();if(!a)return null;try{const t=await S(e,{method:i.method??"GET",body:i.body,headers:{Authorization:`Bearer ${a}`},keepalive:!0});return s.value=null,t}catch(n){return 403!==n?.statusCode&&(s.value=n?.statusMessage??n?.message??"Sync unavailable"),null}}async function a(t,s,a){const n=await i(`/api/chat/threads/${t}`,{method:"PUT",body:{title:s,messages:a}});n&&(e.value=[n,...e.value.filter(e=>e.threadId!==t)].slice(0,20))}return{remote:e,lastError:s,pull:async function(){const t=await i("/api/chat/threads");return!!t&&(e.value=t.threads??[],!0)},pullThread:async function(t){return(await i(`/api/chat/threads/${t}`))?.messages??null},push:a,backfill:async function(t){const s=new Set(e.value.map(t=>t.threadId)),i=t.filter(t=>!s.has(t.threadId)&&t.messages.length>0);let n=0;for(const r of i){const t=e.value.length;if(await a(r.threadId,r.title,r.messages),e.value.length===t)break;n+=1}return n},remove:async function(t){await i(`/api/chat/threads/${t}`,{method:"DELETE"}),e.value=e.value.filter(e=>e.threadId!==t)},clear:async function(){await i("/api/chat/threads",{method:"DELETE"}),e.value=[]}}}a(),D(),Y(),g();var J=["for"],tt=["id","value","readonly","aria-disabled","placeholder"],et={class:"flex items-center gap-1 px-2 pb-2"},st=["disabled","title"],it={class:"hidden sm:inline"},at={class:"sr-only sm:hidden"},nt={class:"hidden sm:inline"},rt={class:"sr-only sm:hidden"},ot={class:"hidden pr-2 text-xs text-base-content/50 md:ml-auto md:inline"},lt=["aria-label","title"],ct=["disabled","aria-label","title"],ut={class:"mt-2 text-center text-xs text-base-content/50"},bt=r({__name:"ChatComposer",props:{modelValue:{},isLoading:{type:Boolean,default:!1},disableNewChat:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","submit","stop","new-chat"],setup(t,{expose:e,emit:a}){const{t:n}=L(),r=t,l=a,c=M(),u=k();function d(){const t=u.value;if(!t)return;if(0===t.clientWidth)return;t.style.height="auto",t.style.overflowY="hidden";const e=t.scrollHeight;t.style.height=`${Math.min(e,200)}px`,t.style.overflowY=e>200?"auto":"hidden"}function p(t){l("update:modelValue",t.target.value),d()}function h(t){"Enter"!==t.key||t.shiftKey||t.metaKey||t.ctrlKey||(t.preventDefault(),r.isLoading||r.disabled||!r.modelValue.trim()||l("submit"))}return C(()=>r.modelValue,d,{flush:"post"}),e({focus:function(){u.value?.focus({preventScroll:!0})},resize:d}),(e,a)=>{const r=z;return x(),o("div",null,[y("form",{onSubmit:a[2]||(a[2]=I(t=>l("submit"),["prevent"])),class:"rounded-2xl border border-base-300 bg-base-200 shadow-sm transition-colors focus-within:border-primary/50"},[y("label",{for:b(c),class:"sr-only"},i(b(n)("input_placeholder")),9,J),y("textarea",{id:b(c),ref_key:"inputRef",ref:u,value:t.modelValue,onInput:p,onKeydown:h,readonly:t.disabled,"aria-disabled":t.disabled||void 0,placeholder:t.disabled?b(n)("input_disabled_placeholder"):b(n)("input_placeholder"),class:"w-full resize-none bg-transparent px-4 pt-3 leading-6 outline-none placeholder:text-base-content/50",style:m({maxHeight:"200px"}),rows:"1"},null,44,tt),y("div",et,[y("button",{type:"button",onClick:a[0]||(a[0]=t=>l("new-chat")),class:"btn btn-ghost btn-sm gap-2 font-normal",disabled:t.disableNewChat,title:b(n)("new_chat")},[a[3]||(a[3]=y("i",{class:"fas fa-pen-to-square","aria-hidden":"true"},null,-1)),y("span",it,i(b(n)("new_chat")),1),y("span",at,i(b(n)("new_chat")),1)],8,st),s(r,{to:"/contact",class:"btn btn-ghost btn-sm gap-2 font-normal",title:b(n)("report_issue")},{default:v(()=>[a[4]||(a[4]=y("i",{class:"fas fa-flag","aria-hidden":"true"},null,-1)),y("span",nt,i(b(n)("report_issue")),1),y("span",rt,i(b(n)("report_issue")),1)]),_:1},8,["title"]),y("span",ot,i(b(n)("hint")),1),t.isLoading?(x(),o("button",{key:0,t
1ype:"button",onClick:a[1]||(a[1]=t=>l("stop")),class:"ml-auto md:ml-0 btn btn-sm btn-square btn-neutral","aria-label":b(n)("stop_generating"),title:b(n)("stop_generating")},[...a[5]||(a[5]=[y("i",{class:"fas fa-stop","aria-hidden":"true"},null,-1)])],8,lt)):(x(),o("button",{key:1,type:"submit",class:"ml-auto md:ml-0 btn btn-sm btn-square btn-primary",disabled:t.disabled||!t.modelValue.trim(),"aria-label":b(n)("send_message"),title:b(n)("send_message")},[...a[6]||(a[6]=[y("i",{class:"fas fa-arrow-up","aria-hidden":"true"},null,-1)])],8,ct))])],32),y("p",ut,i(b(n)("disclaimer")),1)])}}});function dt(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Ask me anything about your Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"New chat"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Report an issue"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter to send, Shift+Enter for a new line"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Send message"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Stop generating"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"The assistant is experimental and can be wrong. Verify anything critical against official documentation or a qualified mechanic."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Message limit reached"}}},es:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Pregúntame cualquier cosa sobre tu Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"Nuevo chat"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Reportar un problema"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter para enviar, Mayús+Enter para nueva línea"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Enviar mensaje"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Detener generación"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"El asistente es experimental y puede equivocarse. Verifica todo lo crítico con documentación oficial o un mecánico cualificado."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Límite de mensajes alcanzado"}}},fr:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Demandez-moi n'importe quoi sur votre Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"Nouveau chat"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Signaler un problème"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Entrée pour envoyer, Maj+Entrée pour une nouvelle ligne"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Envoyer le message"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Arrêter la génération"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"L'assistant est expérimental et peut se tromper. Vérifiez tout élément critique avec la documentation officielle ou un mécanicien qualifié."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Limite de messages atteinte"}}},de:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Fragen Sie mich alles über Ihren Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"Neuer Chat"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Problem melden"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter zum Senden, Umschalt+Enter für neue Zeile"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Nachricht senden"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Generierung stoppen"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"Der Assistent ist experimentell und kann sich irren. Prüfen Sie alles Kritische anhand offizieller Dokumentation oder mit einem qualifizierten Mechaniker."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Nachrichtenlimit erreicht"}}},it:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Chiedimi qualsiasi cosa sulla tua Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"Nuova chat"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Segnala un problema"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Invio per inviare, Maiusc+Invio per andare a capo"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Invia messaggio"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Interrompi generazione"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"L'assistente è sperimentale e può sbagliare. Verifica ogni informazione critica con la documentazione ufficiale o un meccanico qualificato."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Limite di messaggi raggiunto"}}},pt:{input_placeholder:{t:0,b:{t:2,i:[{t:3}
1],s:"Pergunte-me qualquer coisa sobre seu Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"Novo chat"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Relatar um problema"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter para enviar, Shift+Enter para nova linha"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Enviar mensagem"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Parar geração"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"O assistente é experimental e pode errar. Verifique qualquer informação crítica com documentação oficial ou um mecânico qualificado."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Limite de mensagens atingido"}}},ru:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Спросите меня что-нибудь о вашем Classic Mini..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"Новый чат"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"Сообщить о проблеме"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter — отправить, Shift+Enter — новая строка"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"Отправить сообщение"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"Остановить генерацию"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"Помощник экспериментальный и может ошибаться. Проверяйте важную информацию по официальной документации или у квалифицированного механика."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Достигнут лимит сообщений"}}},ja:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"あなたのClassic Miniについて何でもお聞きください..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"新しいチャット"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"問題を報告"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enterで送信、Shift+Enterで改行"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"メッセージを送信"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"生成を停止"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"このアシスタントは実験的なもので、誤ることがあります。重要な情報は公式資料か有資格の整備士で確認してください。"}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"メッセージの上限に達しました"}}},zh:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"询问我关于您的Classic Mini的任何问题..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"新对话"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"报告问题"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter 发送,Shift+Enter 换行"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"发送消息"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"停止生成"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"此助手为实验性功能,可能出错。重要信息请以官方文档或合格技师为准。"}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"已达到消息上限"}}},ko:{input_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Classic Mini에 대해 무엇이든 물어보세요..."}},new_chat:{t:0,b:{t:2,i:[{t:3}],s:"새 대화"}},report_issue:{t:0,b:{t:2,i:[{t:3}],s:"문제 신고"}},hint:{t:0,b:{t:2,i:[{t:3}],s:"Enter로 전송, Shift+Enter로 줄바꿈"}},send_message:{t:0,b:{t:2,i:[{t:3}],s:"메시지 보내기"}},stop_generating:{t:0,b:{t:2,i:[{t:3}],s:"생성 중단"}},disclaimer:{t:0,b:{t:2,i:[{t:3}],s:"이 어시스턴트는 실험적이며 틀릴 수 있습니다. 중요한 내용은 공식 문서나 자격을 갖춘 정비사에게 확인하세요."}},input_disabled_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"메시지 한도에 도달했습니다"}}}}})}dt(bt);var mt=Object.assign(bt,{__name:"ChatComposer"});a(),D(),Y();var pt={class:"flex h-full flex-col items-center justify-center gap-8 py-8 text-center"},ht={class:"space-y-3"},gt={class:"text-2xl font-bold sm:text-3xl"},vt={class:"mx-auto max-w-xl text-sm leading-relaxed text-base-content/70 sm:text-base"},_t={class:"grid w-full max-w-2xl gap-2 sm:grid-cols-2"},ft=["onClick"],yt={class:"min-w-0 text-sm leading-snug"},kt=r({__name:"ChatEmptyState",emits:["pick"],setup(t,{emit:e}){const{t:s}=L(),a=e,r=c(()=>[{key:"chassis",icon:"fas fa-hashtag",prompt:s("starter_chassis")},{key:"needle",icon:"fas fa-gauge-high",prompt:s("starter_needle")},{key:"torque",icon:"fas fa-screwdriver-wrench",prompt:s("starter_torque")},{key:"gearing",icon:"fas fa-gears",prompt:s("starter_gearing")}]);return(t,e)=>(x(),o("div",pt,[y("div",ht,[e[0]||(e[0]=y("div",{class:"mx-auto flex h-14 w-14 items-center justify-center rounded-full bg-primary/10 text-2xl text-primary","aria-hidden":"true"},[y("i",{class:"fas fa-comments"})],-1)),y("h2",gt,i(b(s)("greeting")),1),y("p",vt,i(b(s)("body")),1)]),y("div",_t,[(x(!0),o(d,null,_(b(r),t=>(x(),o("button",{key:t.key,type:"button",onClick:e=>a("pick",t.prompt),class:"group flex items-start gap-3 rounded-xl border border-base-300 bg-base-200/60 p-3 text-left transition-colors hover:border-primary/40 hover:bg-base-200"},[y("i",{class:n([t.icon,"mt-0.5 w-4 shrink-0 text-center text-sm text-base-content/50 transition-colors group-hover:text-primary"]),"aria-hidden":"true"},null,2),y("span",yt,i(t.prompt),1)],8,ft))),128))])]))}});function Mt(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"How can I help with your Mini?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Ask technical questions, decode chassis and engine numbers, look up parts and specifications, or get guidance on a restoration. I can search the Classic Mini DIY archive as we go."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Decode the chassis number XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"Which SU needle suits a 1275 with an HIF44?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"What are the cylinder head torque settings on an A-series?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"What final drive should I run for motorway cruising?"}}},es:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"¿Cómo puedo ayudarte con tu Mini?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Haz preguntas técnicas, decodifica números de chasis y motor, busca piezas y especificaciones, u obtén guía sobre una restauración. Puedo buscar en el archivo de Classic Mini DIY sobre la marcha."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Decodifica el número de chasis XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"¿Qué aguja SU conviene a un 1275 con un HIF44?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"¿Cuáles son los pares de apriete de la culata en un A-series?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"¿Qué grupo final debo usar para viajar por autopista?"}}},fr:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"Comment puis-je aider avec votre Mini ?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Posez des questions techniques, décodez les numéros de châssis et de moteur, recherchez des pièces et des spécifications, ou obtenez des conseils de restauration. Je peux consulter l'archive Classic Mini DIY au fil de la discussion."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Décode le numéro de châssis XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"Quelle aiguille SU convient à une 1275 avec un HIF44 ?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"Quels sont les couples de serrage de culasse sur un A-series ?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"Quel pont dois-je monter pour rouler sur autoroute ?"}}},de:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"Wie kann ich bei Ihrem Mini helfen?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Stellen Sie technische Fragen, dekodieren Sie Fahrgestell- und Motornummern, suchen Sie Teile und Spezifikationen oder holen Sie sich Rat zur Restaurierung. Ich kann dabei das Classic Mini DIY Archiv durchsuchen."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Dekodiere die Fahrgestellnummer XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"Welche SU-Nadel passt zu einem 1275 mit HIF44?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"Wie sind die Zylinderkopf-Drehmomente beim A-series?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"Welche Achsübersetzung eignet sich für Autobahnfahrten?"}}},it:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"Come posso aiutarti con la tua Mini?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Fai domande tecniche, decodifica numeri di telaio e motore, cerca ricambi e specifiche, o ricevi indicazioni su un restauro. Posso consultare l'archivio Classic Mini DIY mentre parliamo."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Decodifica il numero di telaio XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"Quale spillo SU è adatto a una 1275 con HIF44?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"Quali sono le coppie di serraggio della testata su un A-series?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"Quale rapporto finale conviene per viaggiare in autostrada?"}}},pt:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"Como posso ajudar com o seu Mini?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Faça perguntas técnicas, decodifique números de chassi e motor, procure peças e especificações, ou obtenha orientação sobre uma restauração. Posso pesquisar o arquivo do Classic Mini DIY durante a conversa."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Decodifique o número de chassi XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"Qual agulha SU serve para um 1275 com HIF44?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"Quais são os torques do cabeçote num A-series?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"Que relação final devo usar para viagens em autoestrada?"}}},ru:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"Чем помочь с вашим Mini?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Задавайте технические вопросы, расшифровывайте номера шасси и двигателя, ищите детали и характеристики или получайте советы по реставрации. По ходу разговора я могу искать в архиве Classic Mini DIY."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"Расшифруй номер шасси XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"Какая игла SU подходит для 1275 с HIF44?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"Каковы моменты затяжки головки блока на A-series?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"Какую главную пару выбрать для езды по трассе?"}}},ja:{greeting:{t:0,b:{t:2,i:[{t:3}
1],s:"あなたのMiniについて何をお手伝いしましょう?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"技術的な質問、シャーシ番号やエンジン番号の解読、パーツや仕様の検索、レストアの相談ができます。会話の中でClassic Mini DIYのアーカイブを検索できます。"}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"シャーシ番号 XN2S1N123456 を解読して"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"HIF44を付けた1275に合うSUニードルは?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"A-seriesのシリンダーヘッドの締付トルクは?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"高速巡航にはどのファイナルギアが良い?"}}},zh:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"您的Mini需要什么帮助?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"提出技术问题、解码底盘号和发动机号、查找零件和规格,或获取修复指导。我可以在对话中检索Classic Mini DIY档案。"}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"解码底盘号 XN2S1N123456"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"装HIF44的1275适合哪种SU油针?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"A-series的缸盖扭矩规格是多少?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"高速巡航应该用什么主减速比?"}}},ko:{greeting:{t:0,b:{t:2,i:[{t:3}],s:"당신의 Mini에 대해 무엇을 도와드릴까요?"}},body:{t:0,b:{t:2,i:[{t:3}],s:"기술적인 질문을 하고, 섀시와 엔진 번호를 해독하고, 부품과 사양을 찾고, 복원에 대한 안내를 받으세요. 대화 중에 Classic Mini DIY 아카이브를 검색할 수 있습니다."}},starter_chassis:{t:0,b:{t:2,i:[{t:3}],s:"섀시 번호 XN2S1N123456을 해독해 줘"}},starter_needle:{t:0,b:{t:2,i:[{t:3}],s:"HIF44를 장착한 1275에 맞는 SU 니들은?"}},starter_torque:{t:0,b:{t:2,i:[{t:3}],s:"A-series의 실린더 헤드 토크 값은?"}},starter_gearing:{t:0,b:{t:2,i:[{t:3}],s:"고속도로 주행에는 어떤 종감속비가 좋을까?"}}}}})}Mt(kt);var Ct=Object.assign(kt,{__name:"ChatEmptyState"});D(),a(),Y();var wt={class:"modal-box max-w-lg"},xt={class:"mb-4 flex items-center gap-2"},It={class:"text-lg font-semibold"},Dt=["aria-label"],Yt={key:0,class:"py-6 text-center text-sm text-base-content/60"},At={key:1,class:"max-h-[60vh] space-y-1 overflow-y-auto"},St=["onClick"],qt={class:"block truncate text-sm"},zt={class:"block text-xs text-base-content/50"},jt=["aria-label","onClick"],Nt={class:"mt-4 text-xs text-base-content/50"},Et={method:"dialog",class:"modal-backdrop"},Pt=r({__name:"ChatHistoryDialog",props:{entries:{},activeThreadId:{},open:{type:Boolean}},emits:["select","remove","clear","close"],setup(t,{emit:e}){const{t:s,locale:a}=L(),r=t,l=e,m=k();C(()=>r.open,t=>{const e=m.value;e&&(t&&!e.open&&e.showModal(),!t&&e.open&&e.close())});const p=c(()=>new Intl.RelativeTimeFormat(a.value,{numeric:"auto"}));function h(t){const e=t-Date.now(),s=Math.round(e/6e4);if(Math.abs(s)<60)return p.value.format(s,"minute");const i=Math.round(e/36e5);if(Math.abs(i)<24)return p.value.format(i,"hour");const a=Math.round(e/864e5);return p.value.format(a,"day")}return(e,a)=>(x(),o("dialog",{ref_key:"dialogRef",ref:m,class:"modal modal-bottom sm:modal-middle",onClose:a[1]||(a[1]=t=>l("close"))},[y("div",wt,[y("div",xt,[y("h3",It,i(b(s)("title")),1),t.entries.length>0?(x(),o("button",{key:0,type:"button",class:"btn btn-ghost btn-xs ml-auto font-normal text-base-content/60",onClick:a[0]||(a[0]=t=>l("clear"))},[a[2]||(a[2]=y("i",{class:"fas fa-trash","aria-hidden":"true"},null,-1)),u(" "+i(b(s)("clear_all")),1)])):f("",!0),y("form",{method:"dialog",class:n(t.entries.length>0?"":"ml-auto")},[y("button",{class:"btn btn-ghost btn-sm btn-square","aria-label":b(s)("close")},[...a[3]||(a[3]=[y("i",{class:"fas fa-xmark","aria-hidden":"true"},null,-1)])],8,Dt)],2)]),0===t.entries.length?(x(),o("p",Yt,i(b(s)("empty")),1)):(x(),o("ul",At,[(x(!0),o(d,null,_(t.entries,e=>(x(),o("li",{key:e.threadId},[y("div",{class:n(["flex items-center gap-2 rounded-lg border border-transparent p-2 transition-colors hover:border-base-300 hover:bg-base-200",e.threadId===t.activeThreadI
1d?"border-primary/40 bg-base-200":""])},[y("button",{type:"button",class:"min-w-0 flex-1 text-left",onClick:t=>l("select",e.threadId)},[y("span",qt,i(e.title||b(s)("untitled")),1),y("span",zt,[u(i(h(e.lastUsedAt))+" ",1),e.threadId===t.activeThreadId?(x(),o(d,{key:0},[u(" · "+i(b(s)("current")),1)],64)):f("",!0)])],8,St),y("button",{type:"button",class:"btn btn-ghost btn-xs btn-square text-base-content/50","aria-label":b(s)("delete_one",{title:e.title||b(s)("untitled")}),onClick:t=>l("remove",e.threadId)},[...a[4]||(a[4]=[y("i",{class:"fas fa-xmark","aria-hidden":"true"},null,-1)])],8,jt)],2)]))),128))])),y("p",Nt,i(b(s)("local_only")),1)]),y("form",Et,[y("button",null,i(b(s)("close")),1)])],544))}});function Lt(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{title:{t:0,b:{t:2,i:[{t:3}],s:"Recent chats"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"No previous chats yet."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Untitled chat"}},current:{t:0,b:{t:2,i:[{t:3}],s:"current"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Clear all"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"Delete "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Saved in this browser only. Clearing site data removes them."}}},es:{title:{t:0,b:{t:2,i:[{t:3}],s:"Chats recientes"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Aún no hay chats anteriores."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Chat sin título"}},current:{t:0,b:{t:2,i:[{t:3}],s:"actual"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Borrar todo"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Cerrar"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"Eliminar "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Guardado solo en este navegador. Borrar los datos del sitio los elimina."}}},fr:{title:{t:0,b:{t:2,i:[{t:3}],s:"Discussions récentes"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Aucune discussion précédente."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Discussion sans titre"}},current:{t:0,b:{t:2,i:[{t:3}],s:"en cours"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Tout effacer"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Fermer"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"Supprimer "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Enregistré uniquement dans ce navigateur. Effacer les données du site les supprime."}}},de:{title:{t:0,b:{t:2,i:[{t:3}],s:"Letzte Chats"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Noch keine früheren Chats."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Chat ohne Titel"}},current:{t:0,b:{t:2,i:[{t:3}],s:"aktuell"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Alle löschen"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Schließen"}},delete_one:{t:0,b:{t:2,i:[{t:4,k:"title"},{t:3,v:" löschen"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Nur in diesem Browser gespeichert. Beim Löschen der Websitedaten verschwinden sie."}}},it:{title:{t:0,b:{t:2,i:[{t:3}],s:"Chat recenti"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Nessuna chat precedente."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Chat senza titolo"}},current:{t:0,b:{t:2,i:[{t:3}],s:"corrente"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Cancella tutto"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Chiudi"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"Elimina "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Salvate solo in questo browser. Cancellando i dati del sito spariscono."}}},pt:{title:{t:0,b:{t:2,i:[{t:3}],s:"Conversas recentes"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Ainda não há conversas anteriores."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Conversa sem título"}},current:{t:0,b:{t:2,i:[{t:3}],s:"atual"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Limpar tudo"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Fechar"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"Excluir "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Salvas apenas neste navegador. Limpar os dados do site as remove."}}},ru:{title:{t:0,b:{t:2,i:[{t:3}],s:"Недавние чаты"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"Предыдущих чатов пока нет."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"Чат без названия"}},current:{t:0,b:{t:2,i:[{t:3}],s:"текущий"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"Очистить всё"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Закрыть"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"Удалить "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"Хранится только в этом браузере. Очистка данных сайта их удалит."}}},ja:{title:{t:0,b:{t:2,i:[{t:3}],s:"最近のチャット"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"まだ以前のチャットはありません。"}},untitled:{t:0,b:{t:2,i:[{t:3}
1],s:"無題のチャット"}},current:{t:0,b:{t:2,i:[{t:3}],s:"現在"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"すべて削除"}},close:{t:0,b:{t:2,i:[{t:3}],s:"閉じる"}},delete_one:{t:0,b:{t:2,i:[{t:4,k:"title"},{t:3,v:" を削除"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"このブラウザにのみ保存されます。サイトデータを消去すると削除されます。"}}},zh:{title:{t:0,b:{t:2,i:[{t:3}],s:"最近的对话"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"还没有以前的对话。"}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"未命名对话"}},current:{t:0,b:{t:2,i:[{t:3}],s:"当前"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"全部清除"}},close:{t:0,b:{t:2,i:[{t:3}],s:"关闭"}},delete_one:{t:0,b:{t:2,i:[{t:3,v:"删除 "},{t:4,k:"title"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"仅保存在此浏览器中。清除网站数据会将其删除。"}}},ko:{title:{t:0,b:{t:2,i:[{t:3}],s:"최근 대화"}},empty:{t:0,b:{t:2,i:[{t:3}],s:"아직 이전 대화가 없습니다."}},untitled:{t:0,b:{t:2,i:[{t:3}],s:"제목 없는 대화"}},current:{t:0,b:{t:2,i:[{t:3}],s:"현재"}},clear_all:{t:0,b:{t:2,i:[{t:3}],s:"모두 지우기"}},close:{t:0,b:{t:2,i:[{t:3}],s:"닫기"}},delete_one:{t:0,b:{t:2,i:[{t:4,k:"title"},{t:3,v:" 삭제"}]}},local_only:{t:0,b:{t:2,i:[{t:3}],s:"이 브라우저에만 저장됩니다. 사이트 데이터를 지우면 삭제됩니다."}}}}})}Lt(Pt);var Ht=Object.assign(Pt,{__name:"ChatHistoryDialog"});a(),D(),Y();var Tt={class:"group flex flex-col items-end"},Vt={key:0,class:"max-w-[85%] rounded-2xl bg-primary px-4 py-2.5 text-primary-content sm:max-w-[80%]",style:{"overflow-wrap":"anywhere"}},Ut={class:"whitespace-pre-wrap"},Ot={class:"mt-1 flex items-center gap-1 transition-opacity sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100"},Ft=r({__name:"HumanMessage",props:{message:{},isLoading:{type:Boolean}},setup(t){const{t:e}=L(),s=t,a=c(()=>K(s.message)),r=k(!1);let l=null;return h(()=>{l&&clearTimeout(l)}),(t,s)=>(x(),o("div",Tt,[b(a)?(x(),o("div",Vt,[y("div",Ut,i(b(a)),1)])):f("",!0),y("div",Ot,[y("button",{type:"button",onClick:s[0]||(s[0]=t=>async function(t){if(t)try{await navigator.clipboard.writeText(t),r.value=!0,l&&clearTimeout(l),l=setTimeout(()=>{r.value=!1},2e3)}catch(e){}}(b(a))),class:"btn btn-ghost btn-xs gap-1.5 font-normal text-base-content/60"},[y("i",{class:n(b(r)?"fas fa-check":"fas fa-copy"),"aria-hidden":"true"},null,2),u(" "+i(b(r)?b(e)("copied"):b(e)("copy_button")),1)])])]))}});function Bt(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Copy"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copied"}}},es:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Copiar"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copiado"}}},fr:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Copier"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copié"}}},de:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Kopieren"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Kopiert"}}},it:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Copia"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copiato"}}},ja:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"コピー"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"コピーしました"}}},ko:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"복사"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"복사됨"}}},pt:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Copiar"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Copiado"}}},ru:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"Копировать"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"Скопировано"}}},zh:{copy_button:{t:0,b:{t:2,i:[{t:3}],s:"复制"}},copied:{t:0,b:{t:2,i:[{t:3}],s:"已复制"}}}}})}Bt(Ft);var Gt=Object.assign(Ft,{__name:"ChatHumanMessage"});a(),Y(),D();var Rt={role:"status",class:"rounded-2xl border border-base-300 bg-base-200/60 p-5"},Kt={class:"flex items-start gap-3"},Wt={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary/10 text-primary","aria-hidden":"true"},Qt={class:"min-w-0 flex-1"},Xt={class:"text-base font-semibold"},$t={key:0,class:"mt-0.5 text-sm text-base-content/60"},Zt={class:"mt-2 text-sm text-base-content/80"},Jt={key:1,class:"mt-3 space-y-1.5 text-sm text-base-content/80"},te={key:2,class:"mt-4 flex flex-wrap items-center gap-2"},ee={class:"mt-4"},se=r({__name:"QuotaLimitPanel",props:{quota:{},restored:{type:Boolean}},emits:["dismiss"],setup(t,{emit:s}){const a=t,r=s,{t:l}=L(),{capture:m}=N(),p=A(),h={anon:T.anonymous.perDay,free:T.free.perMonth,member:T.member.perMonth},g=c(()=>H(a.quota.tier)),k=c(()=>"plus"===g.value||"pro"===g.value?l(`plan.${g.value}`):""),M=c(()=>({plan:k.value,limit:g.value?T[g.value].perMonth??"":""})),w=c(()=>{switch(a.quota.tier){case"anonymous":return[l("benefit.free_allowance",h),l("benefit.history"),l("benefit.free_forever")];case"free":return[l("benefit.member_allowance",h),l("benefit.synced_history"),l("benefit.supp
1orts")];case"member":case"plus":return[l("benefit.next_allowance",{plan:k.value,limit:T[g.value].perMonth}),l("benefit.same_membership")];default:return[]}});function I(t){m("chat_limit_cta_clicked",{tier:a.quota.tier,target:t})}return C(()=>a.quota.tier,t=>{m("chat_limit_reached",{tier:t,used:a.quota.used??null,limit:a.quota.limit??null,restored:!0===a.restored})},{immediate:!0}),(s,a)=>{const c=z;return x(),o("div",Rt,[y("div",Kt,[y("div",Wt,[y("i",{class:n(g.value?"fas fa-star":"fas fa-hourglass-half")},null,2)]),y("div",Qt,[y("h2",Xt,i(b(l)(`${t.quota.tier}.title`)),1),void 0!==t.quota.used&&void 0!==t.quota.limit?(x(),o("p",$t,i(b(l)("used_of",{used:t.quota.used,limit:t.quota.limit})),1)):f("",!0),y("p",Zt,i(b(l)(`${t.quota.tier}.body`,M.value)),1),g.value?(x(),o("ul",Jt,[(x(!0),o(d,null,_(w.value,t=>(x(),o("li",{key:t,class:"flex items-start gap-2"},[a[4]||(a[4]=y("i",{class:"fas fa-check mt-1 text-xs text-primary","aria-hidden":"true"},null,-1)),y("span",null,i(t),1)]))),128))])):f("",!0),g.value?(x(),o("div",te,["anonymous"===t.quota.tier?(x(),e(c,{key:0,to:`/login?redirect=${encodeURIComponent(b(p).fullPath)}`,class:"btn btn-primary btn-sm",onClick:a[0]||(a[0]=t=>I("sign_in"))},{default:v(()=>[a[5]||(a[5]=y("i",{class:"fas fa-right-to-bracket","aria-hidden":"true"},null,-1)),u(" "+i(b(l)("anonymous.cta")),1)]),_:1},8,["to"])):(x(),e(c,{key:1,to:t.quota.upgradeUrl,class:"btn btn-primary btn-sm",onClick:a[1]||(a[1]=t=>I("membership"))},{default:v(()=>[a[6]||(a[6]=y("i",{class:"fas fa-star","aria-hidden":"true"},null,-1)),u(" "+i("free"===t.quota.tier?b(l)("free.cta"):b(l)("upgrade.cta",{plan:k.value})),1)]),_:1},8,["to"])),"anonymous"===t.quota.tier?(x(),e(c,{key:2,to:t.quota.upgradeUrl,class:"btn btn-ghost btn-sm font-normal",onClick:a[2]||(a[2]=t=>I("membership_secondary"))},{default:v(()=>[u(i(b(l)("anonymous.secondary")),1)]),_:1},8,["to"])):f("",!0)])):f("",!0),y("div",ee,[y("button",{type:"button",class:"btn btn-ghost btn-sm font-normal",onClick:a[3]||(a[3]=t=>r("dismiss"))},i(b(l)("try_again")),1)])])])])}}});function ie(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{used_of:{t:0,b:{t:2,i:[{t:4,k:"used"},{t:3,v:" of "},{t:4,k:"limit"},{t:3,v:" messages used"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"You've used today's free messages"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sign in to get a bigger allowance — it's free, and it takes a moment."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Sign in"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"See membership"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"You've used this month's messages"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Members get a much larger allowance, and it helps keep the archive free for everyone."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Become a Sustaining Member"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"You've used this month's messages"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" gets "},{t:4,k:"limit"},{t:3,v:" messages a month. Same membership, same benefits — only the allowance changes."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" messages a month instead of "},{t:4,k:"anon"},{t:3,v:" a day"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Your conversations saved to your account"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Free — no card needed"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" messages a month"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Conversations synced across your devices"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Supports the archive, the videos and the tools"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" messages a month with Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Everything in your membership stays the same"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Try again"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"You've used this month's messages"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Your allowance resets at the start of next month. Thanks for supporting Classic Mini DIY."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"You've used this month's messages"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" gets "},{t:4,k:"limit"}
1,{t:3,v:" messages a month. Same membership, same benefits — only the allowance changes."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Upgrade to Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},es:{used_of:{t:0,b:{t:2,i:[{t:4,k:"used"},{t:3,v:" de "},{t:4,k:"limit"},{t:3,v:" mensajes usados"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"Has usado los mensajes gratuitos de hoy"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Inicia sesión para obtener más — es gratis y toma un momento."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Iniciar sesión"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"Ver membresía"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"Has usado los mensajes de este mes"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Los Socios Colaboradores tienen muchos más mensajes, y ayudan a mantener el archivo gratuito para todos."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Hazte Socio Colaborador"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"Has usado los mensajes de este mes"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" tiene "},{t:4,k:"limit"},{t:3,v:" mensajes al mes. Misma membresía, mismos beneficios — solo cambia el límite."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" mensajes al mes en vez de "},{t:4,k:"anon"},{t:3,v:" al día"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Tus conversaciones guardadas en tu cuenta"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Gratis — sin tarjeta"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" mensajes al mes"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Conversaciones sincronizadas entre tus dispositivos"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Apoya el archivo, los vídeos y las herramientas"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" mensajes al mes con Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Todo lo demás de tu membresía sigue igual"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Intentar de nuevo"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"Has usado los mensajes de este mes"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Tu límite se restablece al inicio del próximo mes. Gracias por apoyar a Classic Mini DIY."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"Has usado los mensajes de este mes"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" tiene "},{t:4,k:"limit"},{t:3,v:" mensajes al mes. Misma membresía, mismos beneficios — solo cambia el límite."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Pasar a Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},fr:{used_of:{t:0,b:{t:2,i:[{t:4,k:"used"},{t:3,v:" messages sur "},{t:4,k:"limit"},{t:3,v:" utilisés"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"Vous avez utilisé vos messages gratuits du jour"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Connectez-vous pour en obtenir plus — c'est gratuit et rapide."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Se connecter"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"Voir l'adhésion"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"Vous avez utilisé vos messages du mois"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Les membres Sustaining disposent de bien plus de messages, et 
1cela garde l'archive gratuite pour tous."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Devenir membre Sustaining"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"Vous avez utilisé vos messages du mois"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" donne droit à "},{t:4,k:"limit"},{t:3,v:" messages par mois. Même adhésion, mêmes avantages — seul le quota change."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" messages par mois au lieu de "},{t:4,k:"anon"},{t:3,v:" par jour"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Vos conversations enregistrées sur votre compte"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Gratuit — sans carte bancaire"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" messages par mois"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Conversations synchronisées entre vos appareils"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Soutient l'archive, les vidéos et les outils"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" messages par mois avec Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Tout le reste de votre adhésion reste identique"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Réessayer"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"Vous avez utilisé vos messages du mois"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Votre quota se réinitialise au début du mois prochain. Merci de soutenir Classic Mini DIY."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"Vous avez utilisé vos messages du mois"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" donne droit à "},{t:4,k:"limit"},{t:3,v:" messages par mois. Même adhésion, mêmes avantages — seul le quota change."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Passer à Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},de:{used_of:{t:0,b:{t:2,i:[{t:4,k:"used"},{t:3,v:" von "},{t:4,k:"limit"},{t:3,v:" Nachrichten verwendet"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"Du hast die kostenlosen Nachrichten für heute verbraucht"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Melde dich an, um mehr zu erhalten — kostenlos und in einem Moment erledigt."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Anmelden"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"Mitgliedschaft ansehen"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"Du hast die Nachrichten dieses Monats verbraucht"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Member haben deutlich mehr Nachrichten und halten das Archiv für alle kostenlos."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Member werden"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"Du hast die Nachrichten dieses Monats verbraucht"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" bietet "},{t:4,k:"limit"},{t:3,v:" Nachrichten pro Monat. Gleiche Mitgliedschaft, gleiche Vorteile — nur das Kontingent ändert sich."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" Nachrichten pro Monat statt "},{t:4,k:"anon"},{t:3,v:" pro Tag"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Deine Unterhaltungen in deinem Konto gespeichert"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Kostenlos — keine Karte nötig"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" Nachrichten pro Monat"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Unterhaltungen auf allen Geräten synchronisiert"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Unterstützt das Archiv, die Videos und die Werkzeuge"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" Nachrichten pro Monat mit Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Alles andere an deiner Mitgliedschaft bleibt gleich"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Erneut versuchen"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"Du hast die Nachrichten dieses Monats verbraucht"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Dein Kontingent wird zu Beginn des nächsten Monats zurückgesetzt. Danke für deine Unterstützung."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"Du hast die Nachrichten dieses Monats verbraucht"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" bietet "},{t:4,k:"limit"},{t:3,v:" Nachrichten pro Monat. Gleiche Mitgliedschaft, gleiche Vorteile — nur das Kontingent ändert sich."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Auf Member "},{t:4,k:"plan"},{t:3,v:" wechseln"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},it:{used_of:{t:0,b:{t:2,i:[{t:4,k:"used"},{t:3,v:" di "},{t:4,k:"limit"},{t:3,v:" messaggi usati"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"Hai usato i messaggi gratuiti di oggi"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Accedi per averne di più — è gratis e ci vuole un attimo."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Accedi"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"Vedi l'abbonamento"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"Hai usato i messaggi di questo mese"}},body:{t:0,b:{t:2,i:[{t:3}],s:"I Sustaining Member hanno molti più messaggi e aiutano a mantenere l'archivio gratuito per tutti."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Diventa Sustaining Member"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"Hai usato i messaggi di questo mese"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" include "},{t:4,k:"limit"},{t:3,v:" messaggi al mese. Stessa iscrizione, stessi vantaggi — cambia solo il limite."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" messaggi al mese invece di "},{t:4,k:"anon"},{t:3,v:" al giorno"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Le tue conversazioni salvate sul tuo account"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Gratis — senza carta"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" messaggi al mese"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Conversazioni sincronizzate su tutti i dispositivi"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Sostiene l'archivio, i video e gli strumenti"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" messaggi al mese con Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Tutto il resto della tua iscrizione resta uguale"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Riprova"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"Hai usato i messaggi di questo mese"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Il tuo limite si azzera all'inizio del mese prossimo. Grazie per il supporto."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"Hai usato i messaggi di questo mese"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" include "},{t:4,k:"limit"},{t:3,v:" messaggi al mese. Stessa iscrizione, stessi vantaggi — cambia solo il limite."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Passa a Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},ja:{used_of:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" 件中 "},{t:4,k:"used"},{t:3,v:" 件のメッセージを使用しました"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"本日の無料メッセージを使い切りました"}},body:{t:0,b:{t:2,i:[{t:3}],s:"ログインするとより多く使えます。無料で、すぐに完了します。"}},cta:{t:0,b:{t:2,i:[{t:3}],s:"ログイン"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"メンバーシップを見る"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"今月のメッセージを使い切りました"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Member はより多くのメッセージを使え、アーカイブを無料で維持する助けになります。"}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Member になる"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"今月のメッセージを使い切りました"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" なら月"},{t:4,k:"limit"},{t:3,v:"件のメッセージが使えます。メンバーシップも特典も同じで、上限だけが変わります。"}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:3,v:"1日"},{t:4,k:"anon"},{t:3,v:"件ではなく、月"},{t:4,k:"free"},{t:3,v:"件"}]}},history:{t:0,b:{t:2,i:[{t:3}
1],s:"会話がアカウントに保存されます"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"無料 — カード不要"}},member_allowance:{t:0,b:{t:2,i:[{t:3,v:"月"},{t:4,k:"member"},{t:3,v:"件のメッセージ"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"会話が全デバイスで同期されます"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"アーカイブ、動画、ツールを支援します"}},next_allowance:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" で月"},{t:4,k:"limit"},{t:3,v:"件のメッセージ"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"メンバーシップのその他の内容はそのままです"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"もう一度試す"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"今月のメッセージを使い切りました"}},body:{t:0,b:{t:2,i:[{t:3}],s:"来月の初めにリセットされます。ご支援ありがとうございます。"}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"今月のメッセージを使い切りました"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" なら月"},{t:4,k:"limit"},{t:3,v:"件のメッセージが使えます。メンバーシップも特典も同じで、上限だけが変わります。"}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" にアップグレード"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},ko:{used_of:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:"개 중 "},{t:4,k:"used"},{t:3,v:"개 메시지 사용"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"오늘의 무료 메시지를 모두 사용했습니다"}},body:{t:0,b:{t:2,i:[{t:3}],s:"로그인하면 더 많이 사용할 수 있습니다. 무료이며 금방 끝납니다."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"로그인"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"멤버십 보기"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"이번 달 메시지를 모두 사용했습니다"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Member는 훨씬 많은 메시지를 사용할 수 있고, 아카이브를 모두에게 무료로 유지하는 데 도움이 됩니다."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Member 되기"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"이번 달 메시지를 모두 사용했습니다"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:"은 월 "},{t:4,k:"limit"},{t:3,v:"개 메시지를 제공합니다. 같은 멤버십, 같은 혜택 — 한도만 달라집니다."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:3,v:"하루 "},{t:4,k:"anon"},{t:3,v:"개 대신 월 "},{t:4,k:"free"},{t:3,v:"개"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"대화가 계정에 저장됩니다"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"무료 — 카드 불필요"}},member_allowance:{t:0,b:{t:2,i:[{t:3,v:"월 "},{t:4,k:"member"},{t:3,v:"개 메시지"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"모든 기기에서 대화 동기화"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"아카이브와 영상, 도구를 후원합니다"}},next_allowance:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:"으로 월 "},{t:4,k:"limit"},{t:3,v:"개 메시지"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"멤버십의 나머지 내용은 그대로입니다"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"다시 시도"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"이번 달 메시지를 모두 사용했습니다"}},body:{t:0,b:{t:2,i:[{t:3}],s:"다음 달 초에 초기화됩니다. 후원해 주셔서 감사합니다."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"이번 달 메시지를 모두 사용했습니다"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:"은 월 "},{t:4,k:"limit"},{t:3,v:"개 메시지를 제공합니다. 같은 멤버십, 같은 혜택 — 한도만 달라집니다."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:"으로 업그레이드"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},pt:{used_of:{t:0,b:{t:2,i:[{t:4,k:"used"},{t:3,v:" de "},{t:4,k:"limit"},{t:3,v:" mensagens usadas"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"Você usou as mensagens gratuitas de hoje"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Entre para receber mais — é grátis e leva um momento."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Entrar"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"Ver assinatura"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"Você usou as mensagens deste mês"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining Members têm muito mais mensagens e ajudam a manter o arquivo gratuito para todos."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Torne-se Sustaining Member"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"Você usou as mensagens deste mês"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" inclui "},{t:4,k:"limit"},{t:3,v:" mensagens por mês. Mesma assinatura, mesmos benefícios — só o limite muda."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" mensagens por mês em vez de "},{t:4,k:"anon"},{t:3,v:" por dia"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Suas conversas salvas na sua conta"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Grátis — sem cartão"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" mensagens por mês"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Conversas sincronizadas entre dispositivos"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Apoia o arquivo, os vídeos e as ferramentas"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" mensagens por mês com Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Todo o resto da sua assinatura continua igual"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Tentar novamente"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"Você usou as mensagens deste mês"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Seu limite é renovado no início do próximo mês. Obrigado pelo apoio."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"Você usou as mensagens deste mês"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" inclui "},{t:4,k:"limit"},{t:3,v:" mensagens por mês. Mesma assinatura, mesmos benefícios — só o limite muda."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Mudar para Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},ru:{used_of:{t:0,b:{t:2,i:[{t:3,v:"Использовано "},{t:4,k:"used"},{t:3,v:" из "},{t:4,k:"limit"},{t:3,v:" сообщений"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"Вы использовали бесплатные сообщения на сегодня"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Войдите, чтобы получить больше — это бесплатно и займёт минуту."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Войти"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"О членстве"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"Вы использовали сообщения за этот месяц"}},body:{t:0,b:{t:2,i:[{t:3}],s:"У Sustaining Member гораздо больше сообщений, и это помогает сохранять архив бесплатным для всех."}},cta:{t:0,b:{t:2,i:[{t:3}],s:"Стать Sustaining Member"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"Вы использовали сообщения за этот месяц"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" даёт "},{t:4,k:"limit"},{t:3,v:" сообщений в месяц. То же членство, те же преимущества — меняется только лимит."}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:4,k:"free"},{t:3,v:" сообщений в месяц вместо "},{t:4,k:"anon"},{t:3,v:" в день"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"Ваши переписки сохраняются в аккаунте"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"Бесплатно — карта не нужна"}},member_allowance:{t:0,b:{t:2,i:[{t:4,k:"member"},{t:3,v:" сообщений в месяц"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"Переписки синхронизируются между устройствами"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"Поддерживает архив, видео и инструменты"}},next_allowance:{t:0,b:{t:2,i:[{t:4,k:"limit"},{t:3,v:" сообщений в месяц с Member "},{t:4,k:"plan"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"Всё остальное в вашем членстве остаётся прежним"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"Попробовать снова"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"Вы использовали сообщения за этот месяц"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Лимит обновится в начале следующего месяца. Спасибо за поддержку."}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"Вы использовали сообщения за этот месяц"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" даёт "},{t:4,k:"limit"},{t:3,v:" сообщений в месяц. То же членство, те же преимущества — меняется только лимит."}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"Перейти на Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}},zh:{used_of:{t:0,b:{t:2,i:[{t:3,v:"已使用 "},{t:4,k:"used"},{t:3,v:" / "},{t:4,k:"limit"},{t:3,v:" 条消息"}]}},anonymous:{title:{t:0,b:{t:2,i:[{t:3}],s:"您已用完今天的免费消息"}},body:{t:0,b:{t:2,i:[{t:3}
1],s:"登录即可获得更多 — 免费,只需片刻。"}},cta:{t:0,b:{t:2,i:[{t:3}],s:"登录"}},secondary:{t:0,b:{t:2,i:[{t:3}],s:"查看会员"}}},free:{title:{t:0,b:{t:2,i:[{t:3}],s:"您已用完本月的消息"}},body:{t:0,b:{t:2,i:[{t:3}],s:"Sustaining 会员拥有更多消息,也帮助我们让档案对所有人保持免费。"}},cta:{t:0,b:{t:2,i:[{t:3}],s:"成为 Sustaining 会员"}}},member:{title:{t:0,b:{t:2,i:[{t:3}],s:"您已用完本月的消息"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" 每月可用 "},{t:4,k:"limit"},{t:3,v:" 条消息。会员资格与权益不变,只有额度不同。"}]}}},benefit:{free_allowance:{t:0,b:{t:2,i:[{t:3,v:"每月 "},{t:4,k:"free"},{t:3,v:" 条,而不是每天 "},{t:4,k:"anon"},{t:3,v:" 条"}]}},history:{t:0,b:{t:2,i:[{t:3}],s:"对话保存到您的账户"}},free_forever:{t:0,b:{t:2,i:[{t:3}],s:"免费 — 无需银行卡"}},member_allowance:{t:0,b:{t:2,i:[{t:3,v:"每月 "},{t:4,k:"member"},{t:3,v:" 条消息"}]}},synced_history:{t:0,b:{t:2,i:[{t:3}],s:"对话在各设备间同步"}},supports:{t:0,b:{t:2,i:[{t:3}],s:"支持档案、视频与工具"}},next_allowance:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" 每月 "},{t:4,k:"limit"},{t:3,v:" 条消息"}]}},same_membership:{t:0,b:{t:2,i:[{t:3}],s:"您会员资格的其他内容保持不变"}}},try_again:{t:0,b:{t:2,i:[{t:3}],s:"重试"}},pro:{title:{t:0,b:{t:2,i:[{t:3}],s:"您已用完本月的消息"}},body:{t:0,b:{t:2,i:[{t:3}],s:"您的额度将在下月初重置。感谢您的支持。"}}},plus:{title:{t:0,b:{t:2,i:[{t:3}],s:"您已用完本月的消息"}},body:{t:0,b:{t:2,i:[{t:3,v:"Member "},{t:4,k:"plan"},{t:3,v:" 每月可用 "},{t:4,k:"limit"},{t:3,v:" 条消息。会员资格与权益不变,只有额度不同。"}]}}},upgrade:{cta:{t:0,b:{t:2,i:[{t:3,v:"升级到 Member "},{t:4,k:"plan"}]}}},plan:{plus:{t:0,b:{t:2,i:[{t:3}],s:"Plus"}},pro:{t:0,b:{t:2,i:[{t:3}],s:"Pro"}}}}}})}ie(se);var ae=Object.assign(se,{__name:"ChatQuotaLimitPanel"});a(),D(),Y();var ne={key:0,class:"space-y-4"},re={class:"flex items-center gap-2 pb-2 border-b border-base-300"},oe={class:"text-sm font-semibold"},le={class:"text-xs text-base-content/50 ml-auto"},ce={class:"space-y-3"},ue=["href","onClick"],be={class:"space-y-2"},de={class:"flex items-start justify-between gap-2"},me={class:"font-medium text-sm text-primary group-hover:text-primary/80 line-clamp-2 leading-tight"},pe={class:"shrink-0 flex items-center gap-1"},he={class:"text-xs bg-primary/10 text-primary px-1.5 py-0.5 rounded"},ge={class:"text-xs text-base-content/60 line-clamp-3 leading-relaxed"},ve={class:"text-xs text-base-content/40 truncate"},_e={key:0,class:"text-center pt-2 border-t border-base-300"},fe={class:"text-xs text-base-content/50"},ye=r({__name:"UsefulLinksSidebar",props:{links:{}},setup(t){const{t:e}=L(),{trackOutbound:s}=E(),a=t=>{try{const e=new URL(t);return e.searchParams.has("utm_source")||(e.searchParams.set("utm_source","diy_chat_bot"),e.searchParams.set("utm_medium","chat"),e.searchParams.set("utm_campaign","useful_links_sidebar"),e.searchParams.set("utm_content","search_results")),e.toString()}catch(e){return t}};return(n,r)=>t.links&&t.links.length>0?(x(),o("div",ne,[y("div",re,[r[0]||(r[0]=y("i",{class:"fas fa-link text-primary"},null,-1)),y("h3",oe,i(b(e)("title")),1),y("span",le,i(t.links.length),1)]),y("div",ce,[(x(!0),o(d,null,_(t.links,(t,e)=>(x(),o("a",{key:e,href:a(t.url),target:"_blank",rel:"noopener noreferrer",class:"block p-3 rounded-lg bg-base-100 hover:border-primary/40 transition-colors border border-base-300 group",onClick:e=>b(s)({destination:t.url,label:t.title,group:"chat_useful_link"})},[y("div",be,[y("div",de,[y("h4",me,i(t.title),1),y("div",pe,[y("span",he,i(Math.round(100*t.score))+"% ",1),r[1]||(r[1]=y("i",{class:"fas fa-arrow-up-right-from-square text-xs text-base-content/40"},null,-1))])]),y("p",ge,i(t.content),1),y("div",ve,i(t.url),1)])],8,ue))),128))]),t.links.length>5?(x(),o("div",_e,[y("p",fe,i(b(e)("showing_results",{count:t.links.length})),1)])):f("",!0)])):f("",!0)}});function ke(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{title:{t:0,b:{t:2,i:[{t:3}],s:"Useful Links"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Showing "},{t:4,k:"count"},{t:3,v:" results"}]}}},es:{title:{t:0,b:{t:2,i:[{t:3}],s:"Enlaces Útiles"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Mostrando "},{t:4,k:"count"},{t:3,v:" resultados"}]}}},fr:{title:{t:0,b:{t:2,i:[{t:3}],s:"Liens Utiles"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Affichage de "},{t:4,k:"count"},{t:3,v:" résultats"}]}}},de:{title:{t:0,b:{t:2,i:[{t:3}],s:"Nützliche Links"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Zeige "},{t:4,k:"count"},{t:3,v:" Ergebnisse"}]}}},it:{title:{t:0,b:{t:2,i:[{t:3}],s:"Link Utili"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Mostrando "},{t:4,k:"count"},{t:3,v:" risultati"}]}}},ja:{title:{t:0,b:{t:2,i:[{t:3}],s:"有用なリンク"}},showing_results:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:"件の結果を表示"}]}}},ko:{title:{t:0,b:{t:2,i:[{t:3}],s:"유용한 링크"}},showing_results:{t:0,b:{t:2,i:[{t:4,k:"count"},{t:3,v:"개 결과 표시"}]}}},pt:{title:{t:0,b:{t:2,i:[{t:3}],s:"Links Úteis"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Mostrando "},{t:4,k:"count"},{t:3,v:" resultados"}]}}},ru:{title:{t:0,b:{t:2,i:[{t:3}],s:"Полезные ссылки"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"Показано "},{t:4,k:"count"},{t:3,v:" результатов"}]}}},zh:{title:{t:0,b:{t:2,i:[{t:3}],s:"有用链接"}},showing_results:{t:0,b:{t:2,i:[{t:3,v:"显示 "},{t:4,k:"count"},{t:3,v:" 个结果"}]}}}}})}ke(ye);var Me=Object.assign(V(ye,[["__scopeId","data-v-bdba7ccb"]]),{__name:"ChatUsefulLinksSidebar"});a(),D(),Y();var Ce={class:"flex h-full min-h-0 flex-col bg-base-100 [--chat-rail:20rem]"},we={class:"shrink-0 border-b border-base-300 lg:pr-[var(--chat-rail)]"},xe={class:"mx-auto flex w-full max-w-3xl items-center gap-2 px-4 py-2.5 sm:px-6"},Ie={class:"text-sm font-semibold"},De={class:"badge badge-ghost badge-sm"},Ye={class:"hidden sm:inline"},Ae={class:"sr-only sm:hidden"},Se={key:0,class:"badge badge-sm"},qe={class:"flex min-h-0 flex-1"},ze={class:"flex min-h-0 min-w-0 flex-1 flex-col"},je={class:"relative flex min-h-0 flex-1 flex-col"},Ne={key:1,class:"space-y-6"},Ee={key:1,role:"alert",class:"alert alert-error"},Pe={key:2,class:"flex items-center gap-3 sm:gap-4"},Le={class:"sr-only",role:"status","aria-live":"polite"},He=["title","aria-label"],Te={class:"shrink-0 border-t border-base-300 bg-base-100"},Ve={class:"mx-auto w-full max-w-3xl px-4 py-3 sm:px-6"},Ue=["aria-label"],Oe={key:0,class:"space-y-6"},Fe={key:1,class:"mt-8 text-center text-base-content/50"},Be={class:"text-sm"},Ge=r({__name:"ChatWindow",setup(a){const{t:r}=L(),u=A(),m=k(""),h=k(),g=k(),v=k(!1),M=k(!1),I=F(),D=Z(),{isSustainingMember:Y,isAuthenticated:S}=P(),q=k(!1),z=c(()=>q.value&&Y.value);C(z,async t=>{t&&await D.pull()&&await D.backfill(I.entries.value.map(t=>({threadId:t.threadId,title:t.title,messages:t.messages})))},{immediate:!0});const j=t=>{const e=Date.parse(t);return Number.isFinite(e)?e:Date.now()},H=c(()=>{const t=I.entries.value;if(!z.value)return t;const e=new Set(t.map(t=>t.threadId)),s=D.remote.value.filter(t=>!e.has(t.threadId)).map(t=>({threadId:t.threadId,title:t.title,messageCount:t.messageCount,createdAt:j(t.createdAt),lastUsedAt:j(t.updatedAt),messages:[]}));return[...t,...s].sort((t,e)=>e.lastUsedAt-t.lastUsedAt)}),T=k(""),{messages:V,status:K,error:J,isLoading:tt,sendMessage:et,stop:st,videos:it,usefulLinks:at}=B({threadId:T,pageSlug:()=>u.path}),nt=k(null),rt=k(!1),ot=c(()=>rt.value?null:G(J.value)??nt.value);function lt(){rt.value=!0,nt.value=null,Q()}C(()=>G(J.value),t=>{t&&(rt.value=!1,nt.value=t,$(t))});const ct=c(()=>!!J.value&&!G(J.value));C(S,()=>{nt.value=null,Q(),rt.value=!1}),t(()=>{q.value=!0,I.load(),nt.value=O();const t=I.entries.value[0];t?.messages?.length?(T.value=t.threadId,V.value=t.messages):T.value=W(),w(()=>{h.value?.focus(),Yt(!1),function(){if(St.value)return;const t=u.query.message;if("string"!=typeof t||!t.trim())return;if(St.value=!0,ot.value)return void(m.value=t.trim());V.value.length>0&&(V.value=[],T.value=W());m.value=t.trim(),w(()=>yt())}()})});const ut=c(()=>!q.value||0===V.value.length),bt=c(()=>
1{if(!tt.value)return!1;const t=V.value[V.value.length-1];return!t||"assistant"!==t.role||0===(t.parts??[]).filter(t=>"text"===t?.type).map(t=>t.text).join("").trim().length}),{capture:dt}=N(),{track:pt}=E();function ht(t){return t?(t.parts??[]).filter(t=>"text"===t?.type).map(t=>t.text).join(" "):""}let gt=null;function vt(){gt&&(clearTimeout(gt),gt=null);const t=V.value;if(!q.value||!T.value||0===t.length)return;const e=t.find(t=>"user"===t.role),s=I.deriveTitle(ht(e));I.record(T.value,{title:s,messages:t})}function _t(){const t=V.value;if(!z.value||!T.value||0===t.length)return;const e=t.find(t=>"user"===t.role);D.push(T.value,I.deriveTitle(ht(e)),t)}C(tt,(t,e)=>{e&&!t&&_t()}),C(V,()=>{gt&&clearTimeout(gt),gt=setTimeout(vt,500),w(()=>{g.value&&!v.value&&Yt(!1)})},{deep:!0}),p(()=>{vt(),_t()});const ft=()=>{vt(),_t()};async function yt(){if(ot.value)return;const t=m.value.trim();t&&!tt.value&&(dt("chat_message_sent",{message_length:t.length,is_first_message:0===V.value.length,source:"omnisearch"===u.query.source||"search-panel"===u.query.source?u.query.source:"chat"}),m.value="",w(()=>h.value?.resize()),await et({text:t}))}async function kt(t){if(t===T.value)return void(M.value=!1);pt("chat_history_thread_opened"),M.value=!1,m.value="",st(),T.value=t;const e=I.getMessages(t);if(e.length>0)V.value=e;else if(z.value){V.value=[];const e=await D.pullThread(t);e&&T.value===t&&(V.value=e)}else V.value=[];w(()=>Yt(!1))}function Mt(t){I.remove(t),z.value&&D.remove(t),T.value===t&&It()}function wt(){I.clear(),z.value&&D.clear(),M.value=!1,It()}function xt(t){tt.value||(dt("chat_starter_used",{prompt:t}),m.value=t,w(()=>yt()))}function It(){pt("chat_new_conversation"),st(),V.value=[],T.value=W(),m.value="",v.value=!1,w(()=>{h.value?.resize(),h.value?.focus()})}function Dt(){st()}function Yt(t=!1){t&&pt("chat_scroll_to_bottom"),g.value&&(g.value.scrollTop=g.value.scrollHeight)}function At(){if(!g.value)return;const{scrollTop:t,scrollHeight:e,clientHeight:s}=g.value;v.value=e-t-s>=100}t(()=>{window.addEventListener("pagehide",ft)}),p(()=>{window.removeEventListener("pagehide",ft)});const St=k(!1);return(t,a)=>(x(),o("div",Ce,[y("header",we,[y("div",xe,[y("h1",Ie,i(b(r)("assistant_name")),1),y("span",De,i(b(r)("beta")),1),y("button",{type:"button",class:"btn btn-ghost btn-sm ml-auto gap-2 font-normal",onClick:a[0]||(a[0]=t=>M.value=!0)},[a[4]||(a[4]=y("i",{class:"fas fa-clock-rotate-left","aria-hidden":"true"},null,-1)),y("span",Ye,i(b(r)("history")),1),y("span",Ae,i(b(r)("history")),1),q.value&&b(I).entries.value.length>0?(x(),o("span",Se,i(b(I).entries.value.length),1)):f("",!0)])])]),y("div",qe,[y("div",ze,[y("div",je,[y("div",{ref_key:"messagesContainer",ref:g,class:n(["flex-1 overflow-y-auto [scrollbar-gutter:stable_both-edges]",ut.value?"flex":""]),onScroll:At},[y("div",{class:n(["mx-auto w-full max-w-3xl px-4 py-6 sm:px-6",ut.value?"flex flex-col justify-center":""])},[ut.value&&!ot.value?(x(),e(Ct,{key:0,onPick:xt})):(x(),o("div",Ne,[(x(!0),o(d,null,_(b(V),t=>(x(),o(d,{key:t.id},["user"===t.role?(x(),e(Gt,{key:0,message:t,"is-loading":b(tt)},null,8,["message","is-loading"])):"assistant"===t.role?(x(),e(U,{key:1,message:t,"is-loading":b(tt),"thread-id":T.value},null,8,["message","is-loading","thread-id"])):f("",!0)],64))),128)),ot.value?(x(),e(ae,{key:0,quota:ot.value,restored:!b(G)(b(J)),onDismiss:lt},null,8,["quota","restored"])):ct.value?(x(),o("div",Ee,[a[5]||(a[5]=y("i",{class:"fas fa-triangle-exclamation","aria-hidden":"true"},null,-1)),y("span",null,i(b(r)("request_failed")),1)])):f("",!0),bt.value?(x(),o("div",Pe,[...a[6]||(a[6]=[l('<div class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-xs text-primary" aria-hidden="true" data-v-ed69e408><i class="fas fa-comments" data-v-ed69e408></i></div><div class="flex items-center gap-1" aria-hidden="true" data-v-ed69e408><span class="thinking-dot h-1.5 w-1.5 rounded-full bg-base-content/40" data-v-ed69e408></span><span class="thinking-dot h-1.5 w-1.5 rounded-full bg-base-content/40" data-v-ed69e408></span><span class="thinking-dot h-1.5 w-1.5 rounded-full bg-base-content/40" data-v-ed69e408></span></div>',2)])])):f("",!0),!b(tt)&&b(it).length>0?(x(),e(X,{key:3,videos:b(it),variant:"inline",class:"lg:hidden"},null,8,["videos"])):f("",!0),!b(tt)&&b(at).length>0?(x(),e(R,{key:4,links:b(at),class:"lg:hidden"},null,8,["links"])):f("",!0)]))],2)],34),y("p",Le,i(b(tt)?b(r)("sr_generating"):""),1),v.value?(x(),o("button",{key:0,onClick:a[1]||(a[1]=t=>Yt(!0)),class:"btn btn-circle btn-sm absolute bottom-4 left-1/2 -translate-x-1/2 border-base-300 bg-base-100 shadow-md",title:b(r)("scroll_to_bottom"),"aria-label":b(r)("scroll_to_bottom")},[...a[7]||(a[7]=[y("i",{class:"fas fa-arrow-down text-xs","aria-hidden":"true"},null,-1)])],8,He)):f("",!0)]),y("div",Te,[y("div",Ve,[s(mt,{ref_key:"composerRef",ref:h,modelValue:m.value,"onUpdate:modelValue":a[2]||(a[2]=t=>m.value=t),"is-loading":b(tt),disabled:!!ot.value,"disable-new-chat":ut.value&&!b(tt),onSubmit:yt,onStop:Dt,onNewChat:It},null,8,["modelValue","is-loading","disabled","disable-new-chat"])])])]),y("aside",{class:"hidden w-[var(--chat-rail)] shrink-0 overflow-y-auto border-l border-base-300 bg-base-200/40 p-4 lg:block","aria-label":b(r)("useful_links_region")},[!b(tt)&&(b(it).length>0||b(at).length>0)?(x(),o("div",Oe,[b(it).length>0?(x(),e(X,{key:0,videos:b(it),variant:"rail"},null,8,["videos"])):f("",!0),b(at).length>0?(x(),e(Me,{key:1,links:b(at)},null,8,["links"])):f("",!0)])):(x(),o("div",Fe,[a[8]||(a[8]=y("i",{class:"fas fa-link mb-2 block text-2xl","aria-hidden":"true"},null,-1)),y("p",Be,i(b(r)("useful_links_placeholder")),1)]))],8,Ue)]),s(Ht,{entries:H.value,"active-thread-id":T.value,open:M.value,onSelect:kt,onRemove:Mt,onClear:wt,onClose:a[3]||(a[3]=t=>M.value=!1)},null,8,["entries","active-thread-id","open"])]))}});function Re(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistant"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Beta"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Scroll to bottom"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Generating a response"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Useful links"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Links appear here when I search for something"}},history:{t:0,b:{t:2,i:[{t:3}],s:"History"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Something went wrong sending that. Please try again."}}},es:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"Asistente CMDIY"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Beta"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Desplazar al final"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Generando una respuesta"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Enlaces útiles"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Los enlaces aparecen aquí cuando busco algo"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Historial"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Algo salió mal al enviar eso. Inténtalo de nuevo."}}},fr:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"Assistant CMDIY"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Bêta"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Défiler vers le bas"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Génération d'une réponse"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Liens utiles"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Les liens apparaissent ici quand je fais une recherche"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Historique"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Une erreur s'est produite lors de l'envoi. Veuillez réessayer."}}},de:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistent"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Beta"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Nach unten scrollen"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Antwort wird erzeugt"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Nützliche Links"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Links erscheinen hier, wenn ich etwas suche"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Verlauf"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Beim Senden ist ein Fehler aufgetreten. Bitte versuche es erneut."}}},it:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Beta"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Scorri in basso"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Generazione di una risposta"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Link utili"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"I link appaiono qui quando cerco qualcosa"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Cronologia"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Si è verificato un errore durante l'invio. Riprova."}}},pt:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Beta"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Rolar para baixo"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Gerando uma resposta"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Links úteis"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Os links aparecem aqui quando eu pesquiso algo"}},history:{t:0,b:{t:2,i:[{t:3}],s:"Histórico"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Algo deu errado ao enviar. Tente novamente."}}},ru:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"Помощник CMDIY"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"Бета"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"Прокрутить вниз"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"Формируется ответ"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"Полезные ссылки"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"Ссылки появятся здесь, когда я что-то найду"}},history:{t:0,b:{t:2,i:[{t:3}],s:"История"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"Не удалось отправить сообщение. Попробуйте ещё раз."}}},ja:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"CMDIYアシスタント"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"ベータ"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"下までスクロール"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"回答を生成しています"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"有用なリンク"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"検索するとここにリンクが表示されます"}},history:{t:0,b:{t:2,i:[{t:3}],s:"履歴"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"送信中に問題が発生しました。もう一度お試しください。"}}},zh:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY助手"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"测试版"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"滚动到底部"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"正在生成回复"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"有用链接"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"当我搜索时,链接会显示在这里"}},history:{t:0,b:{t:2,i:[{t:3}],s:"历史记录"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"发送时出现问题,请重试。"}}}
1,ko:{assistant_name:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY 어시스턴트"}},beta:{t:0,b:{t:2,i:[{t:3}],s:"베타"}},scroll_to_bottom:{t:0,b:{t:2,i:[{t:3}],s:"맨 아래로 스크롤"}},sr_generating:{t:0,b:{t:2,i:[{t:3}],s:"응답을 생성하는 중"}},useful_links_region:{t:0,b:{t:2,i:[{t:3}],s:"유용한 링크"}},useful_links_placeholder:{t:0,b:{t:2,i:[{t:3}],s:"검색하면 여기에 링크가 표시됩니다"}},history:{t:0,b:{t:2,i:[{t:3}],s:"기록"}},request_failed:{t:0,b:{t:2,i:[{t:3}],s:"전송 중 문제가 발생했습니다. 다시 시도해 주세요."}}}}})}Re(Ge);var Ke=Object.assign(V(Ge,[["__scopeId","data-v-ed69e408"]]),{__name:"ChatWindow"});a();var We={class:"chat-shell h-full min-h-0"},Qe=r({__name:"chat",setup(t){const{t:e}=L();q({title:e("title"),meta:[{name:"description",content:e("description")},{name:"keywords",content:e("keywords")}],link:[{rel:"canonical",href:"https://www.classicminidiy.com/chat"},{rel:"preconnect",href:"https://classicminidiy.s3.amazonaws.com"}]}),q({meta:[{property:"og:title",content:e("og_title")},{property:"og:description",content:e("og_description")},{property:"og:image",content:"https://classicminidiy.s3.amazonaws.com/social-share/chat.png"},{property:"og:url",content:"https://www.classicminidiy.com/chat"},{property:"og:type",content:"website"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:e("twitter_title")},{name:"twitter:description",content:e("twitter_description")},{name:"twitter:image",content:"https://classicminidiy.s3.amazonaws.com/social-share/chat.png"}]});const i={"@context":"https://schema.org","@type":"WebApplication",name:"CMDIY Assistant",applicationCategory:"UtilityApplication",operatingSystem:"Web Browser",description:e("description"),url:"https://www.classicminidiy.com/chat",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"},provider:{"@type":"Organization",name:"Classic Mini DIY",url:"https://www.classicminidiy.com"}};return q({script:[{type:"application/ld+json",innerHTML:JSON.stringify(i)}]}),(t,e)=>(x(),o("div",We,[s(Ke)]))}});function Xe(t){const e=t;e.__i18n=e.__i18n||[],e.__i18n.push({locale:"",resource:{en:{title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistant - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Chat with our AI assistant for Classic Mini technical help, chassis decoding, parts information, and restoration guidance."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"classic mini AI assistant, mini cooper help, chassis decoder, classic mini chat, restoration guidance, parts information, technical support"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistant - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Get instant help with your Classic Mini projects from our AI assistant."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistant - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Get instant help with your Classic Mini projects from our AI assistant."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistant"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Your Classic Mini DIY assistant - ask technical questions, find parts information, and get guidance on restoration projects. Or just chat with me about your Classic Mini!"}}},es:{title:{t:0,b:{t:2,i:[{t:3}],s:"Asistente CMDIY - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Chatea con nuestro asistente de IA para ayuda técnica con Classic Mini, decodificación de chasis, información de piezas y guía de restauración."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"asistente IA classic mini, ayuda mini cooper, decodificador chasis, chat classic mini, guía restauración, información piezas"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"Asistente CMDIY - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Obtén ayuda instantánea con tus proyectos de Classic Mini de nuestro asistente de IA."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"Asistente CMDIY - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Obtén ayuda instantánea con tus proyectos de Classic Mini de nuestro asistente de IA."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"Asistente CMDIY"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Tu asistente Classic Mini DIY - haz preguntas técnicas, encuentra información de piezas y obtén guía en proyectos de restauración. ¡O simplemente chatea conmigo sobre tu Classic Mini!"}}},fr:{title:{t:0,b:{t:2,i:[{t:3}],s:"Assistant CMDIY - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Discutez avec notre assistant IA pour l'aide technique Classic Mini, le décodage de châssis, les informations sur les pièces et les conseils de restauration."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"assistant IA classic mini, aide mini cooper, décodeur châssis, chat classic mini, guide restauration, informations pièces"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"Assistant CMDIY - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Obtenez une aide instantanée pour vos projets Classic Mini grâce à notre assistant IA."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"Assistant CMDIY - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Obtenez une aide instantanée pour vos projets Classic Mini grâce à notre assistant IA."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"Assistant CMDIY"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Votre assistant Classic Mini DIY - posez des questions techniques, trouvez des informations sur les pièces et obtenez des conseils sur les projets de restauration. Ou discutez simplement avec moi de votre Classic Mini !"}}},it:{title:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Chatta con il nostro assistente AI per aiuto tecnico Classic Mini, decodifica telaio, informazioni sui pezzi e guida al restauro."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"assistente AI classic mini, aiuto mini cooper, decodificatore telaio, chat classic mini, guida restauro, informazioni pezzi"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Ottieni aiuto istantaneo per i tuoi progetti Classic Mini dal nostro assistente AI."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Ottieni aiuto istantaneo per i tuoi progetti Classic Mini dal nostro assistente AI."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Il tuo assistente Classic Mini DIY - fai domande tecniche, trova informazioni sui pezzi e ottieni guida sui progetti di restauro. O semplicemente chiacchiera con me della tua Classic Mini!"}}},de:{title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistent - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Chatten Sie mit unserem KI-Assistenten für Classic Mini technische Hilfe, Fahrgestell-
1Dekodierung, Teileinformationen und Restaurierungsberatung."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"KI-Assistent classic mini, mini cooper hilfe, fahrgestell decoder, classic mini chat, restaurierungsberatung, teileinformationen"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistent - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Erhalten Sie sofortige Hilfe für Ihre Classic Mini Projekte von unserem KI-Assistenten."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistent - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Erhalten Sie sofortige Hilfe für Ihre Classic Mini Projekte von unserem KI-Assistenten."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY Assistent"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Ihr Classic Mini DIY Assistent - stellen Sie technische Fragen, finden Sie Teileinformationen und erhalten Sie Beratung zu Restaurierungsprojekten. Oder chatten Sie einfach mit mir über Ihren Classic Mini!"}}},pt:{title:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Converse com nosso assistente de IA para ajuda técnica Classic Mini, decodificação de chassi, informações de peças e orientação de restauração."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"assistente IA classic mini, ajuda mini cooper, decodificador chassi, chat classic mini, orientação restauração, informações peças"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Obtenha ajuda instantânea com seus projetos Classic Mini do nosso assistente de IA."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Obtenha ajuda instantânea com seus projetos Classic Mini do nosso assistente de IA."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"Assistente CMDIY"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Seu assistente Classic Mini DIY - faça perguntas técnicas, encontre informações de peças e obtenha orientação em projetos de restauração. Ou apenas converse comigo sobre seu Classic Mini!"}}},ru:{title:{t:0,b:{t:2,i:[{t:3}],s:"Помощник CMDIY - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Общайтесь с нашим ИИ-помощником для технической помощи Classic Mini, декодирования шасси, информации о деталях и руководства по реставрации."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"ИИ помощник classic mini, помощь mini cooper, декодер шасси, чат classic mini, руководство реставрации, информация о деталях"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"Помощник CMDIY - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"Получите мгновенную помощь с вашими проектами Classic Mini от нашего ИИ-помощника."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"Помощник CMDIY - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"Получите мгновенную помощь с вашими проектами Classic Mini от нашего ИИ-помощника."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"Помощник CMDIY"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"Ваш помощник Classic Mini DIY - задавайте технические вопросы, находите информацию о деталях и получайте руководство по проектам реставрации. Или просто поговорите со мной о вашем Classic Mini!"}}},ja:{title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIYアシスタント - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Classic Miniの技術的ヘルプ、シャーシデコード、パーツ情報、レストレーションガイダンスについて、AIアシスタントとチャットしてください。"}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"AIアシスタント クラシックミニ, ミニクーパーヘルプ, シャーシãƒ
1‡ã‚³ãƒ¼ãƒ€ãƒ¼, クラシックミニチャット, レストレーションガイド, パーツ情報"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIYアシスタント - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"AIアシスタントからClassic Miniプロジェクトの即座のヘルプを得てください。"}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIYアシスタント - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"AIアシスタントからClassic Miniプロジェクトの即座のヘルプを得てください。"}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"CMDIYアシスタント"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"あなたのClassic Mini DIYアシスタント - 技術的な質問をし、パーツ情報を見つけ、レストレーションプロジェクトのガイダンスを得てください。または、あなたのClassic Miniについて私とチャットしてください!"}}},zh:{title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY助手 - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"与我们的AI助手聊天,获取Classic Mini技术帮助、底盘解码、零件信息和修复指导。"}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"AI助手经典迷你, 迷你库珀帮助, 底盘解码器, 经典迷你聊天, 修复指导, 零件信息"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY助手 - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"从我们的AI助手那里获得Classic Mini项目的即时帮助。"}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY助手 - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"从我们的AI助手那里获得Classic Mini项目的即时帮助。"}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY助手"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"您的Classic Mini DIY助手 - 询问技术问题,查找零件信息,并获得修复项目的指导。或者只是和我聊聊您的Classic Mini!"}}},ko:{title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY 어시스턴트 - Classic Mini DIY"}},description:{t:0,b:{t:2,i:[{t:3}],s:"Classic Mini 기술 도움, 섀시 디코딩, 부품 정보 및 복원 가이드를 위해 AI 어시스턴트와 채팅하세요."}},keywords:{t:0,b:{t:2,i:[{t:3}],s:"AI 어시스턴트 클래식 미니, 미니 쿠퍼 도움, 섀시 디코더, 클래식 미니 채팅, 복원 가이드, 부품 정보"}},og_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY 어시스턴트 - Classic Mini DIY"}},og_description:{t:0,b:{t:2,i:[{t:3}],s:"AI 어시스턴트로부터 Classic Mini 프로젝트에 대한 즉각적인 도움을 받으세요."}},twitter_title:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY 어시스턴트 - Classic Mini DIY"}},twitter_description:{t:0,b:{t:2,i:[{t:3}],s:"AI 어시스턴트로부터 Classic Mini 프로젝트에 대한 즉각적인 도움을 받으세요."}},main_heading:{t:0,b:{t:2,i:[{t:3}],s:"CMDIY 어시스턴트"}},description_text:{t:0,b:{t:2,i:[{t:3}],s:"귀하의 Classic Mini DIY 어시스턴트 - 기술적 질문을 하고, 부품 정보를 찾고, 복원 프로젝트에 대한 가이드를 받으세요. 또는 귀하의 Classic Mini에 대해 저와 채팅하세요!"}}}}})}Xe(Qe);var $e=Qe;export{$e as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.