overtime-live-trading-utils 0.1.12 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.ts +10 -0
- package/main.js +1 -1
- package/package.json +1 -1
- package/src/constants/common.ts +7 -0
- package/src/constants/sports.ts +1081 -11
- package/src/enums/sports.ts +217 -212
- package/src/enums/statuses.ts +21 -0
- package/src/utils/bookmakers.ts +99 -119
- package/src/utils/constraints.ts +240 -0
- package/src/utils/gameMatching.ts +2 -1
- package/src/utils/markets.ts +243 -0
- package/src/utils/odds.ts +372 -56
- package/src/utils/sports.ts +53 -224
package/index.ts
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
//utils
|
|
2
2
|
export * from './src/utils/bookmakers';
|
|
3
3
|
export * from './src/utils/gameMatching';
|
|
4
|
+
export * from './src/utils/markets';
|
|
4
5
|
export * from './src/utils/odds';
|
|
5
6
|
export * from './src/utils/sports';
|
|
7
|
+
export * from './src/utils/constraints';
|
|
6
8
|
export * from './src/utils/spread';
|
|
9
|
+
|
|
10
|
+
// constants
|
|
11
|
+
export * from './src/constants/common';
|
|
12
|
+
// export * from './src/constants/constantsOpticodds';
|
|
13
|
+
export * from './src/constants/sports';
|
|
14
|
+
|
|
15
|
+
export * from './src/enums/sports';
|
|
16
|
+
export * from './src/enums/statuses';
|
package/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(r,a){"object"==typeof exports&&"object"==typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?exports.thalesUtils=a():r.thalesUtils=a()}(this,(()=>(()=>{"use strict";var r={d:(a,e)=>{for(var i in e)r.o(e,i)&&!r.o(a,i)&&Object.defineProperty(a,i,{enumerable:!0,get:e[i]})},o:(r,a)=>Object.prototype.hasOwnProperty.call(r,a),r:r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})}},a={};r.r(a),r.d(a,{adjustSpreadOnOdds:()=>q,allowGameSportWithPeriodConstraint:()=>G,allowGameSportWithResultConstraint:()=>W,allowSoccerGame:()=>I,calculateImpliedOddsDifference:()=>p,checkGameContraints:()=>x,checkOddsFromBookmakers:()=>w,extractOddsForGamePerProvider:()=>K,fetchResultInCurrentSet:()=>U,gamesDatesMatching:()=>z,getBookmakersArray:()=>u,getLeagueSport:()=>M,getSpreadData:()=>J,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(r,a){if(null==r)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(r),i=1;i<arguments.length;i++){var t=arguments[i];if(null!=t)for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e});var e=function(r){return parseFloat(r.toPrecision(12))};function i(r,a,e){return void 0===e||0==+e?Math[r](a):(a=+a,e=+e,isNaN(a)||"number"!=typeof e||e%1!=0?NaN:a<0?-i(r,-a,e):(a=a.toString().split("e"),+((a=(a=Math[r](+(a[0]+"e"+(a[1]?+a[1]-e:-e)))).toString().split("e"))[0]+"e"+(a[1]?+a[1]+e:e))))}var t,o,s={decimal:{from:function(r){if((r=parseFloat(r))<=1)throw new Error("Outside valid range.");return r},to:function(){return this.decimalValue}},moneyline:{from:function(r){return(r=parseFloat(r))>=0?r/100+1:100/-r+1},to:function(){return this.decimalValue>=2?e(100*(this.decimalValue-1)):e(-100/(this.decimalValue-1))}},hongKong:{from:function(r){if((r=parseFloat(r))<0)throw new Error("Outside valid range.");return r+1},to:function(){return e(this.decimalValue-1)}},impliedProbability:{from:function(r){if((r="string"==typeof r&&"%"==r.slice(-1)?parseFloat(r)/100:parseFloat(r))<=0||r>=1)throw new Error("Outside valid range");return 1/r},to:function(r){if(r.percentage){var a=e(100/this.decimalValue);return null!==r.precision&&(a=i("round",a,-r.precision)),a.toString()+"%"}return e(1/this.decimalValue)}},fractional:{from:function(r){var a,e=r.toString().split("/");if(r=parseFloat(e[0]),2===e.length)a=parseFloat(e[1]);else{if(1!==e.length)throw new Error("Invalid fraction");a=1}if(0===r||0===a||r/a<=0)throw new Error("Outside valid range");return 1+r/a},to:function(r){return function(r,a){for(var e,i=[0,1],t=[1,0],o=function(r){var a=null,e=r.toString().indexOf("E");-1==e&&(e=r.toString().indexOf("e"));var i=null,t=(a=-1==e?r.toString():r.toString().substring(0,e)).toString().indexOf(".");-1==t?i=a:0===t?i=a.substring(1,a.length):t<a.length&&(i=a.substring(0,t)+a.substring(t+1,a.length));var o=i,s=o.toString().length,l=r,n=l.toString().length;0===l&&(n=0);var d,u=s-n;for(d=u;d>0&&o%2==0;d--)o/=2;for(d=u;d>0&&o%5==0;d--)o/=5;return o}(r),s=r,l=Math.pow(10,-a)/2,n=2;n<1e3;n++){var d=Math.floor(s);if(i[n]=d*i[n-1]+i[n-2],Math.abs(i[n])>o)return;if(t[n]=d*t[n-1]+t[n-2],e=i[n]/t[n],Math.abs(e-r)<l||NaN==e)return i[n].toString()+"/"+t[n].toString();s=1/(s-d)}}(this.decimalValue-1,r.precision||12)}},malay:{from:function(r){if((r=parseFloat(r))<=-1||r>1)throw new Error("Outside valid range.");return r<0&&(r=-1/r),r+1},to:function(){return this.decimalValue<=2?e(this.decimalValue-1):e(-1/(this.decimalValue-1))}},indonesian:{from:function(r){if(0===(r=parseFloat(r)))throw new Error("Outside valid range.");return r>=1?r+1:-1/r+1},to:function(){return this.decimalValue<2?e(-1/(this.decimalValue-1)):e(this.decimalValue-1)}}},l=((o=function(r){if("number"!=typeof r||isNaN(r))throw new Error("Invalid odds");this.decimalValue=e(r)}).prototype=(t=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,t.from=function(r,a){if(!s.hasOwnProperty(r))throw new Error("Unknown format "+r+".");var e=s[r].from(a);return new o(e)},t);l.prototype.to=function(r,a){if(!s.hasOwnProperty(r))throw new Error("Unknown format "+r+".");a=Object.assign({precision:null,percentage:!1},a);var e=s[r].to.call(this,a);return"number"==typeof e&&null!==a.precision&&(e=i("round",e,-a.precision)),e};var n,d=l.from,u=function(r,a,e){var i=r.find((function(r){return Number(r.sportId)===Number(a)}));if(i){if(""==i.primaryBookmaker)return e;var t=[];return i.primaryBookmaker&&t.push(i.primaryBookmaker),i.secondaryBookmaker&&t.push(i.secondaryBookmaker),i.tertiaryBookmaker&&t.push(i.tertiaryBookmaker),t}return e},w=function(r,a,e,i,t){var o=a.some((function(a){var i=r.get(a);return!!i&&(0===i.homeOdds||0===i.awayOdds||!e&&0===i.drawOdds||1===i.homeOdds||1===i.awayOdds||!e&&1===i.drawOdds)}));if(1==a.length){if(o)return[{homeOdds:0,awayOdds:0,drawOdds:0}];var s=a[0],l=r.get(s);return[{homeOdds:l.homeOdds,awayOdds:l.awayOdds,drawOdds:e?0:l.drawOdds}]}if(o)return[{homeOdds:0,awayOdds:0,drawOdds:0}];var n=r.get(a[0]),u=n.homeOdds,w=n.awayOdds,c=n.drawOdds;if(a.slice(1).some((function(a){var o=r[a];if(o){var s=o.homeOdds,l=o.awayOdds,n=o.drawOdds,b=d("decimal",u).to("impliedProbability"),m=d("decimal",w).to("impliedProbability"),v=e?0:d("decimal",c).to("impliedProbability"),f=d("decimal",s).to("impliedProbability"),g=d("decimal",l).to("impliedProbability"),A=e?0:d("decimal",n).to("impliedProbability"),h=p(b,f),D=p(m,g),y=e?0:p(v,A);if(h>i&&b>t&&f>t||D>i&&m>t&&g>t||!e&&y>i&&v>t&&A>t)return!0}return!1})))return console.log("Returning zero odds due to percentage difference"),[{homeOdds:0,awayOdds:0,drawOdds:0}];var b=[];return a.forEach((function(a){return b.push(r.get(a))})),null!=b[0]?b.map((function(r){return{homeOdds:r.homeOdds,awayOdds:r.awayOdds,drawOdds:e?0:r.drawOdds}})):(console.log("Returning zero odds cause no matching bookmakers have been found"),[{homeOdds:0,awayOdds:0,drawOdds:0}])},p=function(r,a){var e=Math.abs(r-a)/r*100;return console.log("% diff: "+e),e},c="Soccer",b="Football",m="Basketball",v="Baseball",f="Hockey",g="Fighting",A="Tennis",h="eSports",D="Rugby",y="Volleyball",O="Handball",C="Cricket",S="Motosport",N="Golf",L=153,_=156,k=158,P=9977,T=9983,V=10138,B=100021,E=100121,F=[P,T,V,L,_,k,15312,15313,15314,15315,15316,15317,15318,15622,15623,15624,15625,15626,15627,15628,15632,15633,15634,15635,15636,15637,15638,15641,15642,15643,15644,15645,15646,15647,15648,15322,15323,15324,15325,15326,15327,15328],j=((n={})[1]={sport:b,id:1,isDrawAvailable:!1},n[2]={sport:b,id:2,isDrawAvailable:!1},n[3]={sport:v,id:3,isDrawAvailable:!1},n[4]={sport:m,id:4,isDrawAvailable:!1},n[5]={sport:m,id:5,isDrawAvailable:!1},n[6]={sport:f,id:6,isDrawAvailable:!1},n[7]={sport:g,id:7,isDrawAvailable:!1},n[8]={sport:m,id:8,isDrawAvailable:!1},n[10]={sport:c,id:10,isDrawAvailable:!0},n[11]={sport:c,id:11,isDrawAvailable:!0},n[12]={sport:c,id:12,isDrawAvailable:!0},n[13]={sport:c,id:13,isDrawAvailable:!0},n[14]={sport:c,id:14,isDrawAvailable:!0},n[15]={sport:c,id:15,isDrawAvailable:!0},n[16]={sport:c,id:16,isDrawAvailable:!0},n[17]={sport:c,id:17,isDrawAvailable:!0},n[18]={sport:c,id:18,isDrawAvailable:!0},n[19]={sport:c,id:19,isDrawAvailable:!0},n[20]={sport:C,id:20,isDrawAvailable:!1},n[21]={sport:C,id:21,isDrawAvailable:!1},n[33]={sport:f,id:33,isDrawAvailable:!0},n[44]={sport:c,id:44,isDrawAvailable:!0},n[45]={sport:c,id:45,isDrawAvailable:!0},n[50]={sport:c,id:50,isDrawAvailable:!0},n[57]={sport:c,id:57,isDrawAvailable:!0},n[61]={sport:c,id:61,isDrawAvailable:!0},n[65]={sport:c,id:65,isDrawAvailable:!0},n[66]={sport:c,id:66,isDrawAvailable:!0},n[76]={sport:c,id:76,isDrawAvailable:!0},n[132]={sport:c,id:132,isDrawAvailable:!0},n[134]={sport:c,id:134,isDrawAvailable:!0},n[138]={sport:c,id:138,isDrawAvailable:!0},n[141]={sport:c,id:141,isDrawAvailable:!0},n[152]={sport:A,id:152,isDrawAvailable:!1},n[153]={sport:A,id:L,isDrawAvailable:!1},n[156]={sport:A,id:_,isDrawAvailable:!1},n[158]={sport:A,id:k,isDrawAvailable:!1},n[209]={sport:c,id:209,isDrawAvailable:!0},n[230]={sport:c,id:230,isDrawAvailable:!0},n[268]={sport:c,id:268,isDrawAvailable:!0},n[288]={sport:c,id:288,isDrawAvailable:!0},n[296]={sport:c,id:296,isDrawAvailable:!0},n[380]={sport:O,id:380,isDrawAvailable:!0},n[381]={sport:O,id:381,isDrawAvailable:!0},n[399]={sport:m,id:399,isDrawAvailable:!1},n[406]={sport:m,id:406,isDrawAvailable:!1},n[407]={sport:m,id:407,isDrawAvailable:!1},n[409]={sport:m,id:409,isDrawAvailable:!1},n[445]={sport:S,id:445,isDrawAvailable:!1},n[453]={sport:y,id:453,isDrawAvailable:!1},n[454]={sport:y,id:454,isDrawAvailable:!1},n[8910]={sport:"TableTennis",id:8910,isDrawAvailable:!1},n[497]={sport:S,id:497,isDrawAvailable:!1},n[536]={sport:c,id:536,isDrawAvailable:!0},n[8881]={sport:"Waterpolo",id:8881,isDrawAvailable:!0},n[8893]={sport:y,id:8893,isDrawAvailable:!1},n[8894]={sport:y,id:8894,isDrawAvailable:!1},n[9196]={sport:g,id:9196,isDrawAvailable:!1},n[9578]={sport:D,id:9578,isDrawAvailable:!0},n[9588]={sport:D,id:9588,isDrawAvailable:!0},n[9698]={sport:f,id:9698,isDrawAvailable:!0},n[9699]={sport:f,id:9699,isDrawAvailable:!0},n[9806]={sport:c,id:9806,isDrawAvailable:!0},n[9821]={sport:c,id:9821,isDrawAvailable:!0},n[9977]={sport:h,id:P,isDrawAvailable:!1},n[9983]={sport:h,id:T,isDrawAvailable:!1},n[10071]={sport:m,id:10071,isDrawAvailable:!1},n[10072]={sport:m,id:10072,isDrawAvailable:!1},n[10502]={sport:m,id:10502,isDrawAvailable:!1},n[10138]={sport:h,id:V,isDrawAvailable:!1},n[10199]={sport:c,id:10199,isDrawAvailable:!0},n[10216]={sport:c,id:10216,isDrawAvailable:!0},n[10595]={sport:g,id:10595,isDrawAvailable:!1},n[10611]={sport:c,id:10611,isDrawAvailable:!0},n[10613]={sport:c,id:10613,isDrawAvailable:!0},n[10615]={sport:c,id:10615,isDrawAvailable:!0},n[2e4]={sport:"Politics",id:2e4,isDrawAvailable:!1},n[20001]={sport:c,id:20001,isDrawAvailable:!0},n[20002]={sport:c,id:20002,isDrawAvailable:!0},n[20011]={sport:c,id:20011,isDrawAvailable:!0},n[20101]={sport:c,id:20101,isDrawAvailable:!0},n[20102]={sport:c,id:20102,isDrawAvailable:!0},n[20103]={sport:c,id:20103,isDrawAvailable:!0},n[20104]={sport:c,id:20104,isDrawAvailable:!0},n[20105]={sport:c,id:20105,isDrawAvailable:!0},n[20106]={sport:c,id:20106,isDrawAvailable:!0},n[20107]={sport:c,id:20107,isDrawAvailable:!0},n[20108]={sport:c,id:20108,isDrawAvailable:!0},n[20109]={sport:c,id:20109,isDrawAvailable:!0},n[20110]={sport:c,id:20110,isDrawAvailable:!0},n[20111]={sport:c,id:20111,isDrawAvailable:!0},n[20112]={sport:c,id:20112,isDrawAvailable:!0},n[20113]={sport:c,id:20113,isDrawAvailable:!0},n[20114]={sport:c,id:20114,isDrawAvailable:!0},n[20115]={sport:c,id:20115,isDrawAvailable:!0},n[20116]={sport:c,id:20116,isDrawAvailable:!0},n[20117]={sport:c,id:20117,isDrawAvailable:!0},n[20118]={sport:c,id:20118,isDrawAvailable:!0},n[20119]={sport:c,id:20119,isDrawAvailable:!0},n[20120]={sport:c,id:20120,isDrawAvailable:!0},n[20121]={sport:c,id:20121,isDrawAvailable:!0},n[20122]={sport:c,id:20122,isDrawAvailable:!0},n[20123]={sport:c,id:20123,isDrawAvailable:!0},n[20124]={sport:c,id:20124,isDrawAvailable:!0},n[20125]={sport:c,id:20125,isDrawAvailable:!0},n[20126]={sport:c,id:20126,isDrawAvailable:!0},n[20127]={sport:c,id:20127,isDrawAvailable:!0},n[20200]={sport:m,id:20200,isDrawAvailable:!1},n[100021]={sport:N,id:B,isDrawAvailable:!1},n[100121]={sport:N,id:E,isDrawAvailable:!1},n),M=function(r){var a=j[r];return a?a.sport:""},x=function(r,a,e){var i=r.score_home_total,t=r.score_away_total,o=r.clock,s=r.period,l=r.status,n=r.home_team,d=r.away_team,u=parseInt(s),w=M(a);return"completed"==l.toLowerCase()?{allow:!1,message:"Blocking game ".concat(n," - ").concat(d," because it is no longer live.")}:w===m?G(n,d,u,e.get(m)):w===f?G(n,d,u,e.get(f)):w===v?G(n,d,u,e.get(v)):w===c?I(n,d,o,s,e.get(c)):w===A?W(r,n,d,s,i,t,a,w):w===y?W(r,n,d,u,i,t,a,w):{allow:!0,message:"The sport ".concat(a," does not have constraint")}},G=function(r,a,e,i){return!Number.isNaN(e)&&e>=i?{allow:!1,message:"Blocking game ".concat(r," - ").concat(a," due to period: ").concat(e,". period")}:{allow:!0,message:""}},I=function(r,a,e,i,t){var o=Number(e);return!Number.isNaN(o)&&o>=t||Number.isNaN(o)&&"HALF"!=i?{allow:!1,message:"Blocking game ".concat(r," - ").concat(a," due to clock: ").concat(e,"min")}:{allow:!0,message:""}},W=function(r,a,e,i,t,o,s,l){var n=Number(i),d=U(n,r),u="atp"==r.league.toLowerCase(),w={home:t,away:o};return l==y?R(a,e,d,w,2,5==n?10:20):s.toString().startsWith(L)&&u?R(a,e,d,w,2,5):s.toString().startsWith(L)&&!u||s.toString().startsWith(_)||s.toString().startsWith(k)||s.toString().startsWith(152)?R(a,e,d,w,1,5):{allow:!0,message:"The sport ".concat(s," does not have result constraint")}},U=function(r,a){var e=0,i=0;switch(r){case 1:e=Number(a.score_home_period_1),i=Number(a.score_away_period_1);break;case 2:e=Number(a.score_home_period_2),i=Number(a.score_away_period_2);break;case 3:e=Number(a.score_home_period_3),i=Number(a.score_away_period_3);break;case 4:e=Number(a.score_home_period_4),i=Number(a.score_away_period_4);break;case 5:e=Number(a.score_home_period_5),i=Number(a.score_away_period_5)}return{home:e,away:i}},R=function(r,a,e,i,t,o){return Number(i.home)!=t&&Number(i.away)!=t||!(Number(i.home)==t&&e.home>=o||Number(i.away)==t&&e.away>=o)?{allow:!0,message:"",currentHomeGameScore:e.home,currentAwayGameScore:e.away}:{allow:!1,message:"Blocking game ".concat(r," - ").concat(a," due to current result: ").concat(i.home," - ").concat(i.away," (").concat(e.home," - ").concat(e.away,")")}},H=function(r,a,e,i,t,o){var s,l;if(F.includes(r)?(s=i.toLowerCase()==a.toLowerCase()||i.toLowerCase()==e.toLowerCase(),l=t.toLowerCase()==a.toLowerCase()||t.toLowerCase()==e.toLowerCase()):(s=i.toLowerCase()==a.toLowerCase(),l=t.toLowerCase()==e.toLowerCase()),!0!==s){var n=o.get(i.toLowerCase()),d=o.get(a.toLowerCase()),u=o.get(e.toLowerCase());if([n,d].some((function(r){return null==r})))return!1;s=F.includes(r)?n==d||n==u:n==d}if(!0!==l){var w=o.get(t.toLowerCase());if(d=o.get(a.toLowerCase()),[w,u=o.get(e.toLowerCase())].some((function(r){return null==r})))return!1;l=F.includes(r)&&w==d||w==u}return s&&l},z=function(r,a,e,i){var t;if(M(e)==A){var o=a.getTime(),s=r.getTime();t=Math.abs(s-o)<=Number(60*i*1e3)}else t=a.toUTCString()==r.toUTCString();return t},K=function(r,a,e,i,t){var o=new Map;return r.forEach((function(r){var s,l,n=a.odds.filter((function(a){return a.sports_book_name.toLowerCase()==r.toLowerCase()})),d=i.get(e.homeTeam.toLowerCase()),u=i.get(e.awayTeam.toLowerCase()),w=0;null!=(s=null==d?n.find((function(r){var a=i.get(r.name.toLowerCase());return null==a?r.name.toLowerCase()==e.homeTeam.toLowerCase():a==e.homeTeam.toLowerCase()})):n.find((function(r){var a=i.get(r.name.toLowerCase());return null==a?r.name.toLowerCase()==d:a==d})))&&(w=s.price);var p=0;null!=(l=null==u?n.find((function(r){var a=i.get(r.name.toLowerCase());return null==a?r.name.toLowerCase()==e.awayTeam.toLowerCase():a==e.awayTeam.toLowerCase()})):n.find((function(r){var a=i.get(r.name.toLowerCase());return null==a?r.name.toLowerCase()==u:a==u})))&&(p=l.price);var c=0;if(t){var b=n.find((function(r){return"draw"==r.name.toLowerCase()}));null!=b&&(c=b.price)}o.set(r.toLowerCase(),{homeOdds:w,awayOdds:p,drawOdds:c})})),o},q=function(r,a,e){if(r.some((function(r){return 0===r})))return r;var i=r.reduce((function(r,a){return r+a}),0);if(i<=1)return Array(r.length).fill(0);if(0===e){if(!(a>100*(i-1)))return r;e=a}var t=1+e/100,o=t/i,s=r.map((function(r){return r*o}));if(s.some((function(r){return r>=1})))return Array(r.length).fill(0);var l=s.reduce((function(r,a){return r+a}),0);if(l<1)return Array(r.length).fill(0);var n=t/l;return s.map((function(r){return r*n}))},J=function(r,a,e,i){var t=r.find((function(r){return Number(r.typeId)===Number(e)&&Number(r.sportId)===Number(a)}));return t?{minSpread:t.minSpread?Number(t.minSpread):i,targetSpread:t.targetSpread?Number(t.targetSpread):0}:{minSpread:i,targetSpread:0}};return a})()));
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={d:(r,E)=>{for(var i in E)e.o(E,i)&&!e.o(r,i)&&Object.defineProperty(r,i,{enumerable:!0,get:E[i]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},r={};e.r(r),e.d(r,{AMERICAN_LEAGUES:()=>v,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>y,LEAGUES_NO_LIVE_CONSTRAINTS:()=>c,LIVE_TYPE_ID_BASE:()=>Q,League:()=>T,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>b,LeagueIdMapRundown:()=>U,LeagueMap:()=>P,MIN_ODDS_FOR_DIFF_CHECKING:()=>X,MULTIPLIER_100:()=>Z,MatchResolveType:()=>S,MoneylineTypes:()=>s,PeriodType:()=>I,Provider:()=>O,ScoringType:()=>N,Sport:()=>A,SpreadTypes:()=>_,TAG_CHILD_SPREAD:()=>j,TAG_CHILD_TOTALS:()=>z,TotalTypes:()=>p,UFC_LEAGUE_IDS:()=>C,ZERO:()=>k,adjustSpreadOnOdds:()=>J,allowGameSportWithPeriodConstraint:()=>Se,allowGameSportWithResultConstraint:()=>Oe,allowSoccerGame:()=>Ie,calculateImpliedOddsDifference:()=>M,checkGameContraints:()=>Ne,checkOddsFromBookmakers:()=>d,createSpreadChildMarkets:()=>_e,createTotalChildMarkets:()=>pe,fetchResultInCurrentSet:()=>le,filterOddsByMarketNameBookmaker:()=>ie,filterOddsByMarketNameTeamNameBookmaker:()=>re,formatSpreadOdds:()=>oe,gamesDatesMatching:()=>W,getBetTypesForLeague:()=>h,getBookmakersArray:()=>R,getIsLiveSupported:()=>V,getLeagueIsDrawAvailable:()=>D,getLeagueLabel:()=>m,getLeagueOpticOddsName:()=>B,getLeaguePeriodType:()=>Y,getLeagueProvider:()=>F,getLeagueSport:()=>u,getLeagueSpreadType:()=>f,getLeagueTotalType:()=>w,getLiveSupportedLeagues:()=>g,getParentOdds:()=>Ee,getSpreadData:()=>q,groupAndFormatSpreadOdds:()=>ae,groupOddsBySelectionAndPoints:()=>Le,processMarket:()=>Te,processTotalOdds:()=>te,statusCodes:()=>x,teamNamesMatching:()=>H}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var E=Object(e),i=1;i<arguments.length;i++){var o=arguments[i];if(null!=o)for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(E[a]=o[a])}return E});var E=function(e){return parseFloat(e.toPrecision(12))};function i(e,r,E){return void 0===E||0==+E?Math[e](r):(r=+r,E=+E,isNaN(r)||"number"!=typeof E||E%1!=0?NaN:r<0?-i(e,-r,E):(r=r.toString().split("e"),+((r=(r=Math[e](+(r[0]+"e"+(r[1]?+r[1]-E:-E)))).toString().split("e"))[0]+"e"+(r[1]?+r[1]+E:E))))}var o,a,t={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?E(100*(this.decimalValue-1)):E(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return E(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(e){if(e.percentage){var r=E(100/this.decimalValue);return null!==e.precision&&(r=i("round",r,-e.precision)),r.toString()+"%"}return E(1/this.decimalValue)}},fractional:{from:function(e){var r,E=e.toString().split("/");if(e=parseFloat(E[0]),2===E.length)r=parseFloat(E[1]);else{if(1!==E.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var E,i=[0,1],o=[1,0],a=function(e){var r=null,E=e.toString().indexOf("E");-1==E&&(E=e.toString().indexOf("e"));var i=null,o=(r=-1==E?e.toString():e.toString().substring(0,E)).toString().indexOf(".");-1==o?i=r:0===o?i=r.substring(1,r.length):o<r.length&&(i=r.substring(0,o)+r.substring(o+1,r.length));var a=i,t=a.toString().length,L=e,A=L.toString().length;0===L&&(A=0);var T,s=t-A;for(T=s;T>0&&a%2==0;T--)a/=2;for(T=s;T>0&&a%5==0;T--)a/=5;return a}(e),t=e,L=Math.pow(10,-r)/2,A=2;A<1e3;A++){var T=Math.floor(t);if(i[A]=T*i[A-1]+i[A-2],Math.abs(i[A])>a)return;if(o[A]=T*o[A-1]+o[A-2],E=i[A]/o[A],Math.abs(E-e)<L||NaN==E)return i[A].toString()+"/"+o[A].toString();t=1/(t-T)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?E(this.decimalValue-1):E(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?E(-1/(this.decimalValue-1)):E(this.decimalValue-1)}}},L=((a=function(e){if("number"!=typeof e||isNaN(e))throw new Error("Invalid odds");this.decimalValue=E(e)}).prototype=(o=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,o.from=function(e,r){if(!t.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var E=t[e].from(r);return new a(E)},o);L.prototype.to=function(e,r){if(!t.hasOwnProperty(e))throw new Error("Unknown format "+e+".");r=Object.assign({precision:null,percentage:!1},r);var E=t[e].to.call(this,r);return"number"==typeof E&&null!==r.precision&&(E=i("round",E,-r.precision)),E};var A,T,s,_,p,N,S,I,O,l,n=L.from,R=function(e,r,E){var i=e.find((function(e){return Number(e.sportId)===Number(r)}));if(i){if(""==i.primaryBookmaker)return E;var o=[];return i.primaryBookmaker&&o.push(i.primaryBookmaker),i.secondaryBookmaker&&o.push(i.secondaryBookmaker),i.tertiaryBookmaker&&o.push(i.tertiaryBookmaker),o}return E},d=function(e,r,E,i,o){var a=e.get(r[0]);if(!a)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var t=a.homeOdds,L=a.awayOdds,A=E?0:a.drawOdds;if(r.some((function(r){var i=e.get(r);return!!i&&(0===i.homeOdds||0===i.awayOdds||!E&&0===i.drawOdds||1===i.homeOdds||1===i.awayOdds||!E&&1===i.drawOdds)})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"};if(1==r.length)return{homeOdds:t,awayOdds:L,drawOdds:E?0:A};if(r.slice(1).some((function(r){var a=e[r];if(a){var T=a.homeOdds,s=a.awayOdds,_=a.drawOdds,p=n("decimal",t).to("impliedProbability"),N=n("decimal",L).to("impliedProbability"),S=E?0:n("decimal",A).to("impliedProbability"),I=n("decimal",T).to("impliedProbability"),O=n("decimal",s).to("impliedProbability"),l=E?0:n("decimal",_).to("impliedProbability"),R=M(p,I),d=M(N,O),P=E?0:M(S,l);if(R>i&&p>o&&I>o||d>i&&N>o&&O>o||!E&&P>i&&S>o&&l>o)return!0}return!1})))return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"};var T=[];return r.forEach((function(r){return T.push(e.get(r))})),{homeOdds:t,awayOdds:L,drawOdds:E?0:A}},M=function(e,r){var E=Math.abs(e-r)/e*100;return console.log("% diff: "+E),E};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.EMPTY=""}(A||(A={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_CUP=132]="ENGLAND_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.EUROCUP=20200]="EUROCUP",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1=15312]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2=15313]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3=15314]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4=15315]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5=15316]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6=15317]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7=15318]="TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15322]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15323]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15324]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15325]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15326]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15327]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15328]="TENNIS_WTA_LIVE_MAPPING_V2_7"}(T||(T={})),function(e){e.MONEYLINE="Moneyline"}(s||(s={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.RUN_LINE="Run Line"}(_||(_={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(p||(p={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.EMPTY=""}(N||(N={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(S||(S={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.EMPTY=""}(I||(I={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(O||(O={}));var P=((l={})[T.NCAAF]={sport:A.FOOTBALL,id:T.NCAAF,label:"NCAA Football",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.NFL]={sport:A.FOOTBALL,id:T.NFL,label:"NFL",opticOddsName:"NFL",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.MLB]={sport:A.BASEBALL,id:T.MLB,label:"MLB",opticOddsName:"MLB",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.RUN_LINE,p.TOTAL_RUNS]},l[T.NBA]={sport:A.BASKETBALL,id:T.NBA,label:"NBA",opticOddsName:"NBA",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.NCAAB]={sport:A.BASKETBALL,id:T.NCAAB,label:"NCAA Basketball",provider:O.RUNDOWN,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.NHL]={sport:A.HOCKEY,id:T.NHL,label:"NHL",opticOddsName:"NHL",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.OVERTIME,periodType:I.PERIOD,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.UFC]={sport:A.FIGHTING,id:T.UFC,label:"UFC",provider:O.OPTICODDS,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.WNBA]={sport:A.BASKETBALL,id:T.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.MLS]={sport:A.SOCCER,id:T.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.EPL]={sport:A.SOCCER,id:T.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.LIGUE_ONE]={sport:A.SOCCER,id:T.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.BUNDESLIGA]={sport:A.SOCCER,id:T.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.LA_LIGA]={sport:A.SOCCER,id:T.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SERIE_A]={sport:A.SOCCER,id:T.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_CL]={sport:A.SOCCER,id:T.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EL]={sport:A.SOCCER,id:T.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.FIFA_WC]={sport:A.SOCCER,id:T.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:O.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.J1_LEAGUE]={sport:A.SOCCER,id:T.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.IPL]={sport:A.CRICKET,id:T.IPL,label:"Indian Premier League",provider:O.RUNDOWN,scoringType:N.POINTS,matchResolveType:S.EMPTY,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.T20_BLAST]={sport:A.CRICKET,id:T.T20_BLAST,label:"T20 Blast",provider:O.RUNDOWN,scoringType:N.POINTS,matchResolveType:S.EMPTY,periodType:I.INNING,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.IIHF_WORLD_CHAMPIONSHIP]={sport:A.HOCKEY,id:T.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.COPA_AMERICA]={sport:A.SOCCER,id:T.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.COPA_LIBERTADORES]={sport:A.SOCCER,id:T.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EURO]={sport:A.SOCCER,id:T.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.EREDIVISIE]={sport:A.SOCCER,id:T.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.PRIMEIRA_LIGA]={sport:A.SOCCER,id:T.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:A.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_SOCCER]={sport:A.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.FIFA_WC_WOMEN]={sport:A.SOCCER,id:T.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ENGLAND_CUP]={sport:A.SOCCER,id:T.ENGLAND_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FRANCE_CUP]={sport:A.SOCCER,id:T.FRANCE_CUP,label:"Coupe de France",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SPAIN_CUP]={sport:A.SOCCER,id:T.SPAIN_CUP,label:"Copa del Rey",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ITALY_CUP]={sport:A.SOCCER,id:T.ITALY_CUP,label:"Coppa Italia",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.TENNIS_WTA]={sport:A.TENNIS,id:T.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.TENNIS_GS]={sport:A.TENNIS,id:T.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.TENNIS_MASTERS]={sport:A.TENNIS,id:T.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.SUMMER_OLYMPICS_TENNIS]={sport:A.TENNIS,id:T.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.GAME_SPREAD,p.TOTAL_GAMES]},l[T.GERMANY_CUP]={sport:A.SOCCER,id:T.GERMANY_CUP,label:"DFB Pokal",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LIGA_MX]={sport:A.SOCCER,id:T.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.BRAZIL_1]={sport:A.SOCCER,id:T.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EURO_U21]={sport:A.SOCCER,id:T.UEFA_EURO_U21,label:"UEFA EURO U21",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.FIFA_WORLD_CUP_U20]={sport:A.SOCCER,id:T.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:A.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_HANDBALL]={sport:A.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.EUROLEAGUE]={sport:A.BASKETBALL,id:T.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.SUMMER_OLYMPICS_BASKETBALL]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.POINT_SPREAD,p.TOTAL_POINTS]},l[T.FIBA_WORLD_CUP]={sport:A.BASKETBALL,id:T.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FORMULA1]={sport:A.MOTOSPORT,id:T.FORMULA1,label:"Formula 1",provider:O.ENETPULSE,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:A.TABLE_TENNIS,id:T.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.MOTOGP]={sport:A.MOTOSPORT,id:T.MOTOGP,label:"MotoGP",provider:O.ENETPULSE,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SAUDI_PROFESSIONAL_LEAGUE]={sport:A.SOCCER,id:T.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SUMMER_OLYMPICS_WATERPOLO]={sport:A.WATERPOLO,id:T.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.QUARTER,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_VOLEYBALL]={sport:A.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:O.ENETPULSE,scoringType:N.SETS,matchResolveType:S.REGULAR,periodType:I.SET,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.BOXING]={sport:A.FIGHTING,id:T.BOXING,label:"Boxing",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_RUGBY]={sport:A.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:A.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:A.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_HOCKEY]={sport:A.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.PERIOD,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_NATIONS_LEAGUE]={sport:A.SOCCER,id:T.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:O.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.CONCACAF_NATIONS_LEAGUE]={sport:A.SOCCER,id:T.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CSGO]={sport:A.ESPORTS,id:T.CSGO,label:"CS GO",opticOddsName:"CS2",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.DOTA2]={sport:A.ESPORTS,id:T.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE]},l[T.SUMMER_OLYMPICS_QUALIFICATION]={sport:A.BASKETBALL,id:T.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:O.ENETPULSE,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LOL]={sport:A.ESPORTS,id:T.LOL,label:"LOL",opticOddsName:"League of Legends",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CONMEBOL_WC_QUALIFICATIONS]={sport:A.SOCCER,id:T.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_CONFERENCE_LEAGUE]={sport:A.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.NON_TITLE_BOXING]={sport:A.FIGHTING,id:T.NON_TITLE_BOXING,label:"Boxing",provider:O.ENETPULSE,scoringType:N.ROUNDS,matchResolveType:S.EMPTY,periodType:I.ROUND,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:A.SOCCER,id:T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:A.SOCCER,id:T.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:A.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:O.ENETPULSE,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.US_ELECTION]={sport:A.POLITICS,id:T.US_ELECTION,label:"US Election 2024",provider:O.EMPTY,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.UEFA_SUPER_CUP]={sport:A.SOCCER,id:T.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.BRAZIL_CUP]={sport:A.SOCCER,id:T.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.ENGLAND_CHAMPIONSHIP]={sport:A.SOCCER,id:T.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.SCOTLAND_PREMIERSHIP]={sport:A.SOCCER,id:T.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.BELGIUM_LEAGUE]={sport:A.SOCCER,id:T.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CZECH_LEAGUE]={sport:A.SOCCER,id:T.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CHILE_PRIMERA]={sport:A.SOCCER,id:T.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.FINLAND_LEAGUE]={sport:A.SOCCER,id:T.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ARGENTINA_PRIMERA]={sport:A.SOCCER,id:T.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.RUSSIA_PREMIER]={sport:A.SOCCER,id:T.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.TURKEY_SUPER_LEAGUE]={sport:A.SOCCER,id:T.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SERBIA_SUPER_LEAGUE]={sport:A.SOCCER,id:T.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GREECE_SUPER_LEAGUE]={sport:A.SOCCER,id:T.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.INDIA_PREMIER]={sport:A.SOCCER,id:T.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.CHINA_SUPER_LEAGUE]={sport:A.SOCCER,id:T.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.AUSTRALIA_A_LEAGUE]={sport:A.SOCCER,id:T.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SWITZERLAND_SUPER_LEAGUE]={sport:A.SOCCER,id:T.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.BUNDESLIGA_2]={sport:A.SOCCER,id:T.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LA_LIGA_2]={sport:A.SOCCER,id:T.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SERIE_B]={sport:A.SOCCER,id:T.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.INDIA_SUPER_LEAGUE]={sport:A.SOCCER,id:T.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.LIGUE_2]={sport:A.SOCCER,id:T.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.AUSTRIA_BUNDESLIGA]={sport:A.SOCCER,id:T.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.DENMARK_SUPER_LEAGUE]={sport:A.SOCCER,id:T.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.POLAND_LEAGUE]={sport:A.SOCCER,id:T.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.SWEDEN_LEAGUE]={sport:A.SOCCER,id:T.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.COLOMBIA_PRIMERA_A]={sport:A.SOCCER,id:T.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.ENGLAND_EFL_CUP]={sport:A.SOCCER,id:T.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[s.MONEYLINE],betTypesForLiveTestnet:[s.MONEYLINE,_.ASIAN_HANDICAP,p.TOTAL_GOALS]},l[T.ENGLAND_LEGAUE_1]={sport:A.SOCCER,id:T.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.URUGUAY_PRIMERA_DIVISION]={sport:A.SOCCER,id:T.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:O.OPTICODDS,scoringType:N.GOALS,matchResolveType:S.REGULAR,periodType:I.HALF,isDrawAvailable:!0,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.EUROCUP]={sport:A.BASKETBALL,id:T.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:O.OPTICODDS,scoringType:N.POINTS,matchResolveType:S.OVERTIME,periodType:I.QUARTER,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GOLF_H2H]={sport:A.GOLF,id:T.GOLF_H2H,label:"Golf head-to-head",provider:O.JSONODDS,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l[T.GOLF_WINNER]={sport:A.GOLF,id:T.GOLF_WINNER,label:"Golf Tournament Winner",provider:O.JSONODDS,scoringType:N.EMPTY,matchResolveType:S.EMPTY,periodType:I.EMPTY,isDrawAvailable:!1,betTypesForLive:[],betTypesForLiveTestnet:[]},l),y=[T.CSGO,T.DOTA2,T.LOL,T.TENNIS_GS,T.TENNIS_MASTERS,T.SUMMER_OLYMPICS_TENNIS,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_1,T.TENNIS_MASTERS_LIVE_MAPPING_V2_2,T.TENNIS_MASTERS_LIVE_MAPPING_V2_3,T.TENNIS_MASTERS_LIVE_MAPPING_V2_4,T.TENNIS_MASTERS_LIVE_MAPPING_V2_5,T.TENNIS_MASTERS_LIVE_MAPPING_V2_6,T.TENNIS_MASTERS_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_8,T.TENNIS_MASTERS_LIVE_MAPPING_V2_9,T.TENNIS_MASTERS_LIVE_MAPPING_V2_10,T.TENNIS_MASTERS_LIVE_MAPPING_V2_11,T.TENNIS_MASTERS_LIVE_MAPPING_V2_12,T.TENNIS_MASTERS_LIVE_MAPPING_V2_13,T.TENNIS_MASTERS_LIVE_MAPPING_V2_14,T.TENNIS_MASTERS_LIVE_MAPPING_V2_15,T.TENNIS_MASTERS_LIVE_MAPPING_V2_16,T.TENNIS_MASTERS_LIVE_MAPPING_V2_17,T.TENNIS_MASTERS_LIVE_MAPPING_V2_18,T.TENNIS_MASTERS_LIVE_MAPPING_V2_19,T.TENNIS_MASTERS_LIVE_MAPPING_V2_20,T.TENNIS_MASTERS_LIVE_MAPPING_V2_21,T.TENNIS_MASTERS_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_1,T.TENNIS_WTA_LIVE_MAPPING_V2_2,T.TENNIS_WTA_LIVE_MAPPING_V2_3,T.TENNIS_WTA_LIVE_MAPPING_V2_4,T.TENNIS_WTA_LIVE_MAPPING_V2_5,T.TENNIS_WTA_LIVE_MAPPING_V2_6,T.TENNIS_WTA_LIVE_MAPPING_V2_7],c=[T.SUMMER_OLYMPICS_RUGBY,T.SUMMER_OLYMPICS_RUGBY_WOMEN],v=[T.NCAAF,T.NFL,T.MLB,T.NBA,T.NCAAB,T.NHL,T.WNBA,T.MLS,T.IPL,T.T20_BLAST],C=[701,702,703,704],U={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},b={1:"NCAAF",2:"NFL",3:"MLB",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20200:"Eurocup"},u=function(e){var r=P[e];return r?r.sport:A.EMPTY},m=function(e){var r=P[e];return r?r.label:""},F=function(e){var r=P[e];return r?r.provider:""},D=function(e){var r=P[e];return!!r&&r.isDrawAvailable},g=function(e){return Object.values(P).filter((function(r){return e?r.betTypesForLiveTestnet.length>0:r.betTypesForLive.length>0})).map((function(e){return e.id}))},h=function(e,r){var E=P[e];return E?r?E.betTypesForLiveTestnet:E.betTypesForLive:[]},V=function(e,r){var E=P[e];return!!E&&(r?E.betTypesForLiveTestnet.length>0:E.betTypesForLive.length>0)},B=function(e){var r=P[e];return r?r.opticOddsName:void 0},Y=function(e){var r=P[e];return r?r.periodType:""},f=function(e,r){var E;return h(e,r).forEach((function(e){Object.values(_).find((function(r){return r==e}))&&(E=e)})),E},w=function(e,r){var E;return h(e,r).forEach((function(e){Object.values(p).find((function(r){return r==e}))&&(E=e)})),E},H=function(e,r,E,i,o,a){var t,L;if(y.includes(e)?(t=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==E.toLowerCase(),L=o.toLowerCase()==r.toLowerCase()||o.toLowerCase()==E.toLowerCase()):(t=i.toLowerCase()==r.toLowerCase(),L=o.toLowerCase()==E.toLowerCase()),!0!==t){var A=a.get(i.toLowerCase()),T=a.get(r.toLowerCase()),s=a.get(E.toLowerCase());if([A,T].some((function(e){return null==e})))return!1;t=y.includes(e)?A==T||A==s:A==T}if(!0!==L){var _=a.get(o.toLowerCase());if(T=a.get(r.toLowerCase()),[_,s=a.get(E.toLowerCase())].some((function(e){return null==e})))return!1;L=y.includes(e)&&_==T||_==s}return t&&L},W=function(e,r,E,i){var o;if(u(E)==A.TENNIS){var a=r.getTime(),t=e.getTime();o=Math.abs(t-a)<=Number(60*i*1e3)}else o=r.toUTCString()==e.toUTCString();return o},k=0,K="Draw",Q=1e5,X=.2,j=10001,z=10002,Z=100,x={OPEN:0,PAUSED:1,IN_PROGRESS:3,FINISHED:8,RESOLVED:10,CANCELED:255},J=function(e,r,E){if(e.some((function(e){return 0===e})))return e;var i=e.reduce((function(e,r){return e+r}),0);if(i<=1)return Array(e.length).fill(0);if(0===E){if(!(r>100*(i-1)))return e;E=r}var o=1+E/100,a=o/i,t=e.map((function(e){return e*a}));if(t.some((function(e){return e>=1})))return Array(e.length).fill(0);var L=t.reduce((function(e,r){return e+r}),0);if(L<1)return Array(e.length).fill(0);var A=o/L;return t.map((function(e){return e*A}))},q=function(e,r,E,i){var o=e.find((function(e){return Number(e.typeId)===Number(E)&&Number(e.sportId)===Number(r)}));return o?{minSpread:o.minSpread?Number(o.minSpread):i,targetSpread:o.targetSpread?Number(o.targetSpread):0}:{minSpread:i,targetSpread:0}},$=function(e){return e===k?0:ee("decimal","impliedProbability",e)},ee=function(e,r,E){try{return n(e,E).to(r)}catch(e){return 0}},re=function(e,r,E,i,o){var a=new Map;return E.forEach((function(E){var t=0,L=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===i.homeTeam.toLowerCase()}));0!==L.length&&(t=L[0].price);var A=0,T=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===i.awayTeam.toLowerCase()}));0!==T.length&&(A=T[0].price);var s=0;if(!o){var _=e.filter((function(e){return e&&e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==_.length&&(s=_[0].price)}a.set(E.toLowerCase(),{homeOdds:t,awayOdds:A,drawOdds:s})})),a},Ee=function(e,r,E,i,o,a,t){var L={homeTeam:i.home_team,awayTeam:i.away_team},A=re(i.odds,s.MONEYLINE,E,L,e),T=d(A,E,e,t,X);if(T.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:T.errorMessage};var _=(e?[T.homeOdds,T.awayOdds]:[T.homeOdds,T.awayOdds,T.drawOdds]).map((function(e){return $(e)})),p=q(r,o,Q,a);return{odds:_=null!==p?J(_,p.minSpread,p.targetSpread):J(_,a,0)}},ie=function(e,r,E){return e.filter((function(e){return e.market_name.toLowerCase()===r.toLowerCase()&&e.sports_book_name.toLowerCase()==E.toLowerCase()}))},oe=function(e,r,E,i,o,a){var t=[],L=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)}));return ae(L,r).forEach((function(e){var r=e.line,L=e.odds,A=$(L[0])||k,T=$(L[1])||k,s=A===k||T===k;if(!s){var _,p=q(i,E,o,a);null!==p?(_=J([A,T],p.minSpread,p.targetSpread)).some((function(e){return e===k}))?s=!0:(A=_[0],T=_[1]):(_=J([A,T],a,0)).some((function(e){return e===k}))?s=!0:(A=_[0],T=_[1])}var N=process.env.MIN_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,S=process.env.MAX_ODDS_FOR_CHILD_MARKETS_FOR_LIVE;N&&S&&(A>=N||A<=S||T>=N||T<=S)||t.push({leagueId:E,typeId:o,type:"spread",results:[],status:s?x.PAUSED:x.OPEN,line:r,odds:[A,T]})})),t},ae=function(e,r){var E=e.reduce((function(e,E){var i=E.selection_points,o=E.price,a=E.selection===r.homeTeam,t=a?i:-i;return e[t]||(e[t]={home:null,away:null}),a?e[t].home=o:e[t].away=o,e}),{}),i=Object.entries(E).reduce((function(e,r){var E=r[0],i=r[1],o=parseFloat(E);return null!==i.home&&null!==i.away&&e.push({line:o,odds:[i.home,i.away]}),e}),[]);return i},te=function(e,r,E,i,o){var a=[],t=e.filter((function(e){return e&&.5===Math.abs(e.selection_points%1)})),L=Le(t);return Object.entries(L).forEach((function(e){var t=e[0],L=e[1],A=L.over,T=L.under,s=t.split("_"),_=(s[0],s[1]),p=$(A)||k,N=$(T)||k,S=p===k||N===k;if(!S){var I,O=q(E,r,i,o);null!==O?(I=J([p,N],O.minSpread,O.targetSpread)).some((function(e){return e===k}))?S=!0:(p=I[0],N=I[1]):(I=J([p,N],o,0)).some((function(e){return e===k}))?S=!0:(p=I[0],N=I[1])}var l=process.env.MIN_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,n=process.env.MAX_ODDS_FOR_CHILD_MARKETS_FOR_LIVE,R={leagueId:r,typeId:i,type:"total",results:[],status:S?x.PAUSED:x.OPEN,line:parseFloat(_),odds:[p,N]};l&&n&&(p>=l||p<=n||N>=l||N<=n)||a.push(R)})),a},Le=function(e){return e.reduce((function(e,r){if(r){var E="".concat(r.selection,"_").concat(r.selection_points);e[E]||(e[E]={over:null,under:null}),"over"===r.selection_line?e[E].over=r.price:"under"===r.selection_line&&(e[E].under=r.price)}return e}),{})},Ae=function(){return Ae=Object.assign||function(e){for(var r,E=1,i=arguments.length;E<i;E++)for(var o in r=arguments[E])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},Ae.apply(this,arguments)},Te=function(e,r,E,i,o,a,t,L){var A=i.filter((function(r){return r.sportId===String(e.leagueId)})),T=Ee(!o,A,E,r,e.leagueId,a,t);if(T.errorMessage)return e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.childMarkets=[],e.live=!0,e.errorMessage=T.errorMessage,e;e.odds=T.odds.filter((function(e){return 0!=e})).map((function(e){return{american:n("impliedProbability",e).to("moneyline"),decimal:n("impliedProbability",e).to("decimal"),normalizedImplied:e}})),e.live=!0;var s=se(e.leagueId,A,r,E,a,L).map((function(r){var E=Ae(Ae({},e),r);return E.odds.length>0&&(E.odds=E.odds.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:(E.live=!0,{american:n("impliedProbability",e).to("moneyline"),decimal:n("impliedProbability",e).to("decimal"),normalizedImplied:e})}))),E}));return e.childMarkets=s,e},se=function(e,r,E,i,o,a){var t=[];return(t=t.concat(_e(E,e,r,i,o,a))).concat(pe(E,e,r,i,o,a))},_e=function(e,r,E,i,o,a){var t=[],L=f(r,a),A={homeTeam:e.home_team,awayTeam:e.away_team};if(L){var T=ie(e.odds,L,i[0]);if(T.length>0){var s=oe(T,A,r,E,j,o);t.push.apply(t,s)}}else console.warn("Spread type for sport ID ".concat(r," not found."));return t},pe=function(e,r,E,i,o,a){var t=[],L=w(r,a);if(L){var A=ie(e.odds,L,i[0]);A.length>0&&t.push.apply(t,te(A,r,E,z,o))}else console.warn("Configuration (totals) for sport ID ".concat(r," not found."));return t},Ne=function(e,r,E){var i=e.score_home_total,o=e.score_away_total,a=e.clock,t=e.period,L=e.status,T=e.home_team,s=e.away_team,_=parseInt(t),p=u(r);return"completed"==L.toLowerCase()?{allow:!1,message:"Blocking game ".concat(T," - ").concat(s," because it is no longer live.")}:p===A.BASKETBALL?Se(T,s,_,E.get(A.BASKETBALL)):p===A.HOCKEY?Se(T,s,_,E.get(A.HOCKEY)):p===A.BASEBALL?Se(T,s,_,E.get(A.BASEBALL)):p===A.SOCCER?Ie(T,s,a,t,E.get(A.SOCCER)):p===A.TENNIS?Oe(e,T,s,t,i,o,r,p):p===A.VOLLEYBALL?Oe(e,T,s,_,i,o,r,p):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},Se=function(e,r,E,i){return!Number.isNaN(E)&&E>=i?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(E,". period")}:{allow:!0,message:""}},Ie=function(e,r,E,i,o){var a=Number(E);return!Number.isNaN(a)&&a>=o||Number.isNaN(a)&&"HALF"!=i?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(E,"min")}:{allow:!0,message:""}},Oe=function(e,r,E,i,o,a,t,L){var s=Number(i),_=le(s,e),p="atp"==e.league.toLowerCase(),N={home:o,away:a};return L==A.VOLLEYBALL?ne(r,E,_,N,Re,5==s?Me:de):t.toString().startsWith(T.TENNIS_GS)&&p?ne(r,E,_,N,Pe,ce):t.toString().startsWith(T.TENNIS_GS)&&!p||t.toString().startsWith(T.TENNIS_MASTERS)||t.toString().startsWith(T.SUMMER_OLYMPICS_TENNIS)||t.toString().startsWith(T.TENNIS_WTA)?ne(r,E,_,N,ye,ce):{allow:!0,message:"The sport ".concat(t," does not have result constraint")}},le=function(e,r){var E=0,i=0;switch(e){case 1:E=Number(r.score_home_period_1),i=Number(r.score_away_period_1);break;case 2:E=Number(r.score_home_period_2),i=Number(r.score_away_period_2);break;case 3:E=Number(r.score_home_period_3),i=Number(r.score_away_period_3);break;case 4:E=Number(r.score_home_period_4),i=Number(r.score_away_period_4);break;case 5:E=Number(r.score_home_period_5),i=Number(r.score_away_period_5)}return{home:E,away:i}},ne=function(e,r,E,i,o,a){return Number(i.home)!=o&&Number(i.away)!=o||!(Number(i.home)==o&&E.home>=a||Number(i.away)==o&&E.away>=a)?{allow:!0,message:"",currentHomeGameScore:E.home,currentAwayGameScore:E.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(i.home," - ").concat(i.away," (").concat(E.home," - ").concat(E.away,")")}},Re=2,de=20,Me=10,Pe=2,ye=1,ce=5;return r})()));
|
package/package.json
CHANGED