@vuu-ui/vuu-data-test 0.8.22 → 0.8.23
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/cjs/index.js +1 -1
- package/cjs/index.js.map +4 -4
- package/esm/index.js +1 -1
- package/esm/index.js.map +4 -4
- package/package.json +3 -3
- package/types/index.d.ts +2 -0
- package/types/schemas.d.ts +2 -1
- package/types/simul/simul-schemas.d.ts +0 -9
- package/types/test/test-module.d.ts +4 -0
- package/types/test/test-schemas.d.ts +3 -0
- package/types/vuu-modules.d.ts +1 -1
- package/types/vuu-row-generator.d.ts +7 -4
- package/types/generatorTemplate.d.ts +0 -5
package/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var yt=Object.create;var $=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var ht=Object.getOwnPropertyNames;var bt=Object.getPrototypeOf,Dt=Object.prototype.hasOwnProperty;var b=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),St=(r,t)=>{for(var e in t)$(r,e,{get:t[e],enumerable:!0})},Me=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ht(t))!Dt.call(r,o)&&o!==e&&$(r,o,{get:()=>t[o],enumerable:!(n=ft(t,o))||n.enumerable});return r};var Mt=(r,t,e)=>(e=r!=null?yt(bt(r)):{},Me(t||!r||!r.__esModule?$(e,"default",{value:r,enumerable:!0}):e,r)),vt=r=>Me($({},"__esModule",{value:!0}),r);var ve=(r,t,e)=>{if(!t.has(r))throw TypeError("Cannot "+e)};var u=(r,t,e)=>(ve(r,t,"read from private field"),e?e.call(r):t.get(r)),R=(r,t,e)=>{if(t.has(r))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(r):t.set(r,e)},E=(r,t,e,n)=>(ve(r,t,"write to private field"),n?n.call(r,e):t.set(r,e),e);var _e=b((_n,or)=>{or.exports=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]});var Fe=b(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.convertStringToBaseTenNumber=void 0;var ar=function(r){return parseInt(r,10)};ee.convertStringToBaseTenNumber=ar});var We=b(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.isOdd=void 0;var sr=function(r){return r%2===1};te.isOdd=sr});var Xe=b(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.generateCusipCheckCode=void 0;var ir=Fe(),ur=We(),cr=function(r){for(var t=r.length,e,n=0,o,a=0;a<t;a++){e=r[a];var s=(0,ir.convertStringToBaseTenNumber)(e),i=isNaN(s)?e.charCodeAt(0)-65+10:e;(0,ur.isOdd)(a)&&(i=i*2),n=n+Math.floor(i/10)+i%10}return o=(10-n%10)%10,o};re.generateCusipCheckCode=cr});var Ye=b(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.alphabet=void 0;ne.alphabet=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"]});var $e=b(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.baseTenNumbers=void 0;oe.baseTenNumbers=[0,1,2,3,4,5,6,7,8,9]});var Ze=b(N=>{"use strict";var Je=N&&N.__read||function(r,t){var e=typeof Symbol=="function"&&r[Symbol.iterator];if(!e)return r;var n=e.call(r),o,a=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)a.push(o.value)}catch(i){s={error:i}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(s)throw s.error}}return a},ze=N&&N.__spreadArray||function(r,t,e){if(e||arguments.length===2)for(var n=0,o=t.length,a;n<o;n++)(a||!(n in t))&&(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return r.concat(a||Array.prototype.slice.call(t))};Object.defineProperty(N,"__esModule",{value:!0});N.alphanumeric=void 0;var lr=Ye(),pr=$e();N.alphanumeric=ze(ze([],Je(lr.alphabet),!1),Je(pr.baseTenNumbers),!1)});var qe=b(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.generateRandomAlphanumeric=void 0;var je=Ze(),mr=function(){return je.alphanumeric[Math.floor(Math.random()*je.alphanumeric.length)]};ae.generateRandomAlphanumeric=mr});var Qe=b(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.generateRandomStringOfAlphanumericChars=void 0;var dr=qe(),Cr=function(){for(var r="",t=0;t<2;t++)r=r+(0,dr.generateRandomAlphanumeric)();return r};se.generateRandomStringOfAlphanumericChars=Cr});var et=b(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.generateRandomBaseTenNumber=void 0;var Tr=function(){return Math.floor(Math.random()*10)};ie.generateRandomBaseTenNumber=Tr});var tt=b(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.generateRandomStringOfBaseTenChars=void 0;var gr=et(),yr=function(){for(var r="",t=0;t<6;t++)r=r+(0,gr.generateRandomBaseTenNumber)();return r};ue.generateRandomStringOfBaseTenChars=yr});var rt=b(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.generateCusipWithoutCheckCode=void 0;var fr=Qe(),hr=tt(),br=function(){var r=(0,hr.generateRandomStringOfBaseTenChars)(),t=(0,fr.generateRandomStringOfAlphanumericChars)();return r+t};ce.generateCusipWithoutCheckCode=br});var nt=b(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.generateCusip=void 0;var Dr=Xe(),Sr=rt(),Mr=function(){var r=(0,Sr.generateCusipWithoutCheckCode)(),t=(0,Dr.generateCusipCheckCode)(r);return r+t};le.generateCusip=Mr});var ot=b(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.generateCusip=void 0;var vr=nt();Object.defineProperty(pe,"generateCusip",{enumerable:!0,get:function(){return vr.generateCusip}})});var it=b(st=>{"use-strict";var at=_e(),Rr=ot().generateCusip(),Ir=r=>{let t=at[Math.floor(Math.random()*at.length)];return t+r+Lr(t+r+"0")},Lr=r=>{if(r.length!=12)return!1;for(var t=[],e=r.length-2;e>=0;e--){let i=r.charAt(e);if(isNaN(i)){var n=r.charCodeAt(e)-55;t.push(n%10),n>9&&t.push(Math.floor(n/10))}else t.push(Number(i))}for(var o=0,a=t.length,e=0;e<a;e++)if(e%2==0){var s=t[e]*2;o+=Math.floor(s/10),o+=s%10}else o+=t[e];return(10-o%10)%10};st.isinGenerator=function(){return Ir(Rr)}});var Xr={};St(Xr,{ArrayProxy:()=>me,DefaultColumnGenerator:()=>xe,DefaultRowGenerator:()=>Ee,TickingArrayDataSource:()=>G,VuuColumnGenerator:()=>Pt,createBasketTradingRow:()=>ye,getAllSchemas:()=>Rt,getColumnAndRowGenerator:()=>Et,getSchema:()=>It,populateArray:()=>xt,schemas:()=>Ie,vuuModule:()=>Wr});module.exports=vt(Xr);var H,de=class de{constructor(t,e){R(this,H,void 0);this.length=0;this.map=t=>new de(this.length,e=>t(u(this,H).call(this,e),e));this.slice=(t,e)=>{let n=[],o=Math.min(this.length,e);for(let a=t;a<o;a++)n.push(u(this,H).call(this,a));return n};E(this,H,e),this.length=t;let n={get:(o,a)=>{var s;if(a==="length")return o.length;if(a==="slice")return o.slice;if(a==="map")return o.map;if(a==="toString")return"[ArrayProxy]";if(typeof a=="string"){let i=parseInt(a,10);if(!isNaN(i))return i<this.length?u(s=o,H).call(s,i):void 0}throw Error(`unsupported property ${String(a)} on ArrayProxy`)},set:(o,a,s)=>{if(a==="length")return o.length=s,!0;throw Error("ArrayProxy is immutable except for length")}};return new Proxy(this,n)}};H=new WeakMap;var me=de;var L={algoType:{columns:[{name:"algoType",serverDataType:"string"},{name:"id",serverDataType:"int"}],key:"id",table:{module:"BASKET",table:"algoType"}},basket:{columns:[{name:"id",serverDataType:"string"},{name:"name",serverDataType:"string"},{name:"notionalValue",serverDataType:"double"},{name:"notionalValueUsd",serverDataType:"double"}],key:"id",table:{module:"BASKET",table:"basket"}},basketConstituent:{columns:[{name:"basketId",serverDataType:"string"},{name:"change",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"lastTrade",serverDataType:"string"},{name:"ric",serverDataType:"string"},{name:"ricBasketId",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"volume",serverDataType:"string"},{name:"weighting",serverDataType:"double"}],key:"ricBasketId",table:{module:"BASKET",table:"basketConstituent"}},basketTrading:{columns:[{name:"basketId",serverDataType:"string"},{name:"basketName",serverDataType:"string"},{name:"filledPct",serverDataType:"double"},{name:"fxRateToUsd",serverDataType:"double"},{name:"instanceId",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"totalNotional",serverDataType:"double"},{name:"totalNotionalUsd",serverDataType:"double"},{name:"units",serverDataType:"int"}],key:"instanceId",table:{module:"BASKET",table:"basketTrading"}},basketTradingConstituent:{columns:[{name:"algo",serverDataType:"string"},{name:"algoParams",serverDataType:"string"},{name:"basketId",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"instanceId",serverDataType:"string"},{name:"instanceIdRic",serverDataType:"string"},{name:"limitPrice",serverDataType:"double"},{name:"notionalLocal",serverDataType:"double"},{name:"notionalUsd",serverDataType:"double"},{name:"pctFilled",serverDataType:"double"},{name:"priceSpread",serverDataType:"int"},{name:"priceStrategyId",serverDataType:"int"},{name:"quantity",serverDataType:"long"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"venue",serverDataType:"string"},{name:"weighting",serverDataType:"double"}],key:"instanceIdRic",table:{module:"BASKET",table:"basketTradingConstituent"}},basketTradingConstituentJoin:{columns:[{name:"algo",serverDataType:"string"},{name:"algoParams",serverDataType:"string"},{name:"ask",serverDataType:"double"},{name:"askSize",serverDataType:"double"},{name:"basketId",serverDataType:"string"},{name:"bid",serverDataType:"double"},{name:"bidSize",serverDataType:"double"},{name:"close",serverDataType:"double"},{name:"description",serverDataType:"string"},{name:"instanceId",serverDataType:"string"},{name:"instanceIdRic",serverDataType:"string"},{name:"last",serverDataType:"double"},{name:"limitPrice",serverDataType:"double"},{name:"notionalLocal",serverDataType:"double"},{name:"notionalUsd",serverDataType:"double"},{name:"open",serverDataType:"double"},{name:"pctFilled",serverDataType:"double"},{name:"phase",serverDataType:"string"},{name:"priceSpread",serverDataType:"int"},{name:"priceStrategyId",serverDataType:"int"},{name:"quantity",serverDataType:"long"},{name:"ric",serverDataType:"string"},{name:"scenario",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"venue",serverDataType:"string"},{name:"weighting",serverDataType:"double"}],key:"instanceIdRic",table:{module:"BASKET",table:"basketTradingConstituentJoin"}},priceStrategyType:{columns:[{name:"priceStrategy",serverDataType:"string"},{name:"id",serverDataType:"int"}],key:"",table:{module:"BASKET",table:"priceStrategyType"}}};var p={instruments:{columns:[{name:"bbg",serverDataType:"string"},{name:"currency",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"isin",serverDataType:"string"},{name:"lotSize",serverDataType:"int"},{name:"ric",serverDataType:"string"}],key:"ric",table:{module:"SIMUL",table:"instruments"}},instrumentsExtended:{columns:[{name:"bbg",serverDataType:"string"},{name:"currency",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"isin",serverDataType:"string"},{name:"lotSize",serverDataType:"int"},{name:"ric",serverDataType:"string"},{name:"supported",serverDataType:"boolean"},{name:"wishlist",serverDataType:"boolean"},{name:"lastUpdated",serverDataType:"long"}],key:"ric",table:{module:"SIMUL",table:"instruments"}},instrumentPrices:{columns:[{name:"ask",serverDataType:"double"},{name:"askSize",serverDataType:"double"},{name:"bbg",serverDataType:"string"},{name:"bid",serverDataType:"double"},{name:"bidSize",serverDataType:"double"},{name:"close",serverDataType:"double"},{name:"currency",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"isin",serverDataType:"string"},{name:"last",serverDataType:"double"},{name:"lotSize",serverDataType:"int"},{name:"open",serverDataType:"double"},{name:"phase",serverDataType:"string"},{name:"ric",serverDataType:"string"},{name:"scenario",serverDataType:"string"}],key:"ric",table:{module:"SIMUL",table:"instrumentPrices"}},orders:{columns:[{name:"ccy",serverDataType:"string"},{name:"created",serverDataType:"long"},{name:"filledQuantity",serverDataType:"double"},{name:"lastUpdate",serverDataType:"long"},{name:"orderId",serverDataType:"string"},{name:"quantity",serverDataType:"double"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"trader",serverDataType:"string"}],key:"orderId",table:{module:"SIMUL",table:"orders"}},childOrders:{columns:[{name:"account",serverDataType:"string"},{name:"averagePrice",serverDataType:"double"},{name:"ccy",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"filledQty",serverDataType:"double"},{name:"id",serverDataType:"string"},{name:"idAsInt",serverDataType:"int"},{name:"lastUpdate",serverDataType:"long"},{name:"openQty",serverDataType:"double"},{name:"parentOrderId",serverDataType:"string"},{name:"price",serverDataType:"double"},{name:"quantity",serverDataType:"double"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"strategy",serverDataType:"string"},{name:"volLimit",serverDataType:"int"}],key:"id",table:{module:"SIMUL",table:"childOrders"}},parentOrders:{columns:[{name:"account",serverDataType:"string"},{name:"algo",serverDataType:"string"},{name:"averagePrice",serverDataType:"double"},{name:"ccy",serverDataType:"string"},{name:"childCount",serverDataType:"int"},{name:"exchange",serverDataType:"string"},{name:"filledQty",serverDataType:"double"},{name:"id",serverDataType:"string"},{name:"idAsInt",serverDataType:"int"},{name:"lastUpdate",serverDataType:"long"},{name:"openQty",serverDataType:"double"},{name:"price",serverDataType:"double"},{name:"quantity",serverDataType:"double"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"volLimit",serverDataType:"int"}],key:"id",table:{module:"SIMUL",table:"parentOrders"}},prices:{columns:[{name:"ask",serverDataType:"double"},{name:"askSize",serverDataType:"double"},{name:"bid",serverDataType:"double"},{name:"bidSize",serverDataType:"double"},{name:"close",serverDataType:"double"},{name:"last",serverDataType:"double"},{name:"open",serverDataType:"double"},{name:"phase",serverDataType:"string"},{name:"ric",serverDataType:"string"},{name:"scenario",serverDataType:"string"}],key:"ric",table:{module:"SIMUL",table:"prices"}}};var Ie={...L,...p},Re={...L,...p},Rt=()=>Ie,It=r=>{if(Re[r])return Re[r];throw Error(`getSchema no schema for table ${r}`)};var Pe=require("@vuu-ui/vuu-data-local");var Ce={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:en,IS_LEAF:tn}=Ce;function Le(r){return Array.isArray(r)}function Lt(r){return!Array.isArray(r)}var h,J=class{constructor(){R(this,h,new Map)}addListener(t,e){let n=u(this,h).get(t);n?Le(n)?n.push(e):Lt(n)&&u(this,h).set(t,[n,e]):u(this,h).set(t,e)}removeListener(t,e){if(!u(this,h).has(t))return;let n=u(this,h).get(t),o=-1;if(n===e)u(this,h).delete(t);else if(Array.isArray(n)){for(let a=length;a-- >0;)if(n[a]===e){o=a;break}if(o<0)return;n.length===1?(n.length=0,u(this,h).delete(t)):n.splice(o,1)}}removeAllListeners(t){t&&u(this,h).has(t)?u(this,h).delete(t):t===void 0&&u(this,h).clear()}emit(t,...e){if(u(this,h)){let n=u(this,h).get(t);n&&this.invokeHandler(n,e)}}once(t,e){let n=(...o)=>{this.removeListener(t,n),e(...o)};this.on(t,n)}on(t,e){this.addListener(t,e)}hasListener(t,e){let n=u(this,h).get(t);return Array.isArray(n)?n.includes(e):n===e}invokeHandler(t,e){if(Le(t))t.slice().forEach(n=>this.invokeHandler(n,e));else switch(e.length){case 0:t();break;case 1:t(e[0]);break;case 2:t(e[0],e[1]);break;default:t.call(null,...e)}}};h=new WeakMap;var Ae=new Map,At=(r,t,e="")=>{let n,o=Ae.get(r);if(o&&o.has(t))n=o.get(t);else{let{data:a,map:s}=r,i=s[t];n=[];let c=new Set;for(let T of a){let g=T[i];c.has(g)||(c.add(g),n.push(g))}n.sort(),o?o.set(t,n):Ae.set(r,new Map([[t,n]]))}return e?n.filter(a=>a.toString().startsWith(e)):n},z=(r,t,e)=>new Promise(n=>{let o=At(r,t,e),a=o.length>20?o==null?void 0:o.slice(0,20).map(s=>s.toString()):o.map(s=>s.toString());setTimeout(()=>n(a),100)});var Z,K,w,G=class extends Pe.ArrayDataSource{constructor({data:e,menuRpcServices:n,rpcServices:o,table:a,menu:s,...i}){var c;if(e===void 0&&a===void 0)throw Error("TickingArrayDataSource must be constructed with data");super({...i,data:(c=e!=null?e:a==null?void 0:a.data)!=null?c:[]});R(this,Z,void 0);R(this,K,void 0);R(this,w,void 0);this._menu=s,E(this,Z,n),E(this,K,o),E(this,w,a),a&&(a.on("insert",this.insert),a.on("update",this.updateRow))}async subscribe(e,n){return super.subscribe(e,n)}set range(e){super.range=e}get range(){return super.range}getSelectedRows(){return this.selectedRows.reduce((e,n)=>{if(Array.isArray(n))n.forEach(o=>{let a=this.data[o];a&&e.push(a)});else{let o=this.data[n];o&&e.push(o)}return e},[])}applyEdit(e,n,o){var s;let a=e[Ce.KEY];return(s=u(this,w))==null||s.update(a,n,o),Promise.resolve(!0)}async rpcCall(e){var o;let n=(o=u(this,K))==null?void 0:o.find(a=>a.rpcName===e.rpcName);if(n)return n.service({...e});console.log(`no implementation for PRC service ${e.rpcName}`)}async menuRpcCall(e){var o;let n=(o=u(this,K))==null?void 0:o.find(a=>a.rpcName===e.rpcName);if(n)switch(e.type){case"VIEW_PORT_MENUS_SELECT_RPC":{let a=this.getSelectedRows();return n.service({...e,selectedRows:a})}default:}return super.menuRpcCall(e)}getTypeaheadSuggestions(e,n){if(u(this,w))return z(u(this,w),e,n);throw Error("cannot call getTypeaheadSuggestions on TickingDataSOurce if table has not been provided")}};Z=new WeakMap,K=new WeakMap,w=new WeakMap;var Pt=r=>["Row No"].concat(Array(r).fill("").map((t,e)=>`Column ${e+1}`)),Ee=r=>t=>[`row ${t+1}`].concat(Array(r.length).fill(!0).map((e,n)=>`value ${n+1} @ ${t+1}`)),xe=(r,t={})=>{if(typeof r=="number")return[{name:"row number",width:150}].concat(Array(r).fill(!0).map((e,n)=>{let o=`column ${n+1}`;return{name:o,width:100,...t[o]}}));throw Error("DefaultColumnGenerator must be passed columns (number)")},Te={ColumnGenerator:xe,RowGenerator:Ee},Et=r=>{var e,n,o;let t=(e=r==null?void 0:r.table)!=null?e:"";switch(r==null?void 0:r.module){case"SIMUL":{let{ColumnGenerator:a,RowGenerator:s,createUpdateGenerator:i}=(n=simulDataGenerators[t])!=null?n:Te;return[a,s,i]}case"BASKET":{let{ColumnGenerator:a,RowGenerator:s,createUpdateGenerator:i}=(o=basketDataGenerators[t])!=null?o:Te;return[a,s,i]}case void 0:{let{ColumnGenerator:a,RowGenerator:s}=Te;return[a,s]}default:throw Error(`vuu-row-gererator table ${r==null?void 0:r.table} was requested but no generator is registered`)}},xt=(r,t,e,n)=>{let o=t(n),a=e(o.map(i=>i.name)),s=[];for(let i=0;i<r;i++){let c=a(i);if(c)s[i]=c;else break}return s};var D,V,x,U,X,m=class extends J{constructor(e,n,o,a){super();R(this,D,void 0);R(this,V,void 0);R(this,x,void 0);R(this,U,new Map);R(this,X,void 0);E(this,D,n),E(this,V,o),E(this,X,e),E(this,x,o[e.key]),this.buildIndex(),a==null||a.setTable(this),a==null||a.setRange({from:0,to:100})}buildIndex(){for(let e=0;e<u(this,D).length;e++){let n=u(this,D)[e][u(this,x)];u(this,U).set(n,e)}}get data(){return u(this,D)}get map(){return u(this,V)}get schema(){return u(this,X)}insert(e){let n=u(this,D).length;u(this,D).push(e);let o=e[u(this,x)];u(this,U).set(o,n),this.emit("insert",e)}findByKey(e){var o;let n=(o=u(this,U).get(e))!=null?o:-1;return u(this,D)[n]}update(e,n,o){let a=u(this,D).findIndex(i=>i[u(this,x)]===e),s=u(this,V)[n];if(a!==-1){let c=u(this,D)[a].slice();c[s]=o,u(this,D)[a]=c,this.emit("update",c,n)}}updateRow(e){let n=e[u(this,x)],o=u(this,D).findIndex(a=>a[u(this,x)]===n);o!==-1&&(u(this,D)[o]=e,this.emit("update",e))}};D=new WeakMap,V=new WeakMap,x=new WeakMap,U=new WeakMap,X=new WeakMap;var S=r=>Object.values(r.columns).reduce((t,e,n)=>(t[e.name]=n,t),{}),kt=(r,{columns:t,table:e},{columns:n,table:o})=>{let a=t.find(i=>i.name===r),s=n.find(i=>i.name===r);if(a&&s){if(a.serverDataType===s.serverDataType)return a.serverDataType;throw Error(`both tables ${e.table} and ${o.table} implement column ${r}, but with types differ`)}else{if(a)return a.serverDataType;if(s)return s.serverDataType;throw Error("WTF how is this possible")}},j=(r,t,e,n)=>{let{map:o,schema:a}=t,{map:s,schema:i}=e,c=o[n],T=s[n],g=new Set([...a.columns,...i.columns].map(C=>C.name).sort()),d={key:n,table:r,columns:Array.from(g).map(C=>({name:C,serverDataType:kt(C,a,i)}))},A=[],y=S(d);for(let C of t.data){let P=e.findByKey(String(C[c]));if(P){let M=[];for(let f of t.schema.columns){let v=C[o[f.name]];M[y[f.name]]=v}for(let f of e.schema.columns){let v=P[s[f.name]];M[y[f.name]]=v}A.push(M)}}let I=new m(d,A,y);return t.on("insert",C=>{let P=e.findByKey(String(C[c]));if(P){let M=[];for(let f of t.schema.columns){let v=C[o[f.name]];M[y[f.name]]=v}for(let f of e.schema.columns){let v=P[s[f.name]];M[y[f.name]]=v}I.insert(M)}}),e.on("update",C=>{let P=C[T],M=I.findByKey(P);if(M){let f=M.slice();for(let{name:v}of e.schema.columns)C[s[v]]!==f[y[v]]&&(f[y[v]]=C[s[v]]);I.updateRow(f)}}),I};function l(r,t){return r=Math.ceil(r),t=Math.floor(t),Math.floor(Math.random()*(t-r+1))+r}var q=(r,t)=>r+(t-r)*Math.random(),ke=(r,t)=>{let e=t(0,1e3),n=t(e-r,e-1),o=t(e+1,e+r),a=n<0?e:n,s=Math.round(a*100)/100,i=Math.round(o*100)/100;return[s,i]},Bt=(r,t,e,n)=>{let o=t-r;return Math.min(t+e*o,o/2+r+n)},Nt=(r,t,e,n)=>Math.max(r+1,(t-r)/2+r),Ht=(r,t,e,n)=>{let o=Math.min(t-1,(t-r)/2+r);return o<1?r+1:o},wt=(r,t,e,n)=>{let o=t-r,a=o/2+r,s=Math.max(r-Math.min(e*o,10),a-n);return s<0?r:s},Be=(r,t,e,n,o)=>{let a=t;Math.abs(r-t)<=1&&(a=t+1);let s=wt(r,a,e,n),i=Ht(r,a,e,n),c=Nt(r,a,e,n),T=Bt(r,a,e,n),g=Math.round(o(s,i)*100)/100,d=Math.round(o(c,T)*100)/100;return[g,d]};var Gt=r=>{let t=l(0,100)/1e3,e=l(0,10)>=5?1:-1;return r+r*t*e},_=class{constructor(t){this.updating=!1;this.update=()=>{var t;if(this.range&&this.table){let e=(t=this.table)==null?void 0:t.data,{bid:n,ask:o,last:a,...s}=this.tickingColumns;if(e&&(e==null?void 0:e.length)>0){let i=Math.min(this.range.to,e.length);for(let c=this.range.from;c<i;c++){let T=0;if(l(0,10)<2){let d=this.table.data[c],A=e[c];if(n!==void 0&&o!==void 0){let{[n]:y,[o]:I}=A,[C,P]=Be(y,I,10,5,q);if(d[o]=P,d[n]=C,a!==void 0){let M=Math.round((I+(P-I)/2)*100)/100;d[a]=M}}for(let y of Object.values(s))if(l(0,10)<5){T+=1;let C=Gt(A[y]);this.table&&(d[y]=C)}this.table&&T>0&&this.table.updateRow(d)}}}}this.updating&&(this.timer=window.setTimeout(this.update,500))};this.tickingColumns=t}setRange(t){this.range=t,!this.updating&&this.table&&this.startUpdating()}setTable(t){this.table=t}startUpdating(){this.updating=!0,this.update()}stopUpdating(){this.updating=!1,this.timer&&(window.clearTimeout(this.timer),this.timer=void 0)}};var Ne=[["AAL.L","Anglo American PLC","436.35 13:13","5.35 (1.24%)","5,799,089"],["ABF.L","Associated British Foods PLC","3,435.60 13:12","7.40 (0.21%)","86,808"],["ADM.L","Admiral Group PLC","1,627.00 13:13",""],["ADN.L","Aberdeen Asset Management PLC","334.00 13:13","2.50 (0.75%)","806,880"],["AHT.L","Ashtead Group PLC","1,027.00 13:13","6.00 (0.59%)","331,255"],["ANTO.L","Antofagasta PLC","484.10 13:13","11.70 (2.48%)","1,753,976"],["ARM.L","ARM Holdings PLC","1,058.00 13:13","3.00 (0.28%)","475,927"],["AV.L","Aviva PLC","493.97 13:13","2.23 (0.45%)","2,226,835"],["AZN.L","AstraZeneca PLC","4,399.50 13:13","2.50 (0.06%)","815,133"],["BA.L","BAE Systems PLC","478.10 13:13","4.30 (0.91%)","2,039,934"],["BAB.L","Babcock International Group PLC","988.00 13:13","9.50 (0.97%)","209,614"],["BARC.L","Barclays PLC","226.30 13:13","1.15 (0.51%)","6,575,664"],["BATS.L","British American Tobacco PLC","3,803.50 13:13","8.50 (0.22%)","465,110"],["BDEV.L","Barratt Developments PLC","576.00 13:13","0.50 (0.09%)","1,044,365"],["BG.L","BG Group PLC","1,013.50 13:13","5.50 (0.55%)","1,507,332"],["BKG.L","Berkeley Group Holdings (The) PLC","3,126.00 13:13","15.00 (0.48%)","95,071"],["BLND.L","British Land Co PLC","828.06 13:12","10.44 (1.25%)","1,802,548"],["BLT.L","BHP Billiton PLC","881.40 13:13","4.30 (0.49%)","4,947,287"],["BNZL.L","Bunzl PLC","1,875.40 13:05","4.60 (0.24%)","104,541"],["BP.L","BP PLC","381.50 13:13","2.95 (0.78%)","10,493,561"],["BRBY.L","Burberry Group PLC","1,269.00 13:13","7.00 (0.55%)","295,647"],["BT-A","L,BT Group PLC","489.20 13:13","3.70 (0.75%)","3,914,982"],["CCL.L","Carnival PLC","3,426.00 13:12","22.00 (0.64%)","86,257"],["CNA.L","Centrica PLC","212.80 13:13","0.60 (0.28%)","2,144,540"],["CPG.L","Compass Group PLC","1,054.00 13:08","5.00 (0.48%)","1,001,167"],["CPI.L","Capita PLC","1,235.00 13:11","1.00 (0.08%)","244,591"],["CRH.L","CRH PLC","1,783.20 13:12","17.80 (0.99%)","897,325"],["DC.L","DIXONS CARPHONE","462.10 13:11",""],["DGE.L","Diageo PLC","1,881.50 13:13","6.50 (0.34%)","756,906"],["DLG.L","Direct Line Insurance Group PLC","403.80 13:13","0.40 (0.10%)","1,095,340"],["EXPN.L","Experian PLC","1,191.00 13:12","2.00 (0.17%)","467,283"],["EZJ.L","easyJet PLC","1,682.00 13:12","28.00 (1.64%)","1,191,230"],["FRES.L","Fresnillo PLC","678.50 13:12","6.50 (0.97%)","381,871"],["GFS.L","G4S PLC","232.30 13:03","2.00 (0.85%)","1,096,551"],["GKN.L","GKN PLC","294.80 13:12","2.50 (0.86%)","792,247"],["GLEN.L","Glencore PLC","90.48 13:13","1.65 (1.86%)","41,631,528"],["GSK.L","GlaxoSmithKline PLC","1,345.00 13:13","0.50 (0.04%)","1,767,356"],["HIK.L","Hikma Pharmaceuticals PLC","2,010.00 13:04","57.00 (2.92%)","261,511"],["HL.L","Hargreaves Lansdown PLC","1,488.03 13:12","9.97 (0.67%)","372,261"],["HMSO.L","Hammerson PLC","597.50 13:11","3.50 (0.58%)","478,301"],["HSBA.L","HSBC Holdings PLC","519.70 13:13","0.50 (0.10%)","7,415,629"],["IAG.L","International Consolidated Airlines Group SA","575.40 13:12","16.10 (2.72%)","4,311,514"],["IHG.L","InterContinental Hotels Group PLC","2,481.00 13:12","19.00 (0.76%)","219,918"],["III.L","3i Group PLC","487.30 13:11","4.50 (0.92%)","189,987"],["IMT.L","Imperial Tobacco Group PLC","3,571.00 13:13","29.00 (0.81%)","926,816"],["INTU.L","intu properties PLC","319.90 13:09","4.60 (1.42%)","514,821"],["ISAT.L","Inmarsat PLC","1,054.44 13:13","3.44 (0.33%)","988,089"],["ITRK.L","Intertek Group PLC","2,643.00 13:14","3.00 (0.11%)","45,868"],["ITV.L","ITV PLC","267.30 13:14","2.60 (0.96%)","3,453,208"],["JMAT.L","Johnson Matthey PLC","2,445.00 13:14","29.00 (1.20%)","276,397"],["KGF.L","Kingfisher PLC","346.20 13:14","4.30 (1.23%)","1,021,408"],["LAND.L","Land Securities Group PLC","1,239.00 13:13","7.00 (0.56%)","384,973"],["LGEN.L","Legal & General Group PLC","266.00 13:14","1.60 (0.60%)","1,998,399"],["LLOY.L","Lloyds Banking Group PLC","73.86 13:14","0.02 (0.03%)","18,907,878"],["LSE.L","London Stock Exchange Group PLC","2,544.00 13:11","6.00 (0.24%)","129,657"],["MGGT.L","Meggitt PLC","386.00 13:15","3.20 (0.84%)","611,044"],["MKS.L","Marks & Spencer Group PLC","514.75 13:12","3.25 (0.63%)","920,128"],["MNDI.L","Mondi PLC","1,463.00 13:14","7.00 (0.48%)","383,546"],["MRW.L","Morrison (Wm) Supermarkets PLC","155.20 13:14",""],["NG.L","National Grid PLC","926.40 13:14","1.10 (0.12%)","1,659,592"],["NXT.L","Next PLC","7,765.00 13:11","95.00 (1.21%)","114,062"],["OML.L","Old Mutual PLC","198.50 13:14","0.40 (0.20%)","2,040,849"],["PRU.L","Prudential PLC","1,499.50 13:15","14.00 (0.93%)","580,870"],["PSON.L","Pearson PLC","794.00 13:09","5.00 (0.63%)","1,177,953"],["RB.L","Reckitt Benckiser Group PLC","6,293.00 13:14","34.00 (0.54%)","281,172"],["RBS.L","Royal Bank of Scotland Group PLC","313.40 13:14","2.40 (0.77%)","2,100,058"],["RDSA.L","Royal Dutch Shell PLC","1,636.00 13:14","18.00 (1.11%)","2,467,461"],["RDSB.L","Royal Dutch Shell PLC","1,652.00 13:15","14.50 (0.89%)","1,457,434"],["REL.L","Reed Elsevier PLC","1,170.00 13:14","0.00 (0.00%)","908,802"],["RIO.L","Rio Tinto PLC","2,235.00 13:15","21.00 (0.95%)","2,190,722"],["RMG.L","Royal Mail PLC","453.50 13:14","1.20 (0.26%)","995,316"],["RR.L","Rolls-Royce Group PLC","546.63 13:14","8.38 (1.51%)","2,792,915"],["RRS.L","Randgold Resources Ltd","3,929.00 13:14","0.00 (0.00%)","135,524"],["RSA.L","RSA Insurance Group PLC","437.10 13:14","0.10 (0.02%)","395,477"],["SAB.L","SABMiller PLC","4,011.00 13:15","1.00 (0.02%)","892,451"],["SBRY.L","Sainsbury (J) PLC","255.80 13:14","7.40 (2.98%)","2,395,670"],["SDR.L","Schroders PLC","2,930.00 13:09","12.00 (0.41%)","44,674"],["SGE.L","Sage Group (The) PLC","545.50 13:13","0.50 (0.09%)","539,717"],["SHP.L","Shire PLC","4,685.00 13:14","22.00 (0.47%)","221,318"],["SKY.L","SKY","1,095.00 13:12","4.00 (0.37%)","925,016"],["SL.L","Standard Life PLC","399.90 13:14","3.20 (0.79%)","861,636"],["SMIN.L","Smiths Group PLC","992.50 13:14","27.50 (2.70%)","640,309"],["SN.L","Smith & Nephew PLC","1,110.00 13:14","9.00 (0.82%)","480,018"],["SPD.L","Sports Direct International PLC","694.50 13:11","1.50 (0.22%)","157,981"],["SSE.L","SSE PLC","1,463.00 13:13","2.00 (0.14%)","562,454"],["STAN.L","Standard Chartered PLC","583.00 13:14","0.60 (0.10%)","2,018,697"],["STJ.L","St James's Place PLC","964.00 13:14","11.00 (1.13%)","418,480"],["SVT.L","Severn Trent PLC","2,199.00 13:12","1.00 (0.05%)","95,342"],["TPK.L","Travis Perkins PLC","1,945.00 13:13","4.00 (0.21%)","92,916"],["TSCO.L","Tesco PLC","171.54 13:14","2.54 (1.50%)","9,831,136"],["TUI.L","TUI AG","1,115.00 13:10","5.00 (0.45%)","458,970"],["TW.L","Taylor Wimpey PLC","183.90 13:15","1.10 (0.59%)","3,180,729"],["ULVR.L","Unilever PLC","2,791.00 13:14","29.00 (1.03%)","824,827"],["UU.L","United Utilities Group PLC","959.00 13:10","2.50 (0.26%)","436,911"],["VOD.L","Vodafone Group PLC","224.25 13:15","1.30 (0.58%)","17,572,036"],["WOS.L","Wolseley PLC","3,657.00 13:14","4.00 (0.11%)","179,536"],["WPP.L","WPP PLC","1,502.00 13:15","12.00 (0.79%)","857,887"],["WTB.L","Whitbread PLC","4,484.00 13:16","60.00 (1.32%)","141,036"]];var He=[["Apple Inc","AAPL",11.007,174.94,.15,"(0.09%)"],["Microsoft Corp","MSFT",9.61,316.98,-.03,"(-0.01%)"],["Amazon.com Inc","AMZN",5.401,129.31,.19,"(0.14%)"],["NVIDIA Corp","NVDA",4.101,415.74,-.36,"(-0.09%)"],["Meta Platforms Inc","META",3.729,299.42,.34,"(0.11%)"],["Tesla Inc","TSLA",3.285,244.13,-.75,"(-0.31%)"],["Alphabet Inc","GOOGL",3.133,130.49,.24,"(0.18%)"],["Alphabet Inc","GOOG",3.085,131.49,.24,"(0.18%)"],["Broadcom Inc","AVGO",2.896,833.04,3.96,"(0.48%)"],["Costco Wholesale Corp","COST",2.137,557.85,-.74,"(-0.13%)"],["PepsiCo Inc","PEP",2.096,174.84,-.43,"(-0.25%)"],["Adobe Inc","ADBE",2.033,511.42,-1.48,"(-0.29%)"],["Cisco Systems Inc","CSCO",1.887,53.68,.11,"(0.20%)"],["Comcast Corp","CMCSA",1.633,45.3,-.01,"(-0.01%)"],["Netflix Inc","NFLX",1.478,379.89,.08,"(0.02%)"],["T-Mobile US Inc","TMUS",1.43,140.18,.83,"(0.60%)"],["Advanced Micro Devices Inc","AMD",1.348,96.09,-.11,"(-0.12%)"],["Texas Instruments Inc","TXN",1.264,161,.69,"(0.43%)"],["Intel Corp","INTC",1.26,34.19,.01,"(0.01%)"],["Amgen Inc","AMGN",1.251,271.18,3.48,"(1.30%)"],["Intuit Inc","INTU",1.226,509,.43,"(0.08%)"],["Honeywell International Inc","HON",1.103,188.67,-1.12,"(-0.59%)"],["QUALCOMM Inc","QCOM",1.046,107.53,-.16,"(-0.14%)"],["Applied Materials Inc","AMAT",.982,136.32,.15,"(0.11%)"],["Booking Holdings Inc","BKNG",.941,3,19.2,-43.3,"(-1.42%)"],["Starbucks Corp","SBUX",.926,93.8,.12,"(0.12%)"],["Intuitive Surgical Inc","ISRG",.867,288.5,.3,"(0.10%)"],["Automatic Data Processing Inc","ADP",.854,239.45,.1,"(0.04%)"],["Mondelez International Inc","MDLZ",.835,71.25,.82,"(1.16%)"],["Gilead Sciences Inc","GILD",.814,75.47,.46,"(0.61%)"],["Vertex Pharmaceuticals Inc","VRTX",.794,353.67,4.14,"(1.18%)"],["Regeneron Pharmaceuticals Inc","REGN",.763,828.09,3.25,"(0.39%)"],["Analog Devices Inc","ADI",.752,176.82,1.34,"(0.76%)"],["Lam Research Corp","LRCX",.702,620,.89,"(0.14%)"],["Micron Technology Inc","MU",.646,68.9,.02,"(0.03%)"],["Palo Alto Networks Inc","PANW",.604,228.7,.19,"(0.08%)"],["Synopsys Inc","SNPS",.587,447.12,.27,"(0.06%)"],["Charter Communications Inc","CHTR",.581,441.88,-3.33,"(-0.75%)"],["MercadoLibre Inc","MELI",.562,1,275.5,-1.47,"(-0.11%)"],["PayPal Holdings Inc","PYPL",.559,57.9,.02,"(0.03%)"],["CSX Corp","CSX",.54,31.23,.03,"(0.09%)"],["Cadence Design Systems Inc","CDNS",.539,230.83,.17,"(0.07%)"],["KLA Corp","KLAC",.53,456.11,4.29,"(0.95%)"],["PDD Holdings Inc ADR","PDD",.521,95.93,-.01,"(-0.01%)"],["Marriott International Inc/MD","MAR",.505,193.9,-.46,"(-0.23%)"],["Monster Beverage Corp","MNST",.498,54.48,-.04,"(-0.08%)"],["Airbnb Inc","ABNB",.491,132.09,-.11,"(-0.08%)"],["O'Reilly Automotive Inc","ORLY",.485,936.67,.65,"(0.07%)"],["Cintas Corp","CTAS",.446,505.27,.52,"(0.10%)"],["ASML Holding NV","ASML",.438,585,-2.1,"(-0.36%)"],["NXP Semiconductors NV","NXPI",.434,196.76,-.04,"(-0.02%)"],["Workday Inc","WDAY",.414,235.55,4.73,"(2.05%)"],["Lululemon Athletica Inc","LULU",.405,386.36,-1.69,"(-0.44%)"],["Keurig Dr Pepper Inc,KDP",.404,33.25,.13,"(0.39%)"],["Fortinet Inc","FTNT",.401,58.29,.05,"(0.09%)"],["Marvell Technology Inc","MRVL",.388,52.38,.08,"(0.14%)"],["PACCAR Inc","PCAR",.38,84.97,.04,"(0.04%)"],["Old Dominion Freight Line Inc","ODFL",.38,401.01,.35,"(0.09%)"],["Autodesk Inc","ADSK",.379,204.07,.03,"(0.01%)"],["Kraft Heinz Co/The","KHC",.368,34.27,.11,"(0.31%)"],["Microchip Technology Inc","MCHP",.36,77,-.08,"(-0.10%)"],["Copart Inc","CPRT",.358,43.26,.1,"(0.22%)"],["American Electric Power Co Inc","AEP",.357,79.23,.06,"(0.08%)"],["Paychex Inc","PAYX",.355,113.01,.06,"(0.06%)"],["Exelon Corp","EXC",.35,40.28,.07,"(0.16%)"],["ON Semiconductor Corp","ON",.341,93.87,.06,"(0.06%)"],["AstraZeneca PLC ADR","AZN",.339,67.35,-.49,"(-0.72%)"],["Seagen Inc","SGEN",.336,212.18,-1.52,"(-0.71%)"],["Ross Stores Inc","ROST",.335,111.71,.05,"(0.04%)"],["Moderna Inc","MRNA",.331,100.32,.33,"(0.33%)"],["Biogen Inc","BIIB",.326,257.93,.25,"(0.10%)"],["Crowdstrike Holdings Inc","CRWD",.319,162.85,.28,"(0.17%)"],["IDEXX Laboratories Inc","IDXX",.316,439.41,3.72,"(0.85%)"],["Baker Hughes Co","BKR",.307,35.44,.04,"(0.10%)"],["Constellation Energy Corp","CEG",.307,110.41,.05,"(0.04%)"],["Cognizant Technology Solutions Corp","CTSH",.303,70.19,.58,"(0.83%)"],["Verisk Analytics Inc","VRSK",.303,242.05,.1,"(0.04%)"],["Dexcom Inc","DXCM",.3,88.3,.8,"(0.92%)"],["Trade Desk Inc/The","TTD",.293,76.38,.03,"(0.03%)"],["Xcel Energy Inc","XEL",.284,59.76,.03,"(0.04%)"],["Electronic Arts Inc","EA",.279,118.38,-.63,"(-0.53%)"],["CoStar Group Inc","CSGP",.277,78.18,.12,"(0.15%)"],["GLOBALFOUNDRIES Inc","GFS",.273,57.21,.38,"(0.67%)"],["Fastenal Co","FAST",.268,54.32,.11,"(0.20%)"],["Atlassian Corp","TEAM",.253,196.01,.55,"(0.28%)"],["GE HealthCare Technologies Inc","GEHC",.252,63.78,-.56,"(-0.86%)"],["Warner Bros Discovery Inc","WBD",.244,11.09,-.02,"(-0.14%)"],["Diamondback Energy Inc","FANG",.235,150.7,.13,"(0.09%)"],["Datadog Inc","DDOG",.23,88.81,.05,"(0.06%)"],["ANSYS Inc","ANSS",.227,300.6,-2.31,"(-0.76%)"],["eBay Inc","EBAY",.203,43.22,.09,"(0.20%)"],["Dollar Tree Inc","DLTR",.201,104.77,.27,"(0.25%)"],["Align Technology Inc","ALGN",.2,297.25,-1.31,"(-0.44%)"],["Zscaler Inc","ZS",.188,151.8,.09,"(0.06%)"],["Illumina Inc","ILMN",.183,132.31,-.13,"(-0.10%)"],["Walgreens Boots Alliance Inc","WBA",.161,21.18,.06,"(0.28%)"],["Zoom Video Communications Inc","ZM",.151,68.57,-.29,"(-0.41%)"],["Enphase Energy Inc","ENPH",.148,120.41,.49,"(0.41%)"],["Sirius XM Holdings Inc","SIRI",.137,4.05,.02,"(0.50%)"],["JD.com Inc ADR","JD",.117,30.43,.02,"(0.05%)"],["Lucid Group Inc","LCID",.102,5.14,.03,"(0.49%)"]];var we=[["Apple Inc","AAPL",6.992488,171.9,1.47,"(0.86%)"],["Microsoft Corp","MSFT",6.487978,314.55,1.76,"(0.56%)"],["Amazon.com Inc","AMZN",3.193379,126.25,.27,"(0.22%)"],["Nvidia Corp","NVDA",2.928461,433.11,8.43,"(1.99%)"],["Alphabet Inc Cl A","GOOGL",2.162218,132.93,2.39,"(1.83%)"],["Tesla Inc","TSLA",1.854311,246.56,6.06,"(2.52%)"],["Alphabet Inc Cl C","GOOG",1.85251,133.81,2.35,"(1.78%)"],["Meta Platforms Inc Class A","META",1.847731,305.93,8.19,"(2.75%)"],["Berkshire Hathaway Inc Cl B","BRK.B",1.82184,358.67,.89,"(0.25%)"],["Exxon Mobil Corp","XOM",1.343563,118.97,-1.23,"(-1.03%)"],["Unitedhealth Group Inc","UNH",1.302884,510.04,6.31,"(1.25%)"],["Eli Lilly & Co","LLY",1.224046,546.65,-3.11,"(-0.57%)"],["Jpmorgan Chase & Co","JPM",1.182918,148.23,2.45,"(1.68%)"],["Johnson & Johnson W/d","JNJ",1.056344,156.83,-.28,"(-0.18%)"],["Visa Inc Class a Shares","V",1.029636,231.97,2.47,"(1.08%)"],["Procter & Gamble Co","PG",.969793,145.75,-1.59,"(-1.08%)"],["Broadcom Inc","AVGO",.941177,835.33,18.52,"(2.27%)"],["Mastercard Inc A","MA",.918779,400.65,5.17,"(1.31%)"],["Chevron Corp","CVX",.847353,170.55,-.49,"(-0.28%)"],["Home Depot Inc","HD",.847289,304.35,2.53,"(0.84%)"],["Abbvie Inc","BBV",.754672,152.14,-.99,"(-0.65%)"],["Merck & Co. Inc.","MRK",.736434,104.2,.26,"(0.25%)"],["Costco Wholesale Corp","COST",.697258,569.05,5.52,"(0.98%)"],["Pepsico Inc","PEP",.651768,168.92,-.65,"(-0.38%)"],["Walmart Inc","WMT",.644449,161.87,.15,"(0.09%)"],["Adobe Inc","ADBE",.639652,507.17,4.57,"(0.91%)"],["Coca Cola Co","KO",.60801,55.82,-.13,"(-0.23%)"],["Cisco Systems Inc","CSCO",.605326,53.97,.77,"(1.44%)"],["Accenture Plc Cl A","ACN",.55372,298.5,-15.9,"(-5.05%)"],["Salesforce Inc","CRM",.551342,204.46,1.73,"(0.85%)"],["Thermo Fisher Scientific Inc","TMO",.536951,503.47,5.18,"(1.04%)"],["Mcdonald S Corp","MCD",.536457,265.83,2.19,"(0.83%)"],["Bank of America Corp","BAC",.526405,27.51,.24,"(0.86%)"],["Comcast Corp Class A","CMCSA",.512537,45.17,.57,"(1.27%)"],["Linde Plc","LIN",.506835,375.48,3.47,"(0.93%)"],["Pfizer Inc","PFE",.506043,32.09,-.02,"(-0.05%)"],["Netflix Inc","NFLX",.467192,377.77,.18,"(0.05%)"],["Abbott Laboratories","ABT",.462893,97.52,1.99,"(2.08%)"],["Oracle Corp","ORCL",.459877,106.29,1.67,"(1.60%)"]];var Ge=[["CKH HOLDINGS","00001.HK",41.9,1.15,"+2.822%","5.15M","215.13M",4.38,.31,"6.98%","160.48B"],["CLP HOLDINGS","00002.HK",57.95,-.1,"-0.172%","3.32M","193.19M",156.62,1.39,"5.35%","146.41B"],["HK & CHINA GAS","00003.HK",5.46,.13,"+2.439%","16.16M","88.00M",19.43,1.66,"6.41%","101.88B"],["HSBC HOLDINGS,00005.HK",61.7,1.1,"+1.815%","22.19M","1.37B",10.54,.86,"4.05%",1,"227.60B"],["POWER ASSETS","00006.HK",37.9,-.25,"-0.655%","4.23M","160.75M",14.3,.93,"7.44%","80.77B"],["HANG SENG BANK","00011.HK",97.45,2.95,"+3.122%","2.54M","247.44M",19.69,1.01,"4.21%","186.31B"],["HENDERSON LAND","00012.HK",20.65,.85,"+4.293%","5.07M","103.70M",10.81,.31,"8.72%","99.97B"],["SHK PPT","00016.HK",83.8,3.25,"+4.035%","8.25M","685.41M",10.16,.4,"5.91%","242.83B"],["NEW WORLD DEV","00017.HK",15.24,.8,"+5.540%","12.95M","196.19M",30.48,.18,"13.52%","38.35B"],["GALAXY ENT","00027.HK",47.15,1.9,"+4.199%","11.97M","560.21M","No Profit",3.22,"0.00%","206.21B"],["MTR CORPORATION","00066.HK",31,.8,"+2.649%","4.68M","144.86M",19.5,1.07,"4.23%","192.64B"],["HANG LUNG PPT","00101.HK",10.72,.56,"+5.512%","7.68M","81.99M",12.61,.36,"7.28%","48.23B"],["GEELY AUTO","00175.HK",9.24,.17,"+1.874%","18.77M","173.30M",16.06,1.15,"2.27%","92.99B"],["ALI HEALTH","00241.HK",4.88,.47,"+10.658%","53.62M","257.82M",108.09,3.81,"0.00%","66.04B"],["CITIC","00267.HK",7.2,.2,"+2.857%","11.54M","82.96M",2.78,.28,"9.04%","209.45B"],["WH GROUP","00288.HK",4.11,.08,"+1.985%","18.94M","77.65M",4.93,.7,"7.30%","52.73B"],["CHINA RES BEER","00291.HK",42.95,1.2,"+2.874%","4.83M","207.98M",28.41,4.57,"1.41%","139.34B"],["OOIL","00316.HK",104.5,-.4,"-0.381%","296.54K","30.98M",.89,.66,"78.90%","69.01B"],["TINGYI","00322.HK",10.94,.18,"+1.673%","2.91M","31.81M",20.75,4.09,"9.39%","61.64B"],["SINOPEC CORP","00386.HK",4.28,-.01,"-0.233%","92.43M","396.61M",6.94,.58,"9.36%","105.92B"],["HKEX","00388.HK",292.6,9,"+3.173%","4.61M","1.34B",36.76,7.46,"2.44%","370.97B"],["TECHTRONIC IND","00669.HK",76,1.35,"+1.808%","5.47M","414.78M",16.54,3.43,"2.43%","139.45B"],["CHINA OVERSEAS","00688.HK",16.24,.52,"+3.308%","13.15M","212.60M",6.76,.44,"4.93%","177.74B"],["TENCENT","00700.HK",306.2,8.8,"+2.959%","11.25M","3.43B",13.74,3.6,"0.78%",2,"926.16B"],["CHINA UNICOM","00762.HK",5.68,-.05,"-0.873%","9.23M","52.77M",9.16,.45,"5.44%","173.80B"],["LINK REIT","00823.HK",38.4,1.45,"+3.924%","12.04M","460.96M",5.42,.52,"7.03%","98.38B"],["CHINA RES POWER","00836.HK",14.94,.32,"+2.189%","9.91M","147.81M",10.23,.87,"3.92%","71.87B"],["PETROCHINA","00857.HK",5.9,0,"0.000%","64.23M","380.44M",6.38,.7,"8.08%","124.48B"],["XINYI GLASS","00868.HK",10.14,.17,"+1.705%","3.75M","38.02M",8.01,1.3,"6.11%","42.22B"],["ZHONGSHENG HLDG","00881.HK",22.05,1.45,"+7.039%","6.76M","147.71M",7.08,1.07,"4.94%","52.72B"],["CNOOC","00883.HK",13.78,-.02,"-0.145%","26.37M","365.08M",4.03,.97,"19.09%","655.47B"],["CCB","00939.HK",4.42,.06,"+1.376%","233.61M","1.03B",3.06,.35,"9.93%",1,"062.64B"],["CHINA MOBILE","00941.HK",65.7,.25,"+0.382%","7.82M","516.10M",9.91,.96,"6.71%",1,"404.46B"],["LONGFOR GROUP","00960.HK",14.08,.9,"+6.829%","10.88M","150.68M",3.06,.55,"9.05%","92.81B"],["XINYI SOLAR","00968.HK",5.86,.28,"+5.018%","15.99M","92.88M",13.64,1.75,"3.41%","52.17B"],["SMIC","00981.HK",20.05,.25,"+1.263%","13.10M","264.32M",11.17,1.06,"0.00%","159.31B"],["LENOVO GROUP","00992.HK",8.07,.25,"+3.197%","33.60M","270.50M",7.61,2.23,"4.71%","97.87B"],["CKI HOLDINGS","01038.HK",37.05,-.2,"-0.537%","1.44M","53.73M",12.03,.78,"6.83%","93.35B"],["HENGAN INT'L","01044.HK",24.95,.2,"+0.808%","2.62M","64.97M",13.35,1.32,"6.33%","28.99B"],["CHINA SHENHUA","01088.HK",25.4,.35,"+1.397%","7.98M","203.11M",6.14,1.13,"11.33%","85.79B"],["CSPC PHARMA","01093.HK",5.74,.05,"+0.879%","29.29M","167.41M",9.96,2.01,"3.66%","68.32B"],["SINOPHARM","01099.HK",22.7,.2,"+0.889%","2.07M","46.80M",7.37,.92,"4.08%","30.46B"],["CHINA RES LAND","01109.HK",31.2,1,"+3.311%","9.88M","305.88M",7.02,.81,"5.07%","222.49B"],["CK ASSET","01113.HK",41.25,1.25,"+3.125%","8.57M","352.44M",6.9,.39,"5.53%","146.47B"],["SINO BIOPHARM","01177.HK",2.83,.02,"+0.712%","26.30M","74.09M",18.37,1.59,"4.24%","53.21B"],["CHINA RES MIXC","01209.HK",31.6,1.6,"+5.333%","3.07M","96.42M",28.97,4.48,"2.87%","72.13B"],["BYD COMPANY","01211.HK",242,7,"+2.979%","3.90M","938.50M",37.57,5.63,"0.53%","265.72B"],["AIA","01299.HK",63.85,.95,"+1.510%","38.75M","2.48B",408.88,2.53,"2.41%","735.40B"],["CHINAHONGQIAO","01378.HK",7.67,.28,"+3.789%","13.05M","99.58M",7.27,.76,"6.65%","72.68B"],["ICBC","01398.HK",3.77,.07,"+1.892%","233.48M","881.67M",3.45,.36,"9.08%","327.21B"],["XIAOMI-W","01810.HK",12.34,.62,"+5.290%","78.53M","960.98M",109.39,1.9,"0.00%","308.83B"],["BUD APAC","01876.HK",15.46,.16,"+1.046%","16.17M","250.45M",28.65,2.44,"1.91%","204.74B"],["SANDS CHINA LTD","01928.HK",24,.95,"+4.121%","19.98M","475.93M","No Profit","N/A","0.00%","194.24B"],["CHOW TAI FOOK","01929.HK",11.8,.28,"+2.431%","4.88M","57.68M",21.93,3.64,"10.34%","118.00B"],["WHARF REIC","01997.HK",30.25,1.4,"+4.853%","4.23M","127.31M","No Profit",.48,"4.33%","91.85B"],["ANTA SPORTS","02020.HK",88.15,4.4,"+5.254%","4.82M","422.51M",27.71,6.16,"1.52%","249.70B"],["WUXI BIO","02269.HK",45.65,1.55,"+3.515%","17.91M","811.49M",38.18,4.88,"0.00%","194.01B"],["SHENZHOU INTL","02313.HK",75,4.6,"+6.534%","5.52M","410.68M",21.87,3.25,"2.55%","112.74B"],["PING AN","02318.HK",44.85,.85,"+1.932%","23.05M","1.03B",8.28,.85,"6.09%","334.02B"],["MENGNIU DAIRY","02319.HK",26.25,1.5,"+6.061%","8.58M","223.15M",17.34,2.3,"1.73%","103.42B"],["LI NING","02331.HK",32.95,1.5,"+4.769%","22.54M","738.37M",18.8,3.16,"1.58%","86.86B"],["SUNNY OPTICAL","02382.HK",54.7,1.05,"+1.957%","5.62M","308.60M",22.01,2.44,"0.91%","60.00B"],["BOC HONG KONG","02388.HK",21.45,.3,"+1.418%","6.53M","140.32M",8.38,.75,"6.33%","226.79B"],["CHINA LIFE","02628.HK",12.2,.24,"+2.007%","13.53M","165.07M",9.49,.7,"4.53%","90.78B"],["ENN ENERGY","02688.HK",65,1.15,"+1.801%","3.06M","198.69M",11.08,1.67,"4.48%","73.53B"],["ZIJIN MINING","02899.HK",11.98,.16,"+1.354%","16.20M","194.50M",13.97,3.14,"1.88%","68.73B"],["MEITUAN-W","03690.HK",114.6,3.8,"+3.430%","19.17M","2.19B","No Profit",4.89,"0.00%","715.43B"],["HANSOH PHARMA","03692.HK",10.66,.16,"+1.524%","17.56M","187.72M",21.48,2.47,"0.94%","63.25B"],["CM BANK","03968.HK",32.7,.1,"+0.307%","11.13M","363.99M",5.51,.86,"6.00%","150.12B"],["BANK OF CHINA","03988.HK",2.74,.05,"+1.859%","275.47M","754.54M",3.33,.33,"9.55%","229.13B"],["CG SERVICES","06098.HK",8.08,.25,"+3.193%","16.08M","128.87M",12.42,.65,"5.20%","27.01B"],["JD HEALTH","06618.HK",40.6,2.95,"+7.835%","7.75M","312.36M",299.91,2.56,"0.00%","129.12B"],["HAIER SMARTHOME","06690.HK",24.65,1.15,"+4.894%","7.24M","178.37M",13.83,2.21,"2.59%","70.46B"],["HAIDILAO","06862.HK",21,.6,"+2.941%","6.86M","143.79M",74.46,13.94,"0.55%","117.05B"],["JD-SW","09618.HK",115.1,4,"+3.600%","7.43M","852.28M",30.73,1.5,"6.38%","360.24B"],["NONGFU SPRING","09633.HK",45,1.5,"+3.448%","3.69M","165.62M",52.49,18.63,"1.71%","226.56B"],["BIDU-SW","09888.HK",133.4,4.6,"+3.571%","5.82M","772.73M",47.3,1.5,"0.00%","377.37B"],["TRIP.COM-S","09961.HK",279.2,7,"+2.572%","1.25M","349.59M",114.05,1.4,"0.00%","176.65B"],["BABA-SW","09988.HK",85.6,2.6,"+3.133%","34.61M","2.96B",21.65,1.62,"0.00%",1,"837.13B"],["NTES-S","09999.HK",159.5,8.3,"+5.489%","5.02M","797.10M",22.7,4.63,"1.36%","546.99B"]];var Y=[];for(let r of Ne){let[t,e,n,o,a]=r,s=".FTSE100",i="BUY",c=1;Y.push([s,o,e,n,t,`${t}-${s}`,i,a,c])}for(let r of Ge){let[t,e,n,o,,a]=r,s=".HSI",i="BUY",c=1;Y.push([s,o,t,n,e,`${e}-${s}`,i,a,c])}for(let r of He){let[t,e,n,o,a]=r,s=".NASDAQ100",i="BUY",c=1e3;Y.push([s,a,t,o,e,`${e}-${s}`,i,c,n])}for(let r of we){let[t,e,n,,o]=r,a=".SP500",s="BUY",i=1e3,c=0;Y.push([a,o,t,c,e,`${e}-${a}`,s,i,n])}var F=Y;var{bid:Ot,bidSize:Kt,ask:Vt,askSize:Ut,last:_t}=S(p.prices),Ft=new _({bid:Ot,bidSize:Kt,ask:Vt,askSize:Ut,last:_t}),Oe=[];for(let[,,,r,t]of F){let e=parseFloat(String(r));if(!isNaN(e)){let[n,o]=ke(5,q),a=l(1e3,3e3),s=l(1e3,3e3),i=e+l(0,1)/10,c=e+l(0,1)/10,T=e+l(0,1)/10,g="C",d="close";Oe.push([o,a,n,s,i,c,T,g,t,d])}}var Wt=new m(p.prices,Oe,S(p.prices),Ft),Ke=Wt;var k=r=>Object.values(L[r].columns).reduce((t,e,n)=>(t[e.name]=n,t),{}),B={algoType:k("algoType"),basket:k("basket"),basketTrading:k("basketTrading"),basketTradingConstituent:k("basketTradingConstituent"),basketConstituent:k("basketConstituent"),basketTradingConstituentJoin:k("basketTradingConstituentJoin"),priceStrategyType:k("priceStrategyType")},Ve=new m(L.basketConstituent,F,B.basketConstituent),Q=new m(L.basketTrading,[],B.basketTrading),Xt=1,ge=new m(L.basketTradingConstituent,[],B.basketTradingConstituent),ye=(r,t,e="BUY",n="OFF MARKET")=>[r,t,0,1.25,`steve-${Xt++}`,e,n,1e6,125e4,100];function Yt(r,t){let e=ye(r,t);Q.insert(e);let{basketId:n}=k("basketConstituent"),o=Ve.data.filter(s=>s[n]===r),{instanceId:a}=B.basketTrading;return o.forEach(([,,s,,i,,,c,T])=>{let g="",d="",M="",f="BUY",v="venue",Se=e[a],gt=[g,d,r,s,Se,`${Se}-${i}`,95,0,0,0,0,M,c,i,f,v,T];ge.insert(gt)}),e[a]}async function $t(r){console.log(`RPC call erceived ${r.rpcName}`)}async function Jt(r){let[t]=r.params;Q.update(t,"status","ON_MARKET")}async function zt(r){let[t]=r.params;Q.update(t,"status","OFF-MARKET")}async function Zt(r){let{params:[t,e]}=r;return{action:{type:"VP_CREATE_SUCCESS",key:Yt(t,e)}}}var jt={algoType:new m(L.algoType,[["Sniper",0],["Dark Liquidity",1],["VWAP",2],["POV",3],["Dynamic Close",4]],B.algoType),basket:new m(L.basket,[[".NASDAQ100",".NASDAQ100",0,0],[".HSI",".HSI",0,0],[".FTSE100",".FTSE100",0,0],[".SP500",".SP500",0,0]],B.basket),basketConstituent:Ve,basketTrading:Q,basketTradingConstituent:ge,basketTradingConstituentJoin:j({module:"BASKET",table:"basketTradingConstituentJoin"},ge,Ke,"ric"),priceStrategyType:new m(L.priceStrategyType,[["Peg to Near Touch",0],["Far Touch",1],["Limit",2],["Algo",3]],B.priceStrategyType)},qt={algoType:void 0,basket:{name:"ROOT",menus:[{context:"selected-rows",filter:"",name:"Add Basket",rpcName:"CREATE_NEW_BASKET"}]},basketConstituent:void 0,basketTrading:void 0,basketTradingConstituent:void 0,basketTradingConstituentJoin:void 0,priceStrategyType:void 0},Qt={algoType:void 0,basket:[{rpcName:"createBasket",service:Zt}],basketConstituent:void 0,basketTrading:[{rpcName:"sendToMarket",service:Jt},{rpcName:"takeOffMarket",service:zt}],basketTradingConstituent:void 0,basketTradingConstituentJoin:[{rpcName:"addConstituent",service:$t}],priceStrategyType:void 0},er=r=>L[r].columns,tr=r=>{let t=er(r),{key:e}=L[r];return new G({columnDescriptors:t,dataMap:B[r],keyColumn:e,menu:qt[r],rpcServices:Qt[r],table:jt[r]})},rr=async()=>[],nr={createDataSource:tr,typeaheadHook:()=>rr},Ue=nr;var lt=Mt(it());var ut=["CAD","GBX","USD","EUR","GBP"];var ct={L:["London PLC","XLON/LSE-SETS"],N:["Corporation","XNGS/NAS-GSM"],AS:["B.V.","XAMS/ENA-MAIN"],OQ:["Co.","XNYS/NYS-MAIN"],PA:["Paris","PAR/EUR_FR"],MI:["Milan","MIL/EUR_IT"],FR:["Frankfurt","FR/EUR_DE"],AT:["Athens","AT/EUR_GR"]},fe=["L","N","OQ","AS","PA","MI","FR","AT"];var he=[1,2,5,10,50,50,70,100,100,100,120,150,150,200,500,700,1e3,2e3,2500,5e3,1e4];var pt={bbg:0,currency:1,description:2,exchange:3,string:4,number:5,ric:6,price:7},W=[],O=Array.from("ABCEFGHKMNOPQRTUVWYZ"),Ar=()=>{let r=l(0,1e4),t=l(1,10);return r/t};for(let r of O)for(let t=0;t<1e3;t++){let e=O[l(0,O.length-1)],n=O[l(0,O.length-1)],o=O[l(0,O.length-1)],a=fe[l(0,fe.length-1)],s=r+e+n+o+"."+a,i=r+e+n+o+" "+a,c=`${s} description`,T=ut[l(0,4)],g=(0,lt.isinGenerator)(),d=he[l(0,he.length-1)],A=ct[a][1],y=Ar();W.push([i,T,c,A,String(g),d,s,y])}var Pr=new m(p.instruments,W,S(p.instruments));var be=Pr;var Er=W.map(r=>r.slice(0,-1).concat([l(0,1)===1,l(0,1)===1,new Date().getTime()])),xr=new m(p.instrumentsExtended,Er,S(p.instrumentsExtended)),mt=xr;var{bid:kr,bidSize:Br,ask:Nr,askSize:Hr}=S(p.prices),wr=new _({bid:kr,bidSize:Br,ask:Nr,askSize:Hr}),Gr=["ric","price"],dt=W.map(r=>{let{ric:t,price:e}=Gr.reduce((y,I)=>({...y,[I]:r[pt[I]]}),{}),n=l(0,10),o=e+n/2,a=l(1e3,3e3),s=e-n/2,i=l(1e3,3e3),c=e+l(0,1)/10,T=e+l(0,1)/10,g=e+l(0,1)/10;return[o,a,s,i,c,T,g,"C",t,"close"]});for(let[,,,r,t]of F){let e=parseFloat(String(r));if(!isNaN(e)){let n=l(0,10),o=e+n/2,a=l(1e3,3e3),s=e-n/2,i=l(1e3,3e3),c=e+l(0,1)/10,T=e+l(0,1)/10,g=e+l(0,1)/10,d="C",A="close";dt.push([o,a,s,i,c,T,g,d,t,A])}}var Or=new m(p.prices,dt,S(p.prices),wr);var De=Or;var Ct={childOrders:new m(p.childOrders,[],S(p.childOrders)),instruments:be,instrumentsExtended:mt,instrumentPrices:j({module:"SIMUL",table:"instrumentPrices"},be,De,"ric"),orders:new m(p.orders,[],S(p.orders)),parentOrders:new m(p.parentOrders,[],S(p.parentOrders)),prices:De},Kr=r=>{let t=p[r];if(t)return t.columns;throw Error(`simul-module no schema found for table SIMUL ${r}`)},Vr=r=>{let t=Kr(r);return new G({columnDescriptors:t,keyColumn:p[r].key,table:Ct[r]})},Ur=([r,t,e])=>{let n=Ct[r.table];if(n)return z(n,t,e);throw Error(`SIMUL suggestionFetcher, unknown table ${r.module} ${r.table}`)},_r={createDataSource:Vr,typeaheadHook:()=>Ur},Tt=_r;var Fr={BASKET:Ue,SIMUL:Tt},Wr=r=>Fr[r];
|
|
1
|
+
"use strict";var bt=Object.create;var j=Object.defineProperty;var Dt=Object.getOwnPropertyDescriptor;var St=Object.getOwnPropertyNames;var Mt=Object.getPrototypeOf,vt=Object.prototype.hasOwnProperty;var D=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Rt=(e,r)=>{for(var t in r)j(e,t,{get:r[t],enumerable:!0})},Re=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of St(r))!vt.call(e,a)&&a!==t&&j(e,a,{get:()=>r[a],enumerable:!(n=Dt(r,a))||n.enumerable});return e};var Lt=(e,r,t)=>(t=e!=null?bt(Mt(e)):{},Re(r||!e||!e.__esModule?j(t,"default",{value:e,enumerable:!0}):t,e)),It=e=>Re(j({},"__esModule",{value:!0}),e);var Le=(e,r,t)=>{if(!r.has(e))throw TypeError("Cannot "+t)};var u=(e,r,t)=>(Le(e,r,"read from private field"),t?t.call(e):r.get(e)),R=(e,r,t)=>{if(r.has(e))throw TypeError("Cannot add the same private member more than once");r instanceof WeakSet?r.add(e):r.set(e,t)},x=(e,r,t,n)=>(Le(e,r,"write to private field"),n?n.call(e,t):r.set(e,t),t);var Ue=D((Qn,sr)=>{sr.exports=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]});var We=D(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.convertStringToBaseTenNumber=void 0;var ir=function(e){return parseInt(e,10)};ne.convertStringToBaseTenNumber=ir});var Xe=D(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.isOdd=void 0;var ur=function(e){return e%2===1};oe.isOdd=ur});var Ye=D(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.generateCusipCheckCode=void 0;var cr=We(),lr=Xe(),mr=function(e){for(var r=e.length,t,n=0,a,o=0;o<r;o++){t=e[o];var s=(0,cr.convertStringToBaseTenNumber)(t),i=isNaN(s)?t.charCodeAt(0)-65+10:t;(0,lr.isOdd)(o)&&(i=i*2),n=n+Math.floor(i/10)+i%10}return a=(10-n%10)%10,a};ae.generateCusipCheckCode=mr});var $e=D(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.alphabet=void 0;se.alphabet=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"]});var Je=D(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.baseTenNumbers=void 0;ie.baseTenNumbers=[0,1,2,3,4,5,6,7,8,9]});var je=D(H=>{"use strict";var ze=H&&H.__read||function(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n=t.call(e),a,o=[],s;try{for(;(r===void 0||r-- >0)&&!(a=n.next()).done;)o.push(a.value)}catch(i){s={error:i}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(s)throw s.error}}return o},Ze=H&&H.__spreadArray||function(e,r,t){if(t||arguments.length===2)for(var n=0,a=r.length,o;n<a;n++)(o||!(n in r))&&(o||(o=Array.prototype.slice.call(r,0,n)),o[n]=r[n]);return e.concat(o||Array.prototype.slice.call(r))};Object.defineProperty(H,"__esModule",{value:!0});H.alphanumeric=void 0;var pr=$e(),dr=Je();H.alphanumeric=Ze(Ze([],ze(pr.alphabet),!1),ze(dr.baseTenNumbers),!1)});var Qe=D(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.generateRandomAlphanumeric=void 0;var qe=je(),Cr=function(){return qe.alphanumeric[Math.floor(Math.random()*qe.alphanumeric.length)]};ue.generateRandomAlphanumeric=Cr});var et=D(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.generateRandomStringOfAlphanumericChars=void 0;var Tr=Qe(),gr=function(){for(var e="",r=0;r<2;r++)e=e+(0,Tr.generateRandomAlphanumeric)();return e};ce.generateRandomStringOfAlphanumericChars=gr});var tt=D(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.generateRandomBaseTenNumber=void 0;var fr=function(){return Math.floor(Math.random()*10)};le.generateRandomBaseTenNumber=fr});var rt=D(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.generateRandomStringOfBaseTenChars=void 0;var hr=tt(),yr=function(){for(var e="",r=0;r<6;r++)e=e+(0,hr.generateRandomBaseTenNumber)();return e};me.generateRandomStringOfBaseTenChars=yr});var nt=D(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.generateCusipWithoutCheckCode=void 0;var br=et(),Dr=rt(),Sr=function(){var e=(0,Dr.generateRandomStringOfBaseTenChars)(),r=(0,br.generateRandomStringOfAlphanumericChars)();return e+r};pe.generateCusipWithoutCheckCode=Sr});var ot=D(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.generateCusip=void 0;var Mr=Ye(),vr=nt(),Rr=function(){var e=(0,vr.generateCusipWithoutCheckCode)(),r=(0,Mr.generateCusipCheckCode)(e);return e+r};de.generateCusip=Rr});var at=D(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.generateCusip=void 0;var Lr=ot();Object.defineProperty(Ce,"generateCusip",{enumerable:!0,get:function(){return Lr.generateCusip}})});var ut=D(it=>{"use-strict";var st=Ue(),Ir=at().generateCusip(),Ar=e=>{let r=st[Math.floor(Math.random()*st.length)];return r+e+Pr(r+e+"0")},Pr=e=>{if(e.length!=12)return!1;for(var r=[],t=e.length-2;t>=0;t--){let i=e.charAt(t);if(isNaN(i)){var n=e.charCodeAt(t)-55;r.push(n%10),n>9&&r.push(Math.floor(n/10))}else r.push(Number(i))}for(var a=0,o=r.length,t=0;t<o;t++)if(t%2==0){var s=r[t]*2;a+=Math.floor(s/10),a+=s%10}else a+=r[t];return(10-a%10)%10};it.isinGenerator=function(){return Ar(Ir)}});var Qr={};Rt(Qr,{ArrayProxy:()=>Te,DefaultColumnGenerator:()=>q,DefaultRowGenerator:()=>Ie,Table:()=>p,TickingArrayDataSource:()=>N,buildDataColumnMap:()=>f,createBasketTradingRow:()=>ye,defaultGenerators:()=>V,getAllSchemas:()=>xt,getColumnAndRowGenerator:()=>At,getSchema:()=>Et,joinTables:()=>z,populateArray:()=>Pt,schemas:()=>Pe,vuuModule:()=>qr});module.exports=It(Qr);var G,ge=class ge{constructor(r,t){R(this,G,void 0);this.length=0;this.map=r=>new ge(this.length,t=>r(u(this,G).call(this,t),t));this.slice=(r,t)=>{let n=[],a=Math.min(this.length,t);for(let o=r;o<a;o++)n.push(u(this,G).call(this,o));return n};x(this,G,t),this.length=r;let n={get:(a,o)=>{var s;if(o==="length")return a.length;if(o==="slice")return a.slice;if(o==="map")return a.map;if(o==="toString")return"[ArrayProxy]";if(typeof o=="string"){let i=parseInt(o,10);if(!isNaN(i))return i<this.length?u(s=a,G).call(s,i):void 0}throw Error(`unsupported property ${String(o)} on ArrayProxy`)},set:(a,o,s)=>{if(o==="length")return a.length=s,!0;throw Error("ArrayProxy is immutable except for length")}};return new Proxy(this,n)}};G=new WeakMap;var Te=ge;var I={algoType:{columns:[{name:"algoType",serverDataType:"string"},{name:"id",serverDataType:"int"}],key:"id",table:{module:"BASKET",table:"algoType"}},basket:{columns:[{name:"id",serverDataType:"string"},{name:"name",serverDataType:"string"},{name:"notionalValue",serverDataType:"double"},{name:"notionalValueUsd",serverDataType:"double"}],key:"id",table:{module:"BASKET",table:"basket"}},basketConstituent:{columns:[{name:"basketId",serverDataType:"string"},{name:"change",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"lastTrade",serverDataType:"string"},{name:"ric",serverDataType:"string"},{name:"ricBasketId",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"volume",serverDataType:"string"},{name:"weighting",serverDataType:"double"}],key:"ricBasketId",table:{module:"BASKET",table:"basketConstituent"}},basketTrading:{columns:[{name:"basketId",serverDataType:"string"},{name:"basketName",serverDataType:"string"},{name:"filledPct",serverDataType:"double"},{name:"fxRateToUsd",serverDataType:"double"},{name:"instanceId",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"totalNotional",serverDataType:"double"},{name:"totalNotionalUsd",serverDataType:"double"},{name:"units",serverDataType:"int"}],key:"instanceId",table:{module:"BASKET",table:"basketTrading"}},basketTradingConstituent:{columns:[{name:"algo",serverDataType:"string"},{name:"algoParams",serverDataType:"string"},{name:"basketId",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"instanceId",serverDataType:"string"},{name:"instanceIdRic",serverDataType:"string"},{name:"limitPrice",serverDataType:"double"},{name:"notionalLocal",serverDataType:"double"},{name:"notionalUsd",serverDataType:"double"},{name:"pctFilled",serverDataType:"double"},{name:"priceSpread",serverDataType:"int"},{name:"priceStrategyId",serverDataType:"int"},{name:"quantity",serverDataType:"long"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"venue",serverDataType:"string"},{name:"weighting",serverDataType:"double"}],key:"instanceIdRic",table:{module:"BASKET",table:"basketTradingConstituent"}},basketTradingConstituentJoin:{columns:[{name:"algo",serverDataType:"string"},{name:"algoParams",serverDataType:"string"},{name:"ask",serverDataType:"double"},{name:"askSize",serverDataType:"double"},{name:"basketId",serverDataType:"string"},{name:"bid",serverDataType:"double"},{name:"bidSize",serverDataType:"double"},{name:"close",serverDataType:"double"},{name:"description",serverDataType:"string"},{name:"instanceId",serverDataType:"string"},{name:"instanceIdRic",serverDataType:"string"},{name:"last",serverDataType:"double"},{name:"limitPrice",serverDataType:"double"},{name:"notionalLocal",serverDataType:"double"},{name:"notionalUsd",serverDataType:"double"},{name:"open",serverDataType:"double"},{name:"pctFilled",serverDataType:"double"},{name:"phase",serverDataType:"string"},{name:"priceSpread",serverDataType:"int"},{name:"priceStrategyId",serverDataType:"int"},{name:"quantity",serverDataType:"long"},{name:"ric",serverDataType:"string"},{name:"scenario",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"venue",serverDataType:"string"},{name:"weighting",serverDataType:"double"}],key:"instanceIdRic",table:{module:"BASKET",table:"basketTradingConstituentJoin"}},priceStrategyType:{columns:[{name:"priceStrategy",serverDataType:"string"},{name:"id",serverDataType:"int"}],key:"",table:{module:"BASKET",table:"priceStrategyType"}}};var m={instruments:{columns:[{name:"bbg",serverDataType:"string"},{name:"currency",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"isin",serverDataType:"string"},{name:"lotSize",serverDataType:"int"},{name:"ric",serverDataType:"string"}],key:"ric",table:{module:"SIMUL",table:"instruments"}},instrumentsExtended:{columns:[{name:"bbg",serverDataType:"string"},{name:"currency",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"isin",serverDataType:"string"},{name:"lotSize",serverDataType:"int"},{name:"ric",serverDataType:"string"},{name:"supported",serverDataType:"boolean"},{name:"wishlist",serverDataType:"boolean"},{name:"lastUpdated",serverDataType:"long"}],key:"ric",table:{module:"SIMUL",table:"instruments"}},instrumentPrices:{columns:[{name:"ask",serverDataType:"double"},{name:"askSize",serverDataType:"double"},{name:"bbg",serverDataType:"string"},{name:"bid",serverDataType:"double"},{name:"bidSize",serverDataType:"double"},{name:"close",serverDataType:"double"},{name:"currency",serverDataType:"string"},{name:"description",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"isin",serverDataType:"string"},{name:"last",serverDataType:"double"},{name:"lotSize",serverDataType:"int"},{name:"open",serverDataType:"double"},{name:"phase",serverDataType:"string"},{name:"ric",serverDataType:"string"},{name:"scenario",serverDataType:"string"}],key:"ric",table:{module:"SIMUL",table:"instrumentPrices"}},orders:{columns:[{name:"ccy",serverDataType:"string"},{name:"created",serverDataType:"long"},{name:"filledQuantity",serverDataType:"double"},{name:"lastUpdate",serverDataType:"long"},{name:"orderId",serverDataType:"string"},{name:"quantity",serverDataType:"double"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"trader",serverDataType:"string"}],key:"orderId",table:{module:"SIMUL",table:"orders"}},childOrders:{columns:[{name:"account",serverDataType:"string"},{name:"averagePrice",serverDataType:"double"},{name:"ccy",serverDataType:"string"},{name:"exchange",serverDataType:"string"},{name:"filledQty",serverDataType:"double"},{name:"id",serverDataType:"string"},{name:"idAsInt",serverDataType:"int"},{name:"lastUpdate",serverDataType:"long"},{name:"openQty",serverDataType:"double"},{name:"parentOrderId",serverDataType:"string"},{name:"price",serverDataType:"double"},{name:"quantity",serverDataType:"double"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"strategy",serverDataType:"string"},{name:"volLimit",serverDataType:"int"}],key:"id",table:{module:"SIMUL",table:"childOrders"}},parentOrders:{columns:[{name:"account",serverDataType:"string"},{name:"algo",serverDataType:"string"},{name:"averagePrice",serverDataType:"double"},{name:"ccy",serverDataType:"string"},{name:"childCount",serverDataType:"int"},{name:"exchange",serverDataType:"string"},{name:"filledQty",serverDataType:"double"},{name:"id",serverDataType:"string"},{name:"idAsInt",serverDataType:"int"},{name:"lastUpdate",serverDataType:"long"},{name:"openQty",serverDataType:"double"},{name:"price",serverDataType:"double"},{name:"quantity",serverDataType:"double"},{name:"ric",serverDataType:"string"},{name:"side",serverDataType:"string"},{name:"status",serverDataType:"string"},{name:"volLimit",serverDataType:"int"}],key:"id",table:{module:"SIMUL",table:"parentOrders"}},prices:{columns:[{name:"ask",serverDataType:"double"},{name:"askSize",serverDataType:"double"},{name:"bid",serverDataType:"double"},{name:"bidSize",serverDataType:"double"},{name:"close",serverDataType:"double"},{name:"last",serverDataType:"double"},{name:"open",serverDataType:"double"},{name:"phase",serverDataType:"string"},{name:"ric",serverDataType:"string"},{name:"scenario",serverDataType:"string"}],key:"ric",table:{module:"SIMUL",table:"prices"}}};var Ie=e=>r=>[`row ${r+1}`].concat(Array(e.length).fill(!0).map((t,n)=>`value ${n+2} @ ${r+1}`)),q=(e,r={})=>{if(typeof e=="number")return[{label:"Row Number",name:"rownum",width:150}].concat(Array(e).fill(!0).map((t,n)=>{let a=`column_${n+1}`;return{label:`Column ${n+1}`,name:a,width:100,...r[a]}}));throw Error("DefaultColumnGenerator must be passed columns (number)")},V={ColumnGenerator:q,RowGenerator:Ie},At=e=>{var t,n,a;let r=(t=e==null?void 0:e.table)!=null?t:"";switch(e==null?void 0:e.module){case"SIMUL":{let{ColumnGenerator:o,RowGenerator:s,createUpdateGenerator:i}=(n=simulDataGenerators[r])!=null?n:V;return[o,s,i]}case"BASKET":{let{ColumnGenerator:o,RowGenerator:s,createUpdateGenerator:i}=(a=basketDataGenerators[r])!=null?a:V;return[o,s,i]}case void 0:{let{ColumnGenerator:o,RowGenerator:s}=V;return[o,s]}default:throw Error(`vuu-row-gererator table ${e==null?void 0:e.table} was requested but no generator is registered`)}},Pt=(e,r,t,n)=>{let a=r(n),o=t(a.map(i=>i.name)),s=[];for(let i=0;i<e;i++){let c=o(i);if(c)s[i]=c;else break}return s};var E={TwoHundredColumns:{columns:q(200).map(e=>({...e,serverDataType:"string"})),key:"column01",table:{module:"TEST",table:"TwoHundredColumns"}}};var Pe={...I,...m,...E},Ae={...I,...m,...E},xt=()=>Pe,Et=e=>{if(Ae[e])return Ae[e];throw Error(`getSchema no schema for table ${e}`)};var Ne=require("@vuu-ui/vuu-data-local");var fe={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:dn,IS_LEAF:Cn}=fe;function xe(e){return Array.isArray(e)}function Nt(e){return!Array.isArray(e)}var b,Q=class{constructor(){R(this,b,new Map)}addListener(r,t){let n=u(this,b).get(r);n?xe(n)?n.push(t):Nt(n)&&u(this,b).set(r,[n,t]):u(this,b).set(r,t)}removeListener(r,t){if(!u(this,b).has(r))return;let n=u(this,b).get(r),a=-1;if(n===t)u(this,b).delete(r);else if(Array.isArray(n)){for(let o=length;o-- >0;)if(n[o]===t){a=o;break}if(a<0)return;n.length===1?(n.length=0,u(this,b).delete(r)):n.splice(a,1)}}removeAllListeners(r){r&&u(this,b).has(r)?u(this,b).delete(r):r===void 0&&u(this,b).clear()}emit(r,...t){if(u(this,b)){let n=u(this,b).get(r);n&&this.invokeHandler(n,t)}}once(r,t){let n=(...a)=>{this.removeListener(r,n),t(...a)};this.on(r,n)}on(r,t){this.addListener(r,t)}hasListener(r,t){let n=u(this,b).get(r);return Array.isArray(n)?n.includes(t):n===t}invokeHandler(r,t){if(xe(r))r.slice().forEach(n=>this.invokeHandler(n,t));else switch(t.length){case 0:r();break;case 1:r(t[0]);break;case 2:r(t[0],t[1]);break;default:r.call(null,...t)}}};b=new WeakMap;var Ee=new Map,kt=(e,r,t="")=>{let n,a=Ee.get(e);if(a&&a.has(r))n=a.get(r);else{let{data:o,map:s}=e,i=s[r];n=[];let c=new Set;for(let T of o){let g=T[i];c.has(g)||(c.add(g),n.push(g))}n.sort(),a?a.set(r,n):Ee.set(e,new Map([[r,n]]))}return t?n.filter(o=>o.toString().startsWith(t)):n},F=(e,r,t)=>new Promise(n=>{let a=kt(e,r,t),o=a.length>20?a==null?void 0:a.slice(0,20).map(s=>s.toString()):a.map(s=>s.toString());setTimeout(()=>n(o),100)});var ee,_,O,N=class extends Ne.ArrayDataSource{constructor({data:t,menuRpcServices:n,rpcServices:a,table:o,menu:s,...i}){var c;if(t===void 0&&o===void 0)throw Error("TickingArrayDataSource must be constructed with data");super({...i,data:(c=t!=null?t:o==null?void 0:o.data)!=null?c:[]});R(this,ee,void 0);R(this,_,void 0);R(this,O,void 0);this._menu=s,x(this,ee,n),x(this,_,a),x(this,O,o),o&&(o.on("insert",this.insert),o.on("update",this.updateRow))}async subscribe(t,n){return super.subscribe(t,n)}set range(t){super.range=t}get range(){return super.range}getSelectedRows(){return this.selectedRows.reduce((t,n)=>{if(Array.isArray(n))n.forEach(a=>{let o=this.data[a];o&&t.push(o)});else{let a=this.data[n];a&&t.push(a)}return t},[])}applyEdit(t,n,a){var s;let o=t[fe.KEY];return(s=u(this,O))==null||s.update(o,n,a),Promise.resolve(!0)}async rpcCall(t){var a;let n=(a=u(this,_))==null?void 0:a.find(o=>o.rpcName===t.rpcName);if(n)return n.service({...t});console.log(`no implementation for PRC service ${t.rpcName}`)}async menuRpcCall(t){var a;let n=(a=u(this,_))==null?void 0:a.find(o=>o.rpcName===t.rpcName);if(n)switch(t.type){case"VIEW_PORT_MENUS_SELECT_RPC":{let o=this.getSelectedRows();return n.service({...t,selectedRows:o})}default:}return super.menuRpcCall(t)}getTypeaheadSuggestions(t,n){if(u(this,O))return F(u(this,O),t,n);throw Error("cannot call getTypeaheadSuggestions on TickingDataSOurce if table has not been provided")}};ee=new WeakMap,_=new WeakMap,O=new WeakMap;var S,U,k,W,J,p=class extends Q{constructor(t,n,a,o){super();R(this,S,void 0);R(this,U,void 0);R(this,k,void 0);R(this,W,new Map);R(this,J,void 0);x(this,S,n),x(this,U,a),x(this,J,t),x(this,k,a[t.key]),this.buildIndex(),o==null||o.setTable(this),o==null||o.setRange({from:0,to:100})}buildIndex(){for(let t=0;t<u(this,S).length;t++){let n=u(this,S)[t][u(this,k)];u(this,W).set(n,t)}}get data(){return u(this,S)}get map(){return u(this,U)}get schema(){return u(this,J)}insert(t){let n=u(this,S).length;u(this,S).push(t);let a=t[u(this,k)];u(this,W).set(a,n),this.emit("insert",t)}findByKey(t){var a;let n=(a=u(this,W).get(t))!=null?a:-1;return u(this,S)[n]}update(t,n,a){let o=u(this,S).findIndex(i=>i[u(this,k)]===t),s=u(this,U)[n];if(o!==-1){let c=u(this,S)[o].slice();c[s]=a,u(this,S)[o]=c,this.emit("update",c,n)}}updateRow(t){let n=t[u(this,k)],a=u(this,S).findIndex(o=>o[u(this,k)]===n);a!==-1&&(u(this,S)[a]=t,this.emit("update",t))}};S=new WeakMap,U=new WeakMap,k=new WeakMap,W=new WeakMap,J=new WeakMap;var f=e=>Object.values(e.columns).reduce((r,t,n)=>(r[t.name]=n,r),{}),Bt=(e,{columns:r,table:t},{columns:n,table:a})=>{let o=r.find(i=>i.name===e),s=n.find(i=>i.name===e);if(o&&s){if(o.serverDataType===s.serverDataType)return o.serverDataType;throw Error(`both tables ${t.table} and ${a.table} implement column ${e}, but with types differ`)}else{if(o)return o.serverDataType;if(s)return s.serverDataType;throw Error("WTF how is this possible")}},z=(e,r,t,n)=>{let{map:a,schema:o}=r,{map:s,schema:i}=t,c=a[n],T=s[n],g=new Set([...o.columns,...i.columns].map(C=>C.name).sort()),d={key:n,table:e,columns:Array.from(g).map(C=>({name:C,serverDataType:Bt(C,o,i)}))},A=[],h=f(d);for(let C of r.data){let P=t.findByKey(String(C[c]));if(P){let M=[];for(let y of r.schema.columns){let v=C[a[y.name]];M[h[y.name]]=v}for(let y of t.schema.columns){let v=P[s[y.name]];M[h[y.name]]=v}A.push(M)}}let L=new p(d,A,h);return r.on("insert",C=>{let P=t.findByKey(String(C[c]));if(P){let M=[];for(let y of r.schema.columns){let v=C[a[y.name]];M[h[y.name]]=v}for(let y of t.schema.columns){let v=P[s[y.name]];M[h[y.name]]=v}L.insert(M)}}),t.on("update",C=>{let P=C[T],M=L.findByKey(P);if(M){let y=M.slice();for(let{name:v}of t.schema.columns)C[s[v]]!==y[h[v]]&&(y[h[v]]=C[s[v]]);L.updateRow(y)}}),L};function l(e,r){return e=Math.ceil(e),r=Math.floor(r),Math.floor(Math.random()*(r-e+1))+e}var te=(e,r)=>e+(r-e)*Math.random(),ke=(e,r)=>{let t=r(0,1e3),n=r(t-e,t-1),a=r(t+1,t+e),o=n<0?t:n,s=Math.round(o*100)/100,i=Math.round(a*100)/100;return[s,i]},wt=(e,r,t,n)=>{let a=r-e;return Math.min(r+t*a,a/2+e+n)},Ht=(e,r)=>Math.max(e+1,(r-e)/2+e),Gt=(e,r)=>{let t=Math.min(r-1,(r-e)/2+e);return t<1?e+1:t},Ot=(e,r,t,n)=>{let a=r-e,o=a/2+e,s=Math.max(e-Math.min(t*a,10),o-n);return s<0?e:s},Be=(e,r,t,n,a)=>{let o=r;Math.abs(e-r)<=1&&(o=r+1);let s=Ot(e,o,t,n),i=Gt(e,o),c=Ht(e,o),T=wt(e,o,t,n),g=Math.round(a(s,i)*100)/100,d=Math.round(a(c,T)*100)/100;return[g,d]};var Kt=e=>{let r=l(0,100)/1e3,t=l(0,10)>=5?1:-1;return e+e*r*t},X=class{constructor(r){this.updating=!1;this.update=()=>{var r;if(this.range&&this.table){let t=(r=this.table)==null?void 0:r.data,{bid:n,ask:a,last:o,...s}=this.tickingColumns;if(t&&(t==null?void 0:t.length)>0){let i=Math.min(this.range.to,t.length);for(let c=this.range.from;c<i;c++){let T=0;if(l(0,10)<2){let d=this.table.data[c],A=t[c];if(n!==void 0&&a!==void 0){let{[n]:h,[a]:L}=A,[C,P]=Be(h,L,10,5,te);if(d[a]=P,d[n]=C,o!==void 0){let M=Math.round((L+(P-L)/2)*100)/100;d[o]=M}}for(let h of Object.values(s))if(l(0,10)<5){T+=1;let C=Kt(A[h]);this.table&&(d[h]=C)}this.table&&T>0&&this.table.updateRow(d)}}}}this.updating&&(this.timer=window.setTimeout(this.update,500))};this.tickingColumns=r}setRange(r){this.range=r,!this.updating&&this.table&&this.startUpdating()}setTable(r){this.table=r}startUpdating(){this.updating=!0,this.update()}stopUpdating(){this.updating=!1,this.timer&&(window.clearTimeout(this.timer),this.timer=void 0)}};var we=[["AAL.L","Anglo American PLC","436.35 13:13","5.35 (1.24%)","5,799,089"],["ABF.L","Associated British Foods PLC","3,435.60 13:12","7.40 (0.21%)","86,808"],["ADM.L","Admiral Group PLC","1,627.00 13:13",""],["ADN.L","Aberdeen Asset Management PLC","334.00 13:13","2.50 (0.75%)","806,880"],["AHT.L","Ashtead Group PLC","1,027.00 13:13","6.00 (0.59%)","331,255"],["ANTO.L","Antofagasta PLC","484.10 13:13","11.70 (2.48%)","1,753,976"],["ARM.L","ARM Holdings PLC","1,058.00 13:13","3.00 (0.28%)","475,927"],["AV.L","Aviva PLC","493.97 13:13","2.23 (0.45%)","2,226,835"],["AZN.L","AstraZeneca PLC","4,399.50 13:13","2.50 (0.06%)","815,133"],["BA.L","BAE Systems PLC","478.10 13:13","4.30 (0.91%)","2,039,934"],["BAB.L","Babcock International Group PLC","988.00 13:13","9.50 (0.97%)","209,614"],["BARC.L","Barclays PLC","226.30 13:13","1.15 (0.51%)","6,575,664"],["BATS.L","British American Tobacco PLC","3,803.50 13:13","8.50 (0.22%)","465,110"],["BDEV.L","Barratt Developments PLC","576.00 13:13","0.50 (0.09%)","1,044,365"],["BG.L","BG Group PLC","1,013.50 13:13","5.50 (0.55%)","1,507,332"],["BKG.L","Berkeley Group Holdings (The) PLC","3,126.00 13:13","15.00 (0.48%)","95,071"],["BLND.L","British Land Co PLC","828.06 13:12","10.44 (1.25%)","1,802,548"],["BLT.L","BHP Billiton PLC","881.40 13:13","4.30 (0.49%)","4,947,287"],["BNZL.L","Bunzl PLC","1,875.40 13:05","4.60 (0.24%)","104,541"],["BP.L","BP PLC","381.50 13:13","2.95 (0.78%)","10,493,561"],["BRBY.L","Burberry Group PLC","1,269.00 13:13","7.00 (0.55%)","295,647"],["BT-A","L,BT Group PLC","489.20 13:13","3.70 (0.75%)","3,914,982"],["CCL.L","Carnival PLC","3,426.00 13:12","22.00 (0.64%)","86,257"],["CNA.L","Centrica PLC","212.80 13:13","0.60 (0.28%)","2,144,540"],["CPG.L","Compass Group PLC","1,054.00 13:08","5.00 (0.48%)","1,001,167"],["CPI.L","Capita PLC","1,235.00 13:11","1.00 (0.08%)","244,591"],["CRH.L","CRH PLC","1,783.20 13:12","17.80 (0.99%)","897,325"],["DC.L","DIXONS CARPHONE","462.10 13:11",""],["DGE.L","Diageo PLC","1,881.50 13:13","6.50 (0.34%)","756,906"],["DLG.L","Direct Line Insurance Group PLC","403.80 13:13","0.40 (0.10%)","1,095,340"],["EXPN.L","Experian PLC","1,191.00 13:12","2.00 (0.17%)","467,283"],["EZJ.L","easyJet PLC","1,682.00 13:12","28.00 (1.64%)","1,191,230"],["FRES.L","Fresnillo PLC","678.50 13:12","6.50 (0.97%)","381,871"],["GFS.L","G4S PLC","232.30 13:03","2.00 (0.85%)","1,096,551"],["GKN.L","GKN PLC","294.80 13:12","2.50 (0.86%)","792,247"],["GLEN.L","Glencore PLC","90.48 13:13","1.65 (1.86%)","41,631,528"],["GSK.L","GlaxoSmithKline PLC","1,345.00 13:13","0.50 (0.04%)","1,767,356"],["HIK.L","Hikma Pharmaceuticals PLC","2,010.00 13:04","57.00 (2.92%)","261,511"],["HL.L","Hargreaves Lansdown PLC","1,488.03 13:12","9.97 (0.67%)","372,261"],["HMSO.L","Hammerson PLC","597.50 13:11","3.50 (0.58%)","478,301"],["HSBA.L","HSBC Holdings PLC","519.70 13:13","0.50 (0.10%)","7,415,629"],["IAG.L","International Consolidated Airlines Group SA","575.40 13:12","16.10 (2.72%)","4,311,514"],["IHG.L","InterContinental Hotels Group PLC","2,481.00 13:12","19.00 (0.76%)","219,918"],["III.L","3i Group PLC","487.30 13:11","4.50 (0.92%)","189,987"],["IMT.L","Imperial Tobacco Group PLC","3,571.00 13:13","29.00 (0.81%)","926,816"],["INTU.L","intu properties PLC","319.90 13:09","4.60 (1.42%)","514,821"],["ISAT.L","Inmarsat PLC","1,054.44 13:13","3.44 (0.33%)","988,089"],["ITRK.L","Intertek Group PLC","2,643.00 13:14","3.00 (0.11%)","45,868"],["ITV.L","ITV PLC","267.30 13:14","2.60 (0.96%)","3,453,208"],["JMAT.L","Johnson Matthey PLC","2,445.00 13:14","29.00 (1.20%)","276,397"],["KGF.L","Kingfisher PLC","346.20 13:14","4.30 (1.23%)","1,021,408"],["LAND.L","Land Securities Group PLC","1,239.00 13:13","7.00 (0.56%)","384,973"],["LGEN.L","Legal & General Group PLC","266.00 13:14","1.60 (0.60%)","1,998,399"],["LLOY.L","Lloyds Banking Group PLC","73.86 13:14","0.02 (0.03%)","18,907,878"],["LSE.L","London Stock Exchange Group PLC","2,544.00 13:11","6.00 (0.24%)","129,657"],["MGGT.L","Meggitt PLC","386.00 13:15","3.20 (0.84%)","611,044"],["MKS.L","Marks & Spencer Group PLC","514.75 13:12","3.25 (0.63%)","920,128"],["MNDI.L","Mondi PLC","1,463.00 13:14","7.00 (0.48%)","383,546"],["MRW.L","Morrison (Wm) Supermarkets PLC","155.20 13:14",""],["NG.L","National Grid PLC","926.40 13:14","1.10 (0.12%)","1,659,592"],["NXT.L","Next PLC","7,765.00 13:11","95.00 (1.21%)","114,062"],["OML.L","Old Mutual PLC","198.50 13:14","0.40 (0.20%)","2,040,849"],["PRU.L","Prudential PLC","1,499.50 13:15","14.00 (0.93%)","580,870"],["PSON.L","Pearson PLC","794.00 13:09","5.00 (0.63%)","1,177,953"],["RB.L","Reckitt Benckiser Group PLC","6,293.00 13:14","34.00 (0.54%)","281,172"],["RBS.L","Royal Bank of Scotland Group PLC","313.40 13:14","2.40 (0.77%)","2,100,058"],["RDSA.L","Royal Dutch Shell PLC","1,636.00 13:14","18.00 (1.11%)","2,467,461"],["RDSB.L","Royal Dutch Shell PLC","1,652.00 13:15","14.50 (0.89%)","1,457,434"],["REL.L","Reed Elsevier PLC","1,170.00 13:14","0.00 (0.00%)","908,802"],["RIO.L","Rio Tinto PLC","2,235.00 13:15","21.00 (0.95%)","2,190,722"],["RMG.L","Royal Mail PLC","453.50 13:14","1.20 (0.26%)","995,316"],["RR.L","Rolls-Royce Group PLC","546.63 13:14","8.38 (1.51%)","2,792,915"],["RRS.L","Randgold Resources Ltd","3,929.00 13:14","0.00 (0.00%)","135,524"],["RSA.L","RSA Insurance Group PLC","437.10 13:14","0.10 (0.02%)","395,477"],["SAB.L","SABMiller PLC","4,011.00 13:15","1.00 (0.02%)","892,451"],["SBRY.L","Sainsbury (J) PLC","255.80 13:14","7.40 (2.98%)","2,395,670"],["SDR.L","Schroders PLC","2,930.00 13:09","12.00 (0.41%)","44,674"],["SGE.L","Sage Group (The) PLC","545.50 13:13","0.50 (0.09%)","539,717"],["SHP.L","Shire PLC","4,685.00 13:14","22.00 (0.47%)","221,318"],["SKY.L","SKY","1,095.00 13:12","4.00 (0.37%)","925,016"],["SL.L","Standard Life PLC","399.90 13:14","3.20 (0.79%)","861,636"],["SMIN.L","Smiths Group PLC","992.50 13:14","27.50 (2.70%)","640,309"],["SN.L","Smith & Nephew PLC","1,110.00 13:14","9.00 (0.82%)","480,018"],["SPD.L","Sports Direct International PLC","694.50 13:11","1.50 (0.22%)","157,981"],["SSE.L","SSE PLC","1,463.00 13:13","2.00 (0.14%)","562,454"],["STAN.L","Standard Chartered PLC","583.00 13:14","0.60 (0.10%)","2,018,697"],["STJ.L","St James's Place PLC","964.00 13:14","11.00 (1.13%)","418,480"],["SVT.L","Severn Trent PLC","2,199.00 13:12","1.00 (0.05%)","95,342"],["TPK.L","Travis Perkins PLC","1,945.00 13:13","4.00 (0.21%)","92,916"],["TSCO.L","Tesco PLC","171.54 13:14","2.54 (1.50%)","9,831,136"],["TUI.L","TUI AG","1,115.00 13:10","5.00 (0.45%)","458,970"],["TW.L","Taylor Wimpey PLC","183.90 13:15","1.10 (0.59%)","3,180,729"],["ULVR.L","Unilever PLC","2,791.00 13:14","29.00 (1.03%)","824,827"],["UU.L","United Utilities Group PLC","959.00 13:10","2.50 (0.26%)","436,911"],["VOD.L","Vodafone Group PLC","224.25 13:15","1.30 (0.58%)","17,572,036"],["WOS.L","Wolseley PLC","3,657.00 13:14","4.00 (0.11%)","179,536"],["WPP.L","WPP PLC","1,502.00 13:15","12.00 (0.79%)","857,887"],["WTB.L","Whitbread PLC","4,484.00 13:16","60.00 (1.32%)","141,036"]];var He=[["Apple Inc","AAPL",11.007,174.94,.15,"(0.09%)"],["Microsoft Corp","MSFT",9.61,316.98,-.03,"(-0.01%)"],["Amazon.com Inc","AMZN",5.401,129.31,.19,"(0.14%)"],["NVIDIA Corp","NVDA",4.101,415.74,-.36,"(-0.09%)"],["Meta Platforms Inc","META",3.729,299.42,.34,"(0.11%)"],["Tesla Inc","TSLA",3.285,244.13,-.75,"(-0.31%)"],["Alphabet Inc","GOOGL",3.133,130.49,.24,"(0.18%)"],["Alphabet Inc","GOOG",3.085,131.49,.24,"(0.18%)"],["Broadcom Inc","AVGO",2.896,833.04,3.96,"(0.48%)"],["Costco Wholesale Corp","COST",2.137,557.85,-.74,"(-0.13%)"],["PepsiCo Inc","PEP",2.096,174.84,-.43,"(-0.25%)"],["Adobe Inc","ADBE",2.033,511.42,-1.48,"(-0.29%)"],["Cisco Systems Inc","CSCO",1.887,53.68,.11,"(0.20%)"],["Comcast Corp","CMCSA",1.633,45.3,-.01,"(-0.01%)"],["Netflix Inc","NFLX",1.478,379.89,.08,"(0.02%)"],["T-Mobile US Inc","TMUS",1.43,140.18,.83,"(0.60%)"],["Advanced Micro Devices Inc","AMD",1.348,96.09,-.11,"(-0.12%)"],["Texas Instruments Inc","TXN",1.264,161,.69,"(0.43%)"],["Intel Corp","INTC",1.26,34.19,.01,"(0.01%)"],["Amgen Inc","AMGN",1.251,271.18,3.48,"(1.30%)"],["Intuit Inc","INTU",1.226,509,.43,"(0.08%)"],["Honeywell International Inc","HON",1.103,188.67,-1.12,"(-0.59%)"],["QUALCOMM Inc","QCOM",1.046,107.53,-.16,"(-0.14%)"],["Applied Materials Inc","AMAT",.982,136.32,.15,"(0.11%)"],["Booking Holdings Inc","BKNG",.941,3,19.2,-43.3,"(-1.42%)"],["Starbucks Corp","SBUX",.926,93.8,.12,"(0.12%)"],["Intuitive Surgical Inc","ISRG",.867,288.5,.3,"(0.10%)"],["Automatic Data Processing Inc","ADP",.854,239.45,.1,"(0.04%)"],["Mondelez International Inc","MDLZ",.835,71.25,.82,"(1.16%)"],["Gilead Sciences Inc","GILD",.814,75.47,.46,"(0.61%)"],["Vertex Pharmaceuticals Inc","VRTX",.794,353.67,4.14,"(1.18%)"],["Regeneron Pharmaceuticals Inc","REGN",.763,828.09,3.25,"(0.39%)"],["Analog Devices Inc","ADI",.752,176.82,1.34,"(0.76%)"],["Lam Research Corp","LRCX",.702,620,.89,"(0.14%)"],["Micron Technology Inc","MU",.646,68.9,.02,"(0.03%)"],["Palo Alto Networks Inc","PANW",.604,228.7,.19,"(0.08%)"],["Synopsys Inc","SNPS",.587,447.12,.27,"(0.06%)"],["Charter Communications Inc","CHTR",.581,441.88,-3.33,"(-0.75%)"],["MercadoLibre Inc","MELI",.562,1,275.5,-1.47,"(-0.11%)"],["PayPal Holdings Inc","PYPL",.559,57.9,.02,"(0.03%)"],["CSX Corp","CSX",.54,31.23,.03,"(0.09%)"],["Cadence Design Systems Inc","CDNS",.539,230.83,.17,"(0.07%)"],["KLA Corp","KLAC",.53,456.11,4.29,"(0.95%)"],["PDD Holdings Inc ADR","PDD",.521,95.93,-.01,"(-0.01%)"],["Marriott International Inc/MD","MAR",.505,193.9,-.46,"(-0.23%)"],["Monster Beverage Corp","MNST",.498,54.48,-.04,"(-0.08%)"],["Airbnb Inc","ABNB",.491,132.09,-.11,"(-0.08%)"],["O'Reilly Automotive Inc","ORLY",.485,936.67,.65,"(0.07%)"],["Cintas Corp","CTAS",.446,505.27,.52,"(0.10%)"],["ASML Holding NV","ASML",.438,585,-2.1,"(-0.36%)"],["NXP Semiconductors NV","NXPI",.434,196.76,-.04,"(-0.02%)"],["Workday Inc","WDAY",.414,235.55,4.73,"(2.05%)"],["Lululemon Athletica Inc","LULU",.405,386.36,-1.69,"(-0.44%)"],["Keurig Dr Pepper Inc,KDP",.404,33.25,.13,"(0.39%)"],["Fortinet Inc","FTNT",.401,58.29,.05,"(0.09%)"],["Marvell Technology Inc","MRVL",.388,52.38,.08,"(0.14%)"],["PACCAR Inc","PCAR",.38,84.97,.04,"(0.04%)"],["Old Dominion Freight Line Inc","ODFL",.38,401.01,.35,"(0.09%)"],["Autodesk Inc","ADSK",.379,204.07,.03,"(0.01%)"],["Kraft Heinz Co/The","KHC",.368,34.27,.11,"(0.31%)"],["Microchip Technology Inc","MCHP",.36,77,-.08,"(-0.10%)"],["Copart Inc","CPRT",.358,43.26,.1,"(0.22%)"],["American Electric Power Co Inc","AEP",.357,79.23,.06,"(0.08%)"],["Paychex Inc","PAYX",.355,113.01,.06,"(0.06%)"],["Exelon Corp","EXC",.35,40.28,.07,"(0.16%)"],["ON Semiconductor Corp","ON",.341,93.87,.06,"(0.06%)"],["AstraZeneca PLC ADR","AZN",.339,67.35,-.49,"(-0.72%)"],["Seagen Inc","SGEN",.336,212.18,-1.52,"(-0.71%)"],["Ross Stores Inc","ROST",.335,111.71,.05,"(0.04%)"],["Moderna Inc","MRNA",.331,100.32,.33,"(0.33%)"],["Biogen Inc","BIIB",.326,257.93,.25,"(0.10%)"],["Crowdstrike Holdings Inc","CRWD",.319,162.85,.28,"(0.17%)"],["IDEXX Laboratories Inc","IDXX",.316,439.41,3.72,"(0.85%)"],["Baker Hughes Co","BKR",.307,35.44,.04,"(0.10%)"],["Constellation Energy Corp","CEG",.307,110.41,.05,"(0.04%)"],["Cognizant Technology Solutions Corp","CTSH",.303,70.19,.58,"(0.83%)"],["Verisk Analytics Inc","VRSK",.303,242.05,.1,"(0.04%)"],["Dexcom Inc","DXCM",.3,88.3,.8,"(0.92%)"],["Trade Desk Inc/The","TTD",.293,76.38,.03,"(0.03%)"],["Xcel Energy Inc","XEL",.284,59.76,.03,"(0.04%)"],["Electronic Arts Inc","EA",.279,118.38,-.63,"(-0.53%)"],["CoStar Group Inc","CSGP",.277,78.18,.12,"(0.15%)"],["GLOBALFOUNDRIES Inc","GFS",.273,57.21,.38,"(0.67%)"],["Fastenal Co","FAST",.268,54.32,.11,"(0.20%)"],["Atlassian Corp","TEAM",.253,196.01,.55,"(0.28%)"],["GE HealthCare Technologies Inc","GEHC",.252,63.78,-.56,"(-0.86%)"],["Warner Bros Discovery Inc","WBD",.244,11.09,-.02,"(-0.14%)"],["Diamondback Energy Inc","FANG",.235,150.7,.13,"(0.09%)"],["Datadog Inc","DDOG",.23,88.81,.05,"(0.06%)"],["ANSYS Inc","ANSS",.227,300.6,-2.31,"(-0.76%)"],["eBay Inc","EBAY",.203,43.22,.09,"(0.20%)"],["Dollar Tree Inc","DLTR",.201,104.77,.27,"(0.25%)"],["Align Technology Inc","ALGN",.2,297.25,-1.31,"(-0.44%)"],["Zscaler Inc","ZS",.188,151.8,.09,"(0.06%)"],["Illumina Inc","ILMN",.183,132.31,-.13,"(-0.10%)"],["Walgreens Boots Alliance Inc","WBA",.161,21.18,.06,"(0.28%)"],["Zoom Video Communications Inc","ZM",.151,68.57,-.29,"(-0.41%)"],["Enphase Energy Inc","ENPH",.148,120.41,.49,"(0.41%)"],["Sirius XM Holdings Inc","SIRI",.137,4.05,.02,"(0.50%)"],["JD.com Inc ADR","JD",.117,30.43,.02,"(0.05%)"],["Lucid Group Inc","LCID",.102,5.14,.03,"(0.49%)"]];var Ge=[["Apple Inc","AAPL",6.992488,171.9,1.47,"(0.86%)"],["Microsoft Corp","MSFT",6.487978,314.55,1.76,"(0.56%)"],["Amazon.com Inc","AMZN",3.193379,126.25,.27,"(0.22%)"],["Nvidia Corp","NVDA",2.928461,433.11,8.43,"(1.99%)"],["Alphabet Inc Cl A","GOOGL",2.162218,132.93,2.39,"(1.83%)"],["Tesla Inc","TSLA",1.854311,246.56,6.06,"(2.52%)"],["Alphabet Inc Cl C","GOOG",1.85251,133.81,2.35,"(1.78%)"],["Meta Platforms Inc Class A","META",1.847731,305.93,8.19,"(2.75%)"],["Berkshire Hathaway Inc Cl B","BRK.B",1.82184,358.67,.89,"(0.25%)"],["Exxon Mobil Corp","XOM",1.343563,118.97,-1.23,"(-1.03%)"],["Unitedhealth Group Inc","UNH",1.302884,510.04,6.31,"(1.25%)"],["Eli Lilly & Co","LLY",1.224046,546.65,-3.11,"(-0.57%)"],["Jpmorgan Chase & Co","JPM",1.182918,148.23,2.45,"(1.68%)"],["Johnson & Johnson W/d","JNJ",1.056344,156.83,-.28,"(-0.18%)"],["Visa Inc Class a Shares","V",1.029636,231.97,2.47,"(1.08%)"],["Procter & Gamble Co","PG",.969793,145.75,-1.59,"(-1.08%)"],["Broadcom Inc","AVGO",.941177,835.33,18.52,"(2.27%)"],["Mastercard Inc A","MA",.918779,400.65,5.17,"(1.31%)"],["Chevron Corp","CVX",.847353,170.55,-.49,"(-0.28%)"],["Home Depot Inc","HD",.847289,304.35,2.53,"(0.84%)"],["Abbvie Inc","BBV",.754672,152.14,-.99,"(-0.65%)"],["Merck & Co. Inc.","MRK",.736434,104.2,.26,"(0.25%)"],["Costco Wholesale Corp","COST",.697258,569.05,5.52,"(0.98%)"],["Pepsico Inc","PEP",.651768,168.92,-.65,"(-0.38%)"],["Walmart Inc","WMT",.644449,161.87,.15,"(0.09%)"],["Adobe Inc","ADBE",.639652,507.17,4.57,"(0.91%)"],["Coca Cola Co","KO",.60801,55.82,-.13,"(-0.23%)"],["Cisco Systems Inc","CSCO",.605326,53.97,.77,"(1.44%)"],["Accenture Plc Cl A","ACN",.55372,298.5,-15.9,"(-5.05%)"],["Salesforce Inc","CRM",.551342,204.46,1.73,"(0.85%)"],["Thermo Fisher Scientific Inc","TMO",.536951,503.47,5.18,"(1.04%)"],["Mcdonald S Corp","MCD",.536457,265.83,2.19,"(0.83%)"],["Bank of America Corp","BAC",.526405,27.51,.24,"(0.86%)"],["Comcast Corp Class A","CMCSA",.512537,45.17,.57,"(1.27%)"],["Linde Plc","LIN",.506835,375.48,3.47,"(0.93%)"],["Pfizer Inc","PFE",.506043,32.09,-.02,"(-0.05%)"],["Netflix Inc","NFLX",.467192,377.77,.18,"(0.05%)"],["Abbott Laboratories","ABT",.462893,97.52,1.99,"(2.08%)"],["Oracle Corp","ORCL",.459877,106.29,1.67,"(1.60%)"]];var Oe=[["CKH HOLDINGS","00001.HK",41.9,1.15,"+2.822%","5.15M","215.13M",4.38,.31,"6.98%","160.48B"],["CLP HOLDINGS","00002.HK",57.95,-.1,"-0.172%","3.32M","193.19M",156.62,1.39,"5.35%","146.41B"],["HK & CHINA GAS","00003.HK",5.46,.13,"+2.439%","16.16M","88.00M",19.43,1.66,"6.41%","101.88B"],["HSBC HOLDINGS,00005.HK",61.7,1.1,"+1.815%","22.19M","1.37B",10.54,.86,"4.05%",1,"227.60B"],["POWER ASSETS","00006.HK",37.9,-.25,"-0.655%","4.23M","160.75M",14.3,.93,"7.44%","80.77B"],["HANG SENG BANK","00011.HK",97.45,2.95,"+3.122%","2.54M","247.44M",19.69,1.01,"4.21%","186.31B"],["HENDERSON LAND","00012.HK",20.65,.85,"+4.293%","5.07M","103.70M",10.81,.31,"8.72%","99.97B"],["SHK PPT","00016.HK",83.8,3.25,"+4.035%","8.25M","685.41M",10.16,.4,"5.91%","242.83B"],["NEW WORLD DEV","00017.HK",15.24,.8,"+5.540%","12.95M","196.19M",30.48,.18,"13.52%","38.35B"],["GALAXY ENT","00027.HK",47.15,1.9,"+4.199%","11.97M","560.21M","No Profit",3.22,"0.00%","206.21B"],["MTR CORPORATION","00066.HK",31,.8,"+2.649%","4.68M","144.86M",19.5,1.07,"4.23%","192.64B"],["HANG LUNG PPT","00101.HK",10.72,.56,"+5.512%","7.68M","81.99M",12.61,.36,"7.28%","48.23B"],["GEELY AUTO","00175.HK",9.24,.17,"+1.874%","18.77M","173.30M",16.06,1.15,"2.27%","92.99B"],["ALI HEALTH","00241.HK",4.88,.47,"+10.658%","53.62M","257.82M",108.09,3.81,"0.00%","66.04B"],["CITIC","00267.HK",7.2,.2,"+2.857%","11.54M","82.96M",2.78,.28,"9.04%","209.45B"],["WH GROUP","00288.HK",4.11,.08,"+1.985%","18.94M","77.65M",4.93,.7,"7.30%","52.73B"],["CHINA RES BEER","00291.HK",42.95,1.2,"+2.874%","4.83M","207.98M",28.41,4.57,"1.41%","139.34B"],["OOIL","00316.HK",104.5,-.4,"-0.381%","296.54K","30.98M",.89,.66,"78.90%","69.01B"],["TINGYI","00322.HK",10.94,.18,"+1.673%","2.91M","31.81M",20.75,4.09,"9.39%","61.64B"],["SINOPEC CORP","00386.HK",4.28,-.01,"-0.233%","92.43M","396.61M",6.94,.58,"9.36%","105.92B"],["HKEX","00388.HK",292.6,9,"+3.173%","4.61M","1.34B",36.76,7.46,"2.44%","370.97B"],["TECHTRONIC IND","00669.HK",76,1.35,"+1.808%","5.47M","414.78M",16.54,3.43,"2.43%","139.45B"],["CHINA OVERSEAS","00688.HK",16.24,.52,"+3.308%","13.15M","212.60M",6.76,.44,"4.93%","177.74B"],["TENCENT","00700.HK",306.2,8.8,"+2.959%","11.25M","3.43B",13.74,3.6,"0.78%",2,"926.16B"],["CHINA UNICOM","00762.HK",5.68,-.05,"-0.873%","9.23M","52.77M",9.16,.45,"5.44%","173.80B"],["LINK REIT","00823.HK",38.4,1.45,"+3.924%","12.04M","460.96M",5.42,.52,"7.03%","98.38B"],["CHINA RES POWER","00836.HK",14.94,.32,"+2.189%","9.91M","147.81M",10.23,.87,"3.92%","71.87B"],["PETROCHINA","00857.HK",5.9,0,"0.000%","64.23M","380.44M",6.38,.7,"8.08%","124.48B"],["XINYI GLASS","00868.HK",10.14,.17,"+1.705%","3.75M","38.02M",8.01,1.3,"6.11%","42.22B"],["ZHONGSHENG HLDG","00881.HK",22.05,1.45,"+7.039%","6.76M","147.71M",7.08,1.07,"4.94%","52.72B"],["CNOOC","00883.HK",13.78,-.02,"-0.145%","26.37M","365.08M",4.03,.97,"19.09%","655.47B"],["CCB","00939.HK",4.42,.06,"+1.376%","233.61M","1.03B",3.06,.35,"9.93%",1,"062.64B"],["CHINA MOBILE","00941.HK",65.7,.25,"+0.382%","7.82M","516.10M",9.91,.96,"6.71%",1,"404.46B"],["LONGFOR GROUP","00960.HK",14.08,.9,"+6.829%","10.88M","150.68M",3.06,.55,"9.05%","92.81B"],["XINYI SOLAR","00968.HK",5.86,.28,"+5.018%","15.99M","92.88M",13.64,1.75,"3.41%","52.17B"],["SMIC","00981.HK",20.05,.25,"+1.263%","13.10M","264.32M",11.17,1.06,"0.00%","159.31B"],["LENOVO GROUP","00992.HK",8.07,.25,"+3.197%","33.60M","270.50M",7.61,2.23,"4.71%","97.87B"],["CKI HOLDINGS","01038.HK",37.05,-.2,"-0.537%","1.44M","53.73M",12.03,.78,"6.83%","93.35B"],["HENGAN INT'L","01044.HK",24.95,.2,"+0.808%","2.62M","64.97M",13.35,1.32,"6.33%","28.99B"],["CHINA SHENHUA","01088.HK",25.4,.35,"+1.397%","7.98M","203.11M",6.14,1.13,"11.33%","85.79B"],["CSPC PHARMA","01093.HK",5.74,.05,"+0.879%","29.29M","167.41M",9.96,2.01,"3.66%","68.32B"],["SINOPHARM","01099.HK",22.7,.2,"+0.889%","2.07M","46.80M",7.37,.92,"4.08%","30.46B"],["CHINA RES LAND","01109.HK",31.2,1,"+3.311%","9.88M","305.88M",7.02,.81,"5.07%","222.49B"],["CK ASSET","01113.HK",41.25,1.25,"+3.125%","8.57M","352.44M",6.9,.39,"5.53%","146.47B"],["SINO BIOPHARM","01177.HK",2.83,.02,"+0.712%","26.30M","74.09M",18.37,1.59,"4.24%","53.21B"],["CHINA RES MIXC","01209.HK",31.6,1.6,"+5.333%","3.07M","96.42M",28.97,4.48,"2.87%","72.13B"],["BYD COMPANY","01211.HK",242,7,"+2.979%","3.90M","938.50M",37.57,5.63,"0.53%","265.72B"],["AIA","01299.HK",63.85,.95,"+1.510%","38.75M","2.48B",408.88,2.53,"2.41%","735.40B"],["CHINAHONGQIAO","01378.HK",7.67,.28,"+3.789%","13.05M","99.58M",7.27,.76,"6.65%","72.68B"],["ICBC","01398.HK",3.77,.07,"+1.892%","233.48M","881.67M",3.45,.36,"9.08%","327.21B"],["XIAOMI-W","01810.HK",12.34,.62,"+5.290%","78.53M","960.98M",109.39,1.9,"0.00%","308.83B"],["BUD APAC","01876.HK",15.46,.16,"+1.046%","16.17M","250.45M",28.65,2.44,"1.91%","204.74B"],["SANDS CHINA LTD","01928.HK",24,.95,"+4.121%","19.98M","475.93M","No Profit","N/A","0.00%","194.24B"],["CHOW TAI FOOK","01929.HK",11.8,.28,"+2.431%","4.88M","57.68M",21.93,3.64,"10.34%","118.00B"],["WHARF REIC","01997.HK",30.25,1.4,"+4.853%","4.23M","127.31M","No Profit",.48,"4.33%","91.85B"],["ANTA SPORTS","02020.HK",88.15,4.4,"+5.254%","4.82M","422.51M",27.71,6.16,"1.52%","249.70B"],["WUXI BIO","02269.HK",45.65,1.55,"+3.515%","17.91M","811.49M",38.18,4.88,"0.00%","194.01B"],["SHENZHOU INTL","02313.HK",75,4.6,"+6.534%","5.52M","410.68M",21.87,3.25,"2.55%","112.74B"],["PING AN","02318.HK",44.85,.85,"+1.932%","23.05M","1.03B",8.28,.85,"6.09%","334.02B"],["MENGNIU DAIRY","02319.HK",26.25,1.5,"+6.061%","8.58M","223.15M",17.34,2.3,"1.73%","103.42B"],["LI NING","02331.HK",32.95,1.5,"+4.769%","22.54M","738.37M",18.8,3.16,"1.58%","86.86B"],["SUNNY OPTICAL","02382.HK",54.7,1.05,"+1.957%","5.62M","308.60M",22.01,2.44,"0.91%","60.00B"],["BOC HONG KONG","02388.HK",21.45,.3,"+1.418%","6.53M","140.32M",8.38,.75,"6.33%","226.79B"],["CHINA LIFE","02628.HK",12.2,.24,"+2.007%","13.53M","165.07M",9.49,.7,"4.53%","90.78B"],["ENN ENERGY","02688.HK",65,1.15,"+1.801%","3.06M","198.69M",11.08,1.67,"4.48%","73.53B"],["ZIJIN MINING","02899.HK",11.98,.16,"+1.354%","16.20M","194.50M",13.97,3.14,"1.88%","68.73B"],["MEITUAN-W","03690.HK",114.6,3.8,"+3.430%","19.17M","2.19B","No Profit",4.89,"0.00%","715.43B"],["HANSOH PHARMA","03692.HK",10.66,.16,"+1.524%","17.56M","187.72M",21.48,2.47,"0.94%","63.25B"],["CM BANK","03968.HK",32.7,.1,"+0.307%","11.13M","363.99M",5.51,.86,"6.00%","150.12B"],["BANK OF CHINA","03988.HK",2.74,.05,"+1.859%","275.47M","754.54M",3.33,.33,"9.55%","229.13B"],["CG SERVICES","06098.HK",8.08,.25,"+3.193%","16.08M","128.87M",12.42,.65,"5.20%","27.01B"],["JD HEALTH","06618.HK",40.6,2.95,"+7.835%","7.75M","312.36M",299.91,2.56,"0.00%","129.12B"],["HAIER SMARTHOME","06690.HK",24.65,1.15,"+4.894%","7.24M","178.37M",13.83,2.21,"2.59%","70.46B"],["HAIDILAO","06862.HK",21,.6,"+2.941%","6.86M","143.79M",74.46,13.94,"0.55%","117.05B"],["JD-SW","09618.HK",115.1,4,"+3.600%","7.43M","852.28M",30.73,1.5,"6.38%","360.24B"],["NONGFU SPRING","09633.HK",45,1.5,"+3.448%","3.69M","165.62M",52.49,18.63,"1.71%","226.56B"],["BIDU-SW","09888.HK",133.4,4.6,"+3.571%","5.82M","772.73M",47.3,1.5,"0.00%","377.37B"],["TRIP.COM-S","09961.HK",279.2,7,"+2.572%","1.25M","349.59M",114.05,1.4,"0.00%","176.65B"],["BABA-SW","09988.HK",85.6,2.6,"+3.133%","34.61M","2.96B",21.65,1.62,"0.00%",1,"837.13B"],["NTES-S","09999.HK",159.5,8.3,"+5.489%","5.02M","797.10M",22.7,4.63,"1.36%","546.99B"]];var Z=[];for(let e of we){let[r,t,n,a,o]=e,s=".FTSE100",i="BUY",c=1;Z.push([s,a,t,n,r,`${r}-${s}`,i,o,c])}for(let e of Oe){let[r,t,n,a,,o]=e,s=".HSI",i="BUY",c=1;Z.push([s,a,r,n,t,`${t}-${s}`,i,o,c])}for(let e of He){let[r,t,n,a,o]=e,s=".NASDAQ100",i="BUY",c=1e3;Z.push([s,o,r,a,t,`${t}-${s}`,i,c,n])}for(let e of Ge){let[r,t,n,,a]=e,o=".SP500",s="BUY",i=1e3,c=0;Z.push([o,a,r,c,t,`${t}-${o}`,s,i,n])}var Y=Z;var{bid:Vt,bidSize:Ft,ask:_t,askSize:Ut,last:Wt}=f(m.prices),Xt=new X({bid:Vt,bidSize:Ft,ask:_t,askSize:Ut,last:Wt}),Ke=[];for(let[,,,e,r]of Y){let t=parseFloat(String(e));if(!isNaN(t)){let[n,a]=ke(5,te),o=l(1e3,3e3),s=l(1e3,3e3),i=t+l(0,1)/10,c=t+l(0,1)/10,T=t+l(0,1)/10,g="C",d="close";Ke.push([a,o,n,s,i,c,T,g,r,d])}}var Yt=new p(m.prices,Ke,f(m.prices),Xt),Ve=Yt;var B=e=>Object.values(I[e].columns).reduce((r,t,n)=>(r[t.name]=n,r),{}),w={algoType:B("algoType"),basket:B("basket"),basketTrading:B("basketTrading"),basketTradingConstituent:B("basketTradingConstituent"),basketConstituent:B("basketConstituent"),basketTradingConstituentJoin:B("basketTradingConstituentJoin"),priceStrategyType:B("priceStrategyType")},Fe=new p(I.basketConstituent,Y,w.basketConstituent),re=new p(I.basketTrading,[],w.basketTrading),$t=1,he=new p(I.basketTradingConstituent,[],w.basketTradingConstituent),ye=(e,r,t="BUY",n="OFF MARKET")=>[e,r,0,1.25,`steve-${$t++}`,t,n,1e6,125e4,100];function Jt(e,r){let t=ye(e,r);re.insert(t);let{basketId:n}=B("basketConstituent"),a=Fe.data.filter(s=>s[n]===e),{instanceId:o}=w.basketTrading;return a.forEach(([,,s,,i,,,c,T])=>{let g="",d="",M="",y="BUY",v="venue",ve=t[o],yt=[g,d,e,s,ve,`${ve}-${i}`,95,0,0,0,0,M,c,i,y,v,T];he.insert(yt)}),t[o]}async function zt(e){console.log(`RPC call erceived ${e.rpcName}`)}async function Zt(e){let[r]=e.params;re.update(r,"status","ON_MARKET")}async function jt(e){let[r]=e.params;re.update(r,"status","OFF-MARKET")}async function qt(e){let{params:[r,t]}=e;return{action:{type:"VP_CREATE_SUCCESS",key:Jt(r,t)}}}var Qt={algoType:new p(I.algoType,[["Sniper",0],["Dark Liquidity",1],["VWAP",2],["POV",3],["Dynamic Close",4]],w.algoType),basket:new p(I.basket,[[".NASDAQ100",".NASDAQ100",0,0],[".HSI",".HSI",0,0],[".FTSE100",".FTSE100",0,0],[".SP500",".SP500",0,0]],w.basket),basketConstituent:Fe,basketTrading:re,basketTradingConstituent:he,basketTradingConstituentJoin:z({module:"BASKET",table:"basketTradingConstituentJoin"},he,Ve,"ric"),priceStrategyType:new p(I.priceStrategyType,[["Peg to Near Touch",0],["Far Touch",1],["Limit",2],["Algo",3]],w.priceStrategyType)},er={algoType:void 0,basket:{name:"ROOT",menus:[{context:"selected-rows",filter:"",name:"Add Basket",rpcName:"CREATE_NEW_BASKET"}]},basketConstituent:void 0,basketTrading:void 0,basketTradingConstituent:void 0,basketTradingConstituentJoin:void 0,priceStrategyType:void 0},tr={algoType:void 0,basket:[{rpcName:"createBasket",service:qt}],basketConstituent:void 0,basketTrading:[{rpcName:"sendToMarket",service:Zt},{rpcName:"takeOffMarket",service:jt}],basketTradingConstituent:void 0,basketTradingConstituentJoin:[{rpcName:"addConstituent",service:zt}],priceStrategyType:void 0},rr=e=>I[e].columns,nr=e=>{let r=rr(e),{key:t}=I[e];return new N({columnDescriptors:r,dataMap:w[e],keyColumn:t,menu:er[e],rpcServices:tr[e],table:Qt[e]})},or=async()=>[],ar={createDataSource:nr,typeaheadHook:()=>or},_e=ar;var mt=Lt(ut());var ct=["CAD","GBX","USD","EUR","GBP"];var lt={L:["London PLC","XLON/LSE-SETS"],N:["Corporation","XNGS/NAS-GSM"],AS:["B.V.","XAMS/ENA-MAIN"],OQ:["Co.","XNYS/NYS-MAIN"],PA:["Paris","PAR/EUR_FR"],MI:["Milan","MIL/EUR_IT"],FR:["Frankfurt","FR/EUR_DE"],AT:["Athens","AT/EUR_GR"]},be=["L","N","OQ","AS","PA","MI","FR","AT"];var De=[1,2,5,10,50,50,70,100,100,100,120,150,150,200,500,700,1e3,2e3,2500,5e3,1e4];var pt={bbg:0,currency:1,description:2,exchange:3,string:4,number:5,ric:6,price:7},$=[],K=Array.from("ABCEFGHKMNOPQRTUVWYZ"),xr=()=>{let e=l(0,1e4),r=l(1,10);return e/r};for(let e of K)for(let r=0;r<1e3;r++){let t=K[l(0,K.length-1)],n=K[l(0,K.length-1)],a=K[l(0,K.length-1)],o=be[l(0,be.length-1)],s=e+t+n+a+"."+o,i=e+t+n+a+" "+o,c=`${s} description`,T=ct[l(0,4)],g=(0,mt.isinGenerator)(),d=De[l(0,De.length-1)],A=lt[o][1],h=xr();$.push([i,T,c,A,String(g),d,s,h])}var Er=new p(m.instruments,$,f(m.instruments));var Se=Er;var Nr=$.map(e=>e.slice(0,-1).concat([l(0,1)===1,l(0,1)===1,new Date().getTime()])),kr=new p(m.instrumentsExtended,Nr,f(m.instrumentsExtended)),dt=kr;var{bid:Br,bidSize:wr,ask:Hr,askSize:Gr}=f(m.prices),Or=new X({bid:Br,bidSize:wr,ask:Hr,askSize:Gr}),Kr=["ric","price"],Ct=$.map(e=>{let{ric:r,price:t}=Kr.reduce((h,L)=>({...h,[L]:e[pt[L]]}),{}),n=l(0,10),a=t+n/2,o=l(1e3,3e3),s=t-n/2,i=l(1e3,3e3),c=t+l(0,1)/10,T=t+l(0,1)/10,g=t+l(0,1)/10;return[a,o,s,i,c,T,g,"C",r,"close"]});for(let[,,,e,r]of Y){let t=parseFloat(String(e));if(!isNaN(t)){let n=l(0,10),a=t+n/2,o=l(1e3,3e3),s=t-n/2,i=l(1e3,3e3),c=t+l(0,1)/10,T=t+l(0,1)/10,g=t+l(0,1)/10,d="C",A="close";Ct.push([a,o,s,i,c,T,g,d,r,A])}}var Vr=new p(m.prices,Ct,f(m.prices),Or);var Me=Vr;var Tt={childOrders:new p(m.childOrders,[],f(m.childOrders)),instruments:Se,instrumentsExtended:dt,instrumentPrices:z({module:"SIMUL",table:"instrumentPrices"},Se,Me,"ric"),orders:new p(m.orders,[],f(m.orders)),parentOrders:new p(m.parentOrders,[],f(m.parentOrders)),prices:Me},Fr=e=>{let r=m[e];if(r)return r.columns;throw Error(`simul-module no schema found for table SIMUL ${e}`)},_r=e=>{let r=Fr(e);return new N({columnDescriptors:r,keyColumn:m[e].key,table:Tt[e]})},Ur=([e,r,t])=>{let n=Tt[e.table];if(n)return F(n,r,t);throw Error(`SIMUL suggestionFetcher, unknown table ${e.module} ${e.table}`)},Wr={createDataSource:_r,typeaheadHook:()=>Ur},gt=Wr;var{RowGenerator:Xr}=V,Yr=Xr(E.TwoHundredColumns.columns.map(e=>e.name)),ft={TwoHundredColumns:new p(E.TwoHundredColumns,new Array(100).fill(1).map((e,r)=>Yr(r)),f(E.TwoHundredColumns))},$r=e=>{let r=E[e];if(r)return r.columns;throw Error(`test-module no schema found for table TEST ${e}`)},Jr=e=>{let r=$r(e);return new N({columnDescriptors:r,keyColumn:E[e].key,table:ft[e]})},zr=([e,r,t])=>{let n=ft[e.table];if(n)return F(n,r,t);throw Error(`SIMUL suggestionFetcher, unknown table ${e.module} ${e.table}`)},Zr={createDataSource:Jr,typeaheadHook:()=>zr},ht=Zr;var jr={BASKET:_e,SIMUL:gt,TEST:ht},qr=e=>jr[e];
|
|
2
2
|
//# sourceMappingURL=index.js.map
|