"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[12538],{129586:(e,t,i)=>{function r(e){return"object"==typeof e&&"metaInfo"in e}function n(e){return null==e}var s;i.d(t,{TelemetryGroup:()=>s,hasMetaInfo:()=>r,isAbsentParam:()=>n}),function(e){e.Fast="fast",e.Medium="medium",e.Slow="slow"}(s||(s={}))},791488:(e,t,i)=>{i.d(t,{RE_MESSAGE_LINE_WITH_DIGITS:()=>u,TV_SCRIPT_DELETED:()=>o,TV_SCRIPT_LEGACY_PINE_PROCESSED:()=>l,TV_SCRIPT_MODIFICATION_ACTIVE:()=>n,TV_SCRIPT_MODIFIED:()=>s,TV_SCRIPT_RENAMED:()=>a,pineTelemetryGroups:()=>d});var r=i(129586);const n="TVScriptModificationActive",s="TVScriptModified",o="TVScriptDeleted",a="TVScriptRenamed",l="TVScriptLegacyPineProcessed",u=/[l|L]ines? (\d*)/,d=new Map([["delete",r.TelemetryGroup.Fast],["get",r.TelemetryGroup.Fast],["is_auth_to_get",r.TelemetryGroup.Fast],["is_auth_to_write",r.TelemetryGroup.Fast],["parse_title",r.TelemetryGroup.Fast],["rename",r.TelemetryGroup.Fast],["lib_list",r.TelemetryGroup.Fast],["list",r.TelemetryGroup.Medium],["eval_pine_ex",r.TelemetryGroup.Medium],["translate_light",r.TelemetryGroup.Medium],["process_legacy",r.TelemetryGroup.Slow],["publish",r.TelemetryGroup.Slow],["save",r.TelemetryGroup.Slow],["translate",r.TelemetryGroup.Slow],["translate_source",r.TelemetryGroup.Slow],["gen_alert",r.TelemetryGroup.Slow]])},427233:(e,t,i)=>{i.d(t,{RequestCache:()=>n,SingleRequestCache:()=>s});var r=i(541558);class n{constructor(){this._cache=new Map,window.loginStateChange&&window.loginStateChange.subscribe(this,this.clear)}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t)}delete(e){return this._cache.delete(e)}clear(){this._cache.clear()}}class s extends n{constructor(){super(),this._key=(0,r.guid)()}reset(e){super.set(this._key,e)}get(){return super.get(this._key)}clear(){super.clear()}}},854798:(e,t,i)=>{i.d(t,{Version:()=>n});var r=i(650151);class n{constructor(e,t){this._major=e,this._minor=t}major(){return this._major}minor(){return this._minor}isZero(){return 0===this._major&&0===this._minor}toString(){return this._major+"."+this._minor}compareTo(e){return this._majore._major?1:this._minore._minor?1:0}isLess(e){return this.compareTo(e)<0}isLessOrEqual(e){return this.compareTo(e)<=0}isEqual(e){return 0===this.compareTo(e)}isGreater(e){return this.compareTo(e)>0}isGreaterOrEqual(e){return this.compareTo(e)>=0}static parse(e){if(e instanceof n)return new n(e.major(),e.minor());if("number"==typeof e)return(0,r.assert)(Math.floor(e)===e,"Version should not be a float number"),new n(e,0);if("string"==typeof e){const t=e.split(".");if(1===t.length){const i=parseInt(t[0],10);return(0,r.assert)(!isNaN(i),"Bad version string: "+e),new n(i,0)}if(2===t.length){const i=parseInt(t[0],10);(0,r.assert)(!isNaN(i),"Bad version string: "+e);const s=parseInt(t[1],10);return(0,r.assert)(!isNaN(s),"Bad version string: "+e),new n(i,s)}throw new Error("Bad version string (one dot expected): "+e)}throw new Error("Bad version: "+e)}}n.ZERO=new n(0,0)},855611:(e,t,i)=>{i.d(t,{ FormattersSerializer:()=>u});var r=i(650151),n=i(624444),s=i(943994),o=i(541346);class a{constructor(e){this.type="quoteSessionPrice",this.reset(e)}state(){return this._priceFormatter.state()}reset(e){this._priceFormatter=e||new n.PriceFormatter(100,1,!1)}update(e,t){const i=null!=t.pricescale||null!=t.minmov||null!=t.fractional||null!=t.minmove2,r=null!=e.pricescale&&null!=e.minmov&&null!=e.fractional&&null!=e.minmove2;i&&r&&(this._priceFormatter=new n.PriceFormatter(e.pricescale,e.minmov,e.fractional||!1,e.minmove2))}format(e,t,i){return this._priceFormatter.format(e,t,i)}hasForexAdditionalPrecision(){return this._priceFormatter.hasForexAdditionalPrecision()}static serialize(e){return e.state()}static deserialize(e){const t=new n.PriceFormatter(e.priceScale,e.minMove,e.fractional,e.minMove2);return new a(t)}}const l={price:n.PriceFormatter,volume:s.VolumeFormatter,percentage:o.PercentageFormatter,quoteSessionPrice:a};var u;!function(e){function t(e){return(0,r.ensureDefined)(l[e.type]).deserialize(e.state)}e.serialize=function(e){const t=(0,r.ensureDefined)(l[e.type]);return{type:e.type,state:t.serialize(e)}},e.deserialize=t,e.safeDeserialize=function(e){try{return t(e)}catch(e){return null}}}(u||(u={}))},9027:(e,t,i)=>{i.d(t,{patchSourceState:()=>n});var r=i(444372);function n(e){const t={palettes:{},inputs:[{defval:2,id:"upper diviation",max:500,min:-500,name:r.t(null,void 0,i(572894)),type:"integer"},{defval:-2,id:"lower diviation",max:500,min:-500,name:r.t(null,void 0,i(696882)),type:"integer"},{defval:!0,id:"use upper diviation",name:r.t(null,void 0,i(36834)),type:"bool"},{defval:!0,id:"use lower diviation",name:r.t(null,void 0,i(14072)),type:"bool"},{defval:0,id:"first bar time",max:253370764800,min:0,name:r.t(null,void 0,i(312541)),type:"time"},{defval:0,id:"last bar time",max:253370764800,min:0,name:r.t(null,void 0,i(955034)),type:"time"},{defval:"close",id:"source",name:r.t(null,void 0,i(746147)),options:["open","high","low","close","hl2","hlc3","ohlc4"],type:"text"}],plots:[],graphics:{},defaults:{inputs:{"first bar time":0,"last bar time":0,"lower diviation":-2,source:"close","upper diviation":2,"use lower diviation":!0,"use upper diviation":!0}},_metainfoVersion:6,description:"Regression Trend",id:"RegressionTrend@tv-basicstudies",is_price_study:!0,shortDescription:"Reg Trend",shortId:"RegressionTrend",version:"2",fullId:"RegressionTrend@tv-basicstudies-2",name:"RegressionTrend@tv-basicstudies"};return e.metaInfo||(e.metaInfo=t),e}},173948:(e,t,i)=>{var r=i(922814);function n(e){var t=JSON.stringify(e);return t=t.replace(/'/g,"\\'")}e.exports={formatCallstudyArg:n,prepareCallStudyArgs:function(e,t){var i={};if(t.isTVScript){var s=t.defaults.inputs.text;i.text=r.patchILTemplate(s,t,e)}else for(var o=Object.keys(e),a=o.length-1;a>=0;a--){var l=o[a],u=e[l]?e[l].id:null;u&&e[u]&&(i[u]=e[u])}return n(i)}}},516684:(e,t,i)=>{var r=i(957879),n=i(345848).trackEvent,s=i(201089).getLogger("Pine.ScriptLib"),o=i(175203).telemetry,a={ fast:["delete","get","is_auth_to_get","is_auth_to_write","parse_title","rename","lib_list"],medium:["list","eval_pine_ex","translate_light"],slow:["process_legacy","publish","save","translate","translate_source","gen_alert"]},l=/[l|L]ines? (\d*)/;function u(e){if("object"==typeof e.reason)return e.reason;if(e.reason2)return e.reason2;const t={errors:[],warnings:[]},i=e.result&&e.result.metaInfo;if(i&&void 0!==i.warnings&&i.warnings.forEach((e=>t.warnings.push({message:e}))),e.reason){(Array.isArray(e.reason)?e.reason:e.reason.split("\n")).forEach((e=>{const i=e.match(l),r=i&&i.length&&Number(i[1]),n={message:e};if("number"==typeof r){n.start={line:r,column:0};const e=n.message.split(": ");e.shift(),n.message=e.join(": ")}t.errors.push(n)}))}return t}var d={getPineFacadeUrl:function(){return window.PINE_URL},PINE_FACADE_URL:function(){return window.PINE_URL}};d.safetyGetReason=u,d._pineFacadeAjax=function(e,t,i,n){s.logNormal("Requesting pine facade scripts, url: "+t);var l=function(e,t){for(var i=Object.keys(a),r=0;rDate.now()&&null!==c.request)return s.logNormal("Return fundamentals from cache"),c.request;s.logNormal("Request fundamental scripts");var e=d._pineFacadeAjax("GET","/list?filter=fundamental",void 0,!1);return e.then((function(e){s.logNormal("Request fundamental scripts finished")})),e.fail((function(e){s.logWarn("Request fundamental scripts finished with fail, resetting cache"),c.request=null})),c.time=Date.now(),c.request=Promise.resolve(e.promise()),c.request},d.publishNew=function(e,t){n("Pine","ScriptLib.publishNew");var i=r.Deferred(),s=window.user&&window.user.username,o="/publish/new/?access="+encodeURIComponent(t)+"&user_name="+encodeURIComponent(s),a={source:e};return d._pineFacadeAjax("POST",o,a).done((function(e,t,r){e.success?i.resolve(e):i.reject(u(e))})).fail((function(e,t,r){d._anyRequestAsyncFail(i,e)})),i.promise()},d.publishNext=function(e,t){s.logNormal("ScriptLib.publishNext","pine"),n("Pine","ScriptLib.publishNext");var i=r.Deferred(),o=window.user&&window.user.username,a="/publish/next/"+encodeURIComponent(t)+"?user_name="+encodeURIComponent(o),l={source:e};return d._pineFacadeAjax("POST",a,l).done((function(e,t,r){e.success||i.reject(u(e)),i.resolve(e)})).fail((function(e,t,r){d._anyRequestAsyncFail(i,e)})),i.promise()},d.lightTranslate=function(e,t){return s.logNormal("ScriptLib.lightTranslate","pine"),n("Pine","ScriptLib.lightTranslate"),new Promise((function(i,r){var n=window.user&&window.user.username,s=`/translate_light/?user_name=${encodeURIComponent(n)}`;t&&(s+=`&pine_id=${encodeURIComponent(t)}`);var o={source:e};d._pineFacadeAjax("POST",s,o).done((function(e,t,n){if(e.success)i(e.result);else{var s=e.result&&u(e.result)||u(e);r(s)}})).fail((function(e,t,i){d._anyRequestAsyncFail({reject:r},e)}))}))},d.getLibList=function(e,t,i){return s.logNormal("ScriptLib.getLibList","pine"),n("Pine","ScriptLib.getLibList"),new Promise((function(r,n){var s="/lib_list?lib_id_prefix="+encodeURIComponent(e);t&&(s+="&ignore_cache=true"),i&&(s+="&ignore_case=true"),d._pineFacadeAjax("GET",s).done((function(e,t,i){r(e)})).fail((function(e,t,i){d._anyRequestAsyncFail({reject:n},e)}))}))},d.getExistingLibraryInfo=async function(e){try{const t=await d.getLibList(e+"/last",!0,!0);if(!t.length)return null;const i=t[0];return{scriptIdPart:i.scriptIdPart,chartId:i.chartId,version:i.version}}catch(e){return null}},e.exports=d},819021:(e,t,i)=>{i.d(t,{migrateMetaInfoAndPropState:()=>d});var r=i(650151),n=i(526075),s=i(389137);const o=["PennantCP@tv-basicstudies","WedgeCP@tv-basicstudies"],a=["DoubleTopCP@tv-basicstudies","BullishFlagCP@tv-basicstudies","HeadAndShouldersCP@tv-basicstudies","TripleTopCP@tv-basicstudies"];class l{targetMetaInfoVersion(){return 53}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=53, void 0!==t.defaults&&void 0!==t.defaults.inputs&&(o.includes(t.id)||a.includes(t.id)&&Number(t.version)<156)){const e=t.defaults.inputs["Invert Pattern"];i.id=this._getNewIdStudies(t.id,e)}}migratePropState(e){}_getNewIdStudies(e,t){return e.startsWith("WedgeCP")?t?"WedgeFallingCP@tv-basicstudies":"WedgeRisingCP@tv-basicstudies":e.startsWith("PennantCP")?t?"PennantBearishCP@tv-basicstudies":"PennantBullishCP@tv-basicstudies":e.startsWith("DoubleTopCP")&&t?"DoubleBottomCP@tv-basicstudies":e.startsWith("BullishFlagCP")&&t?"BearishFlagCP@tv-basicstudies":e.startsWith("HeadAndShouldersCP")&&t?"HeadAndShouldersInverseCP@tv-basicstudies":e.startsWith("TripleTopCP")&&t?"TripleBottomCP@tv-basicstudies":e}}const u=[new class{targetMetaInfoVersion(){return 47}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=47,!t.defaults||void 0===t.defaults.precision)return void(i.format={type:"inherit"});const r=t.defaults&&t.defaults.precision,n=(0,s.isNumber)(r)?r:parseInt(r);0===n?i.format={type:"volume"}:isFinite(n)?i.format={type:"price",precision:n}:i.format={type:"inherit"},delete t.defaults.precision}migratePropState(e){}},new class{targetMetaInfoVersion(){return 50}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=50,void 0===t.defaults||void 0===t.defaults.ohlcPlots||void 0===t.ohlcPlots)return;const n=t.ohlcPlots,s=t.defaults.ohlcPlots,o=(0,r.ensureDefined)((0,r.ensureDefined)(i.defaults).ohlcPlots);for(const e of Object.keys(s)){const t=s[e];if("ohlc_candles"===t.plottype){let i=!1;const r=n[e];void 0!==r&&(i=!!r.drawBorder,delete r.drawBorder),o[e]={borderColor:"#000000",drawBorder:i,...t}}}}migratePropState(e){}},new class{targetMetaInfoVersion(){return 53}migrateMetaInfo(e){const t=e,i=e;if(i._metainfoVersion=53,void 0!==t.defaults){if(void 0!==t.defaults.ohlcPlots&&void 0!==t.ohlcPlots){const e=Object.keys(t.ohlcPlots),n=t.defaults.ohlcPlots,s=(0,r.ensureDefined)((0,r.ensureDefined)(i.defaults).ohlcPlots);for(const t of e){const e=n[t];if(void 0===e||void 0===e.visible)continue;const i=e.visible?15:0;delete e.visible,s[t]={display:i,...e}}}if(void 0!==t.defaults.styles&&void 0!==t.plots){const e=t.plots.map((e=>e.id)),n=t.defaults.styles,s=(0,r.ensureDefined)((0,r.ensureDefined)(i.defaults).styles);for(const t of e){const e=n[t];if(void 0===e||void 0===e.visible)continue;const i=e.visible?15:0;delete e.visible,s[t]={display:i,...e}}}}}migratePropState(e){if(e.ohlcPlots)for(const t of Object.keys(e.ohlcPlots)){const i=(0,r.ensureDefined)(e.ohlcPlots[t]);void 0!==i.visible&&(i.display=i.visible?15:0,delete i.visible)}if(e.styles)for(const t of Object.keys(e.styles)){const i=(0,r.ensureDefined)(e.styles[t]);void 0!==i.visible&&(i.display=i.visible?15:0,delete i.visible)}}}];function d(e,t){const i=n.StudyMetaInfo.versionOf(e),s=e;void 0===s._serverMetaInfoVersion&&(s._serverMetaInfoVersion=i);const o=["PennantCP@tv-basicstudies","WedgeCP@tv-basicstudies"].includes(e.id);u.forEach((n=>{(i<0||i>=n.targetMetaInfoVersion())&&!o||(n.migrateMetaInfo(e),void 0!==t&&n.migratePropState(t),(0, r.assert)(e._metainfoVersion===n.targetMetaInfoVersion()))}))}u.push(new l),u.sort((function(e,t){return e.targetMetaInfoVersion()-t.targetMetaInfoVersion()}))},827523:(e,t,i)=>{function r(e,t){return`${e}@${t}`}function n(e){return e.replace(/(@[^-]+-[^-]+).*$/,"$1")}i.d(t,{extractStudyId:()=>n,studyIdString:()=>r})},294142:(e,t,i)=>{i.d(t,{StudyVersioningBase:()=>c,log:()=>d});var r=i(650151),n=i(526075),s=i(626240),o=i.n(s),a=i(201089),l=i(389137),u=i(854798);const d=(0,a.getLogger)("Chart.Study.Versioning");class c{constructor(e,t){if(this._migrations={},!e)throw new Error("No studies metainfo");if(this._studiesMetainfo=e,!t)throw new Error("No studies migrations");this._studiesMigrations=t;for(let e=0;e{if(0===this._studiesMetainfo.length||!e.isTVScript||e.version>=22)return t;const i={};let r=0,n=0,s=t[n];for(;void 0!==s;){const e=t[s.id];s.isFake&&(s.id="in_"+r++),i[n]=s,i[s.id]=e,n++,s=t[n]}return i}]}updateStudyState(e,t,i){if(null==e||null==t||null==i)return e;e=(0,l.clone)(e),this.updateStudyInputsIfNeeded(e,t.version,i);for(const i of this._clientMigrations){const r=i.call(this,t,e.inputs);Object.keys(r).length===Object.keys(e.inputs).length?e.inputs=r:d.logWarn("StudyVersioning._clientMigrations application returned bad result. Skipping it...")}const r=n.StudyMetaInfo.versionOf(t);if(t.isTVScript&&t.TVScriptSourceCode&&r>=12&&r<=26){const r={};for(let e=0;et.id===e))).version}}},388545:(e,t,i)=>{i.d(t,{StudyVersioning:()=>f}) ;var r=i(294142),n=i(650151).assert,s=i(9027).patchSourceState,o=i(516684),a=i(520533).translateScriptAsync2,l=i(66974),u=i(526075).StudyMetaInfo,d=i(971417).extractPineId,c=i(819021).migrateMetaInfoAndPropState;const p=1e12;class f extends r.StudyVersioningBase{updateMetaInfo(e){if(!e)return e;n(!e.isTVScript,"This method should update only built-in java indicators metaInfo. For Pine indicators use updateMetaInfoAsync");for(var t=null,i=this._studiesMetainfo,r=0;r=12&&a<=26){var d=n.columns;n.columns=[];for(var c=0;c1e12&&r.log.logWarn("Bad integer input max value in metaInfo id="+e.id+" title="+e.description))}}static _fixInputsMaxValue(e,t){if(!TradingView.isAbsent(t)){var i=p;if(t.inputs)for(var r=0;ri&&(a.max=i))}if(e&&e.inputs){var n=f.splitInputs(e.inputs),s=n.arr;for(var o in s){var a;"integer"===(a=s[o]).type&&(a.max&&a.max>i&&(a.max=i))}e.inputs=TradingView.merge(n.obj,n.arr)}}}patchPropsStateAndMetaInfo(e,t,i){"Script$BOOKER"!==t.productId||t.alerts||delete e.alerts,f._fixInputsOrder(e,t),f._fixInputsMaxValue(e,t);var r=f.splitInputs(e.inputs);e.inputs=r.obj;var n=u.versionOf(t);ni&&(i=n))}e[i+1]=t}static splitInputs(e){var t={},i={};for(var r in e)isNumber(parseInt(r,10))?t[r]=e[r]:i[r]=e[r];return{arr:t,obj:i}}static findInputKeyById(e,t){var i=null;for(var r in e)if(isNumber(parseInt(r,10))&&e[r].id===t){i=r;break}return i} static getInputKeyById(e,t){var i=f.findInputKeyById(e,t);if(!i)throw new Error("Cannot find input with id: "+t);return i}}},168883:(e,t,i)=>{i.d(t,{translatedIntervalString:()=>n});var r=i(276871);function n(e){const t=(0,r.getTranslatedResolutionModel)(e,!0);return null===t?e:t.multiplier+(t.mayOmitShortKind?"":t.shortKind)}},95452:(e,t,i)=>{i.r(t),i.d(t,{getSeriesIdForAlert:()=>o,getStudyIdForAlert:()=>a});var r=i(96080),n=i(97948),s=i(223699);function o(e,t){return(0,r.hash)(e+s.Interval.normalize(t)).toString()}function a(e,t,i){return(0,r.hash)(e+(0,n.sortedStringify)(t)+(null!=i?i:"")).toString()}},782856:(e,t,i)=>{var r;i.d(t,{DataSourceDangerReason:()=>r}),function(e){e.Spread="spread",e.PineRepainting="pine-repainting",e.CryptoCap="cryptocap"}(r||(r={}))},168682:(e,t,i)=>{var r=i(552698).isStudyStateForAlertType,n=i(368135),s=i(29469).generateTitleForGui,o=i(201089).getLogger("Alerts.Band"),a=i(444331),l=i(31341),u=i(918208).lineToolsLocalizedNames;TradingView="object"==typeof i.g?i.g.TradingView:TradingView||{};var d={create:function(e){var t,i=e||{},n=i.type;if("MainSeries"===n)t=p;else if(r(n,!0))t=f;else if("Value"===n)t=v;else{if(!/^LineTool.*/i.test(n))return o.logError("Unknown alert band type "+n),null;t=h}return new t(i)}};function c(e){this._band=e||{}}function p(){c.apply(this,arguments)}function f(){c.apply(this,arguments)}function v(){c.apply(this,arguments)}function h(){c.apply(this,arguments)}c.prototype.id=function(){return this._band.id},c.prototype.type=function(){return this._band.type},c.prototype.title=function(){return this._band.title},c.prototype.isTVScript=function(){return this._band.isTVScript},c.prototype.scriptVersion=function(){return this._band.scriptVersion},c.prototype.hasPlots=function(){return this._band.plots&&this._band.plots.length},c.prototype.getActualSymbol=function(){return this._band.actualSymbol},c.prototype.getSymbolString=function(){return this._band.symbolString},c.prototype.getPlotTitle=function(e){return e.title?e.title:n.isOhlcOpenPlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(539280)):n.isOhlcHighPlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(330777)):n.isOhlcLowPlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(608136)):n.isOhlcClosePlot(e)?e.ohlcTitle+" "+i.tf(null,void 0,i(931691)):"vol"===e.id?i.tf(null,void 0,i(101111)):"vol_ma"===e.id?i.tf(null,void 0,i(932998)):"open"===e.id?i.tf(null,void 0,i(539280)):"high"===e.id?i.tf(null,void 0,i(330777)):"low"===e.id?i.tf(null,void 0,i(608136)):"close"===e.id?i.tf(null,void 0,i(931691)):e.id},c.prototype.getPlots=function(e){var t=e||{};if(!this._band.plots||!this._band.plots.length)return this._band.plots;if("inputSelect"===t.format){var i=-1;return this._band.plots.map((function(e){return{value:++i,title:this.getPlotTitle(e)}}),this)}return this._band.plots},c.prototype.hasUsualPlots=function(){var e=this._band.plots;return!e||e.filter(n.isAlertConditionPlot).length{var r;function n(e,t){let i="Study"===e||e===r.StudyLineTool||/^study_\w+/.test(e);return t&&(i=i||"StudyStrategy"===e),i}i.r(t),i.d(t,{StateForAlertType:()=>r,isStudyStateForAlertType:()=>n}),function(e){e.MainSeries="MainSeries",e.Study="Study",e.StudyLineTool="StudyLineTool",e.StudyStrategy="StudyStrategy"}(r||(r={}))},735337:(e,t,i)=>{i.d(t,{showGoProAlertsOnSecondsDialog:()=>n});var r=i(960337);function n(){(0,r.createGoProDialog)({feature:"alertsOnSeconds"})}},103221:(e,t,i)=>{function r(e){let t;if("object"!=typeof e||null==e||"number"==typeof e.nodeType)t=e;else if(e instanceof Date)t=new Date(e.valueOf());else if(Array.isArray(e)){t=[];let i=0;const n=e.length;for(;ir})}}]);