{"version":3,"file":"js/application-fffb17755a22eb1b69f4.js","mappings":"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CAAE,SAAS,CACjB,GAAG/uB,MAAM,CACToB,IAAI,CAAE8S,MACR,CAAC,CACD,GAAI,CACF,GAAI2B,EAAE,CAAE,CACN,KAAM,CAAAhP,KAAK,CAAG,GAAI,CAAAovB,qEAAS,CAAC,IAAIpgB,EAAE,EAAE,CAAEqgB,GAAG,CAAC,CAC1C,MAAO,CAAArvB,KAAK,CACd,CACF,CAAE,MAAOuD,KAAK,CAAE,CACd8H,OAAO,CAACC,GAAG,CAAC/H,KAAK,CAAC,CACpB,CACF;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACj6DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://explorer/./app/javascript/channels/ sync _channel\\.js$","webpack://explorer/./app/javascript/channels/index.js","webpack://explorer/./app/javascript/component/componentDescription/WidgetConfig.js","webpack://explorer/./app/javascript/component/componentDescription/BootstrapTableComponent.js","webpack://explorer/./app/javascript/component/componentDescription/BootstrapCardComponent.js","webpack://explorer/./app/javascript/component/componentDescription/GraphsComponent.js","webpack://explorer/./app/javascript/component/componentDescription/TradingGraphsComponent.js","webpack://explorer/./app/javascript/component/componentDescription/BootstrapVerticalTableComponent.js","webpack://explorer/./app/javascript/component/componentDescription/TimeChartComponent.js","webpack://explorer/./app/javascript/component/componentDescription/BarChartComponent.js","webpack://explorer/./app/javascript/component/componentDescription/PieChartComponent.js","webpack://explorer/./app/javascript/component/componentDescription/TreeComponent.js","webpack://explorer/./app/javascript/component/componentDescription/LineChartComponent.js","webpack://explorer/./app/javascript/component/helper.js","webpack://explorer/./app/javascript/component/component.js","webpack://explorer/./app/javascript/component/rendering/renderImgFromURI.js","webpack://explorer/./app/javascript/component/rendering/renderTokenLink.js","webpack://explorer/./app/javascript/component/rendering/renderDate.js","webpack://explorer/./app/javascript/component/rendering/renderTX.js","webpack://explorer/./app/javascript/component/rendering/renderIdLink.js","webpack://explorer/./app/javascript/component/rendering/renderDexProtocolLink.js","webpack://explorer/./app/javascript/component/rendering/renderJustAddressLink.js","webpack://explorer/./app/javascript/component/rendering/renderBlockLink.js","webpack://explorer/./app/javascript/component/rendering/renderSenderRecieverIcon.js","webpack://explorer/./app/javascript/component/rendering/renderPairLink.js","webpack://explorer/./app/javascript/component/rendering/renderNumbers.js","webpack://explorer/./app/javascript/component/rendering/renderNumbersWithCurrency.js","webpack://explorer/./app/javascript/component/rendering/renderNumbersWithCurrencySymbol.js","webpack://explorer/./app/javascript/component/rendering/renderMethodLink.js","webpack://explorer/./app/javascript/component/rendering/renderEventLink.js","webpack://explorer/./app/javascript/component/rendering/renderBytes32.js","webpack://explorer/./app/javascript/component/rendering/renderNumberWithUSD.js","webpack://explorer/./app/javascript/component/componentDescription/ComboChartComponent.js","webpack://explorer/./app/javascript/component/rendering/renderProgressBar.js","webpack://explorer/./app/javascript/component/rendering/renderStatus.js","webpack://explorer/./app/javascript/packs/application.js","webpack://explorer/./app/javascript/packs/tableWidgetRenderer.js","webpack://explorer/./node_modules/cryptocurrency-icons/svg/ sync ^\\.\\/.*$","webpack://explorer/./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 63760;\nmodule.exports = webpackEmptyContext;","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","export default class WidgetConfig {\n static getBlockchainInfo() {\n return [\n {\n tag: 'eth',\n chainId: '1',\n network: 'ethereum',\n name: 'Ethereum Mainnet',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'ETH',\n icon: 'eth.svg',\n eap: false,\n innovation: true,\n blockProducerName: 'Validator',\n },\n {\n tag: 'base',\n chainId: '8453',\n network: 'base',\n name: 'Base',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'ETH',\n icon: 'currency/base.svg',\n eap: false,\n innovation: true,\n blockProducerName: 'Validator',\n },\n {\n tag: 'bsc',\n network: 'bsc',\n chainId: '56',\n name: 'Binance Smart Chain Mainnet',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'BNB',\n icon: 'bnb.svg',\n start: Date.parse('2020-08-29'),\n eap: false,\n innovation: true,\n blockProducerName: 'Validator',\n },\n {\n tag: 'arbitrum',\n chainId: '42161',\n network: 'arbitrum',\n streaming: 'arbitrum',\n name: 'Arbitrum Mainnet',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'ETH',\n eap: false,\n icon: 'currency/arbitrum.svg',\n blockProducerName: 'Validator',\n },\n {\n tag: 'matic',\n chainId: '137',\n network: 'matic',\n streaming: 'matic',\n name: 'Matic',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'ETH',\n eap: true,\n icon: 'matic.svg',\n blockProducerName: 'Validator',\n },\n {\n tag: 'optimism',\n chainId: '10',\n network: 'optimism',\n streaming: 'optimism',\n name: 'Optimism (OP Mainnet)',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'ETH',\n icon: 'currency/optimism.svg',\n use_eap: true,\n },\n {\n tag: 'opbnb',\n chainId: '204',\n network: 'opbnb',\n streaming: 'opbnb',\n name: 'opBNB',\n family: 'ethereum',\n platform: 'Smart Contract',\n currency: 'BNB',\n icon: 'currency/opbnb.svg',\n use_eap: true,\n },\n ];\n }\n\n static getBlockchainMap() {\n return this.getBlockchainInfo().reduce((map, blockchain) => {\n map[blockchain.chainId] = blockchain;\n return map;\n }, {});\n }\n\n static getProperty(chainId, property) {\n const blockchain = this.getBlockchainMap()[chainId];\n return blockchain ? blockchain[property] : null;\n }\n\n static getNetwork(chainId) {\n return this.getProperty(chainId, 'network');\n }\n\n static getCurrency(chainId) {\n return this.getProperty(chainId, 'currency');\n }\n\n static getBlockProducerName(chainId) {\n return this.getProperty(chainId, 'blockProducerName');\n }\n\n static getName(chainId) {\n return this.getProperty(chainId, 'name');\n }\n}\n","export default class BootstrapTableComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.container = element;\n this.historyDataSource = historyDataSource\n this.subscriptionDataSource = subscriptionDataSource\n this.config = this.configuration()\n this.createWrapper()\n this.createTable()\n this.theadCreated = false\n if (this.config.theme) {\n this.setTheme(this.config.theme);\n }\n\n }\n\n clearData() {\n this.tbody.textContent = ''\n }\n\n createWrapper() {\n this.wrapper = this.createElementWithClasses('div', 'table-responsive-md');\n this.container.appendChild(this.wrapper);\n }\n\n createTable() {\n this.tableElement = this.createElementWithClasses('table', 'table','table-sm', 'table-striped', 'table-hover');\n this.tableElement.style.fontSize = '0.9rem';\n this.tableElement.style.tableLayout = (this.config && this.config.options && this.config.options.tableLayout) || 'fixed';\n this.wrapper.appendChild(this.tableElement)\n\n this.createTbody();\n }\n\n async createThead(data) {\n if (this.theadCreated) return\n const thead = this.createElementWithClasses('thead')\n thead.style.position = 'sticky'\n thead.style.background = '#F8F8F8'\n thead.style.color = '#495057'\n thead.style.zIndex = '9999'\n const tr = this.createElementWithClasses('tr')\n this.tableElement.appendChild(thead)\n thead.appendChild(tr)\n for (const {name, headerStyle} of this.config.columns) {\n const th = this.createElementWithClasses('th')\n th.setAttribute('scope', 'col')\n th.style.padding = '0.3rem 0.5rem'\n // th.style.whiteSpace = 'nowrap'\n th.style.fontWeight = 'bold'\n\n if (typeof name === 'function') {\n th.textContent = await name(data)\n } else {\n th.textContent = name\n }\n\n if (headerStyle) {\n Object.assign(th.style, headerStyle);\n }\n tr.appendChild(th);\n }\n this.theadCreated = true\n }\n\n\n createTbody() {\n this.tbody = this.createElementWithClasses('tbody');\n this.tableElement.appendChild(this.tbody)\n }\n\n async init(widgetFrame) {\n if (this.historyDataSource) {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this))\n }\n if (this.subscriptionDataSource) {\n this.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n } else {\n widgetFrame && widgetFrame.setupShowMoreButton()\n }\n\n }\n\n async onHistoryData(data, variables) {\n if (this.config.title) {\n await this.getTitle(data)\n }\n if (this.config.topElement(data).length === 0) {\n this.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.'\n return;\n }\n await this.createThead(data)\n while (this.tbody.children.length) {\n this.tbody.removeChild(this.tbody.firstChild)\n }\n const rows = await this.composeRows(data, variables)\n rows.forEach(row => {\n this.appendChildren(this.tbody, rows);\n // this.tbody.insertBefore(row, this.tbody.firstChild)\n })\n\n }\n\n async onSubscriptionData(data, variables) {\n if (this.config.title) {\n await this.getTitle(data)\n }\n await this.createThead(data)\n\n const maxRows = 10;\n const rows = await this.composeRows(data, variables)\n rows.forEach((row, index) => {\n // setTimeout(() => {\n // row.classList.add('tr-animate')\n this.tbody.insertBefore(row, this.tbody.firstChild)\n if (this.tbody.childElementCount > maxRows) {\n this.tbody.removeChild(this.tbody.lastChild);\n }\n // }, 200 * index)\n })\n }\n\n async composeRows(rowData, variables) {\n const data = this.config.topElement(rowData);\n\n if (!data || data.length === 0) return [];\n\n const chainId = data.length > 0 ? this.config.chainId(rowData) : '';\n\n const rows = await Promise.all(data.map(async (row) => {\n const tr = this.createElementWithClasses('tr');\n\n for (const column of this.config.columns) {\n const td = this.createElementWithClasses('td', 'text-truncate');\n td.style.borderTop = 'none'\n td.style.padding = '0.3rem 0.5rem'\n td.style.fontSize = '0.9rem'\n\n const textCell = this.createElementWithClasses('span');\n const cellValue = column.cell(row);\n\n textCell.textContent = cellValue;\n textCell.setAttribute('title', cellValue);\n\n if (cellValue === 'true' || cellValue === 'Success') {\n textCell.style.color = '#2EA848';\n }\n\n td.appendChild(textCell);\n\n if (column.rendering) {\n const div = await column.rendering(cellValue, variables, chainId);\n td.replaceChild(div, textCell);\n }\n\n if (column.cellStyle) {\n Object.assign(td.style, column.cellStyle);\n }\n\n tr.appendChild(td);\n }\n\n return tr;\n }));\n\n return rows;\n }\n setTheme(theme) {\n if (theme === 'dark') {\n this.tableElement.classList.add('table-dark');\n } else {\n this.tableElement.classList.remove('table-dark');\n }\n }\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n\n createElementWithClasses(elementType, ...classes) {\n const element = document.createElement(elementType);\n element.classList.add(...classes);\n return element;\n }\n\n appendChildren(parent, children) {\n children.forEach(child => parent.appendChild(child));\n }\n}","export default class BootstrapCardComponent {\n\tconstructor(element, historyDataSource, subscriptionDataSource) {\n\t\tthis.container = element;\n\t\tthis.config = this.configuration();\n\t\tthis.wrapper = this.createElementWithClasses('div', 'row', 'g-3');\n\t\tthis.container.appendChild(this.wrapper);\n\t\tthis.historyDataSource = historyDataSource;\n\t\tthis.subscriptionDataSource = subscriptionDataSource;\n\n\t\tthis.theme = this.config.theme || 'light';\n\t\tif (this.config.theme) {\n\t\t\tthis.setTheme(this.config.theme);\n\t\t}\n\t}\n\n\tclearData() {\n\t\tthis.wrapper.textContent = '';\n\t}\n\n\tcreateElementWithClasses(elementType, ...classes) {\n\t\tconst element = document.createElement(elementType);\n\t\telement.classList.add(...classes);\n\t\treturn element;\n\t}\n\n\tasync init(widgetFrame) {\n\t\tif (this.historyDataSource) {\n\t\t\tthis.historyDataSource.setCallback(this.onHistoryData.bind(this));\n\t\t}\n\t\tif (this.subscriptionDataSource) {\n\t\t\tthis.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this));\n\t\t} else if (widgetFrame) {\n\t\t\twidgetFrame.setupShowMoreButton();\n\t\t}\n\t}\n\n\tasync onHistoryData(data, variables) {\n\t\tif (this.config.title && data) {\n\t\t\tawait this.getTitle(data);\n\t\t}\n\n\t\tconst array = this.config.topElement(data);\n\t\tif (!array || array.length === 0) {\n\t\t\tthis.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.';\n\t\t\treturn;\n\t\t}\n\n\t\twhile (this.wrapper.firstChild) {\n\t\t\tthis.wrapper.removeChild(this.wrapper.firstChild);\n\t\t}\n\n\t\tthis.chainId = this.config.chainId(data);\n\t\tfor (const row of array) {\n\t\t\tconst cardElement = await this.createCardElement(row, variables);\n\t\t\tthis.wrapper.appendChild(cardElement);\n\t\t}\n\t}\n\n\tasync onSubscriptionData(data, variables) {\n\t\tconst array = this.config.topElement(data);\n\t\tthis.chainId = this.config.chainId(data);\n\t\tconst maxRows = 10;\n\n\t\tfor (const row of array) {\n\t\t\tconst cardElement = await this.createCardElement(row, variables);\n\t\t\tthis.wrapper.insertBefore(cardElement, this.wrapper.firstChild);\n\t\t\tif (this.wrapper.childElementCount > maxRows) {\n\t\t\t\tthis.wrapper.removeChild(this.wrapper.lastChild);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync createCardElement(rowData, variables) {\n\t\tconst cardWrapper = this.createElementWithClasses('div', 'col', 'mb-4');\n\t\tconst cardElement = this.createElementWithClasses('div', 'card', 'h-100');\n\t\tcardElement.style.minWidth = '417px';\n\t\tcardElement.classList.add('shadow-sm');\n\t\tcardElement.style.borderRadius = '0.5rem';\n\t\tcardElement.style.overflow = 'hidden';\n\t\tcardElement.style.transition = 'transform 0.2s ease-in-out';\n\t\tcardElement.addEventListener('mouseover', () => {\n\t\t\tcardElement.style.transform = 'scale(1.02)';\n\t\t});\n\t\tcardElement.addEventListener('mouseout', () => {\n\t\t\tcardElement.style.transform = 'scale(1)';\n\t\t});\n\n\t\tconst row = this.createElementWithClasses('div', 'row', 'g-0');\n\n\t\tconst [cardImg, cardTable] = await this.createCardSections(rowData, variables);\n\n\t\tthis.appendChildren(cardWrapper, cardElement);\n\t\tthis.appendChildren(cardElement, row);\n\t\tthis.appendChildren(row, cardImg, cardTable);\n\t\treturn cardWrapper;\n\t}\n\n\tasync createCardSections(rowData, variables) {\n\t\tconst cardImg = this.createElementWithClasses('div', 'col-4');\n\t\tcardImg.style.padding = '0.5rem';\n\t\tfor (const column of this.config.image) {\n\t\t\tif (column.rendering) {\n\t\t\t\tlet cellValue = column.cell(rowData);\n\t\t\t\tif (!cellValue || cellValue.length < 1) {\n\t\t\t\t\tcellValue = 'error';\n\t\t\t\t}\n\t\t\t\tconst imgElement = await column.rendering(cellValue, variables, this.chainId);\n\t\t\t\tthis.appendChildren(cardImg, imgElement);\n\t\t\t}\n\t\t}\n\n\t\tconst cardTable = this.createElementWithClasses('div', 'col-8');\n\t\tconst cardBody = this.createElementWithClasses('div', 'card-body', 'p-2');\n\t\tcardTable.appendChild(cardBody);\n\n\t\tconst tableElement = this.createElementWithClasses(\n\t\t\t'table',\n\t\t\t'table',\n\t\t\t'mb-0',\n\t\t\t'table-sm',\n\t\t\t'table-striped',\n\t\t\t'table-hover'\n\t\t);\n\t\ttableElement.style.tableLayout = 'fixed';\n\t\tif (this.theme === 'dark') {\n\t\t\ttableElement.classList.add('table-dark');\n\t\t}\n\n\t\tcardBody.appendChild(tableElement);\n\t\tconst tbody = this.createElementWithClasses('tbody');\n\t\ttableElement.appendChild(tbody);\n\n\t\tfor (const column of this.config.columns) {\n\t\t\tconst tr = this.createElementWithClasses('tr');\n\t\t\tconst td1 = this.createElementWithClasses('td');\n\t\t\tconst textCell1 = this.createElementWithClasses('span', 'text-info', 'fw-bold');\n\t\t\ttextCell1.textContent = column.name;\n\t\t\tthis.appendChildren(td1, textCell1);\n\n\t\t\tconst td2 = this.createElementWithClasses('td');\n\t\t\tconst textCell2 = this.createElementWithClasses('span');\n\t\t\ttextCell2.textContent = column.cell(rowData);\n\t\t\tthis.appendChildren(td2, textCell2);\n\n\t\t\tif (column.rendering) {\n\t\t\t\tconst div = await column.rendering(column.cell(rowData), variables, this.chainId);\n\t\t\t\ttd2.replaceChild(div, textCell2);\n\t\t\t}\n\n\t\t\tthis.appendChildren(tr, td1, td2);\n\t\t\tthis.appendChildren(tbody, tr);\n\t\t}\n\n\t\treturn [cardImg, cardTable];\n\t}\n\n\tsetTheme(theme) {\n\t\tthis.theme = theme;\n\t\tconst tables = this.container.querySelectorAll('.card table');\n\t\ttables.forEach(table => {\n\t\t\tif (theme === 'dark') {\n\t\t\t\ttable.classList.add('table-dark');\n\t\t\t} else {\n\t\t\t\ttable.classList.remove('table-dark');\n\t\t\t}\n\t\t});\n\t}\n\n\tasync getTitle(data) {\n\t\tif (this.config && this.config.title && this.config.id) {\n\t\t\tconst divTitle = document.querySelector(`.\\\\#${this.config.id}`);\n\t\t\tif (divTitle) {\n\t\t\t\tconst textNode = document.createTextNode(this.config.title(data));\n\t\t\t\tdivTitle.textContent = '';\n\t\t\t\tdivTitle.appendChild(textNode);\n\t\t\t}\n\t\t}\n\t}\n\n\tappendChildren(parent, ...children) {\n\t\tchildren.forEach(child => parent.appendChild(child));\n\t}\n}\n","export default class GraphsComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.container = element;\n this.config = this.configuration();\n this.historyDataSource = historyDataSource;\n this.subscriptionDataSource = subscriptionDataSource;\n this.data2 = {\n nodes: [],\n edges: []\n };\n this.network = null;\n }\n\n async init() {\n if (this.historyDataSource) {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this));\n }\n this.initCheckboxes();\n }\n\n async onHistoryData(data) {\n\n if (this.config.title && data) {\n await this.getTitle(data)\n }\n try {\n const array = this.config.topElement(data)\n const addresses = new Set();\n const nodes = [];\n const edges = [];\n\n for (const pair of this.config.pairs) {\n const checkbox = document.getElementById(pair.checkboxId);\n\n if (data.EVM && data.EVM[pair.name] && data.EVM[pair.name].length > 0) {\n if (checkbox) {\n checkbox.style.display = 'inline';\n }\n } else {\n if (checkbox) {\n checkbox.disabled = true;\n continue;\n }\n\n }\n\n for (const rowData of array) {\n if (checkbox && !checkbox.checked) continue;\n if (rowData.Call && rowData.Call.Signature && rowData.Call.Signature.SignatureHash === '') continue;\n const fromValue = pair.from.cell(rowData);\n const toValue = pair.to.cell(rowData);\n const edgeLabel = pair.edgeLabel.cell(rowData);\n const edgeLabelFormatted = pair.edgeLabel.rendering ? await pair.edgeLabel.rendering(edgeLabel).textContent : edgeLabel;\n if (fromValue && !addresses.has(fromValue)) {\n addresses.add(fromValue);\n nodes.push({\n id: fromValue,\n label: this.shortenText(fromValue),\n url: `https://explorer.bitquery.io/${WidgetConfig.getNetwork(this.config.chainId(data))}/address/${fromValue}`\n });\n }\n\n if (toValue && !addresses.has(toValue)) {\n addresses.add(toValue);\n nodes.push({\n id: toValue,\n label: this.shortenText(toValue),\n url: `https://explorer.bitquery.io/${WidgetConfig.getNetwork(this.config.chainId(data))}/address/${toValue}`\n });\n }\n\n if (edgeLabelFormatted.trim() !== '') {\n const amount = pair.amount ? parseFloat(pair.amount.cell(rowData)) : 0;\n edges.push({\n from: fromValue,\n to: toValue,\n checkboxLabel: pair.checkboxId,\n label: edgeLabelFormatted,\n color: pair.color,\n type: pair.name.toLowerCase().replace(' ', '-'),\n font: {align: 'middle'},\n smooth: {type: 'dynamic'},\n value: amount\n });\n }\n }\n }\n\n this.data2 = {nodes, edges};\n this.network = new vis.Network(this.container, this.data2, this.getOptions());\n this.initNetworkEvents();\n\n this.network.on('click', (properties) => {\n const nodeId = properties.nodes[0];\n const edgeId = properties.edges[0];\n\n if (nodeId) {\n const node = this.data2.nodes.find(node => node.id === nodeId);\n if (node && node.url) {\n window.open(node.url, '_blank');\n }\n } else if (edgeId) {\n const edge = this.data2.edges.find(edge => edge.id === edgeId);\n if (edge && edge.url) {\n window.open(edge.url, '_blank');\n }\n }\n });\n } catch (error) {\n this.displayError(`Error processing data: ${error.message}`)\n }\n }\n\n updateGraph() {\n const edges = this.network.body.data.edges\n edges.forEach((edge) => {\n const checkbox = document.getElementById(edge.checkboxLabel)\n if (checkbox && checkbox.checked) {\n edges.update({id: edge.id, hidden: false})\n } else {\n edges.update({id: edge.id, hidden: true})\n }\n })\n }\n\n initCheckboxes() {\n for (const pair of this.config.pairs) {\n const checkbox = document.getElementById(pair.checkboxId);\n if (checkbox) {\n checkbox.addEventListener(\"change\", () => this.updateGraph())\n }\n }\n }\n\n initNetworkEvents() {\n if (!this.network) return;\n this.network.on('dragStart', () => this.network.setOptions({physics: false}));\n this.network.on('dragEnd', (params) => {\n this.network.setOptions({physics: true});\n\n if (params.nodes && params.nodes.length === 1) {\n let nodeId = params.nodes[0];\n let updatedNode = this.network.body.data.nodes.get(nodeId);\n updatedNode.physics = false;\n this.network.body.data.nodes.update(updatedNode);\n }\n });\n\n this.tooltip = document.createElement('div');\n this.tooltip.style.position = 'absolute';\n this.tooltip.style.display = 'none';\n this.tooltip.style.background = 'inherit';\n this.tooltip.style.border = '1px solid #9AA1A6';\n this.tooltip.style.padding = '5px';\n this.tooltip.style.borderRadius = '5px';\n // this.tooltip.classList.add('tooltip-graph')\n\n document.body.appendChild(this.tooltip);\n\n this.network.on('hoverNode', (params) => {\n const node = this.data2.nodes.find(node => node.id === params.node);\n if (node) {\n const nodePosition = this.network.getPositions([params.node])[params.node];\n const canvasDOMPosition = this.network.canvasToDOM(nodePosition);\n\n const rect = this.container.getBoundingClientRect();\n\n const x = canvasDOMPosition.x + rect.left + window.scrollX;\n const y = canvasDOMPosition.y + rect.top + window.scrollY;\n\n this.tooltip.innerHTML = node.url;\n this.tooltip.style.left = (x + 20) + 'px';\n this.tooltip.style.top = (y + 20) + 'px';\n this.tooltip.style.display = 'block';\n }\n });\n\n\n this.network.on('blurNode', () => {\n this.tooltip.style.display = 'none';\n });\n }\n\n shortenText(text, maxCharCount = 10) {\n return (text && text.length > maxCharCount) ? `${text.substr(0, maxCharCount)}...` : text;\n }\n\n getOptions() {\n return {\n autoResize: true,\n height: '500px',\n width: '100%',\n interaction: {hover: true},\n physics: {\n enabled: true,\n barnesHut: {\n gravitationalConstant: -2000,\n centralGravity: 0.35,\n springLength: 115,\n springConstant: 0.01,\n }\n },\n edges: {\n arrows: 'to',\n scaling: {\n label: {\n enabled: true,\n },\n customScalingFunction: function (min, max, total, value) {\n if (max === min) {\n return 0.5;\n } else {\n const scale = 1 / (max - min);\n return Math.max(0, (value - min) * scale);\n }\n },\n min: 1,\n max: 5\n }\n }\n };\n }\n\n displayError(message) {\n this.container.textContent = ''\n const errorDiv = document.createElement('div')\n errorDiv.classList.add('alert', 'alert-danger')\n errorDiv.textContent = message\n this.container.appendChild(errorDiv)\n }\n\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n}\n","export default class TradingGraphsComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.historyDataSource = historyDataSource\n this.subscriptionDataSource = subscriptionDataSource\n this.container = element;\n this.lastBar = null\n this.config = this.configuration();\n this.lastData = null;\n this.widget = null;\n this.wrapper = document.createElement('div');\n if (this.historyDataSource && 'getInterval' in this.historyDataSource) {\n this.interval = this.historyDataSource.getInterval()\n } else if (this.subscriptionDataSource && 'getInterval' in this.subscriptionDataSource) {\n this.interval = this.subscriptionDataSource.getInterval()\n } else {\n this.interval = '15'\n }\n this.onHistoryCallback = undefined\n this.onRealtimeCallback = undefined\n this.periodParams = undefined\n this.minuteIntervals = {\n '1D': 24 * 60,\n '2D': 2 * 24 * 60,\n '3D': 3 * 24 * 60,\n 'W': 7 * 24 * 60,\n '3W': 3 * 7 * 24 * 60,\n 'M': 30 * 24 * 60,\n '6M': 6 * 30 * 24 * 60\n }\n }\n\n initWidget() {\n const configurationData = {\n supports_marks: true,\n supports_timescale_marks: true,\n supports_time: true,\n supported_resolutions: ['1', '5', '15', '30', '60', '1D', '2D', '3D', '1W', '3W', '1M', '6M'],\n };\n this.widget = new TradingView.widget({\n container: this.wrapper,\n locale: 'en',\n symbol: this.config.symbol,\n interval: this.interval,\n disabled_features: ['header_symbol_search', 'header_compare'],\n fullscreen: false,\n autosize: true,\n debug: false,\n library_path: '/charting_library/',\n time_frames: [\n {text: '1D', resolution: '15', description: '1 Day'},\n {text: '5D', resolution: '60', description: '5 Days'},\n {text: '1M', resolution: '60', description: '1 Month'},\n {text: '3M', resolution: '60', description: '3 Months'},\n {text: '6M', resolution: '1W', description: '6 Months'},\n {text: '1Y', resolution: '1M', description: '1 Year'},\n {text: '3Y', resolution: '6M', description: '3 Years'},\n ],\n datafeed: {\n onReady: callback => {\n setTimeout(() => callback(configurationData));\n },\n resolveSymbol: (symbolName, onSymbolResolvedCallback, onResolveErrorCallback, extension) => {\n setTimeout(() => {\n const symbolInfo = {\n name: symbolName,\n description: '',\n session: '24x7',\n timezone: 'Etc/UTC',\n has_intraday: true,\n has_seconds: true,\n has_daily: true,\n has_ticks: true,\n minmov: 1,\n pricescale: 100000,\n has_empty_bars: true,\n data_status: 'streaming',\n };\n onSymbolResolvedCallback(symbolInfo);\n }, 0);\n },\n getBars: async (symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback, firstDataRequest) => {\n if (this.historyDataSource) {\n this.interval = resolution;\n this.onHistoryCallback = onHistoryCallback\n this.periodParams = periodParams\n this.historyDataSource.setCallback(this.onHistoryData.bind(this))\n const till = new Date().toISOString().slice(0, 10);\n const tillDate = new Date(till);\n const minutesInterval = this.getIntervalInMinutes(resolution)\n const from = new Date(tillDate.getFullYear(), tillDate.getMonth() - Math.floor(minutesInterval / 5), tillDate.getDate() - (minutesInterval == 1 ? 5 : minutesInterval == 5 ? 0 : 0)).toISOString().slice(0, 10)\n const deltaVariables = {\n from, till,\n interval: `${minutesInterval}`,\n limit: '9990'\n }\n this.historyDataSource.changeVariables(deltaVariables)\n } else {\n onHistoryCallback([], {noData: true})\n }\n },\n subscribeBars: async (symbolInfo, resolution, onRealtimeCallback, subscriberUID, onResetCacheNeededCallback) => {\n if (this.subscriptionDataSource) {\n this.onRealtimeCallback = onRealtimeCallback\n const interval = `${this.getIntervalInMinutes(resolution)}`\n this.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n await this.subscriptionDataSource.changeVariables({interval})\n }\n },\n unsubscribeBars: () => {\n },\n }\n });\n }\n\n onHistoryData(data) {\n if (this.config.title && data) {\n this.getTitle(data)\n }\n const compatibleData = this.composeBars(data, this.periodParams);\n this.lastBar = compatibleData.at(-1)\n compatibleData.length > 0 ? this.onHistoryCallback(compatibleData, {noData: false}) : this.onHistoryCallback([], {noData: true});\n }\n\n onSubscriptionData(data) {\n const composedBars = this.composeBars(data);\n if (composedBars && composedBars.length > 0) {\n const newBar = composedBars[0];\n const bar = this.getNextBar(this.lastBar, newBar);\n this.lastBar = { ...bar };\n this.onRealtimeCallback(bar);\n } else {\n console.log('No valid data to process.');\n }\n }\n init(widgetFrame) {\n if (document.querySelector('#switchButton') && document.querySelector('#streamControlButton') && document.querySelector('#mempoolControlButton') && document.querySelector('#getMempoolButton')) {\n widgetFrame.switchButton.style.display = 'none'\n widgetFrame.streamControlButton.style.display = 'none'\n widgetFrame.mempoolControlButton.style.display = 'none'\n widgetFrame.getMempoolButton.style.display = 'none'\n widgetFrame.switchButton.parentElement.lastChild.classList.remove('invisible')\n }\n\n if (this.widget === null) {\n this.wrapper.style.height = '600px';\n this.container.appendChild(this.wrapper);\n this.initWidget();\n }\n }\n\n getIntervalInMinutes(resolution) {\n return isNaN(+resolution) ? this.minuteIntervals[resolution] : resolution\n }\n\n getNextBar(lastBar, newBar) {\n let bar\n if (!this.lastBar) {\n return newBar\n }\n if (newBar.time > lastBar.time) {\n //create new bar\n bar = {\n time: newBar.time,\n open: lastBar.close,\n high: newBar.high,\n low: newBar.close,\n close: newBar.close,\n volume: newBar.volume\n }\n } else {\n //update bar\n bar = {\n ...lastBar,\n high: Math.max(lastBar.high, newBar.high),\n low: Math.min(lastBar.low, newBar.low),\n close: newBar.close,\n volume: lastBar.volume + newBar.volume\n }\n }\n return bar\n }\n\n composeBars(data, periodParams) {\n if(typeof data !== 'string'){\n const tradeBlock = this.config.topElement(data).sort((a, b) => new Date(a.Block.Time).getTime() - new Date(b.Block.Time).getTime());\n const resultData = []\n for (let i = 0; i < tradeBlock.length; i++) {\n const time = new Date(tradeBlock[i].Block.Time).getTime()\n if (periodParams && ((time / 1000) < periodParams.from || (time / 1000) >= periodParams.to)) {\n continue;\n } else {\n const previousClose = i > 0 ? tradeBlock[i - 1].Trade.close : tradeBlock[i].Trade.open;\n resultData.push({\n time,\n low: tradeBlock[i].Trade.low,\n high: tradeBlock[i].Trade.high,\n open: previousClose,\n close: tradeBlock[i].Trade.close,\n volume: parseFloat(tradeBlock[i].volume)\n })\n }\n }\n return resultData;\n }\n\n }\n\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n}\n","export default class BootstrapVerticalTableComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.container = element;\n this.config = this.configuration();\n this.historyDataSource = historyDataSource\n this.subscriptionDataSource = subscriptionDataSource\n this.createWrapper();\n this.createTable();\n if (this.config.theme) {\n this.setTheme(this.config.theme);\n }\n }\n\n createWrapper() {\n this.wrapper = this.createElementWithClasses('div', 'table-responsive-md');\n this.appendChildren(this.container, this.wrapper);\n }\n\n createTable() {\n this.tableElement = this.createElementWithClasses('table', 'table', 'table-sm', 'table-striped', 'table-hover');\n this.tableElement.style.tableLayout = 'fixed';\n this.appendChildren(this.wrapper, this.tableElement);\n this.createThead();\n this.createTbody();\n }\n\n createThead() {\n const thead = this.createElementWithClasses('thead');\n const tr = this.createElementWithClasses('tr');\n this.appendChildren(this.tableElement, thead);\n this.appendChildren(thead, tr);\n\n const th1 = this.createElementWithClasses('th');\n th1.setAttribute('scope', 'row');\n th1.textContent = (this.config && this.config.options && this.config.options.columnTitle1) ? this.config.options.columnTitle1 : 'Property';\n th1.style.width = '35%'\n this.appendChildren(tr, th1);\n\n const th2 = this.createElementWithClasses('th');\n th2.setAttribute('scope', 'row');\n th2.textContent = (this.config && this.config.options && this.config.options.columnTitle2) ? this.config.options.columnTitle2 : 'Value';\n this.appendChildren(tr, th2);\n }\n\n createTbody() {\n this.tbody = this.createElementWithClasses('tbody');\n this.appendChildren(this.tableElement, this.tbody);\n }\n\n async init() {\n if (this.historyDataSource) {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this))\n }\n if (this.subscriptionDataSource) {\n this.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n }\n }\n\n async onHistoryData(data, variables) {\n try {\n if (this.config.title && data) {\n await this.getTitle(data);\n }\n\n const array = this.config.topElement(data);\n if (array.length === 0) {\n this.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.';\n return;\n }\n const chainId = this.config.chainId(data);\n\n\n const aggregatedRows = new Map();\n\n for (const rowData of array) {\n for (const column of this.config.columns) {\n try {\n const cellValue = column.cell(rowData);\n if (cellValue !== undefined) {\n if (!aggregatedRows.has(column.name)) {\n aggregatedRows.set(column.name, { column, values: [] });\n }\n aggregatedRows.get(column.name).values.push(cellValue);\n }\n } catch (error) {\n console.error(`Error processing column \"${column.name}\":`, error);\n }\n }\n }\n\n\n for (const column of this.config.columns) {\n\n if (!aggregatedRows.has(column.name)) continue;\n\n const { values } = aggregatedRows.get(column.name);\n let finalValue = values.length > 1\n ? this.resolveMultipleValues(values, column)\n : values[0];\n\n const tr = this.createElementWithClasses('tr');\n\n const td1 = this.createElementWithClasses('td');\n const textCell1 = this.createElementWithClasses('span', 'text-info', 'font-weight-bold');\n textCell1.textContent = column.name;\n this.appendChildren(td1, textCell1);\n\n const td2 = this.createElementWithClasses('td');\n if (column.rendering) {\n const div = await column.rendering(finalValue, variables, chainId);\n this.appendChildren(td2, div);\n } else {\n const textCell2 = this.createElementWithClasses('span');\n textCell2.textContent = finalValue;\n this.appendChildren(td2, textCell2);\n }\n\n if (column.cellStyle) {\n for (let styleKey in column.cellStyle) {\n td2.style[styleKey] = column.cellStyle[styleKey];\n }\n }\n\n this.appendChildren(tr, td1, td2);\n this.appendChildren(this.tbody, tr);\n }\n } catch (error) {\n this.displayError(`Error processing data: ${error.message}`);\n }\n }\n\n resolveMultipleValues(values, column) {\n if (column.aggregate) {\n return column.aggregate(values);\n } else {\n return values[values.length - 1];\n }\n }\n\n async onSubscriptionData(data, variables) {\n try {\n const array = this.config.topElement(data);\n const chainId = this.config.chainId(data)\n\n const maxRows = 15;\n for (const rowData of array) {\n for (const column of this.config.columns) {\n const tr = this.createElementWithClasses('tr');\n\n const td1 = this.createElementWithClasses('td');\n const textCell1 = this.createElementWithClasses('span', 'text-info', 'font-weight-bold');\n textCell1.textContent = column.name;\n this.appendChildren(td1, textCell1);\n\n const td2 = this.createElementWithClasses('td');\n const textCell2 = this.createElementWithClasses('span');\n textCell2.textContent = column.cell(rowData);\n this.appendChildren(td2, textCell2);\n\n if (column.rendering) {\n const div = await column.rendering(column.cell(rowData), variables, chainId);\n td2.replaceChild(div, textCell2);\n }\n\n this.appendChildren(tr, td1, td2);\n\n this.tbody.insertBefore(tr, this.tbody.firstChild);\n\n if (this.tbody.childElementCount > maxRows) {\n this.tbody.removeChild(this.tbody.lastChild);\n }\n }\n }\n } catch (error) {\n this.displayError(`Error processing data: ${error.message}`)\n }\n }\n setTheme(theme) {\n if (theme === 'dark') {\n this.tableElement.classList.add('table-dark');\n } else {\n this.tableElement.classList.remove('table-dark');\n }\n }\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n\n displayError(message) {\n this.wrapper.textContent = ''\n const errorDiv = this.createElementWithClasses('div', 'alert', 'alert-danger')\n errorDiv.textContent = message\n this.appendChildren(this.wrapper, errorDiv)\n }\n\n createElementWithClasses(elementType, ...classes) {\n const element = document.createElement(elementType);\n element.classList.add(...classes);\n return element;\n }\n\n appendChildren(parent, ...children) {\n children.forEach(child => parent.appendChild(child));\n }\n}","export default class TimeChartComponent {\n\tconstructor(element, historyDataSource, subscriptionDataSource) {\n\t\tthis.container = element\n\t\tthis.config = this.configuration()\n\t\tthis.historyDataSource = historyDataSource\n\t\tthis.subscriptionDataSource = subscriptionDataSource\n\t}\n\n\tasync init() {\n\t\tif (this.historyDataSource) {\n\t\t\tthis.historyDataSource.setCallback(this.onHistoryData.bind(this))\n\t\t}\n\t\tif (this.subscriptionDataSource) {\n\t\t\tthis.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n\t\t}\n\t}\n\n\tasync onHistoryData(data) {\n\t\tif (this.config.title && data) {\n\t\t\tawait this.getTitle(data)\n\t\t}\n\t\tif(this.config.topElement(data).length===0){\n\t\t\tthis.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.'\n\t\t\treturn\n\t\t}\n\t\tconst parentTextColor = window.getComputedStyle(this.container.parentElement, null).getPropertyValue('color');\n\t\tconst darkTheme = {\n\t\t\tfontName: 'Nunito',\n\t\t\ttitleTextStyle: { color: parentTextColor, fontSize: 14, fontName: 'Nunito' },\n\t\t\tbackgroundColor: 'transparent',\n\t\t\thAxis: {\n\t\t\t\ttextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n\t\t\t\ttitleTextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n\t\t\t},\n\t\t\tvAxis: {\n\t\t\t\ttextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n\t\t\t\ttitleTextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\ttextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n\t\t\t},\n\t\t\tannotations: {\n\t\t\t\ttextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n\t\t\t},\n\t\t\tseries: {\n\t\t\t\t0: { annotations: { textStyle: { color: parentTextColor } } },\n\t\t\t\t1: { annotations: { textStyle: { color: parentTextColor } } },\n\t\t\t\t2: { annotations: { textStyle: { color: parentTextColor } } },\n\t\t\t},\n\t\t};\n\n\n\t\tthis.config.options = {...darkTheme,...this.config.options}\n\n\t\tconst drawChart = () => {\n\t\t\tconst dataArray = this.config.topElement(data)\n\t\t\tlet dataToVizualize = []\n\t\t\tlet annotation = []\n\t\t\tlet k = 0\n\t\t\tfor (let i = 0; i < dataArray.length; i++) {\n\t\t\t\tfor (let column of this.config.columns) {\n\t\t\t\t\tconst columnName = typeof column.name === 'function' ? column.name(dataArray[i]) : column.name\n\t\t\t\t\tconst nameIndex = annotation.findIndex(el => el === columnName)\n\t\t\t\t\tlet currentIndex = nameIndex\n\t\t\t\t\tconst el = column.cell(dataArray[i])\n\t\t\t\t\tif (nameIndex === -1) {\n\t\t\t\t\t\tcurrentIndex = annotation.length\n\t\t\t\t\t\tannotation.push(columnName)\n\t\t\t\t\t}\n\t\t\t\t\tif (k>0 && columnName === 'Date' && dataToVizualize[k-1] && el === dataToVizualize[k-1][0]) {\n\t\t\t\t\t\tk--\n\t\t\t\t\t}\n\t\t\t\t\tif (!dataToVizualize[k]) {\n\t\t\t\t\t\tdataToVizualize.push([])\n\t\t\t\t\t}\n\t\t\t\t\tdataToVizualize[k][currentIndex] = el\n\t\t\t\t}\n\t\t\t\tk++\n\t\t\t}\n\t\t\tdataToVizualize = dataToVizualize.map(row => {\n\t\t\t\tif (!row[annotation.length-1]) {\n\t\t\t\t\trow[annotation.length-1] = 0\n\t\t\t\t}\n\t\t\t\treturn row\n\t\t\t})\n\t\t\tdataToVizualize.unshift(annotation)\n\n\t\t\tconst dataTable = google.visualization.arrayToDataTable(dataToVizualize)\n\t\t\tconst chart = new google.visualization.ColumnChart(this.container)\n\t\t\tchart.draw(dataTable, this.config.options)\n\t\t}\n\t\tgoogle.charts.load('current', {packages: ['corechart', 'bar']});\n\t\tgoogle.charts.setOnLoadCallback(drawChart);\n\t\t\n\t\twindow.addEventListener('resize', () => {\n\t\t\tthis.container.removeChild(this.container.firstChild)\n\t\t\tdrawChart()\n\t\t})\n\t}\n\tasync getTitle(data) {\n\t\tif (this.config && this.config.title && this.config.id) {\n\t\t\tconst divTitle = document.querySelector(`.\\\\#${this.config.id}`);\n\t\t\tif (divTitle) {\n\t\t\t\tdivTitle.innerHTML = '';\n\n\t\t\t\tlet titleContent = this.config.title;\n\n\t\t\t\tif (typeof titleContent === 'function') {\n\t\t\t\t\ttitleContent = titleContent(data);\n\t\t\t\t}\n\n\t\t\t\tif (/<[^>]+>/g.test(titleContent)) {\n\t\t\t\t\tdivTitle.innerHTML = titleContent;\n\t\t\t\t} else {\n\t\t\t\t\tdivTitle.textContent = titleContent;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n}\n","export default class BarChartComponent {\n\tconstructor(element, historyDataSource, subscriptionDataSource) {\n\t\tthis.container = element\n\t\tthis.config = this.configuration()\n\t\tthis.historyDataSource = historyDataSource\n\t\tthis.subscriptionDataSource = subscriptionDataSource\n\t}\n\n\tasync init() {\n\t\tif (this.historyDataSource) {\n\t\t\tthis.historyDataSource.setCallback(this.onHistoryData.bind(this))\n\t\t}\n\t\tif (this.subscriptionDataSource) {\n\t\t\tthis.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n\t\t}\n\t}\n\n\tasync onHistoryData(data) {\n\t\tif(this.config.title && data){\n\t\t\tawait this.getTitle(data)\n\t\t}\n\t\tif (this.config.topElement(data).length === 0) {\n\t\t\tthis.container.textContent='No records found for this period. To get more data, please try selecting another date range.'\n\t\t\treturn\n\t\t}\n\t\tconst parentTextColor = window.getComputedStyle(this.container.parentElement, null).getPropertyValue('color');\n\t\tconst darkTheme = {\n\t\t\tbackgroundColor: 'transparent',\n\t\t\ttitleTextStyle: { color: parentTextColor },\n\t\t\thAxis: {\n\t\t\t\ttextStyle: { color: parentTextColor },\n\t\t\t\ttitleTextStyle: { color: parentTextColor }\n\t\t\t},\n\t\t\tvAxis: {\n\t\t\t\ttextStyle: { color: parentTextColor },\n\t\t\t\ttitleTextStyle: { color: parentTextColor }\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tposition: 'top',\n\t\t\t\ttextStyle: { color: parentTextColor }\n\t\t\t},\n\t\t};\n\t\tthis.config.options = {...this.config.options,...darkTheme}\n\t\tconst drawChart = () => {\n\t\t\tconst dataArray = this.config.topElement(data)\n\t\t\tconst chainId = this.config.chainId(data)\n\t\t\tlet dataToVizualize = []\n\t\t\tlet annotation = []\n\t\t\tlet k = 0\n\t\t\tfor (let i = 0; i < dataArray.length; i++) {\n\t\t\t\tfor (let column of this.config.columns) {\n\t\t\t\t\tconst columnName = typeof column.name === 'function' ? column.name(dataArray[i]) : column.name\n\t\t\t\t\tconst nameIndex = annotation.findIndex(el => el === columnName)\n\t\t\t\t\tlet currentIndex = nameIndex\n\t\t\t\t\tconst el = column.cell(dataArray[i])\n\t\t\t\t\tif (nameIndex === -1) {\n\t\t\t\t\t\tcurrentIndex = annotation.length\n\t\t\t\t\t\tannotation.push(columnName)\n\t\t\t\t\t}\n\t\t\t\t\tif (k>0 && columnName === 'Date' && dataToVizualize[k-1] && el === dataToVizualize[k-1][0]) {\n\t\t\t\t\t\tk--\n\t\t\t\t\t}\n\t\t\t\t\tif (!dataToVizualize[k]) {\n\t\t\t\t\t\tdataToVizualize.push([])\n\t\t\t\t\t}\n\t\t\t\t\tdataToVizualize[k][currentIndex] = el\n\t\t\t\t}\n\t\t\t\tk++\n\t\t\t}\n\t\t\tdataToVizualize = dataToVizualize.map(row => {\n\t\t\t\tif (!row[annotation.length-1]) {\n\t\t\t\t\trow[annotation.length-1] = 0\n\t\t\t\t}\n\t\t\t\treturn row\n\t\t\t})\n\t\t\tdataToVizualize.unshift(annotation)\n\n\t\t\tconst dataTable = google.visualization.arrayToDataTable(dataToVizualize)\n\t\t\tconst chart = new google.visualization.BarChart(this.container)\n\t\t\tchart.draw(dataTable, this.config.options)\n\t\t}\n\t\tgoogle.charts.load('current', {packages: ['corechart', 'bar']});\n\t\tgoogle.charts.setOnLoadCallback(drawChart);\n\t\t\n\t\twindow.addEventListener('resize', () => {\n\t\t\tthis.container.removeChild(this.container.firstChild)\n\t\t\tdrawChart()\n\t\t})\n\t}\n\tasync getTitle(data) {\n\t\tif (this.config && this.config.title && this.config.id) {\n\n\t\t\tconst divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n\t\t\tif (divTitle) {\n\t\t\t\tconst textNode = document.createTextNode(this.config.title(data))\n\t\t\t\tdivTitle.textContent = ''\n\t\t\t\tdivTitle.appendChild(textNode)\n\t\t\t}\n\t\t}\n\t}\n}\n","export default class PieChartComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.container = element\n this.config = this.configuration()\n this.historyDataSource = historyDataSource\n this.subscriptionDataSource = subscriptionDataSource\n\n }\n\n async init() {\n if (this.historyDataSource) {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this))\n }\n if (this.subscriptionDataSource) {\n this.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n }\n }\n\n async onHistoryData(data) {\n if (this.config.title && data) {\n await this.getTitle(data)\n }\n if(this.config.topElement(data).length===0){\n this.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.'\n return\n }\n const parentTextColor = window.getComputedStyle(this.container.parentElement, null).getPropertyValue('color');\n\n const darkTheme = {\n backgroundColor: 'transparent',\n titleTextStyle: {color: parentTextColor},\n pieSliceTextStyle: {color: parentTextColor},\n legend: {textStyle: {color: parentTextColor}}\n };\n this.config.options = {...this.config.options, ...darkTheme}\n\n const drawChart = () => {\n const dataArray = this.config.topElement(data)\n let dataToVizualize = []\n let annotation = []\n for (let i = 0; i < dataArray.length; i++) {\n for (let column of this.config.columns) {\n if (i === 0) {\n annotation.push(column.name)\n }\n if (dataToVizualize[i]) {\n dataToVizualize[i].push(column.cell(dataArray[i]))\n } else {\n dataToVizualize.push([column.cell(dataArray[i])])\n }\n }\n }\n dataToVizualize.unshift(annotation)\n const dataTable = google.visualization.arrayToDataTable(dataToVizualize)\n const chart = new google.visualization.PieChart(this.container)\n chart.draw(dataTable, this.config.options)\n }\n google.charts.load('current', {'packages': ['corechart']});\n google.charts.setOnLoadCallback(drawChart);\n\n window.addEventListener('resize', () => {\n this.container.removeChild(this.container.firstChild)\n drawChart()\n })\n }\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n}\n","export default class TreeComponent {\n constructor(element, historyDataSource) {\n this.container = element;\n this.config = this.configuration();\n this.historyDataSource = historyDataSource;\n }\n\n async init() {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this));\n }\n\n async onHistoryData(data) {\n try {\n if (this.config.title && data) {\n await this.getTitle(data)\n }\n if (this.config.topElement(data).length === 0) {\n this.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.'\n return\n }\n this.container.style.scrollBehavior = 'smooth';\n this.container.style.margin = '0';\n this.chainId = this.config.chainId(data);\n\n const expandButton = this.createElementWithClasses('button', 'btn', 'btn-outline-secondary', 'btn-sm', 'expand-button-tree');\n expandButton.textContent = 'Expand all'\n expandButton.addEventListener('click', this.expandAll.bind(this));\n\n const collapseButton = this.createElementWithClasses('button', 'btn', 'btn-outline-secondary', 'btn-sm', 'collapse-button-tree');\n collapseButton.textContent = 'Collapse all'\n collapseButton.addEventListener('click', this.collapseAll.bind(this))\n\n const buttonContainer = this.createElementWithClasses('div', 'button-container');\n this.appendChildren(buttonContainer, expandButton, collapseButton);\n\n const dataTree = this.buildTree(this.config.topElement(data));\n const tree = this.createTree(dataTree, true);\n this.appendChildren(this.container, buttonContainer, tree);\n } catch (error) {\n this.displayError(`Error processing data: ${error.message}`)\n }\n }\n\n buildTree(evmData) {\n let tree = [];\n let lastParentNodes = {};\n evmData.Calls.forEach(call => {\n if (call && call.Call) {\n const newNode = {\n name: 'Call',\n signature: call.Call,\n returns: call.Returns,\n arguments: call.Arguments,\n children: []\n };\n const parentArray = call.Call.Depth === 0 ? tree : (lastParentNodes[call.Call.Depth - 1] && lastParentNodes[call.Call.Depth - 1].children) ? lastParentNodes[call.Call.Depth - 1].children : [];\n parentArray.push(newNode);\n lastParentNodes[call.Call.Depth] = newNode;\n\n const eventForCall = evmData.Events\n .sort((a, b) => a.Log.Index - b.Log.Index)\n .filter(event => event.Log && event.Call.Index === call.Call.Index);\n\n eventForCall.forEach(event => {\n const eventNode = {\n name: 'Event',\n signature: event.Log,\n arguments: event.Arguments,\n children: [],\n };\n if (event.Log && event.Log.Signature.SignatureHash === '') return\n parentArray.push(eventNode);\n });\n\n if (!evmData.Transfers) return\n const transferForCall = evmData.Transfers\n .sort((a, b) => a.Call.Index - b.Call.Index)\n .filter(transfer => transfer.Call && transfer.Call.Index === call.Call.Index);\n\n transferForCall.forEach(transfer => {\n\n const transferNode = {\n name: 'Transfers',\n signature: transfer.Call,\n dataTransfer: transfer.Transfer,\n arguments: [],\n children: [],\n };\n parentArray.push(transferNode);\n });\n }\n });\n return tree;\n }\n\n createTree(data, isRoot = false, counter = {value: 0}) {\n\n const ul = this.createElementWithClasses('ul', 'ul-tree')\n if (isRoot) ul.id = 'tree';\n data.forEach((item, index) => {\n if (item.name === 'Call' && item.signature && item.signature.Signature.SignatureHash === '') {\n return\n }\n counter.value++;\n const li = this.createElementWithClasses('li', 'li-tree')\n const details = this.createElementWithClasses('details')\n details.setAttribute('open', '')\n const summary = this.createElementWithClasses('summary', 'summary-tree', 'card', 'mb-1')\n this.appendChildren(details, summary)\n this.appendChildren(li, details)\n let iconElement\n const openingDiv = this.createElementWithClasses('div')\n openingDiv.textContent = '('\n const closingDiv = this.createElementWithClasses('div')\n closingDiv.textContent = ')'\n const pathName = this.createElementWithClasses('div', 'name-tree')\n const contentDiv = this.createElementWithClasses('div', 'content-tree')\n if (counter.value % 2 !== 0) {\n contentDiv.style.boxShadow = 'inset 0 0 0 1000px rgba(0, 0, 0, 0.03)'\n }\n\n if (item.name === 'Call') {\n iconElement = this.createIcon('fa-share', 'text-primary', 'ml-2')\n }\n\n if (item.signature.Gas && item.signature.Signature.SignatureHash !== '') {\n const method = this.renderMethodLink({\n method: item.signature.Signature.Name,\n hash: item.signature.Signature.SignatureHash,\n }, null, this.chainId)\n method.style.fontWeight = 'bold'\n\n this.appendChildren(contentDiv, iconElement, method)\n }\n\n\n // const argumentsDiv = this.createElementWithClasses('div', 'event-tree', 'argumentsDiv')\n const callArgumentsDiv = this.createElementWithClasses('div', 'content-tree', 'callArgumentsDiv')\n const callArgumentsPathDiv = this.createElementWithClasses('div', 'content-tree', 'callArgumentsPathDiv')\n let value\n item.arguments.forEach((element, index) => {\n const block = this.createElementWithClasses('div', 'text-block');\n const argName = this.createElementWithClasses('div', 'name-tree');\n const value = this.getValueFromType(element);\n\n if (element.Path.length > 0) {\n pathName.textContent = `${element.Path[0].Name}:`;\n argName.textContent = `${element.Type}:`;\n this.appendChildren(block, argName, value);\n this.appendChildren(callArgumentsPathDiv, block);\n } else {\n argName.textContent = element.Name.length > 1 ? `${element.Name}:` : `${element.Type}:`;\n this.appendChildren(block, argName, value);\n this.appendChildren(callArgumentsDiv, block);\n }\n\n if (index < item.arguments.length - 1) {\n const comma = document.createTextNode(', ');\n if (element.Path.length > 0) {\n callArgumentsPathDiv.appendChild(comma);\n } else {\n callArgumentsDiv.appendChild(comma);\n }\n }\n });\n if (item.arguments.length > 0) {\n if (callArgumentsDiv.childElementCount !== 0) {\n callArgumentsDiv.insertBefore(openingDiv, callArgumentsDiv.firstChild);\n callArgumentsDiv.appendChild(closingDiv);\n callArgumentsDiv.insertBefore(pathName, callArgumentsDiv.firstChild);\n this.appendChildren(contentDiv, callArgumentsDiv);\n }\n this.appendChildren(contentDiv, callArgumentsDiv);\n }\n\n if (item.name === 'Event') {\n const iconElement = this.createIcon('fa-bolt', 'text-warning', 'ml-2')\n const method = this.renderMethodLink({\n method: item.signature.Signature.Name,\n hash: item.signature.Signature.SignatureHash,\n }, null, this.chainId)\n method.style.fontWeight = 'bold'\n\n callArgumentsDiv.insertBefore(method, callArgumentsDiv.firstChild);\n callArgumentsDiv.insertBefore(iconElement, callArgumentsDiv.firstChild);\n }\n if (item.name === 'Transfers') {\n const senderDiv = this.createElementWithClasses('div', 'text-block');\n const receiverDiv = this.createElementWithClasses('div', 'text-block');\n const iconElement = this.createIcon('fa', 'fa-money', 'text-success', 'ml-2');\n const iconSenderReceiver = this.createIcon('fa', 'fa-arrow-right', 'text-success');\n const sender = this.renderJustAddressLink(item.dataTransfer.Sender, null, this.chainId)\n const receiver = this.renderJustAddressLink(item.dataTransfer.Receiver, null, this.chainId)\n const amountDiv = this.renderNumbers(item.dataTransfer.Amount)\n const currency = this.createElementWithClasses('div')\n currency.textContent = item.dataTransfer.Currency.Symbol\n\n this.appendChildren(senderDiv, sender);\n this.appendChildren(receiverDiv, receiver);\n this.appendChildren(contentDiv, iconElement, amountDiv, currency, senderDiv, iconSenderReceiver, receiverDiv);\n\n }\n if (item.name === 'Call') {\n const fromToDiv = this.createElementWithClasses('div', 'content-tree')\n const senderDiv = this.createElementWithClasses('div', 'text-block');\n const receiverDiv = this.createElementWithClasses('div', 'text-block');\n const iconSenderReceiver = this.createIcon('fa', 'fa-arrow-right', 'text-success');\n const sender = this.renderJustAddressLink(item.signature.From, null, this.chainId)\n const receiver = this.renderJustAddressLink(item.signature.To, null, this.chainId)\n const gas = this.createElementWithClasses('div')\n gas.textContent = `Gas: ${item.signature.Gas}`\n const gasUsed = this.createElementWithClasses('div')\n gasUsed.textContent = `Gas used: ${item.signature.GasUsed}`\n this.appendChildren(senderDiv, sender);\n this.appendChildren(receiverDiv, receiver);\n if (item.signature.CallerIndex === -1) {\n this.appendChildren(fromToDiv, senderDiv, iconSenderReceiver, receiverDiv, gas, gasUsed);\n this.appendChildren(contentDiv, fromToDiv);\n } else {\n this.appendChildren(fromToDiv, iconSenderReceiver, receiverDiv, gas, gasUsed);\n this.appendChildren(contentDiv, fromToDiv);\n }\n }\n\n if (item.returns && item.returns.length > 0) {\n const iconElement = this.createIcon('fa-undo', 'text-danger', 'ml-2')\n const returnContent = this.createElementWithClasses('div', 'content-tree')\n returnContent.textContent = '[ Return:'\n returnContent.style.gap = '0 5px'\n const closingDiv = this.createElementWithClasses('div')\n closingDiv.textContent = ']'\n\n item.returns.forEach((element, index) => {\n const block = this.createElementWithClasses('div', 'content-tree')\n const argName = this.createElementWithClasses('div', 'text-block');\n const value = this.getValueFromType(element)\n argName.textContent = element.Name ? `${element.Name}:` : `${element.Type}:`\n\n this.appendChildren(block, argName, value)\n this.appendChildren(returnContent, block, closingDiv)\n\n if (index < item.returns.length - 2) {\n const comma = document.createTextNode(', ')\n returnContent.appendChild(comma)\n }\n })\n\n returnContent.insertBefore(iconElement, returnContent.firstChild)\n this.appendChildren(contentDiv, returnContent)\n }\n\n // this.appendChildren(contentDiv, argumentsDiv)\n\n if (item.children && item.children.length > 0) {\n const childUl = this.createTree(item.children, false, counter);\n details.append(childUl);\n } else {\n summary.classList.add('no-children');\n }\n // this.appendChildren(summary, contentDiv)\n if (contentDiv.hasChildNodes()) {\n this.appendChildren(summary, contentDiv);\n }\n this.appendChildren(ul, li)\n\n });\n\n return ul;\n }\n\n getValueFromType(element) {\n let value\n if (element.Type.startsWith('address')) {\n value = this.renderJustAddressLink(element.Value.address, null, this.chainId)\n } else if (element.Type.startsWith('uint') || element.Type.startsWith('int')) {\n value = this.renderNumbers(element.Value.bigInteger || element.Value.integer);\n } else if (element.Type.startsWith('bytes')) {\n value = this.renderBytes32(element.Value.hex)\n } else if (element.Type.startsWith('bool')) {\n value = document.createElement('div')\n value.textContent = element.Value.bool\n } else if (element.Type.startsWith('string')) {\n value = document.createElement('div')\n value.textContent = element.Value.string\n }\n return value\n }\n\n expandAll() {\n this.container.querySelectorAll('details').forEach(details => details.open = true);\n const collapseButton = this.container.querySelector('.collapse-button-tree');\n if (collapseButton) collapseButton.style.display = 'block';\n }\n\n collapseAll() {\n this.container.querySelectorAll('details').forEach(details => details.open = false)\n const collapseButton = this.container.querySelector('.collapse-button-tree');\n }\n\n createIcon(...classes) {\n const icon = this.createElementWithClasses('i', 'fa', ...classes)\n icon.style.width = '1rem'\n return icon\n }\n\n createElementWithClasses(elementType, ...classes) {\n const element = document.createElement(elementType);\n element.classList.add(...classes);\n return element;\n }\n\n appendChildren(parent, ...children) {\n children.forEach(child => parent.appendChild(child));\n\n }\n\n displayError(message) {\n this.container.textContent = ''\n const errorDiv = this.createElementWithClasses('div', 'alert', 'alert-danger')\n errorDiv.textContent = message\n this.appendChildren(this.container, errorDiv)\n }\n\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n\n renderJustAddressLink(data, variables, chainId) {\n const div = document.createElement('div');\n div.classList.add('text-truncate');\n\n if (data === '0x') {\n const span = document.createElement('span');\n span.textContent = '0x'\n span.setAttribute('title', `0x`);\n div.appendChild(span);\n } else {\n const link = document.createElement('a');\n link.setAttribute('target', '_blank');\n link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/address/${data}`;\n link.textContent = data;\n link.setAttribute('title', data);\n div.appendChild(link);\n }\n\n return div;\n }\n\n renderNumbers(data) {\n const div = document.createElement('div')\n div.style.cssText = 'text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'\n const span = document.createElement('span')\n const stringData = (data === null || data === undefined) ? '' : data.toString()\n const formattedData = stringData.replace(/(\\.\\d*?[1-9])0+$/, '$1').replace(/\\.0+$/, '')\n\n span.textContent = formattedData\n div.setAttribute('title', stringData)\n div.appendChild(span)\n\n return div\n }\n\n renderMethodLink(data, variables, chainId) {\n if (!data) return\n const div = document.createElement('div');\n div.classList.add('text-truncate')\n let link = document.createElement('a');\n\n link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/method/${data.hash}`;\n link.textContent = data.method || data.hash\n link.setAttribute('title', data.method)\n\n if (!data.hash && data.hash.length < 1) {\n link = document.createElement('span')\n link.textContent = `value: ${parseFloat(+data.value)}`\n link.setAttribute('title', data.value)\n\n }\n div.appendChild(link)\n return div;\n }\n\n renderBytes32(data) {\n const div = document.createElement('div')\n div.style.cssText = 'text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px;'\n\n const span = document.createElement('span')\n span.textContent = data.length > 1 ? data : '-'\n\n div.setAttribute('title', data)\n div.appendChild(span)\n\n return div;\n }\n\n}\n","export default class LineChartComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.container = element\n this.config = this.configuration()\n this.historyDataSource = historyDataSource\n this.subscriptionDataSource = subscriptionDataSource\n }\n\n async init() {\n if (this.historyDataSource) {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this))\n }\n if (this.subscriptionDataSource) {\n this.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n }\n }\n\n async onHistoryData(data) {\n if (this.config.title && data) {\n await this.getTitle(data)\n }\n if(this.config.topElement(data).length===0){\n this.container.textContent = 'No Data'\n return\n }\n const parentTextColor = window.getComputedStyle(this.container.parentElement, null).getPropertyValue('color')\n const darkTheme = {\n fontName:\"Nunito\",\n titleTextStyle: { color: parentTextColor },\n backgroundColor: 'transparent',\n hAxis: {\n textStyle : { color: parentTextColor },\n titleTextStyle: { color: parentTextColor },\n slantedText: true,\n slantedTextAngle: 45,\n gridlines: {\n count: 0\n },\n showTextEvery: 'auto',\n },\n vAxis: {\n gridlines: {\n count: 0\n },\n textStyle : { color: parentTextColor },\n titleTextStyle: { color: parentTextColor },\n },\n legend: {\n textStyle: { color: parentTextColor }\n },\n }\n this.config.options = {...darkTheme,...this.config.options}\n const drawChart = () => {\n const dataArray = this.config.topElement(data)\n let dataToVizualize = []\n let annotation = []\n let k = 0\n for (let i = 0; i < dataArray.length; i++) {\n for (let column of this.config.columns) {\n const columnName = typeof column.name === 'function' ? column.name(dataArray[i]) : column.name\n const nameIndex = annotation.findIndex(el => el === columnName)\n let currentIndex = nameIndex\n const el = column.cell(dataArray[i])\n if (nameIndex === -1) {\n currentIndex = annotation.length\n annotation.push(columnName)\n }\n if (k>0 && columnName === 'Date' && dataToVizualize[k-1] && el === dataToVizualize[k-1][0]) {\n k--\n }\n if (!dataToVizualize[k]) {\n dataToVizualize.push([])\n }\n dataToVizualize[k][currentIndex] = el\n }\n k++\n }\n\n dataToVizualize.unshift(annotation)\n\n const dataTable = google.visualization.arrayToDataTable(dataToVizualize)\n const chart = new google.visualization.LineChart(this.container)\n chart.draw(dataTable, this.config.options)\n }\n google.charts.load('current', {packages: ['corechart', 'line']})\n google.charts.setOnLoadCallback(drawChart)\n\n window.addEventListener('resize', () => {\n this.container.removeChild(this.container.firstChild)\n drawChart()\n })\n }\n\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n}\n","const isNotEmptyArray = (subj) => Array.isArray(subj) && subj.length\nconst isNotEmptyObject = (subj) =>\n subj != null &&\n !Array.isArray(subj) &&\n typeof subj === \"object\" &&\n Object.keys(subj).length\n\nexport function SubscriptionDataSource(token, payload) {\n let variables, cleanSubscription;\n let callbacks = [];\n let widgetFrames = [];\n this.mempoolShow = payload.variables.mempool === false && payload.variables.network === \"eth\";\n\n this.subscribe = () => {\n const currentUrl = payload.endpoint_url.replace(/^http/, \"ws\");\n const tokenForStreaming = token.replace(/^Bearer\\s*/, \"\").trim();\n const client = createClient({\n url: `${currentUrl}?token=${tokenForStreaming}`,\n connectionParams: async () => {\n return {\n headers: {\n Authorization: token,\n },\n };\n },\n });\n this.alive = true;\n try {\n cleanSubscription = client.subscribe(\n {query: payload.query, variables},\n {\n next: ({data}) => {\n callbacks.forEach((cb, i) => {\n widgetFrames[i].onqueryend();\n cb(data, variables);\n });\n },\n error: (error) => {\n widgetFrames.forEach((wf) => wf.onerror(\"connection error\"));\n this.unsubscribe();\n },\n complete: () => {\n this.alive = false;\n },\n }\n );\n } catch (error) {\n widgetFrames.forEach((wf) => wf.onerror(error));\n this.unsubscribe();\n }\n };\n\n this.setCallback = (cb) => {\n callbacks.push(cb);\n };\n\n this.setWidgetFrame = (wf) => {\n widgetFrames.push(wf);\n };\n\n this.changeVariables = async (deltaVariables) => {\n variables = {...payload.variables, ...deltaVariables};\n cleanSubscription && cleanSubscription();\n this.subscribe();\n };\n\n this.unsubscribe = () => {\n cleanSubscription && cleanSubscription();\n this.alive = false;\n cleanSubscription = null;\n };\n\n return this;\n}\n\nexport function HistoryDataSource(token, payload) {\n let callbacks = []\n let widgetFrames = []\n let variables = payload.variables\n\n const getNewData = async () => {\n widgetFrames.forEach((wf) => wf.onquerystarted())\n try {\n const data = await getData(token, {...payload, variables})\n widgetFrames.forEach((wf) => wf.onqueryend())\n callbacks.forEach((cb) => cb(data, variables))\n } catch (error) {\n widgetFrames.forEach((wf) => wf.onerror(error))\n }\n }\n\n this.setCallback = (cb) => {\n callbacks.push(cb)\n }\n\n this.setWidgetFrame = (wf) => {\n widgetFrames.push(wf)\n }\n\n this.increaseLimit = async () => {\n variables.limit += 10\n getNewData()\n }\n\n this.changeVariables = async (deltaVariables) => {\n if (deltaVariables) {\n variables = {...payload.variables, ...deltaVariables}\n }\n await getNewData()\n }\n\n return this\n}\n\nexport const getBaseClass = (targetClass, config) => {\n const discoverFunctions = (subj, prop) => {\n if (typeof subj === \"function\") {\n if (prop && subj?.name !== prop) {\n if (!data.some((el) => Object.keys(el)[0] === subj?.name)) {\n data.unshift({[subj.name]: serialize(subj)})\n }\n }\n return\n }\n if (isNotEmptyArray(subj)) {\n for (let el of subj) {\n discoverFunctions(el)\n }\n }\n if (isNotEmptyObject(subj)) {\n for (let prop in subj) {\n discoverFunctions(subj[prop], prop)\n }\n }\n }\n const data = []\n data.push({[targetClass.name]: serialize(targetClass)})\n if (targetClass instanceof Function) {\n let baseClass = targetClass\n while (baseClass) {\n const newBaseClass = Object.getPrototypeOf(baseClass)\n if (newBaseClass && newBaseClass !== Object && newBaseClass.name) {\n baseClass = newBaseClass\n data.unshift({[baseClass.name]: serialize(baseClass)})\n } else {\n break\n }\n }\n }\n discoverFunctions(config)\n return data\n}\n\nexport const getAPIButton = (widgetFrame, data, variables, queryID, subscriptionQueryID, subscriptionDataSource) => () => {\n if (widgetFrame.mempoolControlButton.dataset.active === \"true\") {\n variables.mempool = true\n } else {\n variables.mempool = false\n }\n let createHiddenField = function (name, value) {\n let input = document.createElement(\"input\")\n input.setAttribute(\"type\", \"hidden\")\n input.setAttribute(\"name\", name)\n input.setAttribute(\"value\", value)\n return input\n }\n let currentTabElement = document.querySelector(\n \"body > div:nth-child(6) > ul > li:nth-child(1) > a\"\n )\n let currentTab = currentTabElement\n ? currentTabElement.text.toLowerCase()\n : \"default\"\n let currentUrl = window.location.href\n let networkPattern = /https?:\\/\\/[^\\/]+\\/(\\w+)/\n let match = currentUrl.match(networkPattern)\n let network = match ? match[1] : \"default\"\n let form = document.createElement(\"form\")\n form.setAttribute(\"method\", \"post\")\n form.setAttribute(\"action\", `${window.bitqueryAPI}/widgetconfig`)\n form.setAttribute(\"enctype\", \"application/json\")\n form.setAttribute(\"target\", \"_blank\")\n form.appendChild(createHiddenField(\"data\", JSON.stringify(data)))\n form.appendChild(createHiddenField(\"variables\", JSON.stringify(variables)))\n\n const url = widgetFrame.mempoolControlButton.dataset.active === \"true\" ||\n widgetFrame.streamControlButton.dataset.active === \"true\" ?\n subscriptionQueryID : queryID;\n form.appendChild(createHiddenField(\"url\", url))\n form.appendChild(createHiddenField(\"utm_source\", \"explorer.bitquery.io\"))\n form.appendChild(createHiddenField(\"utm_medium\", \"referral\"))\n form.appendChild(createHiddenField(\"utm_campaign\", encodeURIComponent(network)))\n form.appendChild(createHiddenField(\"utm_content\", encodeURIComponent(currentTab)))\n document.body.appendChild(form)\n form.submit()\n document.body.removeChild(form)\n}\n\n\nexport const increaseLimitButton = (historyDataSource) => () => {\n historyDataSource.increaseLimit()\n}\n\nexport const mempoolStreamControl = (subscriptionDataSource, widgetFrame) => (e) => {\n const currentButton = e.currentTarget;\n\n currentButton.classList.add(\"button-pressed\");\n currentButton.textContent = \"⏸ Mempool\";\n widgetFrame.mempoolControlButton.dataset.active = \"true\";\n widgetFrame.streamControlButton.dataset.active = \"false\";\n widgetFrame.switchButton.dataset.active = \"false\";\n const nextButton = currentButton.nextSibling;\n const prevButton = currentButton.previousSibling;\n\n if (nextButton) {\n nextButton.classList.remove(\"button-pressed\");\n nextButton.textContent = \"▶ Streaming\";\n }\n\n if (prevButton) {\n prevButton.classList.remove(\"button-pressed\");\n prevButton.textContent = \"▶ History query\";\n }\n\n widgetFrame.onquerystarted();\n subscriptionDataSource.changeVariables({mempool: true});\n\n if (widgetFrame.blinkerWrapper) {\n widgetFrame.blinkerWrapper.classList.remove(\"hide\");\n }\n};\n\nexport const streamControl = (subscriptionDataSource, widgetFrame) => (e) => {\n const currentButton = e.currentTarget;\n\n currentButton.classList.add(\"button-pressed\");\n currentButton.textContent = \"⏸ Streaming\";\n widgetFrame.streamControlButton.dataset.active = \"true\";\n widgetFrame.switchButton.dataset.active = \"false\";\n widgetFrame.mempoolControlButton.dataset.active = \"false\";\n\n\n const prevButton = currentButton.previousSibling;\n\n if (prevButton) {\n prevButton.classList.remove(\"button-pressed\");\n prevButton.textContent = \"▶ Mempool\";\n }\n\n const prevPrevButton = prevButton?.previousSibling;\n if (prevPrevButton) {\n prevPrevButton.classList.remove(\"button-pressed\");\n prevPrevButton.textContent = \"▶ History query\";\n }\n\n widgetFrame.onquerystarted();\n subscriptionDataSource.changeVariables({mempool: false});\n\n if (widgetFrame.blinkerWrapper) {\n widgetFrame.blinkerWrapper.classList.remove(\"hide\");\n }\n};\n\nexport const switchDataset = (widgetFrame, historyDataSource, subscriptionDataSource) => (e) => {\n const currentButton = e.currentTarget;\n\n currentButton.classList.add(\"button-pressed\");\n currentButton.textContent = \"History query\";\n widgetFrame.switchButton.dataset.active = \"true\";\n widgetFrame.streamControlButton.dataset.active = \"false\";\n widgetFrame.mempoolControlButton.dataset.active = \"false\";\n\n\n const nextButton = currentButton.nextSibling;\n const nextNextButton = nextButton?.nextSibling;\n\n if (nextButton) {\n nextButton.classList.remove(\"button-pressed\");\n nextButton.textContent = \"▶ Mempool\";\n }\n\n if (nextNextButton) {\n nextNextButton.classList.remove(\"button-pressed\");\n nextNextButton.textContent = \"▶ Streaming\";\n }\n\n subscriptionDataSource.unsubscribe();\n widgetFrame.onquerystarted();\n historyDataSource.changeVariables();\n\n if (widgetFrame.blinkerWrapper) {\n widgetFrame.blinkerWrapper.classList.add(\"hide\");\n }\n};\nexport const getQueryParams = async (queryID) => {\n const response = await fetch(`${window.bitqueryAPI}/getquery/${queryID}`)\n const {endpoint_url, variables, query, name} = await response.json()\n return {\n variables: JSON.parse(variables),\n query,\n endpoint_url,\n name,\n }\n}\n\nexport const getData = async (token, {endpoint_url, query, variables}) => {\n const response = await fetch(endpoint_url, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: token,\n },\n body: JSON.stringify({query, variables}),\n credentials: \"same-origin\",\n })\n if (response.status !== 200) {\n throw new Error(response.error)\n }\n const {data, errors} = await response.json()\n if (errors) {\n throw new Error(errors[0].message)\n }\n return data\n}\n\nexport const createWidgetFrame = (\n selector,\n subscriptionQueryID,\n historyQueryID,\n subscriptionDataSource\n) => {\n const createBadge = (title, display, additionalClasses = \"\") => {\n const button = document.createElement(\"a\")\n if (!display) {\n button.style.display = \"none\"\n return button\n }\n button.classList.add(\n \"badge\",\n \"text-white\",\n \"bg-custom-purple\",\n \"rounded-sm\",\n \"px-3\",\n \"py-1\",\n \"button-transition\",\n ...additionalClasses.split(\" \")\n )\n button.setAttribute(\"role\", \"button\")\n button.setAttribute(\"target\", \"_blank\")\n button.textContent = title\n button.dataset.active = \"false\";\n return button\n }\n const setupShowMoreButton = (tableFooter, showMoreButton) => () => {\n tableFooter.style.justifyContent = \"space-end\"\n tableFooter.insertBefore(showMoreButton, tableFooter.firstChild)\n }\n\n const componentContainer = document.querySelector(selector)\n const widgetHeader = document.createElement(\"div\")\n const row = document.createElement(\"div\")\n const col8 = document.createElement(\"div\")\n const cardBody = document.createElement(\"div\")\n const widgetFrame = document.createElement(\"div\")\n const tableFooter = document.createElement(\"div\")\n\n\n const getHistoryAPIButton = createBadge(\n \"Get API\",\n historyQueryID,\n \"mx-2\"\n )\n const switchButton = createBadge(\"History query\", true, \"mx-2\")\n const showMoreButton = document.createElement(\"a\")\n const streamControlButton = createBadge(\"▶ Streaming\", true, \"mx-2\")\n const mempoolControlButton = createBadge(\"▶ Mempool\", true, \"mx-2\")\n\n if (!subscriptionQueryID) {\n switchButton.style.display = \"none\"\n streamControlButton.style.display = \"none\"\n }\n if (subscriptionDataSource?.mempoolShow !== true) {\n mempoolControlButton.style.display = \"none\"\n }\n\n switchButton.id = \"switchButton\"\n streamControlButton.id = \"streamControlButton\"\n mempoolControlButton.id = \"mempoolControlButton\"\n switchButton.classList.add(\"button-pressed\")\n showMoreButton.classList.add(\"more-link\", \"badge\")\n showMoreButton.textContent = \" \"\n showMoreButton.style.cursor = \"pointer\"\n\n const loader = document.createElement(\"div\")\n\n const buttonContainer = document.createElement(\"div\")\n buttonContainer.classList.add(\"col-auto\", \"d-flex\", \"align-items-center\")\n\n const blinkerWrapper = document.createElement(\"div\")\n blinkerWrapper.classList.add(\"hide\")\n const blink = document.createElement(\"div\")\n blink.classList.add(\"blink\")\n blinkerWrapper.appendChild(blink)\n buttonContainer.appendChild(blinkerWrapper)\n buttonContainer.appendChild(switchButton)\n buttonContainer.appendChild(mempoolControlButton)\n buttonContainer.appendChild(streamControlButton)\n row.appendChild(buttonContainer)\n widgetFrame.blinkerWrapper = blinkerWrapper\n\n tableFooter.style.display = \"flex\"\n tableFooter.style.justifyContent = \"end\"\n tableFooter.appendChild(getHistoryAPIButton)\n\n widgetHeader.classList.add(\"card-header\")\n row.classList.add(\"row\", \"align-items-center\", \"pr-3\", \"pl-3\")\n col8.classList.add(\"col-auto\")\n col8.classList.add(selector)\n col8.style.flex = \"1\"\n cardBody.classList.add(\"card-body\", \"text-center\")\n widgetFrame.classList.add(\"widget-container\", \"tabulator\")\n widgetFrame.style.height = \"fit-content\"\n widgetFrame.style.background = \"inherit\"\n\n\n componentContainer.appendChild(widgetHeader)\n componentContainer.appendChild(cardBody)\n cardBody.appendChild(widgetFrame)\n cardBody.appendChild(tableFooter)\n widgetHeader.appendChild(row)\n row.appendChild(col8)\n\n row.appendChild(buttonContainer)\n\n const f = setupShowMoreButton(tableFooter, showMoreButton)\n\n const onloadmetadata = (queryMetaData) => {\n col8.textContent = queryMetaData?.name || \"No query presented\"\n }\n const onquerystarted = () => {\n const existingOverlays = cardBody.querySelectorAll(\".loading-overlay\");\n existingOverlays.forEach((overlay) => overlay.remove());\n\n const overlay = document.createElement(\"div\");\n overlay.className = \"loading-overlay\";\n overlay.innerHTML = `\n
\n

Loading...

\n
\n
\n `;\n cardBody.style.position = \"relative\";\n cardBody.appendChild(overlay);\n\n requestAnimationFrame(() => {\n overlay.classList.add(\"show\");\n });\n\n const progressBar = overlay.querySelector(\".progress-bar\");\n let progress = 0;\n const startTime = Date.now();\n const duration = 3000;\n\n const updateProgress = () => {\n const elapsedTime = Date.now() - startTime;\n const remainingTime = Math.max(0, duration - elapsedTime);\n const progressSpeed = remainingTime > 0 ? (90 - progress) / (remainingTime / 50) : 100;\n\n if (progress < 90) {\n progress += progressSpeed;\n progress = Math.min(progress, 90);\n progressBar.style.width = progress + \"%\";\n requestAnimationFrame(updateProgress);\n } else {\n progressBar.classList.add(\"progress-bounce\");\n }\n };\n\n updateProgress();\n overlay.dataset.startTime = startTime;\n };\n\n const onqueryend = () => {\n const overlays = cardBody.querySelectorAll(\".loading-overlay\");\n overlays.forEach((overlay) => {\n const progressBar = overlay.querySelector(\".progress-bar\");\n progressBar.style.width = \"100%\";\n\n overlay.classList.remove(\"show\");\n setTimeout(() => {\n overlay.remove();\n }, 300);\n });\n };\n\n const onerror = (error) => {\n const overlay = cardBody.querySelector(\".loading-overlay\")\n if (overlay) {\n overlay.remove()\n }\n\n const errorContainer = document.createElement(\"div\")\n errorContainer.classList.add(\"alert\", \"alert-danger\")\n errorContainer.setAttribute(\"role\", \"alert\")\n\n const title = document.createElement(\"h4\")\n title.classList.add(\"alert-heading\")\n title.textContent = \"An error occurred while executing the request. Please, try again later\"\n\n const errorText = document.createElement(\"div\")\n errorText.classList.add(\"mb-0\")\n if (Array.isArray(error)) {\n errorText.textContent = `Error: ${error[0].message}`\n } else if (\"message\" in error) {\n errorText.textContent = `Error: ${error.message}`\n } else {\n errorText.textContent = `Error: ${error}`\n }\n\n errorContainer.appendChild(title)\n errorContainer.appendChild(errorText)\n\n cardBody.insertBefore(errorContainer, cardBody.firstChild)\n }\n\n return {\n frame: widgetFrame,\n getHistoryAPIButton,\n switchButton,\n streamControlButton,\n mempoolControlButton,\n showMoreButton,\n setupShowMoreButton: f,\n onloadmetadata,\n onquerystarted,\n onqueryend,\n onerror,\n blinkerWrapper\n }\n}\n","import {\n getBaseClass,\n getAPIButton,\n streamControl,\n mempoolStreamControl,\n switchDataset,\n getQueryParams,\n createWidgetFrame,\n HistoryDataSource,\n increaseLimitButton,\n SubscriptionDataSource, getAPIMempoolButton\n} from \"./helper\";\n\nexport default async function renderComponent(token,use_eap, components, historyQueryID, explorerVariables = {}, subscriptionQueryID) {\n let variables, subscriptionDataSource, historyDataSource, subscriptionQueryParams, historyQueryParams\n // const endpoint_url = use_eap === 'true' ? '/proxy_eap_graphql' : '/proxy_streaming_graphql';\n const endpoint_url = use_eap.toString() === 'true' ? 'https://streaming.bitquery.io/eap' : 'https://streaming.bitquery.io/graphql';\n if (subscriptionQueryID) {\n subscriptionQueryParams = await getQueryParams(subscriptionQueryID)\n const { query, variables: rawVariables} = subscriptionQueryParams\n variables = {...rawVariables, ...explorerVariables};\n const subscriptionPayload = {query, variables, endpoint_url}\n subscriptionDataSource = new SubscriptionDataSource(token, subscriptionPayload)\n }\n if (historyQueryID) {\n historyQueryParams = await getQueryParams(historyQueryID)\n variables = variables || {...historyQueryParams.variables, ...explorerVariables}\n const historyPayload = {\n variables,\n query: historyQueryParams.query,\n endpoint_url\n }\n historyDataSource = new HistoryDataSource(token, historyPayload)\n }\n\n components.forEach(async component => {\n const ComponentConstructor = component[0]\n const componentSelector = component[1]\n document.querySelector(componentSelector).textContent = ''\n const widgetFrame = createWidgetFrame(componentSelector, subscriptionQueryID, historyQueryID, subscriptionDataSource)\n if (subscriptionDataSource) {\n widgetFrame.onloadmetadata(subscriptionQueryParams)\n subscriptionDataSource.setWidgetFrame(widgetFrame)\n }\n if (historyDataSource) {\n widgetFrame.onloadmetadata(historyQueryParams)\n historyDataSource.setWidgetFrame(widgetFrame)\n }\n const componentObject = new ComponentConstructor(widgetFrame.frame, historyDataSource, subscriptionDataSource)\n componentObject.init(widgetFrame)\n\n const data = getBaseClass(ComponentConstructor, componentObject.config);\n data.unshift({['WidgetConfig']: serialize(WidgetConfig)});\n widgetFrame.mempoolControlButton.onclick = mempoolStreamControl(subscriptionDataSource, widgetFrame)\n widgetFrame.switchButton.onclick = switchDataset(widgetFrame, historyDataSource, subscriptionDataSource)\n widgetFrame.streamControlButton.onclick = streamControl(subscriptionDataSource, widgetFrame)\n widgetFrame.getHistoryAPIButton.onclick = getAPIButton(widgetFrame, data, variables, historyQueryID, subscriptionQueryID, subscriptionDataSource)\n })\n\n historyDataSource && await historyDataSource.changeVariables()\n}\n","export default async function renderImgFromURI(uri) {\n const createContainer = () => {\n const div = document.createElement('div');\n div.classList.add('position-relative');\n div.style.height = '178px';\n return div;\n };\n\n const preprocessURI = uri => {\n return /^ipfs:\\/\\//.test(uri) ? uri.replace(/ipfs:\\/\\//, 'https://ipfs.io/ipfs/') : uri;\n };\n\n const fetchMediaURL = async url => {\n let mediaURL, nameMedia;\n if (/^http/.test(url)) {\n const response = await fetch(url);\n const data = await response.json();\n mediaURL = data.image || data.image_url || data.image_data;\n nameMedia = data.name;\n } else if (url.startsWith('data:application/json')) {\n const base64Data = url.replace('data:application/json;base64,', '');\n const json = JSON.parse(atob(base64Data));\n mediaURL = json.image || json.image_url || json.image_data;\n nameMedia = json.name;\n }\n\n if (mediaURL && mediaURL.startsWith('ipfs://')) {\n mediaURL = mediaURL.replace(/^ipfs:\\/\\//, 'https://ipfs.io/ipfs/');\n }\n return {mediaURL, name: nameMedia};\n };\n\n const createButton = url => {\n const button = document.createElement('button');\n button.classList.add('btn', 'btn-outline-info', 'btn-sm', 'position-absolute');\n button.style.top = '0';\n button.style.left = '0';\n button.style.zIndex = '1';\n const icon = document.createElement('i');\n icon.classList.add('fa', 'fa-info-circle');\n button.appendChild(icon);\n\n if (url === null || url === 'error' || url.length <= 1) {\n button.disabled = true;\n } else {\n button.addEventListener('click', e => {\n e.stopPropagation();\n window.open(url, '_blank');\n });\n }\n\n return button;\n };\n\n const createImageElement = src => {\n const img = document.createElement('img');\n img.id = 'imgFromCard';\n img.setAttribute('onerror', `this.src='data:image/png;base64,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'`);\n img.style.objectFit = 'cover';\n img.src = src;\n img.style.width = '100%';\n img.style.cursor = 'pointer';\n img.style.height = '100%';\n img.id = 'imgFromCard';\n img.style.objectFit = 'cover';\n return img;\n };\n\n const createVideoElement = src => {\n const video = document.createElement('video');\n video.classList.add('w-100', 'h-100');\n\n const source = document.createElement('source');\n source.setAttribute('src', src);\n if (src.endsWith('.mp4')) {\n source.setAttribute('type', 'video/mp4');\n } else if (src.endsWith('.mov')) {\n source.setAttribute('type', 'video/quicktime');\n } else if (src.endsWith('.webm')) {\n source.setAttribute('type', 'video/webm');\n }\n\n video.appendChild(source);\n video.style.cursor = 'pointer';\n video.controls = true;\n return video;\n };\n\n const appendMediaElement = (container, mediaURL, preprocessedURI, uri) => {\n const src = mediaURL.mediaURL;\n const mediaElement = /\\.(mp4|mov|webm)$/.test(src) ? createVideoElement(src) : createImageElement(src);\n\n const button = createButton(preprocessedURI);\n\n container.appendChild(mediaElement);\n container.appendChild(button);\n\n mediaElement.addEventListener('click', e => {\n e.stopPropagation();\n window.open(mediaURL.mediaURL, '_blank');\n });\n };\n\n const handleFetchError = (container, preprocessedURI) => {\n const img = createImageElement();\n img.style.cursor = 'default';\n const button = createButton(preprocessedURI);\n container.appendChild(img);\n if (preprocessURI !== null) {\n container.appendChild(button);\n }\n };\n\n const container = createContainer();\n const url = preprocessURI(uri);\n\n try {\n const mediaURL = await fetchMediaURL(url);\n if (mediaURL.mediaURL) {\n appendMediaElement(container, mediaURL, url, uri);\n } else {\n handleFetchError(container, url);\n }\n } catch {\n handleFetchError(container, url);\n }\n\n return container;\n}\n","export default function renderTokenLink(data, variables, chainId) {\n const div = document.createElement('div')\n div.className = 'text-truncate'\n div.style.maxWidth = '200px'\n\n const text = data.name ? `${data.currency} (${data.name})` || data.name || data.smartContract : data.currency || data.smartContract\n const elem = document.createElement('a')\n\n elem.textContent = text\n elem.title = text\n\n // elem.href = ``https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/address/${data.smartContract}`\n elem.href = `/${WidgetConfig.getNetwork(chainId)}/address/${data.smartContract}`\n\n div.appendChild(elem)\n return div\n}\n","export default function renderDate(sub) {\n\tconst span = document.createElement('span');\n\tspan.textContent = sub.replace('T', ' ').replace('Z', '');\n\tspan.setAttribute('title',sub.replace('T', ' ').replace('Z', ''))\n\n\treturn span;\n}\n","export default function renderTX(str,variables,chainId) {\n\tconst div = document.createElement('div');\n\tdiv.classList.add('text-truncate')\n\tconst link = document.createElement('a');\n\t// link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/tx/${str}`;\n\tlink.href = `/${WidgetConfig.getNetwork(chainId)}/tx/${str}`;\n\tlink.textContent = str;\n\tlink.setAttribute('title',str)\n\n\tdiv.appendChild(link)\n\treturn div;\n}\n","export default function renderIdLink(data = {}, variables, chainId) {\n const div = document.createElement('div');\n div.classList.add('text-truncate');\n\n const link = document.createElement('a');\n link.textContent = data.id;\n // link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/token/${data.address}/id/${data.id}`;\n link.href = `/${WidgetConfig.getNetwork(chainId)}/token/${data.address}/id/${data.id}`;\n link.setAttribute('title', data.id );\n \n div.appendChild(link);\n\n return div;\n}\n","export default function renderDexProtocolLink(data,variables,chainId) {\n\tconst span = document.createElement('span');\n\tconst link = document.createElement('a');\n\tlink.textContent = `${data.ProtocolFamily} ${data.ProtocolVersion}`\n\tlink.setAttribute('target', '_blank');\n\t// link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/dex_protocol/${data.ProtocolName}`;\n\tlink.href = `/${WidgetConfig.getNetwork(chainId)}/dex_protocol/${data.ProtocolName}`;\n\tlink.setAttribute('title',`${data.ProtocolFamily} ${data.ProtocolVersion}`)\n\t\n\tspan.appendChild(link);\n\n\treturn span;\n}\n","export default function renderJustAddressLink(data, variables, chainId) {\n const div = document.createElement('div');\n div.classList.add('text-truncate');\n\n\n const link = document.createElement('a');\n link.setAttribute('target', '_self');\n // link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/address/${data}`;\n link.href = `/${WidgetConfig.getNetwork(chainId)}/address/${data}`;\n link.textContent = data;\n link.setAttribute('title', data);\n div.appendChild(link);\n\n return div;\n}\n","export default function renderBlockLink(data, variables, chainId) {\n const div = document.createElement('div');\n div.classList.add('text-truncate');\n const link = document.createElement('a');\n link.setAttribute('target', '_blank');\n // link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/block/${data}`;\n link.href = `/${WidgetConfig.getNetwork(chainId)}/block/${data}`;\n link.textContent = data;\n link.setAttribute('title', data)\n\n div.appendChild(link);\n return div;\n}\n","export default function renderSenderRecieverIcon() {\n\tconst icon = document.createElement('i')\n\ticon.classList.add('fa', 'fa-sign-in', 'text-success')\n\ticon.style.width = '20px'\n\treturn icon\n}\n","export default function renderPairLink(data, variables, chainId) {\n const div = document.createElement('div')\n div.classList.add('text-truncate')\n div.style.whiteSpace = 'nowrap'\n div.style.overflow = 'hidden'\n div.style.textOverflow = 'ellipsis'\n\n const link = document.createElement('a')\n link.textContent = `${data.buyCurrencySymbol || data.buyCurrencySC.slice(0,7)+'...'} / ${data.sellCurrencySymbol || data.sellCurrencySC.slice(0,7)+'...'}`\n link.setAttribute('title', `${data.buyCurrencySymbol || data.buyCurrencySC} / ${data.sellCurrencySymbol || data.sellCurrencySC}`)\n link.href = `/${WidgetConfig.getNetwork(chainId)}/tokenpair/${data.buyCurrencySC}/${data.sellCurrencySC}`\n div.appendChild(link)\n return div\n}","export default function renderNumbers(data) {\n const div = document.createElement('div')\n div.style.cssText = 'text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'\n\n const span = document.createElement('span')\n\n const formatNumberMix = (value, numberFix = 2) => {\n let number = parseFloat(value)\n if (isNaN(number)) return 'NaN'\n if (number === 0) return '0'\n let effectiveFix = numberFix\n if (Math.abs(number) < 1) {\n const significantDigits = numberFix\n const leadingZeros = -Math.floor(Math.log10(Math.abs(number)))\n effectiveFix = significantDigits + leadingZeros - 1\n }\n let units = ['', 'K', 'M', 'B']\n let unitIndex = 0\n while (Math.abs(number) >= 1000 && unitIndex < units.length - 1) {\n number /= 1000\n unitIndex++\n }\n let fixedNumber = number.toFixed(effectiveFix)\n fixedNumber = fixedNumber.replace(/\\.?0+$/, '')\n if (fixedNumber.includes('.')) {\n const [integerPart, decimalPart] = fixedNumber.split('.')\n const zerosMatch = decimalPart.match(/^0+/)\n if (zerosMatch && zerosMatch[0].length > 2) {\n const zerosCount = zerosMatch[0].length\n const significantPart = decimalPart.slice(zerosCount)\n return `${integerPart}.0..${significantPart}${units[unitIndex]}`\n }\n }\n return fixedNumber + units[unitIndex]\n }\n\n const stringData = (data === null || data === undefined) ? '' : data.toString()\n const formattedData = formatNumberMix(stringData)\n\n span.textContent = formattedData\n\n div.setAttribute('title', data)\n div.appendChild(span)\n\n return div\n}","export default function renderNumbersWithCurrency(data, variables, chainId) {\n const container = document.createElement('div')\n container.style.cssText = 'display: flex; flex-direction: row; gap: 0px 6px; justify-content: end;'\n\n const div = document.createElement('div')\n div.style.cssText = 'text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'\n div.setAttribute('title', data)\n\n const span = document.createElement('span')\n span.setAttribute('title', data)\n div.appendChild(span)\n\n const spanCurrency = document.createElement('span')\n spanCurrency.textContent = WidgetConfig.getCurrency(chainId)\n container.appendChild(div)\n container.appendChild(spanCurrency)\n\n const formatNumberMix = (value, numberFix = 2) => {\n let number = parseFloat(value)\n if (isNaN(number)) return 'NaN'\n if (number === 0) return '0'\n let effectiveFix = numberFix\n if (Math.abs(number) < 1) {\n const significantDigits = numberFix\n const leadingZeros = -Math.floor(Math.log10(Math.abs(number)))\n effectiveFix = significantDigits + leadingZeros - 1\n }\n let units = ['', 'K', 'M', 'B']\n let unitIndex = 0\n while (Math.abs(number) >= 1000 && unitIndex < units.length - 1) {\n number /= 1000\n unitIndex++\n }\n let fixedNumber = number.toFixed(effectiveFix)\n fixedNumber = fixedNumber.replace(/\\.?0+$/, '')\n if (fixedNumber.includes('.')) {\n const [integerPart, decimalPart] = fixedNumber.split('.')\n const zerosMatch = decimalPart.match(/^0+/)\n if (zerosMatch && zerosMatch[0].length > 2) {\n const zerosCount = zerosMatch[0].length\n const significantPart = decimalPart.slice(zerosCount)\n return `${integerPart}.0..${significantPart}${units[unitIndex]}`\n }\n }\n return fixedNumber + units[unitIndex]\n }\n\n const stringData = (data === null || data === undefined) ? '' : data.toString()\n const formattedData = formatNumberMix(stringData)\n\n span.textContent = formattedData\n\n return container\n}","export default function renderNumbersWithCurrencySymbol(data, variables, chainId) {\n const container = document.createElement('div')\n container.style.cssText = 'display: flex; flex-direction: row; gap: 0px 6px; justify-content: end;'\n\n const div = document.createElement('div')\n div.style.cssText = 'text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'\n div.setAttribute('title', data.number)\n\n const span = document.createElement('span')\n span.setAttribute('title', data.number)\n div.appendChild(span)\n\n const spanCurrency = document.createElement('span')\n spanCurrency.textContent = data.symbol ? data.symbol : ''\n container.appendChild(div)\n container.appendChild(spanCurrency)\n\n const formatNumberMix = (value, numberFix = 2) => {\n let number = parseFloat(value)\n if (isNaN(number)) return 'NaN'\n if (number === 0) return '0'\n let effectiveFix = numberFix\n if (Math.abs(number) < 1) {\n const significantDigits = numberFix\n const leadingZeros = -Math.floor(Math.log10(Math.abs(number)))\n effectiveFix = significantDigits + leadingZeros - 1\n }\n let units = ['', 'K', 'M', 'B']\n let unitIndex = 0\n while (Math.abs(number) >= 1000 && unitIndex < units.length - 1) {\n number /= 1000\n unitIndex++\n }\n let fixedNumber = number.toFixed(effectiveFix)\n fixedNumber = fixedNumber.replace(/\\.?0+$/, '')\n if (fixedNumber.includes('.')) {\n const [integerPart, decimalPart] = fixedNumber.split('.')\n const zerosMatch = decimalPart.match(/^0+/)\n if (zerosMatch && zerosMatch[0].length > 2) {\n const zerosCount = zerosMatch[0].length\n const significantPart = decimalPart.slice(zerosCount)\n return `${integerPart}.0..${significantPart}${units[unitIndex]}`\n }\n }\n return fixedNumber + units[unitIndex]\n }\n\n const stringData = (data.number === null || data.number === undefined) ? '' : data.number.toString()\n const formattedData = formatNumberMix(stringData)\n\n span.textContent = formattedData\n\n return container\n}","export default function renderMethodLink(data, variables, chainId) {\n if(!data) return\n const div = document.createElement('div');\n div.classList.add('text-truncate')\n let link = document.createElement('a');\n\n // link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/method/${data.hash}`;\n link.href = `/${WidgetConfig.getNetwork(chainId)}/method/${data.hash}`;\n link.textContent = data.method || data.hash\n link.setAttribute('title', data.method)\n\n if (!data.hash && data.hash.length < 1) {\n link = document.createElement('span')\n link.textContent = `value: ${parseFloat(+data.value)}`\n link.setAttribute('title', data.value)\n\n }\n div.appendChild(link)\n return div;\n}","export default function renderEventLink(data, variables, chainId) {\n\tconst div = document.createElement('div');\n\tdiv.classList.add('text-truncate')\n\tconst link = document.createElement('a');\n link.setAttribute('title',data.event)\n\n // link.href = `https://explorer.bitquery.io/${WidgetConfig.getNetwork(chainId)}/event/${data.hash}`;\n link.href = `/${WidgetConfig.getNetwork(chainId)}/event/${data.hash}`;\n link.textContent = data.event || data.hash\n\n\tdiv.appendChild(link)\n\treturn div;\n}","export default function renderBytes32(data) {\n const div = document.createElement('div')\n div.style.cssText = 'text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px;'\n\n const span = document.createElement('span')\n span.textContent = data.length > 1 ? data : '-'\n\n div.setAttribute('title', data)\n div.appendChild(span)\n\n return div;\n}\n","export default function renderNumberWithUSD(data) {\n const container = document.createElement('div');\n container.style.cssText = 'display: flex; flex-direction: row; gap: 6px; justify-content: end; text-align: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; align-items: center;';\n container.setAttribute('title', `Amount: ${data?.amount || ''}, USD: ${data?.usd ? data.usd : ''}`);\n\n const amountDiv = document.createElement('div');\n amountDiv.style.cssText = 'font-size: 1em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;';\n\n const usdDiv = document.createElement('div');\n usdDiv.style.cssText = 'font-size: 0.75em; color: green; margin-top: -0.5rem;';\n\n const formatNumberMix = (value, numberFix = 2) => {\n let number = parseFloat(value);\n // if (isNaN(number) || Math.abs(number) < 1e-6) return '0';\n if (number === 0 || number.toString() === '0.000000000000000000') return '0';\n let effectiveFix = numberFix;\n if (Math.abs(number) < 1) {\n const significantDigits = numberFix;\n const leadingZeros = -Math.floor(Math.log10(Math.abs(number)));\n effectiveFix = significantDigits + leadingZeros - 1;\n }\n let units = ['', 'K', 'M', 'B'];\n let unitIndex = 0;\n while (Math.abs(number) >= 1000 && unitIndex < units.length - 1) {\n number /= 1000;\n unitIndex++;\n }\n let fixedNumber = number.toFixed(effectiveFix);\n fixedNumber = fixedNumber.replace(/\\.?0+$/, '');\n if (fixedNumber.includes('.')) {\n const [integerPart, decimalPart] = fixedNumber.split('.');\n const zerosMatch = decimalPart.match(/^0+/);\n if (zerosMatch && zerosMatch[0].length > 2) {\n const zerosCount = zerosMatch[0].length;\n const significantPart = decimalPart.slice(zerosCount);\n return `${integerPart}.0..${significantPart}${units[unitIndex]}`;\n }\n }\n return fixedNumber + units[unitIndex];\n };\n\n const amount = data?.amount !== undefined && data.amount !== null\n ? formatNumberMix(data.amount)\n : '';\n const usd = data?.usd\n ? `$${parseFloat(data.usd).toFixed(2).replace(/(\\.\\d*?[1-9])0+$/, '$1').replace(/\\.0+$/, '')}`\n : '$-';\n\n amountDiv.textContent = amount || '0';\n usdDiv.textContent = usd;\n\n const isAmountSmall = Math.abs(parseFloat(data?.amount )) < 1e-6;\n const isUsdSmall = Math.abs(parseFloat(data?.usd )) < 1e-6;\n const shouldShowInfoIcon = isAmountSmall // || isUsdSmall;\n\n if (shouldShowInfoIcon) {\n const infoIcon = document.createElement('div');\n infoIcon.style.cssText = `\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n font-size: 0.75em;\n border: 1px solid #7b4cff;\n border-radius: 50%;\n cursor: pointer;\n `;\n infoIcon.textContent = 'i';\n\n infoIcon.setAttribute('title', `Amount: ${data?.amount || ''}, USD: ${data?.usd ? `$${data.usd}` : ''}`);\n\n container.appendChild(infoIcon);\n }\n\n container.appendChild(amountDiv);\n container.appendChild(usdDiv);\n\n return container;\n}","export default class ComboChartComponent {\n constructor(element, historyDataSource, subscriptionDataSource) {\n this.container = element\n this.config = this.configuration()\n this.historyDataSource = historyDataSource\n this.subscriptionDataSource = subscriptionDataSource\n }\n\n async init() {\n if (this.historyDataSource) {\n this.historyDataSource.setCallback(this.onHistoryData.bind(this))\n }\n if (this.subscriptionDataSource) {\n this.subscriptionDataSource.setCallback(this.onSubscriptionData.bind(this))\n }\n }\n\n async onHistoryData(data) {\n if (this.config.title && data) {\n await this.getTitle(data)\n }\n if(this.config.topElement(data).length===0){\n this.container.textContent = 'No records found for this period. To get more data, please try selecting another date range.'\n return\n }\n const parentTextColor = window.getComputedStyle(this.container.parentElement, null).getPropertyValue('color');\n const darkTheme = {\n titleTextStyle: { color: parentTextColor, fontSize: 12, fontName: 'Nunito' },\n backgroundColor: 'transparent',\n seriesType: 'bars',\n series: { 1: {type: 'line'} },\n hAxis: {\n textStyle : { color: parentTextColor },\n titleTextStyle: { color: parentTextColor },\n },\n vAxis: {\n textStyle : { color: parentTextColor },\n titleTextStyle: { color: parentTextColor },\n ...(this.config.options.vAxis && this.config.options.vAxis.minValue !== undefined && { minValue: this.config.options.vAxis.minValue })\n },\n legend: {\n textStyle: { color: \"#757575\"},\n position: 'top'\n },\n };\n this.config.options = { ...this.config.options, ...darkTheme };\n\n\n const drawChart = () => {\n const dataArray = this.config.topElement(data)\n let dataToVizualize = []\n let annotation = []\n let k = 0\n for (let i = 0; i < dataArray.length; i++) {\n for (let column of this.config.columns) {\n const columnName = typeof column.name === 'function' ? column.name(dataArray[i]) : column.name\n const nameIndex = annotation.findIndex(el => el === columnName)\n let currentIndex = nameIndex\n const el = column.cell(dataArray[i])\n if (nameIndex === -1) {\n currentIndex = annotation.length\n annotation.push(columnName)\n }\n if (k>0 && columnName === 'Date' && dataToVizualize[k-1] && el === dataToVizualize[k-1][0]) {\n k--\n }\n if (!dataToVizualize[k]) {\n dataToVizualize.push([])\n }\n dataToVizualize[k][currentIndex] = el\n }\n k++\n }\n dataToVizualize = dataToVizualize.map(row => {\n if (!row[annotation.length-1]) {\n row[annotation.length-1] = 0\n }\n return row\n })\n dataToVizualize.unshift(annotation)\n\n const dataTable = google.visualization.arrayToDataTable(dataToVizualize)\n const chart = new google.visualization.ComboChart(this.container)\n chart.draw(dataTable, this.config.options)\n }\n google.charts.load('current', {packages: ['corechart', 'bar']});\n google.charts.setOnLoadCallback(drawChart);\n\n window.addEventListener('resize', () => {\n this.container.removeChild(this.container.firstChild)\n drawChart()\n })\n }\n async getTitle(data) {\n if (this.config && this.config.title && this.config.id) {\n\n const divTitle = document.querySelector(`.\\\\#${this.config.id}`)\n if (divTitle) {\n const textNode = document.createTextNode(this.config.title(data))\n divTitle.textContent = ''\n divTitle.appendChild(textNode)\n }\n }\n }\n\n}\n","export default function renderProgressBar(data = {}, variables, chainId) {\n const value = typeof data === 'string' ? parseFloat(data.replace('%', '')) : data\n\n const progressContainer = document.createElement('div')\n progressContainer.classList.add('progress')\n Object.assign(progressContainer.style, {\n position: 'relative',\n height: '20px',\n backgroundColor: '#e9ecef',\n borderRadius: '0.25rem'\n })\n\n if (isNaN(value)) {\n progressContainer.setAttribute('title', 'N/A')\n const progressText = document.createElement('span')\n progressText.textContent = 'N/A'\n Object.assign(progressText.style, {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n color: '#000'\n })\n progressContainer.append(progressText)\n return progressContainer\n }\n\n progressContainer.setAttribute('title', `${value}%`)\n\n const progressBar = document.createElement('div')\n progressBar.classList.add('progress-bar')\n progressBar.setAttribute('role', 'progressbar')\n progressBar.setAttribute('aria-valuenow', value.toString())\n progressBar.setAttribute('aria-valuemin', '0')\n progressBar.setAttribute('aria-valuemax', '100')\n Object.assign(progressBar.style, {\n width: `${value}%`,\n backgroundColor: 'var(--bs-link-color, #007bff)',\n transition: 'width 0.6s ease',\n height: '100%',\n borderRadius: '0.25rem',\n opacity: '0.7'\n })\n\n const progressText = document.createElement('span')\n progressText.textContent = `${value.toFixed(1)}%`\n Object.assign(progressText.style, {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n color: value > 50 ? '#fff' : '#000'\n })\n\n progressContainer.append(progressBar, progressText)\n return progressContainer\n}\n","export default data => {\n const isSuccess = data === true || data === 'Success'\n const span = document.createElement('span')\n Object.assign(span.style, {\n fontSize: '1.2em',\n color: isSuccess ? 'green' : 'red',\n display: 'block',\n textAlign: 'right'\n })\n span.textContent = isSuccess ? '✓' : '✗'\n return span\n}\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\nimport $ from \"jquery\";\nglobal.$ = $;\nglobal.vis = vis;\nglobal.jQuery = $;\nwindow.jQuery = $;\nwindow.$ = $;\nglobal.rr = \"\";\nglobal.item = \"\";\nglobal.amount = \"\";\n\nimport \"../stylesheets/application.sass\";\n//import { Turbo } from \"@hotwired/turbo-rails\";\n//Turbo.start();\n//Turbo.session.drive = false\nrequire.context(\"cryptocurrency-icons/svg\", true);\nrequire(\"@rails/activestorage\").start();\nrequire(\"channels\");\nrequire(\"jquery\");\nrequire(\"popper.js\");\nrequire(\"bootstrap\");\nrequire(\"daterangepicker\");\n\nimport vis from \"vis\";\nimport vegaLite from \"vega-lite\";\nimport barWidgetRenderer from \"vega-widgets/src/components/widgets/barWidgetRenderer\";\nimport pieWidgetRenderer from \"vega-widgets/src/components/widgets/pieWidgetRenderer\";\n\nimport timeChartRenderer from \"@bitquery/ide-charts/src/reactComponents/timeChartRenderer\";\n// import tableWidgetRenderer from \"table-widget/src/components/tableWidgetRenderer\";\nimport tableWidgetRenderer from \"./tableWidgetRenderer\";\nimport tradingViewrenderer from \"@bitquery/ide-tradingview/src/tradingViewRenderer\";\nimport { createChart } from \"lightweight-charts\";\nimport ClipboardJS from \"clipboard\";\nimport moment from \"moment\";\nimport { createClient } from \"graphql-ws\";\nimport serialize from \"serialize-javascript\";\nimport WidgetConfig from \"../component/componentDescription/WidgetConfig\";\nimport BootstrapTableComponent from \"../component/componentDescription/BootstrapTableComponent\";\nimport BootstrapCardComponent from \"../component/componentDescription/BootstrapCardComponent\";\nimport GraphsComponent from \"../component/componentDescription/GraphsComponent\";\nimport TradingGraphsComponent from \"../component/componentDescription/TradingGraphsComponent\";\nimport BootstrapVerticalTableComponent from \"../component/componentDescription/BootstrapVerticalTableComponent\";\nimport TimeChartComponent from \"../component/componentDescription/TimeChartComponent\";\nimport BarChartComponent from \"../component/componentDescription/BarChartComponent\";\nimport PieChartComponent from \"../component/componentDescription/PieChartComponent\";\nimport TreeComponent from \"../component/componentDescription/TreeComponent\";\nimport LineChartComponent from \"../component/componentDescription/LineChartComponent\";\nimport renderComponent from \"../component/component\";\nimport renderImgFromURI from \"../component/rendering/renderImgFromURI\";\nimport renderTokenLink from \"../component/rendering/renderTokenLink\";\nimport renderDate from \"../component/rendering/renderDate\";\nimport renderTX from \"../component/rendering/renderTX\";\nimport renderIdLink from \"../component/rendering/renderIdLink\";\nimport renderDexProtocolLink from \"../component/rendering/renderDexProtocolLink\";\nimport renderJustAddressLink from \"../component/rendering/renderJustAddressLink\";\nimport renderBlockLink from \"../component/rendering/renderBlockLink\";\nimport renderSenderRecieverIcon from \"../component/rendering/renderSenderRecieverIcon\";\nimport renderPairLink from \"../component/rendering/renderPairLink\";\nimport renderNumbers from \"../component/rendering/renderNumbers\";\nimport renderNumbersWithCurrency from \"../component/rendering/renderNumbersWithCurrency\";\nimport renderNumbersWithCurrencySymbol from \"../component/rendering/renderNumbersWithCurrencySymbol\";\nimport renderMethodLink from \"../component/rendering/renderMethodLink\";\nimport renderEventLink from \"../component/rendering/renderEventLink\";\nimport renderBytes32 from \"../component/rendering/renderBytes32\";\nimport renderNumberWithUSD from \"../component/rendering/renderNumberWithUSD\";\nimport ComboChartComponent from \"../component/componentDescription/ComboChartComponent\";\nimport renderProgressBar from \"../component/rendering/renderProgressBar\";\nimport renderStatus from \"../component/rendering/renderStatus\";\n\nconst TradingView = require(\"packs/charting_library/charting_library\");\n\nglobal.TradingView = TradingView;\nglobal.serialize = serialize;\nglobal.createClient = createClient;\nglobal.createChart = createChart;\nglobal.WidgetConfig = WidgetConfig;\nglobal.BootstrapTableComponent = BootstrapTableComponent;\nglobal.GraphsComponent = GraphsComponent;\nglobal.TradingGraphsComponent = TradingGraphsComponent;\nglobal.TimeChartComponent = TimeChartComponent;\nglobal.PieChartComponent = PieChartComponent;\nglobal.BarChartComponent = BarChartComponent;\nglobal.BootstrapCardComponent = BootstrapCardComponent;\nglobal.BootstrapVerticalTableComponent = BootstrapVerticalTableComponent;\nglobal.TreeComponent = TreeComponent;\nglobal.LineChartComponent = LineChartComponent;\nglobal.renderComponent = renderComponent;\nglobal.ComboChartComponent = ComboChartComponent;\nglobal.renderImgFromURI = renderImgFromURI;\nglobal.renderTokenLink = renderTokenLink;\nglobal.renderIdLink = renderIdLink;\nglobal.renderBlockLink = renderBlockLink;\nglobal.renderDate = renderDate;\nglobal.renderTX = renderTX;\nglobal.renderDexProtocolLink = renderDexProtocolLink;\nglobal.renderJustAddressLink = renderJustAddressLink;\nglobal.renderSenderRecieverIcon = renderSenderRecieverIcon;\nglobal.renderPairLink = renderPairLink;\nglobal.renderNumbers = renderNumbers;\nglobal.renderNumbersWithCurrency = renderNumbersWithCurrency\nglobal.renderNumbersWithCurrencySymbol = renderNumbersWithCurrencySymbol;\nglobal.renderMethodLink = renderMethodLink;\nglobal.renderEventLink = renderEventLink;\nglobal.renderBytes32 = renderBytes32;\nglobal.renderNumberWithUSD = renderNumberWithUSD;\nglobal.renderProgressBar = renderProgressBar;\nglobal.renderStatus = renderStatus;\n\nglobal.widgetRenderer = {\n \"vega.bar\": barWidgetRenderer,\n \"vega.pie\": pieWidgetRenderer,\n \"time.chart\": timeChartRenderer,\n \"table.widget\": tableWidgetRenderer,\n \"tradingview.widget\": tradingViewrenderer,\n};\n\nglobal.m = moment;\n\nglobal.escapeHtml = function (unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n};\n\nglobal.escapeHtml = function (unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n\n};\n\n$(\"document\").ready(function () {\n new ClipboardJS(\".to-clipboard\");\n $(\".to-clipboard\").tooltip();\n $(\".to-clipboard\").on(\"click\", function () {\n let it = $(this);\n $(this).attr(\"data-original-title\", \"Copied!\").tooltip(\"show\");\n setTimeout(() => {\n $(this).attr(\"data-original-title\", \"Copy\");\n }, 200);\n });\n});\n\nconst getValueFrom = (o, s) => {\n s = s.replace(/\\[(\\w+)\\]/g, \".$1\");\n s = s.replace(/^\\./, \"\");\n var a = s.split(\".\");\n for (var i = 0, n = a.length; i < n; ++i) {\n var k = a[i];\n if (k in o) {\n o = o[k];\n } else {\n return;\n }\n }\n return o;\n};\n\nclass dataSourceWidget {\n constructor(query, variables, displayed_data, url) {\n this.query = query;\n this.variables = variables;\n this.displayed_data = displayed_data;\n this.setupData = function (json) {\n return \"data\" in json\n ? getValueFrom(json.data, this.displayed_data)\n : null;\n };\n this.fetcher = function () {\n return fetch(url, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": $('meta[name=\"csrf-token\"]').attr(\"content\"),\n },\n body: JSON.stringify({ query: this.query, variables: this.variables }),\n credentials: \"same-origin\",\n });\n };\n }\n}\n\nglobal.createWidget = async function (\n widgetType,\n container_id,\n argsReplace,\n transferURL\n) {\n const query = {\n transfers:\n \"query transfers($network: evm_network!, $baseCurrency: String!) {\\n EVM(network: $network) {\\n Transfers(\\n where: {Transfer: {Currency: {SmartContract: {is: $baseCurrency}}}}\\n limit: {count: 100}\\n ) {\\n Block {\\n Number\\n Time\\n }\\n Transfer {\\n Currency {\\n Symbol\\n }\\n Receiver\\n Sender\\n Amount\\n }\\n Transaction{\\n Hash\\n }\\n }\\n }\\n}\\n\",\n token_dex_trades:\n \"query subscribeTrading($network: evm_network!, $baseCurrency: String!) {\\n EVM(network: $network) {\\n sell: DEXTrades(\\n where: {Trade: {Buy: {Currency: {SmartContract: {is: $baseCurrency}}}}}\\n limit: {count: 100}\\n ) {\\n Block {\\n Time\\n Number\\n }\\n Trade {\\n Sell {\\n Buyer\\n Amount\\n Currency {\\n Symbol\\n }\\n }\\n Buy {\\n Price\\n Amount\\n Currency {\\n Symbol\\n }\\n }\\n Dex {\\n ProtocolName\\n SmartContract\\n }\\n }\\n }\\n }\\n}\\n\",\n pair_dex_trades:\n \"query pair(\\n $network: evm_network!\\n $baseCurrency: String!\\n $quoteCurrency: String!\\n) {\\n EVM(network: $network) {\\n sell: DEXTrades(\\n where: {\\n Trade: {\\n Sell: { Currency: { SmartContract: { is: $baseCurrency } } }\\n Buy: { Currency: { SmartContract: { is: $quoteCurrency } } }\\n }\\n }\\n ) {\\n Block {\\n Time\\n Number\\n }\\n Trade {\\n Sell {\\n Buyer\\n Amount\\n Currency {\\n Symbol\\n }\\n }\\n Buy {\\n Price\\n Amount\\n Currency {\\n Symbol\\n }\\n }\\n Dex {\\n ProtocolName\\n SmartContract\\n }\\n }\\n }\\n \\n \\n }\\n}\\n\",\n };\n const variables = {};\n const dataFunction = {\n transfers: (data) =>\n data.EVM.Transfers.filter(\n (el) => el.Transfer.Sender !== \"0x\" && el.Transfer.Receiver !== \"0x\"\n ),\n token_dex_trades: (data) => data.EVM.sell,\n pair_dex_trades: (data) => data.EVM.sell,\n };\n const displayedData = {\n transfers: \"EVM.Transfers\",\n token_dex_trades: \"EVM.sell\",\n pair_dex_trades: \"EVM.sell\",\n };\n let table = null;\n\n const getAPIButton = document.createElement(\"button\");\n getAPIButton.classList.add(\n \"badge\",\n \"badge-secondary\",\n \"open-btn\",\n \"bg-success\",\n \"get-api\"\n );\n getAPIButton.textContent = \"Get Streaming API\";\n getAPIButton.onclick = () => {\n let createHiddenField = function (name, value) {\n let input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"hidden\");\n input.setAttribute(\"name\", name);\n input.setAttribute(\"value\", value);\n return input;\n };\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", transferURL);\n form.setAttribute(\"target\", \"_blank\");\n form.setAttribute(\"enctype\", \"application/json\");\n form.appendChild(\n createHiddenField(\n \"query\",\n JSON.stringify(query[widgetType].replace(\"query\", \"subscription\"))\n )\n );\n form.appendChild(createHiddenField(\"variables\", JSON.stringify(variables)));\n document.body.appendChild(form);\n form.submit();\n document.body.removeChild(form);\n };\n\n const tabulatorFooter = document.createElement(\"div\");\n tabulatorFooter.classList.add(\"tabulator-footer\");\n tabulatorFooter.appendChild(getAPIButton);\n\n const defaultTableConfig = {\n layout: \"fitColumns\",\n height: \"500px\",\n rowFormatter: (row) => {\n if (row.getPosition() % 2 === 0) {\n row.getElement().style.backgroundColor = \"#f2f2f2\";\n }\n },\n headerSort: false,\n footerElement: tabulatorFooter,\n };\n\n const tableConfig = {\n transfers: {\n ...defaultTableConfig,\n columns: [\n {\n field: \"Block.Time\",\n title: \"Timestamp\",\n widthGrow: 2,\n formatter: (cell) =>\n cell.getValue().replace(\"T\", \" \").replace(\"Z\", \"\"),\n },\n {\n field: \"Block.Number\",\n title: \"Block\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/block/${cell.getValue()}`,\n },\n },\n {\n field: \"Transfer.Sender\",\n title: \"Sender\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/address/${cell.getValue()}`,\n },\n },\n {\n formatter: (cell, formatterParams) =>\n \"\",\n width: 40,\n hozAlign: \"center\",\n },\n {\n field: \"Transfer.Receiver\",\n title: \"Receiver\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/address/${cell.getValue()}`,\n },\n },\n {\n field: \"Transfer.Amount\",\n title: \"Amount\",\n hozAlign: \"right\",\n headerHozAlign: \"right\",\n formatter: (cell) => parseFloat(cell.getValue()).toFixed(4),\n },\n {\n field: \"Transfer.Currency.Symbol\",\n title: \"Currency\",\n },\n {\n field: \"Transaction.Hash\",\n title: \"Transaction\",\n formatter: (cell, formatterParams) => {\n return `${formatterParams.label(cell)}`;\n },\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/tx/${cell.getValue()}`,\n label: (cell) =>\n `${cell.getValue()}`,\n },\n },\n ],\n },\n token_dex_trades: {\n ...defaultTableConfig,\n columns: [\n {\n field: \"Block.Time\",\n title: \"Timestamp\",\n widthGrow: 2,\n formatter: (cell) =>\n cell.getValue().replace(\"T\", \" \").replace(\"Z\", \"\"),\n },\n {\n field: \"Block.Number\",\n title: \"Block\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/block/${cell.getValue()}`,\n },\n },\n {\n field: \"Trade.Buy.Amount\",\n title: \"Quote amount\",\n hozAlign: \"right\",\n headerHozAlign: \"right\",\n formatter: (cell) => parseFloat(cell.getValue()).toFixed(4),\n },\n {\n field: \"Trade.Buy.Currency.Symbol\",\n title: \"Quote currency\",\n },\n {\n field: \"Trade.Buy.Price\",\n title: \"Price\",\n widthGrow: 2,\n formatter: (cell) =>\n `${parseFloat(cell.getValue()).toFixed(4)} ${cell\n .getRow()\n .getCell(\"Trade.Sell.Currency.Symbol\")\n .getValue()}`,\n },\n {\n formatter: () => \"\",\n width: 40,\n hozAlign: \"center\",\n },\n {\n field: \"Trade.Sell.Amount\",\n title: \"Base amount\",\n hozAlign: \"right\",\n headerHozAlign: \"right\",\n formatter: (cell) => parseFloat(cell.getValue()).toFixed(4),\n },\n {\n field: \"Trade.Sell.Currency.Symbol\",\n title: \"Base currency\",\n },\n {\n field: \"Trade.Dex.ProtocolName\",\n title: \"Protocol\",\n },\n {\n field: \"Trade.Dex.SmartContract\",\n title: \"Smart contract\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/smart_contract/${cell.getValue()}`,\n },\n },\n ],\n },\n pair_dex_trades: {\n ...defaultTableConfig,\n columns: [\n {\n field: \"Block.Time\",\n title: \"Timestamp\",\n widthGrow: 2,\n formatter: (cell) =>\n cell.getValue().replace(\"T\", \" \").replace(\"Z\", \"\"),\n },\n {\n field: \"Block.Number\",\n title: \"Block\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/block/${cell.getValue()}`,\n },\n },\n {\n field: \"Trade.Buy.Amount\",\n title: \"Quote amount\",\n hozAlign: \"right\",\n headerHozAlign: \"right\",\n formatter: (cell) => parseFloat(cell.getValue()).toFixed(4),\n },\n {\n field: \"Trade.Buy.Currency.Symbol\",\n title: \"Quote currency\",\n },\n {\n field: \"Trade.Buy.Price\",\n title: \"Price\",\n widthGrow: 2,\n formatter: (cell) =>\n `${parseFloat(cell.getValue()).toFixed(4)} ${cell\n .getRow()\n .getCell(\"Trade.Sell.Currency.Symbol\")\n .getValue()}`,\n },\n {\n formatter: () => \"\",\n width: 40,\n hozAlign: \"center\",\n },\n {\n field: \"Trade.Sell.Amount\",\n title: \"Base amount\",\n hozAlign: \"right\",\n headerHozAlign: \"right\",\n formatter: (cell) => parseFloat(cell.getValue()).toFixed(4),\n },\n {\n field: \"Trade.Sell.Currency.Symbol\",\n title: \"Base currency\",\n },\n {\n field: \"Trade.Dex.ProtocolName\",\n title: \"Protocol\",\n },\n {\n field: \"Trade.Dex.SmartContract\",\n title: \"Smart contract\",\n formatter: \"link\",\n formatterParams: {\n url: (cell) =>\n `${window.location.origin}/${argsReplace.network\n }/smart_contract/${cell.getValue()}`,\n },\n },\n ],\n },\n };\n\n const payload = {\n query: query[widgetType].replace(\"query\", \"subscription\"),\n variables,\n };\n if (argsReplace) {\n for (let arg in argsReplace) {\n payload.variables[arg] =\n argsReplace[arg] === \"ethereum\" ? \"eth\" : argsReplace[arg];\n }\n }\n const сlient = createClient({\n url: \"wss://streaming.bitquery.io/graphql\",\n shouldRetry: () => false,\n });\n const ds = new dataSourceWidget(\n query[widgetType],\n variables,\n displayedData[widgetType],\n \"https://streaming.bitquery.io/graphql\"\n );\n table = await tableWidgetRenderer(ds, tableConfig[widgetType], container_id);\n сlient.subscribe(payload, {\n next: ({ data }) => {\n const tableLength = 50;\n const filteredData = dataFunction[widgetType](data);\n const currentData = table.getData();\n if (filteredData.length < tableLength) {\n const newData = [\n ...filteredData,\n ...currentData.slice(0, tableLength - filteredData.length),\n ];\n table.replaceData(newData);\n } else {\n table.replaceData(filteredData.slice(0, tableLength));\n }\n },\n error: () => console.log(\"error\"),\n complete: () => console.log(\"complete\"),\n });\n};\n\nglobal.reportRange = function (selector, from, till, i18n) {\n var properties = {\n start: undefined,\n end: undefined,\n i18n: i18n,\n ranges: {},\n cbs: [],\n };\n\n this.cancel = false;\n this.click = false;\n let his = this;\n\n moment.locale(\"en\");\n\n if (from == null && till == null) {\n $(selector).find(\"span\").html(i18n.all_time);\n }\n\n if (from != null) {\n properties.start = moment(from);\n }\n if (till != null) {\n properties.end = moment(till);\n }\n\n function set_reportrange(start, end) {\n $(selector)\n .find(\"span\")\n .html(start.format(i18n.format) + \" - \" + end.format(i18n.format));\n }\n\n // properties.ranges[i18n.all_time] = [null, null];\n properties.ranges[i18n.today] = [moment(), moment()];\n properties.ranges[i18n.yesterday] = [\n moment().subtract(1, \"days\"),\n moment().subtract(1, \"days\"),\n ];\n properties.ranges[i18n.last7] = [moment().subtract(6, \"days\"), moment()];\n properties.ranges[i18n.last30] = [moment().subtract(29, \"days\"), moment()];\n properties.ranges[i18n.this_month] = [\n moment().startOf(\"month\"),\n moment().endOf(\"month\"),\n ];\n properties.ranges[i18n.last_month] = [\n moment().subtract(1, \"month\").startOf(\"month\"),\n moment().subtract(1, \"month\").endOf(\"month\"),\n ];\n\n $(selector).daterangepicker(\n {\n showDropdowns: true,\n minYear: 2000,\n maxYear: parseInt(moment().format(\"YYYY\"), 10),\n startDate: properties.start,\n endDate: properties.end,\n maxDate: moment(),\n opens: \"left\",\n linkedCalendars: false,\n locale: {\n cancelLabel: i18n.clear,\n applyLabel: i18n.apply,\n customRangeLabel: i18n.custom_range,\n },\n ranges: properties.ranges,\n },\n set_reportrange\n );\n\n $(selector).on(\"cancel.daterangepicker\", function (ev, picker) {\n $(selector).find(\"span\").html(i18n.all_time);\n $(\".daterangepicker .ranges li\").addClass(\"active\");\n });\n\n $(selector).on(\"show.daterangepicker\", function (ev, picker) {\n if ($(selector).find(\"span\").html() == i18n.all_time) {\n picker.container.find(\".ranges li\").removeClass(\"active\");\n picker.container.find(\".ranges li\").first().addClass(\"active\");\n }\n });\n\n if (from != null && till != null) {\n set_reportrange(properties.start, properties.end);\n }\n\n function changeUrl(from, till) {\n $('a[data-changeurl=\"true\"]').each(function () {\n let href = $(this).prop(\"href\").split(\"?\");\n let up = href[1] ? $.urlParams(href[1].split(\"&\")) : {};\n if (from && till) {\n up[\"from\"] = from;\n up[\"till\"] = till;\n } else {\n delete up.from;\n delete up.till;\n }\n $(this).prop(\"href\", href[0] + ($.param(up) ? \"?\" + $.param(up) : \"\"));\n });\n }\n\n $(window).on(\"popstate\", function (e) {\n var up = $.urlParams(window.location.search.substr(1).split(\"&\"));\n if (up.from && up.till) {\n $(selector).data(\"daterangepicker\").setStartDate(moment(up.from));\n $(selector).data(\"daterangepicker\").setEndDate(moment(up.till));\n set_reportrange(moment(up.from), moment(up.till));\n $.each(properties.cbs, function () {\n this(\n moment(up.from).format(\"YYYY-MM-DD\"),\n moment(up.till).format(\"YYYY-MM-DD\"),\n undefined\n );\n });\n changeUrl(up.from, up.till);\n } else {\n $(selector).find(\"span\").html(i18n.all_time);\n $.each(properties.cbs, function () {\n this(null, null, \"clear\");\n changeUrl(null, null);\n });\n }\n });\n\n properties.change = function (cb) {\n properties.cbs.push(cb);\n\n $($(selector).data().daterangepicker.container.find(\".ranges li\")[1]).on(\n \"click\",\n function (ev) {\n if (his.click == false) {\n his.click = true;\n $(this).click();\n his.click = false;\n }\n }\n );\n $(selector).on(\"apply.daterangepicker\", function (ev, picker) {\n if (\n !picker.startDate._isValid &&\n !picker.endDate._isValid &&\n his.cancel == false\n ) {\n his.cancel = true;\n setTimeout(function () {\n picker.startDate = moment();\n picker.endDate = moment();\n }, 500);\n $(selector).trigger(\"cancel.daterangepicker\", ev, picker);\n } else if (his.cancel === true) {\n his.cancel = false;\n } else {\n var start = picker.startDate.format(\"YYYY-MM-DD\"),\n end = picker.endDate.format(\"YYYY-MM-DDT23:59:59\"),\n endToParam = picker.endDate.format(\"YYYY-MM-DD\"),\n clear_date = undefined;\n cb(start, end, clear_date);\n $(selector)\n .find(\"span\")\n .html(\n picker.startDate.format(i18n.format) +\n \" - \" +\n picker.endDate.format(i18n.format)\n );\n let url = location.origin + location.pathname;\n if (\n location.href !=\n url +\n \"?\" +\n $.param(_.merge($.urlParams, { from: start, till: endToParam }))\n ) {\n history.pushState(\n {\n data: {},\n url: url,\n },\n document.title,\n url +\n \"?\" +\n $.param(_.merge($.urlParams, { from: start, till: endToParam }))\n );\n changeUrl(start, endToParam);\n }\n }\n });\n $(selector).on(\"cancel.daterangepicker\", function (ev, picker) {\n var start = null,\n end = null,\n clear_date = \"clear\";\n cb(start, end, clear_date);\n let url = location.origin + location.pathname;\n let params = $.urlParams;\n delete params.from;\n delete params.till;\n if (\n location.href !=\n url + ($.param(params) ? \"?\" + $.param(params) : \"\")\n ) {\n history.pushState(\n {\n data: {},\n url: url,\n },\n document.title,\n url + ($.param(params) ? \"?\" + $.param(params) : \"\")\n );\n changeUrl(start, end);\n }\n });\n };\n\n return properties;\n};\n\nglobal.search = function (selector) {\n let form = $(selector);\n let is_find = true;\n\n form.find('input[name=\"query\"]').keyup(function () {\n let it = $(this);\n let f = it.parents(\"form\").first();\n\n let sanitized_value = it.val().split(\" \")[0];\n it.val(sanitized_value);\n\n if (sanitized_value == \"\") {\n is_find = false;\n f.find(\"button\").addClass(\"disabled\");\n } else {\n is_find = true;\n f.find(\"button\").removeClass(\"disabled\");\n }\n });\n\n form.find('input[name=\"query\"]').change(function () {\n $(this).keyup();\n });\n form.find('input[name=\"query\"]').keyup();\n\n form.submit(function () {\n let it = $(this);\n let net = it.find('input[type=\"hidden\"][name=\"network\"]');\n let btn = it.find(\"button\").first();\n\n if (!net[0] && btn.data(\"network\") != \"\") {\n append_network(btn.data(\"network\"));\n }\n return is_find;\n });\n\n form.find(\".search-form-type\").click(function () {\n let it = $(this);\n append_network(it.data(\"network\"));\n it.parents(\"form\").first().submit();\n return false;\n });\n\n function append_network(network) {\n $(\"\")\n .attr(\"type\", \"hidden\")\n .attr(\"name\", \"network\")\n .attr(\"value\", network)\n .appendTo(selector);\n }\n};\n\n(function ($) {\n $.urlParams = function (\n paramsArray = window.location.search.substr(1).split(\"&\")\n ) {\n var params = {};\n\n for (var i = 0; i < paramsArray.length; ++i) {\n var param = paramsArray[i].split(\"=\", 2);\n\n if (param.length !== 2) continue;\n\n params[param[0]] = decodeURIComponent(param[1].replace(/\\+/g, \" \"));\n }\n\n return params;\n };\n $.urlParamsToArray = (function (obj) {\n var p = [];\n $.each(obj, function (k, v) {\n p.push({ name: k, value: v });\n });\n return p;\n })($.urlParams);\n})($);\n\nglobal.dateRangeReportFormat = function (from, till, network) {\n if (networksLimitedDates(network)) {\n return \"%Y-%m-%d\";\n } else if (from) {\n var tillp = till ? Date.parse(till) : Date.now();\n if ((tillp - Date.parse(from)) / (24 * 3600 * 1000) > 100) {\n return \"%Y-%m\";\n } else {\n return \"%Y-%m-%d\";\n }\n } else {\n return \"%Y-%m\";\n }\n};\n\nglobal.networksLimitedDates = function (network) {\n return (\n [\n \"celo_alfajores\",\n \"celo_baklava\",\n \"celo_rc1\",\n \"medalla\",\n \"eth2\",\n \"ethpow\",\n ].indexOf(network) >= 0\n );\n};\n\nglobal.queryWithTimeRange = function (rr, query, from, till, params) {\n function draw(start, end) {\n var dateFormat = dateRangeReportFormat(\n start,\n end,\n params && params.network\n );\n var data = Object.assign({}, params, {\n from: start,\n till: end && !end.includes(\"T\") ? end + \"T23:59:59\" : end,\n dateFormat: dateFormat,\n offset: 0,\n limit: 10,\n });\n query.request(data);\n }\n\n draw(from, till);\n rr.change(draw);\n};\n\nglobal.renderWithTime = function (variables = {}, from, till, f) {\n function draw(start, end) {\n const dateFormat = dateRangeReportFormat(start, end);\n const data = Object.assign(\n {},\n {\n from: start,\n till: end ? end.split(\"T\")[0] : start,\n dateFormat: dateFormat,\n }\n );\n const from = new Date(data.from);\n const till = new Date(data.till);\n\n if (from > till) {\n const middleDate = new Date(\n till.getTime() + (from.getTime() - till.getTime()) / 2\n );\n data.date_middle = middleDate.toISOString().split(\"T\")[0];\n } else if (till > from) {\n const middleDate = new Date(\n from.getTime() + (till.getTime() - from.getTime()) / 2\n );\n data.date_middle = middleDate.toISOString().split(\"T\")[0];\n } else {\n data.date_middle = data.from;\n }\n\n const resultVariables = { ...variables, ...data };\n f(resultVariables);\n }\n\n draw(from, till);\n rr.change(draw);\n};\n","import { TabulatorFull as Tabulator } from \"tabulator-tables\";\nimport \"./assets/css/index.css\";\n\nexport default async function tableWidgetRenderer(ds, config, el) {\n let values = undefined;\n let cfg = {};\n if (!ds.values) {\n const data = await ds.fetcher();\n const json = await data.json();\n console.log(json);\n values = ds.setupData(json);\n } else {\n values = ds.values;\n }\n cfg = {\n height: \"100%\",\n layout: \"fitData\",\n ...config,\n data: values,\n };\n try {\n if (el) {\n const table = new Tabulator(`#${el}`, cfg);\n return table;\n }\n } catch (error) {\n console.log(error);\n }\n}\n","var map = {\n\t\"./black/$pac.svg\": 3437,\n\t\"./black/0xbtc.svg\": 84506,\n\t\"./black/1inch.svg\": 5018,\n\t\"./black/2give.svg\": 75602,\n\t\"./black/aave.svg\": 55792,\n\t\"./black/abt.svg\": 30292,\n\t\"./black/act.svg\": 47767,\n\t\"./black/actn.svg\": 60291,\n\t\"./black/ada.svg\": 9691,\n\t\"./black/add.svg\": 33334,\n\t\"./black/adx.svg\": 49506,\n\t\"./black/ae.svg\": 47911,\n\t\"./black/aeon.svg\": 87672,\n\t\"./black/aeur.svg\": 97162,\n\t\"./black/agi.svg\": 91494,\n\t\"./black/agrs.svg\": 6932,\n\t\"./black/aion.svg\": 93300,\n\t\"./black/algo.svg\": 65296,\n\t\"./black/amb.svg\": 19439,\n\t\"./black/amp.svg\": 87693,\n\t\"./black/ampl.svg\": 76099,\n\t\"./black/ankr.svg\": 87167,\n\t\"./black/ant.svg\": 69944,\n\t\"./black/ape.svg\": 86267,\n\t\"./black/apex.svg\": 7449,\n\t\"./black/appc.svg\": 2185,\n\t\"./black/ardr.svg\": 97518,\n\t\"./black/arg.svg\": 3335,\n\t\"./black/ark.svg\": 71907,\n\t\"./black/arn.svg\": 13726,\n\t\"./black/arnx.svg\": 98506,\n\t\"./black/ary.svg\": 38513,\n\t\"./black/ast.svg\": 25543,\n\t\"./black/atlas.svg\": 51946,\n\t\"./black/atm.svg\": 77023,\n\t\"./black/atom.svg\": 54002,\n\t\"./black/audr.svg\": 76361,\n\t\"./black/aury.svg\": 54508,\n\t\"./black/auto.svg\": 58700,\n\t\"./black/avax.svg\": 2079,\n\t\"./black/aywa.svg\": 10571,\n\t\"./black/bab.svg\": 16432,\n\t\"./black/bal.svg\": 73814,\n\t\"./black/band.svg\": 24464,\n\t\"./black/bat.svg\": 88558,\n\t\"./black/bay.svg\": 62443,\n\t\"./black/bcbc.svg\": 97641,\n\t\"./black/bcc.svg\": 11095,\n\t\"./black/bcd.svg\": 21912,\n\t\"./black/bch.svg\": 45772,\n\t\"./black/bcio.svg\": 75984,\n\t\"./black/bcn.svg\": 74498,\n\t\"./black/bco.svg\": 79667,\n\t\"./black/bcpt.svg\": 76320,\n\t\"./black/bdl.svg\": 56573,\n\t\"./black/beam.svg\": 2872,\n\t\"./black/bela.svg\": 41895,\n\t\"./black/bix.svg\": 11058,\n\t\"./black/blcn.svg\": 25352,\n\t\"./black/blk.svg\": 80938,\n\t\"./black/block.svg\": 76624,\n\t\"./black/blz.svg\": 62987,\n\t\"./black/bnb.svg\": 71817,\n\t\"./black/bnt.svg\": 59879,\n\t\"./black/bnty.svg\": 90460,\n\t\"./black/booty.svg\": 20730,\n\t\"./black/bos.svg\": 4555,\n\t\"./black/bpt.svg\": 50609,\n\t\"./black/bq.svg\": 74654,\n\t\"./black/brd.svg\": 37643,\n\t\"./black/bsd.svg\": 56424,\n\t\"./black/bsv.svg\": 37850,\n\t\"./black/btc.svg\": 90266,\n\t\"./black/btcd.svg\": 18634,\n\t\"./black/btch.svg\": 51134,\n\t\"./black/btcp.svg\": 16838,\n\t\"./black/btcz.svg\": 92076,\n\t\"./black/btdx.svg\": 59511,\n\t\"./black/btg.svg\": 88966,\n\t\"./black/btm.svg\": 80556,\n\t\"./black/bts.svg\": 48234,\n\t\"./black/btt.svg\": 19861,\n\t\"./black/btx.svg\": 64321,\n\t\"./black/burst.svg\": 55097,\n\t\"./black/bze.svg\": 36258,\n\t\"./black/call.svg\": 6685,\n\t\"./black/cc.svg\": 17743,\n\t\"./black/cdn.svg\": 74806,\n\t\"./black/cdt.svg\": 21164,\n\t\"./black/cenz.svg\": 72901,\n\t\"./black/chain.svg\": 67988,\n\t\"./black/chat.svg\": 20539,\n\t\"./black/chips.svg\": 61070,\n\t\"./black/chsb.svg\": 9247,\n\t\"./black/chz.svg\": 60806,\n\t\"./black/cix.svg\": 95015,\n\t\"./black/clam.svg\": 1454,\n\t\"./black/cloak.svg\": 85823,\n\t\"./black/cmm.svg\": 98878,\n\t\"./black/cmt.svg\": 53559,\n\t\"./black/cnd.svg\": 46618,\n\t\"./black/cnx.svg\": 28030,\n\t\"./black/cny.svg\": 71759,\n\t\"./black/cob.svg\": 45203,\n\t\"./black/colx.svg\": 31575,\n\t\"./black/comp.svg\": 20188,\n\t\"./black/coqui.svg\": 85630,\n\t\"./black/cred.svg\": 45473,\n\t\"./black/crpt.svg\": 69426,\n\t\"./black/crv.svg\": 10924,\n\t\"./black/crw.svg\": 9869,\n\t\"./black/cs.svg\": 75711,\n\t\"./black/ctr.svg\": 93074,\n\t\"./black/ctxc.svg\": 15499,\n\t\"./black/cvc.svg\": 20205,\n\t\"./black/d.svg\": 91963,\n\t\"./black/dai.svg\": 60681,\n\t\"./black/dash.svg\": 5585,\n\t\"./black/dat.svg\": 32796,\n\t\"./black/data.svg\": 85909,\n\t\"./black/dbc.svg\": 90538,\n\t\"./black/dcn.svg\": 43640,\n\t\"./black/dcr.svg\": 9532,\n\t\"./black/deez.svg\": 94497,\n\t\"./black/dent.svg\": 22418,\n\t\"./black/dew.svg\": 82171,\n\t\"./black/dgb.svg\": 16784,\n\t\"./black/dgd.svg\": 38942,\n\t\"./black/dlt.svg\": 69491,\n\t\"./black/dnt.svg\": 88937,\n\t\"./black/dock.svg\": 50240,\n\t\"./black/doge.svg\": 34514,\n\t\"./black/dot.svg\": 16054,\n\t\"./black/drgn.svg\": 38860,\n\t\"./black/drop.svg\": 23138,\n\t\"./black/dta.svg\": 4806,\n\t\"./black/dth.svg\": 59071,\n\t\"./black/dtr.svg\": 19349,\n\t\"./black/ebst.svg\": 94353,\n\t\"./black/eca.svg\": 90974,\n\t\"./black/edg.svg\": 95417,\n\t\"./black/edo.svg\": 69153,\n\t\"./black/edoge.svg\": 85033,\n\t\"./black/ela.svg\": 26495,\n\t\"./black/elec.svg\": 3850,\n\t\"./black/elf.svg\": 13472,\n\t\"./black/elix.svg\": 25709,\n\t\"./black/ella.svg\": 49863,\n\t\"./black/emb.svg\": 21051,\n\t\"./black/emc.svg\": 79082,\n\t\"./black/emc2.svg\": 404,\n\t\"./black/eng.svg\": 24799,\n\t\"./black/enj.svg\": 58042,\n\t\"./black/entrp.svg\": 24170,\n\t\"./black/eon.svg\": 77749,\n\t\"./black/eop.svg\": 27251,\n\t\"./black/eos.svg\": 22848,\n\t\"./black/eqli.svg\": 17866,\n\t\"./black/equa.svg\": 78953,\n\t\"./black/etc.svg\": 21541,\n\t\"./black/eth.svg\": 29390,\n\t\"./black/ethos.svg\": 4604,\n\t\"./black/etn.svg\": 42912,\n\t\"./black/etp.svg\": 84022,\n\t\"./black/eur.svg\": 4451,\n\t\"./black/evx.svg\": 880,\n\t\"./black/exmo.svg\": 66066,\n\t\"./black/exp.svg\": 89266,\n\t\"./black/fair.svg\": 15343,\n\t\"./black/fct.svg\": 3700,\n\t\"./black/fida.svg\": 6415,\n\t\"./black/fil.svg\": 50602,\n\t\"./black/fjc.svg\": 84992,\n\t\"./black/fldc.svg\": 94816,\n\t\"./black/flo.svg\": 16394,\n\t\"./black/flux.svg\": 34344,\n\t\"./black/fsn.svg\": 39070,\n\t\"./black/ftc.svg\": 89366,\n\t\"./black/fuel.svg\": 74337,\n\t\"./black/fun.svg\": 39116,\n\t\"./black/game.svg\": 86159,\n\t\"./black/gas.svg\": 96040,\n\t\"./black/gbp.svg\": 23750,\n\t\"./black/gbx.svg\": 23406,\n\t\"./black/gbyte.svg\": 39214,\n\t\"./black/generic.svg\": 40608,\n\t\"./black/gin.svg\": 63317,\n\t\"./black/glxt.svg\": 69656,\n\t\"./black/gmr.svg\": 28805,\n\t\"./black/gmt.svg\": 99147,\n\t\"./black/gno.svg\": 80917,\n\t\"./black/gnt.svg\": 36622,\n\t\"./black/gold.svg\": 46839,\n\t\"./black/grc.svg\": 9669,\n\t\"./black/grin.svg\": 45803,\n\t\"./black/grs.svg\": 4341,\n\t\"./black/grt.svg\": 93930,\n\t\"./black/gsc.svg\": 25378,\n\t\"./black/gto.svg\": 33147,\n\t\"./black/gup.svg\": 86063,\n\t\"./black/gusd.svg\": 48904,\n\t\"./black/gvt.svg\": 47174,\n\t\"./black/gxs.svg\": 49459,\n\t\"./black/gzr.svg\": 17260,\n\t\"./black/hight.svg\": 7679,\n\t\"./black/hns.svg\": 71698,\n\t\"./black/hodl.svg\": 50962,\n\t\"./black/hot.svg\": 66122,\n\t\"./black/hpb.svg\": 88949,\n\t\"./black/hsr.svg\": 24672,\n\t\"./black/ht.svg\": 14609,\n\t\"./black/html.svg\": 62878,\n\t\"./black/huc.svg\": 70579,\n\t\"./black/husd.svg\": 42981,\n\t\"./black/hush.svg\": 18705,\n\t\"./black/icn.svg\": 63349,\n\t\"./black/icp.svg\": 52499,\n\t\"./black/icx.svg\": 76107,\n\t\"./black/ignis.svg\": 14725,\n\t\"./black/ilk.svg\": 77489,\n\t\"./black/ink.svg\": 23319,\n\t\"./black/ins.svg\": 38543,\n\t\"./black/ion.svg\": 93369,\n\t\"./black/iop.svg\": 78719,\n\t\"./black/iost.svg\": 26696,\n\t\"./black/iotx.svg\": 37297,\n\t\"./black/iq.svg\": 95523,\n\t\"./black/itc.svg\": 64913,\n\t\"./black/jnt.svg\": 63199,\n\t\"./black/jpy.svg\": 21244,\n\t\"./black/kcs.svg\": 8214,\n\t\"./black/kin.svg\": 93425,\n\t\"./black/klown.svg\": 25792,\n\t\"./black/kmd.svg\": 29247,\n\t\"./black/knc.svg\": 26813,\n\t\"./black/krb.svg\": 46488,\n\t\"./black/ksm.svg\": 73104,\n\t\"./black/lbc.svg\": 36882,\n\t\"./black/lend.svg\": 54442,\n\t\"./black/leo.svg\": 73099,\n\t\"./black/link.svg\": 70737,\n\t\"./black/lkk.svg\": 53989,\n\t\"./black/loom.svg\": 99866,\n\t\"./black/lpt.svg\": 34775,\n\t\"./black/lrc.svg\": 50146,\n\t\"./black/lsk.svg\": 74253,\n\t\"./black/ltc.svg\": 39468,\n\t\"./black/lun.svg\": 30186,\n\t\"./black/maid.svg\": 68432,\n\t\"./black/mana.svg\": 1536,\n\t\"./black/matic.svg\": 84453,\n\t\"./black/max.svg\": 6821,\n\t\"./black/mcap.svg\": 34698,\n\t\"./black/mco.svg\": 52896,\n\t\"./black/mda.svg\": 31247,\n\t\"./black/mds.svg\": 80269,\n\t\"./black/med.svg\": 46885,\n\t\"./black/meetone.svg\": 35316,\n\t\"./black/mft.svg\": 43116,\n\t\"./black/miota.svg\": 50063,\n\t\"./black/mith.svg\": 30531,\n\t\"./black/mkr.svg\": 7709,\n\t\"./black/mln.svg\": 50144,\n\t\"./black/mnx.svg\": 56528,\n\t\"./black/mnz.svg\": 89586,\n\t\"./black/moac.svg\": 28261,\n\t\"./black/mod.svg\": 84679,\n\t\"./black/mona.svg\": 43814,\n\t\"./black/msr.svg\": 40005,\n\t\"./black/mth.svg\": 13382,\n\t\"./black/mtl.svg\": 58362,\n\t\"./black/music.svg\": 41886,\n\t\"./black/mzc.svg\": 28031,\n\t\"./black/nano.svg\": 30831,\n\t\"./black/nas.svg\": 28285,\n\t\"./black/nav.svg\": 68304,\n\t\"./black/ncash.svg\": 53720,\n\t\"./black/ndz.svg\": 94535,\n\t\"./black/nebl.svg\": 46548,\n\t\"./black/neo.svg\": 42805,\n\t\"./black/neos.svg\": 26236,\n\t\"./black/neu.svg\": 19615,\n\t\"./black/nexo.svg\": 99073,\n\t\"./black/ngc.svg\": 53335,\n\t\"./black/nio.svg\": 41761,\n\t\"./black/nkn.svg\": 35294,\n\t\"./black/nlc2.svg\": 55064,\n\t\"./black/nlg.svg\": 93130,\n\t\"./black/nmc.svg\": 13161,\n\t\"./black/nmr.svg\": 82472,\n\t\"./black/npxs.svg\": 84752,\n\t\"./black/ntbc.svg\": 8766,\n\t\"./black/nuls.svg\": 45849,\n\t\"./black/nxs.svg\": 39826,\n\t\"./black/nxt.svg\": 73757,\n\t\"./black/oax.svg\": 73499,\n\t\"./black/ok.svg\": 27355,\n\t\"./black/omg.svg\": 68416,\n\t\"./black/omni.svg\": 22818,\n\t\"./black/one.svg\": 3975,\n\t\"./black/ong.svg\": 93749,\n\t\"./black/ont.svg\": 62854,\n\t\"./black/oot.svg\": 85177,\n\t\"./black/ost.svg\": 80869,\n\t\"./black/ox.svg\": 93848,\n\t\"./black/oxt.svg\": 31844,\n\t\"./black/oxy.svg\": 62289,\n\t\"./black/part.svg\": 25518,\n\t\"./black/pasc.svg\": 53230,\n\t\"./black/pasl.svg\": 6313,\n\t\"./black/pax.svg\": 92100,\n\t\"./black/paxg.svg\": 275,\n\t\"./black/pay.svg\": 70117,\n\t\"./black/payx.svg\": 62327,\n\t\"./black/pink.svg\": 3989,\n\t\"./black/pirl.svg\": 11662,\n\t\"./black/pivx.svg\": 44206,\n\t\"./black/plr.svg\": 67777,\n\t\"./black/poa.svg\": 18031,\n\t\"./black/poe.svg\": 13635,\n\t\"./black/polis.svg\": 21694,\n\t\"./black/poly.svg\": 59311,\n\t\"./black/pot.svg\": 57762,\n\t\"./black/powr.svg\": 57649,\n\t\"./black/ppc.svg\": 49084,\n\t\"./black/ppp.svg\": 69727,\n\t\"./black/ppt.svg\": 24595,\n\t\"./black/pre.svg\": 20680,\n\t\"./black/prl.svg\": 76161,\n\t\"./black/pungo.svg\": 59440,\n\t\"./black/pura.svg\": 95751,\n\t\"./black/qash.svg\": 32006,\n\t\"./black/qiwi.svg\": 66995,\n\t\"./black/qlc.svg\": 64142,\n\t\"./black/qnt.svg\": 56072,\n\t\"./black/qrl.svg\": 16012,\n\t\"./black/qsp.svg\": 90475,\n\t\"./black/qtum.svg\": 80464,\n\t\"./black/r.svg\": 53125,\n\t\"./black/rads.svg\": 10193,\n\t\"./black/rap.svg\": 78706,\n\t\"./black/ray.svg\": 86331,\n\t\"./black/rcn.svg\": 83090,\n\t\"./black/rdd.svg\": 20645,\n\t\"./black/rdn.svg\": 43135,\n\t\"./black/ren.svg\": 4328,\n\t\"./black/rep.svg\": 33966,\n\t\"./black/repv2.svg\": 92502,\n\t\"./black/req.svg\": 38719,\n\t\"./black/rhoc.svg\": 66221,\n\t\"./black/ric.svg\": 8281,\n\t\"./black/rise.svg\": 78694,\n\t\"./black/rlc.svg\": 77698,\n\t\"./black/rpx.svg\": 93589,\n\t\"./black/rub.svg\": 36908,\n\t\"./black/rvn.svg\": 50837,\n\t\"./black/ryo.svg\": 14829,\n\t\"./black/safe.svg\": 27894,\n\t\"./black/safemoon.svg\": 84085,\n\t\"./black/sai.svg\": 35774,\n\t\"./black/salt.svg\": 24309,\n\t\"./black/san.svg\": 44705,\n\t\"./black/sand.svg\": 42655,\n\t\"./black/sbd.svg\": 24414,\n\t\"./black/sberbank.svg\": 3109,\n\t\"./black/sc.svg\": 36575,\n\t\"./black/ser.svg\": 66225,\n\t\"./black/shift.svg\": 52591,\n\t\"./black/sib.svg\": 61021,\n\t\"./black/sin.svg\": 31545,\n\t\"./black/skl.svg\": 4865,\n\t\"./black/sky.svg\": 97804,\n\t\"./black/slr.svg\": 19738,\n\t\"./black/sls.svg\": 34347,\n\t\"./black/smart.svg\": 54608,\n\t\"./black/sngls.svg\": 58574,\n\t\"./black/snm.svg\": 60579,\n\t\"./black/snt.svg\": 35226,\n\t\"./black/snx.svg\": 50254,\n\t\"./black/soc.svg\": 98770,\n\t\"./black/sol.svg\": 22261,\n\t\"./black/spacehbit.svg\": 16164,\n\t\"./black/spank.svg\": 27520,\n\t\"./black/sphtx.svg\": 12704,\n\t\"./black/srn.svg\": 61284,\n\t\"./black/stak.svg\": 37752,\n\t\"./black/start.svg\": 57039,\n\t\"./black/steem.svg\": 64835,\n\t\"./black/storj.svg\": 13855,\n\t\"./black/storm.svg\": 96384,\n\t\"./black/stox.svg\": 90141,\n\t\"./black/stq.svg\": 58481,\n\t\"./black/strat.svg\": 8641,\n\t\"./black/stx.svg\": 28056,\n\t\"./black/sub.svg\": 46065,\n\t\"./black/sumo.svg\": 76013,\n\t\"./black/sushi.svg\": 69585,\n\t\"./black/sys.svg\": 8764,\n\t\"./black/taas.svg\": 28240,\n\t\"./black/tau.svg\": 87597,\n\t\"./black/tbx.svg\": 84993,\n\t\"./black/tel.svg\": 20336,\n\t\"./black/ten.svg\": 27538,\n\t\"./black/tern.svg\": 18252,\n\t\"./black/tgch.svg\": 61755,\n\t\"./black/theta.svg\": 74699,\n\t\"./black/tix.svg\": 18416,\n\t\"./black/tkn.svg\": 12032,\n\t\"./black/tks.svg\": 93781,\n\t\"./black/tnb.svg\": 94647,\n\t\"./black/tnc.svg\": 48198,\n\t\"./black/tnt.svg\": 33465,\n\t\"./black/tomo.svg\": 96874,\n\t\"./black/tpay.svg\": 96663,\n\t\"./black/trig.svg\": 65359,\n\t\"./black/trtl.svg\": 53275,\n\t\"./black/trx.svg\": 4657,\n\t\"./black/tusd.svg\": 70377,\n\t\"./black/tzc.svg\": 18386,\n\t\"./black/ubq.svg\": 17037,\n\t\"./black/uma.svg\": 73688,\n\t\"./black/uni.svg\": 60825,\n\t\"./black/unity.svg\": 44460,\n\t\"./black/usd.svg\": 89859,\n\t\"./black/usdc.svg\": 82778,\n\t\"./black/usdt.svg\": 12373,\n\t\"./black/utk.svg\": 47549,\n\t\"./black/veri.svg\": 14225,\n\t\"./black/vet.svg\": 44630,\n\t\"./black/via.svg\": 17663,\n\t\"./black/vib.svg\": 54988,\n\t\"./black/vibe.svg\": 88361,\n\t\"./black/vivo.svg\": 81799,\n\t\"./black/vrc.svg\": 38920,\n\t\"./black/vrsc.svg\": 24379,\n\t\"./black/vtc.svg\": 61798,\n\t\"./black/vtho.svg\": 59920,\n\t\"./black/wabi.svg\": 41042,\n\t\"./black/wan.svg\": 96477,\n\t\"./black/waves.svg\": 77,\n\t\"./black/wax.svg\": 13715,\n\t\"./black/wbtc.svg\": 27429,\n\t\"./black/wgr.svg\": 99783,\n\t\"./black/wicc.svg\": 61267,\n\t\"./black/wings.svg\": 26067,\n\t\"./black/wpr.svg\": 73658,\n\t\"./black/wtc.svg\": 84031,\n\t\"./black/x.svg\": 91967,\n\t\"./black/xas.svg\": 20359,\n\t\"./black/xbc.svg\": 91790,\n\t\"./black/xbp.svg\": 86653,\n\t\"./black/xby.svg\": 45076,\n\t\"./black/xcp.svg\": 25314,\n\t\"./black/xdn.svg\": 47253,\n\t\"./black/xem.svg\": 4997,\n\t\"./black/xin.svg\": 51610,\n\t\"./black/xlm.svg\": 67086,\n\t\"./black/xmcc.svg\": 13538,\n\t\"./black/xmg.svg\": 64167,\n\t\"./black/xmo.svg\": 84719,\n\t\"./black/xmr.svg\": 7994,\n\t\"./black/xmy.svg\": 4849,\n\t\"./black/xp.svg\": 73533,\n\t\"./black/xpa.svg\": 39782,\n\t\"./black/xpm.svg\": 73890,\n\t\"./black/xpr.svg\": 70677,\n\t\"./black/xrp.svg\": 76877,\n\t\"./black/xsg.svg\": 29293,\n\t\"./black/xtz.svg\": 47065,\n\t\"./black/xuc.svg\": 16163,\n\t\"./black/xvc.svg\": 41946,\n\t\"./black/xvg.svg\": 80614,\n\t\"./black/xzc.svg\": 76646,\n\t\"./black/yfi.svg\": 78909,\n\t\"./black/yoyow.svg\": 37128,\n\t\"./black/zcl.svg\": 18248,\n\t\"./black/zec.svg\": 26661,\n\t\"./black/zel.svg\": 31490,\n\t\"./black/zen.svg\": 39584,\n\t\"./black/zest.svg\": 27491,\n\t\"./black/zil.svg\": 26246,\n\t\"./black/zilla.svg\": 51267,\n\t\"./black/zrx.svg\": 81975,\n\t\"./color/$pac.svg\": 26277,\n\t\"./color/0xbtc.svg\": 61842,\n\t\"./color/1inch.svg\": 45106,\n\t\"./color/2give.svg\": 7722,\n\t\"./color/aave.svg\": 14504,\n\t\"./color/abt.svg\": 63324,\n\t\"./color/act.svg\": 15199,\n\t\"./color/actn.svg\": 20651,\n\t\"./color/ada.svg\": 59107,\n\t\"./color/add.svg\": 43454,\n\t\"./color/adx.svg\": 33754,\n\t\"./color/ae.svg\": 38175,\n\t\"./color/aeon.svg\": 39344,\n\t\"./color/aeur.svg\": 39298,\n\t\"./color/agi.svg\": 54814,\n\t\"./color/agrs.svg\": 20780,\n\t\"./color/aion.svg\": 71484,\n\t\"./color/algo.svg\": 23272,\n\t\"./color/amb.svg\": 76839,\n\t\"./color/amp.svg\": 6565,\n\t\"./color/ampl.svg\": 39675,\n\t\"./color/ankr.svg\": 90551,\n\t\"./color/ant.svg\": 12464,\n\t\"./color/ape.svg\": 46083,\n\t\"./color/apex.svg\": 50529,\n\t\"./color/appc.svg\": 17441,\n\t\"./color/ardr.svg\": 53414,\n\t\"./color/arg.svg\": 73743,\n\t\"./color/ark.svg\": 96955,\n\t\"./color/arn.svg\": 97302,\n\t\"./color/arnx.svg\": 706,\n\t\"./color/ary.svg\": 22601,\n\t\"./color/ast.svg\": 2895,\n\t\"./color/atlas.svg\": 14562,\n\t\"./color/atm.svg\": 84919,\n\t\"./color/atom.svg\": 94794,\n\t\"./color/audr.svg\": 40897,\n\t\"./color/aury.svg\": 73556,\n\t\"./color/auto.svg\": 30804,\n\t\"./color/avax.svg\": 82087,\n\t\"./color/aywa.svg\": 9715,\n\t\"./color/bab.svg\": 34392,\n\t\"./color/bal.svg\": 29966,\n\t\"./color/band.svg\": 57208,\n\t\"./color/bat.svg\": 84598,\n\t\"./color/bay.svg\": 40291,\n\t\"./color/bcbc.svg\": 37601,\n\t\"./color/bcc.svg\": 8959,\n\t\"./color/bcd.svg\": 50400,\n\t\"./color/bch.svg\": 82756,\n\t\"./color/bcio.svg\": 72456,\n\t\"./color/bcn.svg\": 25850,\n\t\"./color/bco.svg\": 44907,\n\t\"./color/bcpt.svg\": 10648,\n\t\"./color/bdl.svg\": 74709,\n\t\"./color/beam.svg\": 46816,\n\t\"./color/bela.svg\": 31279,\n\t\"./color/bix.svg\": 83098,\n\t\"./color/blcn.svg\": 12064,\n\t\"./color/blk.svg\": 88530,\n\t\"./color/block.svg\": 37352,\n\t\"./color/blz.svg\": 24851,\n\t\"./color/bnb.svg\": 8929,\n\t\"./color/bnt.svg\": 11519,\n\t\"./color/bnty.svg\": 12468,\n\t\"./color/booty.svg\": 47186,\n\t\"./color/bos.svg\": 59619,\n\t\"./color/bpt.svg\": 52505,\n\t\"./color/bq.svg\": 32054,\n\t\"./color/brd.svg\": 91027,\n\t\"./color/bsd.svg\": 31568,\n\t\"./color/bsv.svg\": 81442,\n\t\"./color/btc.svg\": 33858,\n\t\"./color/btcd.svg\": 75682,\n\t\"./color/btch.svg\": 57926,\n\t\"./color/btcp.svg\": 73374,\n\t\"./color/btcz.svg\": 27540,\n\t\"./color/btdx.svg\": 1887,\n\t\"./color/btg.svg\": 63054,\n\t\"./color/btm.svg\": 57956,\n\t\"./color/bts.svg\": 86418,\n\t\"./color/btt.svg\": 20349,\n\t\"./color/btx.svg\": 74521,\n\t\"./color/burst.svg\": 9761,\n\t\"./color/bze.svg\": 5274,\n\t\"./color/call.svg\": 8117,\n\t\"./color/cc.svg\": 26087,\n\t\"./color/cdn.svg\": 55822,\n\t\"./color/cdt.svg\": 660,\n\t\"./color/cenz.svg\": 35197,\n\t\"./color/chain.svg\": 18892,\n\t\"./color/chat.svg\": 40515,\n\t\"./color/chips.svg\": 63990,\n\t\"./color/chsb.svg\": 92743,\n\t\"./color/chz.svg\": 88910,\n\t\"./color/cix.svg\": 96111,\n\t\"./color/clam.svg\": 46502,\n\t\"./color/cloak.svg\": 82423,\n\t\"./color/cmm.svg\": 65830,\n\t\"./color/cmt.svg\": 52303,\n\t\"./color/cnd.svg\": 76402,\n\t\"./color/cnx.svg\": 13414,\n\t\"./color/cny.svg\": 27799,\n\t\"./color/cob.svg\": 31563,\n\t\"./color/colx.svg\": 71455,\n\t\"./color/comp.svg\": 40276,\n\t\"./color/coqui.svg\": 76006,\n\t\"./color/cred.svg\": 79609,\n\t\"./color/crpt.svg\": 93002,\n\t\"./color/crv.svg\": 44948,\n\t\"./color/crw.svg\": 70581,\n\t\"./color/cs.svg\": 31415,\n\t\"./color/ctr.svg\": 21530,\n\t\"./color/ctxc.svg\": 25619,\n\t\"./color/cvc.svg\": 16917,\n\t\"./color/d.svg\": 57763,\n\t\"./color/dai.svg\": 43713,\n\t\"./color/dash.svg\": 46265,\n\t\"./color/dat.svg\": 12772,\n\t\"./color/data.svg\": 34157,\n\t\"./color/dbc.svg\": 20402,\n\t\"./color/dcn.svg\": 80912,\n\t\"./color/dcr.svg\": 54884,\n\t\"./color/deez.svg\": 70249,\n\t\"./color/dent.svg\": 18234,\n\t\"./color/dew.svg\": 12003,\n\t\"./color/dgb.svg\": 78840,\n\t\"./color/dgd.svg\": 11110,\n\t\"./color/dlt.svg\": 90603,\n\t\"./color/dnt.svg\": 96129,\n\t\"./color/dock.svg\": 26200,\n\t\"./color/doge.svg\": 6138,\n\t\"./color/dot.svg\": 58926,\n\t\"./color/drgn.svg\": 47604,\n\t\"./color/drop.svg\": 75978,\n\t\"./color/dta.svg\": 52174,\n\t\"./color/dth.svg\": 1527,\n\t\"./color/dtr.svg\": 93117,\n\t\"./color/ebst.svg\": 35977,\n\t\"./color/eca.svg\": 40838,\n\t\"./color/edg.svg\": 96289,\n\t\"./color/edo.svg\": 95705,\n\t\"./color/edoge.svg\": 18081,\n\t\"./color/ela.svg\": 70039,\n\t\"./color/elec.svg\": 84370,\n\t\"./color/elf.svg\": 80856,\n\t\"./color/elix.svg\": 58165,\n\t\"./color/ella.svg\": 49663,\n\t\"./color/emb.svg\": 15571,\n\t\"./color/emc.svg\": 1346,\n\t\"./color/emc2.svg\": 61116,\n\t\"./color/eng.svg\": 76343,\n\t\"./color/enj.svg\": 59061,\n\t\"./color/entrp.svg\": 44834,\n\t\"./color/eon.svg\": 15517,\n\t\"./color/eop.svg\": 37067,\n\t\"./color/eos.svg\": 79000,\n\t\"./color/eqli.svg\": 1634,\n\t\"./color/equa.svg\": 49569,\n\t\"./color/etc.svg\": 90573,\n\t\"./color/eth.svg\": 11942,\n\t\"./color/ethos.svg\": 39076,\n\t\"./color/etn.svg\": 63320,\n\t\"./color/etp.svg\": 62014,\n\t\"./color/eur.svg\": 66091,\n\t\"./color/evx.svg\": 73352,\n\t\"./color/exmo.svg\": 81178,\n\t\"./color/exp.svg\": 9770,\n\t\"./color/fair.svg\": 6263,\n\t\"./color/fct.svg\": 3164,\n\t\"./color/fida.svg\": 89687,\n\t\"./color/fil.svg\": 54514,\n\t\"./color/fjc.svg\": 4344,\n\t\"./color/fldc.svg\": 79208,\n\t\"./color/flo.svg\": 26034,\n\t\"./color/flux.svg\": 18016,\n\t\"./color/fsn.svg\": 79510,\n\t\"./color/ftc.svg\": 67358,\n\t\"./color/fuel.svg\": 97449,\n\t\"./color/fun.svg\": 14116,\n\t\"./color/game.svg\": 9527,\n\t\"./color/gas.svg\": 58531,\n\t\"./color/gbp.svg\": 14894,\n\t\"./color/gbx.svg\": 65382,\n\t\"./color/gbyte.svg\": 12806,\n\t\"./color/generic.svg\": 73864,\n\t\"./color/gin.svg\": 59965,\n\t\"./color/glxt.svg\": 2000,\n\t\"./color/gmr.svg\": 83901,\n\t\"./color/gmt.svg\": 83011,\n\t\"./color/gno.svg\": 31485,\n\t\"./color/gnt.svg\": 3942,\n\t\"./color/gold.svg\": 40412,\n\t\"./color/grc.svg\": 69645,\n\t\"./color/grin.svg\": 70243,\n\t\"./color/grs.svg\": 70141,\n\t\"./color/grt.svg\": 36210,\n\t\"./color/gsc.svg\": 49450,\n\t\"./color/gto.svg\": 67667,\n\t\"./color/gup.svg\": 19831,\n\t\"./color/gusd.svg\": 19360,\n\t\"./color/gvt.svg\": 76334,\n\t\"./color/gxs.svg\": 80939,\n\t\"./color/gzr.svg\": 22372,\n\t\"./color/hight.svg\": 64023,\n\t\"./color/hns.svg\": 57594,\n\t\"./color/hodl.svg\": 70874,\n\t\"./color/hot.svg\": 92818,\n\t\"./color/hpb.svg\": 14893,\n\t\"./color/hsr.svg\": 51576,\n\t\"./color/ht.svg\": 44153,\n\t\"./color/html.svg\": 33702,\n\t\"./color/huc.svg\": 43,\n\t\"./color/husd.svg\": 47213,\n\t\"./color/hush.svg\": 28649,\n\t\"./color/icn.svg\": 36189,\n\t\"./color/icp.svg\": 38507,\n\t\"./color/icx.svg\": 14899,\n\t\"./color/ignis.svg\": 17117,\n\t\"./color/ilk.svg\": 69129,\n\t\"./color/ink.svg\": 64303,\n\t\"./color/ins.svg\": 82583,\n\t\"./color/ion.svg\": 28817,\n\t\"./color/iop.svg\": 23367,\n\t\"./color/iost.svg\": 76608,\n\t\"./color/iotx.svg\": 73049,\n\t\"./color/iq.svg\": 23947,\n\t\"./color/itc.svg\": 69769,\n\t\"./color/jnt.svg\": 84615,\n\t\"./color/jpy.svg\": 82372,\n\t\"./color/kcs.svg\": 3086,\n\t\"./color/kin.svg\": 75625,\n\t\"./color/klown.svg\": 10920,\n\t\"./color/kmd.svg\": 20071,\n\t\"./color/knc.svg\": 56261,\n\t\"./color/krb.svg\": 96816,\n\t\"./color/ksm.svg\": 82168,\n\t\"./color/lbc.svg\": 8234,\n\t\"./color/lend.svg\": 37698,\n\t\"./color/leo.svg\": 74259,\n\t\"./color/link.svg\": 92201,\n\t\"./color/lkk.svg\": 1597,\n\t\"./color/loom.svg\": 58002,\n\t\"./color/lpt.svg\": 37039,\n\t\"./color/lrc.svg\": 4986,\n\t\"./color/lsk.svg\": 37493,\n\t\"./color/ltc.svg\": 87652,\n\t\"./color/lun.svg\": 19026,\n\t\"./color/maid.svg\": 19368,\n\t\"./color/mana.svg\": 3288,\n\t\"./color/matic.svg\": 60013,\n\t\"./color/max.svg\": 75437,\n\t\"./color/mcap.svg\": 75730,\n\t\"./color/mco.svg\": 74568,\n\t\"./color/mda.svg\": 15943,\n\t\"./color/mds.svg\": 90245,\n\t\"./color/med.svg\": 92445,\n\t\"./color/meetone.svg\": 58092,\n\t\"./color/mft.svg\": 50884,\n\t\"./color/miota.svg\": 39399,\n\t\"./color/mith.svg\": 12587,\n\t\"./color/mkr.svg\": 75205,\n\t\"./color/mln.svg\": 80952,\n\t\"./color/mnx.svg\": 88424,\n\t\"./color/mnz.svg\": 29565,\n\t\"./color/moac.svg\": 92349,\n\t\"./color/mod.svg\": 45135,\n\t\"./color/mona.svg\": 38382,\n\t\"./color/msr.svg\": 31229,\n\t\"./color/mth.svg\": 20462,\n\t\"./color/mtl.svg\": 5538,\n\t\"./color/music.svg\": 71654,\n\t\"./color/mzc.svg\": 2503,\n\t\"./color/nano.svg\": 67671,\n\t\"./color/nas.svg\": 10869,\n\t\"./color/nav.svg\": 13640,\n\t\"./color/ncash.svg\": 45344,\n\t\"./color/ndz.svg\": 70159,\n\t\"./color/nebl.svg\": 85548,\n\t\"./color/neo.svg\": 15645,\n\t\"./color/neos.svg\": 90644,\n\t\"./color/neu.svg\": 98935,\n\t\"./color/nexo.svg\": 24457,\n\t\"./color/ngc.svg\": 47311,\n\t\"./color/nio.svg\": 33817,\n\t\"./color/nkn.svg\": 83286,\n\t\"./color/nlc2.svg\": 97136,\n\t\"./color/nlg.svg\": 91378,\n\t\"./color/nmc.svg\": 48337,\n\t\"./color/nmr.svg\": 20240,\n\t\"./color/npxs.svg\": 77288,\n\t\"./color/ntbc.svg\": 87334,\n\t\"./color/nuls.svg\": 65233,\n\t\"./color/nxs.svg\": 85146,\n\t\"./color/nxt.svg\": 96773,\n\t\"./color/oax.svg\": 82979,\n\t\"./color/ok.svg\": 35155,\n\t\"./color/omg.svg\": 22696,\n\t\"./color/omni.svg\": 56378,\n\t\"./color/one.svg\": 91151,\n\t\"./color/ong.svg\": 23978,\n\t\"./color/ont.svg\": 4334,\n\t\"./color/oot.svg\": 91617,\n\t\"./color/ost.svg\": 83581,\n\t\"./color/ox.svg\": 72784,\n\t\"./color/oxt.svg\": 63980,\n\t\"./color/oxy.svg\": 67657,\n\t\"./color/part.svg\": 85766,\n\t\"./color/pasc.svg\": 22822,\n\t\"./color/pasl.svg\": 20977,\n\t\"./color/pax.svg\": 76252,\n\t\"./color/paxg.svg\": 50139,\n\t\"./color/pay.svg\": 4797,\n\t\"./color/payx.svg\": 72431,\n\t\"./color/pink.svg\": 43581,\n\t\"./color/pirl.svg\": 32166,\n\t\"./color/pivx.svg\": 48582,\n\t\"./color/plr.svg\": 93689,\n\t\"./color/poa.svg\": 48711,\n\t\"./color/poe.svg\": 10267,\n\t\"./color/polis.svg\": 96662,\n\t\"./color/poly.svg\": 13687,\n\t\"./color/pot.svg\": 986,\n\t\"./color/powr.svg\": 10169,\n\t\"./color/ppc.svg\": 38980,\n\t\"./color/ppp.svg\": 45575,\n\t\"./color/ppt.svg\": 58715,\n\t\"./color/pre.svg\": 9680,\n\t\"./color/prl.svg\": 74361,\n\t\"./color/pungo.svg\": 83992,\n\t\"./color/pura.svg\": 35103,\n\t\"./color/qash.svg\": 58830,\n\t\"./color/qiwi.svg\": 42603,\n\t\"./color/qlc.svg\": 84313,\n\t\"./color/qnt.svg\": 93280,\n\t\"./color/qrl.svg\": 64292,\n\t\"./color/qsp.svg\": 50419,\n\t\"./color/qtum.svg\": 54424,\n\t\"./color/r.svg\": 58157,\n\t\"./color/rads.svg\": 82953,\n\t\"./color/rap.svg\": 50234,\n\t\"./color/ray.svg\": 29331,\n\t\"./color/rcn.svg\": 79882,\n\t\"./color/rdd.svg\": 22458,\n\t\"./color/rdn.svg\": 19479,\n\t\"./color/ren.svg\": 7296,\n\t\"./color/rep.svg\": 90326,\n\t\"./color/repv2.svg\": 95102,\n\t\"./color/req.svg\": 54151,\n\t\"./color/rhoc.svg\": 94245,\n\t\"./color/ric.svg\": 83313,\n\t\"./color/rise.svg\": 13326,\n\t\"./color/rlc.svg\": 16090,\n\t\"./color/rpx.svg\": 98221,\n\t\"./color/rub.svg\": 91124,\n\t\"./color/rvn.svg\": 70349,\n\t\"./color/ryo.svg\": 38773,\n\t\"./color/safe.svg\": 57326,\n\t\"./color/safemoon.svg\": 59725,\n\t\"./color/sai.svg\": 91574,\n\t\"./color/salt.svg\": 31805,\n\t\"./color/san.svg\": 47961,\n\t\"./color/sand.svg\": 96743,\n\t\"./color/sbd.svg\": 35545,\n\t\"./color/sberbank.svg\": 84957,\n\t\"./color/sc.svg\": 43159,\n\t\"./color/ser.svg\": 53849,\n\t\"./color/shift.svg\": 52439,\n\t\"./color/sib.svg\": 49845,\n\t\"./color/sin.svg\": 86977,\n\t\"./color/skl.svg\": 10825,\n\t\"./color/sky.svg\": 53556,\n\t\"./color/slr.svg\": 70866,\n\t\"./color/sls.svg\": 20259,\n\t\"./color/smart.svg\": 59624,\n\t\"./color/sngls.svg\": 57142,\n\t\"./color/snm.svg\": 42283,\n\t\"./color/snt.svg\": 6034,\n\t\"./color/snx.svg\": 71926,\n\t\"./color/soc.svg\": 50346,\n\t\"./color/sol.svg\": 87549,\n\t\"./color/spacehbit.svg\": 98892,\n\t\"./color/spank.svg\": 23720,\n\t\"./color/sphtx.svg\": 14248,\n\t\"./color/srn.svg\": 30684,\n\t\"./color/stak.svg\": 5408,\n\t\"./color/start.svg\": 92919,\n\t\"./color/steem.svg\": 45179,\n\t\"./color/storj.svg\": 97415,\n\t\"./color/storm.svg\": 77608,\n\t\"./color/stox.svg\": 22101,\n\t\"./color/stq.svg\": 62233,\n\t\"./color/strat.svg\": 30249,\n\t\"./color/stx.svg\": 71696,\n\t\"./color/sub.svg\": 93465,\n\t\"./color/sumo.svg\": 99141,\n\t\"./color/sushi.svg\": 61817,\n\t\"./color/sys.svg\": 34228,\n\t\"./color/taas.svg\": 21576,\n\t\"./color/tau.svg\": 91381,\n\t\"./color/tbx.svg\": 71897,\n\t\"./color/tel.svg\": 37736,\n\t\"./color/ten.svg\": 28106,\n\t\"./color/tern.svg\": 48244,\n\t\"./color/tgch.svg\": 36547,\n\t\"./color/theta.svg\": 80387,\n\t\"./color/tix.svg\": 64088,\n\t\"./color/tkn.svg\": 74696,\n\t\"./color/tks.svg\": 33453,\n\t\"./color/tnb.svg\": 81071,\n\t\"./color/tnc.svg\": 2142,\n\t\"./color/tnt.svg\": 84849,\n\t\"./color/tomo.svg\": 62418,\n\t\"./color/tpay.svg\": 97471,\n\t\"./color/trig.svg\": 46199,\n\t\"./color/trtl.svg\": 34211,\n\t\"./color/trx.svg\": 67081,\n\t\"./color/tusd.svg\": 67905,\n\t\"./color/tzc.svg\": 38890,\n\t\"./color/ubq.svg\": 2293,\n\t\"./color/uma.svg\": 45584,\n\t\"./color/uni.svg\": 84897,\n\t\"./color/unity.svg\": 12964,\n\t\"./color/usd.svg\": 37803,\n\t\"./color/usdc.svg\": 17010,\n\t\"./color/usdt.svg\": 92973,\n\t\"./color/utk.svg\": 82965,\n\t\"./color/veri.svg\": 94777,\n\t\"./color/vet.svg\": 11806,\n\t\"./color/via.svg\": 57879,\n\t\"./color/vib.svg\": 14756,\n\t\"./color/vibe.svg\": 53233,\n\t\"./color/vivo.svg\": 71199,\n\t\"./color/vrc.svg\": 69136,\n\t\"./color/vrsc.svg\": 41395,\n\t\"./color/vtc.svg\": 90958,\n\t\"./color/vtho.svg\": 29576,\n\t\"./color/wabi.svg\": 79354,\n\t\"./color/wan.svg\": 57461,\n\t\"./color/waves.svg\": 41973,\n\t\"./color/wax.svg\": 45035,\n\t\"./color/wbtc.svg\": 33565,\n\t\"./color/wgr.svg\": 40015,\n\t\"./color/wicc.svg\": 55483,\n\t\"./color/wings.svg\": 20635,\n\t\"./color/wpr.svg\": 22082,\n\t\"./color/wtc.svg\": 1607,\n\t\"./color/x.svg\": 77559,\n\t\"./color/xas.svg\": 52831,\n\t\"./color/xbc.svg\": 94790,\n\t\"./color/xbp.svg\": 9333,\n\t\"./color/xby.svg\": 93788,\n\t\"./color/xcp.svg\": 28186,\n\t\"./color/xdn.svg\": 79581,\n\t\"./color/xem.svg\": 31501,\n\t\"./color/xin.svg\": 74130,\n\t\"./color/xlm.svg\": 14118,\n\t\"./color/xmcc.svg\": 64442,\n\t\"./color/xmg.svg\": 72655,\n\t\"./color/xmo.svg\": 95239,\n\t\"./color/xmr.svg\": 63970,\n\t\"./color/xmy.svg\": 15625,\n\t\"./color/xp.svg\": 35877,\n\t\"./color/xpa.svg\": 63550,\n\t\"./color/xpm.svg\": 74493,\n\t\"./color/xpr.svg\": 92109,\n\t\"./color/xrp.svg\": 97253,\n\t\"./color/xsg.svg\": 49669,\n\t\"./color/xtz.svg\": 68321,\n\t\"./color/xuc.svg\": 29403,\n\t\"./color/xvc.svg\": 64978,\n\t\"./color/xvg.svg\": 86814,\n\t\"./color/xzc.svg\": 67182,\n\t\"./color/yfi.svg\": 99365,\n\t\"./color/yoyow.svg\": 64432,\n\t\"./color/zcl.svg\": 95024,\n\t\"./color/zec.svg\": 72221,\n\t\"./color/zel.svg\": 69194,\n\t\"./color/zen.svg\": 95176,\n\t\"./color/zest.svg\": 74411,\n\t\"./color/zil.svg\": 5630,\n\t\"./color/zilla.svg\": 65483,\n\t\"./color/zrx.svg\": 70303,\n\t\"./icon/$pac.svg\": 28101,\n\t\"./icon/0xbtc.svg\": 67986,\n\t\"./icon/1inch.svg\": 51250,\n\t\"./icon/2give.svg\": 13866,\n\t\"./icon/aave.svg\": 16328,\n\t\"./icon/abt.svg\": 83932,\n\t\"./icon/act.svg\": 52159,\n\t\"./icon/actn.svg\": 22475,\n\t\"./icon/ada.svg\": 96067,\n\t\"./icon/add.svg\": 80414,\n\t\"./icon/adx.svg\": 54362,\n\t\"./icon/ae.svg\": 98399,\n\t\"./icon/aeon.svg\": 41168,\n\t\"./icon/aeur.svg\": 41122,\n\t\"./icon/agi.svg\": 91774,\n\t\"./icon/agrs.svg\": 22604,\n\t\"./icon/aion.svg\": 56956,\n\t\"./icon/algo.svg\": 25096,\n\t\"./icon/amb.svg\": 13799,\n\t\"./icon/amp.svg\": 27173,\n\t\"./icon/ampl.svg\": 41499,\n\t\"./icon/ankr.svg\": 92375,\n\t\"./icon/ant.svg\": 49424,\n\t\"./icon/ape.svg\": 83043,\n\t\"./icon/apex.svg\": 52353,\n\t\"./icon/appc.svg\": 19265,\n\t\"./icon/ardr.svg\": 55238,\n\t\"./icon/arg.svg\": 10703,\n\t\"./icon/ark.svg\": 17563,\n\t\"./icon/arn.svg\": 34262,\n\t\"./icon/arnx.svg\": 2530,\n\t\"./icon/ary.svg\": 59561,\n\t\"./icon/ast.svg\": 39855,\n\t\"./icon/atlas.svg\": 20706,\n\t\"./icon/atm.svg\": 21879,\n\t\"./icon/atom.svg\": 96618,\n\t\"./icon/audr.svg\": 42721,\n\t\"./icon/aury.svg\": 75380,\n\t\"./icon/auto.svg\": 32628,\n\t\"./icon/avax.svg\": 83911,\n\t\"./icon/aywa.svg\": 11539,\n\t\"./icon/bab.svg\": 71352,\n\t\"./icon/bal.svg\": 66926,\n\t\"./icon/band.svg\": 42680,\n\t\"./icon/bat.svg\": 21558,\n\t\"./icon/bay.svg\": 77251,\n\t\"./icon/bcbc.svg\": 39425,\n\t\"./icon/bcc.svg\": 29567,\n\t\"./icon/bcd.svg\": 87360,\n\t\"./icon/bch.svg\": 19716,\n\t\"./icon/bcio.svg\": 74280,\n\t\"./icon/bcn.svg\": 62810,\n\t\"./icon/bco.svg\": 81867,\n\t\"./icon/bcpt.svg\": 12472,\n\t\"./icon/bdl.svg\": 95317,\n\t\"./icon/beam.svg\": 48640,\n\t\"./icon/bela.svg\": 33103,\n\t\"./icon/bix.svg\": 20058,\n\t\"./icon/blcn.svg\": 13888,\n\t\"./icon/blk.svg\": 25490,\n\t\"./icon/block.svg\": 43496,\n\t\"./icon/blz.svg\": 45459,\n\t\"./icon/bnb.svg\": 45889,\n\t\"./icon/bnt.svg\": 48479,\n\t\"./icon/bnty.svg\": 14292,\n\t\"./icon/booty.svg\": 53330,\n\t\"./icon/bos.svg\": 96579,\n\t\"./icon/bpt.svg\": 89465,\n\t\"./icon/bq.svg\": 75926,\n\t\"./icon/brd.svg\": 11635,\n\t\"./icon/bsd.svg\": 68528,\n\t\"./icon/bsv.svg\": 2050,\n\t\"./icon/btc.svg\": 54466,\n\t\"./icon/btcd.svg\": 77506,\n\t\"./icon/btch.svg\": 59750,\n\t\"./icon/btcp.svg\": 75198,\n\t\"./icon/btcz.svg\": 29364,\n\t\"./icon/btdx.svg\": 3711,\n\t\"./icon/btg.svg\": 14,\n\t\"./icon/btm.svg\": 94916,\n\t\"./icon/bts.svg\": 7026,\n\t\"./icon/btt.svg\": 40957,\n\t\"./icon/btx.svg\": 11481,\n\t\"./icon/burst.svg\": 15905,\n\t\"./icon/bze.svg\": 42234,\n\t\"./icon/call.svg\": 9941,\n\t\"./icon/cc.svg\": 86311,\n\t\"./icon/cdn.svg\": 92782,\n\t\"./icon/cdt.svg\": 37620,\n\t\"./icon/cenz.svg\": 37021,\n\t\"./icon/chain.svg\": 25036,\n\t\"./icon/chat.svg\": 42339,\n\t\"./icon/chips.svg\": 86486,\n\t\"./icon/chsb.svg\": 94567,\n\t\"./icon/chz.svg\": 25870,\n\t\"./icon/cix.svg\": 16719,\n\t\"./icon/clam.svg\": 48326,\n\t\"./icon/cloak.svg\": 88567,\n\t\"./icon/cmm.svg\": 2790,\n\t\"./icon/cmt.svg\": 72911,\n\t\"./icon/cnd.svg\": 97010,\n\t\"./icon/cnx.svg\": 50374,\n\t\"./icon/cny.svg\": 48407,\n\t\"./icon/cob.svg\": 68523,\n\t\"./icon/colx.svg\": 73279,\n\t\"./icon/comp.svg\": 42100,\n\t\"./icon/coqui.svg\": 82150,\n\t\"./icon/cred.svg\": 81433,\n\t\"./icon/crpt.svg\": 78474,\n\t\"./icon/crv.svg\": 65556,\n\t\"./icon/crw.svg\": 7541,\n\t\"./icon/cs.svg\": 91639,\n\t\"./icon/ctr.svg\": 58490,\n\t\"./icon/ctxc.svg\": 27443,\n\t\"./icon/cvc.svg\": 37525,\n\t\"./icon/d.svg\": 66243,\n\t\"./icon/dai.svg\": 80673,\n\t\"./icon/dash.svg\": 48089,\n\t\"./icon/dat.svg\": 49732,\n\t\"./icon/data.svg\": 35981,\n\t\"./icon/dbc.svg\": 41010,\n\t\"./icon/dcn.svg\": 17872,\n\t\"./icon/dcr.svg\": 91844,\n\t\"./icon/deez.svg\": 55721,\n\t\"./icon/dent.svg\": 97677,\n\t\"./icon/dew.svg\": 32611,\n\t\"./icon/dgb.svg\": 15800,\n\t\"./icon/dgd.svg\": 48070,\n\t\"./icon/dlt.svg\": 11211,\n\t\"./icon/dnt.svg\": 33089,\n\t\"./icon/dock.svg\": 28024,\n\t\"./icon/doge.svg\": 7962,\n\t\"./icon/dot.svg\": 79534,\n\t\"./icon/drgn.svg\": 49428,\n\t\"./icon/drop.svg\": 77802,\n\t\"./icon/dta.svg\": 72782,\n\t\"./icon/dth.svg\": 22135,\n\t\"./icon/dtr.svg\": 30077,\n\t\"./icon/ebst.svg\": 37801,\n\t\"./icon/eca.svg\": 61446,\n\t\"./icon/edg.svg\": 33249,\n\t\"./icon/edo.svg\": 16313,\n\t\"./icon/edoge.svg\": 24225,\n\t\"./icon/ela.svg\": 6999,\n\t\"./icon/elec.svg\": 86194,\n\t\"./icon/elf.svg\": 17816,\n\t\"./icon/elix.svg\": 59989,\n\t\"./icon/ella.svg\": 51487,\n\t\"./icon/emb.svg\": 52531,\n\t\"./icon/emc.svg\": 21954,\n\t\"./icon/emc2.svg\": 62940,\n\t\"./icon/eng.svg\": 13303,\n\t\"./icon/enj.svg\": 18402,\n\t\"./icon/entrp.svg\": 50978,\n\t\"./icon/eon.svg\": 52477,\n\t\"./icon/eop.svg\": 74027,\n\t\"./icon/eos.svg\": 15960,\n\t\"./icon/eqli.svg\": 3458,\n\t\"./icon/equa.svg\": 51393,\n\t\"./icon/etc.svg\": 11181,\n\t\"./icon/eth.svg\": 32550,\n\t\"./icon/ethos.svg\": 45220,\n\t\"./icon/etn.svg\": 280,\n\t\"./icon/etp.svg\": 98974,\n\t\"./icon/eur.svg\": 86699,\n\t\"./icon/evx.svg\": 10312,\n\t\"./icon/exmo.svg\": 83002,\n\t\"./icon/exp.svg\": 30378,\n\t\"./icon/fair.svg\": 8087,\n\t\"./icon/fct.svg\": 40124,\n\t\"./icon/fida.svg\": 91511,\n\t\"./icon/fil.svg\": 75122,\n\t\"./icon/fjc.svg\": 24952,\n\t\"./icon/fldc.svg\": 81032,\n\t\"./icon/flo.svg\": 46642,\n\t\"./icon/flux.svg\": 3488,\n\t\"./icon/fsn.svg\": 118,\n\t\"./icon/ftc.svg\": 4318,\n\t\"./icon/fuel.svg\": 99273,\n\t\"./icon/fun.svg\": 34724,\n\t\"./icon/game.svg\": 94999,\n\t\"./icon/gas.svg\": 1520,\n\t\"./icon/gbp.svg\": 51854,\n\t\"./icon/gbx.svg\": 85990,\n\t\"./icon/gbyte.svg\": 18950,\n\t\"./icon/generic.svg\": 12296,\n\t\"./icon/gin.svg\": 96925,\n\t\"./icon/glxt.svg\": 3824,\n\t\"./icon/gmr.svg\": 20861,\n\t\"./icon/gmt.svg\": 19971,\n\t\"./icon/gno.svg\": 52093,\n\t\"./icon/gnt.svg\": 24550,\n\t\"./icon/gold.svg\": 19855,\n\t\"./icon/grc.svg\": 6605,\n\t\"./icon/grin.svg\": 72067,\n\t\"./icon/grs.svg\": 90749,\n\t\"./icon/grt.svg\": 56818,\n\t\"./icon/gsc.svg\": 70058,\n\t\"./icon/gto.svg\": 88275,\n\t\"./icon/gup.svg\": 40439,\n\t\"./icon/gusd.svg\": 21184,\n\t\"./icon/gvt.svg\": 13294,\n\t\"./icon/gxs.svg\": 17899,\n\t\"./icon/gzr.svg\": 59332,\n\t\"./icon/hight.svg\": 70167,\n\t\"./icon/hns.svg\": 94554,\n\t\"./icon/hodl.svg\": 72698,\n\t\"./icon/hot.svg\": 29778,\n\t\"./icon/hpb.svg\": 51853,\n\t\"./icon/hsr.svg\": 72184,\n\t\"./icon/ht.svg\": 4377,\n\t\"./icon/html.svg\": 35526,\n\t\"./icon/huc.svg\": 37003,\n\t\"./icon/husd.svg\": 49037,\n\t\"./icon/hush.svg\": 30473,\n\t\"./icon/icn.svg\": 73149,\n\t\"./icon/icp.svg\": 75467,\n\t\"./icon/icx.svg\": 51859,\n\t\"./icon/ignis.svg\": 39613,\n\t\"./icon/ilk.svg\": 6089,\n\t\"./icon/ink.svg\": 84911,\n\t\"./icon/ins.svg\": 19543,\n\t\"./icon/ion.svg\": 49425,\n\t\"./icon/iop.svg\": 60327,\n\t\"./icon/iost.svg\": 78432,\n\t\"./icon/iotx.svg\": 74873,\n\t\"./icon/iq.svg\": 84171,\n\t\"./icon/itc.svg\": 90377,\n\t\"./icon/jnt.svg\": 21575,\n\t\"./icon/jpy.svg\": 2980,\n\t\"./icon/kcs.svg\": 40046,\n\t\"./icon/kin.svg\": 96233,\n\t\"./icon/klown.svg\": 17064,\n\t\"./icon/kmd.svg\": 40679,\n\t\"./icon/knc.svg\": 93221,\n\t\"./icon/krb.svg\": 17424,\n\t\"./icon/ksm.svg\": 19128,\n\t\"./icon/lbc.svg\": 45194,\n\t\"./icon/lend.svg\": 39522,\n\t\"./icon/leo.svg\": 94867,\n\t\"./icon/link.svg\": 94025,\n\t\"./icon/lkk.svg\": 22205,\n\t\"./icon/loom.svg\": 59826,\n\t\"./icon/lpt.svg\": 73999,\n\t\"./icon/lrc.svg\": 25594,\n\t\"./icon/lsk.svg\": 58101,\n\t\"./icon/ltc.svg\": 24612,\n\t\"./icon/lun.svg\": 55986,\n\t\"./icon/maid.svg\": 4840,\n\t\"./icon/mana.svg\": 5112,\n\t\"./icon/matic.svg\": 66157,\n\t\"./icon/max.svg\": 12397,\n\t\"./icon/mcap.svg\": 77554,\n\t\"./icon/mco.svg\": 11528,\n\t\"./icon/mda.svg\": 36551,\n\t\"./icon/mds.svg\": 27205,\n\t\"./icon/med.svg\": 13053,\n\t\"./icon/meetone.svg\": 96524,\n\t\"./icon/mft.svg\": 87844,\n\t\"./icon/miota.svg\": 45543,\n\t\"./icon/mith.svg\": 98059,\n\t\"./icon/mkr.svg\": 12165,\n\t\"./icon/mln.svg\": 1560,\n\t\"./icon/mnx.svg\": 25384,\n\t\"./icon/mnz.svg\": 88906,\n\t\"./icon/moac.svg\": 94173,\n\t\"./icon/mod.svg\": 65743,\n\t\"./icon/mona.svg\": 40206,\n\t\"./icon/msr.svg\": 68189,\n\t\"./icon/mth.svg\": 41070,\n\t\"./icon/mtl.svg\": 42498,\n\t\"./icon/music.svg\": 94150,\n\t\"./icon/mzc.svg\": 23111,\n\t\"./icon/nano.svg\": 69495,\n\t\"./icon/nas.svg\": 47829,\n\t\"./icon/nav.svg\": 50600,\n\t\"./icon/ncash.svg\": 51488,\n\t\"./icon/ndz.svg\": 7119,\n\t\"./icon/nebl.svg\": 87372,\n\t\"./icon/neo.svg\": 52605,\n\t\"./icon/neos.svg\": 92468,\n\t\"./icon/neu.svg\": 41924,\n\t\"./icon/nexo.svg\": 26281,\n\t\"./icon/ngc.svg\": 67919,\n\t\"./icon/nio.svg\": 54425,\n\t\"./icon/nkn.svg\": 3894,\n\t\"./icon/nlc2.svg\": 98960,\n\t\"./icon/nlg.svg\": 11986,\n\t\"./icon/nmc.svg\": 68945,\n\t\"./icon/nmr.svg\": 57200,\n\t\"./icon/npxs.svg\": 79112,\n\t\"./icon/ntbc.svg\": 89158,\n\t\"./icon/nuls.svg\": 67057,\n\t\"./icon/nxs.svg\": 22106,\n\t\"./icon/nxt.svg\": 17381,\n\t\"./icon/oax.svg\": 19939,\n\t\"./icon/ok.svg\": 95379,\n\t\"./icon/omg.svg\": 59656,\n\t\"./icon/omni.svg\": 58202,\n\t\"./icon/one.svg\": 28111,\n\t\"./icon/ong.svg\": 38557,\n\t\"./icon/ont.svg\": 41294,\n\t\"./icon/oot.svg\": 28577,\n\t\"./icon/ost.svg\": 4189,\n\t\"./icon/ox.svg\": 33008,\n\t\"./icon/oxt.svg\": 940,\n\t\"./icon/oxy.svg\": 88265,\n\t\"./icon/part.svg\": 87590,\n\t\"./icon/pasc.svg\": 24646,\n\t\"./icon/pasl.svg\": 22801,\n\t\"./icon/pax.svg\": 13212,\n\t\"./icon/paxg.svg\": 51963,\n\t\"./icon/pay.svg\": 41757,\n\t\"./icon/payx.svg\": 74255,\n\t\"./icon/pink.svg\": 45405,\n\t\"./icon/pirl.svg\": 33990,\n\t\"./icon/pivx.svg\": 50406,\n\t\"./icon/plr.svg\": 30649,\n\t\"./icon/poa.svg\": 85671,\n\t\"./icon/poe.svg\": 47227,\n\t\"./icon/polis.svg\": 2806,\n\t\"./icon/poly.svg\": 15511,\n\t\"./icon/pot.svg\": 37946,\n\t\"./icon/powr.svg\": 11993,\n\t\"./icon/ppc.svg\": 75940,\n\t\"./icon/ppp.svg\": 82535,\n\t\"./icon/ppt.svg\": 95675,\n\t\"./icon/pre.svg\": 30288,\n\t\"./icon/prl.svg\": 11321,\n\t\"./icon/pungo.svg\": 90136,\n\t\"./icon/pura.svg\": 36927,\n\t\"./icon/qash.svg\": 60654,\n\t\"./icon/qiwi.svg\": 44427,\n\t\"./icon/qlc.svg\": 21273,\n\t\"./icon/qnt.svg\": 30240,\n\t\"./icon/qrl.svg\": 1252,\n\t\"./icon/qsp.svg\": 87379,\n\t\"./icon/qtum.svg\": 56248,\n\t\"./icon/r.svg\": 50285,\n\t\"./icon/rads.svg\": 84777,\n\t\"./icon/rap.svg\": 87194,\n\t\"./icon/ray.svg\": 66291,\n\t\"./icon/rcn.svg\": 490,\n\t\"./icon/rdd.svg\": 20685,\n\t\"./icon/rdn.svg\": 56439,\n\t\"./icon/ren.svg\": 44256,\n\t\"./icon/rep.svg\": 10934,\n\t\"./icon/repv2.svg\": 1246,\n\t\"./icon/req.svg\": 91111,\n\t\"./icon/rhoc.svg\": 96069,\n\t\"./icon/ric.svg\": 20273,\n\t\"./icon/rise.svg\": 15150,\n\t\"./icon/rlc.svg\": 53050,\n\t\"./icon/rpx.svg\": 35181,\n\t\"./icon/rub.svg\": 28084,\n\t\"./icon/rvn.svg\": 90957,\n\t\"./icon/ryo.svg\": 75733,\n\t\"./icon/safe.svg\": 59150,\n\t\"./icon/safemoon.svg\": 82413,\n\t\"./icon/sai.svg\": 12182,\n\t\"./icon/salt.svg\": 33629,\n\t\"./icon/san.svg\": 68569,\n\t\"./icon/sand.svg\": 98567,\n\t\"./icon/sbd.svg\": 94886,\n\t\"./icon/sberbank.svg\": 7645,\n\t\"./icon/sc.svg\": 3383,\n\t\"./icon/ser.svg\": 74457,\n\t\"./icon/shift.svg\": 58583,\n\t\"./icon/sib.svg\": 86805,\n\t\"./icon/sin.svg\": 7585,\n\t\"./icon/skl.svg\": 47785,\n\t\"./icon/sky.svg\": 74164,\n\t\"./icon/slr.svg\": 7826,\n\t\"./icon/sls.svg\": 57219,\n\t\"./icon/smart.svg\": 65768,\n\t\"./icon/sngls.svg\": 63286,\n\t\"./icon/snm.svg\": 62891,\n\t\"./icon/snt.svg\": 26642,\n\t\"./icon/snx.svg\": 8886,\n\t\"./icon/soc.svg\": 87306,\n\t\"./icon/sol.svg\": 8157,\n\t\"./icon/spacehbit.svg\": 26444,\n\t\"./icon/spank.svg\": 29864,\n\t\"./icon/sphtx.svg\": 20392,\n\t\"./icon/srn.svg\": 67644,\n\t\"./icon/stak.svg\": 7232,\n\t\"./icon/start.svg\": 99063,\n\t\"./icon/steem.svg\": 51323,\n\t\"./icon/storj.svg\": 3559,\n\t\"./icon/storm.svg\": 83752,\n\t\"./icon/stox.svg\": 23925,\n\t\"./icon/stq.svg\": 82841,\n\t\"./icon/strat.svg\": 36393,\n\t\"./icon/stx.svg\": 92304,\n\t\"./icon/sub.svg\": 30425,\n\t\"./icon/sumo.svg\": 965,\n\t\"./icon/sushi.svg\": 6694,\n\t\"./icon/sys.svg\": 54836,\n\t\"./icon/taas.svg\": 23400,\n\t\"./icon/tau.svg\": 11989,\n\t\"./icon/tbx.svg\": 92505,\n\t\"./icon/tel.svg\": 52315,\n\t\"./icon/ten.svg\": 65066,\n\t\"./icon/tern.svg\": 50068,\n\t\"./icon/tgch.svg\": 38371,\n\t\"./icon/theta.svg\": 2883,\n\t\"./icon/tix.svg\": 1048,\n\t\"./icon/tkn.svg\": 95304,\n\t\"./icon/tks.svg\": 54061,\n\t\"./icon/tnb.svg\": 1679,\n\t\"./icon/tnc.svg\": 39102,\n\t\"./icon/tnt.svg\": 21809,\n\t\"./icon/tomo.svg\": 47890,\n\t\"./icon/tpay.svg\": 99295,\n\t\"./icon/trig.svg\": 48023,\n\t\"./icon/trtl.svg\": 36035,\n\t\"./icon/trx.svg\": 87689,\n\t\"./icon/tusd.svg\": 69729,\n\t\"./icon/tzc.svg\": 59498,\n\t\"./icon/ubq.svg\": 22901,\n\t\"./icon/uma.svg\": 82544,\n\t\"./icon/uni.svg\": 21857,\n\t\"./icon/unity.svg\": 19108,\n\t\"./icon/usd.svg\": 74763,\n\t\"./icon/usdc.svg\": 18834,\n\t\"./icon/usdt.svg\": 94797,\n\t\"./icon/utk.svg\": 3573,\n\t\"./icon/veri.svg\": 96601,\n\t\"./icon/vet.svg\": 32414,\n\t\"./icon/via.svg\": 78487,\n\t\"./icon/vib.svg\": 51716,\n\t\"./icon/vibe.svg\": 55057,\n\t\"./icon/vivo.svg\": 73023,\n\t\"./icon/vrc.svg\": 6096,\n\t\"./icon/vrsc.svg\": 43219,\n\t\"./icon/vtc.svg\": 27918,\n\t\"./icon/vtho.svg\": 31400,\n\t\"./icon/wabi.svg\": 58797,\n\t\"./icon/wan.svg\": 94421,\n\t\"./icon/waves.svg\": 48117,\n\t\"./icon/wax.svg\": 81995,\n\t\"./icon/wbtc.svg\": 35389,\n\t\"./icon/wgr.svg\": 76975,\n\t\"./icon/wicc.svg\": 57307,\n\t\"./icon/wings.svg\": 26779,\n\t\"./icon/wpr.svg\": 59042,\n\t\"./icon/wtc.svg\": 22215,\n\t\"./icon/x.svg\": 86039,\n\t\"./icon/xas.svg\": 89791,\n\t\"./icon/xbc.svg\": 31750,\n\t\"./icon/xbp.svg\": 46293,\n\t\"./icon/xby.svg\": 30748,\n\t\"./icon/xcp.svg\": 65146,\n\t\"./icon/xdn.svg\": 16541,\n\t\"./icon/xem.svg\": 68461,\n\t\"./icon/xin.svg\": 11090,\n\t\"./icon/xlm.svg\": 51078,\n\t\"./icon/xmcc.svg\": 66266,\n\t\"./icon/xmg.svg\": 9615,\n\t\"./icon/xmo.svg\": 32199,\n\t\"./icon/xmr.svg\": 930,\n\t\"./icon/xmy.svg\": 52585,\n\t\"./icon/xp.svg\": 79749,\n\t\"./icon/xpa.svg\": 510,\n\t\"./icon/xpm.svg\": 17482,\n\t\"./icon/xpr.svg\": 29069,\n\t\"./icon/xrp.svg\": 34213,\n\t\"./icon/xsg.svg\": 86629,\n\t\"./icon/xtz.svg\": 88929,\n\t\"./icon/xuc.svg\": 66363,\n\t\"./icon/xvc.svg\": 1938,\n\t\"./icon/xvg.svg\": 7422,\n\t\"./icon/xzc.svg\": 4142,\n\t\"./icon/yfi.svg\": 36325,\n\t\"./icon/yoyow.svg\": 70576,\n\t\"./icon/zcl.svg\": 31984,\n\t\"./icon/zec.svg\": 92829,\n\t\"./icon/zel.svg\": 6154,\n\t\"./icon/zen.svg\": 15784,\n\t\"./icon/zest.svg\": 76235,\n\t\"./icon/zil.svg\": 42590,\n\t\"./icon/zilla.svg\": 71627,\n\t\"./icon/zrx.svg\": 90911,\n\t\"./white/$pac.svg\": 75047,\n\t\"./white/0xbtc.svg\": 99700,\n\t\"./white/1inch.svg\": 84444,\n\t\"./white/2give.svg\": 65504,\n\t\"./white/aave.svg\": 79874,\n\t\"./white/abt.svg\": 35354,\n\t\"./white/act.svg\": 74861,\n\t\"./white/actn.svg\": 39777,\n\t\"./white/ada.svg\": 20973,\n\t\"./white/add.svg\": 51520,\n\t\"./white/adx.svg\": 33812,\n\t\"./white/ae.svg\": 33701,\n\t\"./white/aeon.svg\": 75470,\n\t\"./white/aeur.svg\": 94044,\n\t\"./white/agi.svg\": 95068,\n\t\"./white/agrs.svg\": 72838,\n\t\"./white/aion.svg\": 96746,\n\t\"./white/algo.svg\": 21622,\n\t\"./white/amb.svg\": 24053,\n\t\"./white/amp.svg\": 98487,\n\t\"./white/ampl.svg\": 27489,\n\t\"./white/ankr.svg\": 98377,\n\t\"./white/ant.svg\": 46222,\n\t\"./white/ape.svg\": 17125,\n\t\"./white/apex.svg\": 75063,\n\t\"./white/appc.svg\": 73739,\n\t\"./white/ardr.svg\": 36964,\n\t\"./white/arg.svg\": 83081,\n\t\"./white/ark.svg\": 1645,\n\t\"./white/arn.svg\": 32192,\n\t\"./white/arnx.svg\": 32392,\n\t\"./white/ary.svg\": 40111,\n\t\"./white/ast.svg\": 9117,\n\t\"./white/atlas.svg\": 40968,\n\t\"./white/atm.svg\": 14425,\n\t\"./white/atom.svg\": 13316,\n\t\"./white/audr.svg\": 60523,\n\t\"./white/aury.svg\": 74014,\n\t\"./white/auto.svg\": 37230,\n\t\"./white/avax.svg\": 99225,\n\t\"./white/aywa.svg\": 52853,\n\t\"./white/bab.svg\": 18082,\n\t\"./white/bal.svg\": 42180,\n\t\"./white/band.svg\": 51878,\n\t\"./white/bat.svg\": 76028,\n\t\"./white/bay.svg\": 58745,\n\t\"./white/bcbc.svg\": 57047,\n\t\"./white/bcc.svg\": 40301,\n\t\"./white/bcd.svg\": 70082,\n\t\"./white/bch.svg\": 92294,\n\t\"./white/bcio.svg\": 79474,\n\t\"./white/bcn.svg\": 17496,\n\t\"./white/bco.svg\": 21737,\n\t\"./white/bcpt.svg\": 89566,\n\t\"./white/bdl.svg\": 42051,\n\t\"./white/beam.svg\": 45642,\n\t\"./white/bela.svg\": 75089,\n\t\"./white/bix.svg\": 98720,\n\t\"./white/blcn.svg\": 54482,\n\t\"./white/blk.svg\": 52084,\n\t\"./white/block.svg\": 63786,\n\t\"./white/blz.svg\": 83045,\n\t\"./white/bnb.svg\": 93383,\n\t\"./white/bnt.svg\": 5321,\n\t\"./white/bnty.svg\": 72562,\n\t\"./white/booty.svg\": 728,\n\t\"./white/bos.svg\": 39417,\n\t\"./white/bpt.svg\": 62575,\n\t\"./white/bq.svg\": 28080,\n\t\"./white/brd.svg\": 25797,\n\t\"./white/bsd.svg\": 25746,\n\t\"./white/bsv.svg\": 89728,\n\t\"./white/btc.svg\": 13188,\n\t\"./white/btcd.svg\": 51072,\n\t\"./white/btch.svg\": 32452,\n\t\"./white/btcp.svg\": 66300,\n\t\"./white/btcz.svg\": 92182,\n\t\"./white/btdx.svg\": 96105,\n\t\"./white/btg.svg\": 39064,\n\t\"./white/btm.svg\": 89090,\n\t\"./white/bts.svg\": 71572,\n\t\"./white/btt.svg\": 49275,\n\t\"./white/btx.svg\": 49359,\n\t\"./white/burst.svg\": 69207,\n\t\"./white/bze.svg\": 13004,\n\t\"./white/call.svg\": 64855,\n\t\"./white/cc.svg\": 6661,\n\t\"./white/cdn.svg\": 60912,\n\t\"./white/cdt.svg\": 8602,\n\t\"./white/cenz.svg\": 98223,\n\t\"./white/chain.svg\": 79014,\n\t\"./white/chat.svg\": 67605,\n\t\"./white/chips.svg\": 68144,\n\t\"./white/chsb.svg\": 47105,\n\t\"./white/chz.svg\": 57624,\n\t\"./white/cix.svg\": 78229,\n\t\"./white/clam.svg\": 10680,\n\t\"./white/cloak.svg\": 62205,\n\t\"./white/cmm.svg\": 62044,\n\t\"./white/cmt.svg\": 25445,\n\t\"./white/cnd.svg\": 9356,\n\t\"./white/cnx.svg\": 13960,\n\t\"./white/cny.svg\": 38233,\n\t\"./white/cob.svg\": 17025,\n\t\"./white/colx.svg\": 50397,\n\t\"./white/comp.svg\": 56250,\n\t\"./white/coqui.svg\": 8960,\n\t\"./white/cred.svg\": 99583,\n\t\"./white/crpt.svg\": 15752,\n\t\"./white/crv.svg\": 75746,\n\t\"./white/crw.svg\": 38387,\n\t\"./white/cs.svg\": 1333,\n\t\"./white/ctr.svg\": 99284,\n\t\"./white/ctxc.svg\": 15793,\n\t\"./white/cvc.svg\": 30091,\n\t\"./white/d.svg\": 79189,\n\t\"./white/dai.svg\": 43419,\n\t\"./white/dash.svg\": 70203,\n\t\"./white/dat.svg\": 12430,\n\t\"./white/data.svg\": 71587,\n\t\"./white/dbc.svg\": 36564,\n\t\"./white/dcn.svg\": 18741,\n\t\"./white/dcr.svg\": 73366,\n\t\"./white/deez.svg\": 90995,\n\t\"./white/dent.svg\": 59588,\n\t\"./white/dew.svg\": 54049,\n\t\"./white/dgb.svg\": 97314,\n\t\"./white/dgd.svg\": 68588,\n\t\"./white/dlt.svg\": 89773,\n\t\"./white/dnt.svg\": 26503,\n\t\"./white/dock.svg\": 69818,\n\t\"./white/doge.svg\": 6680,\n\t\"./white/dot.svg\": 28708,\n\t\"./white/drgn.svg\": 18686,\n\t\"./white/drop.svg\": 25872,\n\t\"./white/dta.svg\": 49944,\n\t\"./white/dth.svg\": 57073,\n\t\"./white/dtr.svg\": 76507,\n\t\"./white/ebst.svg\": 21487,\n\t\"./white/eca.svg\": 36412,\n\t\"./white/edg.svg\": 25103,\n\t\"./white/edo.svg\": 47687,\n\t\"./white/edoge.svg\": 26747,\n\t\"./white/ela.svg\": 83785,\n\t\"./white/elec.svg\": 51356,\n\t\"./white/elf.svg\": 40550,\n\t\"./white/elix.svg\": 20363,\n\t\"./white/ella.svg\": 8933,\n\t\"./white/emb.svg\": 73401,\n\t\"./white/emc.svg\": 8008,\n\t\"./white/emc2.svg\": 12682,\n\t\"./white/eng.svg\": 85257,\n\t\"./white/enj.svg\": 81580,\n\t\"./white/entrp.svg\": 13196,\n\t\"./white/eon.svg\": 92407,\n\t\"./white/eop.svg\": 55105,\n\t\"./white/eos.svg\": 50066,\n\t\"./white/eqli.svg\": 53344,\n\t\"./white/equa.svg\": 14247,\n\t\"./white/etc.svg\": 71123,\n\t\"./white/eth.svg\": 33720,\n\t\"./white/ethos.svg\": 61422,\n\t\"./white/etn.svg\": 73318,\n\t\"./white/etp.svg\": 33872,\n\t\"./white/eur.svg\": 72081,\n\t\"./white/evx.svg\": 86838,\n\t\"./white/exmo.svg\": 76908,\n\t\"./white/exp.svg\": 51964,\n\t\"./white/fair.svg\": 21325,\n\t\"./white/fct.svg\": 88182,\n\t\"./white/fida.svg\": 84921,\n\t\"./white/fil.svg\": 53184,\n\t\"./white/fjc.svg\": 12590,\n\t\"./white/fldc.svg\": 93598,\n\t\"./white/flo.svg\": 23124,\n\t\"./white/flux.svg\": 33402,\n\t\"./white/fsn.svg\": 59356,\n\t\"./white/ftc.svg\": 9768,\n\t\"./white/fuel.svg\": 8283,\n\t\"./white/fun.svg\": 63086,\n\t\"./white/game.svg\": 58385,\n\t\"./white/gas.svg\": 61938,\n\t\"./white/gbp.svg\": 29768,\n\t\"./white/gbx.svg\": 73008,\n\t\"./white/gbyte.svg\": 10512,\n\t\"./white/generic.svg\": 80258,\n\t\"./white/gin.svg\": 42175,\n\t\"./white/glxt.svg\": 21738,\n\t\"./white/gmr.svg\": 85983,\n\t\"./white/gmt.svg\": 13521,\n\t\"./white/gno.svg\": 69091,\n\t\"./white/gnt.svg\": 63192,\n\t\"./white/gold.svg\": 49781,\n\t\"./white/grc.svg\": 77371,\n\t\"./white/grin.svg\": 14693,\n\t\"./white/grs.svg\": 82699,\n\t\"./white/grt.svg\": 94372,\n\t\"./white/gsc.svg\": 2424,\n\t\"./white/gto.svg\": 13869,\n\t\"./white/gup.svg\": 58258,\n\t\"./white/gusd.svg\": 74502,\n\t\"./white/gvt.svg\": 41776,\n\t\"./white/gxs.svg\": 71901,\n\t\"./white/gzr.svg\": 31826,\n\t\"./white/hight.svg\": 91701,\n\t\"./white/hns.svg\": 47852,\n\t\"./white/hodl.svg\": 26564,\n\t\"./white/hot.svg\": 55440,\n\t\"./white/hpb.svg\": 1131,\n\t\"./white/hsr.svg\": 56450,\n\t\"./white/ht.svg\": 7407,\n\t\"./white/html.svg\": 70796,\n\t\"./white/huc.svg\": 70097,\n\t\"./white/husd.svg\": 93823,\n\t\"./white/hush.svg\": 46123,\n\t\"./white/icn.svg\": 49599,\n\t\"./white/icp.svg\": 46425,\n\t\"./white/icx.svg\": 47009,\n\t\"./white/ignis.svg\": 13259,\n\t\"./white/ilk.svg\": 63015,\n\t\"./white/ink.svg\": 4833,\n\t\"./white/ins.svg\": 56361,\n\t\"./white/ion.svg\": 6963,\n\t\"./white/iop.svg\": 17813,\n\t\"./white/iost.svg\": 54342,\n\t\"./white/iotx.svg\": 71507,\n\t\"./white/iq.svg\": 51409,\n\t\"./white/itc.svg\": 97783,\n\t\"./white/jnt.svg\": 21665,\n\t\"./white/jpy.svg\": 41410,\n\t\"./white/kcs.svg\": 35988,\n\t\"./white/kin.svg\": 1043,\n\t\"./white/klown.svg\": 5218,\n\t\"./white/kmd.svg\": 36173,\n\t\"./white/knc.svg\": 15019,\n\t\"./white/krb.svg\": 89478,\n\t\"./white/ksm.svg\": 83698,\n\t\"./white/lbc.svg\": 61436,\n\t\"./white/lend.svg\": 67164,\n\t\"./white/leo.svg\": 13889,\n\t\"./white/link.svg\": 14951,\n\t\"./white/lkk.svg\": 49631,\n\t\"./white/loom.svg\": 53072,\n\t\"./white/lpt.svg\": 78041,\n\t\"./white/lrc.svg\": 82668,\n\t\"./white/lsk.svg\": 54023,\n\t\"./white/ltc.svg\": 59394,\n\t\"./white/lun.svg\": 56608,\n\t\"./white/maid.svg\": 11974,\n\t\"./white/mana.svg\": 82106,\n\t\"./white/matic.svg\": 5715,\n\t\"./white/max.svg\": 44871,\n\t\"./white/mcap.svg\": 46652,\n\t\"./white/mco.svg\": 49826,\n\t\"./white/mda.svg\": 11145,\n\t\"./white/mds.svg\": 7553,\n\t\"./white/med.svg\": 38343,\n\t\"./white/meetone.svg\": 43758,\n\t\"./white/mft.svg\": 138,\n\t\"./white/miota.svg\": 12917,\n\t\"./white/mith.svg\": 30153,\n\t\"./white/mkr.svg\": 15263,\n\t\"./white/mln.svg\": 48566,\n\t\"./white/mnx.svg\": 38950,\n\t\"./white/mnz.svg\": 10212,\n\t\"./white/moac.svg\": 6907,\n\t\"./white/mod.svg\": 86757,\n\t\"./white/mona.svg\": 57004,\n\t\"./white/msr.svg\": 37431,\n\t\"./white/mth.svg\": 22672,\n\t\"./white/mtl.svg\": 87151,\n\t\"./white/music.svg\": 54288,\n\t\"./white/mzc.svg\": 92801,\n\t\"./white/nano.svg\": 3705,\n\t\"./white/nas.svg\": 70007,\n\t\"./white/nav.svg\": 5626,\n\t\"./white/ncash.svg\": 65694,\n\t\"./white/ndz.svg\": 9241,\n\t\"./white/nebl.svg\": 14058,\n\t\"./white/neo.svg\": 28039,\n\t\"./white/neos.svg\": 82134,\n\t\"./white/neu.svg\": 13965,\n\t\"./white/nexo.svg\": 53423,\n\t\"./white/ngc.svg\": 33277,\n\t\"./white/nio.svg\": 62683,\n\t\"./white/nkn.svg\": 66588,\n\t\"./white/nlc2.svg\": 70621,\n\t\"./white/nlg.svg\": 87540,\n\t\"./white/nmc.svg\": 78347,\n\t\"./white/nmr.svg\": 55178,\n\t\"./white/npxs.svg\": 96158,\n\t\"./white/ntbc.svg\": 30016,\n\t\"./white/nuls.svg\": 91983,\n\t\"./white/nxs.svg\": 82284,\n\t\"./white/nxt.svg\": 88499,\n\t\"./white/oax.svg\": 86321,\n\t\"./white/ok.svg\": 12393,\n\t\"./white/omg.svg\": 3562,\n\t\"./white/omni.svg\": 98976,\n\t\"./white/one.svg\": 28625,\n\t\"./white/ong.svg\": 75251,\n\t\"./white/ont.svg\": 38000,\n\t\"./white/oot.svg\": 22835,\n\t\"./white/ost.svg\": 44783,\n\t\"./white/ox.svg\": 28426,\n\t\"./white/oxt.svg\": 59914,\n\t\"./white/oxy.svg\": 28815,\n\t\"./white/part.svg\": 93648,\n\t\"./white/pasc.svg\": 79676,\n\t\"./white/pasl.svg\": 65563,\n\t\"./white/pax.svg\": 84270,\n\t\"./white/paxg.svg\": 1533,\n\t\"./white/pay.svg\": 22207,\n\t\"./white/payx.svg\": 62325,\n\t\"./white/pink.svg\": 20579,\n\t\"./white/pirl.svg\": 27792,\n\t\"./white/pivx.svg\": 67480,\n\t\"./white/plr.svg\": 31311,\n\t\"./white/poa.svg\": 71269,\n\t\"./white/poe.svg\": 74729,\n\t\"./white/polis.svg\": 18056,\n\t\"./white/poly.svg\": 4729,\n\t\"./white/pot.svg\": 92008,\n\t\"./white/powr.svg\": 33699,\n\t\"./white/ppc.svg\": 46050,\n\t\"./white/ppp.svg\": 40737,\n\t\"./white/ppt.svg\": 65181,\n\t\"./white/pre.svg\": 95702,\n\t\"./white/prl.svg\": 55791,\n\t\"./white/pungo.svg\": 62406,\n\t\"./white/pura.svg\": 8921,\n\t\"./white/qash.svg\": 13712,\n\t\"./white/qiwi.svg\": 12925,\n\t\"./white/qlc.svg\": 30919,\n\t\"./white/qnt.svg\": 75454,\n\t\"./white/qrl.svg\": 93842,\n\t\"./white/qsp.svg\": 56945,\n\t\"./white/qtum.svg\": 26918,\n\t\"./white/r.svg\": 54859,\n\t\"./white/rads.svg\": 77367,\n\t\"./white/rap.svg\": 92096,\n\t\"./white/ray.svg\": 82633,\n\t\"./white/rcn.svg\": 70760,\n\t\"./white/rdd.svg\": 34827,\n\t\"./white/rdn.svg\": 10065,\n\t\"./white/ren.svg\": 63314,\n\t\"./white/rep.svg\": 71588,\n\t\"./white/repv2.svg\": 64204,\n\t\"./white/req.svg\": 22757,\n\t\"./white/rhoc.svg\": 48295,\n\t\"./white/ric.svg\": 76907,\n\t\"./white/rise.svg\": 54028,\n\t\"./white/rlc.svg\": 12044,\n\t\"./white/rpx.svg\": 11403,\n\t\"./white/rub.svg\": 51366,\n\t\"./white/rvn.svg\": 54155,\n\t\"./white/ryo.svg\": 73199,\n\t\"./white/safe.svg\": 90876,\n\t\"./white/safemoon.svg\": 4647,\n\t\"./white/sai.svg\": 50476,\n\t\"./white/salt.svg\": 59583,\n\t\"./white/san.svg\": 34515,\n\t\"./white/sand.svg\": 7061,\n\t\"./white/sbd.svg\": 18448,\n\t\"./white/sberbank.svg\": 26771,\n\t\"./white/sc.svg\": 72021,\n\t\"./white/ser.svg\": 11555,\n\t\"./white/shift.svg\": 90193,\n\t\"./white/sib.svg\": 44719,\n\t\"./white/sin.svg\": 67931,\n\t\"./white/skl.svg\": 90483,\n\t\"./white/sky.svg\": 50270,\n\t\"./white/slr.svg\": 17388,\n\t\"./white/sls.svg\": 97101,\n\t\"./white/smart.svg\": 37882,\n\t\"./white/sngls.svg\": 81432,\n\t\"./white/snm.svg\": 90901,\n\t\"./white/snt.svg\": 51596,\n\t\"./white/snx.svg\": 44088,\n\t\"./white/soc.svg\": 82944,\n\t\"./white/sol.svg\": 58423,\n\t\"./white/spacehbit.svg\": 91002,\n\t\"./white/spank.svg\": 12046,\n\t\"./white/sphtx.svg\": 5638,\n\t\"./white/srn.svg\": 57146,\n\t\"./white/stak.svg\": 45550,\n\t\"./white/start.svg\": 92249,\n\t\"./white/steem.svg\": 76977,\n\t\"./white/storj.svg\": 53673,\n\t\"./white/storm.svg\": 84262,\n\t\"./white/stox.svg\": 19483,\n\t\"./white/stq.svg\": 80055,\n\t\"./white/strat.svg\": 5387,\n\t\"./white/stx.svg\": 49934,\n\t\"./white/sub.svg\": 36387,\n\t\"./white/sumo.svg\": 24667,\n\t\"./white/sushi.svg\": 35219,\n\t\"./white/sys.svg\": 69598,\n\t\"./white/taas.svg\": 33306,\n\t\"./white/tau.svg\": 29647,\n\t\"./white/tbx.svg\": 83535,\n\t\"./white/tel.svg\": 94730,\n\t\"./white/ten.svg\": 20712,\n\t\"./white/tern.svg\": 27394,\n\t\"./white/tgch.svg\": 90353,\n\t\"./white/theta.svg\": 61005,\n\t\"./white/tix.svg\": 7298,\n\t\"./white/tkn.svg\": 28266,\n\t\"./white/tks.svg\": 15487,\n\t\"./white/tnb.svg\": 76441,\n\t\"./white/tnc.svg\": 11048,\n\t\"./white/tnt.svg\": 5559,\n\t\"./white/tomo.svg\": 13904,\n\t\"./white/tpay.svg\": 74173,\n\t\"./white/trig.svg\": 72813,\n\t\"./white/trtl.svg\": 27637,\n\t\"./white/trx.svg\": 95839,\n\t\"./white/tusd.svg\": 7179,\n\t\"./white/tzc.svg\": 68668,\n\t\"./white/ubq.svg\": 62003,\n\t\"./white/uma.svg\": 84794,\n\t\"./white/uni.svg\": 78479,\n\t\"./white/unity.svg\": 58938,\n\t\"./white/usd.svg\": 92545,\n\t\"./white/usdc.svg\": 36384,\n\t\"./white/usdt.svg\": 36975,\n\t\"./white/utk.svg\": 21147,\n\t\"./white/veri.svg\": 4799,\n\t\"./white/vet.svg\": 99604,\n\t\"./white/via.svg\": 23157,\n\t\"./white/vib.svg\": 81910,\n\t\"./white/vibe.svg\": 76775,\n\t\"./white/vivo.svg\": 417,\n\t\"./white/vrc.svg\": 85270,\n\t\"./white/vrsc.svg\": 5609,\n\t\"./white/vtc.svg\": 62936,\n\t\"./white/vtho.svg\": 17886,\n\t\"./white/wabi.svg\": 73568,\n\t\"./white/wan.svg\": 88711,\n\t\"./white/waves.svg\": 54595,\n\t\"./white/wax.svg\": 58121,\n\t\"./white/wbtc.svg\": 6719,\n\t\"./white/wgr.svg\": 51981,\n\t\"./white/wicc.svg\": 12965,\n\t\"./white/wings.svg\": 47725,\n\t\"./white/wpr.svg\": 74612,\n\t\"./white/wtc.svg\": 28345,\n\t\"./white/x.svg\": 46449,\n\t\"./white/xas.svg\": 38061,\n\t\"./white/xbc.svg\": 4672,\n\t\"./white/xbp.svg\": 90083,\n\t\"./white/xby.svg\": 22698,\n\t\"./white/xcp.svg\": 14048,\n\t\"./white/xdn.svg\": 96443,\n\t\"./white/xem.svg\": 92631,\n\t\"./white/xin.svg\": 7936,\n\t\"./white/xlm.svg\": 85344,\n\t\"./white/xmcc.svg\": 60424,\n\t\"./white/xmg.svg\": 49621,\n\t\"./white/xmo.svg\": 13085,\n\t\"./white/xmr.svg\": 57720,\n\t\"./white/xmy.svg\": 15475,\n\t\"./white/xp.svg\": 81747,\n\t\"./white/xpa.svg\": 38632,\n\t\"./white/xpm.svg\": 9852,\n\t\"./white/xpr.svg\": 33585,\n\t\"./white/xrp.svg\": 31923,\n\t\"./white/xsg.svg\": 40799,\n\t\"./white/xtz.svg\": 17991,\n\t\"./white/xuc.svg\": 47809,\n\t\"./white/xvc.svg\": 47540,\n\t\"./white/xvg.svg\": 97800,\n\t\"./white/xzc.svg\": 86712,\n\t\"./white/yfi.svg\": 8027,\n\t\"./white/yoyow.svg\": 27238,\n\t\"./white/zcl.svg\": 69186,\n\t\"./white/zec.svg\": 29871,\n\t\"./white/zel.svg\": 63272,\n\t\"./white/zen.svg\": 53642,\n\t\"./white/zest.svg\": 99297,\n\t\"./white/zil.svg\": 7860,\n\t\"./white/zilla.svg\": 55273,\n\t\"./white/zrx.svg\": 92617\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 71157;","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 53926,\n\t\"./bo.js\": 53926,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 74858,\n\t\"./fo.js\": 74858,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 15764,\n\t\"./gom-latn.js\": 15764,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 56093,\n\t\"./ky.js\": 56093,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 96120,\n\t\"./ml.js\": 96120,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 46838,\n\t\"./ro.js\": 46838,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;"],"names":["channels","require","context","keys","forEach","WidgetConfig","getBlockchainInfo","tag","chainId","network","name","family","platform","currency","icon","eap","innovation","blockProducerName","start","Date","parse","streaming","use_eap","getBlockchainMap","reduce","map","blockchain","getProperty","property","getNetwork","getCurrency","getBlockProducerName","getName","BootstrapTableComponent","constructor","element","historyDataSource","subscriptionDataSource","container","config","configuration","createWrapper","createTable","theadCreated","theme","setTheme","clearData","tbody","textContent","wrapper","createElementWithClasses","appendChild","tableElement","style","fontSize","tableLayout","options","createTbody","createThead","data","thead","position","background","color","zIndex","tr","headerStyle","columns","th","setAttribute","padding","fontWeight","Object","assign","init","widgetFrame","setCallback","onHistoryData","bind","onSubscriptionData","setupShowMoreButton","variables","title","getTitle","topElement","length","children","removeChild","firstChild","rows","composeRows","row","appendChildren","maxRows","index","insertBefore","childElementCount","lastChild","rowData","Promise","all","column","td","borderTop","textCell","cellValue","cell","rendering","div","replaceChild","cellStyle","classList","add","remove","id","divTitle","document","querySelector","textNode","createTextNode","elementType","classes","createElement","parent","child","BootstrapCardComponent","array","cardElement","createCardElement","cardWrapper","minWidth","borderRadius","overflow","transition","addEventListener","transform","cardImg","cardTable","createCardSections","image","imgElement","cardBody","td1","textCell1","td2","textCell2","tables","querySelectorAll","table","GraphsComponent","data2","nodes","edges","initCheckboxes","addresses","Set","pair","pairs","checkbox","getElementById","checkboxId","EVM","display","disabled","checked","Call","Signature","SignatureHash","fromValue","from","toValue","to","edgeLabel","edgeLabelFormatted","has","push","label","shortenText","url","trim","amount","parseFloat","checkboxLabel","type","toLowerCase","replace","font","align","smooth","value","vis","Network","getOptions","initNetworkEvents","on","properties","nodeId","edgeId","node","find","window","open","edge","error","displayError","message","updateGraph","body","update","hidden","setOptions","physics","params","updatedNode","get","tooltip","border","nodePosition","getPositions","canvasDOMPosition","canvasToDOM","rect","getBoundingClientRect","x","left","scrollX","y","top","scrollY","innerHTML","text","maxCharCount","substr","autoResize","height","width","interaction","hover","enabled","barnesHut","gravitationalConstant","centralGravity","springLength","springConstant","arrows","scaling","customScalingFunction","min","max","total","scale","Math","errorDiv","TradingGraphsComponent","lastBar","lastData","widget","interval","getInterval","onHistoryCallback","undefined","onRealtimeCallback","periodParams","minuteIntervals","initWidget","configurationData","supports_marks","supports_timescale_marks","supports_time","supported_resolutions","TradingView","locale","symbol","disabled_features","fullscreen","autosize","debug","library_path","time_frames","resolution","description","datafeed","onReady","callback","setTimeout","resolveSymbol","symbolName","onSymbolResolvedCallback","onResolveErrorCallback","extension","symbolInfo","session","timezone","has_intraday","has_seconds","has_daily","has_ticks","minmov","pricescale","has_empty_bars","data_status","getBars","onErrorCallback","firstDataRequest","till","toISOString","slice","tillDate","minutesInterval","getIntervalInMinutes","getFullYear","getMonth","floor","getDate","deltaVariables","limit","changeVariables","noData","subscribeBars","subscriberUID","onResetCacheNeededCallback","unsubscribeBars","compatibleData","composeBars","at","composedBars","newBar","bar","getNextBar","console","log","switchButton","streamControlButton","mempoolControlButton","getMempoolButton","parentElement","isNaN","time","close","high","low","volume","tradeBlock","sort","a","b","Block","Time","getTime","resultData","i","previousClose","Trade","BootstrapVerticalTableComponent","th1","columnTitle1","th2","columnTitle2","aggregatedRows","Map","set","values","finalValue","resolveMultipleValues","styleKey","aggregate","TimeChartComponent","parentTextColor","getComputedStyle","getPropertyValue","darkTheme","fontName","titleTextStyle","backgroundColor","hAxis","textStyle","vAxis","legend","annotations","series","drawChart","dataArray","dataToVizualize","annotation","k","columnName","nameIndex","findIndex","el","currentIndex","unshift","dataTable","google","visualization","arrayToDataTable","chart","ColumnChart","draw","charts","load","packages","setOnLoadCallback","titleContent","test","BarChartComponent","BarChart","PieChartComponent","pieSliceTextStyle","PieChart","TreeComponent","scrollBehavior","margin","expandButton","expandAll","collapseButton","collapseAll","buttonContainer","dataTree","buildTree","tree","createTree","evmData","lastParentNodes","Calls","call","newNode","signature","returns","Returns","arguments","Arguments","parentArray","Depth","eventForCall","Events","Log","Index","filter","event","eventNode","Transfers","transferForCall","transfer","transferNode","dataTransfer","Transfer","isRoot","counter","ul","item","li","details","summary","iconElement","openingDiv","closingDiv","pathName","contentDiv","boxShadow","createIcon","Gas","method","renderMethodLink","Name","hash","callArgumentsDiv","callArgumentsPathDiv","block","argName","getValueFromType","Path","Type","comma","senderDiv","receiverDiv","iconSenderReceiver","sender","renderJustAddressLink","Sender","receiver","Receiver","amountDiv","renderNumbers","Amount","Currency","Symbol","fromToDiv","From","To","gas","gasUsed","GasUsed","CallerIndex","returnContent","gap","childUl","append","hasChildNodes","startsWith","Value","address","bigInteger","integer","renderBytes32","hex","bool","string","span","link","href","cssText","stringData","toString","formattedData","LineChartComponent","slantedText","slantedTextAngle","gridlines","count","showTextEvery","LineChart","isNotEmptyArray","subj","Array","isArray","isNotEmptyObject","SubscriptionDataSource","token","payload","cleanSubscription","callbacks","widgetFrames","mempoolShow","mempool","subscribe","currentUrl","endpoint_url","tokenForStreaming","client","createClient","connectionParams","headers","Authorization","alive","query","next","cb","onqueryend","wf","onerror","unsubscribe","complete","setWidgetFrame","HistoryDataSource","getNewData","onquerystarted","getData","increaseLimit","getBaseClass","targetClass","discoverFunctions","prop","some","serialize","Function","baseClass","newBaseClass","getPrototypeOf","getAPIButton","queryID","subscriptionQueryID","dataset","active","createHiddenField","input","currentTabElement","currentTab","location","networkPattern","match","form","bitqueryAPI","JSON","stringify","encodeURIComponent","submit","increaseLimitButton","mempoolStreamControl","e","currentButton","currentTarget","nextButton","nextSibling","prevButton","previousSibling","blinkerWrapper","streamControl","prevPrevButton","switchDataset","nextNextButton","getQueryParams","response","fetch","json","Accept","credentials","status","Error","errors","createWidgetFrame","selector","historyQueryID","createBadge","additionalClasses","button","split","tableFooter","showMoreButton","justifyContent","componentContainer","widgetHeader","col8","getHistoryAPIButton","cursor","loader","blink","flex","f","onloadmetadata","queryMetaData","existingOverlays","overlay","className","requestAnimationFrame","progressBar","progress","startTime","now","duration","updateProgress","elapsedTime","remainingTime","progressSpeed","overlays","errorContainer","errorText","frame","getAPIMempoolButton","renderComponent","components","explorerVariables","subscriptionQueryParams","historyQueryParams","rawVariables","subscriptionPayload","historyPayload","component","ComponentConstructor","componentSelector","componentObject","onclick","renderImgFromURI","uri","createContainer","preprocessURI","fetchMediaURL","mediaURL","nameMedia","image_url","image_data","base64Data","atob","createButton","stopPropagation","createImageElement","src","img","objectFit","createVideoElement","video","source","endsWith","controls","appendMediaElement","preprocessedURI","mediaElement","handleFetchError","renderTokenLink","maxWidth","smartContract","elem","renderDate","sub","renderTX","str","renderIdLink","renderDexProtocolLink","ProtocolFamily","ProtocolVersion","ProtocolName","renderBlockLink","renderSenderRecieverIcon","renderPairLink","whiteSpace","textOverflow","buyCurrencySymbol","buyCurrencySC","sellCurrencySymbol","sellCurrencySC","formatNumberMix","numberFix","number","effectiveFix","abs","significantDigits","leadingZeros","log10","units","unitIndex","fixedNumber","toFixed","includes","integerPart","decimalPart","zerosMatch","zerosCount","significantPart","renderNumbersWithCurrency","spanCurrency","renderNumbersWithCurrencySymbol","renderEventLink","renderNumberWithUSD","usd","usdDiv","isAmountSmall","isUsdSmall","shouldShowInfoIcon","infoIcon","ComboChartComponent","seriesType","minValue","ComboChart","renderProgressBar","progressContainer","progressText","opacity","isSuccess","textAlign","$","global","jQuery","rr","vegaLite","barWidgetRenderer","pieWidgetRenderer","timeChartRenderer","tableWidgetRenderer","tradingViewrenderer","createChart","ClipboardJS","moment","renderStatus","widgetRenderer","m","escapeHtml","unsafe","ready","it","attr","getValueFrom","o","s","n","dataSourceWidget","displayed_data","setupData","fetcher","createWidget","widgetType","container_id","argsReplace","transferURL","transfers","token_dex_trades","pair_dex_trades","dataFunction","sell","displayedData","tabulatorFooter","defaultTableConfig","layout","rowFormatter","getPosition","getElement","headerSort","footerElement","tableConfig","field","widthGrow","formatter","getValue","formatterParams","origin","hozAlign","headerHozAlign","getRow","getCell","arg","сlient","shouldRetry","ds","tableLength","filteredData","currentData","newData","replaceData","reportRange","i18n","end","ranges","cbs","cancel","click","his","html","all_time","set_reportrange","format","today","yesterday","subtract","last7","last30","this_month","startOf","endOf","last_month","daterangepicker","showDropdowns","minYear","maxYear","parseInt","startDate","endDate","maxDate","opens","linkedCalendars","cancelLabel","clear","applyLabel","apply","customRangeLabel","custom_range","ev","picker","addClass","removeClass","first","changeUrl","each","up","urlParams","param","search","setStartDate","setEndDate","change","_isValid","trigger","endToParam","clear_date","pathname","_","merge","history","pushState","is_find","keyup","parents","sanitized_value","val","net","btn","append_network","appendTo","paramsArray","decodeURIComponent","urlParamsToArray","obj","p","v","dateRangeReportFormat","networksLimitedDates","tillp","indexOf","queryWithTimeRange","dateFormat","offset","request","renderWithTime","middleDate","date_middle","resultVariables","TabulatorFull","Tabulator","cfg"],"sourceRoot":""}