eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('9 1i=W.X(\'1i\');9 2B=W.X(\'4r\');9 1j=W.X(\'4s\');9 4t=W.X(\'4u\');9 2C=W.X(\'4v\');9 2D=W.X(\'4w\');9 R=W.X(\'4x\');9 3s=W.X(\'1c\');b E;b 26=F;b 27=0;b Y=\'\';b Z=G;b M=G;b 1k=G;b 1d=F;b 4y=\'\';b 28=F;b 29="";b 1l=F;9 3t=1e;9 3u="4z://4A.4B.4C/4D/4E/4F";9 3v=S;b u=F;b 11=[];b 1R=[];9 1f=o 2E();9 1g=o 2E();9 3w=10;9 3x=4G;b v=[];9 1S=o 2E();9 3y=4H;9 1T=h=>h.1m().4I().2F(/[^\\w\\s]/g,\'\');9 2G=(13,l,2a,3A)=>`${13}-${l}-${2H.2I(2a)}-${3A}`;9 3B=(h,l)=>{9 13=1T(h);9 e=2G(13,l,v,1j.H);a(1g.2b(e)||1f.2b(e))1h;1R.1n({h:h.1m(),l,e});2J()};9 2J=1o()=>{2K(1R.m>0&&1g.4J<3w){9{h,l,e}=1R.3C();9 1p=o 3D();1g.2L(e,1p);1U{9 t=p 2M(`/3E?h=${2N(h)}&2a=${2H.2I(v)}&3F=${1j.H}`,{2O:\'2P\',3G:{\'3H\':\'z/T-2c\',\'1V-3I\':\'3J/3K\'},1q:1p.1q});a(!t.1r)1W o 15(\'2Q t 2R 2d 1r\');9 2S=p 2T(t.3L,l,1p.1q);a(2S)1f.2L(e,{I:2S,2e:N.O()})}1X(f){a(f.3M!==\'2f\')J.f("15 4K U:",f)}2g{1g.2h(e);2J()}}};9 2T=1o(2i,l,2j)=>{9 1s=2i.3N();9 2k=o 3O("3P-8");b 17="";1U{2K(K){9{2l,H}=p 1s.3Q();a(2l)2U;a(2j.2m)1W o 3R(\'3S 2m\',\'2f\');9 2n=2k.3T(H,{2c:K});17+=2n;9 P=17.3U(\'\\n\');2o(b i=0;i{a(11.m>0){9 3Y=11.3C();9 U=o 4L(3Y.I);Q();9 3Z=o 40(1Z=>{U.4M=1Z;U.41=1Z});a(u){u.42();u.43=0}u=U;p U.4N();p 3Z;1t()}L{Q()}};9 1Y=1o(z,l)=>{9 44=1T(z);9 e=`${44}-${l}`;a(1S.2b(e)){9 1u=1S.45(e);a(N.O()-1u.2e<3y){1h 1u.I}L{1S.2h(e)}}1U{9 t=p 2M(`${3u}?l=${l}&z=${2N(z)}`,{2O:\'2P\'});a(!t.1r)1W o 15(\'2Q t 2R 2d 1r\');9 46=p t.4O();9 x=4P.4Q(46);1S.2L(e,{I:x,2e:N.O()});1h x}1X(f){J.f("15 4R 4S U:",f);1h F}};9 2W=1o(h)=>{J.20("4T h c 1v:",h);Z=K;Q();27=N.O();1l=F;9 13=1T(h);9 e=2G(13,1j.H,v,1j.H);a(1f.2b(e)){9 1u=1f.45(e);a(N.O()-1u.2e<3x){9 47=1u.I;11.1n({I:47,2q:K});1t()}L{1f.2h(e)}}1d=o 3D();9 I=`/3E?h=${2N(h)}&3F=${1j.H}&2a=${2H.2I(v)}`;1U{9 t=p 2M(I,{2O:\'2P\',3G:{\'3H\':\'z/T-2c\',\'1V-3I\':\'3J/3K\'},1q:1d.1q});a(!t.1r){a(t.48===4U){J.20("4V 4W 4X, 4Y 2p 1 4Z...");p o 40(1Z=>50(1Z,51));p 2W(h);1h}1W o 15(`2Q t 2R 2d 1r:${t.48}`)}J.20("52 U t 53");p 2X(t.3L,2B.H,1d.1q)}1X(f){a(f.3M!==\'2f\'){J.f("15 54 h c 1v:",f)}}2g{Z=G;Q()}};9 2X=1o(2i,l,2j)=>{9 1s=2i.3N();9 2k=o 3O("3P-8");b 17="";b 2Y=0;b 18="";b 21="";b 22="";b 2r="";1U{2K(K){9{2l,H}=p 1s.3Q();a(2l)2U;a(2j.2m)1W o 3R(\'3S 2m\',\'2f\');a(M){2s(\'49 55 56\');2U}9 2n=2k.3T(H,{2c:K});17+=2n;9 P=17.3U(\'\\n\');2o(b i=0;i=3v){9 x=p 1Y(1w,l);a(x){11.1n({I:x,2q:G});a(!u)1t()}22=""}}a(18!==\'\'){2t(\'2Z\',18);18=\'\'}}}}17=P[P.m-1]}}1X(f){J.f("15 2p 2X:",f)}2g{1s.3X();b 1w=22.2F(2r,\'\').1m();a(1w!==""){9 x=p 1Y(1w,l);a(x){11.1n({I:x,2q:G});a(!u)1t()}}a(18!==\'\'){2t(\'2Z\',18);18=\'\'}a(21!==\'\'){21=\'\'}}};9 Q=(4a=F)=>{2D.k=M?"4b: 4c":"4b: 4d";2D.25=M?"1x 1y-1z 1A-4 1B-2 z-1C 1D 1E-1F 1G-1H 1I-S A-B-c-r y-2u-1a c-2u-2v 1J:A-B-c-r y-2u-1e c-2u-1K":"1x 1y-1z 1A-4 1B-2 z-1C 1D 1E-1F 1G-1H 1I-S A-B-c-r y-C-S c-C-1a 2w:y-C-1K 2w:c-C-4e 1J:A-B-c-r y-C-1a c-C-1e";a(Z&&!u){R.k="1v: 57...";R.25="1x 1y-1z 1A-4 1B-2 z-1C 1D 1E-1F 1G-1H 1I-S A-B-c-r y-2x-1a c-2x-2v 1J:A-B-c-r y-2x-1e c-2x-1K"}L a(u&&!M){R.k=4a||"1v: 4c";R.25="1x 1y-1z 1A-4 1B-2 z-1C 1D 1E-1F 1G-1H 1I-S A-B-c-r y-2y-1a c-2y-2v 1J:A-B-c-r y-2y-1e c-2y-1K"}L a(M){R.k="1v: 2z";R.25="1x 1y-1z 1A-4 1B-2 z-1C 1D 1E-1F 1G-1H 1I-S A-B-c-r y-2A-1a c-2A-2v 1J:A-B-c-r y-2A-1e c-2A-1K"}L{R.k="1v: 4d";R.25="1x 1y-1z 1A-4 1B-2 z-1C 1D 1E-1F 1G-1H 1I-S A-B-c-r y-C-S c-C-1a 2w:y-C-1K 2w:c-C-4e 1J:A-B-c-r y-C-1a c-C-1e"}};a(\'4f\'2p 58){E=o 4f();59.5a(E,{5b:K,5c:K,5d:\'5e-5f\',5g:3});E.5h=()=>{J.20("30 4g 5i");Y=\'\';M=K;28=N.O();Q();1i.31=\' 4k 2z\'};E.5j=(T)=>{b 1b=\'\';2o(b i=T.5k;i29.m+5){4l(29)}29=1b;3B(1b,2B.H);a(Z&&4m(1b)){2s(\'5n\')}}}};E.41=(T)=>{J.f(\'30 4g f:\',T.f);a(1k)E.3o()};E.5o=()=>{M=G;Q();a(!Z&&Y!==\'\'){3n(Y);Y=\'\'}a(1k)E.3o()};1i.5p(\'5q\',()=>{a(1k){E.5r();1k=G;1i.31=\' 5u 2z\'}L{E.3o();1k=K;1i.31=\' 4k 2z\'}})}L{5v(\'5w 5x 5y 2d 5z 5A 5B 30 5C.\')}9 2t=(3p,1V)=>{a(v.m>0&&v[v.m-1].3p===\'2Z\'&&v[v.m-1].1V===""){v.5D()}v.1n({3p,1V});a(v.m>6)v.5E(0,2)};9 3n=(1c)=>{9 3q=1c.5F();a(3q!==\'\'&&!Z){26=3q;2W(26);2t(\'49\',26)}};9 4m=(1b)=>N.O()-28>3t||1b.m>5;9 2s=(3r=\'5G\')=>{J.20(`5H U(3r:${3r})...`);a(u){u.42();u.43=0;u=F}11.m=0;Z=G;a(1d){1d.4n();1d=F}1f.5I();1R.m=0;Q()};9 4l=(h)=>{9 13=1T(h);2o(9[e,1p]5J 1g){a(e.2V(13)){1p.4n();1g.2h(e)}}};9 4o=()=>{a(1l){9 4p=1l-27;2C.k=`4q:${4p}5K`}L{2C.k="4q: 5L"}};5M(4o,5N);',62,360,'|||||||||const|if|let|to||cacheKey|error||query||line|textContent|voice|length||new|await|path|||response|currentAudio|conversationHistory||audioUrl|from|text|bg|gradient|gray|stroke|speechRecognizer|null|false|value|url|console|true|else|isUserSpeaking|Date|now|lines|updateActivityIndicators|aiActivityIndicator|300|event|audio|svg|document|getElementById|completeTranscript|isRequestInProgress||audioPlaybackQueue||normalizedQuery||Error||buffer|fullResponseText||400|interimTranscript|transcript|requestAbortController|500|prefetchCache|pendingPrefetchRequests|return|startStopButton|modelSelectionDropdown|isSpeechRecognitionActive|firstResponseTextTimestamp|trim|push|async|abortController|signal|ok|reader|playNextAudio|cachedData|AI|unsentTextChunk|indicator|rounded|full|px|py|white|flex|items|center|transition|colors|duration|hover|700|width|round|x1|y1|x2|y2|prefetchQueue|audioCache|normalizeQueryText|try|content|throw|catch|generateTextToSpeechAudio|resolve|log|fullResponseText2|textChunk|||className|activeQuery|queryStartTime|lastUserSpeechTimestamp|prefetchTextQuery|history|has|stream|not|timestamp|AbortError|finally|delete|responseStream|abortSignal|decoder|done|aborted|chunk|for|in|isPrefetched|sentText|interruptAudioPlayback|addToConversationHistory|blue|600|dark|purple|green|Listening|yellow|voiceSelectionDropdown|responseTimeDisplay|userActivityIndicator|Map|replace|generateCacheKey|JSON|stringify|processPrefetchQueue|while|set|fetch|encodeURIComponent|method|GET|Network|was|firstAudioUrl|handleStreamingResponseForPrefetch|break|startsWith|sendQueryToAI|handleStreamingResponse|initialChunksSent|assistant|Speech|innerHTML|xmlns|http|www|w3|org|2000|height|viewBox|fill|none|currentColor|linecap|linejoin|M12|1a3|3v8a3|0V4a3|M19|10v2a7|0v|results|processSpeechTranscript|start|role|trimmedTranscript|reason|transcriptDiv|USER_SPEECH_INTERRUPT_DELAY|TEXT_TO_SPEECH_API_ENDPOINT|CHUNK_SIZE|MAX_PREFETCH_REQUESTS|prefetchCacheExpiration|audioCacheExpiration||modelName|prefetchFirstAudioChunk|shift|AbortController|stream_audio|model|headers|accept|type|application|json|body|name|getReader|TextDecoder|utf|read|DOMException|Request|decode|split|data|substring|releaseLock|audioData|audioPromise|Promise|onerror|pause|currentTime|normalizedText|get|audioBlob|prefetchedAudioUrl|status|user|state|User|Speaking|Idle|800|webkitSpeechRecognition|recognition|M9|9h6v6h|6z|Stop|cancelPrefetchRequests|shouldInterruptAudioPlayback|abort|updateLatency|latency|Latency|voiceSelect|modelSelect|noiseSuppressionCheckbox|noiseSuppression|responseTime|userIndicator|aiIndicator|partialTranscript|https|api|streamelements|com|kappa|v2|speech|60000|3600000|toLowerCase|size|prefetching|Audio|onended|play|blob|URL|createObjectURL|generating|TTS|Sending|429|Rate|limit|hit|retrying|second|setTimeout|1000|Streaming|received|sending|is|speaking|Processing|window|Object|assign|continuous|interimResults|language|en|US|maxAlternatives|onstart|started|onresult|resultIndex|isFinal|final|interim|onend|addEventListener|click|stop|id|microphoneIcon|Start|alert|Your|browser|does|support|the|Web|API|pop|splice|trimStart|unknown|Interrupting|clear|of|ms|0ms|setInterval|200'.split('|'),0,{}))