@marimo-team/frontend 0.22.5-dev19 → 0.22.5-dev21
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.
- package/dist/assets/{CellStatus-BMEZcX6D.js → CellStatus-CP1jrQ3A.js} +1 -1
- package/dist/assets/{JsonOutput-BftIujCE.js → JsonOutput-Bk2by9qo.js} +10 -10
- package/dist/assets/{MarimoErrorOutput-DwB04lez.js → MarimoErrorOutput-Cyd8ikG3.js} +2 -2
- package/dist/assets/{RenderHTML-B1H96oeH.js → RenderHTML-BOW_1WUn.js} +1 -1
- package/dist/assets/{add-cell-with-ai-UrREhHNG.js → add-cell-with-ai-DUq7Y523.js} +8 -8
- package/dist/assets/{add-connection-dialog-RNl1YtDd.js → add-connection-dialog-20N0EHLl.js} +1 -1
- package/dist/assets/{agent-panel-5eW2Jdd_.js → agent-panel-DEza5aFa.js} +3 -3
- package/dist/assets/{ai-model-dropdown-DV6uEsTK.js → ai-model-dropdown-B-sbS07W.js} +3 -3
- package/dist/assets/{app-config-button-CNUlg9JF.js → app-config-button-CJFpYJ_2.js} +1 -1
- package/dist/assets/{cell-editor-BIK0Td2y.js → cell-editor-DLL6kX__.js} +10 -10
- package/dist/assets/{cell-link-BITFYvIs.js → cell-link-Dtonmtv_.js} +1 -1
- package/dist/assets/{cells-CFrQXbte.js → cells-BVG4a-Qn.js} +42 -42
- package/dist/assets/{chat-display-CBjI6eJ2.js → chat-display-DsIGz-Wy.js} +1 -1
- package/dist/assets/{chat-panel-B3wa_j2C.js → chat-panel-aXOgktdv.js} +1 -1
- package/dist/assets/{chat-ui-C7jOY4Gu.js → chat-ui-C--RApyx.js} +1 -1
- package/dist/assets/{column-preview-B9QUzNmm.js → column-preview-CB_HZPdz.js} +1 -1
- package/dist/assets/{command-palette-Dk4tecmR.js → command-palette-DLKNdcX_.js} +1 -1
- package/dist/assets/{common-_4Eq0fX8.js → common-CLVI2BhO.js} +1 -1
- package/dist/assets/{components-LekUV9ZS.js → components-CGwwQ0Y4.js} +1 -1
- package/dist/assets/{components-aYZA45OU.js → components-DiALLQRt.js} +1 -1
- package/dist/assets/{datasource-CyBbXtZn.js → datasource-BzTPyEw3.js} +1 -1
- package/dist/assets/{dependency-graph-panel-DGbAC2wK.js → dependency-graph-panel-Pxmnzmd4.js} +1 -1
- package/dist/assets/{documentation-panel-DsGADifT.js → documentation-panel-bgaPBvan.js} +1 -1
- package/dist/assets/{download-DTkyjpOn.js → download-QIfZjflb.js} +3 -3
- package/dist/assets/{edit-page-BMToXasi.js → edit-page-DB_go-vo.js} +7 -7
- package/dist/assets/{error-panel-Dr3Gx8dn.js → error-panel-DfHzC7q-.js} +1 -1
- package/dist/assets/{file-explorer-panel-BlD1M8JT.js → file-explorer-panel-CEd-m832.js} +1 -1
- package/dist/assets/{file-icons-o7IkTNGe.js → file-icons-ma7AC7Pi.js} +1 -1
- package/dist/assets/{floating-outline-C909H_YX.js → floating-outline-BluCz3vD.js} +1 -1
- package/dist/assets/{focus-dWZzpWQY.js → focus-BHXzPxK_.js} +1 -1
- package/dist/assets/{form-DpsQrY6E.js → form-C0W8wa3f.js} +1 -1
- package/dist/assets/{home-page-DmhU29Tb.js → home-page-nNrKA7jH.js} +2 -2
- package/dist/assets/{hooks-DkX8jVh3.js → hooks-C7qnb_ft.js} +1 -1
- package/dist/assets/{html-to-image-D7HTzVpq.js → html-to-image-B3VySJ1_.js} +1 -1
- package/dist/assets/{index-CkHHkVRJ.js → index-CLnKZIHZ.js} +8 -8
- package/dist/assets/{kiosk-mode-DhOLDPtI.js → kiosk-mode-BSY8y4kL.js} +1 -1
- package/dist/assets/{layout-cuzIQLaL.js → layout-V4eTNc4M.js} +3 -3
- package/dist/assets/{logs-panel-BDI22Bg1.js → logs-panel-B1AysC8S.js} +1 -1
- package/dist/assets/{markdown-renderer-BZbDk9sR.js → markdown-renderer-BiKTlki_.js} +1 -1
- package/dist/assets/{name-cell-input-B7FUJFyu.js → name-cell-input-BA5B0KJl.js} +1 -1
- package/dist/assets/{outline-panel-3lmrl2Fg.js → outline-panel-BfGPA_Sj.js} +1 -1
- package/dist/assets/{packages-panel-DdltAsdg.js → packages-panel-BgoT3rrV.js} +1 -1
- package/dist/assets/{panels-DPzM5So3.js → panels-BeW4RaML.js} +1 -1
- package/dist/assets/{process-output-CcHC5NZ0.js → process-output-MnxG8jwi.js} +1 -1
- package/dist/assets/{readonly-python-code-DWMBT9zQ.js → readonly-python-code-DuH_nOq_.js} +1 -1
- package/dist/assets/{run-page-Dzl9kS_J.js → run-page-kI3bwb2R.js} +1 -1
- package/dist/assets/{scratchpad-panel-CjnaWoGp.js → scratchpad-panel-617FvSKA.js} +1 -1
- package/dist/assets/{session-panel-Dw-GWx5V.js → session-panel-D6Sf5vhq.js} +1 -1
- package/dist/assets/{snippets-panel-DRwUTDoY.js → snippets-panel-DfWq0wh2.js} +1 -1
- package/dist/assets/{state-CzWkjLHG.js → state-Blw6taKi.js} +1 -1
- package/dist/assets/{state-DApwajb4.js → state-urfwd716.js} +2 -2
- package/dist/assets/{textarea-DIGEgQ8s.js → textarea-B5p9_myy.js} +1 -1
- package/dist/assets/{tracing-CMSXCvhu.js → tracing-CazNvlp4.js} +1 -1
- package/dist/assets/{tracing-panel-DiP-2OTH.js → tracing-panel-Bj0Bx8ZJ.js} +2 -2
- package/dist/assets/{useAddCell-XF-o2X0j.js → useAddCell-g3zSMJKs.js} +1 -1
- package/dist/assets/{useCellActionButton-DYYmbrbT.js → useCellActionButton-DdsVswP2.js} +1 -1
- package/dist/assets/{useDeleteCell-CNghagGT.js → useDeleteCell-CIdiI4Pk.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BSKsctbO.js → useDependencyPanelTab-DhXqfAqL.js} +1 -1
- package/dist/assets/{useNotebookActions-D-hCErEn.js → useNotebookActions-ULfiGMMl.js} +1 -1
- package/dist/assets/{useRunCells-BDQ0C7Ll.js → useRunCells-q5CA-QoL.js} +1 -1
- package/dist/assets/{useSplitCell-Ltfa9I0L.js → useSplitCell-B0jDwUEM.js} +1 -1
- package/dist/index.html +22 -22
- package/package.json +1 -1
- package/src/core/saving/file-state.ts +16 -0
- package/src/mount.tsx +17 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as a}from"./chunk-LvLJmgfZ.js";import{u as p}from"./useEvent-D91BmmQi.js";import{t as s}from"./react-Bj1aDYRI.js";import{$n as l,bn as n}from"./cells-
|
|
1
|
+
import{s as a}from"./chunk-LvLJmgfZ.js";import{u as p}from"./useEvent-D91BmmQi.js";import{t as s}from"./react-Bj1aDYRI.js";import{$n as l,bn as n}from"./cells-BVG4a-Qn.js";import"./react-dom-CSu739Rf.js";import{t as c}from"./compiler-runtime-B3qBwwSJ.js";import{t as f}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-k58KVlT-.js";import"./dist-VwkX7yeV.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import"./dist-BvlMLwcr.js";import"./dist-4lB-oR9j.js";import"./dist-CxquLoAZ.js";import"./dist-Dnlw22ji.js";import"./dist-CgYlATe-.js";import"./session-DdnWW30b.js";import"./purify.es-BFDc-_i_.js";import{t as u}from"./RenderHTML-BOW_1WUn.js";import{t as d}from"./empty-state-BbLVXQU7.js";var x=c();s();var e=a(f(),1),v=()=>{let o=(0,x.c)(5),{documentation:r}=p(n);if(!r){let i;return o[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,e.jsx)(d,{title:"View docs as you type",description:"Move your text cursor over a symbol to see its documentation.",icon:(0,e.jsx)(l,{})}),o[0]=i):i=o[0],i}let t;o[1]===r?t=o[2]:(t=u({html:r}),o[1]=r,o[2]=t);let m;return o[3]===t?m=o[4]:(m=(0,e.jsx)("div",{className:"p-3 overflow-y-auto overflow-x-hidden h-full docs-documentation flex flex-col gap-4",children:t}),o[3]=t,o[4]=m),m};export{v as default};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var se=Object.defineProperty;var ue=(r,e,t)=>e in r?se(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var D=(r,e,t)=>ue(r,typeof e!="symbol"?e+"":e,t);import{s as
|
|
1
|
+
var se=Object.defineProperty;var ue=(r,e,t)=>e in r?se(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var D=(r,e,t)=>ue(r,typeof e!="symbol"?e+"":e,t);import{s as B,t as C}from"./chunk-LvLJmgfZ.js";import{t as _}from"./react-Bj1aDYRI.js";import{wi as ce}from"./cells-BVG4a-Qn.js";import{t as q}from"./compiler-runtime-B3qBwwSJ.js";import{_ as O}from"./useEventListener-DGjKht0c.js";import{t as H}from"./cn-DYvqRARy.js";import{t as de}from"./jsx-runtime-Blw4afVn.js";import{C as W,S as fe}from"./fullscreen-k58KVlT-.js";import{d as me}from"./popover-AtoFZ7i4.js";import{t as pe}from"./requests-9-v2bhoi.js";import{t as ve}from"./createLucideIcon-w-Qo9n0R.js";import{t as L}from"./use-toast-BDYuj3zG.js";import{n as ge}from"./paths-BzSgteR-.js";import{r as k}from"./errors-CZb6hI2x.js";import{t as z}from"./html-to-image-B3VySJ1_.js";var P=B(_(),1),v=B(de(),1),I="Progress",U=100,[he,it]=fe(I),[we,ye]=he(I),Y=P.forwardRef((r,e)=>{let{__scopeProgress:t,value:a=null,max:n,getValueLabel:i=xe,...l}=r;(n||n===0)&&!Q(n)&&console.error(be(`${n}`,"Progress"));let o=Q(n)?n:U;a!==null&&!Z(a,o)&&console.error(Pe(`${a}`,"Progress"));let s=Z(a,o)?a:null,u=R(s)?i(s,o):void 0;return(0,v.jsx)(we,{scope:t,value:s,max:o,children:(0,v.jsx)(W.div,{"aria-valuemax":o,"aria-valuemin":0,"aria-valuenow":R(s)?s:void 0,"aria-valuetext":u,role:"progressbar","data-state":K(s,o),"data-value":s??void 0,"data-max":o,...l,ref:e})})});Y.displayName=I;var X="ProgressIndicator",J=P.forwardRef((r,e)=>{let{__scopeProgress:t,...a}=r,n=ye(X,t);return(0,v.jsx)(W.div,{"data-state":K(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...a,ref:e})});J.displayName=X;function xe(r,e){return`${Math.round(r/e*100)}%`}function K(r,e){return r==null?"indeterminate":r===e?"complete":"loading"}function R(r){return typeof r=="number"}function Q(r){return R(r)&&!isNaN(r)&&r>0}function Z(r,e){return R(r)&&!isNaN(r)&&r<=e&&r>=0}function be(r,e){return`Invalid prop \`max\` of value \`${r}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${U}\`.`}function Pe(r,e){return`Invalid prop \`value\` of value \`${r}\` supplied to \`${e}\`. The \`value\` prop must be:
|
|
2
2
|
- a positive number
|
|
3
3
|
- less than the value passed to \`max\` (or ${U} if no \`max\` prop is set)
|
|
4
4
|
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
5
|
|
|
6
|
-
Defaulting to \`null\`.`}var ee=Y,Se=J,je=ve("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),te=r=>{let e,t=new Set,a=(o,s)=>{let u=typeof o=="function"?o(e):o;if(!Object.is(u,e)){let c=e;e=s??(typeof u!="object"||!u)?u:Object.assign({},e,u),t.forEach(d=>d(e,c))}},n=()=>e,i={setState:a,getState:n,getInitialState:()=>l,subscribe:o=>(t.add(o),()=>t.delete(o)),destroy:()=>{t.clear()}},l=e=r(a,n,i);return i},Ne=r=>r?te(r):te,Le=
|
|
6
|
+
Defaulting to \`null\`.`}var ee=Y,Se=J,je=ve("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),te=r=>{let e,t=new Set,a=(o,s)=>{let u=typeof o=="function"?o(e):o;if(!Object.is(u,e)){let c=e;e=s??(typeof u!="object"||!u)?u:Object.assign({},e,u),t.forEach(d=>d(e,c))}},n=()=>e,i={setState:a,getState:n,getInitialState:()=>l,subscribe:o=>(t.add(o),()=>t.delete(o)),destroy:()=>{t.clear()}},l=e=r(a,n,i);return i},Ne=r=>r?te(r):te,Le=C((r=>{var e=_(),t=me();function a(c,d){return c===d&&(c!==0||1/c==1/d)||c!==c&&d!==d}var n=typeof Object.is=="function"?Object.is:a,i=t.useSyncExternalStore,l=e.useRef,o=e.useEffect,s=e.useMemo,u=e.useDebugValue;r.useSyncExternalStoreWithSelector=function(c,d,f,x,b){var g=l(null);if(g.current===null){var h={hasValue:!1,value:null};g.current=h}else h=g.current;g=s(function(){function A(p){if(!G){if(G=!0,j=p,p=x(p),b!==void 0&&h.hasValue){var w=h.value;if(b(w,p))return N=w}return N=p}if(w=N,n(j,p))return w;var V=x(p);return b!==void 0&&b(w,V)?(j=p,w):(j=p,N=V)}var G=!1,j,N,M=f===void 0?null:f;return[function(){return A(d())},M===null?void 0:function(){return A(M())}]},[d,f,x,b]);var S=i(c,g[0],g[1]);return o(function(){h.hasValue=!0,h.value=S},[S]),u(S),S}})),Re=C(((r,e)=>{e.exports=Le()}));const m={toMarkdown:r=>m.replace(r,"md"),toHTML:r=>m.replace(r,"html"),toPNG:r=>m.replace(r,"png"),toPDF:r=>m.replace(r,"pdf"),toPY:r=>m.replace(r,"py"),toIPYNB:r=>m.replace(r,"ipynb"),withoutExtension:r=>{let e=r.split(".");return e.length===1?r:e.slice(0,-1).join(".")},replace:(r,e)=>r.endsWith(`.${e}`)?r:`${m.withoutExtension(r)}.${e}`};var re={png:"png",jpg:"jpg",jpeg:"jpeg",gif:"gif",webp:"webp",avif:"avif",bmp:"bmp",tiff:"tiff",svg:"svg","svg+xml":"svg"};function Ee(r){var t;let e=r.match(/^data:image\/([^,;]+)/);if(e)return re[e[1]];try{return re[((t=new URL(r,window.location.href).pathname.split(".").pop())==null?void 0:t.toLowerCase())??""]}catch{return}}var y=320,E=180;function ne(r){if(!r||r==="about:blank")return null;try{let e=new URL(r,window.location.href);return e.origin===window.location.origin?null:e.href}catch{return r}}function $e(r,e,t){let a=[],n="";for(let i of e){let l=n+i;r.measureText(l).width<=t?n=l:(n&&a.push(n),n=i)}return n&&a.push(n),a}function F(r){let e=window.devicePixelRatio||1,t=document.createElement("canvas");t.width=y*e,t.height=E*e;let a=t.getContext("2d");if(!a)return t.toDataURL("image/png");a.scale(e,e),a.fillStyle="#f3f4f6",a.fillRect(0,0,y,E),a.strokeStyle="#d1d5db",a.strokeRect(.5,.5,y-1,E-1),a.fillStyle="#6b7280",a.font="8px sans-serif",a.textAlign="center",a.textBaseline="middle";let n=y-32,i=r?$e(a,r,n):[],l=(E-(1+i.length)*14)/2+14/2;a.fillText("External iframe",y/2,l),l+=14;for(let o of i)a.fillText(o,y/2,l),l+=14;return t.toDataURL("image/png")}async function De(r){var n;let e=r.querySelector("iframe");if(!e)return null;let t=ne(e.getAttribute("src"));if(t)return F(t);let a;try{let i=e.contentDocument||((n=e.contentWindow)==null?void 0:n.document);if(!(i!=null&&i.body))return null;a=i}catch{return F(null)}for(let i of a.querySelectorAll("iframe")){let l=ne(i.getAttribute("src"));if(l)return F(l)}return null}var ae=class le{constructor(e){D(this,"progress",0);D(this,"listeners",new Set);this.total=e}static indeterminate(){return new le("indeterminate")}addTotal(e){this.total==="indeterminate"?this.total=e:this.total+=e,this.notifyListeners()}increment(e){this.progress+=e,this.notifyListeners()}getProgress(){return this.total==="indeterminate"?"indeterminate":this.progress/this.total*100}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notifyListeners(){let e=this.getProgress();for(let t of this.listeners)t(e)}},Oe=q(),T=P.forwardRef((r,e)=>{let t=(0,Oe.c)(20),a,n,i,l;t[0]===r?(a=t[1],n=t[2],i=t[3],l=t[4]):({className:a,value:l,indeterminate:n,...i}=r,t[0]=r,t[1]=a,t[2]=n,t[3]=i,t[4]=l);let o;t[5]===a?o=t[6]:(o=H("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",a),t[5]=a,t[6]=o);let s=n?"w-1/3 animate-progress-indeterminate":"w-full transition-transform duration-300 ease-out",u;t[7]===s?u=t[8]:(u=H("h-full flex-1 bg-primary",s),t[7]=s,t[8]=u);let c;t[9]!==n||t[10]!==l?(c=n?void 0:{transform:`translateX(-${100-(l||0)}%)`},t[9]=n,t[10]=l,t[11]=c):c=t[11];let d;t[12]!==u||t[13]!==c?(d=(0,v.jsx)(Se,{className:u,style:c}),t[12]=u,t[13]=c,t[14]=d):d=t[14];let f;return t[15]!==i||t[16]!==e||t[17]!==o||t[18]!==d?(f=(0,v.jsx)(ee,{ref:e,className:o,...i,children:d}),t[15]=i,t[16]=e,t[17]=o,t[18]=d,t[19]=f):f=t[19],f});T.displayName=ee.displayName;var ke=q();const Ie=r=>{let e=(0,ke.c)(13),{progress:t,showPercentage:a}=r,n=a===void 0?!1:a,i,l;e[0]===t?(i=e[1],l=e[2]):(i=x=>t.subscribe(x),l=()=>t.getProgress(),e[0]=t,e[1]=i,e[2]=l);let o=(0,P.useSyncExternalStore)(i,l),s=o==="indeterminate"||o===100,u=s?void 0:o,c;e[3]!==s||e[4]!==u?(c=(0,v.jsx)(T,{value:u,indeterminate:s}),e[3]=s,e[4]=u,e[5]=c):c=e[5];let d;e[6]!==s||e[7]!==n||e[8]!==o?(d=!s&&n&&(0,v.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground text-right",children:[Math.round(o),"%"]}),e[6]=s,e[7]=n,e[8]=o,e[9]=d):d=e[9];let f;return e[10]!==c||e[11]!==d?(f=(0,v.jsxs)("div",{className:"mt-2 w-full min-w-[200px]",children:[c,d]}),e[10]=c,e[11]=d,e[12]=f):f=e[12],f};var Ue=1200;async function Fe(r,e,t){let a=ae.indeterminate(),n=L({title:r,description:P.createElement(Ie,{progress:a}),duration:1/0});try{let i=await e(a);return t?n.update({duration:Ue,description:void 0,...t}):n.dismiss(),i}catch(i){throw n.dismiss(),i}}function Te(r){let e=document.getElementById(ce.create(r));if(!e){O.error(`Output element not found for cell ${r}`);return}return e}var Ae=500,Ge=`
|
|
7
7
|
* { scrollbar-width: none; -ms-overflow-style: none; }
|
|
8
8
|
*::-webkit-scrollbar { display: none; }
|
|
9
|
-
`;async function ie(r){let e=Te(r);if(!e)return;let t=await De(e);if(t)return t;let a=Date.now(),n=await z(e,{extraStyleContent:Ge,style:{maxHeight:"none",overflow:"visible"},height:e.scrollHeight}),i=Date.now()-a;return i>Ae&&O.debug("toPng operation for element",e,`took ${i} ms (exceeds threshold)`),n}async function
|
|
9
|
+
`;async function ie(r){let e=Te(r);if(!e)return;let t=await De(e);if(t)return t;let a=Date.now(),n=await z(e,{extraStyleContent:Ge,style:{maxHeight:"none",overflow:"visible"},height:e.scrollHeight}),i=Date.now()-a;return i>Ae&&O.debug("toPng operation for element",e,`took ${i} ms (exceeds threshold)`),n}async function Me(r,e){try{let t=await ie(r);if(!t)throw Error("Failed to get image data URL");$(t,m.toPNG(e))}catch(t){L({title:"Failed to download PNG",description:k(t),variant:"danger"})}}const Ve=()=>(document.body.classList.add("printing"),()=>{document.body.classList.remove("printing")});async function Be(r){let{element:e,filename:t,prepare:a}=r,n=document.getElementById("App"),i=(n==null?void 0:n.scrollTop)??0,l;a&&(l=a(e));try{$(await z(e),m.toPNG(t))}catch(o){O.error("Error downloading as PNG",o),L({title:"Failed to download as PNG",description:k(o),variant:"danger"})}finally{l==null||l(),document.body.classList.contains("printing")&&document.body.classList.remove("printing"),requestAnimationFrame(()=>{n==null||n.scrollTo(0,i)})}}function $(r,e){let t=document.createElement("a");t.href=r,t.download=e,t.click(),t.remove()}function oe(r,e){let t=URL.createObjectURL(r);$(t,e),URL.revokeObjectURL(t)}async function Ce(r){let e=pe(),{filename:t,webpdf:a,preset:n="document",includeInputs:i=!0,rasterizeOutputs:l=!0,rasterScale:o=4,rasterServer:s="static"}=r;try{let u=await e.exportAsPDF({webpdf:a,preset:n,includeInputs:i,rasterizeOutputs:l,rasterScale:o,rasterServer:s}),c=ge.basename(t);oe(u,m.toPDF(c))}catch(u){throw L({title:"Failed to download",description:k(u),variant:"danger"}),u}}export{Me as a,Fe as c,m as d,Ee as f,je as h,$ as i,T as l,Ne as m,Ce as n,Be as o,Re as p,oe as r,ie as s,Ve as t,ae as u};
|