diff --git a/basicswap/static/js/libs/tv.js b/basicswap/static/js/libs/tv.js
index a5c7e97..b7076a1 100644
--- a/basicswap/static/js/libs/tv.js
+++ b/basicswap/static/js/libs/tv.js
@@ -1 +1,1099 @@
-"use strict";!function(){if(!window.TradingView||!window.TradingView.host||window.TradingView.reoloadTvjs){var e,t,o,i,n,r,s,a={"color-gull-gray":"#9db2bd","color-brand":"#2962FF","color-brand-hover":"#1E53E5","color-brand-active":"#1848CC"},d="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif",l={host:null==window.location.host.match(/tradingview\.com|pyrrosinvestment\.com/i)?"https://s.tradingview.com":"https://www.tradingview.com",ideasHost:"https://www.tradingview.com",chatHost:"https://www.tradingview.com",widgetHost:"https://www.tradingview-widget.com",getHost:function(e){return e.useWidgetHost?l.widgetHost:l.host},embedStylesForCopyright:function(){var e=document.createElement("style");return e.innerHTML=".tradingview-widget-copyright {font-size: 13px !important; line-height: 32px !important; text-align: center !important; vertical-align: middle !important; font-family: "+d+" !important; color: "+a["color-gull-gray"]+" !important;} .tradingview-widget-copyright .blue-text {color: "+a["color-brand"]+" !important;} .tradingview-widget-copyright a {text-decoration: none !important; color: "+a["color-gull-gray"]+" !important;} .tradingview-widget-copyright a:visited {color: "+a["color-gull-gray"]+" !important;} .tradingview-widget-copyright a:hover .blue-text {color: "+a["color-brand-hover"]+" !important;} .tradingview-widget-copyright a:active .blue-text {color: "+a["color-brand-active"]+" !important;} .tradingview-widget-copyright a:visited .blue-text {color: "+a["color-brand"]+" !important;}",e},embedStylesForFullHeight:function(e,t,o){var i=t?"calc("+e+" - 32px)":e,n=document.querySelector("#"+o);n.parentElement.style.height=i,n.style.height="100%"},gId:function(){return"tradingview_"+(1048576*(1+Math.random())|0).toString(16).substring(1)},isPersentHeight:function(e){return"%"===e},getSuffix:function(e){var t=e.toString().match(/(%|px|em|ex)/);return t?t[0]:"px"},hasCopyright:function(e){var t=document.getElementById(e),o=t&&t.parentElement;return!!o&&!!o.querySelector(".tradingview-widget-copyright")},calculateWidgetHeight:function(e,t){var o=parseInt(e),i=this.getSuffix(e),n=this.isPersentHeight(i),r=t&&this.hasCopyright(t);return n&&t&&(this.embedStylesForFullHeight(o+i,r,t),r)?100+i:r?"calc("+o+i+" - 32px)":o+i},onready:function(e){window.addEventListener?window.addEventListener("DOMContentLoaded",e,!1):window.attachEvent("onload",e)},css:function(e){var t,o=document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",i.styleSheet?i.styleSheet.cssText=e:(t=document.createTextNode(e),i.appendChild(t)),o.appendChild(i)},bindEvent:function(e,t,o){e.addEventListener?e.addEventListener(t,o,!1):e.attachEvent&&e.attachEvent("on"+t,o)},unbindEvent:function(e,t,o){e.removeEventListener?e.removeEventListener(t,o,!1):e.detachEvent&&e.detachEvent("on"+t,o)},cloneSimpleObject:function(e){if(null==e||"object"!=typeof e)return e;var t=e.constructor();for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);return t},isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},isMobileDevice:(e={Android:/Android/i.test(navigator.userAgent),BlackBerry:/BlackBerry/i.test(navigator.userAgent),iOS:/iPhone|iPad|iPod/i.test(navigator.userAgent),Opera:/Opera Mini/i.test(navigator.userAgent)},e.any=e.Android||e.BlackBerry||e.iOS||e.Opera,e),generateUtmForUrlParams:function(e){return"utm_source="+encodeURI(window.location.hostname)+"&utm_medium="+(l.hasCopyright(e.container)?"widget_new":"widget")+(e.type?"&utm_campaign="+e.type:"")+(e.type&&"chart"===e.type?"&utm_term="+encodeURIComponent(e.symbol):"")},WidgetAbstract:function(){},MiniWidget:function(e){this.id=l.gId(),this.options={whitelabel:e.whitelabel||"",width:l.WidgetAbstract.prototype.fixSize(e.width)||300,height:l.WidgetAbstract.prototype.fixSize(e.height)||400,symbols:e.symbols,tabs:e.tabs||"",symbols_description:e.symbols_description||"",customer:e.customer||"",container:e.container_id||"",greyText:e.greyText||"",large_chart_url:e.large_chart_url||"",large_chart_target:e.large_chart_target||"",gridLineColor:e.gridLineColor||"",fontColor:e.fontColor||"",underLineColor:e.underLineColor||"",underLineBottomColor:e.underLineBottomColor||"",trendLineColor:e.trendLineColor||"",timeAxisBackgroundColor:e.timeAxisBackgroundColor||"",activeTickerBackgroundColor:e.activeTickerBackgroundColor||"",noGraph:e.noGraph||!1,locale:e.locale,styleTickerActiveBg:e.styleTickerActiveBg||"",styleTabActiveBorderColor:e.styleTabActiveBorderColor||"",styleTickerBodyFontSize:e.styleTickerBodyFontSize||"",styleTickerBodyFontWeight:e.styleTickerBodyFontWeight||"",styleTickerHeadFontSize:e.styleTickerHeadFontSize||"",styleTickerHeadFontWeight:e.styleTickerHeadFontWeight||"",styleTickerChangeDownColor:e.styleTickerChangeDownColor||"",styleTickerChangeUpColor:e.styleTickerChangeUpColor||"",styleTickerLastDownBg:e.styleTickerLastDownBg||"",styleTickerLastUpBg:e.styleTickerLastUpBg||"",styleTickerSymbolColor:e.styleTickerSymbolColor||"",styleTickerSymbolHoverTextDecoration:e.styleTickerSymbolHoverTextDecoration||"",styleTickerActiveSymbolTextDecoration:e.styleTickerActiveSymbolTextDecoration||"",styleTabsActiveBorderColor:e.styleTabsActiveBorderColor||"",styleTabsNoBorder:e.styleTabsNoBorder||"",styleWidgetNoBorder:e.styleWidgetNoBorder||"",useWidgetHost:Boolean(e.useWidgetHost)},this.createWidget()},MediumWidget:function(e){this.id=l.gId();const t=l.calculateWidgetHeight(e.height||400,e.container_id);let o;switch(e.chartType){case"candlesticks":{const{chartType:t,upColor:i,downColor:n,borderUpColor:r,borderDownColor:s,wickUpColor:a,wickDownColor:d}=e;o={chartType:t,upColor:i,downColor:n,borderUpColor:r,borderDownColor:s,wickUpColor:a,wickDownColor:d};break}case"bars":{const{chartType:t,upColor:i,downColor:n}=e;o={chartType:t,upColor:i,downColor:n};break}case"line":{const{chartType:t,color:i,lineWidth:n}=e;o={chartType:t,color:i,lineWidth:n};break}case"area":default:{const{chartType:t="area",lineColor:i=e.trendLineColor||"",topColor:n=e.underLineColor||"",bottomColor:r=e.underLineBottomColor||"",lineWidth:s}=e;o={chartType:t,lineColor:i,topColor:n,bottomColor:r,lineWidth:s};break}}this.options={container:e.container_id||"",width:l.WidgetAbstract.prototype.fixSize(e.width)||"",height:l.WidgetAbstract.prototype.fixSize(t)||"",symbols:e.symbols,greyText:e.greyText||"",symbols_description:e.symbols_description||"",large_chart_url:e.large_chart_url||"",customer:e.customer||"",gridLineColor:e.gridLineColor||"",fontColor:e.fontColor||"",timeAxisBackgroundColor:e.timeAxisBackgroundColor||"",chartOnly:!!e.chartOnly,locale:e.locale,whitelabel:!!e.whitelabel||"",colorTheme:e.colorTheme,isTransparent:e.isTransparent,useWidgetHost:Boolean(e.useWidgetHost),showFloatingTooltip:e.showFloatingTooltip,valuesTracking:e.valuesTracking,showVolume:e.showVolume,volumeUpColor:e.volumeUpColor,volumeDownColor:e.volumeDownColor,hideDateRanges:e.hideDateRanges,scalePosition:e.scalePosition,scaleMode:e.scaleMode,fontFamily:e.fontFamily,noTimeScale:e.noTimeScale,...o},this.createWidget()},widget:function(e){this.id=e.id||l.gId();var t=l.getUrlParams(),o=e.tvwidgetsymbol||t.tvwidgetsymbol||t.symbol||e.symbol||"NASDAQ:AAPL",i=e.logo||"";i.src&&(i=i.src),i&&i.replace(".png","");var n=l.calculateWidgetHeight(e.height||500,e.container_id);this.options={whitelabel:e.whitelabel||"",width:e.width||800,height:n,symbol:o,interval:e.interval||"1",range:e.range||"",timezone:e.timezone||"",autosize:e.autosize,hide_top_toolbar:e.hide_top_toolbar,hide_side_toolbar:e.hide_side_toolbar,hide_legend:e.hide_legend,allow_symbol_change:e.allow_symbol_change,save_image:void 0===e.save_image||e.save_image,container:e.container_id||"",toolbar_bg:e.toolbar_bg||"f4f7f9",watchlist:e.watchlist||[],editablewatchlist:!!e.editablewatchlist,studies:e.studies||[],theme:e.theme||"",style:e.style||"",extended_hours:void 0===e.extended_hours?void 0:+e.extended_hours,details:!!e.details,calendar:!!e.calendar,hotlist:!!e.hotlist,hideideas:!!e.hideideas,hideideasbutton:!!e.hideideasbutton,widgetbar_width:+e.widgetbar_width||void 0,withdateranges:e.withdateranges||"",customer:e.customer||i||"",venue:e.venue,symbology:e.symbology,logo:i,show_popup_button:!!e.show_popup_button,popup_height:e.popup_height||"",popup_width:e.popup_width||"",studies_overrides:e.studies_overrides,overrides:e.overrides,enabled_features:e.enabled_features,disabled_features:e.disabled_features,publish_source:e.publish_source||"",enable_publishing:e.enable_publishing,whotrades:e.whotrades||void 0,locale:e.locale,referral_id:e.referral_id,no_referral_id:e.no_referral_id,fundamental:e.fundamental,percentage:e.percentage,hidevolume:e.hidevolume,padding:e.padding,greyText:e.greyText||"",horztouchdrag:e.horztouchdrag,verttouchdrag:e.verttouchdrag,useWidgetHost:Boolean(e.useWidgetHost)},e.cme&&(this.options.customer="cme"),isFinite(e.widgetbar_width)&&e.widgetbar_width>0&&(this.options.widgetbar_width=e.widgetbar_width),this._ready_handlers=[],this.create()},chart:function(e){this.id=l.gId(),this.options={width:e.width||640,height:e.height||500,container:e.container_id||"",realtime:e.realtime,chart:e.chart,locale:e.locale,type:"chart",autosize:e.autosize,mobileStatic:e.mobileStatic},this._ready_handlers=[],this.create()},stream:function(e){this.id=l.gId(),this.options={width:e.width||640,height:e.height||500,container:e.container_id||"",stream:e.stream,locale:e.locale,autosize:e.autosize},this.create()},EventsWidget:function(e){this.id=l.gId(),this.options={container:e.container_id||"",width:e.width||486,height:e.height||670,currency:e.currencyFilter||"",importance:e.importanceFilter||"",type:"economic-calendar"},this.createWidget(e)},IdeasStreamWidget:function(e){this.id=l.gId(),this.options={container:e.container_id||"",width:e.width||486,height:e.height||670,symbol:e.symbol||"",username:e.username||"",mode:e.mode||"",publishSource:e.publishSource||"",sort:e.sort||"trending",stream:e.stream,waitSymbol:e.waitSymbol,hideDescription:e.hideDescription,startingCount:e.startingCount,bgColor:e.bgColor||"",headerColor:e.headerColor||"",borderColor:e.borderColor||"",locale:e.locale,type:"ideas-stream",useWidgetHost:Boolean(e.useWidgetHost)},this._ready_handlers=[],this.createWidget()},IdeaWidget:function(e){this.id=l.gId(),this.options={container:e.container_id||"",width:e.width||486,height:e.height||670,idea:e.idea||"",chartUrl:e.chartUrl||"",whotrades:e.whotrades||void 0,locale:e.locale,type:"idea"},this.createWidget(e)},ChatWidgetEmbed:function(e){this.id=l.gId(),this.options={container:e.container_id||"",width:e.width||400,height:e.height||500,room:e.room||"",whotrades:e.whotrades||void 0,locale:e.locale,type:"chat-embed"},this.createWidget(e)}};l.WidgetAbstract.prototype={fixSize:function(e){return/^[0-9]+(\.|,[0-9])*$/.test(e)?e+"px":e},width:function(){return this.options.autosize?"100%":l.WidgetAbstract.prototype.fixSize(this.options.width)},height:function(){return this.options.autosize?"100%":l.WidgetAbstract.prototype.fixSize(this.options.height)},addWrapperFrame:function(e,t,o){var i=l.WidgetAbstract.prototype.height.call(this),n=l.WidgetAbstract.prototype.width.call(this);o=o||"transparent";return'
"},addFooterLogo:function(e,t){var o=(t||{}).greyText||"powered by",i=(t||{}).linkText||"tradingview.com",n=(t||{}).href||"https://www.tradingview.com/";return l.WidgetAbstract.prototype.addWrapperFrame.call(this,e,'","#fff")}},l.ChatWidgetEmbed.prototype={createWidget:function(){var e=this.widgetCode();e=l.WidgetAbstract.prototype.addFooterLogo.call(this,e),h(e,this.options.container)},widgetCode:function(){var e=this.options.room?"#"+encodeURIComponent(this.options.room):"",t="&"+l.createUrlParams({whotrades:this.options.whotrades,locale:this.options.locale}),o=l.generateUtmForUrlParams(this.options,{type:"UserInfoWidget"});return''}},l.IdeaWidget.prototype={createWidget:function(){var e=this.widgetCode();h(e,this.options.container);var t=this,o=document.getElementById(this.id);this.postMessage=l.postMessageWrapper(o.contentWindow,this.id),this.postMessage.on("resize",(function(e){e.id===t.id&&(o.style.height=e.height+"px")}),!0)},widgetCode:function(){var e=l.createUrlParams({id:this.id,width:this.options.width,height:this.options.height,idea:this.options.idea,chart_url:this.options.chartUrl,whotrades:this.options.whotrades,locale:this.options.locale});this.options.type="idea";var t="&"+l.generateUtmForUrlParams(this.options),o=l.ideasHost+"/idea-popup/?"+e+t;return''},getSymbol:function(e){this.postMessage.on("symbolInfo",e)}},l.EventsWidget.prototype={createWidget:function(){var e=this.widgetCode();h(e,this.options.container)},widgetCode:function(){var e=l.createUrlParams({currency:this.options.currency,importance:this.options.importance});this.options.type="events";var t="&"+l.generateUtmForUrlParams(this.options);return''}},l.IdeasStreamWidget.prototype={createWidget:function(){var e=this.widgetCode();h(e,this.options.container);var t=this,o=document.getElementById(this.id);this.postMessage=l.postMessageWrapper(o.contentWindow,this.id),l.bindEvent(o,"load",(function(){t._ready=!0;for(var e=t._ready_handlers.length;e--;)t._ready_handlers[e].call(t)})),t.postMessage.on("resize",(function(e){if(e.id===t.id){var i=Math.max(e.height,450);o.style.height=i+"px"}}),!0)},widgetCode:function(){var e=this.options,t=l.createUrlParams({id:this.id,width:e.width,height:e.height,symbol:e.symbol,username:e.username,mode:e.mode,publish_source:e.publishSource,sort:e.sort,stream:e.stream,wait_symbol:e.waitSymbol,hide_desc:e.hideDescription,s_count:e.startingCount,bg_color:e.bgColor,h_color:e.headerColor,borderColor:e.borderColor,locale:e.locale,useWidgetHost:Boolean(e.useWidgetHost)}),o=l.generateUtmForUrlParams(this.options)+"&",i=l.getHost(e)+"/ideaswidgetembed/?"+o+t;return''},setSymbol:function(e){var t=document.getElementById(this.id);this.postMessage.post(t.contentWindow,"setSymbol",e)},ready:function(e){this._ready?e.call(this):this._ready_handlers.push(e)}},l.MiniWidget.prototype={createWidget:function(){var e=this.widgetCode(),t=this.options;if(!t.noLogoOverlay&&!t.whitelabel){var o=this.options.greyText||"Quotes by";e=l.WidgetAbstract.prototype.addFooterLogo.call(this,e,{greyText:o,linkText:"TradingView"})}h(e,t.container)},widgetCode:function(){var e="",t="",o="",i="/miniwidgetembed/",n=this.options.width?"&width="+encodeURIComponent(this.options.width):"",r=this.options.height?"&height="+encodeURIComponent(this.options.height):"",s=this.options.noGraph?"&noGraph="+encodeURIComponent(this.options.noGraph):"",a=this.options.locale?"&locale="+encodeURIComponent(this.options.locale):"",d=this.options.whitelabel?"&whitelabel=1":"";this.options.type="market-overview";for(var h="&"+l.generateUtmForUrlParams(this.options),c=["large_chart_url","large_chart_target","gridLineColor","fontColor","underLineColor","underLineBottomColor","trendLineColor","activeTickerBackgroundColor","timeAxisBackgroundColor","locale","styleTickerActiveBg","styleTabActiveBorderColor","styleTickerBodyFontSize","styleTickerBodyFontWeight","styleTickerHeadFontSize","styleTickerHeadFontWeight","styleTickerChangeDownColor","styleTickerChangeUpColor","styleTickerLastDownBg","styleTickerLastUpBg","styleTickerSymbolColor","styleTickerSymbolHoverTextDecoration","styleTickerActiveSymbolTextDecoration","styleTabsActiveBorderColor","styleTabsNoBorder","styleWidgetNoBorder"],p="",g=c.length-1;g>=0;g--){var m=c[g],u=this.options[m];p+=u?"&"+m+"="+encodeURIComponent(u):""}var y=function(e){for(var t=[],i=0;i'},remove:function(){var e=document.getElementById("tradingview_widget");e.parentNode.removeChild(e)}},l.MediumWidget.prototype={createWidget:function(){var e=this.widgetCode();h(e,this.options.container)},widgetCode:function(){var e="",t="symbols="+function(t){for(var o=[],i=0;i=0;d--){var h=s[d],c=this.options[h];a+=c?"&"+h+"="+encodeURIComponent(c):""}var p=this.options.chartOnly?"&chartOnly=1":"",g=this.options.whitelabel?"&whitelabel=1":"",m=this.options.isTransparent?"&isTransparent=1":"",u=this.options.showFloatingTooltip?"&showFloatingTooltip=1":"",y=this.options.showVolume?"&showVolume=1":"",w=this.options.hideDateRanges?"&hideDateRanges=1":"",b="/mediumwidgetembed/";this.options.customer&&(b="/"+this.options.customer+b);var f=l.getHost(this.options)+b+"?"+t+e+a+p+g+o+i+n+m+r+u+y+w;return''},remove:function(){var e=document.getElementById("tradingview_widget");e.parentNode.removeChild(e)}},l.widget.prototype={create:function(){this.options.type=this.options.fundamental?"fundamental":"chart";var e=this.render(),t=this;this.options.noLogoOverlay||(e=l.WidgetAbstract.prototype.addWrapperFrame.call(this,e)),h(e,this.options.container);var o=document.getElementById("tradingview-copyright");o&&o.parentElement&&o.parentElement.removeChild(o),this.iframe=document.getElementById(this.id),this.postMessage=l.postMessageWrapper(this.iframe.contentWindow,this.id),l.bindEvent(this.iframe,"load",(function(){t.postMessage.get("widgetReady",{},(function(){var e;for(t._ready=!0,e=t._ready_handlers.length;e--;)t._ready_handlers[e].call(t)}))})),t.postMessage.on("logoCreated",(function(e){if(e.left&&e.bottom&&e.width&&e.height&&e.href){t._logoOverlay&&(t._logoOverlay.parentNode.removeChild(t._logoOverlay),delete t._logoOverlay);var o=document.createElement("a");e.text&&(o.textContent=e.text,o.style.color="transparent"),o.style.position="absolute",o.style.display="inline-block",o.style.left=e.left,o.style.bottom=e.bottom,o.style.width=e.width,o.style.height=e.height,o.style.backgroundColor="transparent",o.style.pointerEvents="none",o.href=e.href,o.setAttribute("target","_blank"),t._logoOverlay=o,document.getElementById(t.id+"-wrapper").appendChild(o)}})),t.postMessage.on("setLogoOverlayVisibility",(function(e){t._logoOverlay&&e&&"boolean"==typeof e.visible&&(t._logoOverlay.style.display=e.visible?"inline-block":"none")})),t.postMessage.on("openChartInPopup",(function(e){for(var o=l.cloneSimpleObject(t.options),i=["symbol","interval"],n=i.length-1;n>=0;n--){var r=i[n],s=e[r];s&&(o[r]=s)}o.show_popup_button=!1;var a=t.options.popup_width||900,d=t.options.popup_height||600,h=(screen.width-a)/2,c=(screen.height-d)/2,p=window.open(t.generateUrl(o),"_blank","resizable=yes, top="+c+", left="+h+", width="+a+", height="+d);p&&(p.opener=null)}))},ready:function(e){this._ready?e.call(this):this._ready_handlers.push(e)},render:function(){var e=this.generateUrl();return''},generateUrl:function(e){var t;function o(t,o){return o=o||t,void 0===e[t]?"":"&"+encodeURIComponent(o)+"="+(e[t]?"1":"0")}function i(t,o,i){return i=i||t,e[t]?"&"+i+"="+o:""}function n(t,o,i){return i=i||{},"&"+t+"="+(e[t]?encodeURIComponent(JSON.stringify(o)):encodeURIComponent(JSON.stringify(i)))}return t="cme"===(e=e||this.options).customer?"/cmewidgetembed/":e.customer?"/"+e.customer+"/widgetembed/":"/widgetembed/",(e.enable_publishing?l.ideasHost:l.getHost(e))+t+"?frameElementId="+this.id+"&symbol="+encodeURIComponent(e.symbol)+"&interval="+encodeURIComponent(e.interval)+(e.range?"&range="+encodeURIComponent(e.range):"")+(e.whitelabel?"&whitelabel=1":"")+(e.hide_top_toolbar?"&hidetoptoolbar=1":"")+(e.hide_legend?"&hidelegend=1":"")+o("hide_side_toolbar","hidesidetoolbar")+o("allow_symbol_change","symboledit")+o("save_image","saveimage")+"&toolbarbg="+e.toolbar_bg.replace("#","")+(e.watchlist&&e.watchlist.length&&e.watchlist.join?"&watchlist="+encodeURIComponent(e.watchlist.join("")):"")+i("editablewatchlist","1")+i("details","1")+i("calendar","1")+i("hotlist","1")+(e.studies&&l.isArray(e.studies)?"string"==typeof e.studies[0]?i("studies",encodeURIComponent(e.studies.join(""))):n("studies",e.studies):"")+o("horztouchdrag")+o("verttouchdrag")+i("widgetbar_width",e.widgetbar_width,"widgetbarwidth")+i("hideideas","1")+i("theme",encodeURIComponent(e.theme))+i("style",encodeURIComponent(e.style))+(void 0===e.extended_hours?"":"&extended_hours="+e.extended_hours)+i("timezone",encodeURIComponent(e.timezone))+i("hideideasbutton","1")+i("withdateranges","1")+i("hidevolume","1")+(void 0===e.padding?"":"&padding="+e.padding)+i("show_popup_button","1","showpopupbutton")+n("studies_overrides",e.studies_overrides,{})+n("overrides",e.overrides,{})+n("enabled_features",e.enabled_features,[])+n("disabled_features",e.disabled_features,[])+(e.show_popup_button?"&showpopupbutton=1":"")+(e.publish_source?"&publishsource="+encodeURIComponent(e.publish_source):"")+(e.enable_publishing?"&enablepublishing="+encodeURIComponent(e.enable_publishing):"")+(e.venue?"&venue="+encodeURIComponent(e.venue):"")+(e.symbology?"&symbology="+encodeURIComponent(e.symbology):"")+(e.whotrades?"&whotrades="+encodeURIComponent(e.whotrades):"")+(e.locale?"&locale="+e.locale:"")+(e.referral_id?"&referral_id="+e.referral_id:"")+(e.no_referral_id?"&no_referral_id=1":"")+(e.fundamental?"&fundamental="+encodeURIComponent(e.fundamental):"")+(e.percentage?"&percentage="+encodeURIComponent(e.percentage):"")+"&utm_source="+encodeURI(window.location.hostname)+"&utm_medium="+(l.hasCopyright(e.container)?"widget_new":"widget")+(e.type?"&utm_campaign="+e.type:"")+(e.type&&"chart"===e.type?"&utm_term="+encodeURIComponent(e.symbol):"")},image:function(e){this.postMessage.get("imageURL",{},(function(t){var o=l.host+"/x/"+t+"/";e(o)}))},subscribeToQuote:function(e){var t=document.getElementById(this.id);this.postMessage.post(t.contentWindow,"quoteSubscribe"),this.postMessage.on("quoteUpdate",e)},getSymbolInfo:function(e){this.postMessage.get("symbolInfo",{},e)},remove:function(){var e=document.getElementById(this.id);e.parentNode.removeChild(e)},reload:function(){var e=document.getElementById(this.id),t=e.parentNode;t.removeChild(e),t.innerHTML=this.render()}},l.chart.prototype={create:function(){this.isMobile=l.isMobileDevice.any;var e,t=this.render(),o=this;l.chartCssAttached||(l.css(this.renderCss()),l.chartCssAttached=!0),h(t,this.options.container),e=document.getElementById(this.id),l.bindEvent(e,"load",(function(){var e;for(o._ready=!0,e=o._ready_handlers.length;e--;)o._ready_handlers[e].call(o)})),l.onready((function(){var t=!1;if(document.querySelector&&document.querySelector('a[href$="/v/'+o.options.chart+'/"]')&&(t=!0),!t)for(var i=document.getElementsByTagName("a"),n=new RegExp("/v/"+o.options.chart+"/$"),r=new RegExp("/chart/([0-9a-zA-Z:+*-/()]+)/"+o.options.chart),s=0;s'},toggleFullscreen:function(e){var t=document.getElementById(this.id);e?(t.style.position="fixed",t.style.width="100vw",t.style.maxWidth="100%",t.style.height="100vh",t.style.maxHeight="100%",t.style.left="0px",t.style.top="0px",t.style.zIndex="1000000",t.style.backgroundColor="#fff"):(t.style.position="static",this.options.autosize?(t.style.width="100%",t.style.height="100%"):(t.style.width=this.options.width+"px",t.style.height=this.options.height+"px"),t.style.maxWidth="none",t.style.maxHeight="none",t.style.zIndex="auto",t.style.backgroundColor="transparent")},getSymbolInfo:function(e){this.postMessage.get("symbolInfo",{},e)}},l.stream.prototype={create:function(){this.isMobile=l.isMobileDevice.any;var e=this.render();h(e,this.options.container)},render:function(){var e="?"+(this.options.locale?"&locale="+encodeURIComponent(this.options.locale):"");return this.options.type="chart",''}},l.postMessageWrapper=(o={},i={},n={},r=0,s=0,window.addEventListener&&window.addEventListener("message",(function(e){var n;try{n=JSON.parse(e.data)}catch(e){return}if(n&&n.provider&&"TradingView"===n.provider)if(n.source=e.source,"get"===n.type){if(!i[n.name])return;i[n.name].forEach((function(e){"function"==typeof e&&e.call(n,n.data,(function(e){var o={id:n.id,type:"on",name:n.name,client_id:n.client_id,data:e,provider:"TradingView"};t.postMessage(JSON.stringify(o),"*")}))}))}else if("on"===n.type)o[n.client_id]&&o[n.client_id][n.id]&&(o[n.client_id][n.id].call(n,n.data),delete o[n.client_id][n.id]);else if("post"===n.type){if(!i[n.name])return;i[n.name].forEach((function(e){"function"==typeof e&&e.call(n,n.data,(function(){}))}))}})),function(e,a){return o[a]={},n[a]=e,t=e,{on:function(e,t,o){i[e]&&o||(i[e]=[]),i[e].push(t)},off:function(e,t){if(!i[e])return!1;var o=i[e].indexOf(t);o>-1&&i[e].splice(o,1)},get:function(e,t,i){var s={id:r++,type:"get",name:e,client_id:a,data:t,provider:"TradingView"};o[a][s.id]=i,n[a].postMessage(JSON.stringify(s),"*")},post:function(e,t,o){var i={id:s++,type:"post",name:t,data:o,provider:"TradingView"};e&&"function"==typeof e.postMessage&&e.postMessage(JSON.stringify(i),"*")}}}),l.getUrlParams=function(){for(var e=/\+/g,t=/([^&=]+)=?([^&]*)/g,o=window.location.search.substring(1),i=t.exec(o),n=function(t){return decodeURIComponent(t.replace(e," "))},r={};i;)r[n(i[1])]=n(i[2]),i=t.exec(o);return r},l.createUrlParams=function(e){var t=[];for(var o in e)e.hasOwnProperty(o)&&null!=e[o]&&t.push(encodeURIComponent(o)+"="+encodeURIComponent(e[o]));return t.join("&")};var h=function(e,t){var o=document.getElementById(t);if(o){o.innerHTML=e;var i=o.parentElement&&o.parentElement.querySelector(".tradingview-widget-copyright");i&&(i.style.width=o.querySelector("iframe").style.width)}else document.write(e);document.body.appendChild(l.embedStylesForCopyright())},c=function(e,t){for(var o in t)"object"==typeof t[o]&&e.hasOwnProperty(o)?c(e[o],t[o]):e[o]=t[o];return e};window.TradingView?c(window.TradingView,l):window.TradingView=l}}();
\ No newline at end of file
+"use strict";
+!(function () {
+ if (!window.TradingView || !window.TradingView.host || window.TradingView.reoloadTvjs) {
+ var e,
+ t,
+ o,
+ i,
+ n,
+ r,
+ s,
+ a = { "color-gull-gray": "#9db2bd", "color-brand": "#2962FF", "color-brand-hover": "#1E53E5", "color-brand-active": "#1848CC" },
+ d = "-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif",
+ l = {
+ host: null == window.location.host.match(/tradingview\.com|pyrrosinvestment\.com/i) ? "https://s.tradingview.com" : "https://www.tradingview.com",
+ ideasHost: "https://www.tradingview.com",
+ chatHost: "https://www.tradingview.com",
+ widgetHost: "https://www.tradingview-widget.com",
+ getHost: function (e) {
+ return e.useWidgetHost ? l.widgetHost : l.host;
+ },
+ embedStylesForCopyright: function () {
+ var e = document.createElement("style");
+ return (
+ (e.innerHTML =
+ ".tradingview-widget-copyright {font-size: 13px !important; line-height: 32px !important; text-align: center !important; vertical-align: middle !important; font-family: " +
+ d +
+ " !important; color: " +
+ a["color-gull-gray"] +
+ " !important;} .tradingview-widget-copyright .blue-text {color: " +
+ a["color-brand"] +
+ " !important;} .tradingview-widget-copyright a {text-decoration: none !important; color: " +
+ a["color-gull-gray"] +
+ " !important;} .tradingview-widget-copyright a:visited {color: " +
+ a["color-gull-gray"] +
+ " !important;} .tradingview-widget-copyright a:hover .blue-text {color: " +
+ a["color-brand-hover"] +
+ " !important;} .tradingview-widget-copyright a:active .blue-text {color: " +
+ a["color-brand-active"] +
+ " !important;} .tradingview-widget-copyright a:visited .blue-text {color: " +
+ a["color-brand"] +
+ " !important;}"),
+ e
+ );
+ },
+ embedStylesForFullHeight: function (e, t, o) {
+ var i = t ? "calc(" + e + " - 32px)" : e,
+ n = document.querySelector("#" + o);
+ (n.parentElement.style.height = i), (n.style.height = "100%");
+ },
+ gId: function () {
+ return "tradingview_" + ((1048576 * (1 + Math.random())) | 0).toString(16).substring(1);
+ },
+ isPersentHeight: function (e) {
+ return "%" === e;
+ },
+ getSuffix: function (e) {
+ var t = e.toString().match(/(%|px|em|ex)/);
+ return t ? t[0] : "px";
+ },
+ hasCopyright: function (e) {
+ var t = document.getElementById(e),
+ o = t && t.parentElement;
+ return !!o && !!o.querySelector(".tradingview-widget-copyright");
+ },
+ calculateWidgetHeight: function (e, t) {
+ var o = parseInt(e),
+ i = this.getSuffix(e),
+ n = this.isPersentHeight(i),
+ r = t && this.hasCopyright(t);
+ return n && t && (this.embedStylesForFullHeight(o + i, r, t), r) ? 100 + i : r ? "calc(" + o + i + " - 32px)" : o + i;
+ },
+ onready: function (e) {
+ window.addEventListener ? window.addEventListener("DOMContentLoaded", e, !1) : window.attachEvent("onload", e);
+ },
+ css: function (e) {
+ var t,
+ o = document.getElementsByTagName("head")[0],
+ i = document.createElement("style");
+ (i.type = "text/css"), i.styleSheet ? (i.styleSheet.cssText = e) : ((t = document.createTextNode(e)), i.appendChild(t)), o.appendChild(i);
+ },
+ bindEvent: function (e, t, o) {
+ e.addEventListener ? e.addEventListener(t, o, !1) : e.attachEvent && e.attachEvent("on" + t, o);
+ },
+ unbindEvent: function (e, t, o) {
+ e.removeEventListener ? e.removeEventListener(t, o, !1) : e.detachEvent && e.detachEvent("on" + t, o);
+ },
+ cloneSimpleObject: function (e) {
+ if (null == e || "object" != typeof e) return e;
+ var t = e.constructor();
+ for (var o in e) e.hasOwnProperty(o) && (t[o] = e[o]);
+ return t;
+ },
+ isArray: function (e) {
+ return "[object Array]" === Object.prototype.toString.call(e);
+ },
+ isMobileDevice:
+ ((e = { Android: /Android/i.test(navigator.userAgent), BlackBerry: /BlackBerry/i.test(navigator.userAgent), iOS: /iPhone|iPad|iPod/i.test(navigator.userAgent), Opera: /Opera Mini/i.test(navigator.userAgent) }),
+ (e.any = e.Android || e.BlackBerry || e.iOS || e.Opera),
+ e),
+ generateUtmForUrlParams: function (e) {
+ return (
+ "utm_source=" +
+ encodeURI(window.location.hostname) +
+ "&utm_medium=" +
+ (l.hasCopyright(e.container) ? "widget_new" : "widget") +
+ (e.type ? "&utm_campaign=" + e.type : "") +
+ (e.type && "chart" === e.type ? "&utm_term=" + encodeURIComponent(e.symbol) : "")
+ );
+ },
+ WidgetAbstract: function () {},
+ MiniWidget: function (e) {
+ (this.id = l.gId()),
+ (this.options = {
+ whitelabel: e.whitelabel || "",
+ width: l.WidgetAbstract.prototype.fixSize(e.width) || 300,
+ height: l.WidgetAbstract.prototype.fixSize(e.height) || 400,
+ symbols: e.symbols,
+ tabs: e.tabs || "",
+ symbols_description: e.symbols_description || "",
+ customer: e.customer || "",
+ container: e.container_id || "",
+ greyText: e.greyText || "",
+ large_chart_url: e.large_chart_url || "",
+ large_chart_target: e.large_chart_target || "",
+ gridLineColor: e.gridLineColor || "",
+ fontColor: e.fontColor || "",
+ widgetFontColor: e.widgetFontColor || "",
+ underLineColor: e.underLineColor || "",
+ underLineBottomColor: e.underLineBottomColor || "",
+ trendLineColor: e.trendLineColor || "",
+ timeAxisBackgroundColor: e.timeAxisBackgroundColor || "",
+ activeTickerBackgroundColor: e.activeTickerBackgroundColor || "",
+ noGraph: e.noGraph || !1,
+ locale: e.locale,
+ styleTickerActiveBg: e.styleTickerActiveBg || "",
+ styleTabActiveBorderColor: e.styleTabActiveBorderColor || "",
+ styleTickerBodyFontSize: e.styleTickerBodyFontSize || "",
+ styleTickerBodyFontWeight: e.styleTickerBodyFontWeight || "",
+ styleTickerHeadFontSize: e.styleTickerHeadFontSize || "",
+ styleTickerHeadFontWeight: e.styleTickerHeadFontWeight || "",
+ styleTickerChangeDownColor: e.styleTickerChangeDownColor || "",
+ styleTickerChangeUpColor: e.styleTickerChangeUpColor || "",
+ styleTickerLastDownBg: e.styleTickerLastDownBg || "",
+ styleTickerLastUpBg: e.styleTickerLastUpBg || "",
+ styleTickerSymbolColor: e.styleTickerSymbolColor || "",
+ styleTickerSymbolHoverTextDecoration: e.styleTickerSymbolHoverTextDecoration || "",
+ styleTickerActiveSymbolTextDecoration: e.styleTickerActiveSymbolTextDecoration || "",
+ styleTabsActiveBorderColor: e.styleTabsActiveBorderColor || "",
+ styleTabsNoBorder: e.styleTabsNoBorder || "",
+ styleWidgetNoBorder: e.styleWidgetNoBorder || "",
+ useWidgetHost: Boolean(e.useWidgetHost),
+ }),
+ this.createWidget();
+ },
+ MediumWidget: function (e) {
+ this.id = l.gId();
+ const t = l.calculateWidgetHeight(e.height || 400, e.container_id);
+ let o;
+ switch (e.chartType) {
+ case "candlesticks": {
+ const { chartType: t, upColor: i, downColor: n, borderUpColor: r, borderDownColor: s, wickUpColor: a, wickDownColor: d } = e;
+ o = { chartType: t, upColor: i, downColor: n, borderUpColor: r, borderDownColor: s, wickUpColor: a, wickDownColor: d };
+ break;
+ }
+ case "bars": {
+ const { chartType: t, upColor: i, downColor: n } = e;
+ o = { chartType: t, upColor: i, downColor: n };
+ break;
+ }
+ case "line": {
+ const { chartType: t, color: i, colorGrowing: n, colorFalling: r, lineWidth: s } = e;
+ o = { chartType: t, color: i, colorGrowing: n, colorFalling: r, lineWidth: s };
+ break;
+ }
+ case "area":
+ default: {
+ const {
+ chartType: t = "area",
+ lineColor: i = e.trendLineColor || "",
+ lineColorGrowing: n,
+ lineColorFalling: r,
+ topColor: s = e.underLineColor || "",
+ bottomColor: a = e.underLineBottomColor || "",
+ lineWidth: d,
+ } = e;
+ o = { chartType: t, lineColor: i, lineColorGrowing: n, lineColorFalling: r, topColor: s, bottomColor: a, lineWidth: d };
+ break;
+ }
+ }
+ (this.options = {
+ container: e.container_id || "",
+ width: l.WidgetAbstract.prototype.fixSize(e.width) || "",
+ height: l.WidgetAbstract.prototype.fixSize(t) || "",
+ symbols: e.symbols,
+ greyText: e.greyText || "",
+ symbols_description: e.symbols_description || "",
+ large_chart_url: e.large_chart_url || "",
+ customer: e.customer || "",
+ backgroundColor: e.backgroundColor || "",
+ gridLineColor: e.gridLineColor || "",
+ fontColor: e.fontColor || "",
+ widgetFontColor: e.widgetFontColor || "",
+ timeAxisBackgroundColor: e.timeAxisBackgroundColor || "",
+ chartOnly: !!e.chartOnly,
+ locale: e.locale,
+ whitelabel: !!e.whitelabel || "",
+ colorTheme: e.colorTheme,
+ isTransparent: e.isTransparent,
+ useWidgetHost: Boolean(e.useWidgetHost),
+ showFloatingTooltip: e.showFloatingTooltip,
+ valuesTracking: e.valuesTracking,
+ showVolume: e.showVolume,
+ volumeUpColor: e.volumeUpColor,
+ volumeDownColor: e.volumeDownColor,
+ hideDateRanges: e.hideDateRanges,
+ scalePosition: e.scalePosition,
+ scaleMode: e.scaleMode,
+ fontFamily: e.fontFamily,
+ noTimeScale: e.noTimeScale,
+ ...o,
+ }),
+ this.createWidget();
+ },
+ widget: function (e) {
+ this.id = e.id || l.gId();
+ var t = l.getUrlParams(),
+ o = e.tvwidgetsymbol || t.tvwidgetsymbol || t.symbol || e.symbol || "NASDAQ:AAPL",
+ i = e.logo || "";
+ i.src && (i = i.src), i && i.replace(".png", "");
+ var n = l.calculateWidgetHeight(e.height || 500, e.container_id);
+ (this.options = {
+ whitelabel: e.whitelabel || "",
+ width: e.width || 800,
+ height: n,
+ symbol: o,
+ interval: e.interval || "1",
+ range: e.range || "",
+ timezone: e.timezone || "",
+ autosize: e.autosize,
+ hide_top_toolbar: e.hide_top_toolbar,
+ hide_side_toolbar: e.hide_side_toolbar,
+ hide_legend: e.hide_legend,
+ allow_symbol_change: e.allow_symbol_change,
+ save_image: void 0 === e.save_image || e.save_image,
+ container: e.container_id || "",
+ toolbar_bg: e.toolbar_bg || "f4f7f9",
+ watchlist: e.watchlist || [],
+ editablewatchlist: !!e.editablewatchlist,
+ studies: e.studies || [],
+ theme: e.theme || "",
+ style: e.style || "",
+ extended_hours: void 0 === e.extended_hours ? void 0 : +e.extended_hours,
+ details: !!e.details,
+ calendar: !!e.calendar,
+ hotlist: !!e.hotlist,
+ hideideas: !!e.hideideas,
+ hideideasbutton: !!e.hideideasbutton,
+ widgetbar_width: +e.widgetbar_width || void 0,
+ withdateranges: e.withdateranges || "",
+ customer: e.customer || i || "",
+ venue: e.venue,
+ symbology: e.symbology,
+ logo: i,
+ show_popup_button: !!e.show_popup_button,
+ popup_height: e.popup_height || "",
+ popup_width: e.popup_width || "",
+ studies_overrides: e.studies_overrides,
+ overrides: e.overrides,
+ enabled_features: e.enabled_features,
+ disabled_features: e.disabled_features,
+ publish_source: e.publish_source || "",
+ enable_publishing: e.enable_publishing,
+ whotrades: e.whotrades || void 0,
+ locale: e.locale,
+ referral_id: e.referral_id,
+ no_referral_id: e.no_referral_id,
+ fundamental: e.fundamental,
+ percentage: e.percentage,
+ hidevolume: e.hidevolume,
+ padding: e.padding,
+ greyText: e.greyText || "",
+ horztouchdrag: e.horztouchdrag,
+ verttouchdrag: e.verttouchdrag,
+ useWidgetHost: Boolean(e.useWidgetHost),
+ }),
+ e.cme && (this.options.customer = "cme"),
+ isFinite(e.widgetbar_width) && e.widgetbar_width > 0 && (this.options.widgetbar_width = e.widgetbar_width),
+ (this._ready_handlers = []),
+ this.create();
+ },
+ chart: function (e) {
+ (this.id = l.gId()),
+ (this.options = {
+ width: e.width || 640,
+ height: e.height || 500,
+ container: e.container_id || "",
+ realtime: e.realtime,
+ chart: e.chart,
+ locale: e.locale,
+ type: "chart",
+ autosize: e.autosize,
+ mobileStatic: e.mobileStatic,
+ }),
+ (this._ready_handlers = []),
+ this.create();
+ },
+ stream: function (e) {
+ (this.id = l.gId()), (this.options = { width: e.width || 640, height: e.height || 500, container: e.container_id || "", stream: e.stream, locale: e.locale, autosize: e.autosize }), this.create();
+ },
+ EventsWidget: function (e) {
+ (this.id = l.gId()),
+ (this.options = { container: e.container_id || "", width: e.width || 486, height: e.height || 670, currency: e.currencyFilter || "", importance: e.importanceFilter || "", type: "economic-calendar" }),
+ this.createWidget(e);
+ },
+ IdeasStreamWidget: function (e) {
+ (this.id = l.gId()),
+ (this.options = {
+ container: e.container_id || "",
+ width: e.width || 486,
+ height: e.height || 670,
+ symbol: e.symbol || "",
+ username: e.username || "",
+ mode: e.mode || "",
+ publishSource: e.publishSource || "",
+ sort: e.sort || "trending",
+ stream: e.stream,
+ waitSymbol: e.waitSymbol,
+ hideDescription: e.hideDescription,
+ startingCount: e.startingCount,
+ bgColor: e.bgColor || "",
+ headerColor: e.headerColor || "",
+ borderColor: e.borderColor || "",
+ locale: e.locale,
+ type: "ideas-stream",
+ useWidgetHost: Boolean(e.useWidgetHost),
+ }),
+ (this._ready_handlers = []),
+ this.createWidget();
+ },
+ IdeaWidget: function (e) {
+ (this.id = l.gId()),
+ (this.options = { container: e.container_id || "", width: e.width || 486, height: e.height || 670, idea: e.idea || "", chartUrl: e.chartUrl || "", whotrades: e.whotrades || void 0, locale: e.locale, type: "idea" }),
+ this.createWidget(e);
+ },
+ ChatWidgetEmbed: function (e) {
+ (this.id = l.gId()),
+ (this.options = { container: e.container_id || "", width: e.width || 400, height: e.height || 500, room: e.room || "", whotrades: e.whotrades || void 0, locale: e.locale, type: "chat-embed" }),
+ this.createWidget(e);
+ },
+ };
+ (l.WidgetAbstract.prototype = {
+ fixSize: function (e) {
+ return /^[0-9]+(\.|,[0-9])*$/.test(e) ? e + "px" : e;
+ },
+ width: function () {
+ return this.options.autosize ? "100%" : l.WidgetAbstract.prototype.fixSize(this.options.width);
+ },
+ height: function () {
+ return this.options.autosize ? "100%" : l.WidgetAbstract.prototype.fixSize(this.options.height);
+ },
+ addWrapperFrame: function (e, t, o) {
+ var i = l.WidgetAbstract.prototype.height.call(this),
+ n = l.WidgetAbstract.prototype.width.call(this);
+ o = o || "transparent";
+ return (
+ '' +
+ e +
+ "
" +
+ (t || "") +
+ "
"
+ );
+ },
+ addFooterLogo: function (e, t) {
+ var o = (t || {}).greyText || "powered by",
+ i = (t || {}).linkText || "tradingview.com",
+ n = (t || {}).href || "https://www.tradingview.com/";
+ return l.WidgetAbstract.prototype.addWrapperFrame.call(
+ this,
+ e,
+ '",
+ "#fff"
+ );
+ },
+ }),
+ (l.ChatWidgetEmbed.prototype = {
+ createWidget: function () {
+ var e = this.widgetCode();
+ (e = l.WidgetAbstract.prototype.addFooterLogo.call(this, e)), h(e, this.options.container);
+ },
+ widgetCode: function () {
+ var e = this.options.room ? "#" + encodeURIComponent(this.options.room) : "",
+ t = "&" + l.createUrlParams({ whotrades: this.options.whotrades, locale: this.options.locale }),
+ o = l.generateUtmForUrlParams(this.options, { type: "UserInfoWidget" });
+ return (
+ ''
+ );
+ },
+ }),
+ (l.IdeaWidget.prototype = {
+ createWidget: function () {
+ var e = this.widgetCode();
+ h(e, this.options.container);
+ var t = this,
+ o = document.getElementById(this.id);
+ (this.postMessage = l.postMessageWrapper(o.contentWindow, this.id)),
+ this.postMessage.on(
+ "resize",
+ function (e) {
+ e.id === t.id && (o.style.height = e.height + "px");
+ },
+ !0
+ );
+ },
+ widgetCode: function () {
+ var e = l.createUrlParams({
+ id: this.id,
+ width: this.options.width,
+ height: this.options.height,
+ idea: this.options.idea,
+ chart_url: this.options.chartUrl,
+ whotrades: this.options.whotrades,
+ locale: this.options.locale,
+ });
+ this.options.type = "idea";
+ var t = "&" + l.generateUtmForUrlParams(this.options),
+ o = l.ideasHost + "/idea-popup/?" + e + t;
+ return (
+ ''
+ );
+ },
+ getSymbol: function (e) {
+ this.postMessage.on("symbolInfo", e);
+ },
+ }),
+ (l.EventsWidget.prototype = {
+ createWidget: function () {
+ var e = this.widgetCode();
+ h(e, this.options.container);
+ },
+ widgetCode: function () {
+ var e = l.createUrlParams({ currency: this.options.currency, importance: this.options.importance });
+ this.options.type = "events";
+ var t = "&" + l.generateUtmForUrlParams(this.options);
+ return (
+ ''
+ );
+ },
+ }),
+ (l.IdeasStreamWidget.prototype = {
+ createWidget: function () {
+ var e = this.widgetCode();
+ h(e, this.options.container);
+ var t = this,
+ o = document.getElementById(this.id);
+ (this.postMessage = l.postMessageWrapper(o.contentWindow, this.id)),
+ l.bindEvent(o, "load", function () {
+ t._ready = !0;
+ for (var e = t._ready_handlers.length; e--; ) t._ready_handlers[e].call(t);
+ }),
+ t.postMessage.on(
+ "resize",
+ function (e) {
+ if (e.id === t.id) {
+ var i = Math.max(e.height, 450);
+ o.style.height = i + "px";
+ }
+ },
+ !0
+ );
+ },
+ widgetCode: function () {
+ var e = this.options,
+ t = l.createUrlParams({
+ id: this.id,
+ width: e.width,
+ height: e.height,
+ symbol: e.symbol,
+ username: e.username,
+ mode: e.mode,
+ publish_source: e.publishSource,
+ sort: e.sort,
+ stream: e.stream,
+ wait_symbol: e.waitSymbol,
+ hide_desc: e.hideDescription,
+ s_count: e.startingCount,
+ bg_color: e.bgColor,
+ h_color: e.headerColor,
+ borderColor: e.borderColor,
+ locale: e.locale,
+ useWidgetHost: Boolean(e.useWidgetHost),
+ }),
+ o = l.generateUtmForUrlParams(this.options) + "&",
+ i = l.getHost(e) + "/ideaswidgetembed/?" + o + t;
+ return '';
+ },
+ setSymbol: function (e) {
+ var t = document.getElementById(this.id);
+ this.postMessage.post(t.contentWindow, "setSymbol", e);
+ },
+ ready: function (e) {
+ this._ready ? e.call(this) : this._ready_handlers.push(e);
+ },
+ }),
+ (l.MiniWidget.prototype = {
+ createWidget: function () {
+ var e = this.widgetCode(),
+ t = this.options;
+ if (!t.noLogoOverlay && !t.whitelabel) {
+ var o = this.options.greyText || "Quotes by";
+ e = l.WidgetAbstract.prototype.addFooterLogo.call(this, e, { greyText: o, linkText: "TradingView" });
+ }
+ h(e, t.container);
+ },
+ widgetCode: function () {
+ var e = "",
+ t = "",
+ o = "",
+ i = "/miniwidgetembed/",
+ n = this.options.width ? "&width=" + encodeURIComponent(this.options.width) : "",
+ r = this.options.height ? "&height=" + encodeURIComponent(this.options.height) : "",
+ s = this.options.noGraph ? "&noGraph=" + encodeURIComponent(this.options.noGraph) : "",
+ a = this.options.locale ? "&locale=" + encodeURIComponent(this.options.locale) : "",
+ d = this.options.whitelabel ? "&whitelabel=1" : "";
+ this.options.type = "market-overview";
+ for (
+ var h = "&" + l.generateUtmForUrlParams(this.options),
+ c = [
+ "large_chart_url",
+ "large_chart_target",
+ "backgroundColor",
+ "gridLineColor",
+ "fontColor",
+ "underLineColor",
+ "underLineBottomColor",
+ "trendLineColor",
+ "activeTickerBackgroundColor",
+ "timeAxisBackgroundColor",
+ "locale",
+ "styleTickerActiveBg",
+ "styleTabActiveBorderColor",
+ "styleTickerBodyFontSize",
+ "styleTickerBodyFontWeight",
+ "styleTickerHeadFontSize",
+ "styleTickerHeadFontWeight",
+ "styleTickerChangeDownColor",
+ "styleTickerChangeUpColor",
+ "styleTickerLastDownBg",
+ "styleTickerLastUpBg",
+ "styleTickerSymbolColor",
+ "styleTickerSymbolHoverTextDecoration",
+ "styleTickerActiveSymbolTextDecoration",
+ "styleTabsActiveBorderColor",
+ "styleTabsNoBorder",
+ "styleWidgetNoBorder",
+ ],
+ p = "",
+ g = c.length - 1;
+ g >= 0;
+ g--
+ ) {
+ var m = c[g],
+ u = this.options[m];
+ p += u ? "&" + m + "=" + encodeURIComponent(u) : "";
+ }
+ var y = function (e) {
+ for (var t = [], i = 0; i < e.length; i++) {
+ var n = e[i];
+ if (l.isArray(n)) {
+ var r = encodeURIComponent(n[0]),
+ s = encodeURIComponent(n[1]);
+ t.push(r), (o += "&" + r + "=" + s);
+ } else "string" == typeof n && t.push(encodeURIComponent(n));
+ }
+ return t.join(",");
+ };
+ if (this.options.tabs) {
+ g = 0;
+ for (var w = this.options.tabs.length; g < w; g++) {
+ var b = this.options.tabs[g];
+ this.options.symbols[b] && (e += (e ? "&" : "") + encodeURIComponent(b) + "=" + y(this.options.symbols[b]));
+ }
+ t = "&tabs=" + encodeURIComponent(this.options.tabs.join(","));
+ } else this.options.symbols && (e = "symbols=" + y(this.options.symbols));
+ if (this.options.symbols_description) for (var f in this.options.symbols_description) o += "&" + encodeURIComponent(f) + "=" + encodeURIComponent(this.options.symbols_description[f]);
+ this.options.customer && (i = "/" + this.options.customer + i);
+ var v = l.getHost(this.options) + i + "?" + e + t + o + p + n + r + s + a + d + h;
+ return (
+ ''
+ );
+ },
+ remove: function () {
+ var e = document.getElementById("tradingview_widget");
+ e.parentNode.removeChild(e);
+ },
+ }),
+ (l.MediumWidget.prototype = {
+ createWidget: function () {
+ var e = this.widgetCode();
+ h(e, this.options.container);
+ },
+ widgetCode: function () {
+ var e = "",
+ t =
+ "symbols=" +
+ (function (t) {
+ for (var o = [], i = 0; i < t.length; i++) {
+ var n = t[i];
+ if (l.isArray(n)) {
+ var r = encodeURIComponent(n[0]),
+ s = encodeURIComponent(n[1]);
+ o.push(r), 2 === n.length && (e += "&" + r + "=" + s);
+ } else "string" == typeof n && o.push(encodeURIComponent(n));
+ }
+ return o.join(",");
+ })(this.options.symbols),
+ o = "&width=" + encodeURIComponent(this.options.width),
+ i = "&height=" + encodeURIComponent(this.options.height),
+ n = "&colorTheme=" + encodeURIComponent(this.options.colorTheme);
+ this.options.type = "symbol-overview";
+ var r = "&" + l.generateUtmForUrlParams(this.options);
+ for (
+ var s = [
+ "backgroundColor",
+ "gridLineColor",
+ "fontColor",
+ "widgetFontColor",
+ "underLineColor",
+ "underLineBottomColor",
+ "trendLineColor",
+ "activeTickerBackgroundColor",
+ "timeAxisBackgroundColor",
+ "locale",
+ "scalePosition",
+ "scaleMode",
+ "chartType",
+ "color",
+ "colorGrowing",
+ "colorFalling",
+ "lineColor",
+ "lineColorGrowing",
+ "lineColorFalling",
+ "topColor",
+ "bottomColor",
+ "upColor",
+ "downColor",
+ "borderUpColor",
+ "borderDownColor",
+ "wickUpColor",
+ "wickDownColor",
+ "fontFamily",
+ "noTimeScale",
+ "valuesTracking",
+ "lineWidth",
+ "volumeUpColor",
+ "volumeDownColor",
+ ],
+ a = "",
+ d = s.length - 1;
+ d >= 0;
+ d--
+ ) {
+ var h = s[d],
+ c = this.options[h];
+ a += c ? "&" + h + "=" + encodeURIComponent(c) : "";
+ }
+ var p = this.options.chartOnly ? "&chartOnly=1" : "",
+ g = this.options.whitelabel ? "&whitelabel=1" : "",
+ m = this.options.isTransparent ? "&isTransparent=1" : "",
+ u = this.options.showFloatingTooltip ? "&showFloatingTooltip=1" : "",
+ y = this.options.showVolume ? "&showVolume=1" : "",
+ w = this.options.hideDateRanges ? "&hideDateRanges=1" : "",
+ b = "/mediumwidgetembed/";
+ this.options.customer && (b = "/" + this.options.customer + b);
+ var f = l.getHost(this.options) + b + "?" + t + e + a + p + g + o + i + n + m + r + u + y + w;
+ return (
+ ''
+ );
+ },
+ remove: function () {
+ var e = document.getElementById("tradingview_widget");
+ e.parentNode.removeChild(e);
+ },
+ }),
+ (l.widget.prototype = {
+ create: function () {
+ this.options.type = this.options.fundamental ? "fundamental" : "chart";
+ var e = this.render(),
+ t = this;
+ this.options.noLogoOverlay || (e = l.WidgetAbstract.prototype.addWrapperFrame.call(this, e)), h(e, this.options.container);
+ var o = document.getElementById("tradingview-copyright");
+ o && o.parentElement && o.parentElement.removeChild(o),
+ (this.iframe = document.getElementById(this.id)),
+ (this.postMessage = l.postMessageWrapper(this.iframe.contentWindow, this.id)),
+ l.bindEvent(this.iframe, "load", function () {
+ t.postMessage.get("widgetReady", {}, function () {
+ var e;
+ for (t._ready = !0, e = t._ready_handlers.length; e--; ) t._ready_handlers[e].call(t);
+ });
+ }),
+ t.postMessage.on("logoCreated", function (e) {
+ if (e.left && e.bottom && e.width && e.height && e.href) {
+ t._logoOverlay && (t._logoOverlay.parentNode.removeChild(t._logoOverlay), delete t._logoOverlay);
+ var o = document.createElement("a");
+ e.text && ((o.textContent = e.text), (o.style.color = "transparent")),
+ (o.style.position = "absolute"),
+ (o.style.display = "inline-block"),
+ (o.style.left = e.left),
+ (o.style.bottom = e.bottom),
+ (o.style.width = e.width),
+ (o.style.height = e.height),
+ (o.style.backgroundColor = "transparent"),
+ (o.style.pointerEvents = "none"),
+ (o.href = e.href),
+ o.setAttribute("target", "_blank"),
+ (t._logoOverlay = o),
+ document.getElementById(t.id + "-wrapper").appendChild(o);
+ }
+ }),
+ t.postMessage.on("setLogoOverlayVisibility", function (e) {
+ t._logoOverlay && e && "boolean" == typeof e.visible && (t._logoOverlay.style.display = e.visible ? "inline-block" : "none");
+ }),
+ t.postMessage.on("openChartInPopup", function (e) {
+ for (var o = l.cloneSimpleObject(t.options), i = ["symbol", "interval"], n = i.length - 1; n >= 0; n--) {
+ var r = i[n],
+ s = e[r];
+ s && (o[r] = s);
+ }
+ o.show_popup_button = !1;
+ var a = t.options.popup_width || 900,
+ d = t.options.popup_height || 600,
+ h = (screen.width - a) / 2,
+ c = (screen.height - d) / 2,
+ p = window.open(t.generateUrl(o), "_blank", "resizable=yes, top=" + c + ", left=" + h + ", width=" + a + ", height=" + d);
+ p && (p.opener = null);
+ });
+ },
+ ready: function (e) {
+ this._ready ? e.call(this) : this._ready_handlers.push(e);
+ },
+ render: function () {
+ var e = this.generateUrl();
+ return '';
+ },
+ generateUrl: function (e) {
+ var t;
+ function o(t, o) {
+ return (o = o || t), void 0 === e[t] ? "" : "&" + encodeURIComponent(o) + "=" + (e[t] ? "1" : "0");
+ }
+ function i(t, o, i) {
+ return (i = i || t), e[t] ? "&" + i + "=" + o : "";
+ }
+ function n(t, o, i) {
+ return (i = i || {}), "&" + t + "=" + (e[t] ? encodeURIComponent(JSON.stringify(o)) : encodeURIComponent(JSON.stringify(i)));
+ }
+ return (
+ (t = "cme" === (e = e || this.options).customer ? "/cmewidgetembed/" : e.customer ? "/" + e.customer + "/widgetembed/" : "/widgetembed/"),
+ (e.enable_publishing ? l.ideasHost : l.getHost(e)) +
+ t +
+ "?frameElementId=" +
+ this.id +
+ "&symbol=" +
+ encodeURIComponent(e.symbol) +
+ "&interval=" +
+ encodeURIComponent(e.interval) +
+ (e.range ? "&range=" + encodeURIComponent(e.range) : "") +
+ (e.whitelabel ? "&whitelabel=1" : "") +
+ (e.hide_top_toolbar ? "&hidetoptoolbar=1" : "") +
+ (e.hide_legend ? "&hidelegend=1" : "") +
+ o("hide_side_toolbar", "hidesidetoolbar") +
+ o("allow_symbol_change", "symboledit") +
+ o("save_image", "saveimage") +
+ "&toolbarbg=" +
+ e.toolbar_bg.replace("#", "") +
+ (e.watchlist && e.watchlist.length && e.watchlist.join ? "&watchlist=" + encodeURIComponent(e.watchlist.join("")) : "") +
+ i("editablewatchlist", "1") +
+ i("details", "1") +
+ i("calendar", "1") +
+ i("hotlist", "1") +
+ (e.studies && l.isArray(e.studies) ? ("string" == typeof e.studies[0] ? i("studies", encodeURIComponent(e.studies.join(""))) : n("studies", e.studies)) : "") +
+ o("horztouchdrag") +
+ o("verttouchdrag") +
+ i("widgetbar_width", e.widgetbar_width, "widgetbarwidth") +
+ i("hideideas", "1") +
+ i("theme", encodeURIComponent(e.theme)) +
+ i("style", encodeURIComponent(e.style)) +
+ (void 0 === e.extended_hours ? "" : "&extended_hours=" + e.extended_hours) +
+ i("timezone", encodeURIComponent(e.timezone)) +
+ i("hideideasbutton", "1") +
+ i("withdateranges", "1") +
+ i("hidevolume", "1") +
+ (void 0 === e.padding ? "" : "&padding=" + e.padding) +
+ i("show_popup_button", "1", "showpopupbutton") +
+ n("studies_overrides", e.studies_overrides, {}) +
+ n("overrides", e.overrides, {}) +
+ n("enabled_features", e.enabled_features, []) +
+ n("disabled_features", e.disabled_features, []) +
+ (e.show_popup_button ? "&showpopupbutton=1" : "") +
+ (e.publish_source ? "&publishsource=" + encodeURIComponent(e.publish_source) : "") +
+ (e.enable_publishing ? "&enablepublishing=" + encodeURIComponent(e.enable_publishing) : "") +
+ (e.venue ? "&venue=" + encodeURIComponent(e.venue) : "") +
+ (e.symbology ? "&symbology=" + encodeURIComponent(e.symbology) : "") +
+ (e.whotrades ? "&whotrades=" + encodeURIComponent(e.whotrades) : "") +
+ (e.locale ? "&locale=" + e.locale : "") +
+ (e.referral_id ? "&referral_id=" + e.referral_id : "") +
+ (e.no_referral_id ? "&no_referral_id=1" : "") +
+ (e.fundamental ? "&fundamental=" + encodeURIComponent(e.fundamental) : "") +
+ (e.percentage ? "&percentage=" + encodeURIComponent(e.percentage) : "") +
+ "&utm_source=" +
+ encodeURI(window.location.hostname) +
+ "&utm_medium=" +
+ (l.hasCopyright(e.container) ? "widget_new" : "widget") +
+ (e.type ? "&utm_campaign=" + e.type : "") +
+ (e.type && "chart" === e.type ? "&utm_term=" + encodeURIComponent(e.symbol) : "")
+ );
+ },
+ image: function (e) {
+ this.postMessage.get("imageURL", {}, function (t) {
+ var o = l.host + "/x/" + t + "/";
+ e(o);
+ });
+ },
+ subscribeToQuote: function (e) {
+ var t = document.getElementById(this.id);
+ this.postMessage.post(t.contentWindow, "quoteSubscribe"), this.postMessage.on("quoteUpdate", e);
+ },
+ getSymbolInfo: function (e) {
+ this.postMessage.get("symbolInfo", {}, e);
+ },
+ remove: function () {
+ var e = document.getElementById(this.id);
+ e.parentNode.removeChild(e);
+ },
+ reload: function () {
+ var e = document.getElementById(this.id),
+ t = e.parentNode;
+ t.removeChild(e), (t.innerHTML = this.render());
+ },
+ }),
+ (l.chart.prototype = {
+ create: function () {
+ this.isMobile = l.isMobileDevice.any;
+ var e,
+ t = this.render(),
+ o = this;
+ l.chartCssAttached || (l.css(this.renderCss()), (l.chartCssAttached = !0)),
+ h(t, this.options.container),
+ (e = document.getElementById(this.id)),
+ l.bindEvent(e, "load", function () {
+ var e;
+ for (o._ready = !0, e = o._ready_handlers.length; e--; ) o._ready_handlers[e].call(o);
+ }),
+ l.onready(function () {
+ var t = !1;
+ if ((document.querySelector && document.querySelector('a[href$="/v/' + o.options.chart + '/"]') && (t = !0), !t))
+ for (var i = document.getElementsByTagName("a"), n = new RegExp("/v/" + o.options.chart + "/$"), r = new RegExp("/chart/([0-9a-zA-Z:+*-/()]+)/" + o.options.chart), s = 0; s < i.length; s++)
+ if (n.test(i[s].href) || r.test(i[s].href)) {
+ t = !0;
+ break;
+ }
+ t && ((e.src += "#nolinks"), (e.name = "nolinks"));
+ }),
+ (this.postMessage = l.postMessageWrapper(e.contentWindow, this.id)),
+ this.postMessage.on(
+ "toggleFullscreen",
+ function (t) {
+ e.contentWindow === this.source && o.toggleFullscreen(t.value);
+ },
+ !0
+ );
+ },
+ ready: l.widget.prototype.ready,
+ renderCss: function () {
+ return ".tradingview-widget {position: relative;}";
+ },
+ render: function () {
+ var e = this.options.mobileStatic && this.isMobile ? l.host + "/embed-static/" : l.host + "/embed/",
+ t = "?method=script" + (this.options.locale ? "&locale=" + encodeURIComponent(this.options.locale) : "");
+ return (
+ (this.options.type = "chart"),
+ ''
+ );
+ },
+ toggleFullscreen: function (e) {
+ var t = document.getElementById(this.id);
+ e
+ ? ((t.style.position = "fixed"),
+ (t.style.width = "100vw"),
+ (t.style.maxWidth = "100%"),
+ (t.style.height = "100vh"),
+ (t.style.maxHeight = "100%"),
+ (t.style.left = "0px"),
+ (t.style.top = "0px"),
+ (t.style.zIndex = "1000000"),
+ (t.style.backgroundColor = "#fff"))
+ : ((t.style.position = "static"),
+ this.options.autosize ? ((t.style.width = "100%"), (t.style.height = "100%")) : ((t.style.width = this.options.width + "px"), (t.style.height = this.options.height + "px")),
+ (t.style.maxWidth = "none"),
+ (t.style.maxHeight = "none"),
+ (t.style.zIndex = "auto"),
+ (t.style.backgroundColor = "transparent"));
+ },
+ getSymbolInfo: function (e) {
+ this.postMessage.get("symbolInfo", {}, e);
+ },
+ }),
+ (l.stream.prototype = {
+ create: function () {
+ this.isMobile = l.isMobileDevice.any;
+ var e = this.render();
+ h(e, this.options.container);
+ },
+ render: function () {
+ var e = "?" + (this.options.locale ? "&locale=" + encodeURIComponent(this.options.locale) : "");
+ return (
+ (this.options.type = "chart"),
+ ''
+ );
+ },
+ }),
+ (l.postMessageWrapper =
+ ((o = {}),
+ (i = {}),
+ (n = {}),
+ (r = 0),
+ (s = 0),
+ window.addEventListener &&
+ window.addEventListener("message", function (e) {
+ var n;
+ try {
+ n = JSON.parse(e.data);
+ } catch (e) {
+ return;
+ }
+ if (n && n.provider && "TradingView" === n.provider)
+ if (((n.source = e.source), "get" === n.type)) {
+ if (!i[n.name]) return;
+ i[n.name].forEach(function (e) {
+ "function" == typeof e &&
+ e.call(n, n.data, function (e) {
+ var o = { id: n.id, type: "on", name: n.name, client_id: n.client_id, data: e, provider: "TradingView" };
+ t.postMessage(JSON.stringify(o), "*");
+ });
+ });
+ } else if ("on" === n.type) o[n.client_id] && o[n.client_id][n.id] && (o[n.client_id][n.id].call(n, n.data), delete o[n.client_id][n.id]);
+ else if ("post" === n.type) {
+ if (!i[n.name]) return;
+ i[n.name].forEach(function (e) {
+ "function" == typeof e && e.call(n, n.data, function () {});
+ });
+ }
+ }),
+ function (e, a) {
+ return (
+ (o[a] = {}),
+ (n[a] = e),
+ (t = e),
+ {
+ on: function (e, t, o) {
+ (i[e] && o) || (i[e] = []), i[e].push(t);
+ },
+ off: function (e, t) {
+ if (!i[e]) return !1;
+ var o = i[e].indexOf(t);
+ o > -1 && i[e].splice(o, 1);
+ },
+ get: function (e, t, i) {
+ var s = { id: r++, type: "get", name: e, client_id: a, data: t, provider: "TradingView" };
+ (o[a][s.id] = i), n[a].postMessage(JSON.stringify(s), "*");
+ },
+ post: function (e, t, o) {
+ var i = { id: s++, type: "post", name: t, data: o, provider: "TradingView" };
+ e && "function" == typeof e.postMessage && e.postMessage(JSON.stringify(i), "*");
+ },
+ }
+ );
+ })),
+ (l.getUrlParams = function () {
+ for (
+ var e = /\+/g,
+ t = /([^&=]+)=?([^&]*)/g,
+ o = window.location.search.substring(1),
+ i = t.exec(o),
+ n = function (t) {
+ return decodeURIComponent(t.replace(e, " "));
+ },
+ r = {};
+ i;
+
+ )
+ (r[n(i[1])] = n(i[2])), (i = t.exec(o));
+ return r;
+ }),
+ (l.createUrlParams = function (e) {
+ var t = [];
+ for (var o in e) e.hasOwnProperty(o) && null != e[o] && t.push(encodeURIComponent(o) + "=" + encodeURIComponent(e[o]));
+ return t.join("&");
+ });
+ var h = function (e, t) {
+ var o = document.getElementById(t);
+ if (o) {
+ o.innerHTML = e;
+ var i = o.parentElement && o.parentElement.querySelector(".tradingview-widget-copyright");
+ i && (i.style.width = o.querySelector("iframe").style.width);
+ } else document.write(e);
+ document.body.appendChild(l.embedStylesForCopyright());
+ },
+ c = function (e, t) {
+ for (var o in t) "object" == typeof t[o] && e.hasOwnProperty(o) ? c(e[o], t[o]) : (e[o] = t[o]);
+ return e;
+ };
+ window.TradingView ? c(window.TradingView, l) : (window.TradingView = l);
+ }
+})();
diff --git a/basicswap/templates/offers.html b/basicswap/templates/offers.html
index d3f485a..2c7be3c 100644
--- a/basicswap/templates/offers.html
+++ b/basicswap/templates/offers.html
@@ -115,6 +115,34 @@