Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frameworks/non-keyed/vode/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
</head>

<body>
<div id="app"></div>
<script type="module" src="main.mjs"></script>
</body>

Expand Down
2 changes: 1 addition & 1 deletion frameworks/non-keyed/vode/main.mjs
Original file line number Diff line number Diff line change
@@ -1 +1 @@
(()=>{function V(e,o,r,...a){if(!e)throw new Error("container must be a valid HTMLElement");if(!o||typeof o!="object")throw new Error("given state must be an object");if(typeof r!="function")throw new Error("dom must be a function that returns a vode");let t={};t.stats={lastRenderTime:0,renderCount:0,liveEffectCount:0,patchCount:0,renderPatchCount:0},Object.defineProperty(o,"patch",{enumerable:!1,configurable:!0,writable:!1,value:async c=>{if(!(!c||typeof c!="function"&&typeof c!="object"))if(t.stats.patchCount++,c?.next){let d=c;t.stats.liveEffectCount++;try{let i=await d.next();for(;i.done===!1;){t.stats.liveEffectCount++;try{t.patch(i.value),i=await d.next()}finally{t.stats.liveEffectCount--}}t.patch(i.value)}finally{t.stats.liveEffectCount--}}else if(c.then){t.stats.liveEffectCount++;try{let d=await c;t.patch(d)}finally{t.stats.liveEffectCount--}}else Array.isArray(c)?typeof c[0]=="function"?c.length>1?t.patch(c[0](t.state,...c.slice(1))):t.patch(c[0](t.state)):t.stats.patchCount--:typeof c=="function"?t.patch(c(t.state)):(t.stats.renderPatchCount++,t.q=m(t.q||{},c,!1),t.isRendering||t.render())}}),Object.defineProperty(t,"render",{enumerable:!1,configurable:!0,writable:!1,value:()=>requestAnimationFrame(()=>{if(t.isRendering||!t.q)return;t.isRendering=!0;let c=Date.now();try{t.state=m(t.state,t.q,!0),t.q=null,t.vode=C(t.state,t.patch,e,0,t.vode,r(t.state))}finally{t.isRendering=!1,t.stats.renderCount++,t.stats.lastRenderTime=Date.now()-c,t.q&&t.render()}})}),t.patch=o.patch,t.state=o,t.q=null;let n=e;n._vode=t;let s=r(o);t.vode=s,t.vode=C(o,t.patch,e,0,void 0,s);for(let c of a)t.patch(c);return t.patch}function G(e,o){return o.__memo=e,o}function y(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let o=w(e);return o>0?e.slice(o):null}function w(e){return y(e)?2:1}function m(e,o,r){if(!o)return e;for(let a in o){let t=o[a];if(t&&typeof t=="object"){let n=e[a];n?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&n!==t?e[a]=new Date(t):Array.isArray(n)?e[a]=m({},t,r):typeof n=="object"?m(e[a],t,r):e[a]=m({},t,r):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=m({},t,r)}else t===void 0&&r?delete e[a]:e[a]=t}return e}function C(e,o,r,a,t,n,s){n=R(e,n,t);let c=!n||typeof n=="number"||typeof n=="boolean";if(n===t||!t&&c)return t;let d=t?.nodeType===Node.TEXT_NODE,i=d?t:t?.node;if(c){i?.onUnmount&&o(i.onUnmount(i)),i?.remove();return}let A=!c&&J(n),b=!c&&W(n),N=!!n&&typeof n!="string"&&!!(n?.node||n?.nodeType===Node.TEXT_NODE);if(!A&&!b&&!N&&!t)throw new Error("Invalid vode: "+typeof n+" "+JSON.stringify(n));if(N&&A?n=n.wholeText:N&&b&&(n=[...n]),d&&A)return i.nodeValue!==n&&(i.nodeValue=n),t;if(A&&(!i||!d)){let l=document.createTextNode(n);return i?(i.onUnmount&&o(i.onUnmount(i)),i.replaceWith(l)):r.childNodes[a]?r.insertBefore(l,r.childNodes[a]):r.appendChild(l),l}if(b&&(!i||d||t[0]!==n[0])){s=s||n[0]==="svg";let l=s?document.createElementNS("http://www.w3.org/2000/svg",n[0]):document.createElement(n[0]);n.node=l;let E=n;1 in E&&(E[1]=R(e,E[1],void 0));let g=y(n);D(o,l,void 0,g,s),i?(i.onUnmount&&o(i.onUnmount(i)),i.replaceWith(l)):r.childNodes[a]?r.insertBefore(l,r.childNodes[a]):r.appendChild(l);let u=O(n);if(u)for(let T=0;T<u.length;T++){let p=u[T],x=C(e,o,l,T,void 0,p,s);n[g?T+2:T+1]=x}return l.onMount&&o(l.onMount(l)),n}if(!d&&b&&t[0]===n[0]){s=s||n[0]==="svg",n.node=i;let l=n,E=t,g=!1;if(l[1]?.__memo){let p=l[1];if(l[1]=R(e,l[1],E[1]),p!==l[1]){let x=y(n);D(o,i,y(t),x,s),g=!!x}}else{let p=y(n);D(o,i,y(t),p,s),g=!!p}let u=O(n),T=O(t);if(u){for(let p=0;p<u.length;p++){let x=u[p],Y=T&&T[p],F=C(e,o,i,p,Y,x,s);F&&(n[g?p+2:p+1]=F)}for(let p=u.length;T&&p<T.length;p++)T[p]?.node?T[p].node.remove():T[p]?.nodeType===Node.TEXT_NODE&&T[p].remove()}for(let p=u?.length||0;p<T?.length;p++)T[p]?.node?T[p].node.remove():T[p]?.nodeType===Node.TEXT_NODE&&T[p].remove();return n}}function W(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function J(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function R(e,o,r){if(typeof o!="function")return o;let a=o?.__memo,t=r?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let s=!0;for(let c=0;c<a.length;c++)if(a[c]!==t[c]){s=!1;break}if(s)return r}let n=H(o,e);return typeof n=="object"&&(n.__memo=o?.__memo),n}function H(e,o){return typeof e=="function"?H(e(o),o):e}function D(e,o,r,a,t){if(!(!a&&!r)){if(r)for(let n in r){let s=r[n],c=a?.[n];s!==c&&(a?a[n]=P(e,o,n,s,c,t):P(e,o,n,s,void 0,t))}if(a&&r){for(let n in a)if(!(n in r)){let s=a[n];a[n]=P(e,o,n,void 0,s,t)}}else if(a)for(let n in a){let s=a[n];a[n]=P(e,o,n,void 0,s,t)}}}function P(e,o,r,a,t,n){if(r==="style")if(!t)o.style.cssText="";else if(a)for(let s in{...a,...t})!a||t[s]!==a[s]?o.style[s]=t[s]:a[s]&&!t[s]&&(o.style[s]=void 0);else for(let s in t)o.style[s]=t[s];else if(r==="class")if(n)if(t){let s=L(t);o.classList.value=s}else o.classList.value="";else if(t){let s=L(t);o.className=s}else o.className="";else if(r[0]==="o"&&r[1]==="n")if(t){let s=null;if(typeof t=="function"){let c=t;s=d=>e([c,d])}else if(Array.isArray(t)){let c=t,d=t[0];c.length>1?s=()=>e([d,...c.slice(1)]):s=i=>e([d,i])}else typeof t=="object"&&(s=()=>e(t));o[r]=s}else o[r]=null;else t!=null&&t!==!1?o.setAttribute(r,t):o.removeAttribute(r);return t}function L(e){return typeof e=="string"?e:Array.isArray(e)?e.map(L).join(" "):typeof e=="object"?Object.keys(e).filter(o=>e[o]).join(" "):""}var v="a";var S="button";var f="div";var U="h1";var I="span";var j="table",B="tbody",h="td";var _="tr";var z=1,K=["pretty","large","big","small","tall","short","long","handsome","plain","quaint","clean","elegant","easy","angry","crazy","helpful","mushy","odd","unsightly","adorable","important","inexpensive","cheap","expensive","fancy"],X=["red","yellow","blue","green","pink","brown","purple","brown","white","black","orange"],q=["table","chair","house","bbq","desk","car","pony","cookie","sandwich","burger","pizza","mouse","keyboard"];function k(e){return Math.round(Math.random()*1e3)%e}function M(e){let o=new Array(e);for(let r=0;r<e;r++)o[r]={id:`${z++}`,label:`${K[k(K.length)]} ${X[k(X.length)]} ${q[k(q.length)]}`};return o}var $={name:"js-framework-benchmark-vode",version:"1.0.1",description:"vode framework benchmark",main:"main.mjs","js-framework-benchmark":{frameworkVersionFromPackage:"@ryupold/vode",frameworkHomeURL:"https://github.com/ryupold/vode"},dependencies:{"@ryupold/vode":"1.0.2"},devDependencies:{esbuild:"0.25.9"},scripts:{"build-prod":"npm run bundle",bundle:"esbuild src/main.ts --bundle --outfile=main.mjs --minify"},keywords:["@ryupold/vode","vode"],license:"MIT"};var Z={data:[],selected:null};V(document.body,Z,e=>[f,{class:"container",id:"main"},[f,{class:"jumbotron"},[f,{class:"row"},[f,{class:"col-md-6"},[U,`[V,{},d,e] ${$.dependencies["@ryupold/vode"]} (non-keyed)`]],[f,{class:"col-md-6"},[f,{class:"row"},[f,{class:"col-sm-6 smallpad"},[S,{id:"run",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e3),selected:null})},"Create 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"runlots",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e4),selected:null})},"Create 10,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"add",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.concat(M(1e3))})},"Append 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"update",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.map((o,r)=>r%10===0?{id:o.id,label:o.label+" !!!"}:o)})},"Update every 10th row"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"clear",type:"button",class:"btn btn-primary btn-block",onclick:{data:[],selected:null}},"Clear"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"swaprows",type:"button",class:"btn btn-primary btn-block",onclick:()=>{if(e.data.length>998){let o=e.data[998];e.data[998]=e.data[1],e.data[1]=o}return{}}},"Swap Rows"]]]]]],[j,{class:"table table-hover table-striped test-data"},[B,...e.data.map(o=>G([o.id,o.label,e.selected===o.id],r=>[_,{class:{danger:r.selected===o.id}},[h,{class:"col-md-1"},o.id],[h,{class:"col-md-4"},[v,{onclick:{selected:o.id}},o.label]],[h,{class:"col-md-1"},[v,{onclick:()=>({data:r.data.filter(a=>a.id!==o.id),selected:r.selected===o.id?null:r.selected})},[I,{class:"glyphicon glyphicon-remove","aria-hidden":"true"}]]],[h,{class:"col-md-6"}]]))]],[I,{class:"preloadicon glyphicon glyphicon-remove","aria-hidden":"true"}]]);})();
(()=>{function F(e,s,a,...n){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the <html></html> document");if(!s||typeof s!="object")throw new Error("second argument to app() must be a state object");if(typeof a!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.stats={lastRenderTime:0,renderCount:0,liveEffectCount:0,patchCount:0,renderPatchCount:0},Object.defineProperty(s,"patch",{enumerable:!1,configurable:!0,writable:!1,value:async r=>{if(!(!r||typeof r!="function"&&typeof r!="object"))if(t.stats.patchCount++,r?.next){let i=r;t.stats.liveEffectCount++;try{let u=await i.next();for(;u.done===!1;){t.stats.liveEffectCount++;try{t.patch(u.value),u=await i.next()}finally{t.stats.liveEffectCount--}}t.patch(u.value)}finally{t.stats.liveEffectCount--}}else if(r.then){t.stats.liveEffectCount++;try{let i=await r;t.patch(i)}finally{t.stats.liveEffectCount--}}else Array.isArray(r)?typeof r[0]=="function"?r.length>1?t.patch(r[0](t.state,...r.slice(1))):t.patch(r[0](t.state)):t.stats.patchCount--:typeof r=="function"?t.patch(r(t.state)):(t.stats.renderPatchCount++,t.q=m(t.q||{},r,!1),t.isRendering||t.render())}}),Object.defineProperty(t,"render",{enumerable:!1,configurable:!0,writable:!1,value:()=>requestAnimationFrame(()=>{if(t.isRendering||!t.q)return;t.isRendering=!0;let r=Date.now();try{t.state=m(t.state,t.q,!0),t.q=null;let i=a(t.state);t.vode=C(t.state,t.patch,e.parentElement,0,t.vode,i),e.tagName.toUpperCase()!==i[0].toUpperCase()&&(e=t.vode.node,e._vode=t)}finally{t.isRendering=!1,t.stats.renderCount++,t.stats.lastRenderTime=Date.now()-r,t.q&&t.render()}})}),t.patch=s.patch,t.state=s,t.q=null;let o=e;o._vode=t,t.vode=C(s,t.patch,e.parentElement,Array.from(e.parentElement.children).indexOf(e),H(e,!0),a(s));for(let r of n)t.patch(r);return t.patch}function H(e,s){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?s?e:e.nodeValue:void 0;if(e.nodeType===Node.COMMENT_NODE)return;if(e.nodeType===Node.ELEMENT_NODE){let n=[e.tagName.toLowerCase()];if(s&&(n.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;n.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&H(o,s);r?n.push(r):o&&s&&t.push(o)}for(let o of t)o.remove()}return n}else return}function U(e,s){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof s!="function")throw new Error("second argument to memo() must be a function that returns a vode or props object");return s.__memo=e,s}function V(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return e}function x(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let s=J(e);return s>0?e.slice(s):null}function J(e){return x(e)?2:1}function m(e,s,a){if(!s)return e;for(let n in s){let t=s[n];if(t&&typeof t=="object"){let o=e[n];o?Array.isArray(t)?e[n]=[...t]:t instanceof Date&&o!==t?e[n]=new Date(t):Array.isArray(o)?e[n]=m({},t,a):typeof o=="object"?m(e[n],t,a):e[n]=m({},t,a):Array.isArray(t)?e[n]=[...t]:t instanceof Date?e[n]=new Date(t):e[n]=m({},t,a)}else t===void 0&&a?delete e[n]:e[n]=t}return e}function C(e,s,a,n,t,o,r){o=R(e,o,t);let i=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&i)return t;let u=t?.nodeType===Node.TEXT_NODE,p=u?t:t?.node;if(i){p?.onUnmount&&s(p.onUnmount(p)),p?.remove();return}let A=!i&&Q(o),b=!i&&z(o),N=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!A&&!b&&!N&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(N&&A?o=o.wholeText:N&&b&&(o=[...o]),u&&A)return p.nodeValue!==o&&(p.nodeValue=o),t;if(A&&(!p||!u)){let T=document.createTextNode(o);return p?(p.onUnmount&&s(p.onUnmount(p)),p.replaceWith(T)):a.childNodes[n]?a.insertBefore(T,a.childNodes[n]):a.appendChild(T),T}if(b&&(!p||u||t[0]!==o[0])){let T=o;1 in T&&(T[1]=R(e,T[1],void 0));let E=x(o);r=E?.xmlns||r;let d=r?document.createElementNS(r,o[0]):document.createElement(o[0]);o.node=d,v(s,d,void 0,E),p?(p.onUnmount&&s(p.onUnmount(p)),p.replaceWith(d)):a.childNodes[n]?a.insertBefore(d,a.childNodes[n]):a.appendChild(d);let g=O(o);if(g)for(let l=0;l<g.length;l++){let c=g[l],y=C(e,s,d,l,void 0,c,r);o[E?l+2:l+1]=y}return d.onMount&&s(d.onMount(d)),o}if(!u&&b&&t[0]===o[0]){o.node=p;let T=o,E=t,d=!1;if(T[1]?.__memo){let c=T[1];if(T[1]=R(e,T[1],E[1]),c!==T[1]){let y=x(o);v(s,p,x(t),y),d=!!y}}else{let c=x(o);v(s,p,x(t),c),d=!!c}let g=O(o),l=O(t);if(g){for(let c=0;c<g.length;c++){let y=g[c],W=l&&l[c],k=C(e,s,p,c,W,y,r);k&&(o[d?c+2:c+1]=k)}for(let c=g.length;l&&c<l.length;c++)l[c]?.node?l[c].node.remove():l[c]?.nodeType===Node.TEXT_NODE&&l[c].remove()}for(let c=g?.length||0;c<l?.length;c++)l[c]?.node?l[c].node.remove():l[c]?.nodeType===Node.TEXT_NODE&&l[c].remove();return o}}function z(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"}function Q(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function R(e,s,a){if(typeof s!="function")return s;let n=s?.__memo,t=a?.__memo;if(Array.isArray(n)&&Array.isArray(t)&&n.length===t.length){let r=!0;for(let i=0;i<n.length;i++)if(n[i]!==t[i]){r=!1;break}if(r)return a}let o=G(s,e);return typeof o=="object"&&(o.__memo=s?.__memo),o}function G(e,s){return typeof e=="function"?G(e(s),s):e}function v(e,s,a,n){if(!(!n&&!a)){if(a)for(let t in a){let o=a[t],r=n?.[t];o!==r&&(n?n[t]=P(e,s,t,o,r):P(e,s,t,o,void 0))}if(n&&a){for(let t in n)if(!(t in a)){let o=n[t];n[t]=P(e,s,t,void 0,o)}}else if(n)for(let t in n){let o=n[t];n[t]=P(e,s,t,void 0,o)}}}function P(e,s,a,n,t){if(a==="style")if(!t)s.style.cssText="";else if(typeof t=="string")n!==t&&(s.style.cssText=t);else if(n&&typeof n=="object")for(let o in{...n,...t})!n||t[o]!==n[o]?s.style[o]=t[o]:n[o]&&!t[o]&&(s.style[o]=void 0);else for(let o in t)s.style[o]=t[o];else if(a==="class")t?s.setAttribute("class",j(t)):s.removeAttribute("class");else if(a[0]==="o"&&a[1]==="n")if(t){let o=null;if(typeof t=="function"){let r=t;o=i=>e([r,i])}else if(Array.isArray(t)){let r=t,i=t[0];r.length>1?o=()=>e([i,...r.slice(1)]):o=u=>e([i,u])}else typeof t=="object"&&(o=()=>e(t));s[a]=o}else s[a]=null;else t!=null&&t!==!1?s.setAttribute(a,t):s.removeAttribute(a);return t}function j(e){return typeof e=="string"?e:Array.isArray(e)?e.map(j).join(" "):typeof e=="object"?Object.keys(e).filter(s=>e[s]).join(" "):""}var D="a";var S="button";var f="div";var B="h1";var L="span";var _="table",K="tbody",h="td";var X="tr";var Z=1,q=["pretty","large","big","small","tall","short","long","handsome","plain","quaint","clean","elegant","easy","angry","crazy","helpful","mushy","odd","unsightly","adorable","important","inexpensive","cheap","expensive","fancy"],w=["red","yellow","blue","green","pink","brown","purple","brown","white","black","orange"],$=["table","chair","house","bbq","desk","car","pony","cookie","sandwich","burger","pizza","mouse","keyboard"];function I(e){return Math.round(Math.random()*1e3)%e}function M(e){let s=new Array(e);for(let a=0;a<e;a++)s[a]={id:`${Z++}`,label:`${q[I(q.length)]} ${w[I(w.length)]} ${$[I($.length)]}`};return s}var Y={name:"js-framework-benchmark-vode",version:"1.2.0",description:"vode framework benchmark",main:"main.mjs","js-framework-benchmark":{frameworkVersionFromPackage:"@ryupold/vode",frameworkHomeURL:"https://github.com/ryupold/vode"},dependencies:{"@ryupold/vode":"1.2.0"},devDependencies:{esbuild:"0.25.10"},scripts:{"build-prod":"npm run bundle",bundle:"esbuild src/main.ts --bundle --outfile=main.mjs --minify"},keywords:["@ryupold/vode","vode"],license:"MIT"};var et=V({data:[],selected:null});F(document.getElementById("app"),et,e=>[f,{class:"container",id:"main"},[f,{class:"jumbotron"},[f,{class:"row"},[f,{class:"col-md-6"},[B,`[V,{},d,e] ${Y.dependencies["@ryupold/vode"]} (non-keyed)`]],[f,{class:"col-md-6"},[f,{class:"row"},[f,{class:"col-sm-6 smallpad"},[S,{id:"run",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e3),selected:null})},"Create 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"runlots",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e4),selected:null})},"Create 10,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"add",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.concat(M(1e3))})},"Append 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"update",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.map((s,a)=>a%10===0?{id:s.id,label:s.label+" !!!"}:s)})},"Update every 10th row"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"clear",type:"button",class:"btn btn-primary btn-block",onclick:{data:[],selected:null}},"Clear"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"swaprows",type:"button",class:"btn btn-primary btn-block",onclick:()=>{if(e.data.length>998){let s=e.data[998];e.data[998]=e.data[1],e.data[1]=s}return{}}},"Swap Rows"]]]]]],[_,{class:"table table-hover table-striped test-data"},[K,...e.data.map(s=>U([s.id,s.label,e.selected===s.id],a=>[X,{class:{danger:a.selected===s.id}},[h,{class:"col-md-1"},s.id],[h,{class:"col-md-4"},[D,{onclick:{selected:s.id}},s.label]],[h,{class:"col-md-1"},[D,{onclick:()=>({data:a.data.filter(n=>n.id!==s.id),selected:a.selected===s.id?null:a.selected})},[L,{class:"glyphicon glyphicon-remove","aria-hidden":"true"}]]],[h,{class:"col-md-6"}]]))]],[L,{class:"preloadicon glyphicon glyphicon-remove","aria-hidden":"true"}]]);})();
Loading